@charset "UTF-8";
*, *::before, *::after {
  margin: 0;
  padding: 0;
  color: inherit;
  border: 0;
  font-size: inherit;
  font-style: normal;
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-decoration: none;
  background: none;
  background-repeat: no-repeat;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: baseline;
}
*:not(:is(:focus-visible)), :not(:is(:focus-visible))::before, :not(:is(:focus-visible))::after {
  outline-style: none;
}

html, body, textarea {
  width: 100%;
}

html {
  -webkit-print-color-adjust: exact;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

ul, li {
  list-style-type: none;
  list-style-position: inside;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th, caption {
  text-align: left;
}

a, button, input[type=button], input[type=submit], select {
  pointer-events: all;
  cursor: pointer;
}

input::-webkit-input-placeholder, select::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  font-size: inherit;
  font-family: inherit;
}

input::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  font-size: inherit;
  font-family: inherit;
}

input:-ms-input-placeholder, select:-ms-input-placeholder, textarea:-ms-input-placeholder {
  font-size: inherit;
  font-family: inherit;
}

input::-ms-input-placeholder, select::-ms-input-placeholder, textarea::-ms-input-placeholder {
  font-size: inherit;
  font-family: inherit;
}

input::placeholder, select::placeholder, textarea::placeholder {
  font-size: inherit;
  font-family: inherit;
}

blockquote::before, blockquote::after, q::before, q::after {
  content: none;
}

img, svg, video, iframe {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

[disabled] {
  pointer-events: none;
  cursor: not-allowed;
}

sub, sup {
  font-size: 0.75em;
}

sub {
  vertical-align: sub;
}

sup {
  vertical-align: super;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

hr {
  border-style: solid;
  border-top-width: 2px;
  display: block;
}

form {
  width: 100%;
}

dialog {
  max-width: initial;
  max-height: initial;
  inset-inline-start: unset;
  inset-inline-end: unset;
  inset-block-start: unset;
  inset-block-end: unset;
}
dialog::-ms-backdrop {
  background-color: rgba(0, 0, 0, 0.25);
}
dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.25);
}

details summary {
  list-style: none;
  outline-style: none;
  cursor: pointer;
}
details summary::-webkit-details-marker {
  display: none;
}

figure {
  margin: 0;
}

/* ブレイクポイント */
/* メディアクエリ */
/* CSS変数でrgbaを設定できるようにする */
:root {
  --font: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "YuGothic", "Yu Gothic", "Arial", "Meiryo", sans-serif;
  --font-serif: "Shippori Mincho", serif;
  --font-an: "Jost", sans-serif;
  --font-an-2: "Montserrat", sans-serif;
  --fontWeight: 400;
  --lineHeight: 1.7;
  --outline-color: var(--color-bk);
  --outline-offset: 0.15em;
  --outline-width: 1px;
  --container: 23.4375rem;
  --space: 1.25rem;
  --header-height: 0;
  --color-text: #26262A;
  --color-bg: #ffffff;
  --color-bg20: #EAE8DC;
  /* white */
  --color-wt: #FFFFFF;
  /* black */
  --color-bk: #000000;
  --grad-bg: linear-gradient(272deg, #D9A0C9 14.82%, #7AC5FF 100%);
  --style-wave:#BB9AC8;
  --style-straight:#28B2B4;
  --style-natural:#C2BAAF;
  --item-blue:#93AEDE;
}

html {
  scroll-padding-top: calc(var(--header-height) - 52px + var(--space));
  scroll-behavior: smooth;
}
html:has(#globalNav[open]) {
  overflow: hidden;
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
}
html {
  font-size: 100%;
}
@media (width <= 440px) {
  html {
    font-size: 4.2666666667vw;
  }
}
html.is-modal-open {
  overflow: hidden;
}

body {
  color: var(--color-text);
  font-size: var(--font-md);
  font-family: var(--font);
  font-weight: var(--fontWeight);
  line-height: var(--lineHeight);
  background-color: var(--color-bg);
  accent-color: var(--color-primary);
  word-wrap: break-word;
  overflow-wrap: break-word;
  position: relative;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}
body *::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
body *::-webkit-scrollbar-thumb {
  background-color: var(--color-primary);
}
body *::-webkit-scrollbar-track {
  background-color: var(--color-gy90);
}

* {
  outline-color: var(--outline-color);
  outline-offset: var(--outline-offset);
  outline-width: var(--outline-width);
  text-decoration-thickness: 1px;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-underline-offset: 0.2em;
}

h1, h2, h3, h4, h5, h6, th {
  font-weight: 700;
}

@media (any-hover: hover) {
  a:is(:focus-visible), button:is(:focus-visible), input[type=button]:is(:focus-visible), input[type=submit]:is(:focus-visible), select:is(:focus-visible) {
    outline-style: solid;
  }
}

.c-button {
  --button_color: var(--color-wt);
  --button_bg: var(--color-primary);
  --arrow_color: var(--button_color);
  --border_color: var(--color-primary);
}

.c-btn-cta {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  min-height: 3.5rem;
  border-radius: 0.5rem;
  text-decoration: none;
  max-width: 18.75rem;
  width: 100%;
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.05rem;
  text-align: center;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}
@media (any-hover: hover) {
  .c-btn-cta:is(a:hover, button:hover) {
    opacity: 0.7;
  }
}
.c-btn-cta {
  position: relative;
}
.c-btn-cta__in {
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.3125rem;
  padding-left: 0.25rem;
}
.c-btn-cta__in span[aria-hidden=true] {
  background: var(--color-text);
  -webkit-mask: url(../img/common/arrow.svg) no-repeat 50% 51%/contain;
          mask: url(../img/common/arrow.svg) no-repeat 50% 51%/contain;
  display: block;
  width: 1rem;
  height: 0.75rem;
}
.c-btn-cta__in span[aria-hidden=true]:is(.c-btn-cta--store *, .c-btn-cta--black *, .c-btn-cta--grad *) {
  background: var(--color-wt);
}
.c-btn-cta__in span[aria-hidden=true]:is(.c-btn-cta--black *) {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 1.3125rem;
}
.c-btn-cta__in span[aria-hidden=true]:is(.c-btn-cta--store *) {
  position: relative;
  top: 0.125rem;
}
.c-btn-cta--black {
  border-radius: 0.75rem;
  border: 0.1875rem solid #FFF;
  background: #231916;
  -webkit-box-shadow: 0.125rem 0.375rem 0.4375rem 0 rgba(124, 124, 124, 0.25);
          box-shadow: 0.125rem 0.375rem 0.4375rem 0 rgba(124, 124, 124, 0.25);
  color: #FFF;
  width: 20.8125rem;
  height: 4.375rem;
}
.c-btn-cta--grad {
  border-radius: 0.5rem;
  border: 0.1875rem solid #FFF;
  background: linear-gradient(272deg, #D9A0C9 14.82%, #7AC5FF 100%);
  -webkit-box-shadow: 0.125rem 0.375rem 0.4375rem 0 rgba(124, 124, 124, 0.25);
          box-shadow: 0.125rem 0.375rem 0.4375rem 0 rgba(124, 124, 124, 0.25);
  color: #FFF;
}
.c-btn-cta--store {
  border-radius: 0.5rem;
  border: 0.1875rem solid #FFF;
  background: linear-gradient(272deg, #28B2B4 14.82%, #CDB0DF 100%);
  -webkit-box-shadow: 0.125rem 0.375rem 0.4375rem 0 rgba(124, 124, 124, 0.25);
          box-shadow: 0.125rem 0.375rem 0.4375rem 0 rgba(124, 124, 124, 0.25);
  color: #FFF;
}
.c-btn-cta--shop {
  background: linear-gradient(272deg, #28B2B4 14.82%, #CDB0DF 100%);
  position: relative;
  color: #4A4A4A;
  font-family: var(--font-an);
  font-weight: 500;
}
.c-btn-cta--shop::before {
  content: "";
  display: block;
  background: #fff;
  position: absolute;
  --border_width: 0.1875rem;
  top: var(--border_width);
  bottom: var(--border_width);
  right: var(--border_width);
  left: var(--border_width);
  border-radius: 0.25rem;
}

.c-title-h2 {
  --title_color_en: var(--grad-bg);
  --title_color_ja: var(--color-text);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
}
.c-title-h2__en {
  font-family: var(--font-an);
  font-size: 3.25rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.3269230769;
  text-transform: uppercase;
  background: var(--title_color_en);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.c-title-h2__ja {
  color: var(--title_color_ja);
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.p-global-nav {
  /* 右固定ナビの土台 */
  height: 100vh;
  overflow: auto;
  z-index: 50;
  width: 100%;
  pointer-events: none;
  /* PCでパネルだけ触れるようにする */
  position: sticky;
  top: 0;
  right: 0;
  max-width: 100%;
}
@media (width > 1160px) {
  .p-global-nav {
    background: var(--color-wt);
  }
  .p-global-nav::before {
    content: "";
    display: block;
    background: var(--color-wt);
    position: absolute;
    inset: 0;
    background: linear-gradient(164deg, rgba(123, 197, 255, 0.3) 0%, rgba(217, 160, 201, 0.3) 98.32%);
    pointer-events: none;
  }
}
.p-global-nav__toggle {
  display: none;
  /* PCは不要 */
}
.p-global-nav__overlay {
  display: none;
  /* PCは不要 */
}
.p-global-nav__panel {
  pointer-events: auto;
  max-width: 23.4375rem;
  width: 100%;
  max-height: 41.875rem;
  height: auto;
  padding: 3.75rem 2.3125rem 2.1875rem 2.3125rem;
  margin-inline: auto;
  /* デザインは後でOK。最低限の背景だけ */
  /* PCは常時表示にするので hidden を無視 */
  display: block !important;
  position: relative;
}
@media (width <= 1160px) {
  .p-global-nav__panel {
    max-height: 100vh;
    background: var(--color-wt);
  }
  .p-global-nav__panel::before {
    content: "";
    display: block;
    background: var(--color-wt);
    position: absolute;
    inset: 0;
    background: linear-gradient(164deg, rgba(123, 197, 255, 0.3) 0%, rgba(217, 160, 201, 0.3) 98.32%);
    pointer-events: none;
  }
}
.p-global-nav__panel:is(.is-stores *) {
  max-height: 100vh;
  background: var(--color-wt);
}
.p-global-nav__panel:is(.is-stores *)::before {
  content: "";
  display: block;
  background: var(--color-wt);
  position: absolute;
  inset: 0;
  background: linear-gradient(164deg, rgba(123, 197, 255, 0.3) 0%, rgba(217, 160, 201, 0.3) 98.32%);
  pointer-events: none;
}
.p-global-nav__close {
  display: none;
  /* PCは不要 */
}
.p-global-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-block: 1.5625rem;
}
.p-global-nav__link {
  display: block;
  text-decoration: none;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.1rem;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}
@media (any-hover: hover) {
  .p-global-nav__link:is(a:hover, button:hover) {
    opacity: 0.7;
  }
}
.p-global-nav__cta {
  display: grid;
  gap: 1.625rem;
  margin-top: 2.1875rem;
}

/* SP：ドロワー化（開閉はJSで hidden 切替） */
@media (width <= 1160px) {
  .p-global-nav {
    pointer-events: auto;
    right: 0;
    top: 0;
    width: 100%;
    height: auto;
  }
  .p-global-nav__toggle {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 2.75rem;
    padding: 0 0.875rem;
    border: 0;
    border-radius: 0.625rem;
    cursor: pointer;
    /* 置き場所は必要に応じて調整 */
    position: fixed;
    right: 1rem;
    top: 1rem;
    z-index: 60;
    background: rgba(255, 255, 255, 0.9);
  }
  .p-global-nav__overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(255, 255, 255, 0.9);
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
    z-index: 55;
  }
  .p-global-nav__panel {
    /* SPは hidden を尊重（JSで hidden 切替） */
    display: block !important;
    position: fixed;
    top: 0;
    right: 0;
    height: 100dvh;
    width: 23.4375rem;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.25s ease;
    transition: -webkit-transform 0.25s ease;
    transition: transform 0.25s ease;
    transition: transform 0.25s ease, -webkit-transform 0.25s ease;
    z-index: 56;
  }
  .p-global-nav__close {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    border-radius: 0.625rem;
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.75rem;
    background: rgba(255, 255, 255, 0.9);
  }
  /* 開いた状態（JSが付ける：html.is-nav-open） */
  html.is-nav-open .p-global-nav__overlay {
    opacity: 1;
    pointer-events: auto;
  }
  html.is-nav-open .p-global-nav__panel {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/* SP：ドロワー化（開閉はJSで hidden 切替） */
.p-global-nav.is-stores {
  pointer-events: auto;
  right: 0;
  top: 0;
  width: 100%;
  height: auto;
}
.p-global-nav.is-stores .p-global-nav__toggle {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 2.75rem;
  padding: 0 0.875rem;
  border: 0;
  border-radius: 0.625rem;
  cursor: pointer;
  /* 置き場所は必要に応じて調整 */
  position: fixed;
  right: 1rem;
  top: 1rem;
  z-index: 60;
  background: rgba(255, 255, 255, 0.9);
}
.p-global-nav.is-stores .p-global-nav__overlay {
  display: block;
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.9);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  z-index: 55;
}
.p-global-nav.is-stores .p-global-nav__panel {
  /* SPは hidden を尊重（JSで hidden 切替） */
  display: block !important;
  position: fixed;
  top: 0;
  right: 0;
  height: 100dvh;
  width: 23.4375rem;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.25s ease;
  transition: -webkit-transform 0.25s ease;
  transition: transform 0.25s ease;
  transition: transform 0.25s ease, -webkit-transform 0.25s ease;
  z-index: 56;
}
.p-global-nav.is-stores .p-global-nav__close {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  border-radius: 0.625rem;
  cursor: pointer;
  position: absolute;
  right: 0.75rem;
  top: 0.75rem;
  background: rgba(255, 255, 255, 0.9);
}

/* 開いた状態（JSが付ける：html.is-nav-open） */
html.is-nav-open .p-global-nav__overlay:is(.is-stores *) {
  opacity: 1;
  pointer-events: auto;
}
html.is-nav-open .p-global-nav__panel:is(.is-stores *) {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 80;
}
.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;
  height: 3.4375rem;
  width: 100%;
  padding-inline: 1.25rem 0.75rem;
}
.l-header__inner:is(.is-stores *) {
  max-width: 77.5rem;
  margin-inline: auto;
}
.l-header__logo {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
}
.l-header__logo-img {
  height: 1.375rem;
  width: auto;
  display: block;
}
.l-header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}
.l-header__cart {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 62.4375rem;
  text-decoration: none;
}
.l-header__cart-icon {
  width: 1.625rem;
  height: 1.625rem;
  display: block;
  -webkit-filter: drop-shadow(0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.15));
          filter: drop-shadow(0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.15));
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
.l-header__toggle {
  display: grid;
  place-items: center;
  width: 1.9375rem;
  height: 1.9375rem;
  border-radius: 62.4375rem;
  border: 0;
  background: #fff;
  cursor: pointer;
  -webkit-box-shadow: 0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.15);
          box-shadow: 0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.15);
}
@media (width > 1160px) {
  .l-header__toggle:not(.is-stores *) {
    display: none;
  }
}
.l-header__toggle:is(.is-stores *) {
  background: #000;
}
.l-header__toggle-icon {
  position: relative;
  width: 1.0625rem;
  height: 0.75rem;
  display: block;
}
.l-header__toggle-line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.125rem;
  border-radius: 62.4375rem;
  background: #DFDAD5;
  -webkit-transition: opacity 0.2s ease, top 0.25s ease, -webkit-transform 0.25s ease;
  transition: opacity 0.2s ease, top 0.25s ease, -webkit-transform 0.25s ease;
  transition: transform 0.25s ease, opacity 0.2s ease, top 0.25s ease;
  transition: transform 0.25s ease, opacity 0.2s ease, top 0.25s ease, -webkit-transform 0.25s ease;
}
.l-header__toggle-line:nth-child(1) {
  top: 0;
}
.l-header__toggle-line:nth-child(2) {
  top: 0.3125rem;
  width: calc(100% - 0.25rem);
}
.l-header__toggle-line:nth-child(3) {
  top: 0.625rem;
}

/* ドロワー開いてる時：ハンバーガーを×にする（aria-expandedで判定） */
.js-globalNavOpen[aria-expanded=true] .l-header__toggle-line:nth-child(1) {
  top: 0.375rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.js-globalNavOpen[aria-expanded=true] .l-header__toggle-line:nth-child(2) {
  opacity: 0;
}
.js-globalNavOpen[aria-expanded=true] .l-header__toggle-line:nth-child(3) {
  top: 0.375rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.l-main {
  width: 100%;
  background: #fff;
  position: relative;
  display: grid;
  grid-template-columns: 1.2fr 375px 1fr;
}
@media (width <= 1160px) {
  .l-main {
    grid-template-columns: 1fr 375px 40px;
  }
}
@media (width <= 768px) {
  .l-main {
    grid-template-columns: 1fr;
  }
}
.l-main-left {
  position: relative;
  padding-right: 65px;
}
@media (width <= 768px) {
  .l-main-left {
    padding-right: 0;
  }
}
.l-main-center {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  position: relative;
}
.l-main-right {
  position: relative;
  padding-left: 70px;
}
@media (width <= 1160px) {
  .l-main-right {
    padding-left: 0;
  }
}

.l-container {
  max-width: var(--container);
  width: calc(100% - var(--space) * 2);
  margin-left: auto;
  margin-right: auto;
}

.l-footer {
  color: #fff;
  position: relative;
  z-index: 2000;
}
@media (width <= 768px) {
  .l-footer:not(.page-stores *) {
    padding-bottom: 4.75rem;
  }
}
.l-footer__profile {
  background: linear-gradient(164deg, #7BC5FF 0%, #D9A0C9 98.32%);
  padding-block: 3.75rem 8.5rem;
  position: relative;
}
@media (width > 999px) {
  .l-footer__profile {
    padding-block: 2.6875rem;
  }
}
.l-footer__inner {
  position: relative;
}
@media (width > 999px) {
  .l-footer__inner {
    max-width: 75rem;
  }
}
.l-footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75rem;
  margin-bottom: 2.375rem;
}
@media (width > 999px) {
  .l-footer__sns {
    position: absolute;
    right: 2.1875rem;
    top: 2.25rem;
  }
}
.l-footer__sns-link {
  width: 2.592125rem;
  height: 2.592125rem;
  display: block;
}
.l-footer__sns-icon {
  display: block;
  width: 100%;
}
.l-footer__title-en {
  color: #FFF;
  text-align: center;
  font-family: var(--font-an-2);
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  white-space: nowrap;
}
@media (width > 999px) {
  .l-footer__title-en::before {
    content: "";
    display: block;
    background: #fff;
    width: 8.125rem;
    height: 0.125rem;
    margin-inline: auto;
    margin-bottom: 0.6875rem;
  }
}
.l-footer__company {
  display: grid;
  justify-items: center;
  gap: 0.875rem;
}
@media (width > 999px) {
  .l-footer__company {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.5rem;
    margin-top: 1.9375rem;
  }
}
.l-footer__logo {
  width: 4.54825rem;
  margin-top: 2.1875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (width > 999px) {
  .l-footer__logo {
    margin-top: 0;
  }
}
.l-footer__logo-img {
  width: 100%;
  display: block;
}
.l-footer__company-body {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media (width > 999px) {
  .l-footer__company-body {
    margin-inline: 0;
  }
}
.l-footer__company-name {
  color: #FFF;
  text-align: center;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
}
@media (width > 999px) {
  .l-footer__company-name {
    text-align: left;
  }
}
@media (width > 999px) {
  .l-footer__company-pc-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1em;
  }
}
.l-footer__company-text {
  color: #FFF;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}
.l-footer__company-text.is-1st {
  margin-top: 0.875rem;
}
@media (width > 999px) {
  .l-footer__company-text.is-1st {
    margin-top: 0.375rem;
  }
}
.l-footer__rule {
  width: 18.25rem;
  height: 0.0625rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background: #fff;
  margin-top: 1.75rem;
  margin-inline: auto;
  border: none;
}
@media (width > 999px) {
  .l-footer__rule {
    margin-top: 4.0625rem;
    width: 100%;
  }
}
.l-footer__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  gap: 0.75rem 1.1875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 1.75rem;
}
@media (width > 999px) {
  .l-footer__nav-list {
    margin-top: 5.4375rem;
    gap: 3rem;
  }
}
.l-footer__nav-link {
  color: #FFF;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
@media (width > 999px) {
  .l-footer__nav-link {
    font-size: 1rem;
  }
}
.l-footer__to-top {
  position: absolute;
  right: 1.8125rem;
  bottom: 1.125rem;
  width: 1rem;
  height: 1rem;
  border: 0;
  background: transparent;
  cursor: pointer;
}
@media (width > 999px) {
  .l-footer__to-top {
    width: 1.8125rem;
    height: 1.8125rem;
    right: 3.75rem;
    bottom: 2rem;
  }
}
.l-footer__to-top-icon {
  display: block;
  width: 1.125rem;
  height: 1.125rem;
  margin: 0 auto;
  border-right: 0.125rem solid rgba(255, 255, 255, 0.9);
  border-top: 0.125rem solid rgba(255, 255, 255, 0.9);
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media (width > 999px) {
  .l-footer__to-top-icon {
    width: 1.8125rem;
    height: 1.8125rem;
    border-right: 0.25rem solid rgba(255, 255, 255, 0.9);
    border-top: 0.25rem solid rgba(255, 255, 255, 0.9);
  }
}
.l-footer__bottom {
  background: #fff;
  padding: 1rem 0 1.25rem;
}
@media (width > 999px) {
  .l-footer__bottom-inner {
    max-width: 75rem;
  }
}
.l-footer__bottom-company {
  color: #000;
  text-align: right;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}
.l-footer__bottom-copy {
  color: #000;
  text-align: right;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-top: 1rem;
}

/* hover（最低限） */
@media (any-hover: hover) {
  .l-footer__sns-link:hover {
    opacity: 0.85;
  }
  .l-footer__nav-link:hover {
    opacity: 1;
    text-decoration: underline;
  }
}
.p-voices {
  background: #F8F8F8;
}
.p-voices__inner {
  padding-block: 3.75rem 2rem;
}
.p-voices__lead {
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.07rem;
  text-transform: uppercase;
  margin-top: 0.375rem;
}
.p-voices__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.625rem;
  margin-top: 2rem;
}
.p-voices__more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.625rem;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  -webkit-transition: max-height 0.45s ease, opacity 0.35s ease;
  transition: max-height 0.45s ease, opacity 0.35s ease;
}
.p-voices__more:is(.is-open) {
  padding-bottom: 1.625rem;
  opacity: 1;
}
.p-voices__actions {
  padding-top: 1.25rem;
}
.p-voices__toggle {
  border-radius: 0.5rem;
  border: 0.1875rem solid #FFF;
  background: linear-gradient(272deg, #D9A0C9 14.82%, #7AC5FF 100%);
  -webkit-box-shadow: 0.125rem 0.375rem 0.4375rem 0 rgba(124, 124, 124, 0.25);
          box-shadow: 0.125rem 0.375rem 0.4375rem 0 rgba(124, 124, 124, 0.25);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 18.75rem;
  height: 3.5rem;
  padding-bottom: 0.0625rem;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: -0.75rem;
  margin-inline: auto;
}
.p-voices__toggle.is-close {
  opacity: 0.7;
}
.p-voices__toggleText {
  color: #FFF;
  text-align: center;
  font-size: 1rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.p-voice {
  width: 16.8125rem;
  padding: 1.5rem 1.375rem;
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.625rem;
  background: #FFF;
  -webkit-box-shadow: 0.1875rem 0.25rem 0.25rem 0 rgba(204, 204, 204, 0.05);
          box-shadow: 0.1875rem 0.25rem 0.25rem 0 rgba(204, 204, 204, 0.05);
}
.p-voice.is_num_01 {
  rotate: -4.16deg;
}
.p-voice.is_num_02 {
  margin-inline: auto 0;
  rotate: 0.86deg;
}
.p-voice.is_num_03 {
  rotate: -3.66deg;
}
.p-voice.is_num_04 {
  margin-inline: auto 0;
  rotate: 0.86deg;
}
.p-voice.is_num_05 {
  rotate: -3.66deg;
}
.p-voice.is_num_06 {
  margin-inline: auto 0;
  rotate: 0.86°;
}
.p-voice.is_num_07 {
  rotate: -3.66deg;
}
.p-voice.is_num_08 {
  margin-inline: auto 0;
  rotate: 0.86deg;
}
.p-voice.is_num_09 {
  rotate: -3.66deg;
}
.p-voice__head {
  display: grid;
  grid-template-columns: 3.875rem 1fr;
  gap: 1rem;
  place-items: center start;
  border-bottom: 0.0375rem solid #AFAFAF;
  padding-bottom: 0.625rem;
}
.p-voice__spec {
  color: #26262A;
  font-family: "Noto Sans JP";
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  text-transform: capitalize;
}
.p-voice__size {
  color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-transform: capitalize;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  background: var(--grad-bg);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 1.125rem;
  padding-inline: 0.25rem;
  margin-top: 0.25rem;
}
.p-voice__text {
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 300;
  line-height: 170%;
  margin-top: 0.625rem;
}

.p-size__inner {
  padding-block: 2.5rem 0;
}
.p-size__head {
  margin-bottom: 3rem;
}
.p-size {
  /* =========================
     テーブルラッパー
  ========================= */
}
.p-size__table-wrap {
  padding-bottom: 3.3125rem;
}
.p-size__scroller {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-inline: var(--space);
  scroll-padding-inline: var(--space);
}
.p-size {
  /* =========================
     テーブル本体
  ========================= */
}
.p-size__table {
  width: 23.4375rem;
  border-collapse: collapse;
  text-align: center;
}
.p-size__table th,
.p-size__table td {
  height: 4.0625rem;
  border: 0.0625rem solid rgba(173, 195, 239, 0.34);
  vertical-align: middle;
  text-align: center;
  font-family: var(--font-an-2);
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.0225rem;
}
.p-size__table thead th {
  font-weight: 600;
  border-right: 0.125rem solid rgba(173, 195, 239, 0.34);
  background: rgba(173, 195, 239, 0.6);
}
.p-size__table tbody th {
  background: #fff;
  font-weight: 500;
}
.p-size__table tbody th:is(:first-child) {
  font-family: var(--font);
}
.p-size {
  /* =========================
     スクロール連動バー
  ========================= */
}
.p-size__bar {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  padding-inline: var(--space);
}
.p-size__bar-track {
  position: relative;
  width: 12.6875rem;
  height: 0.5rem;
  background: #F5F5F5;
  border-radius: 0.25rem;
  overflow: hidden;
}
.p-size__bar-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 3.5rem;
  height: 100%;
  background: #CEDBF6;
  border-radius: 0.25rem;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 0.1s linear;
  transition: -webkit-transform 0.1s linear;
  transition: transform 0.1s linear;
  transition: transform 0.1s linear, -webkit-transform 0.1s linear;
}

.p-howto {
  padding: 3.75rem 0;
  background: linear-gradient(164deg, rgba(123, 197, 255, 0.2) 0%, rgba(217, 160, 201, 0.2) 98.32%), #FFF;
}
.p-howto__head {
  margin-bottom: 2.1875rem;
}
.p-howto__lead {
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.25rem;
  letter-spacing: 0.07rem;
  text-transform: uppercase;
}
.p-howto__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.1875rem;
}
.p-howto__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-howto__icon {
  width: 4.375rem;
  height: 4.375rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-howto__number {
  color: #4162A3;
  font-family: var(--font-an-2);
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  text-transform: uppercase;
}
.p-howto__heading {
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 180%;
  text-transform: capitalize;
  margin-top: 0.625rem;
}
.p-howto__text {
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 300;
  line-height: 180%;
  text-transform: capitalize;
  margin-top: 0.375rem;
}

.p-faq {
  padding: 5rem 0;
  background: url(../img/common/faq/logo.svg) no-repeat calc(100% - 1.1875rem) 2.3125rem/8.75rem 5.0625rem #F8F8F8;
}
.p-faq__head {
  margin-bottom: 1.875rem;
}
.p-faq__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-faq__question {
  background: none;
  border: none;
  text-align: left;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem 1.25rem 1.25rem 0;
  gap: 1.875rem;
  border-bottom: 0.03125rem solid #7B7B7B;
}
.p-faq__q-label {
  color: #000;
  font-family: var(--font-an-2);
  font-size: 1.297875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: -0.0246875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-faq__q-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  color: #000;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}
.p-faq__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: scale 300ms;
  transition: scale 300ms;
  width: 0.875rem;
  height: 0.875rem;
  background: url(../img/common/faq/icon_toggle.svg) no-repeat 50% 50%/contain;
}
.p-faq__question.is-open .p-faq__icon {
  scale: -1 -1;
}
.p-faq__answer {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 300ms ease;
  transition: max-height 300ms ease;
  border-bottom: 0.03125rem solid #7B7B7B;
  opacity: 0.6;
}
.p-faq__answer-inner {
  background: none;
  border: none;
  text-align: left;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem 4rem 1.25rem 0;
  gap: 1.875rem;
}
.p-faq__answer-inner p {
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}
.p-faq__answer-inner a {
  text-decoration-line: underline;
  text-decoration-style: solid;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  text-decoration-thickness: 0.0625rem;
  text-underline-offset: auto;
  text-underline-position: from-font;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}
@media (any-hover: hover) {
  .p-faq__answer-inner a:is(a:hover, button:hover) {
    opacity: 0.7;
  }
}
.p-faq__a-label {
  color: #000;
  font-family: var(--font-an-2);
  font-size: 1.297875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  letter-spacing: -0.0246875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.js-fadeIn {
  opacity: 0;
  -webkit-transform: translateY(0.75rem);
          transform: translateY(0.75rem);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
}
.js-fadeIn.is-inview {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

@media (width > 1439px) {
  .xl-show {
    display: none !important;
  }
}

@media (width <= 1439px) {
  .xl-none {
    display: none !important;
  }
}

@media (width > 999px) {
  .lg-show {
    display: none !important;
  }
}

@media (width <= 999px) {
  .lg-none {
    display: none !important;
  }
}

@media (width > 768px) {
  .md-show {
    display: none !important;
  }
}

@media (width <= 768px) {
  .md-none {
    display: none !important;
  }
}

@media (width > 440px) {
  .sm-show {
    display: none !important;
  }
}

@media (width <= 440px) {
  .sm-none {
    display: none !important;
  }
}

@media (width > 375px) {
  .xs-show {
    display: none !important;
  }
}

@media (width <= 375px) {
  .xs-none {
    display: none !important;
  }
}

.block {
  display: block !important;
}

.inline-block {
  display: inline-block !important;
}

.inline {
  display: inline !important;
}

.none {
  display: none !important;
}

.srOnly {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.italic {
  font-style: italic;
}

.fw-ini {
  font-weight: initial;
}

.fw-inh {
  font-weight: inherit;
}

.serif {
  font-family: var(--font-serif);
}

.an {
  font-family: var(--font-an);
}

/* 開閉する箱 */
.js-accBody {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease;
  transition: max-height 0.3s ease;
}
.js-accBody:is(.is-open > *) {
  max-height: 624.9375rem;
}

.js-accTrigger {
  cursor: pointer;
}

.js-accToggle {
  display: inline-block;
  --width: 2.5rem;
  --line: 1.125rem;
  width: var(--width);
  height: var(--width);
  position: relative;
  border-radius: 2.5rem;
  border: 0.0625rem solid var(--color-bn50);
  background: var(--color-bn50);
}
@media (width <= 768px) {
  .js-accToggle {
    --width: 1.875rem;
    --line: 0.875rem;
  }
}
.js-accToggle span {
  width: var(--line);
  height: 0.0625rem;
  background: var(--color-wt);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  border-radius: 624.9375rem;
  -webkit-transition: rotate 300ms;
  transition: rotate 300ms;
}
.js-accToggle span:first-child {
  rotate: -90deg;
}
.js-accToggle span:first-child:is(.is-open *) {
  rotate: 0deg;
}

.relative {
  position: relative !important;
}