@import url("https://fonts.googleapis.com/css2?family=Quicksand:wght@300..700&display=swap");
html,
body {
  color: #2E2A25;
}

.landing_page {
  --color-b: #000;
  --color-w: #fff;
  --color-mv-bg: #edfaff;
  --color1: #ffbb00;
  --color2: linear-gradient(to bottom, #70ddf9, #fafdce);
  --color3: #ff50d5;
  --color4: #edfaff;
  --color5: #0707c9;
  --color6: #fffddc;
  --color7: linear-gradient(
    to bottom,
    rgba(255, 167, 255, 0.4) 0%,
    rgba(101, 234, 253, 0.4) 25%,
    rgba(127, 252, 107, 0.4) 50%,
    rgba(252, 242, 0, 0.4) 75%,
    rgba(255, 182, 208, 0.4) 100%
  );
  --color9: #f7f7f7;
  --color8: rgb(235, 237, 244);
  --color10: #1a1817;
  --color11: linear-gradient(to right, #fbfbfb 0%, #eeeeee 100%);
  --bold: 600;
  --semibold: 500;
}
.landing_page .bg-shape {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.landing_page .bg-shape svg {
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .landing_page {
    --fs-xs: 10;
    --fs-xs-rem: 1rem;
    --fs-sm: 16;
    --fs-sm-rem: 1.6rem;
    --fs-md: 20;
    --fs-md-rem: 2rem;
    --fs-lg: 32;
    --fs-lg-rem: 3.2rem;
    --fs-xl: 40;
    --fs-xl-rem: 4rem;
    --pad-xxs: 10;
    --pad-xs: 30;
    --pad-sm: 60;
    --pad-md: 100;
    --pad-lg: 120;
  }
  .l-breadcrumbs {
    margin-top: 0;
  }
  .landing_page {
    overflow: visible;
    contain: paint;
    background-color: var(--color-w);
  }
  .landing_page .js-fadeIn {
    opacity: 0;
    transform: translateY(50px);
    transition: ease-in, opacity 1s, transform 1s;
  }
  .landing_page .js-fadeIn--active {
    opacity: 1;
    transform: translateY(0);
  }
  .landing_page .js-revealIn {
    position: relative;
  }
  .landing_page .js-revealIn::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    transform-origin: right;
    transform: scaleX(1);
    transition: transform 1.2s ease-in-out;
    z-index: 3;
  }
  .landing_page .js-revealIn--active::after {
    transform: scaleX(0);
  }
  .landing_page .s-view {
    display: none;
  }
  .landing_page img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  .landing_page p {
    font-size: 0.86vw;
    line-height: 1.6;
  }
  .landing_page .container {
    max-width: 75rem;
    width: 62.5%;
    margin-inline: auto;
  }
  .landing_page .main-visual {
    position: relative;
    background: rgba(39, 40, 43, 0.1);
  }
  .landing_page .main-visual .mv-container {
    position: relative;
    width: 72.9166666667vw;
    max-width: 87.5rem;
    margin-inline: auto;
    background: url(./../images/mv-bg.jpg) no-repeat center/cover;
    z-index: 1;
  }
  .landing_page .main-visual .mv-box {
    position: relative;
    width: 83.3333333333%;
    margin-inline: auto;
  }
  .landing_page .main-visual .mv-contents {
    padding: 8vw 0;
    display: grid;
    place-content: center;
    width: 52%;
  }
  .landing_page .main-visual .product-head {
    position: relative;
    z-index: 1;
    display: flex;
  }
  .landing_page .main-visual .product-head__category {
    font-size: min(var(--fs-md) * 100vw / 1920, var(--fs-md-rem));
    font-weight: 600;
    background: #716d69;
    color: #eee;
    padding: 1em 0.8em;
    display: grid;
    place-content: center;
  }
}
@media screen and (min-width: 768px) and (min-width: 1920px) {
  .landing_page .main-visual .product-head__category {
    font-size: 0.6vw;
  }
}
@media screen and (min-width: 768px) {
  .landing_page .main-visual .product-head__title {
    font-size: min(var(--fs-md) * 100vw / 1920, var(--fs-md-rem));
    font-weight: 600;
    background: #fff;
    color: #2e2a25;
    padding: 0.4em 0.6em;
    display: grid;
    place-content: center;
  }
}
@media screen and (min-width: 768px) and (min-width: 1920px) {
  .landing_page .main-visual .product-head__title {
    font-size: 0.6vw;
  }
}
@media screen and (min-width: 768px) {
  .landing_page .main-visual .product-head__model {
    font-size: min(var(--fs-sm) * 100vw / 1920, var(--fs-sm-rem));
  }
}
@media screen and (min-width: 768px) and (min-width: 1920px) {
  .landing_page .main-visual .product-head__model {
    font-size: 0.4vw;
  }
}
@media screen and (min-width: 768px) {
  .landing_page .main-visual .mv-textarea {
    position: relative;
  }
  .landing_page .main-visual .mv-textarea .mv-textarea__inner {
    position: relative;
    z-index: 1;
  }
  .landing_page .main-visual .mv-textarea::after {
    content: "";
    aspect-ratio: 3/2;
    width: 100%;
    background: rgba(0, 0, 0, 0.6);
    filter: blur(75px);
    position: absolute;
    top: -1em;
    left: -1em;
  }
  .landing_page .main-visual .mv-logo {
    width: min(100%, 525px);
    width: calc(467 * 100vw / 1920);
    max-width: 29.1875rem;
    aspect-ratio: 467/152;
    margin: 1.25rem 0;
  }
  .landing_page .main-visual .mv-logo2 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
    row-gap: 0.625rem;
    width: calc(495 * 100vw / 1920);
    max-width: 30.9375rem;
    margin-bottom: 1.25rem;
  }
  .landing_page .main-visual .mv-logo2--text1 {
    font-size: 1.25rem;
    color: #fff;
    background-color: #d19a5f;
    text-align: center;
    padding: 0.1875rem 0.9375rem;
    font-weight: bold;
  }
  .landing_page .main-visual .mv-logo2__flexbox {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .landing_page .main-visual .mv-logo2__flexbox--text {
    width: calc(300 * 100vw / 1920);
    max-width: 18.75rem;
    color: #fff;
    font-size: min(20 * 100vw / 1920, 1.25rem);
    font-weight: bold;
  }
  .landing_page .main-visual .mv-logo2__flexbox--img {
    width: calc(195 * 100vw / 1920);
    max-width: 12.1875rem;
  }
  .landing_page .main-visual .mv-title {
    font-size: min(var(--fs-xl) * 100vw / 1920, var(--fs-xl-rem));
    font-weight: 900;
    color: #fff;
    text-shadow: 0 0 10px #000;
    line-height: 1.4;
    margin: 1em 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 1920px) {
  .landing_page .main-visual .mv-title {
    font-size: 1.2vw;
  }
}
@media screen and (min-width: 768px) {
  .landing_page .main-visual .mv-txt {
    max-width: 30.9375rem;
    width: calc(495 * 100vw / 1920);
    color: #fff;
    font-size: min(16 * 100vw / 1920, 1rem);
    text-shadow: 0 0 10px #000;
    font-weight: 400;
    line-height: 2;
    text-align: justify;
  }
  .landing_page .main-visual .award-video {
    width: calc(50% - 70px);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    display: grid;
    place-items: flex-end;
    align-items: center;
  }
  .landing_page .main-visual .award-video .award-video__youtube {
    width: 100%;
    aspect-ratio: 16/9;
    border: 3px solid #fff;
  }
  .landing_page .main-visual .award-video .award-video__youtube iframe {
    width: 100%;
    height: 100%;
    display: block;
  }
  .landing_page .main-visual .mv-image {
    display: none;
  }
  .landing_page .main-visual::after {
    content: "";
    width: 100%;
    height: 60px;
    background: linear-gradient(90deg, #fbfbfb 0%, #eee 98.59%);
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .landing_page .main-visual .scroll-image {
    max-width: 140px;
    position: absolute;
    left: 45px;
    bottom: -32.5px;
  }
  .landing_page .section-contents {
    padding: 5vw 0;
  }
  .landing_page .section-heading {
    padding: 0 0 1.5em 0;
  }
  .landing_page .section-num {
    font-family: "Quicksand", sans-serif;
    font-size: min(var(--fs-md) * 100vw / 1920, var(--fs-md-rem));
    color: #716d69;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 1em;
    margin: 0 0 1.5em 0;
  }
  .landing_page .section-num::before {
    content: "";
    display: block;
    min-width: 2em;
    height: 2em;
    background: url(.././images/icon-check.svg) no-repeat center/contain;
  }
  .landing_page .section-title {
    font-size: min(var(--fs-lg) * 100vw / 1920, var(--fs-lg-rem));
    font-weight: 700;
    line-height: 1.4;
  }
  .landing_page .section-title sup {
    font-size: 0.86vw;
  }
  .landing_page .section-image {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 3vw;
  }
  .landing_page .css-font-sm {
    font-size: min(var(--fs-sm) * 100vw / 1920, var(--fs-sm-rem));
    line-height: 1.5;
  }
  .landing_page .css-font-sm.bold {
    font-weight: var(--bold);
  }
  .landing_page .css-font-md {
    font-size: min(var(--fs-md) * 100vw / 1920, var(--fs-md-rem));
    line-height: 1.5;
  }
  .landing_page .css-font-md.bold {
    font-weight: var(--bold);
  }
}
@media screen and (min-width: 768px) and (min-width: 767px) {
  .landing_page .section-contents {
    position: relative;
  }
  .landing_page .bar {
    position: absolute;
    top: 5vw;
    left: -8vw;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 20px;
  }
  .landing_page .bar span {
    display: block;
    width: 2.5vw;
    height: 2px;
    background: #6f6f63;
  }
  .landing_page .bar span.active {
    position: relative;
    width: 4vw;
  }
  .landing_page .bar span.active::after {
    content: "";
    width: 12px;
    height: 12px;
    border-radius: 999px;
    background: #6f6f63;
    position: absolute;
    top: -5px;
    left: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 1500px) {
  .landing_page .bar {
    left: -8vw;
  }
}
@media screen and (min-width: 768px) {
  .css-section1 {
    position: relative;
    background: linear-gradient(90deg, #FBFBFB 0%, #EEE 98.59%);
  }
  .css-section1::after {
    content: "";
    width: 100%;
    height: 30px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .css-section1::after {
    height: 100px;
  }
}
@media screen and (min-width: 768px) {
  .feature-section {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .feature-section {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (min-width: 768px) {
  .feature-section__inner {
    padding: 8vw 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .feature-section__inner {
    padding-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .feature-section__title {
    font-family: Quicksand;
    font-size: min(var(--fs-xl) * 100vw / 1920, var(--fs-xl-rem));
    margin-bottom: 1.5em;
  }
  .feature-section__title::before {
    content: attr(data-en);
    display: block;
    color: #716D69;
    font-size: min(var(--fs-md) * 100vw / 1920, var(--fs-md-rem));
    margin: 0 0 10px 0;
  }
  .feature-section__list {
    counter-reset: number 0;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.8em;
  }
  .feature-section__list li {
    font-size: min(16 * 100vw / 1920, 1rem);
    font-weight: 700;
    line-height: 1.6;
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .feature-section__list li::before {
    width: calc(32 * 100vw / 1920);
    max-width: 2rem;
    min-width: 2rem;
    aspect-ratio: 1/1;
    counter-increment: number 1;
    content: counter(number);
    display: grid;
    place-content: center;
    font-family: Quicksand;
    font-size: min(16 * 100vw / 1920, 1rem);
    font-weight: 600;
    color: #716D69;
    background: rgba(123, 141, 178, 0.14);
    border-radius: 999px;
  }
  .feature-section__list li:hover::before {
    background: #716D69;
    color: #fff;
  }
  .feature-section__list li:last-of-type {
    grid-area: 4/1/5/3;
  }
  .feature-section__list a {
    color: #2B3432;
    text-decoration: none;
  }
  .feature-section__img {
    padding-left: 24px;
    margin-bottom: -1em;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .feature-section__img {
    max-width: 500px;
    margin: 0 auto;
    padding-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .section2-txt {
    margin: 1em 0;
  }
  p.section2-note {
    font-size: 0.7vw;
  }
  p.section2-note.text-right {
    text-align: right;
  }
  .section2-image-box {
    padding: 1em 0;
  }
  .section2-image {
    align-items: flex-end;
  }
  .section2-image-item > img + p {
    margin-bottom: 0;
  }
  .css-section3 {
    background: #F5F5F5;
  }
  .css-section4 {
    background: #FBFBFB;
  }
  .section4-txt {
    margin: 0 0 1em 0;
  }
  p.section4-note {
    font-size: min(var(--fs-xs) * 100vw / 1920, var(--fs-xs-rem));
    margin: 2em 0;
  }
  .section5-title {
    font-size: max(20px, min(3vw, 26px));
    margin-bottom: 1em;
  }
  .section5-image-box2 {
    max-width: 317px;
    margin: 0 auto;
  }
  .section5-txt {
    margin: 1em 0;
  }
  p.section5-note {
    font-size: 0.7vw;
    display: block;
    margin-top: 2em;
  }
  .css-section6 {
    background: #FBFBFB;
  }
  .section6-title {
    font-size: max(20px, min(3vw, 26px));
    margin-bottom: 1em;
  }
  p.section6-txt {
    font-size: 0.8vw;
  }
  .section6-image-container {
    padding: 1em 0 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 2vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .section6-image-container {
    grid-template-columns: 1fr;
    padding: 0;
  }
  .section6-image-container .section6-image-box1 {
    max-width: 300px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .point-container {
    background: #FFF;
    border: 1px solid #716D69;
    padding: 1em;
  }
  .point-title {
    font-family: "Quicksand", sans-serif;
    color: #716D69;
    margin: 0 0 0.8em 0;
    display: flex;
    align-items: center;
    gap: 14px;
  }
  .point-title::before {
    content: "";
    display: block;
    min-width: 20px;
    height: 20px;
    background: url(./../images/icon-point.svg) no-repeat center/contain;
  }
  .section6-image-box2 {
    margin: 8px 0 0 0;
  }
  .section7-title {
    font-size: min(var(--fs-md) * 100vw / 1920, var(--fs-md-rem));
    margin-bottom: 0.6em;
  }
  .section7-image-container {
    padding: 40px 0 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 2vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .section7-image-container {
    grid-template-columns: 1fr;
    padding: 0;
  }
  .section7-image-container .section7-image-box1 {
    max-width: 300px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .section7-image-box2 {
    margin: 8px 0 0 0;
  }
  .css-section8 {
    background: linear-gradient(90deg, #FBFBFB 0%, #EEE 98.59%);
  }
  .section8-image {
    padding: 1em 0 0 0;
  }
  .section8-txt {
    margin: 0 0 2em 0;
  }
  .section8-image-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 24px 2vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .section8-image-container {
    grid-template-columns: 1fr;
    padding: 0;
  }
  .section8-image-container .section8-image-box1 {
    max-width: 300px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  p.section8-note {
    font-size: min(var(--fs-xs) * 100vw / 1920, var(--fs-xs-rem));
    margin: 1.5em 0 0 0;
  }
  .section8-image-box2 {
    margin: 8px 0 0 0;
  }
  .css-bottom-section .products-section {
    padding: 5vw 0 0 0;
  }
  .css-bottom-section .feature-section__title {
    text-align: center;
  }
  .css-bottom-section .topics-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px 3vw;
    padding-bottom: 5vw;
  }
  .css-bottom-section p.topic-title {
    font-size: min(var(--fs-md) * 100vw / 1920, var(--fs-md-rem));
    font-weight: 600;
    margin: 0.8em 0 1.5em 0;
  }
  .css-bottom-section .topic-btn-container {
    width: max-content;
    margin: 0 auto;
  }
  .css-bottom-section .topic-btn-container .topic-btn {
    display: block;
    font-size: min(var(--fs-md) * 100vw / 1920, var(--fs-md-rem));
    font-weight: 600;
    color: #716D69;
    text-decoration: none;
    border-radius: 999px;
    border: 1px solid #716D69;
    padding: 0.8em 2.4em;
    text-align: center;
  }
  .bottom-container {
    background: #FBFBFB;
    padding: 8vw 0;
  }
  .bottom-container .product-box {
    position: relative;
    background: #F1F1F1;
    padding: 4vw 5vw;
  }
  .bottom-container .product-image {
    width: 40%;
    position: absolute;
    top: -5vw;
    left: -3vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .bottom-container .product-image {
    top: -20px;
  }
}
@media screen and (min-width: 768px) {
  .bottom-container .product-content {
    width: 60%;
    margin-left: auto;
  }
  .bottom-container .product-name {
    font-size: max(24px, min(3vw, 40px));
    font-size: min(var(--fs-xl) * 100vw / 1920, var(--fs-xl-rem));
    font-weight: 700;
    text-align: center;
    margin: 0 0 1em 0;
  }
  .bottom-container .product-link {
    display: flex;
    gap: 16px 1.6vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .bottom-container .product-link {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .bottom-container .link-btn {
    font-size: min(var(--fs-md) * 100vw / 1920, var(--fs-md-rem));
    font-weight: 600;
    color: #716D69;
    text-align: center;
    border-radius: 999px;
    border: 1px solid #716D69;
    background: #FFF;
    text-decoration: none;
    padding: 0.8em 1.6em;
    width: max-content;
    display: grid;
    align-items: center;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .bottom-container .link-btn {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .bottom-container .link-btn--catalog {
    color: #fff;
    background: #716D69;
    flex: 2;
  }
}
@media screen and (max-width: 767px) {
  .landing_page {
    --fs-xs: 12;
    --fs-sm: 18;
    --fs-md: 22;
    --fs-lg: 32;
    --fs-xl: 40;
    --pad-xxs: 10;
    --pad-xs: 30;
    --pad-sm: 30;
    --pad-md: 60;
    --pad-lg: 100;
    --pad-xl: 120;
  }
  .l-breadcrumbs {
    margin-top: 0;
  }
  .landing_page {
    overflow: visible;
    contain: paint;
    background-color: var(--color-w);
  }
  .landing_page .js-fadeIn {
    opacity: 0;
    transform: translateY(50px);
    transition: ease-in, opacity 1s, transform 1s;
  }
  .landing_page .js-fadeIn--active {
    opacity: 1;
    transform: translateY(0);
  }
  .landing_page .js-revealIn {
    position: relative;
  }
  .landing_page .js-revealIn::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: white;
    transform-origin: right;
    transform: scaleX(1);
    transition: transform 1.2s ease-in-out;
    z-index: 3;
  }
  .landing_page .js-revealIn--active::after {
    transform: scaleX(0);
  }
  .landing_page .l-view {
    display: none;
  }
  .landing_page img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  .landing_page p {
    font-size: max(14px, min(3vw, 16px));
    line-height: 1.6;
  }
  .landing_page .container {
    padding: 0 15px;
  }
  .landing_page .main-visual {
    position: relative;
    background: #eee;
  }
  .landing_page .main-visual .mv-box {
    position: relative;
  }
  .landing_page .main-visual .mv-contents {
    padding: 40px 15px 20px 15px;
    display: grid;
    place-content: center;
  }
  .landing_page .main-visual .product-head {
    display: flex;
  }
  .landing_page .main-visual .product-head__category {
    font-size: max(14px, min(3vw, 28px));
    font-weight: 600;
    background: #716d69;
    color: #eee;
    padding: 0.5em 0.6em;
    display: grid;
    place-content: center;
  }
  .landing_page .main-visual .product-head__title {
    font-size: max(14px, min(3vw, 28px));
    font-weight: 600;
    background: #fff;
    color: #2e2a25;
    padding: 0.5em 0.6em;
    display: grid;
    place-content: center;
  }
  .landing_page .main-visual .product-head__model {
    font-size: max(12px, min(3vw, 24px));
  }
  .landing_page .main-visual .product-head {
    margin-bottom: calc(20 * 100vw / 750);
  }
  .landing_page .main-visual .mv-logo {
    width: min(100%, 600px);
    margin: 0 auto;
    margin-bottom: calc(30 * 100vw / 750);
  }
}
@media screen and (max-width: 767px) and (max-width: 599px) {
  .landing_page .main-visual .mv-logo {
    width: min(100%, 300px);
  }
}
@media screen and (max-width: 767px) {
  .landing_page .main-visual .mv-logo2 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
    row-gap: calc(10 * 100vw / 750);
    width: 100%;
    margin-bottom: calc(20 * 100vw / 750);
  }
  .landing_page .main-visual .mv-logo2--text1 {
    font-size: calc(30 * 100vw / 750);
    color: #fff;
    background-color: #d19a5f;
    text-align: center;
    padding: calc(3 * 100vw / 750) calc(15 * 100vw / 750);
    font-weight: bold;
  }
  .landing_page .main-visual .mv-logo2__flexbox {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .landing_page .main-visual .mv-logo2__flexbox--text {
    width: 65%;
    color: #000;
    font-size: calc(30 * 100vw / 750);
    font-weight: bold;
  }
  .landing_page .main-visual .mv-logo2__flexbox--img {
    width: 35%;
    max-width: 12.1875rem;
  }
  .landing_page .main-visual .mv-title {
    font-size: max(20px, min(3vw, 40px));
    font-weight: 900;
    color: #000;
    line-height: 1.4;
    margin: 0.8em 0;
  }
  .landing_page .main-visual .mv-title br {
    display: none;
  }
  .landing_page .main-visual .mv-image {
    position: relative;
    width: calc(100% - 30px);
  }
  .landing_page .main-visual .mv-image img {
    position: relative;
    z-index: 1;
  }
  .landing_page .main-visual .mv-image::after {
    content: "";
    width: 100%;
    height: 90%;
    background: #e9e9ea;
    position: absolute;
    right: -30px;
    bottom: 0;
  }
  .landing_page .main-visual .scroll-image {
    max-width: 86px;
    position: absolute;
    bottom: 20%;
    left: 15px;
  }
}
@media screen and (max-width: 767px) and (max-width: 599px) {
  .landing_page .main-visual .scroll-image {
    max-width: 43px;
  }
}
@media screen and (max-width: 767px) {
  .landing_page .main-visual .award-video {
    display: none;
  }
  .landing_page .section-contents {
    padding: 60px 0;
  }
  .landing_page .section-heading {
    padding: 0 0 1em 0;
  }
  .landing_page .section-num {
    font-family: "Quicksand", sans-serif;
    font-size: max(14px, min(3vw, 20px));
    color: #716d69;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 1.5em 0;
  }
  .landing_page .section-num::before {
    content: "";
    display: block;
    min-width: 32px;
    height: 32px;
    background: url(.././images/icon-check.svg) no-repeat center/contain;
  }
  .landing_page .section-title {
    font-size: max(18px, min(3vw, 32px));
    font-weight: 700;
    line-height: 1.6;
  }
  .landing_page .section-image {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}
@media screen and (max-width: 767px) and (max-width: 599px) {
  .landing_page .section-image {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .css-section1 {
    position: relative;
    background: linear-gradient(90deg, #FBFBFB 0%, #EEE 98.59%);
  }
  .css-section1::after {
    content: "";
    width: 100%;
    height: 60px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
  }
  .feature-section {
    position: relative;
    z-index: 1;
  }
  .feature-section__inner {
    padding: 60px 0 0 0;
  }
  .feature-section__title {
    font-family: Quicksand;
    font-size: max(24px, min(3vw, 48px));
    margin-bottom: 32px;
  }
  .feature-section__title::before {
    content: attr(data-en);
    display: block;
    color: #716D69;
    font-size: max(14px, min(3vw, 18px));
    margin: 0 0 10px 0;
  }
  .feature-section__list {
    counter-reset: number 0;
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 1em;
  }
  .feature-section__list li {
    font-size: max(14px, min(3vw, 16px));
    font-weight: 700;
    line-height: 1.6;
    display: flex;
    gap: 16px;
  }
  .feature-section__list li::before {
    counter-increment: number 1;
    content: counter(number);
    display: grid;
    place-content: center;
    font-family: Quicksand;
    font-size: 14px;
    font-weight: 700;
    color: #716D69;
    background: rgba(123, 141, 178, 0.14);
    min-width: 32px;
    height: 32px;
    border-radius: 999px;
  }
  .feature-section__list li:hover::before {
    background: #716D69;
    color: #fff;
  }
  .feature-section__list a {
    color: #2B3432;
    text-decoration: none;
  }
  .feature-section__img {
    max-width: 500px;
    margin: 0 auto;
    padding: 24px 0 0 0;
  }
  .section2-title {
    font-size: max(16px, min(3vw, 18px));
    font-weight: 600;
    line-height: 1.6;
  }
  .section2-txt {
    margin: 1em 0;
  }
  p.section2-note {
    font-size: 12px;
  }
  p.section2-note.text-right {
    text-align: right;
  }
  .section2-image-box {
    padding: 24px 0;
  }
  .section2-image-item:nth-of-type(2) {
    padding: 60px 0 0 0;
  }
}
@media screen and (max-width: 767px) and (max-width: 599px) {
  .section2-image-item:nth-of-type(2) {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .css-section3 {
    background: #F5F5F5;
  }
  .css-section4 {
    background: #FBFBFB;
  }
  .section4-txt {
    margin: 0 0 1em 0;
  }
  p.section4-note {
    font-size: 10px;
    margin: 4em 0;
  }
  .section4-image-box {
    max-width: 470px;
  }
  .section5-title {
    font-size: max(16px, min(3vw, 18px));
    margin-bottom: 1em;
  }
  .section5-image-box1,
  .section5-image-box2 {
    padding: 24px 0 0 0;
  }
  .section5-image-box2 {
    max-width: 317px;
    margin: 0 auto;
  }
  .section5-note {
    font-size: 12px;
    display: block;
    margin-top: 0.5em;
  }
}
@media screen and (max-width: 767px) and (max-width: 599px) {
  .section5-image-item:first-of-type {
    padding-bottom: 24px;
  }
}
@media screen and (max-width: 767px) {
  .css-section6 {
    background: #FBFBFB;
  }
  .section6-title {
    font-size: max(16px, min(3vw, 18px));
    margin-bottom: 1em;
  }
  .section6-image-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px 60px;
  }
  .section6-image-box1 {
    max-width: 300px;
    margin: 0 auto;
  }
  .point-container {
    background: #FFF;
    border: 1px solid #716D69;
    padding: 15px;
  }
  .point-title {
    font-family: "Quicksand", sans-serif;
    color: #716D69;
    margin: 0 0 0.8em 0;
    display: flex;
    align-items: center;
    gap: 14px;
  }
  .point-title::before {
    content: "";
    display: block;
    min-width: 20px;
    height: 20px;
    background: url(./../images/icon-point.svg) no-repeat center/contain;
  }
  .section6-image-box2 {
    margin: 8px 0 0 0;
  }
  .section7-title {
    font-size: max(16px, min(3vw, 18px));
    margin-bottom: 1em;
  }
  .section7-image-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px 60px;
    padding: 32px 0 0 0;
  }
  .section7-image-box1 {
    max-width: 300px;
    margin: 0 auto;
  }
  .section7-image-box2 {
    margin: 8px 0 0 0;
  }
  .css-section8 {
    background: linear-gradient(90deg, #FBFBFB 0%, #EEE 98.59%);
  }
  .section8-txt {
    margin: 0 0 2em 0;
  }
  .section8-image-container {
    display: grid;
    grid-template-columns: 1fr;
    align-items: center;
    gap: 24px 60px;
    max-width: 300px;
    margin: 0 auto;
  }
  p.section8-note {
    font-size: 10px;
    margin: 1.5em 0 0 0;
  }
  .section8-image-box2 {
    margin: 8px 0 0 0;
  }
  .css-bottom-section .products-section {
    padding: 40px 0 0 0;
  }
  .css-bottom-section .feature-section__title {
    text-align: center;
  }
  .css-bottom-section .topics-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 60px;
    padding-bottom: 40px;
  }
  .css-bottom-section p.topic-title {
    font-size: 18px;
    font-weight: 600;
    margin: 0.8em 0 1.5em 0;
  }
  .css-bottom-section .topic-btn-container {
    max-width: 260px;
    margin: 0 auto;
  }
  .css-bottom-section .topic-btn-container .topic-btn {
    display: block;
    font-size: 18px;
    font-weight: 600;
    color: #716D69;
    text-decoration: none;
    border-radius: 999px;
    border: 1px solid #716D69;
    padding: 0.8em 1em;
    text-align: center;
  }
  .bottom-container {
    background: #FBFBFB;
    padding: 40px 0;
  }
  .bottom-container .product-box {
    position: relative;
    background: #F1F1F1;
    padding: 0 24px 32px 24px;
  }
  .bottom-container .product-image {
    max-width: 460px;
    margin: 0 auto;
    padding: 0 0 24px 0;
  }
  .bottom-container .product-name {
    font-size: max(24px, min(3vw, 40px));
    font-weight: 700;
    text-align: center;
    margin: 0 0 1em 0;
  }
  .bottom-container .product-link {
    display: flex;
    flex-direction: column;
    gap: 16px 24px;
    max-width: 460px;
    margin: 0 auto;
  }
  .bottom-container .link-btn {
    font-size: max(16px, min(3vw, 20px));
    font-weight: 600;
    color: #716D69;
    text-align: center;
    border-radius: 999px;
    border: 1px solid #716D69;
    background: #FFF;
    text-decoration: none;
    padding: 0.8em 1.6em;
    width: max-content;
    display: grid;
    align-items: center;
    width: 100%;
  }
  .bottom-container .link-btn--catalog {
    color: #fff;
    background: #716D69;
  }
}
