@charset "utf-8";

/* ============================
Article header
==============================*/
.top__header {
    position: relative;
    width: 100%;
    display: block;
}

.ArticleHeader__logo {
    position: absolute;
    bottom: 30px;
    left: 30px;
    z-index: 100;
    width: 180px;
}

.header__logo--top {
    display: none;
}

.headerTopic__txt {
    writing-mode: vertical-rl;
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--primary-white);
    letter-spacing: 10px;
    position: absolute;
    z-index: 100;
}

.headerTopic__txt:first-of-type {
    top: 70px;
    right: 38px;
}

.headerTopic__txt:nth-of-type(2) {
    top: 120px;
    right: 70px;
} 

.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
    position: absolute;
    bottom: 20px;
    right:30px;
    left: unset;
    width: fit-content;
}

.swiper-pagination-bullet-active {
    background: var(--primary-white);
}

.mv-slider {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    position: relative;
}

.mv01 .swiper {
    width: 100%;
    height: min(629px, calc(100vw * 109 / 65));
    margin: 0;
    position: relative;
}

.mv01 .swiper-wrapper {
    height: 100%;
}

.mv01 .swiper-slide {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.mv01 .swiper-slide .swiperImage__sp,
.mv01 .swiper-slide .swiperImage__ipad,
.mv01 .swiper-slide .swiperImage__pc {
    transform: scale(1);
    transform-origin: center;
    will-change: transform;
}

.mv01 .swiper-slide.is-zooming .swiperImage__sp,
.mv01 .swiper-slide.is-zooming .swiperImage__ipad,
.mv01 .swiper-slide.is-zooming .swiperImage__pc {
    animation: mv-hero-zoom 12s ease-in-out forwards;
}

@keyframes mv-hero-zoom {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.15);
    }
}

.swiperImage__sp {
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    object-fit: cover;
    object-position: center;
    display: block;
}

.swiperImage__pc,
.swiperImage__ipad {
    display: none;
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    object-fit: cover;
    object-position: center;
}

@media screen and (min-width: 769px)  {
    .ArticleHeader__logo {
        bottom: 90px;
        left: 100px;
        width: 23.6%;
    }

    .headerTopic__txt {
        font-size: 3.29vh;
    }

    .headerTopic__txt:first-of-type {
        top: 110px;
        right: 8.3vw;
    }

    .headerTopic__txt:nth-of-type(2) {
        top: 250px;
        right: 12.9vw;
    } 

    .mv01 .swiper {
        height: max(775px, 75vh);
    }

    .swiperImage__sp,
    .swiperImage__ipad {
        display: none;
    }

    .swiperImage__pc {
        display: block;
        width: 100%;
        height: 100%;
    }

    .swiperImage__pc:last-of-type {
        object-position: 50% 30%;
    }

    .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
        bottom: 72px;
        right:10vw;
    }
}/* pc 769px */

@media screen and (min-width: 500px) {
    @media screen and (max-width: 1439px) {
        .swiperImage__ipad {
            display: block;
        }

        .swiperImage__sp,
        .swiperImage__pc {
            display: none;
        }
    }
}/* pc 500-1439px */

@media screen and (min-width: 2000px) {
   .mv01 .swiper {
        height: max(775px, 90vh);
    }
}/* pc 2000px */

/* ============================
Information
==============================*/
.information__wrapper {
    width: 100%;
    height: 140px;
    padding: 10px 0 0 30px;
    background-color: var(--primary-green);
    position: relative;
    overflow: hidden;
}

.information__topic {
    color: var(--primary-gray);
    font-size: 2.4rem;
}

.information__txt:first-of-type::before {
    content: '';
    display: inline-block;
    margin-right: 10px;
    width: 23.9px;
    height: 23.9px;
    background-image: url(../images/icon__clock--sp.webp);
    background-repeat: no-repeat;
    background-size: contain;
}

.information__txt {
    display: flex;
    align-items: center;
    color: var(--primary-white);
    font-family: "Noto Sans JP";
    font-size: 1.4rem;
}

.information__link {
    display: inline-flex;
    align-items: center;
    color: inherit;
    text-decoration: none;
}

.information__link::before {
    content: '';
    display: inline-block;
    margin-right: 10px;
    width: 21.916px;
    height: 21.916px;
    background-image: url(../images/icon__insta--sp.webp);
    background-repeat: no-repeat;
    background-position: 0;
    background-size: contain;
}

.information__link:hover,
.information__link:focus {
    text-decoration: underline;
}

/* ============================
Scroll fade utility
==============================*/
.scroll-fade {
    opacity: 0;
    transform: translateY(40px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
    will-change: opacity, transform;
}

.scroll-fade--visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .scroll-fade {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.container_05 {
    position: relative;
    top: -250px;
    left: 79.3vw;
    width: fit-content;
    height: 300px;
}

.scrollbar-text_05 {
  display: inline-block;
  position: absolute;
}

.scrollbar_05 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 1px;
}

.scrollbar_05::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1px;
  height: 100px;
  background: var(--primary-gray);
  animation: liner 2.5s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes liner {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  30% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  70% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@media screen and (min-width: 769px) {
    .section--information {
        position: relative;
        display: flex;
        justify-content: end;
    }

    .information__wrapper {
        position: absolute;
        top: -30px;
        display: flex;
        max-width: 890px;
        height: 184px;
        padding: 40px 0 0 60px;
        gap: 30px;
        z-index: 10;
    }

    .information__topic {
        margin-top: -10px;
        font-size: 3.2rem;
    }

    .information__txt:first-of-type::before {
        width: 40px;
        height: 40px;
    }

    .information__link::before {
        width: 40px;
        height: 40px;
    }

    .information__txt {
        font-size: 2rem;
        margin-top: 5px;
    }
    
    .container_05 {
        left: min( 8.3vw, 150px);
    }

    .scrollbar_05 {
        bottom: -110px;
    }

    .scrollbar_05::after {
        height: 150px;
    }

}/* pc 769px */

/* ============================
About
==============================*/
.section--about {
    padding-bottom: 90px;
}
.about__title__sp {
    margin-top: 60px;
    text-align: center;
    font-size: 2rem;
}

.split {
    --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
    --ease-in-quad: cubic-bezier(0.11, 0, 0.5, 0);
}

.split .splitText .char {
    opacity: 0;
    transform: translateY(100%);
    display: inline-block;
}

.split.isActive .headline .char {
    --delay: 0.05s;
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 0.7s var(--ease-in-quad) calc(var(--delay) * var(--index)),
        transform 1.4s var(--ease-out-quart) calc(var(--delay) * var(--index));
}

.split.isActive .description .char {
    --delay: 0.003s;
    opacity: 1;
    transform: translateY(0);
    transition:
        opacity 0.5s var(--ease-in-quad) calc(var(--delay) * var(--index) + 0.23s),
        transform 1.3s var(--ease-out-quart) calc(var(--delay) * var(--index) + 0.23s);
}

.about__title__pc {
    display: none;
}

.aboutImage__container {
    display: flex;
    justify-content: center;
    margin: 30px 0 50px;
}

.about__image {
    width: 282px;
}

.about__txt {
    text-align: center;
    font-size: 1.6rem;
    margin-top: 30px
}

.about__btn {
    margin-top: 50px;

}

@media screen and (min-width: 769px) {
    .section--about {
        margin-top: 300px;
        margin: 300px 0 100px;
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .about__wrapper {
        display: flex;
        width: fit-content;
    }
    .about__title__sp {
        display: none;
    }

    .about__title__pc {
        display: block;
        font-size: 2.4rem;
    }

    .about__image {
        width: 47vw;
        max-width: 676.8px;
        object-fit: contain;
        margin: 30px;
    }

    .about__container {
        padding-inline: 10px;
        margin-top: 40px;
    }

    .about__txt {
        text-align: start;
        font-size: 1.8rem;
        margin-top: 50px
    }

    .about__btn {
        margin: 100px -50px 0 0;
    }
}/* pc 769px */

@media screen and (min-width: 769px) {
    @media screen and (max-width: 1220px) {
        .about__wrapper {
            display: block;
            text-align: center;
        }

        .about__txt {
            text-align: center;
        }
    }
}/* pc 769-1220px */

/* ============================
Pictures
==============================*/
.pictures__bg {
    width: 100%;
    position: relative;
}

.pictures__bg::before {
    content: "";
    width: 100%;
    height: 120%;
    position: absolute;
    top: 15px;
    background-color: var(--primary-gray);
    z-index: -100;
}


.pictures__container {
    margin: 0 auto;
}

.pictures__container img {
    opacity: 0;
    transform: translateY(30px);
}

.pictures__container.is-visible img {
    animation: fadeup 1s ease-in-out forwards;
}

.pictures__container--second.is-visible img {
    animation-delay: 0.1s;
}

.pictures__container--third.is-visible img {
    animation-delay: 0.2s;
    margin-bottom: 30px;
}

.pictures__01 {
    width: 49.3vw;
    max-width: 330px;
    margin: 0 0 0 30px;
    position: relative;
    z-index: 3;
}

.pictures__02 {
    width: 56.4vw;
    margin: 46px 0 0 auto;
    position: relative;
    z-index: 2;
}

.pictures__02 img {
    width: 100%;
}

.pictures__03 {
    width: max(67vw, 270px);
    margin-top: 36px;
    position: relative;
    z-index: -2;
}

@media screen and (min-width: 769px) {
    .pictures__bg::before {
        top: 160px;
        background-color: var(--primary-gray);
        z-index: -100;
    }

    .pictures__container {
        max-width: 1440px;
        margin: 0 auto;
        position: relative;
    }

    .pictures__container--second,
    .pictures__container--third {
        margin-top: 0;
    }

    .pictures__01 {
        width: 31.4vw;
        max-width: 452.1px;
        margin-left: 150px;
        z-index: 3;
    }

    .pictures__02 {
        width: 37.8vw;
        max-width: 675.8px;
        margin: -15.27vw 0 0 auto;
    }

    .pictures__03 {
        width: 55.5vw;
        max-width: 992.3px;
        margin-top: 36px;
        position: relative;
        z-index: -2;
    }

    .pictures__01 img,
    .pictures__02 img,
    .pictures__03 img {
        width: 100%;
    }
}

@keyframes fadeup {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ============================
Line up
==============================*/
.section--lineUp {
    position: relative;
    z-index: 2;
    /* overflow: hidden; */
}

.lineUp__txt {
    text-align: center;
    font-size: 1.6rem;
    margin: 30px 0 20px;
    position: relative;
    z-index: 2;
}

.lineUpPhots__wrapper {
    display: flex;
    align-items: center;
    overflow: hidden;
    margin: 50px 0 50px;
}

@keyframes loop-slide {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

.lineUp__photos {
    display: flex;
    width: max-content;
    animation: loop-slide 40s linear infinite;
    will-change: transform;
}

.lineUp__item {
    width: 42.13vw;
}

@media screen and (min-width: 769px) {
    .section--lineUp {
        z-index: 2;
        padding: 100px 0 160px;
    }

    .lineUp__txt {
        font-size: 2.4rem;
        line-height: 2.6;
    }

    .lineUpPhots__wrapper {
        height: 300px;
    }

    .lineUp__item {
        width: 310px;
        }
}/* pc 769px */

/* ============================
Access
==============================*/
.access__topic {
    margin: 90px 0 40px;
}

.access__container {
    max-width: 360px;
    margin: 0 auto;
}

.accessImg__wrapper {
    padding-inline: 20px;
    display: flex;
    justify-content: center;
}

.access__image {
    width: 359.35px;
    margin-bottom: 40px;
}

.accessTxt__container {
    width: fit-content;
    margin: 0 auto;
    padding-inline: 10px;
}

.accessWay__txt::before {
    content: '';
    display: inline-block;
    width: 15.5px;
    height: 15.5px;
    background-image: url(../images/icon__access.webp);
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 8px;
}

.access__txt,
.accessWay__txt {
    display: flex;
    align-items: center;
}

.access__btn {
    margin: 40px 0 120px;
}

@media screen and (min-width: 769px) {
    .section--access {
        margin: 0 20px 160px;
    }
    
    .access__wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 80px auto 80px;
        gap: 60px;
    }

    .access__container {
        max-width: 1200px;
        margin: 0 auto;
    }

    .access__image {
        max-width: 681px;
        margin-bottom: 0;
    }

    .accessWay__txt::before {
        width: 40px;
        height: 40px;
        margin-right: 10px;
    }

    .accessTxt__container {
        width: fit-content;
        margin: 0;
    }

    .access__txt,
    .accessWay__txt {
        font-size: 2rem;
    }

    .access__way {
        margin-top: 30px;
    }

    .access__btn {
        margin-top: 100px;
    }
}/* pc 769px */

@media screen and (min-width: 769px) {
    @media screen and (max-width: 915px) {
        .access__wrapper {
            display: block;
            width: fit-content;
            margin: 80px auto 80px;
            gap: 60px;
        }

        .accessTxt__container {
            margin-top: 40px;
        }
    }
}/* pc 769-915px */

/* ============================
SNS
==============================*/
.section--sns {
    background-color: var(--primary-green);
    width: 100%;
    margin: 0 auto;
    padding-bottom: 120px;
}

.snsIcon__container {
    width: fit-content;
    margin: 0 auto;
}

.sns__icon {
    width: 33.333px;
    height: 33.333px;
    margin-top: 50px;
}

.sns__name {
    color: var(--primary-white);
    font-family: "Noto Sans JP";
    text-align: center;
    margin: 0 auto;
}

.sns__photos {
    width: 320px;
    display: flex;
    flex-wrap: wrap;
    margin: 20px auto;
    gap: 8px;
}

.sns__item {
    width: 100px;
    height: 100px;
}

@media screen and (min-width: 769px) {
    .section--sns {
        padding-bottom: 230px;
    }

    .sns__icon {
        width: 70px;
        height: 70px;
        margin-top: 100px;
    }

    .sns__name {
        font-size: 2.4rem;
        margin: 10px auto 30px;
    }

    .sns__photos {
        width: min(784px,94vw);
        display: flex;
        flex-wrap: wrap;
        margin: 20px auto;
        gap: 8px;
        justify-content: center;
    }

    .sns__item {
        width: 255px;
        height: 255px;
    }

    .sns__img {
        width: 255px;
        height: 255px;
    }

    .sns__txt {
        font-size: 2.4rem;
        padding: 20px 0 300px;
    }
}/* pc 769px */

/* ============================
Q & A
==============================*/
.section--q_and_a {
    /* overflow: hidden; */
}

.q_and_a__container {
    margin: 0 auto;
    position: relative;
    z-index: 2;
    padding: 0 20px;
    max-width: 530px;
}

.q_and_a__wrapper {
    position: relative;
    margin: 10px 0 10px;
}

.q_and_a__wrapper::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 1px;
    background-color: var(--primary-lightgray);
    margin: 10px 0;
}

.q_and_a__wrapper:last-of-type::after {
    display: none;
}

.summary {
    position: relative;
    list-style-type: none;
    display: flex;
    align-items: center;
}

summary::-webkit-details-marker {
    display: none;
}

summary::marker {
    content: '';
}

.summary__txt {
    font-size: 1.4rem;
    margin: 20px 0 10px 10px;
    line-height: 1.8;
}

.summary__txt:nth-of-type(2) {
    margin-left: 20px;
}

.summary::after {
    content: '';
    position: absolute;
    right: 14px;
    top: calc(50% + 4px);
    width: 14px;
    height: 14px;
    transform: translateY(-50%);
    display: inline-block;
    background:
        linear-gradient(var(--primary-black), var(--primary-black)) center / 100% 1.5px no-repeat,
        linear-gradient(var(--primary-black), var(--primary-black)) center / 1.5px 100% no-repeat;
    transition:
        background-size 0.35s ease,
        transform 0.35s ease,
        opacity 0.35s ease;
    opacity: 0.9;
    cursor: pointer;
}

details[open] > summary.summary::after {
    opacity: 0.6;
    background-size: 100% 1.5px, 1.5px 0;
    transform: translateY(-50%);
}

.answer {
    font-size: 1.4rem;
    margin: 10px 0 10px 22px;
    line-height: 1.8;
}

.details::after {
    width: 300px;
    height: 1px;
}

.answer__payment {
    width: fit-content;
    margin: 0 auto;
}

.pay__brand {
    width: 300px;
}

.pay__brand:last-of-type {
    margin-top: 10px;
}

.section--q_and_a {
    position: relative;
}

.q_and_a__topic {
    position: relative;
    z-index: 2;
}

.img-frame{
   position: relative;
   width: 90%;
   max-width: 500px;
   aspect-ratio: 16 / 9;
   overflow: hidden;
   margin: 60px auto 100px;
}

.img-01, .img-02, .img-03{
   position: absolute;
   top:0;
   left:0;
   width: 100%;
   height: 100%;
   background-size: cover;
   background-repeat: no-repeat;
}
.img-01{
   background-image: url(../images/q_and_a01.webp);
   animation: slide-animation-01 24s infinite;
}
.img-02{
   background-image: url(../images/q_and_a02.webp);
   animation: slide-animation-02 24s infinite;
}
.img-03{
   background-image: url(../images/q_and_a03.webp);
   animation: slide-animation-03 24s infinite;
}
@keyframes slide-animation-01 {
    0% {opacity: 1; transform: scale(1.0);}
  30% {opacity: 1;}
  40% {opacity: 0; transform: scale(1.15);}
  90% {opacity: 0}
100% {opacity: 1; transform: scale(1.0);}
}
@keyframes slide-animation-02 {
    0% {opacity: 0;}
  30% {opacity: 0; transform: scale(1.1);}
  40% {opacity: 1;}
  60% {opacity: 1;}
  70% {opacity: 0; transform: scale(1.0);}
100% {opacity: 0;}
}
@keyframes slide-animation-03 {
    0% {opacity: 0;}
  60% {opacity: 0;  transform: scale(1.0);}
  70% {opacity: 1;}
  90% {opacity: 1;}
100% {opacity: 0; transform: scale(1.1);}
}

@media screen and (min-width: 769px) {
    .section--q_and_a {
        padding-top: 100px;
    }

    .q_and_a__container {
        max-width: 816px;
        margin: 60px auto 160px;
    }

    .summary {
        height: 100px;
        align-items: end;
        line-height: 3;
    }

    .summary__txt {
        font-size: 2.2rem;
        margin-left: 20px;
    }

    .summary::after {
        width: 16px;
        height: 16px;
        right: 20px;
        top: calc(50% + 10px);
    }

    .answer {
        font-size: 2rem;
        margin-left: 30px;
        padding-bottom: 30px;
    }

    .answer__payment {
        display: flex;
    }
    
    .img-frame{
        width: 90%;
        max-width: 780px;
        margin: 60px auto 120px;
    }
}/* pc 769px */

@media screen and (min-width: 427px) {
    .br__QandA {
        display: none;
    }
}/* pc 427px */
