@keyframes js-scale {
  0% {
    opacity: 0;
    transform: scale(1.1);
  }
  20% {
    visibility: visible;
    opacity: 1;
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: scale(1);
  }
}
.landing-page {
  --color1: #000;
  --color2: #fff;
}

@media screen and (min-width: 768px) {
  .js-fadeIn {
    opacity: 0;
    transition: ease-in, opacity 2.5s;
  }
  .js-fadeIn--active {
    opacity: 1;
  }
  .s-view {
    display: none !important;
  }
  img {
    width: 100%;
    height: auto;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
  .clp-mainvisual {
    width: 120rem;
    aspect-ratio: 1200/675;
    position: relative;
    margin: 0 auto;
  }
  .clp-mainvisual__content {
    position: relative;
    overflow: visible;
    contain: paint;
    width: 100%;
    height: 100%;
  }
  .clp-mainvisual__textbox {
    margin: 0 auto;
    margin-top: 11.3rem;
  }
  .clp-mainvisual__textbox--detail {
    text-align: center;
    font-family: "yu-gothic-pr6n", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.3rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2.86rem;
    font-feature-settings: "palt";
  }
  .clp-anchor {
    position: sticky;
    display: inline-block;
    width: 6.4rem;
    aspect-ratio: 64/60;
    bottom: 10.6rem;
    left: calc(50% + 55.6rem);
  }
  .clp-anchor.js-anchor {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1.2s, transform 1.2s;
  }
  .clp-anchor.js-anchor--active {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 1.2s, transform 1.2s;
  }
  .js-anchor_active_area {
    max-width: 1400px;
    margin: 0 auto;
  }
  .landing-page {
    padding-bottom: 6rem;
  }
  .landing-page__section {
    position: relative;
    margin: 0 auto;
  }
  .landing-page__section .css-headline {
    position: absolute;
  }
  .landing-page__section .css-headline_text {
    position: absolute;
  }
  .landing-page__section .css-headline_text--font {
    text-align: center;
    font-family: "yu-mincho-pr6n", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.8rem;
    line-height: 4rem;
    letter-spacing: 0.057em;
    font-feature-settings: "palt";
    font-weight: bold;
  }
  .landing-page__section .css-image {
    position: absolute;
  }
  .landing-page__section.css-section1 {
    width: 107.5rem;
    aspect-ratio: 1075/1428.7023;
    margin-top: 11.8rem;
  }
  .landing-page__section.css-section1 .css-headline {
    width: 21.3437rem;
    top: 0;
    right: -0.8rem;
    left: 0;
    margin: auto;
  }
  .landing-page__section.css-section1 .css-headline_text {
    top: 19.2rem;
    left: 0;
    right: 0;
    margin: auto;
  }
  .landing-page__section.css-section1 .css-image1 {
    width: 41rem;
    aspect-ratio: 410/615;
    left: 33.3rem;
    top: 28.1rem;
    z-index: 2;
  }
  .landing-page__section.css-section1 .css-image2 {
    width: 36.9rem;
    aspect-ratio: 369/376;
    left: 25.3rem;
    top: 59.2rem;
  }
  .landing-page__section.css-section1 .css-image3 {
    width: 33rem;
    aspect-ratio: 330/495;
    left: 78.3rem;
    top: 62.3rem;
  }
  .landing-page__section.css-section1 .css-image4 {
    width: 28rem;
    aspect-ratio: 280/420;
    left: 3.8rem;
    bottom: 0rem;
  }
  .landing-page__section.css-section2 {
    width: 119.1rem;
    aspect-ratio: 1191/899;
    margin-top: 18rem;
  }
  .landing-page__section.css-section2 .css-headline {
    width: 15.79189rem;
    right: 25.9rem;
    top: 2.2rem;
  }
  .landing-page__section.css-section2 .css-headline_text {
    top: 21.5rem;
    right: 15.6rem;
  }
  .landing-page__section.css-section2 .css-image1 {
    width: 36rem;
    aspect-ratio: 360/540;
    left: 10.5rem;
    top: 0rem;
    z-index: 2;
  }
  .landing-page__section.css-section2 .css-image2 {
    width: 33rem;
    aspect-ratio: 330/495;
    right: 17.6rem;
    top: 40.4rem;
    z-index: 2;
  }
  .landing-page__section.css-section2 .css-image3 {
    width: 96.8rem;
    aspect-ratio: 968/430;
    right: -10.5rem;
    top: 32.4rem;
  }
  .landing-page__section.css-section3 {
    width: 93rem;
    aspect-ratio: 930/580;
    margin-top: 18rem;
  }
  .landing-page__section.css-section3 .css-headline {
    width: 20.87178rem;
    left: 12.6rem;
    top: 17.7rem;
  }
  .landing-page__section.css-section3 .css-headline_text {
    top: 37rem;
    left: 0rem;
  }
  .landing-page__section.css-section3 .css-image1 {
    width: 40rem;
    aspect-ratio: 400/580;
    right: 0rem;
    top: 0rem;
    z-index: 2;
  }
  .landing-page__section.css-section4 {
    width: 108.9rem;
    aspect-ratio: 1089/1116.7021;
    margin-top: 18.6rem;
  }
  .landing-page__section.css-section4 .css-headline {
    width: 17.21592rem;
    left: 0.4rem;
    top: 0;
    right: 0;
    margin: auto;
  }
  .landing-page__section.css-section4 .css-headline_text {
    left: 0rem;
    top: 19.3rem;
    right: 0;
    margin: auto;
  }
  .landing-page__section.css-section4 .css-image1 {
    width: 35rem;
    aspect-ratio: 350/525;
    left: 9.5rem;
    top: 55.1rem;
    z-index: 2;
  }
  .landing-page__section.css-section4 .css-image2 {
    width: 37rem;
    aspect-ratio: 370/555;
    right: 9.4rem;
    top: 28.2rem;
    z-index: 2;
  }
  .landing-page__section.css-section4 .css-image3 {
    width: 20rem;
    aspect-ratio: 200/250;
    right: -2.2rem;
    bottom: 0rem;
    z-index: 2;
  }
  .landing-page__section.css-section4 .css-image4 {
    width: 12rem;
    aspect-ratio: 120/400;
    left: 2.2rem;
    top: 41.7rem;
  }
  .landing-page__section.css-section5 {
    width: 109.9rem;
    aspect-ratio: 1099/670;
    margin-top: 15rem;
  }
  .landing-page__section.css-section5 .css-headline {
    width: 18.21572rem;
    top: 20.6rem;
    right: 15.6rem;
    margin: auto;
  }
  .landing-page__section.css-section5 .css-headline_text {
    top: 40rem;
    right: 0.4rem;
  }
  .landing-page__section.css-section5 .css-image1 {
    width: 42rem;
    aspect-ratio: 420/630;
    left: 10.9rem;
    top: 0rem;
    z-index: 2;
  }
  .landing-page__section.css-section5 .css-image2 {
    width: 42rem;
    aspect-ratio: 420/630;
    left: 0rem;
    top: 4rem;
  }
  .landing-page__check_all_button {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 11.7rem;
  }
  .landing-page__check_all_button--link {
    width: 101.5rem;
    display: block;
    object-fit: cover;
  }
}
@media screen and (max-width: 767px) {
  .js-fadeIn {
    opacity: 0;
    transition: ease-in, opacity 2.5s;
  }
  .js-fadeIn--active {
    opacity: 1;
  }
  .clp-mainvisual {
    width: calc(750 * 100vw / 750);
    aspect-ratio: 750/880;
    position: relative;
    margin: 0 auto;
    margin-top: calc(20 * 100vw / 750);
  }
  .clp-mainvisual__content {
    position: relative;
    overflow: visible;
    contain: paint;
    width: 100%;
    height: 100%;
  }
  .clp-mainvisual__textbox {
    margin: 0 auto;
    text-align: center;
    margin-top: calc(106 * 100vw / 750);
  }
  .clp-mainvisual__textbox--detail {
    text-align: center;
    font-family: "yu-gothic-pr6n", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: calc(24 * 100vw / 750);
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: calc(52.8 * 100vw / 750);
  }
  .clp-anchor {
    position: sticky;
    display: inline-block;
    width: calc(61 * 100vw / 750);
    aspect-ratio: 61/61;
    bottom: 14.1333333333vw;
    left: 87.3146666667vw;
  }
  .clp-anchor.js-anchor {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1.2s, transform 1.2s;
  }
  .clp-anchor.js-anchor--active {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: opacity 1.2s, transform 1.2s;
  }
  .l-view {
    display: none !important;
  }
  img {
    width: 100%;
    height: auto;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
  .landing-page {
    padding-bottom: calc(40 * 100vw / 750);
  }
  .landing-page__section {
    position: relative;
    margin: 0 auto;
  }
  .landing-page__section .css-headline {
    position: relative;
  }
  .landing-page__section .css-headline_text {
    position: relative;
  }
  .landing-page__section .css-headline_text--font {
    text-align: center;
    font-family: "yu-mincho-pr6n", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: calc(30 * 100vw / 750);
    line-height: calc(60 * 100vw / 750);
    letter-spacing: 0.057em;
    font-feature-settings: "palt";
    font-weight: bold;
  }
  .landing-page__section .css-image {
    position: relative;
  }
  .landing-page__section.css-section1 {
    margin-top: calc(100 * 100vw / 750);
    width: calc(750 * 100vw / 750);
  }
  .landing-page__section.css-section1 .css-headline {
    margin: 0 auto;
    width: calc(320.1543 * 100vw / 750);
    top: 0;
    left: calc(4 * 100vw / 750);
  }
  .landing-page__section.css-section1 .css-headline_text {
    margin-top: calc(52 * 100vw / 750);
  }
  .landing-page__section.css-section1 .css-image1 {
    width: calc(615 * 100vw / 750);
    aspect-ratio: 615/922.5;
    margin: 0 auto;
    left: calc(0 * 100vw / 750);
    margin-top: calc(63 * 100vw / 750);
    z-index: 2;
  }
  .landing-page__section.css-section1 .css-image2 {
    position: absolute;
    width: calc(560 * 100vw / 750);
    aspect-ratio: 560/560;
    left: calc(0 * 100vw / 750);
    top: calc(993 * 100vw / 750);
  }
  .landing-page__section.css-section1 .css-image3 {
    width: calc(495 * 100vw / 750);
    aspect-ratio: 495/742.5;
    left: calc(0 * 100vw / 750);
    margin-top: calc(41 * 100vw / 750);
    margin-left: auto;
  }
  .landing-page__section.css-section1 .css-image4 {
    width: calc(380 * 100vw / 750);
    aspect-ratio: 380/570;
    left: calc(68 * 100vw / 750);
    margin-top: calc(40 * 100vw / 750);
  }
  .landing-page__section.css-section2 {
    margin-top: calc(190 * 100vw / 750);
    width: calc(750 * 100vw / 750);
  }
  .landing-page__section.css-section2 .css-headline {
    width: calc(236.874 * 100vw / 750);
    left: calc(3 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin: 0 auto;
  }
  .landing-page__section.css-section2 .css-headline_text {
    left: calc(0 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin: 0 auto;
    margin-top: calc(51 * 100vw / 750);
  }
  .landing-page__section.css-section2 .css-image1 {
    width: calc(520 * 100vw / 750);
    aspect-ratio: 520/780;
    left: calc(61 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin-top: calc(63 * 100vw / 750);
    z-index: 2;
  }
  .landing-page__section.css-section2 .css-image2 {
    width: calc(500 * 100vw / 750);
    aspect-ratio: 500/750;
    left: calc(0 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin-top: calc(42 * 100vw / 750);
    z-index: 2;
    margin-left: auto;
  }
  .landing-page__section.css-section2 .css-image3 {
    position: absolute;
    width: calc(750 * 100vw / 750);
    aspect-ratio: 750/1170;
    left: calc(0 * 100vw / 750);
    top: calc(671 * 100vw / 750);
  }
  .landing-page__section.css-section3 {
    margin-top: calc(190 * 100vw / 750);
    width: calc(750 * 100vw / 750);
  }
  .landing-page__section.css-section3 .css-headline {
    width: calc(313.0752 * 100vw / 750);
    left: calc(7 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin: 0 auto;
  }
  .landing-page__section.css-section3 .css-headline_text {
    left: calc(0 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin: 0 auto;
    margin-top: calc(51 * 100vw / 750);
  }
  .landing-page__section.css-section3 .css-image1 {
    width: calc(660 * 100vw / 750);
    aspect-ratio: 660/960;
    left: calc(0 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin: 0 auto;
    margin-top: calc(64 * 100vw / 750);
  }
  .landing-page__section.css-section4 {
    margin-top: calc(190 * 100vw / 750);
    width: calc(750 * 100vw / 750);
  }
  .landing-page__section.css-section4 .css-headline {
    width: calc(258.2363 * 100vw / 750);
    left: calc(3 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin: 0 auto;
  }
  .landing-page__section.css-section4 .css-headline_text {
    left: calc(0 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin: 0 auto;
    margin-top: calc(51 * 100vw / 750);
  }
  .landing-page__section.css-section4 .css-image1 {
    width: calc(580 * 100vw / 750);
    aspect-ratio: 580/870;
    left: calc(21 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin: 0 auto;
    margin-top: calc(84 * 100vw / 750);
    z-index: 2;
  }
  .landing-page__section.css-section4 .css-image2 {
    width: calc(686 * 100vw / 750);
    aspect-ratio: 686/1020;
    left: calc(0 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin-top: calc(40 * 100vw / 750);
    z-index: 2;
  }
  .landing-page__section.css-section4 .css-image3 {
    width: calc(340 * 100vw / 750);
    aspect-ratio: 340/425;
    left: calc(0 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin-top: calc(-42 * 100vw / 750);
    margin-left: auto;
  }
  .landing-page__section.css-section4 .css-image4 {
    position: absolute;
    width: calc(180 * 100vw / 750);
    aspect-ratio: 180/660;
    left: calc(0 * 100vw / 750);
    top: calc(425 * 100vw / 750);
  }
  .landing-page__section.css-section5 {
    margin-top: calc(190 * 100vw / 750);
    width: calc(750 * 100vw / 750);
    aspect-ratio: 750/1519.3613;
  }
  .landing-page__section.css-section5 .css-headline {
    width: calc(273.2334 * 100vw / 750);
    left: calc(-3 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin: 0 auto;
  }
  .landing-page__section.css-section5 .css-headline_text {
    left: calc(0 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin: 0 auto;
    margin-top: calc(18 * 100vw / 750);
  }
  .landing-page__section.css-section5 .css-image1 {
    width: calc(630 * 100vw / 750);
    aspect-ratio: 630/945;
    left: calc(0 * 100vw / 750);
    top: calc(0 * 100vw / 750);
    margin: 0 auto;
    margin-top: calc(64 * 100vw / 750);
    z-index: 2;
  }
  .landing-page__section.css-section5 .css-image2 {
    position: absolute;
    width: calc(630 * 100vw / 750);
    aspect-ratio: 630/945;
    left: calc(0 * 100vw / 750);
    bottom: calc(0 * 100vw / 750);
  }
  .landing-page__check_all_button {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: calc(119 * 100vw / 750);
  }
  .landing-page__check_all_button--link {
    width: calc(660 * 100vw / 750);
    display: block;
    object-fit: cover;
  }
}