@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td {
  padding: 0;
  margin: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
  border: 0;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

ol,
ul {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  padding: 0;
  margin: 0;
  font: inherit;
  cursor: pointer;
  background: transparent;
  border: none;
  -webkit-box-shadow: none;
          box-shadow: none;
}

input,
select,
textarea {
  font: inherit;
  color: inherit;
  vertical-align: top;
}

/* ===============================
   Global Variables
   =============================== */
/* ---------------------------------
  CSS Variables (テーマ・デザイン系)
--------------------------------- */
/* color */
/* font */
/* font-size */
/* layout */
/* header */
/* transition */
/* ---------------------------------
  Sass Variables (構造・レイヤー系)
--------------------------------- */
table {
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: separate;
  border: none;
}

th,
td {
  font-weight: normal;
  text-align: left;
}

caption {
  text-align: left;
}

/* 位置のreset */
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  top: unset;
  right: unset;
  bottom: unset;
  left: unset;
  padding: 0;
  margin: 0;
}

/* =============================
   ナビゲーションボタン
============================= */
/* デフォルトのボタンを初期化 */
.swiper-button-prev::after,
.swiper-button-next::after {
  content: ""; /* デフォルトのものを初期化 */
}

/* 各ボタンのカスタマイズ */
/* =============================
   ページネーション (bullets)
============================= */
/* 位置の設定 (枠組み) */
/* それぞれのページネーション */
.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  width: 16px;
  height: auto;
  aspect-ratio: 1;
  margin-inline: 10px;
  background: #ff5b22;
  border-radius: 50%;
  opacity: 0.3;
}

/* activeな部分 */
.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
  opacity: 1;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 72px;
}
@media screen and (min-width: 768px) {
  html {
    scroll-padding-top: 90px;
  }
}

body {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-size: 14px;
  font-weight: 400;
  background: #fff;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 16px;
  }
}
body.is-open {
  overflow: hidden;
}

em {
  font-style: inherit;
}

figure {
  margin: 0;
}

picture {
  display: block;
}

summary {
  display: block;
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}
@media (any-hover: hover) {
  summary:hover {
    cursor: pointer;
  }
}

.l-inner {
  max-width: 1250px;
  padding-inline: min(6.106870229%, 40px);
  margin-inline: auto;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  height: 72px;
  padding-block: 12.5px;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .l-header {
    height: 90px;
    padding-block: 25px;
  }
}

.l-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1440px;
}
@media screen and (min-width: 768px) {
  .l-header__inner {
    padding-inline: 20px;
  }
}

.l-header__logo-img {
  width: 127px;
}
@media screen and (min-width: 768px) {
  .l-header__logo-img {
    width: 315px;
  }
}
.l-header__logo-img img {
  width: 100%;
}

.l-header__nav {
  display: none;
}
@media screen and (min-width: 1400px) {
  .l-header__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: end;
  }
}

.l-header__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 31px;
     -moz-column-gap: 31px;
          column-gap: 31px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-inline: 19px;
  border: 1px solid #3939ff;
  border-radius: 100vmax;
  -webkit-box-shadow: 6px 6px 0 0 #d3ff33;
          box-shadow: 6px 6px 0 0 #d3ff33;
}

.l-header__list-item {
  font-family: "Manrope", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.643;
  color: #191919;
  letter-spacing: 0.025em;
}
.l-header__list-item a {
  display: inline-block;
  padding-block: 7px;
  font-weight: inherit;
}

.l-header__icon-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 42px;
     -moz-column-gap: 42px;
          column-gap: 42px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-margin-end: 75px;
          margin-inline-end: 75px;
}
@media screen and (min-width: 768px) {
  .l-header__icon-list {
    -webkit-column-gap: 20px;
       -moz-column-gap: 20px;
            column-gap: 20px;
    -webkit-margin-end: 60px;
            margin-inline-end: 60px;
  }
}
@media screen and (min-width: 1400px) {
  .l-header__icon-list {
    -webkit-margin-end: 6px;
            margin-inline-end: 6px;
  }
}

.l-header__icon-list-item--search,
.l-header__icon-list-item--login,
.l-header__icon-list-item--heart,
.l-header__icon-list-item--bag {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-header__icon-list-item--search,
  .l-header__icon-list-item--login,
  .l-header__icon-list-item--heart,
  .l-header__icon-list-item--bag {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .l-header__icon-list-item--login-blue,
  .l-header__icon-list-item--bag-blue {
    display: none;
  }
}

.l-drawer-menu {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 35;
  width: 278px;
  height: 100vh;
  height: 100svh;
  overflow-y: scroll;
  background: #d3ff33;
  -webkit-transition: translate 0.3s ease;
  transition: translate 0.3s ease;
  translate: 101%;
}
.l-drawer-menu.is-open {
  translate: 0;
}

.l-drawer-menu__body {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding-block: 88px 40px;
  padding-left: 34px;
}

.l-drawer-menu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 32px;
}
.l-drawer-menu__button {
  -webkit-margin-before: 40px;
          margin-block-start: 40px;
}

.l-main {
  margin-top: 72px;
}
@media screen and (min-width: 768px) {
  .l-main {
    margin-top: 90px;
  }
}

.l-section {
  position: relative;
}

.l-section__inner {
  position: relative;
}

.l-section__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.l-section__heading-wrapper {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.l-section__bg {
  position: absolute;
  inset: 0;
  z-index: -10;
}
.l-section__bg img {
  width: 100%;
  height: 100%;
}

.l-footer {
  -webkit-padding-before: 31px;
          padding-block-start: 31px;
  background: #3939ff;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding-block: 60px 20px;
  }
}

.l-footer__inner {
  position: relative;
  max-width: 1120px;
}

.l-footer__content {
  display: grid;
  grid-template-areas: "nav sns" "nav sns" "logo logo";
  grid-template-columns: auto -webkit-max-content;
  grid-template-columns: auto max-content;
  row-gap: 10px;
}
@media screen and (min-width: 768px) {
  .l-footer__content {
    grid-template-areas: "logo spacer-center nav space" "sns spacer-center nav space";
    grid-template-rows: 50px auto;
    grid-template-columns: auto 25.9615384615% auto 4.5192307692%;
    row-gap: 20px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}

.l-footer__nav-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  grid-area: nav;
}
@media screen and (min-width: 768px) {
  .l-footer__nav-area {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 60px;
       -moz-column-gap: 60px;
            column-gap: 60px;
    -webkit-margin-start: auto;
            margin-inline-start: auto;
  }
}

.l-footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 10px;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .l-footer__nav {
    padding: 0;
  }
}

.l-footer__nav-item {
  line-height: 1.8;
  color: #fff;
}

.l-footer__nav-item--main {
  font-size: 12px;
  font-weight: 500;
}
.l-footer__nav-item--main:first-of-type {
  font-size: 16px;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .l-footer__nav-item--main:first-of-type {
    font-size: 14px;
    font-weight: 400;
    line-height: 2.143;
  }
}

.l-footer__nav-item--sub {
  font-size: 10px;
  font-weight: 400;
}

@media screen and (min-width: 768px) {
  .l-footer__nav-item--main,
  .l-footer__nav-item--sub {
    font-size: 14px;
    font-weight: 400;
    line-height: 2.143;
  }
}

.l-footer__sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  grid-area: sns;
  -webkit-column-gap: 5px;
     -moz-column-gap: 5px;
          column-gap: 5px;
  align-self: start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-margin-before: 9px;
          margin-block-start: 9px;
}
@media screen and (min-width: 768px) {
  .l-footer__sns-list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}

.l-footer__sns-list-item a {
  display: inline-block;
}

.l-footer__logo {
  grid-area: logo;
  align-self: start;
  text-align: center;
}
.l-footer__logo img {
  width: 209px;
}
@media screen and (min-width: 768px) {
  .l-footer__logo img {
    width: 401px;
  }
}

.l-footer__spacer {
  display: none;
  grid-area: space;
}
@media screen and (min-width: 768px) {
  .l-footer__spacer {
    display: block;
  }
}

.l-footer__spacer-center {
  display: none;
  grid-area: spacer-center;
}
@media screen and (min-width: 768px) {
  .l-footer__spacer-center {
    display: block;
  }
}

.l-footer__copy-right {
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-footer__copy-right {
    -webkit-margin-before: 48px;
            margin-block-start: 48px;
  }
}

.l-footer__copy-right-text {
  font-family: "Manrope", sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: 3;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .l-footer__copy-right-text {
    font-size: 12px;
  }
}

.l-footer__deco {
  position: absolute;
  top: -41%;
  right: 9%;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}
@media screen and (min-width: 768px) {
  .l-footer__deco {
    top: -65%;
    right: 0;
    -webkit-transform: none;
            transform: none;
  }
}
@media screen and (min-width: 1400px) {
  .l-footer__deco {
    right: -6.2%;
  }
}
.l-footer__deco img {
  width: clamp(2.1875rem, 0.428008596rem + 7.1633237822vw, 6.875rem);
}

.c-button {
  display: inline-block;
  padding-block: calc(0.46875em - 4px);
  padding-inline: calc(2.5em - 4px);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  border-radius: 100vmax;
  -webkit-box-shadow: 4px 4px 0 0 #d3ff33;
          box-shadow: 4px 4px 0 0 #d3ff33;
  -webkit-transition: translate 0.3s, -webkit-box-shadow 0.3s;
  transition: translate 0.3s, -webkit-box-shadow 0.3s;
  transition: translate 0.3s, box-shadow 0.3s;
  transition: translate 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;
}
@media screen and (min-width: 768px) {
  .c-button {
    padding-block: calc(0.6666666667em - 4px);
    padding-inline: calc(2.6666666667em - 4px);
    font-size: 24px;
    -webkit-box-shadow: 10px 10px 0 0 #d3ff33;
            box-shadow: 10px 10px 0 0 #d3ff33;
  }
}
@media (any-hover: hover) {
  .c-button:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    translate: 10px 10px;
  }
}
.c-button:focus-visible {
  -webkit-box-shadow: none;
          box-shadow: none;
  translate: 10px 10px;
}

.c-button--main {
  color: #3939ff;
  background: #fff;
  border: 4px solid currentcolor;
}

.c-button--sub {
  color: #fff;
  background: #18a965;
  border: 4px solid #18a965;
}

.c-drawer-button {
  position: fixed;
  top: 25px;
  right: 24px;
  z-index: 40;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 44px;
  height: 22px;
}
@media screen and (min-width: 768px) {
  .c-drawer-button {
    top: 35px;
  }
}
@media screen and (min-width: 1400px) {
  .c-drawer-button {
    display: none;
  }
}
.c-drawer-button.is-open .c-drawer-button__bar:nth-of-type(1) {
  rotate: 45deg;
  translate: 0 8.5px;
}
.c-drawer-button.is-open .c-drawer-button__bar:nth-of-type(2) {
  display: none;
}
.c-drawer-button.is-open .c-drawer-button__bar:nth-of-type(3) {
  rotate: -45deg;
  translate: 0 -8.5px;
}

.c-drawer-button__bar {
  display: inline-block;
  width: 34px;
  height: 4px;
  background: #3939ff;
  -webkit-transition: rotate 0.3s, translate 0.3s;
  transition: rotate 0.3s, translate 0.3s;
}

.c-title-ja {
  font-size: clamp(1rem, 0.7184813754rem + 1.1461318052vw, 1.75rem);
  font-weight: 700;
  line-height: 180%;
  color: #3939ff;
}
@media screen and (min-width: 768px) {
  .c-title-ja {
    line-height: 1.4;
  }
}

.c-title-ja--white {
  color: #fff;
}

.c-title-en {
  text-align: center;
}

.c-card {
  background: #fff;
  border: 4px solid #ff5b22;
  -webkit-box-shadow: 4px 4px 0 0 #ff5b22;
          box-shadow: 4px 4px 0 0 #ff5b22;
}
@media screen and (min-width: 768px) {
  .c-card {
    -webkit-box-shadow: 10px 10px 0 0 #ff5b22;
            box-shadow: 10px 10px 0 0 #ff5b22;
  }
}

.c-card__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  padding: 11px 18px 6px;
}
@media screen and (min-width: 768px) {
  .c-card__inner {
    padding: 20px;
  }
}

.c-card__body {
  display: grid;
  place-items: center;
  -webkit-margin-before: 7px;
          margin-block-start: 7px;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .c-card__body {
    -webkit-margin-before: 27px;
            margin-block-start: 27px;
  }
}

.c-card__title,
.c-card__price {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1; /* ← 行数指定（1行だけ表示） */
  -webkit-box-orient: vertical;
}

.c-card__title {
  font-weight: inherit;
  line-height: 1.8;
}

.c-card__price {
  font-size: 14px;
  font-weight: inherit;
  line-height: 1.8;
  color: #3939ff;
}
@media screen and (min-width: 768px) {
  .c-card__price {
    font-size: 24px;
    line-height: 1.4;
  }
}

.c-card__img {
  margin-inline: auto;
}
.c-card__img img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.c-category-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-category-icon img {
  max-width: 100px;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  background: #fff;
  border-radius: 50%;
}
@media screen and (min-width: 576px) {
  .c-category-icon img {
    max-width: 160px;
  }
}
@media screen and (min-width: 768px) {
  .c-category-icon img {
    max-width: 200px;
  }
}

.c-category-icon__text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .c-category-icon__text {
    font-size: 24px;
  }
}

.p-fv {
  padding-block: 30px 0;
}
@media screen and (min-width: 768px) {
  .p-fv {
    padding-block: 0;
  }
}

.p-fv__swiper {
  position: relative;
  -webkit-padding-after: 40px;
          padding-block-end: 40px;
}
.p-fv__swiper .swiper-pagination {
  bottom: -3px;
  left: 0;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-fv__swiper .swiper-pagination {
    display: none;
  }
}

.p-fv__swiper-wrapper {
  -webkit-padding-after: 10px;
          padding-block-end: 10px;
}

.p-fv__swiper-slide {
  max-width: 339px;
  height: 380px;
  background: #f3f6fd;
  border: 4px solid #3939ff;
  border-radius: 8px;
  -webkit-box-shadow: 4px 4px 0 0 #3939ff;
          box-shadow: 4px 4px 0 0 #3939ff;
}
@media screen and (min-width: 768px) {
  .p-fv__swiper-slide {
    max-width: 825px;
    height: 547px;
    border: none;
    border-radius: 20px;
    -webkit-box-shadow: 10px 10px 0 0 #3939ff;
            box-shadow: 10px 10px 0 0 #3939ff;
  }
}

.p-fv__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center bottom;
     object-position: center bottom;
}

.p-popular {
  z-index: 2;
  padding-block: 70px 4px;
}
@media screen and (min-width: 768px) {
  .p-popular {
    padding-block: 40px 0;
  }
}

.p-popular__heading {
  row-gap: 10px;
}
@media screen and (min-width: 768px) {
  .p-popular__heading {
    row-gap: 0;
  }
}

.p-popular__title-en img {
  width: clamp(10.049125rem, -3.4558864613rem + 54.982234957vw, 46.028125rem);
}

.p-popular__card-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 31px 10px;
  padding: 16px 6.5px;
  -webkit-margin-before: 17px;
          margin-block-start: 17px;
}
@media screen and (min-width: 768px) {
  .p-popular__card-list {
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 2.752293578%;
       -moz-column-gap: 2.752293578%;
            column-gap: 2.752293578%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    max-width: 1090px;
    -webkit-margin-before: 24px;
            margin-block-start: 24px;
    margin-inline: auto;
  }
}

@media screen and (min-width: 768px) {
  .p-popular__card-list-item:last-of-type {
    display: none;
  }
}

.p-popular__card {
  min-height: 199px;
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .p-popular__card {
    border-radius: 28px;
  }
}

.p-popular__heading-deco-girl,
.p-popular__heading-deco-stick {
  position: absolute;
}

.p-popular__heading-deco-girl {
  top: -46%;
  left: -45%;
}
@media screen and (min-width: 768px) {
  .p-popular__heading-deco-girl {
    top: -31%;
    left: -31%;
    rotate: -16deg;
  }
}
.p-popular__heading-deco-girl img {
  width: clamp(3.75rem, 0.840974212rem + 11.8433619866vw, 11.5rem);
}

.p-popular__heading-deco-stick img {
  width: clamp(2.25rem, 0.7251074499rem + 6.2082139446vw, 6.3125rem);
}

.p-popular__heading-deco-stick--01 {
  top: -14%;
  right: -27%;
  rotate: -26deg;
}
@media screen and (min-width: 768px) {
  .p-popular__heading-deco-stick--01 {
    top: -8%;
    right: -21%;
    rotate: -5deg;
  }
}

.p-popular__heading-deco-stick--02 {
  top: 22%;
  right: -39%;
  rotate: 10deg;
}
@media screen and (min-width: 768px) {
  .p-popular__heading-deco-stick--02 {
    top: 42%;
    right: -23%;
    rotate: 30deg;
  }
}

@media screen and (min-width: 768px) {
  .p-popular__bg {
    z-index: -11;
  }
}
.p-popular__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

.p-feature {
  position: relative;
  z-index: 1;
  padding-block: 30px 33px;
  padding-inline: 24px;
  background: #d3ff33;
}
@media screen and (min-width: 768px) {
  .p-feature {
    padding-block: 160px;
    background: #fff;
  }
}

.p-feature__inner {
  max-width: 1266px;
  padding-inline: 0;
  background: #e1ffff;
  border: 4px solid #3939ff;
  border-radius: 8px;
  -webkit-box-shadow: 4px 4px 0 0 #3939ff;
          box-shadow: 4px 4px 0 0 #3939ff;
}
@media screen and (min-width: 768px) {
  .p-feature__inner {
    padding: 61px 82px 43px;
    border: 5px solid #3939ff;
    border-radius: 24px;
    -webkit-box-shadow: 10px 10px 0 0 #3939ff;
            box-shadow: 10px 10px 0 0 #3939ff;
  }
}

.p-feature__heading {
  -webkit-margin-before: 26px;
          margin-block-start: 26px;
}
@media screen and (min-width: 768px) {
  .p-feature__heading {
    row-gap: 6px;
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}

.p-feature__title-en img {
  width: clamp(19.1875rem, 11rem + 33.3333333333vw, 41rem);
}

.p-feature__card-list {
  position: relative;
  display: grid;
  gap: 20px;
  width: calc(100% + 8px);
  -webkit-margin-before: 16px;
          margin-block-start: 16px;
  -webkit-margin-start: -4px;
          margin-inline-start: -4px;
}
@media screen and (min-width: 768px) {
  .p-feature__card-list {
    gap: 24px;
    -webkit-margin-before: 27px;
            margin-block-start: 27px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .p-feature__card-list {
    grid-template-columns: repeat(4, 1fr);
  }
}

.p-feature__card-list-item {
  position: sticky;
}
@media screen and (min-width: 768px) {
  .p-feature__card-list-item {
    position: relative;
  }
}
.p-feature__card-list-item:nth-of-type(1) {
  top: 72px;
}
@media screen and (min-width: 768px) {
  .p-feature__card-list-item:nth-of-type(1) {
    top: 0;
  }
}
.p-feature__card-list-item:nth-of-type(2) {
  top: 150px;
}
@media screen and (min-width: 768px) {
  .p-feature__card-list-item:nth-of-type(2) {
    top: 0;
  }
}
.p-feature__card-list-item:nth-of-type(3) {
  top: 228px;
}
@media screen and (min-width: 768px) {
  .p-feature__card-list-item:nth-of-type(3) {
    top: 0;
  }
}
.p-feature__card-list-item:nth-of-type(4) {
  top: 306px;
}
@media screen and (min-width: 768px) {
  .p-feature__card-list-item:nth-of-type(4) {
    top: 0;
  }
}

.p-feature__card {
  padding-block: 22px 37px;
  background: #fff;
  border: 4px solid #3939ff;
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .p-feature__card {
    padding-block: 22px;
    border: none;
    border-radius: 20px;
  }
}

.p-feature__card-inner {
  padding-inline: 20px;
}

.p-feature__card-tag {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 98px;
  padding-inline: 1em;
  margin-inline: auto;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
  background: #d3ff33;
  border-radius: 100vmax;
}
@media screen and (min-width: 768px) {
  .p-feature__card-tag {
    min-width: 85px;
    margin-inline: 0;
  }
}

.p-feature__card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .p-feature__card-content {
    -webkit-margin-before: 8px;
            margin-block-start: 8px;
  }
}

.p-feature__card-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 8px;
  -webkit-margin-before: 8px;
          margin-block-start: 8px;
}
@media screen and (min-width: 768px) {
  .p-feature__card-body {
    -webkit-margin-before: 9px;
            margin-block-start: 9px;
  }
}

.p-feature__card-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.8;
  color: #3939ff;
  text-align: center;
}

.p-feature__card-text {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
}

.p-feature__card-img {
  width: 160px;
  height: 160px;
  margin-inline: auto;
  background: #f3f6fd;
  border-radius: 50%;
}

.p-feature__bg {
  inset: -20% 0 0;
  z-index: -10;
  display: none;
}
@media screen and (min-width: 768px) {
  .p-feature__bg {
    display: block;
  }
}
.p-product {
  z-index: 1;
  padding-block: 33px 48px;
}
@media screen and (min-width: 768px) {
  .p-product {
    padding-block: 9px 75px;
  }
}
.p-product::before {
  position: absolute;
  inset: 0 0 50%;
  z-index: -10;
  content: "";
  background: #d3ff33;
}
.p-product::after {
  position: absolute;
  inset: 50% 0 0;
  z-index: -11;
  content: "";
  background: #fcfef1;
}

.p-product__title-en img {
  width: clamp(10.5625rem, -3.020773639rem + 55.3008595989vw, 46.75rem);
}

.p-product__deco-girl {
  position: absolute;
  top: -38%;
  right: -26%;
}
@media screen and (min-width: 768px) {
  .p-product__deco-girl {
    top: -41%;
    right: -23%;
  }
}
.p-product__deco-girl img {
  width: clamp(2.1875rem, -0.0411891117rem + 9.0735434575vw, 8.125rem);
}

.p-product__deco-pc {
  position: absolute;
  top: 38%;
  left: -51%;
}
@media screen and (min-width: 768px) {
  .p-product__deco-pc {
    top: 13%;
    left: -40%;
  }
}
.p-product__deco-pc img {
  width: clamp(4.6875rem, 1.0746776504rem + 14.7086914995vw, 14.3125rem);
}

.p-product__deco-camera {
  position: absolute;
  top: 36%;
  right: -51%;
}
@media screen and (min-width: 768px) {
  .p-product__deco-camera {
    top: 20%;
    right: -45%;
  }
}
.p-product__deco-camera img {
  width: clamp(3.5rem, 0.1217765043rem + 13.7535816619vw, 12.5rem);
}

.p-product__tab-button-list {
  display: grid;
  grid-template-columns: repeat(2, 160px);
  gap: 20px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  justify-items: center;
  -webkit-margin-before: 32px;
          margin-block-start: 32px;
}
@media screen and (min-width: 576px) {
  .p-product__tab-button-list {
    grid-template-columns: repeat(3, auto);
  }
}
@media screen and (min-width: 768px) {
  .p-product__tab-button-list {
    -webkit-margin-before: 119px;
            margin-block-start: 119px;
  }
}
@media screen and (min-width: 1200px) {
  .p-product__tab-button-list {
    grid-template-columns: repeat(5, auto);
  }
}

.p-product__tab-button[aria-selected=true] img {
  background: #d3ff33;
}

.p-product__tabs {
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}
@media screen and (min-width: 768px) {
  .p-product__tabs {
    -webkit-margin-before: 87px;
            margin-block-start: 87px;
  }
}

.p-product__tab {
  height: 0;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease, translate 0.3s ease;
  transition: opacity 0.3s ease, translate 0.3s ease;
  translate: 20px 0;
}
.p-product__tab.js-show {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  visibility: visible;
  opacity: 1;
  translate: 0;
}

.p-product__tab-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 5px 15px;
  margin-inline: auto;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  background: #fff;
  border: 5px solid #d3ff33;
  border-radius: 16px;
  -webkit-box-shadow: 4px 4px 0 0 #d3ff33;
          box-shadow: 4px 4px 0 0 #d3ff33;
}
@media screen and (min-width: 768px) {
  .p-product__tab-title {
    display: none;
  }
}

.p-product__card-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 10px;
  max-width: 1110px;
  padding-inline: 6.5px;
  -webkit-margin-before: 30px;
          margin-block-start: 30px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-product__card-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    padding-inline: 0;
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}
@media screen and (min-width: 1200px) {
  .p-product__card-list {
    grid-template-columns: repeat(4, 1fr);
  }
}

.p-product__card-list-item:nth-of-type(n + 5) {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-product__card-list-item:nth-of-type(n + 5):nth-of-type(-n + 6) {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .p-product__card-list-item:nth-of-type(n + 7) {
    display: none;
  }
}
@media screen and (min-width: 768px) and (min-width: 1200px) {
  .p-product__card-list-item:nth-of-type(n + 7) {
    display: block;
  }
}

.p-product__card {
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .p-product__card {
    border-radius: 16px;
  }
}

@media screen and (min-width: 768px) {
  .p-product__card-body {
    -webkit-margin-before: 24px;
            margin-block-start: 24px;
  }
}

.p-product__button {
  -webkit-margin-before: 31px;
          margin-block-start: 31px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-product__button {
    -webkit-margin-before: 64px;
            margin-block-start: 64px;
  }
}

.p-product__bg {
  inset: 4% 0 0;
}
@media screen and (min-width: 768px) {
  .p-product__bg {
    inset: 4.7% 0 -6.5%;
  }
}
.p-product__bg img {
  -o-object-fit: fill;
     object-fit: fill;
  -o-object-position: center;
     object-position: center;
}

.p-product__bg-deco {
  z-index: -9;
}
.p-product__bg-deco img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-flow {
  padding-block: 69px 20px;
  background: #fcfef1;
}
@media screen and (min-width: 768px) {
  .p-flow {
    padding-block: 0 100px;
  }
}

.p-flow__heading-wrapper {
  z-index: 1;
}

.p-flow__heading {
  row-gap: 20px;
}
@media screen and (min-width: 768px) {
  .p-flow__heading {
    row-gap: 84px;
  }
}

.p-flow__title-en img {
  width: clamp(5.5625rem, -2.8126790831rem + 34.0974212034vw, 27.875rem);
}

.p-flow__heading-deco {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-flow__heading-deco {
    position: absolute;
    top: -4%;
    left: -56%;
    display: block;
  }
}
.p-flow__heading-deco img {
  width: clamp(6.25rem, -0.8214285714rem + 14.7321428571vw, 12.4375rem);
}

.p-flow__swiper-outer {
  display: block;
  -webkit-margin-before: 59px;
          margin-block-start: 59px;
}
@media screen and (min-width: 768px) {
  .p-flow__swiper-outer {
    display: none;
  }
}

.p-flow__swiper {
  position: relative;
  -webkit-padding-after: 51px;
          padding-block-end: 51px;
}
.p-flow__swiper .swiper-pagination {
  bottom: 0;
  left: 0;
  width: 100%;
}
.p-flow__swiper .swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  background: #3939ff;
}

.p-flow__swiper-slide-card {
  padding-block: 18px;
  padding-inline: 7px;
  background: #fff;
  border-radius: 8px;
}

.p-flow__swiper-slide-card-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-padding-start: 8px;
          padding-inline-start: 8px;
}

.p-flow__swiper-slide-card-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 20px;
}

.p-flow__swiper-slide-card-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: -38px;
          margin-block-start: -38px;
  font-weight: 700;
  line-height: 1.8;
}

.p-flow__swiper-slide-card-title {
  -webkit-margin-before: -13px;
          margin-block-start: -13px;
  font-size: 16px;
  font-weight: inherit;
  color: #3939ff;
}

.p-flow__swiper-slide-card-number {
  font-size: 40px;
  font-weight: inherit;
  line-height: 1.8; /* 72px */
  color: #ff5b22;
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: #fff;
}

.p-flow__swiper-slide-card-text {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.8;
  color: #191919;
}

.p-flow__swiper-slide-card-img {
  text-align: center;
}
.p-flow__swiper-slide-card-img img {
  width: 120px;
  height: 120px;
  background: #ff5b22;
  border-radius: 50%;
}

.p-flow__list {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-flow__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 73px;
    padding-inline: 30px;
    -webkit-margin-before: 73px;
            margin-block-start: 73px;
  }
}

.p-flow__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 24px;
     -moz-column-gap: 24px;
          column-gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-flow__list-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 12px;
}

.p-flow__list-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  row-gap: 10px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}

.p-flow__list-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.8;
  color: #3939ff;
}

.p-flow__list-number {
  font-size: 24px;
  font-weight: inherit;
  background: -webkit-gradient(linear, left top, right top, from(#dbb8ff), to(#ff5b22));
  background: linear-gradient(90deg, #dbb8ff 0%, #ff5b22 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.p-flow__list-img {
  text-align: center;
}
.p-flow__list-img img {
  width: 200px;
  height: 200px;
  background: #ff5b22;
  border-radius: 50%;
}

.p-caution__wrapper {
  -webkit-margin-before: 34px;
          margin-block-start: 34px;
}
@media screen and (min-width: 768px) {
  .p-caution__wrapper {
    -webkit-margin-before: 0;
            margin-block-start: 0;
  }
}

.p-caution {
  padding-block: 30px;
}
@media screen and (min-width: 768px) {
  .p-caution {
    padding-block: 220px 160px;
  }
}

.p-caution__inner {
  max-width: 1378px;
}

.p-caution__content {
  position: relative;
  padding: 16px 14px 7.5%;
  background: #fef6f4;
  border: 5px solid #ff5b22;
  border-radius: 8px;
  -webkit-box-shadow: 4px 4px 0 0 #ff5b22;
          box-shadow: 4px 4px 0 0 #ff5b22;
}
@media screen and (min-width: 768px) {
  .p-caution__content {
    padding: 0 84px 109px;
    border-radius: 28px;
    -webkit-box-shadow: 10px 10px 0 0 #ff5b22;
            box-shadow: 10px 10px 0 0 #ff5b22;
  }
}

@media screen and (min-width: 768px) {
  .p-caution__heading-wrapper {
    -webkit-margin-before: -10%;
            margin-block-start: -10%;
  }
}

.p-caution__heading {
  row-gap: 12px;
}
@media screen and (min-width: 768px) {
  .p-caution__heading {
    row-gap: 30px;
  }
}
@media screen and (min-width: 1200px) {
  .p-caution__heading {
    row-gap: 66px;
  }
}

.p-caution__title-en img {
  width: clamp(10.75rem, -1.2258022923rem + 48.7564469914vw, 42.655rem);
}

.p-caution__heading-deco {
  position: absolute;
  top: -42%;
  right: -47%;
}
@media screen and (min-width: 768px) {
  .p-caution__heading-deco {
    top: -5%;
    right: -39%;
  }
}
.p-caution__heading-deco img {
  width: clamp(3.9375rem, 0.723495702rem + 13.0850047755vw, 12.5rem);
}

.p-caution__message {
  -webkit-margin-before: 10px;
          margin-block-start: 10px;
}

.p-caution__message-text {
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-caution__message-text {
    font-size: 16px;
    line-height: 1.8;
  }
}

.p-caution__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 30px;
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}
@media screen and (min-width: 768px) {
  .p-caution__list {
    -webkit-margin-before: 62px;
            margin-block-start: 62px;
  }
}

.p-caution__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 10px;
}

.p-caution__list-title {
  position: relative;
  -webkit-padding-start: 1em;
          padding-inline-start: 1em;
  font-weight: 700;
  line-height: 1.8;
  color: #3939ff;
}
@media screen and (min-width: 768px) {
  .p-caution__list-title {
    font-size: 24px;
  }
}
.p-caution__list-title::before {
  position: absolute;
  top: 7px;
  left: 2px;
  width: 0.8em;
  height: 0.8em;
  content: "";
  background: #3939ff;
  border-radius: 50%;
}
@media screen and (min-width: 768px) {
  .p-caution__list-title::before {
    top: 10px;
  }
}

.p-caution__list-text {
  font-size: 12px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-caution__list-text {
    font-size: 16px;
    font-weight: 700;
  }
}

.p-caution__deco-stick {
  position: absolute;
}
.p-caution__deco-stick img {
  width: clamp(2.25rem, 0.2089899713rem + 8.3094555874vw, 7.6875rem);
}

.p-caution__deco-stick--01 {
  right: 8%;
  bottom: -5%;
  rotate: -55deg;
}
@media screen and (min-width: 768px) {
  .p-caution__deco-stick--01 {
    right: 12.4%;
    bottom: 0%;
    rotate: -61deg;
  }
}

.p-caution__deco-stick--02 {
  right: -1.7%;
  bottom: -6.4%;
  rotate: -17deg;
}
@media screen and (min-width: 768px) {
  .p-caution__deco-stick--02 {
    right: 2.7%;
    bottom: -8%;
    rotate: -2deg;
  }
}

.p-caution__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-faq {
  padding-block: 39px 40px;
}
@media screen and (min-width: 768px) {
  .p-faq {
    padding-block: 16px 195px;
  }
}

.p-faq__heading {
  row-gap: 12px;
}
@media screen and (min-width: 768px) {
  .p-faq__heading {
    row-gap: 15px;
  }
}

.p-faq__title-ja {
  font-size: clamp(0.75rem, 0.3746418338rem + 1.5281757402vw, 1.75rem);
}

.p-faq__title-en img {
  width: clamp(5.25rem, -0.5445916905rem + 23.5912129895vw, 20.6875rem);
}

.p-faq__message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 6%;
     -moz-column-gap: 6%;
          column-gap: 6%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-block: 10px;
  -webkit-margin-before: 7px;
          margin-block-start: 7px;
  -webkit-margin-end: 5%;
          margin-inline-end: 5%;
}
@media screen and (min-width: 768px) {
  .p-faq__message {
    -webkit-column-gap: 3.6%;
       -moz-column-gap: 3.6%;
            column-gap: 3.6%;
    padding-block: 0;
    -webkit-margin-before: 9px;
            margin-block-start: 9px;
    -webkit-margin-end: 2%;
            margin-inline-end: 2%;
  }
}

.p-faq__message-text {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-faq__message-text {
    font-size: 24px;
    font-weight: 700;
  }
}

.p-faq__message-img img {
  width: 59px;
}
@media screen and (min-width: 768px) {
  .p-faq__message-img img {
    width: 180px;
  }
}

.p-faq__accordions {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 20px;
  width: 94.2028985507%;
  max-width: 1110px;
  -webkit-margin-before: 23px;
          margin-block-start: 23px;
  margin-inline: auto;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-faq__accordions {
    row-gap: 30px;
    width: 100%;
    -webkit-margin-before: 27px;
            margin-block-start: 27px;
  }
}

.p-faq__accordion-details {
  border: 4px solid #3939ff;
  border-radius: 8px;
  -webkit-box-shadow: 4px 4px 4px 0 #d3ff33;
          box-shadow: 4px 4px 4px 0 #d3ff33;
}
@media screen and (min-width: 768px) {
  .p-faq__accordion-details {
    border-radius: 16px;
    -webkit-box-shadow: 10px 10px 0 0 #d3ff33;
            box-shadow: 10px 10px 0 0 #d3ff33;
  }
}
.p-faq__accordion-details.is-opened .p-faq__accordion-content {
  opacity: 1;
}
.p-faq__accordion-details.is-opened .p-faq__accordion-summary-icon {
  rotate: 180deg;
}

.p-faq__accordion-summary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 6px 7px 8px 5px;
}
@media screen and (min-width: 768px) {
  .p-faq__accordion-summary {
    padding-block: 24px;
    padding-inline: 30px 31px;
  }
}

.p-faq__accordion-summary-text {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-faq__accordion-summary-text {
    font-size: 24px;
    font-weight: 700;
    line-height: 1.8;
  }
}

.p-faq__accordion-summary-icon {
  display: inline-block;
  width: 20px;
  height: 16px;
  -webkit-margin-before: 6px;
          margin-block-start: 6px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #18a965;
  -webkit-transition: rotate 0.3s ease;
  transition: rotate 0.3s ease;
  -webkit-transform-origin: center;
          transform-origin: center;
}
@media screen and (min-width: 768px) {
  .p-faq__accordion-summary-icon {
    width: 26px;
    height: 23px;
    -webkit-margin-before: 8px;
            margin-block-start: 8px;
  }
}

.p-faq__accordion-content {
  height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: height 0.3s ease, opacity 0.3s ease;
  transition: height 0.3s ease, opacity 0.3s ease;
}

.p-faq__button {
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-faq__button {
    -webkit-margin-before: 60px;
            margin-block-start: 60px;
  }
}

.p-faq__bg img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-news {
  padding-block: 30px 48px;
  background: #f3f6fd;
}
@media screen and (min-width: 768px) {
  .p-news {
    padding-block: 80px 112px;
  }
}

.p-news__heading {
  row-gap: 12px;
}
@media screen and (min-width: 768px) {
  .p-news__heading {
    row-gap: 76px;
    -webkit-margin-before: -15.4%;
            margin-block-start: -15.4%;
  }
}

.p-news__title-ja {
  font-size: clamp(0.75rem, 0.3746418338rem + 1.5281757402vw, 1.75rem);
}

.p-news__title-en img {
  width: clamp(7.375rem, -0.7655802292rem + 33.1423113658vw, 29.0625rem);
}

.p-news__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 14px;
  -webkit-margin-before: 22px;
          margin-block-start: 22px;
}
@media screen and (min-width: 768px) {
  .p-news__list {
    row-gap: 0;
    padding-inline: 30px;
    -webkit-margin-before: 29px;
            margin-block-start: 29px;
  }
}

.p-news__list-item {
  display: grid;
  grid-template-areas: "date title" "text text";
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  gap: 12px 10px;
  padding-block: 10px;
}
@media screen and (min-width: 768px) {
  .p-news__list-item {
    grid-template-areas: "date title text";
    grid-template-columns: -webkit-max-content -webkit-max-content 1fr;
    grid-template-columns: max-content max-content 1fr;
    gap: 0 30px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-block: 36px 35px;
    border-top: 1px solid #d9d9d9;
  }
}
.p-news__list-item:not(:last-of-type) {
  border-bottom: 1px solid #dcdddd;
}
@media screen and (min-width: 768px) {
  .p-news__list-item:not(:last-of-type) {
    border-bottom: none;
  }
}

.p-news__list-title,
.p-news__list-date {
  padding-block: 10px;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-news__list-title,
  .p-news__list-date {
    padding-block: 0;
  }
}

.p-news__list-title,
.p-news__list-text {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 1; /* ← 行数指定（1行だけ表示） */
  -webkit-box-orient: vertical;
}

.p-news__list-title {
  grid-area: title;
}
@media screen and (min-width: 768px) {
  .p-news__list-title {
    color: #3939ff;
  }
}

.p-news__list-date {
  grid-area: date;
  font-family: "Noto Sans", sans-serif;
}
@media screen and (min-width: 768px) {
  .p-news__list-date {
    font-size: 14px;
    font-weight: 400;
  }
}

.p-news__list-text {
  grid-area: text;
  font-family: "Noto Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.8;
}

.p-news__button {
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-news__button {
    -webkit-margin-before: 32px;
            margin-block-start: 32px;
  }
}

.u-hidden--sm-down {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-hidden--sm-down {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-hidden--md-up {
    display: none;
  }
}

@media screen and (min-width: 992px) {
  .u-hidden--lg-up {
    display: none;
  }
}

@media screen and (min-width: 1200px) {
  .u-hidden--xl-up {
    display: none;
  }
}

@media screen and (min-width: 1400px) {
  .u-hidden--xx-up {
    display: none;
  }
}