/*
Template:ystandard
Theme Name:ystandard-child
Theme URI: https://wp-ystandard.com
Author: yosiakatsuki
Author URI: https://yosiakatsuki.net
Description:「自分色に染めた、自分だけのサイトを作る楽しさ」を感じてもらうために作った一風変わったWordPressテーマ「ystandard」の子テーマ
Version: 4.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* site-icon */
.site-branding {
    position: absolute;
    z-index: 100;
}

@media screen and (min-width: 1600px) {
    .site-branding {

        width: 200px;
        padding-left: 100px !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 1599px) {
    .site-branding {

        width: 14vw;
        padding-left: 62.5px !important;
    }
}

@media screen and (max-width: 767px) {
    .site-branding {

        width: 200px;
        padding-left: 30px !important;
    }
}


/* header */
.site-header {
    position: fixed;
    background-color: initial;
    box-shadow: initial;
    z-index: 1000;
    width: 100%;
}

.global-nav__toggle .ys-icon,
.global-nav__toggle svg {
    width: 100px;
    height: 150px;
}

.global-nav__toggle.is-open svg g {
    position: relative;
}

.global-nav__toggle.is-open svg line:nth-child(1) {
    transform: translateY(35px) rotate(-30deg);
    opacity: 1;
}

.global-nav__toggle.is-open svg line:nth-child(2) {
    transform: translateX(20px) translateY(-23px) rotate(30deg);
}

.global-nav {
    display: block;
    visibility: hidden;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: var(--mobile-nav-container-padding) 2em 2em;
    overflow: auto;
    /*                     background-color: var(--mobile-nav-bg); */
    background-color: #fff;
    opacity: 0;
    transition: all .3s
}

.global-nav>div {
    max-width: 400px;
    margin: auto;
}

.global-nav__container {
    height: auto;
    max-height: none;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 3rem;
    padding: 0 .5em
}

.global-nav__container a {
    color: var(--font-color);
}

.global-nav__container .global-nav__dscr {
    display: none
}

.global-nav__container .ys-icon {
    display: inline-block
}

.global-nav__container .global-nav__menu,
.global-nav__container .global-nav__search {
    max-width: var(--mobile-global-nav-width);
    margin-right: auto;
    margin-left: auto
}

.global-nav__search {
    display: block;
    z-index: 0;
    position: relative;
    margin: 0 0 1em;
    border: 1px solid var(--mobile-nav-text);
    background-color: var(--mobile-nav-bg)
}

.global-nav__search.is-open {
    visibility: visible;
    opacity: 1
}

.global-nav__search .search-form {
    width: auto;
    border: 0;
    font-size: 1em
}

.global-nav__search.is-active {
    opacity: 1
}

.global-nav__search .search-form {
    color: var(--mobile-nav-text)
}

.global-nav__search-button,
.global-nav__search-close {
    display: none
}

.global-nav__menu {
    display: block;
    height: auto
}

.global-nav__menu .sub-menu {
    z-index: 0;
    position: relative;
    top: 0;
    margin-left: 1em;
    white-space: normal
}

.global-nav__menu.is-open .sub-menu {
    visibility: visible;
    opacity: 1
}

.global-nav__menu>.menu-item {
    margin-top: .5em;
    margin-left: 0;
    text-align: left
}

.global-nav__menu>.menu-item>a {
    display: block;
    height: auto;
    padding: .5em 0
}

.global-nav__menu>.menu-item>a:after {
    display: none
}

.global-nav__menu>.menu-item:last-child .sub-menu {
    right: unset;
    left: 0
}

.global-nav__menu .menu-item-has-children a:focus+.sub-menu,
.global-nav__menu .menu-item-has-children:hover .sub-menu {
    background-color: initial
}

.global-nav__toggle {
    display: block;
    cursor: pointer
}

.global-nav__toggle:after,
.global-nav__toggle.is-open:after {
    content: "";
}

.feather-menu {
    stroke: var(--mobile-nav-open);
}

.is-amp .global-nav {
    display: none
}

.is-amp .global-nav__menu .sub-menu {
    visibility: visible;
    opacity: 1
}

.site-header button {
    color: var(--mobile-nav-open);
    position: fixed;
}


/* slider */
.entry-content:has(.top-swiper) {
    position: relative;
}

.top-swiper {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
}

.top-swiper .swiper {
    height: auto;
    position: relative;
    margin: 0 0 0 auto;
    overflow: initial;
    aspect-ratio: 1.75;
}

@media screen and (min-width: 1600px) {

    .top-swiper .swiper {
        width: calc(100vw - 288px);
    }
}

@media screen and (min-width: 768px) and (max-width: 1599px) {

    .top-swiper .swiper {
        width: calc(100vw - 18vw);
    }
}

@media screen and (max-width: 767px) {

    .top-swiper .swiper {
        width: calc(100vw - 3rem);
        transform: initial;
        height: 200vw;
        aspect-ratio: initial;
    }
}


.top-swiper .swiper-wrapper {
    overflow: hidden;
}

.top-swiper .swiper-fade .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1.75;
    overflow: hidden;
}

@media screen and (min-width: 1600px) {
    .top-swiper .swiper-fade .swiper-slide {
        border-bottom-left-radius: 100px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1599px) {
    .top-swiper .swiper-fade .swiper-slide {
        border-bottom-left-radius: 62.5px;
    }
}

@media screen and (max-width: 767px) {

    .top-swiper .swiper-fade .swiper-slide {
        border-bottom-left-radius: 100px;
        aspect-ratio: initial;
        height: 200vw;
    }

    .top-swiper .swiper-fade .swiper-slide img {
        max-width: initial;
        height: 100%;
    }
}

.top-swiper .swiper-pagination-fraction {
    font-size: 0.875%;
    font-weight: 400;
    color: #333333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    z-index: 1;
}

@media screen and (min-width: 1600px) {
    .top-swiper .swiper-pagination-fraction {

        left: -100px;
        bottom: 70px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1599px) {

    .top-swiper .swiper-pagination-fraction {
        left: -68.5px;
        bottom: 44px;

    }
}

@media screen and (max-width: 767px) {
    .top-swiper .swiper-pagination-fraction {
        font-size: 1.2rem;
        left: initial;
        right: 1rem;
        bottom: -48px;
        margin-right: 2rem;
    }
}

.top-swiper .swiper-pagination {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    -webkit-transition: .3s opacity;
    transition: .3s opacity;
    -webkit-transform: translate3d(0, 0, 0) rotate(-90deg) !important;
    transform: translate3d(0, 0, 0) rotate(-90deg) !important;
    z-index: 10;
    width: -webkit-fit-content !important;
    width: -moz-fit-content !important;
    width: fit-content !important;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}


@media screen and (max-width: 767px) {
    .top-swiper .swiper-pagination {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-transform: translate3d(0, 0, 0) rotate(0) !important;
        transform: translate3d(0, 0, 0) rotate(0) !important;
    }
}

.top-swiper .swiper-pagination-border {
    /*     width: 70px; */
    height: 1px !important;
    margin: 0 0.8rem;
    background-color: #ddd;
    position: relative;
}

@media screen and (min-width: 1600px) {
    .top-swiper .swiper-pagination-border {
        width: 70px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1599px) {
    .top-swiper .swiper-pagination-border {
        width: 44px;
    }
}

@media screen and (max-width: 767px) {
    .top-swiper .swiper-pagination-border {
        width: 70px;
    }
}

.top-swiper .swiper-pagination-border span {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 100%;
    background-color: #1a1b1b;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left center;
    transform-origin: left center;
    -webkit-transition-timing-function: linear;
    transition-timing-function: linear;
    -webkit-writing-mode: vertical-rl !important;
    -ms-writing-mode: tb-rl !important;
    writing-mode: vertical-rl !important;
}


/* slogan */
.slogan {
    margin-top: 3rem!important;
    font-family: 'Yu Mincho', 'Hiragino Mincho ProN', 'MS Mincho', serif;
}

.slogan h2 {
    font-size: 34px;
    width: 20rem;
}

.slogan p {
    padding-right: 20px;
    position: relative;
    width: fit-content;
    margin: 0 0 0 10rem;
    font-size: 14px;
}

.slogan p:before {
    content: "";
    background-color: rgb(34, 34, 34);
    width: 9rem;
    height: 1px;
    position: absolute;
    top: 50%;
    left: -10rem;
}

@media screen and (min-width: 768px) {
    .slogan {
        margin-top: 0!important;
        text-align: end;
		margin-right: calc(calc(100vw - 100%) / -4);
    }

    .slogan h2 {
        width: inherit;
        font-size: 28px;
    }

    .slogan p {

        margin: 0 0 0 auto;
    }
}

// copy
.fixed-copy {
    display: none;
}

@media screen and (min-width: 768px) {
    .fixed-copy {
        display: block;
        position: fixed;
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(-180deg) translateY(-0.5rem);
        transform: translateY(-50%) rotate(-180deg) translateY(-0.5rem);
        left: 10px;
        font-size: 6px;
        font-weight: 400;
        letter-spacing: 0em;
        line-height: 1.4;
        color: #333333;
        -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
        writing-mode: vertical-lr;
        z-index: 10;
        -webkit-transition: .8s;
        transition: .8s;
        white-space: nowrap;
    }
}


