@charset "UTF-8";

:root {
    --pc-width: 1200px;
    --color-black: #212121;
    --color-yellow: #FBD52F;
    --color-blue: #2E44A2;
    --font-tokyo: 'Zen Tokyo Zoo', cursive;
}
html {
    scroll-behavior: smooth;
}
body {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
}
img {
    max-width: 100%;
}
a {
    transition: opacity .3s ease; 
}
a:hover {
    opacity: .8;
}

.notFound .header__nav, 
.notFound .hamburger,
.confirm .header__nav,
.confirm .hamburger,
.complete .header__nav,
.complete .hamburger {
    display: none;
}

@media only screen and (max-width: 767px) {
    .br--pc {
        display: none;
    }
    .br--sp {
        display: block;
    }
    #message,
    #about,
    #recruit,
    #contact {
        scroll-margin-top: 16vw;
    }

    /*----------------------
    * pan
    -----------------------*/
    .pan {
        background: #F5F5F2;
    }
    .pan__items {
        margin: 0 auto;
        padding: 2.667vw;
        display: flex;
    }
    .pan__item {
        display: flex;
        align-items: center;
        font-size: 3.2vw;
    }
    .pan__item:not(:last-child):after {
        content: "";
        display: block;
        width: 2vw;
        height: 2vw;
        margin: 0 2vw 0 0;
        border-top: 1px solid var(--color-black);
        border-right: 1px solid var(--color-black);
        transform: rotate(45deg);
    }
    span.pan__item__link {
        color: #747474;
    }

    /*----------------------
    * header
    -----------------------*/
    header {
        position: sticky;
        top: 0;
        left: 0;
        z-index: 100;
    }
    .header {
        background: var(--color-black);
    }
    .header__wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 2vw 4vw;
    }
    .header__logo__img {
        width: 42.4vw;
    }
    .hamburger {
        position: relative;
        width: 12vw;
        height: 12vw;
        background: var(--color-yellow);
        border-radius: 5px;
    }
    .hamburger span {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 75%;
        height: 4px;
        border-radius: 5px;
        background: var(--color-black);
        transition: all .3s ease;
    }
    .hamburger span:first-child {
        top: 25%;
    }
    .hamburger span:last-child {
        top: 75%; 
    }
    .hamburger.active span:first-child {
        transform: rotate( 45deg );
        top: 50%;
        left: 15%;
    }
    .hamburger.active span:last-child {
        transform: rotate( -45deg );
        top: 50%;
        left: 15%;
    }

    .hamburger.active span:nth-child(2) {
        opacity: 0;
    }
    .header__nav {
        display: block;
        position: fixed;
        width: 69.333vw;
        height: 100%;
        background: var(--color-black);
        top: 15.733vw;
        right: -100%;
        transition: right .3s ease;
    }
    .header__nav.active {
        right: 0;
    }
    .nav__link {
        display: block;
        padding: 5.333vw 2.667vw;
        color: white;
        border-bottom: 1px solid #515151;
    }
    .nav__item--btn .nav__link {
        color: var(--color-black);
        background: var(--color-yellow);
        width: 90%;
        border-radius: 60px;
        margin: 4vw auto 0;
        text-align: center;
        padding: 4vw 0;
        font-weight: bold;
    }
    /*----------------------
    * footer
    -----------------------*/
    .footer__logo {
        display: none;
    }
    .footer__items {
        display: none;
    }
    .footer__copy {
        padding: 2.933vw 0;
        font-size: 3.2vw;
        font-weight: 100;
        background: var(--color-black);
        text-align: center;
        color: white;
    }
}
@media only screen and (min-width: 768px) {
    .br--pc {
        display: block;
    }
    .br--sp {
        display: none;
    }
    /*----------------------
    * pan
    -----------------------*/
    .pan {
        background: #F5F5F2;
    }
    .pan__items {
        width: var(--pc-width);
        margin: 0 auto;
        padding: 10px 0;
        display: flex;
    }
    .pan__item {
        display: flex;
        align-items: center;
    }
    .pan__item:not(:last-child):after {
        content: "";
        display: block;
        width: 10px;
        height: 10px;
        margin: 0 15px 0 0;
        border-top: 1px solid var(--color-black);
        border-right: 1px solid var(--color-black);
        transform: rotate(45deg);
    }
    span.pan__item__link {
        color: #747474;
    }
    /*----------------------
    * header
    -----------------------*/
    header {
        position: sticky;
        top: 0;
        left: 0;
        z-index: 100;
    }
    .header {
        background: var(--color-black);
    }
    .header__wrap {
        width: var(--pc-width);
        margin: 0 auto;
        padding: 20px 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .header__logo {
        width: 240px;
    }
    .hamburger {
        display: none;
    }

    /*----------------------
    * nav
    -----------------------*/
    .nav__itmes {
        display: flex;
        align-items: center;
        gap: 30px;
    }
    .nav__item--btn .nav__link {
        display: block;
        padding: 10px 27px;
        border-radius: 70px;
        color: var(--color-black);
        background: var(--color-yellow);
    }
    .nav__link {
        color: white;
    }

    /*----------------------
    * footer
    -----------------------*/
    .footer {
        padding: 30px 0;
        background: var(--color-black);
    }
    .footer__logo {
        margin-bottom: 46px;
        text-align: center;
    }
    .footer__logo__img {
        width: 240px;
    }
    .footer__items {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 20px;
        gap: 30px;
    }
    .footer__item {
        color: white;
    }
    .footer__copy {
        color: #F5F5F2;
        font-size: 14px;
        text-align: center;
    }
}
