@charset "utf-8";
body.click {
    overflow: hidden;
}
body {
    background-color: #FFFEFD;
}
/* font-color */
.text--black--inactive {
    color: #9C9894;
}
.text--black {
    color: #141312;
}
.text--black--hover {
    color: #767371;
}
.text--orange {
    color: #F7B24A;
}
.text--green {
    color: #D4F199;
}
.text--pink {
    color: #F7C8FA;
}
/* font/en */
.en__h2 {
    font-size: 68px;
    font-family: "Abril Fatface", serif;
    font-weight: 400;
    font-style: normal;
    color: #141312;
}
.en__h3 {
    font-size: 28px;
    font-family: "Abril Fatface", serif;
    font-weight: 400;
    font-style: normal;
}
.en__h4 {
    font-size: 36px;
    font-family: "Kalnia", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    color: #141312;
}
.en__h5 {
    font-size: 16px;
    font-family: "helvetica-lt-pro";
    font-weight: 400;
    font-style: normal;
}
.en__btn1 {
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 20px;
    font-weight: 400;
    color: #FCFBFA;
}
.en__btn2 {
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 16px;
    font-weight: 700;
    color: #FCFBFA;
}
.en__btn3 {
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 16px;
    font-weight: 700;
    color: #FCFBFA;
}
.en__body {
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
}
.en__body2 {
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 16px;
    font-weight: 300;
}
.en__caption {
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 16px;
    font-weight: 400;
    color: #141312;
}
.en__caption2 {
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 16px;
    font-weight: 700;
}
.en__overline {
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 12px;
    font-weight: 400;
    line-height: 120%;
}

.en__overline2 {
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 12px;
    font-weight: 600;
    color: #141312;
    line-height: 100%;
}
/* font/ja */
.ja__body {
    font-size: 15px;
    font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 400;
    line-height: 200%;
    color: #141312;
}
.ja__body2 {
    font-size: 28px;
    font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 400;
    line-height: 170%;
    color: #141312;
}
.ja__body3 {
    font-size: 15px;
    font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 400;
    line-height: 150%;
    color: #141312;
}
.ja__caption {
    font-size: 14px;
    font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 400;
    line-height: 150%;
    color: #141312;
}
.ja__caption2 {
    font-size: 12px;
    font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 400;
    line-height: 150%;
}
/* btn */
.btn-base {
    width: fit-content;
    margin: auto;
    padding: 16px 32px;
    background-color: #f79708;
    border-radius: 8px;
    text-align: center;
    transition: ease-out all 0.3s;
}
.btn-base:hover {
    background-color: #141312;
    transition: ease-out all 0.3s;
}
.btn-left {
    width: fit-content;
    margin: initial;
    padding: 16px 32px;
    background-color: #f79708;
    border-radius: 8px;
    text-align: center;
}
.btn-left:hover {
    background-color: #141312;
    transition: ease-out all 0.3s;
}
.btn-secondary {
    width: 100%;
    padding: 16px 32px;
    border: 2px solid #f79708;
    border-radius: 8px;
    text-align: center;
    color: #141312;
    transition: ease-in-out all 500ms;
}
.btn-explore {
    width: fit-content;
    margin: auto;
    padding: 16px 32px;
    background-color: #f79708;
    border-radius: 8px;
    text-align: center;
}
.btn-explore:hover {
    background-color: #141312;
    transition: ease-out all 0.3s;
}
/* header----------- */
header {
    margin: 4px;
    padding: 16px 16px;
    background-color: #FCF5EB;
    border-radius: 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    left: 0; 
    z-index: 9999;
}
header h1 {
    max-width: 100%;
    width: 100px;
}
.header__nav {
    padding: 32px 32px 64px 32px;
    width: calc(100% - 10px);
    height: 250px;
    border-radius: 16px;
    background-color: #FCF5EB;
    position: fixed;
    top: 89px;
    right: -100%;
    bottom: 0;
    z-index: -1;
    transition: right 500ms;
}
.header__nav__inner {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.header__nav__title {
    font-size: 20px;
    color: #141312;
    font-family: "Abril Fatface", serif;
    font-weight: 300;
    font-style: normal;
    transition: ease-in-out all 100ms;
}
.header__nav__title:hover {
    color: #f79708;
    transition: ease-in-out all 100ms;
}
#nav-trigger:checked ~ nav {
    right: 5px;
}
#nav-trigger + label {
    width: 100%;
    background-color: #FCFBFA;
    position: fixed;
    top: 89px;
    right: -100%;
    bottom: 0;
    z-index: -1;
    transition: right 500ms;
}
#nav-trigger:checked + label {
    right: 0;
}
/* HeaderNaveIcon */
.header__item__lists {
    display: flex;
}
header .header__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.header__item__icon__wrapper {
    border-right: 1px solid #C3BEBA;
    display: flex;
    align-items: center;
}
.header__item__icon {
    margin: 0 8px;
    padding: 8px;
    background-color: rgba(0, 0, 0, 0.);
    border-radius: 4px;
    font-size: 20px;
    transition: background-color 1000ms;
}
.header__item__icon:hover {
    background-color: rgba(0, 0, 0, 0.05);
    transition: background-color 300ms;
}
.nav-btn {
    margin: 0 0 0 8px;
    padding: 8px;
    background-color: rgba(0, 0, 0, 0.);
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px 0;
    transition: background-color 500ms;
}
.nav-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
    transition: background-color 1000ms;
}
#nav-trigger:checked + .nav-btn {
    background-color: transparent;
}
.nav-btn span {
    width: 20px;
    height: 3px;
    background-color: #141312;
    border-radius: 8px;
    transition: transform 500ms, opacity 500ms;
}
#nav-trigger:checked ~ .header__item__lists .nav-btn span:first-of-type {
    transform: translateY(7px) rotate(45deg);
}
#nav-trigger:checked ~ .header__item__lists .nav-btn span:nth-of-type(2) {
    opacity: 0;
}
#nav-trigger:checked ~ .header__item__lists .nav-btn span:last-of-type {
    transform: translateY(-7px) rotate(-45deg);
}
#nav-trigger {
    display: none;
}

/* jsでヘッダーを隠す */
header {
    transition: transform 500ms ease-in-out;
}
header.disappear {
    transform: translateY(-110%);
}

/* footer */
.footer {
    position: relative;
    margin: 0 4px;
}
/* page-top */
.page-top {
    height: 40px;
    position: absolute;
    top: -40px;
    right: 20px;
    overflow: hidden;
}
.page-top::before {
    content: "Page Top";
    width: 92px;
    height: 92px;
    padding: 20px 0 0;
    background-color: #f79708;
    border-radius: 100%;
    color: #FCFBFA;
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 12px;
    font-weight: 600;
    line-height: 100%;
    display: block;
    text-align: center;
}
.page-top:hover::before {
    background-color: #141312;
    transition: ease-out background-color 300ms;
}
.footer__wrapper {
    padding: 0 16px;
    background-color: #FCF5EB;
    border-radius: 16px;
}

/* footer-subcribe */
.subcribe {
    text-align: center;
    padding: 64px 0;
}
.subcribe__wrapper {
    display: flex;
    flex-direction: column;
    gap: 32px;
    justify-content: center;
}
.subcribe-copy {
    font-size: 52px;
    font-family: "Abril Fatface", serif;
    font-weight: 400;
    font-style: normal;
    color: #141312;
}
/* form */
::placeholder {
    color: #9C9894;
}
.form__input-news-letter {
    margin: 0 auto 8px;
    padding: 16px 24px;
    width: 100%;
    font-size: 16px;
    border: 1.5px solid #C3BEBA;
    border-radius: 8px;
}
form.form.form__news-letter {
    margin: auto;
    width: 100%;
}
.news-letter__submit {
    background-color: #F79807;
    border: none;
    border-radius: 8px;
    padding: 16px 32px;
    width: 100%;
    text-align: center;
}
.news-letter__submit:hover {
    background-color: #141312;
    transition: ease-out background-color 300ms;
}
/* footer-info */
.info {
    padding: 0 0 64px;
}
.info__wrapper {
    margin: auto;
    max-width: 768px;
    display: flex;
    flex-direction: column;
    gap: 64px;
}
.info__divider {
    width: 100%;
    height: 3px;
    background-color: #141312;
    border-radius: 8px;
}
.info__inner {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.info-nav {
    display: flex;
    gap: 16px 32px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.info-title {
    transition: ease-out all 100ms;
}
.info-title:hover {
    color: #f7b24a;
    transition: ease-out all 100ms;
}
.info-sns__lists {
    display: flex;
    justify-content: center;
    gap: 32px;
}
/* sns-icon */
.info-sns__lists .info-sns__item {
    width: 48px;
    height: 48px;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    position: relative;
    cursor: pointer;
}
.info-sns__lists .info-sns__item .info-sns__icon img {
    opacity: initial;
    position: absolute;
    top: 50%;
    left: 50%;
    right: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: block;
    -webkit-transition: .1s ease-in-out;
    transition: .1s ease-in-out;
}
.info-sns__lists .info-sns__item:hover img:nth-of-type(2) {
    transition: .1s ease-in-out;
    opacity: 0;
}
/* footer-sub */
.footer-sub {
    margin: 4px 0;
}
.footer-sub__wrapper {
    padding: 16px 16px;
    border-radius: 16px;
    background-color: #FCF5EB;
}
.footer-sub__inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap:8px;
}
.footer-sub__inner .footer-text {
    font-size: 1.2rem;
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    color: #918d8d;
}

.footer-sub__nav {
    display: flex;
    align-items: center;
    gap: 32px;
}
.footer-sub__link {
    transition: ease-in-out all 100ms;
}
.footer-sub__link:hover {
    color: #767371;
    transition: ease-in-out all 100ms;
}
@media screen and (min-width:768px) {
        /* font/en */
        .en__h2 {
            font-size: 128px;
        }
        .en__h3 {
            font-size: 48px;
        }
        .en__h4 {
            font-size: 36px;
        }
        .en__body {
            font-size: 24px;
        }
        .en__body2 {
            font-size: 20px;
        }
        .en__caption {
            font-size: 16px;
        }
        .en__caption2 {
            font-size: 16px;
        }
        .en__overline2 {
            font-size: 14px;
        }
        /* btn */
        .en__btn1 {
            font-size: 20px;
        }
        .en__btn2 {
            font-size: 20px;
            font-weight: 600;
        }
        /* font/ja */
        .ja__body {
            font-size: 18px;
        }
        .ja__body3 {
            font-size: 20px;
        }
        .ja__caption {
            font-size: 16px;
        }
        .ja__caption2 {
            font-size: 16px;
        }
        /* btn */
        .en__btn2 {
            font-size: 20px;
            font-weight: 600;
        }
        /* main */
        main {
            margin: initial;
        }
        /* header */
        header {
            padding: 16px 32px;
        }
        header .nav-btn {
            display: none;
        }
        header ul li:last-of-type {
            border-right: none;
        }
        .header__nav {
            padding: 0;
            width: initial;
            height: initial;
            background-color: transparent;
            position: static;
            transition: none;
        }
        .header__nav__inner {
            display: flex;
            flex-direction: initial;
            justify-content: space-between;
            gap: 40px;
        }
        .header__nav__title {
            font-size: 20px;
            font-family: "Inter", sans-serif;
            font-optical-sizing: auto;
            font-weight: 300;
            font-style: normal;
            transition: color 100ms ease-out;
        }
        .header__nav__title:hover {
            color: #f7b24a;
            transition: color 100ms ease-out;
        }
        /* form */
        .form__input-news-letter {
            margin: initial;
            padding: 16px 24px;
            width: 100%;
        }
        form.form.form__news-letter {
            display: flex;
            gap: 8px;
            margin: auto;
            width: 480px;
            /* position: relative; */
        }
        .news-letter__submit {
            background-color: #F79807;
            border: none;
            border-radius: 8px;
            padding: 16px 32px;
            width: initial;
            text-align: center;
        }
        /* footer */
        /* page-top */
        .page-top {
            height: 50px;
            top: -50px;
            right: 19%;
        }
        .page-top::before {
            width: 120px;
            height: 120px;
            padding: 24px;
            font-size: 14px;
        }
        /* footer-subcribe */
        .subcribe {
            padding: 128px 0 64px;
        }
        .subcribe-copy {
            font-size: 96px;
        }
        /* info */
        .info {
            padding: 0 0 128px;
        }
        .info-nav {
            gap: 64px;
        }
        .info-sns__lists {
            gap: 64px;
        }
        .footer-sub__wrapper {
            padding: 32px 32px;
        }
}