@charset "UTF-8";
/* ==========================================================================
Base
========================================================================== */
/*!
 * @acab/reset.css
 */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; /* もちろん、より直感的なbox-sizingに設定 */
  margin: 0; /* マージンは0に */
  padding: 0; /* パディングも常に0に */
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important; /* hiddenは非表示を意味します */
}

:where(html) {
  -webkit-text-size-adjust: none; /* iOSのランドスケープでテキストが調整されないようにする */
  color-scheme: dark light; /* ユーザーがダークテーマを好む場合、自動的にダークテーマになる */
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth; /* 何かにフォーカスがある場合のみスムーズスクロール */
  }
}
:where(body) {
  block-size: 100%; /* サファリ以外のブラウザのフォールバック */
  block-size: 100dvb; /* 1dvbは動的ビューポートの長さの1%、100dvbで高さいっぱいに */
  font-family: system-ui, sans-serif; /* timeの代わりにシステムフォントを使用 */
  line-height: 1.5; /* アクセシブルな行の高さ */
  -webkit-font-smoothing: antialiased; /* テキストのレンダリングを改善 */
}

:where(input, button, textarea, select) {
  color: inherit; /* カラーも継承 */
  font: inherit; /* フォーム コントロールは親フォントを継承 */
}

:where(textarea) {
  resize: vertical; /* テキストエリアの水平リサイズを無効に */
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer; /* インタラクティブなものにカーソルを合わせる */
}

:where(:disabled) {
  cursor: not-allowed; /* フォームコントロール無効時のカーソルを許可しない */
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed; /* ラベルにもカーソルを許可しない */
}

:where(button) {
  border-style: solid; /* ボタンのボーダーのスタイルを設定しやすくする */
}

:where(a) {
  text-underline-offset: 0.2ex; /* 下線の上にスペースを追加する */
}

:where(ul, ol) {
  list-style: none; /* ビュレットを削除、必要に応じて手動で追加する */
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block; /* 置換された要素をより予測可能にする */
}

:where(img, picture, svg) {
  block-size: auto; /* アスペクト比を保持 */
  max-inline-size: 100%; /* images should never overflow past the available space */
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word; /* 長い単語は改行 */
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem); /* 見出しの行の高さを減らす */
}

:where(hr) {
  block-size: 0;
  /* より一貫性のある、スタイリッシュなhr */
  border: none;
  -webkit-border-before: 1px solid;
  border-block-start: 1px solid;
  color: inherit;
  overflow: visible;
}

:where(:focus-visible) {
  /* より一貫性のある、カスタマイズ可能なフォーカスのアウトライン */
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

/* .visually-hiddenは後のカスケードレイヤーを上書きするために!importantを使用 */
:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  border: 0 !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

:root {
  --font-family-primary: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
  --font-family-secondary: "Noto Sans JP", sans-serif;
  --color-00-black: #000;
  --color-00-white: #ffffff;
  --color-01-gray: #141414;
  --color-02-gray: #181818;
  --color-03-gray: #2c2c2c;
  --color-04-gray: #f3f3f3;
  --color-01-beige: #dbd5c1;
  --color-02-beige: #e8e5da;
  --color-03-beige: #f2ebdb;
  --color-01-yellow: #f7c81a;
  --color-02-yellow: #edd690;
  --color-01-red: #9e1322;
  --color-01-pink: #e5326e;
  --line-height-l: 1.8;
  --line-height-m: 1.7;
  --line-height-s: 1.4;
  --line-height-xs: 1.3;
}

/* Base
----------------------------------------------------------------- */
html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}
html:has(dialog[open]) {
  overflow: hidden;
}

body {
  background-color: var(--color-00-white);
  color: var(--color-00-black);
  font-family: var(--font-family-primary);
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  word-break: break-all;
}

:where(a) {
  color: inherit;
  text-decoration: none;
}
:where(a):hover {
  text-decoration: none;
}
:where(ol),
:where(ul),
:where(dl) {
  list-style: none;
}

:where(em),
:where(i) {
  font-style: normal;
}

:where(h1),
:where(h2),
:where(h3),
:where(h4),
:where(h5),
:where(h6) {
  font-size: 1.6rem;
  font-weight: normal;
}

:where(p) {
  font-size: 14px;
}
@media print, screen and (min-width:768px) {
  :where(p) {
    font-size: 15px;
  }
}

:where(em) {
  font-weight: bold;
}

:where(img) {
  display: block;
  height: auto;
  width: 100%;
}

:where(button) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  cursor: pointer;
}

:where(input) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--color-00-white);
  border: 1px solid var(--color-03-gray);
}

:where(textarea) {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: var(--color-00-white);
  border: 1px solid var(--color-03-gray);
}

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

@media print, screen and (max-width:767px) {
  .pc-only {
    display: none !important;
  }
}
@media print, screen and (min-width:768px) {
  .sp-only {
    display: none !important;
  }
}
/* ==========================================================================
Layout
========================================================================== */
/* ==========================================================================
Components
========================================================================== */
.c-hero {
  background: url("../images/main_bg.webp");
  background-repeat: repeat;
  background-size: contain;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-hero {
    padding: 0 16px;
  }
}
.c-hero img {
  display: block;
  height: auto;
  width: 100%;
}
.c-hero__inner {
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width:768px) {
  .c-hero__inner {
    margin: 0 auto;
    max-width: 1100px;
  }
}
.c-hero__logo {
  height: 100%;
  left: 4.17vw;
  position: absolute;
  top: 5.21vw;
  width: 100%;
  width: 40.63vw;
  z-index: 1;
}
@media print, screen and (min-width:768px) {
  .c-hero__logo {
    left: clamp(13.96px, 1.82vw, 20px);
    top: clamp(13.96px, 1.82vw, 20px);
    width: clamp(139.64px, 18.18vw, 200px);
  }
}

.c-cta {
  background-color: var(--color-03-beige);
  background-image: url(../images/cta-background.webp);
  background-position: center;
  background-repeat: repeat;
  background-size: cover;
  padding: 3.13vw 0;
}
@media print, screen and (min-width:768px) {
  .c-cta {
    padding: clamp(20.95px, 2.73vw, 30px) 0;
  }
}
.c-cta__text {
  margin: 0 auto;
  width: 87.5vw;
}
@media print, screen and (min-width:768px) {
  .c-cta__text {
    width: clamp(502.69px, 65.45vw, 720px);
  }
}
.c-cta__button {
  display: block;
  margin: 0 auto;
  -webkit-transition: opacity 200ms;
  transition: opacity 200ms;
  width: 87.5vw;
}
@media print, screen and (min-width:768px) {
  .c-cta__button {
    width: clamp(502.69px, 65.45vw, 720px);
  }
}
@media (hover: hover) {
  .c-cta__button:hover {
    opacity: 0.8;
  }
}

.c-secret {
  background-color: var(--color-00-black);
  color: var(--color-00-white);
  padding: 12.5vw 2.08vw 12.5vw;
  position: relative;
}
@media print, screen and (max-width:767px) {
  .c-secret {
    background-image: url(../images/secret-background-sp.webp);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: contain;
  }
}
@media print, screen and (min-width:768px) {
  .c-secret {
    padding: clamp(69.82px, 9.09vw, 100px) clamp(13.96px, 1.82vw, 20px) 0;
  }
}
.c-secret__inner {
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width:768px) {
  .c-secret__inner {
    background-image: url(../images/secret-background-pc.webp);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: contain;
    margin: 0 auto;
    max-width: 1100px;
    padding-bottom: clamp(69.82px, 9.09vw, 100px);
  }
}
.c-secret__title {
  margin: 0 auto;
  width: 87.5vw;
}
@media print, screen and (min-width:768px) {
  .c-secret__title {
    width: clamp(411.93px, 53.64vw, 590px);
  }
}
.c-secret__list {
  display: grid;
  gap: 5.21vw 4.17vw;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 7.29vw;
}
@media print, screen and (min-width:768px) {
  .c-secret__list {
    gap: clamp(27.93px, 3.64vw, 40px) clamp(20.95px, 2.73vw, 30px);
    grid-template-columns: repeat(3, 1fr);
    margin-top: clamp(48.87px, 6.36vw, 70px);
  }
}
.c-secret__item {
  border: 1px solid rgba(255, 255, 255, 0.6);
  display: grid;
  gap: 2.08vw;
  grid-row: span 2;
  grid-template-rows: subgrid;
  padding: 12.5vw 3.13vw 5.21vw;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-secret__item {
    gap: clamp(13.96px, 1.82vw, 20px);
    padding: clamp(34.91px, 4.55vw, 50px) clamp(13.96px, 1.82vw, 20px) clamp(20.95px, 2.73vw, 30px);
  }
}
.c-secret__item-icon {
  height: 11.46vw;
  left: calc(50% - 5.73vw);
  position: absolute;
  top: -2.08vw;
  width: 11.46vw;
}
@media print, screen and (min-width:768px) {
  .c-secret__item-icon {
    height: clamp(34.91px, 4.55vw, 50px);
    left: calc(50% - clamp(17.45px, 2.27vw, 25px));
    top: clamp(-20px, -1.82vw, -13.96px);
    width: clamp(34.91px, 4.55vw, 50px);
  }
}
.c-secret__item-title {
  -ms-flex-item-align: center;
  align-self: center;
  color: var(--color-02-yellow);
  font-size: 3.96vw;
  font-style: italic;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
@media print, screen and (min-width:768px) {
  .c-secret__item-title {
    font-size: clamp(13.96px, 1.82vw, 20px);
  }
}
.c-secret__item-text {
  font-size: 3.33vw;
  letter-spacing: 0.01em;
  line-height: 1.6;
  text-align: justify;
}
@media print, screen and (min-width:768px) {
  .c-secret__item-text {
    font-size: clamp(10.47px, 1.36vw, 15px);
    letter-spacing: 0.05em;
  }
}
.c-secret__item-medal {
  bottom: 3.13vw;
  height: 11.46vw;
  position: absolute;
  right: 3.13vw;
  width: 11.46vw;
}
@media print, screen and (min-width:768px) {
  .c-secret__item-medal {
    bottom: clamp(13.96px, 1.82vw, 20px);
    height: clamp(53.06px, 6.91vw, 76px);
    right: clamp(13.96px, 1.82vw, 20px);
    width: clamp(53.06px, 6.91vw, 76px);
  }
}

.c-made-to-order {
  background-color: var(--color-03-beige);
  background-image: url(../images/made-to-order-background-sp.webp);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
  height: 221.04vw;
  padding: 0;
}
@media print, screen and (min-width:768px) {
  .c-made-to-order {
    background-image: url(../images/made-to-order-background-pc.webp);
    background-size: clamp(768px, 100vw, 1100px) auto;
    height: clamp(586.47px, 76.36vw, 840px);
    padding: 0;
  }
}
.c-made-to-order__inner {
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-made-to-order__inner {
    margin: 0 auto;
    max-width: 1100px;
  }
}
.c-made-to-order__title {
  position: absolute;
  right: 0;
  top: 0;
  width: 52.08vw;
}
@media print, screen and (min-width:768px) {
  .c-made-to-order__title {
    width: clamp(240.87px, 31.36vw, 345px);
  }
}
.c-made-to-order__text1 {
  -webkit-filter: drop-shadow(0 0 1.04vw rgba(242, 235, 219, 0.9));
  filter: drop-shadow(0 0 1.04vw rgba(242, 235, 219, 0.9));
  left: 14.58vw;
  position: absolute;
  top: 22.5vw;
  width: 26.25vw;
}
@media print, screen and (min-width:768px) {
  .c-made-to-order__text1 {
    -webkit-filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(242, 235, 219, 0.9));
    filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(242, 235, 219, 0.9));
    left: clamp(356.07px, 46.36vw, 510px);
    top: clamp(160.58px, 20.91vw, 230px);
    width: clamp(107.52px, 14vw, 154px);
  }
}
.c-made-to-order__text2 {
  -webkit-filter: drop-shadow(0 0 1.04vw rgba(242, 235, 219, 0.9));
  filter: drop-shadow(0 0 1.04vw rgba(242, 235, 219, 0.9));
  left: 57.71vw;
  position: absolute;
  top: 102.08vw;
  width: 33.65vw;
}
@media print, screen and (min-width:768px) {
  .c-made-to-order__text2 {
    -webkit-filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(242, 235, 219, 0.9));
    filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(242, 235, 219, 0.9));
    left: clamp(167.56px, 21.82vw, 240px);
    top: clamp(160.58px, 20.91vw, 230px);
    width: clamp(132.65px, 17.27vw, 190px);
  }
}
.c-made-to-order__text3 {
  -webkit-filter: drop-shadow(0 0 2.08vw rgba(242, 235, 219, 0.9));
  filter: drop-shadow(0 0 2.08vw rgba(242, 235, 219, 0.9));
  left: 20.83vw;
  position: absolute;
  top: 122.92vw;
  width: 14.58vw;
}
@media print, screen and (min-width:768px) {
  .c-made-to-order__text3 {
    -webkit-filter: drop-shadow(0 0 clamp(13.96px, 1.82vw, 20px) rgba(242, 235, 219, 0.9));
    filter: drop-shadow(0 0 clamp(13.96px, 1.82vw, 20px) rgba(242, 235, 219, 0.9));
    left: clamp(27.93px, 3.64vw, 40px);
    top: clamp(160.58px, 20.91vw, 230px);
    width: clamp(71.21px, 9.27vw, 102px);
  }
}

.c-recommend {
  background-color: var(--color-00-black);
  background-image: url(../images/recommend-background-sp.webp);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--color-00-white);
  padding: 12.5vw 6.25vw;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-recommend {
    background-image: url(../images/recommend-background-pc.webp);
    padding: clamp(69.82px, 9.09vw, 100px) clamp(34.91px, 4.55vw, 50px);
  }
}
.c-recommend__inner {
  position: relative;
  z-index: 1;
}
@media print, screen and (min-width:768px) {
  .c-recommend__inner {
    margin: 0 auto;
    max-width: 1100px;
    padding: 0 clamp(34.91px, 4.55vw, 50px);
  }
}
.c-recommend__title {
  margin: 0 auto;
  width: 70.83vw;
}
@media print, screen and (min-width:768px) {
  .c-recommend__title {
    width: clamp(429.38px, 55.91vw, 615px);
  }
}
.c-recommend__list {
  display: grid;
  gap: 14.58vw;
  grid-template-columns: 1fr;
  margin-top: 8.33vw;
}
@media print, screen and (min-width:768px) {
  .c-recommend__list {
    gap: clamp(55.85px, 7.27vw, 80px);
    grid-template-columns: repeat(2, 1fr);
    margin-top: clamp(55.85px, 7.27vw, 80px);
  }
}
.c-recommend__item {
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-recommend__item:nth-child(2) {
    margin-top: clamp(34.91px, 4.55vw, 50px);
  }
}
.c-recommend__item:after {
  background-position: left top;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 17.71vw;
  left: -2.08vw;
  position: absolute;
  top: -4.17vw;
  width: 17.71vw;
  z-index: 2;
}
@media print, screen and (min-width:768px) {
  .c-recommend__item:after {
    height: clamp(69.82px, 9.09vw, 100px);
    left: clamp(-20px, -1.82vw, -13.96px);
    top: clamp(-20px, -1.82vw, -13.96px);
    width: clamp(69.82px, 9.09vw, 100px);
  }
}
.c-recommend__item:nth-child(1):after {
  background-image: url(../images/recommend-no1.svg);
}
.c-recommend__item:nth-child(2):after {
  background-image: url(../images/recommend-no2.svg);
}
.c-recommend__item figure {
  position: relative;
  z-index: 1;
}
.c-recommend__item figcaption {
  font-size: 3.33vw;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.8;
  margin-left: 4.17vw;
  margin-top: 4.17vw;
}
@media print, screen and (min-width:768px) {
  .c-recommend__item figcaption {
    font-size: clamp(12.57px, 1.64vw, 18px);
    letter-spacing: 0.1em;
    margin-left: clamp(13.96px, 1.82vw, 20px);
    margin-top: clamp(13.96px, 1.82vw, 20px);
  }
}


.c-hitokuchi {
  background-color: var(--color-00-black);
  background-image: url(../images/hitokuchi-background-sp.webp);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100% auto;
  color: var(--color-00-white);
  padding: 10.42vw 0 10.42vw;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-hitokuchi {
    background-image: url(../images/hitokuchi-background-pc.webp);
    background-size: clamp(698.18px, 90.91vw, 1000px) auto;
    padding: clamp(90.76px, 11.82vw, 130px) clamp(69.82px, 9.09vw, 100px) clamp(69.82px, 9.09vw, 100px);
  }
}
@media print, screen and (min-width:768px) {
  .c-hitokuchi__inner {
    margin: 0 auto;
    max-width: 900px;
  }
}
.c-hitokuchi__title {
  margin: 0 auto;
  width: 92.71vw;
}
@media print, screen and (min-width:768px) {
  .c-hitokuchi__title {
    margin: 0 auto 0 0;
    width: clamp(434.97px, 56.64vw, 623px);
  }
}
.c-hitokuchi__content {
  font-size: 3.75vw;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 9.38vw;
  text-align: center;
}
@media print, screen and (min-width:768px) {
  .c-hitokuchi__content {
    font-size: clamp(13.27px, 1.73vw, 19px);
    margin-top: clamp(34.91px, 4.55vw, 50px);
    text-align: left;
  }
}
.c-hitokuchi__content span {
  color: var(--color-01-yellow);
}
.c-hitokuchi__content strong {
  color: var(--color-01-yellow);
  font-size: 4.38vw;
  font-weight: normal;
}
@media print, screen and (min-width:768px) {
  .c-hitokuchi__content strong {
    font-size: clamp(16.76px, 2.18vw, 24px);
  }
}

.c-interview {
  background-color: var(--color-00-black);
  color: var(--color-00-white);
  padding: 10.42vw 0 10.42vw;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-interview {
    padding: 0 clamp(69.82px, 9.09vw, 100px) clamp(69.82px, 9.09vw, 100px);
  }
}
@media print, screen and (min-width:768px) {
  .c-interview__inner {
    margin: 0 auto;
    max-width: 900px;
  }
}
.c-interview__title {
  margin: 0 auto 10.42vw;
  width: 100vw;
}
@media print, screen and (min-width:768px) {
  .c-interview__title {
    margin: 0 auto clamp(62.84px, 8.18vw, 90px) 0;
    width: clamp(494.31px, 64.36vw, 708px);
  }
}
.c-interview .c-interview__content1-inner {
  background-color: var(--color-01-gray);
  padding: 10.42vw 13.54vw 10.42vw 6.25vw;
  position: relative;
  width: 75vw;
}
@media print, screen and (min-width:768px) {
  .c-interview .c-interview__content1-inner {
    padding: clamp(34.91px, 4.55vw, 50px) clamp(104.73px, 13.64vw, 150px) clamp(34.91px, 4.55vw, 50px) clamp(34.91px, 4.55vw, 50px);
    width: clamp(530.62px, 69.09vw, 760px);
  }
}
.c-interview .c-interview__content1-photo {
  position: absolute;
  right: -25vw;
  top: 13.54vw;
  width: 34.38vw;
}
@media print, screen and (min-width:768px) {
  .c-interview .c-interview__content1-photo {
    right: clamp(-140px, -12.73vw, -97.75px);
    top: clamp(-50px, -4.55vw, -34.91px);
    width: clamp(181.53px, 23.64vw, 260px);
  }
}
.c-interview .c-interview__content2 {
  margin-top: 10.42vw;
}
@media print, screen and (min-width:768px) {
  .c-interview .c-interview__content2 {
    margin-top: clamp(69.82px, 9.09vw, 100px);
  }
}
.c-interview .c-interview__content2-inner {
  background-color: var(--color-01-gray);
  margin: 0 0 0 auto;
  padding: 10.42vw 6.25vw 10.42vw 12.5vw;
  position: relative;
  width: 83.33vw;
}
@media print, screen and (min-width:768px) {
  .c-interview .c-interview__content2-inner {
    padding: clamp(34.91px, 4.55vw, 50px) clamp(34.91px, 4.55vw, 50px) clamp(34.91px, 4.55vw, 50px) clamp(181.53px, 23.64vw, 260px);
    width: clamp(530.62px, 69.09vw, 760px);
  }
}
.c-interview .c-interview__content2-photo {
  left: -16.67vw;
  position: absolute;
  top: -5.21vw;
  width: 50vw;
  z-index: 0;
}
@media print, screen and (min-width:768px) {
  .c-interview .c-interview__content2-photo {
    left: clamp(-140px, -12.73vw, -97.75px);
    right: auto;
    top: clamp(-50px, -4.55vw, -34.91px);
    width: clamp(251.35px, 32.73vw, 360px);
  }
}
.c-interview .c-interview__content3 {
  margin-top: 10.42vw;
}
@media print, screen and (min-width:768px) {
  .c-interview .c-interview__content3 {
    margin-top: clamp(69.82px, 9.09vw, 100px);
  }
}
.c-interview .c-interview__content3-inner {
  background-color: var(--color-01-gray);
  padding: 6.25vw 13.54vw 6.25vw 6.25vw;
  position: relative;
  width: 93.75vw;
}
@media print, screen and (min-width:768px) {
  .c-interview .c-interview__content3-inner {
    margin: 0 auto 0 clamp(41.89px, 5.45vw, 60px);
    padding: clamp(34.91px, 4.55vw, 50px) clamp(104.73px, 13.64vw, 150px) clamp(34.91px, 4.55vw, 50px) clamp(34.91px, 4.55vw, 50px);
    width: clamp(460.8px, 60vw, 660px);
  }
}
.c-interview .c-interview__content3-photo {
  position: absolute;
  right: -6.25vw;
  top: 20.83vw;
  width: 34.38vw;
}
@media print, screen and (min-width:768px) {
  .c-interview .c-interview__content3-photo {
    right: clamp(-120px, -10.91vw, -83.78px);
    top: clamp(34.91px, 4.55vw, 50px);
    width: clamp(251.35px, 32.73vw, 360px);
  }
}
.c-interview .c-interview__content4 {
  margin-top: 20.83vw;
  padding-left: 6.25vw;
}
@media print, screen and (min-width:768px) {
  .c-interview .c-interview__content4 {
    margin-top: clamp(139.64px, 18.18vw, 200px);
    padding-left: 0;
  }
}
.c-interview .c-interview__content4-text {
  font-size: 4.17vw;
  letter-spacing: 0.02em;
  line-height: 1.8;
  margin: 0;
  text-align: left;
}
@media print, screen and (min-width:768px) {
  .c-interview .c-interview__content4-text {
    font-size: clamp(13.96px, 1.82vw, 20px);
    text-align: center;
  }
}
.c-interview .c-interview__content4-text strong {
  color: var(--color-02-yellow);
  display: block;
  font-size: 7.29vw;
  font-style: italic;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: clamp(20.95px, 2.73vw, 30px);
}
@media print, screen and (min-width:768px) {
  .c-interview .c-interview__content4-text strong {
    font-size: clamp(25.13px, 3.27vw, 36px);
    margin-bottom: clamp(6.98px, 0.91vw, 10px);
  }
}
.c-interview .c-interview__text {
  -webkit-filter: drop-shadow(0 0 1.04vw rgb(0, 0, 0)) drop-shadow(0 0 4.17vw rgb(0, 0, 0));
  filter: drop-shadow(0 0 1.04vw rgb(0, 0, 0)) drop-shadow(0 0 4.17vw rgb(0, 0, 0));
  font-size: 3.44vw;
  letter-spacing: 0.02em;
  line-height: 1.8;
  margin: 0;
  position: relative;
  text-align: justify;
  z-index: 1;
}
@media print, screen and (min-width:768px) {
  .c-interview .c-interview__text {
    -webkit-filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgb(0, 0, 0)) drop-shadow(0 0 clamp(13.96px, 1.82vw, 20px) rgb(0, 0, 0));
    filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgb(0, 0, 0)) drop-shadow(0 0 clamp(13.96px, 1.82vw, 20px) rgb(0, 0, 0));
    font-size: clamp(11.17px, 1.45vw, 16px);
    line-height: 2;
  }
}

.c-belief {
  background-color: var(--color-01-beige);
  background-image: url(../images/belief-background.webp);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--color-00-black);
  padding: 12.5vw 0 0;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-belief {
    padding: clamp(69.82px, 9.09vw, 100px) clamp(34.91px, 4.55vw, 50px) 0;
  }
}
.c-belief__inner {
  padding-bottom: 45.83vw;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-belief__inner {
    margin: 0 auto;
    max-width: 900px;
    padding-bottom: clamp(153.6px, 20vw, 220px);
  }
}
.c-belief__title {
  margin: 0 auto;
  width: 85vw;
}
@media print, screen and (min-width:768px) {
  .c-belief__title {
    width: clamp(515.96px, 67.18vw, 739px);
  }
}
.c-belief__text1 {
  font-size: 3.75vw;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 13.54vw;
  text-align: center;
}
@media print, screen and (min-width:768px) {
  .c-belief__text1 {
    font-size: clamp(12.57px, 1.64vw, 18px);
    margin: clamp(55.85px, 7.27vw, 80px) auto 0 clamp(279.27px, 36.36vw, 400px);
    text-align: left;
    width: clamp(314.18px, 40.91vw, 450px);
  }
}
.c-belief__text1 strong {
  color: var(--color-01-red);
  font-size: 1.4em;
  font-weight: 600;
}
.c-belief__text2 {
  font-size: 3.75vw;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 10.42vw;
  text-align: center;
}
@media print, screen and (min-width:768px) {
  .c-belief__text2 {
    font-size: clamp(12.57px, 1.64vw, 18px);
    margin: clamp(69.82px, 9.09vw, 100px) auto 0 0;
    text-align: left;
    width: clamp(349.09px, 45.45vw, 500px);
  }
}
.c-belief__photo1 {
  bottom: 10.42vw;
  -webkit-filter: drop-shadow(0 0 1.04vw rgba(0, 0, 0, 0.3));
  filter: drop-shadow(0 0 1.04vw rgba(0, 0, 0, 0.3));
  left: 2.6vw;
  position: absolute;
  width: 33.33vw;
}
@media print, screen and (min-width:768px) {
  .c-belief__photo1 {
    bottom: auto;
    -webkit-filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(0, 0, 0, 0.3));
    filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(0, 0, 0, 0.3));
    left: clamp(13.96px, 1.82vw, 20px);
    top: clamp(69.82px, 9.09vw, 100px);
    width: clamp(223.42px, 29.09vw, 320px);
  }
}
.c-belief__photo2 {
  bottom: 5.21vw;
  -webkit-filter: drop-shadow(0 0 1.04vw rgba(0, 0, 0, 0.3));
  filter: drop-shadow(0 0 1.04vw rgba(0, 0, 0, 0.3));
  left: 37.5vw;
  position: absolute;
  width: 27.08vw;
}
@media print, screen and (min-width:768px) {
  .c-belief__photo2 {
    bottom: clamp(125.67px, 16.36vw, 180px);
    -webkit-filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(0, 0, 0, 0.3));
    filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(0, 0, 0, 0.3));
    left: auto;
    right: clamp(20.95px, 2.73vw, 30px);
    width: clamp(181.53px, 23.64vw, 260px);
    z-index: 2;
  }
}
.c-belief__photo3 {
  bottom: 9.38vw;
  -webkit-filter: drop-shadow(0 0 1.04vw rgba(0, 0, 0, 0.3));
  filter: drop-shadow(0 0 1.04vw rgba(0, 0, 0, 0.3));
  left: 64.58vw;
  position: absolute;
  width: 33.33vw;
}
@media print, screen and (min-width:768px) {
  .c-belief__photo3 {
    bottom: clamp(55.85px, 7.27vw, 80px);
    -webkit-filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(0, 0, 0, 0.3));
    filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(0, 0, 0, 0.3));
    left: auto;
    right: clamp(139.64px, 18.18vw, 200px);
    width: clamp(223.42px, 29.09vw, 320px);
    z-index: 1;
  }
}

.c-review {
  background-color: var(--color-03-gray);
  color: var(--color-00-white);
  padding: 12.5vw 6.25vw;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-review {
    padding: clamp(69.82px, 9.09vw, 100px) clamp(48.87px, 6.36vw, 70px);
  }
}
.c-review__inner {
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-review__inner {
    margin: 0 auto;
    max-width: 860px;
  }
}
.c-review__title {
  margin: 0 auto;
  width: 62.5vw;
}
@media print, screen and (min-width:768px) {
  .c-review__title {
    width: clamp(203.17px, 26.45vw, 291px);
  }
}
.c-review__lead {
  font-family: var(--font-family-secondary);
  font-size: 3.54vw;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 10.42vw;
  text-align: center;
}
@media print, screen and (min-width:768px) {
  .c-review__lead {
    font-size: clamp(11.87px, 1.55vw, 17px);
    margin-top: clamp(20.95px, 2.73vw, 30px);
  }
}
.c-review__list {
  display: grid;
  gap: 4.17vw;
  grid-template-columns: 1fr;
  margin-top: 10.42vw;
}
@media print, screen and (min-width:768px) {
  .c-review__list {
    gap: clamp(20.95px, 2.73vw, 30px) clamp(27.93px, 3.64vw, 40px);
    grid-template-columns: repeat(2, 1fr);
    margin-top: clamp(34.91px, 4.55vw, 50px);
  }
}
.c-review__item {
  display: block;
  -webkit-filter: drop-shadow(0 0 1.04vw rgba(0, 0, 0, 0.3));
  filter: drop-shadow(0 0 1.04vw rgba(0, 0, 0, 0.3));
}
@media print, screen and (min-width:768px) {
  .c-review__item {
    -webkit-filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(0, 0, 0, 0.3));
    filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(0, 0, 0, 0.3));
  }
}
.c-review__item:last-child {
  margin-top: 1.04vw;
}
@media print, screen and (min-width:768px) {
  .c-review__item:last-child {
    margin-top: 0;
  }
}
.c-review__instagram {
  background-color: var(--color-00-black);
  border-radius: 2.08vw;
  display: grid;
  gap: 2.08vw;
  grid-template-areas: "title" "embed" "button";
  grid-template-columns: 1fr;
  margin: 4.17vw -2.08vw 0;
  padding: 6.25vw 6.25vw;
}
@media print, screen and (min-width:768px) {
  .c-review__instagram {
  	max-width: 1120px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: clamp(20.95px, 2.73vw, 30px) clamp(13.96px, 1.82vw, 20px);
    grid-template-areas: "title button" "embed embed";
    grid-template-columns: 1fr auto;
    margin: clamp(34.91px, 4.55vw, 50px) auto 0;
    padding: clamp(20.95px, 2.73vw, 30px) clamp(34.91px, 4.55vw, 50px);
  }
}
.c-review__instagram-title {
  grid-area: title;
}

.c-review__instagram-button {
  grid-area: button;
}
.c-review__instagram-button a {
  background-color: var(--color-00-white);
  border-radius: 1.04vw;
  border-radius: 100px;
  color: var(--color-01-pink);
  display: block;
  font-family: var(--font-family-secondary);
  font-size: 3.54vw;
  font-weight: 700;
  line-height: 1;
  margin: 0 auto;
  padding: 1.04vw 6.25vw;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media print, screen and (min-width:768px) {
  .c-review__instagram-button a {
    font-size: clamp(10.47px, 1.36vw, 15px);
    padding: clamp(2.79px, 0.36vw, 4px) clamp(20.95px, 2.73vw, 30px);
  }
}
.c-review__instagram-embed {
  display: grid;
  gap: 2.08vw;
  grid-area: embed;
  grid-template-columns: 1fr;
  width: 100%;
}
@media print, screen and (min-width:768px){
  .c-review__instagram-embed {
    gap: clamp(13.96px, 1.82vw, 20px);
    grid-template-columns: repeat(3, 1fr);
  }
}
.c-review__instagram-embed-inner {
  height: 100%;
  width: 100%;
}
.c-review__instagram-embed-inner > iframe {
  min-width: auto !important;
  width: 100% !important;
}

.c-flow {
  background-color: var(--color-02-beige);
  color: var(--color-00-black);
  padding: 12.5vw 6.25vw;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-flow {
    padding: clamp(69.82px, 9.09vw, 100px) clamp(13.96px, 1.82vw, 20px);
  }
}
.c-flow__inner {
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-flow__inner {
    margin: 0 auto;
    max-width: 1000px;
  }
}
.c-flow__title {
  margin: 0 auto;
  width: 70.31vw;
}
@media print, screen and (min-width:768px) {
  .c-flow__title {
    width: clamp(326.75px, 42.55vw, 468px);
  }
}
.c-flow__list {
  display: grid;
  gap: 2.08vw;
  grid-template-columns: 1fr;
  margin-top: 10.42vw;
}
@media print, screen and (min-width:768px) {
  .c-flow__list {
    gap: clamp(20.95px, 2.73vw, 30px);
    grid-template-columns: repeat(4, 1fr);
    margin-top: clamp(83.78px, 10.91vw, 120px);
  }
}
.c-flow__item {
  background-color: var(--color-01-beige);
  margin-left: 16.67vw;
  padding: 4.17vw;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-flow__item {
    margin: 0;
    padding: clamp(41.89px, 5.45vw, 60px) clamp(13.96px, 1.82vw, 20px) clamp(27.93px, 3.64vw, 40px);
  }
}
.c-flow__item:after {
  background-color: var(--color-01-gray);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  content: "";
  display: block;
  height: 3.13vw;
  left: -11.88vw;
  position: absolute;
  top: clamp(83.78px, 10.91vw, 120px);
  width: 5.21vw;
}
@media print, screen and (min-width:768px) {
  .c-flow__item:after {
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    height: clamp(16.76px, 2.18vw, 24px);
    left: auto;
    right: clamp(-23px, -2.09vw, -16.06px);
    top: clamp(48.87px, 6.36vw, 70px);
    width: clamp(9.77px, 1.27vw, 14px);
  }
}
.c-flow__item:last-child:after {
  display: none;
}
.c-flow__item-title {
  font-family: var(--font-family-secondary);
  font-size: 4.17vw;
  font-weight: 700;
}
@media print, screen and (min-width:768px) {
  .c-flow__item-title {
    font-size: clamp(11.17px, 1.45vw, 16px);
  }
}
.c-flow__item-text {
  font-family: var(--font-family-secondary);
  font-size: 3.54vw;
  letter-spacing: 0.03em;
  line-height: 1.5;
}
@media print, screen and (min-width:768px) {
  .c-flow__item-text {
    font-size: clamp(9.08px, 1.18vw, 13px);
  }
}
.c-flow__icon {
  display: block;
  left: -16.67vw;
  position: absolute;
  top: 0;
  width: 14.58vw;
}
@media print, screen and (min-width:768px) {
  .c-flow__icon {
    left: clamp(55.85px, 7.27vw, 80px);
    top: clamp(-50px, -4.55vw, -34.91px);
    width: clamp(48.87px, 6.36vw, 70px);
  }
}
.c-flow__icon-step {
  margin: 0 auto;
  width: 9.38vw;
}
@media print, screen and (min-width:768px) {
  .c-flow__icon-step {
    width: clamp(34.91px, 4.55vw, 50px);
  }
}
.c-flow__icon-image {
  margin: 1.04vw auto 0;
  width: 14.58vw;
}
@media print, screen and (min-width:768px) {
  .c-flow__icon-image {
    width: clamp(48.87px, 6.36vw, 70px);
  }
}

.c-safety {
  background-color: var(--color-04-gray);
  color: var(--color-00-black);
  padding: 12.5vw 0;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-safety {
    padding: clamp(69.82px, 9.09vw, 100px) clamp(13.96px, 1.82vw, 20px);
  }
}
.c-safety__inner {
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-safety__inner {
    margin: 0 auto;
    max-width: 1000px;
  }
}
.c-safety__title {
  margin: 0 auto;
  width: 91.25vw;
}
@media print, screen and (min-width:768px) {
  .c-safety__title {
    width: clamp(455.91px, 59.36vw, 653px);
  }
}
.c-safety__lead {
  font-size: 3.75vw;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.6;
  margin-top: 10.42vw;
  text-align: center;
}
@media print, screen and (min-width:768px) {
  .c-safety__lead {
    font-size: clamp(12.57px, 1.64vw, 18px);
    margin-top: clamp(34.91px, 4.55vw, 50px);
  }
}
.c-safety__lead strong {
  color: var(--color-01-red);
  font-size: 1.4em;
  font-weight: 500;
}
.c-safety__list {
  display: grid;
  gap: 4.17vw;
  grid-template-columns: 1fr;
  margin: 10.42vw 6.25vw 0;
  margin-top: 10.42vw;
}
@media print, screen and (min-width:768px) {
  .c-safety__list {
    gap: clamp(13.96px, 1.82vw, 20px);
    grid-template-columns: repeat(3, 1fr);
    margin: clamp(34.91px, 4.55vw, 50px) 0 0;
  }
}
.c-safety__item {
  -webkit-filter: drop-shadow(0 0 1.04vw rgba(0, 0, 0, 0.05));
  filter: drop-shadow(0 0 1.04vw rgba(0, 0, 0, 0.05));
}
@media print, screen and (min-width:768px) {
  .c-safety__item {
    -webkit-filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(0, 0, 0, 0.05));
    filter: drop-shadow(0 0 clamp(6.98px, 0.91vw, 10px) rgba(0, 0, 0, 0.05));
  }
}
.c-safety__instagram {
  background-color: var(--color-00-black);
  border-radius: 2.08vw;
  margin: 10.42vw 3.13vw 0;
  padding: 6.25vw 6.25vw;
}
@media print, screen and (min-width:768px) {
  .c-safety__instagram {
    margin: clamp(34.91px, 4.55vw, 50px) auto 0;
    max-width: 860px;
    padding: clamp(20.95px, 2.73vw, 30px) clamp(41.89px, 5.45vw, 60px);
  }
}
.c-safety__instagram-title {
  margin: 0 auto;
  width: 75vw;
}
@media print, screen and (min-width:768px) {
  .c-safety__instagram-title {
    width: clamp(460.8px, 60vw, 660px);
  }
}
.c-safety__instagram-list {
  display: grid;
  gap: 1.04vw;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 6.25vw;
}
@media print, screen and (min-width:768px) {
  .c-safety__instagram-list {
    gap: clamp(13.96px, 1.82vw, 20px);
    margin-top: clamp(20.95px, 2.73vw, 30px);
  }
}
.c-safety__instagram-button {
  margin-top: 6.25vw;
}
@media print, screen and (min-width:768px) {
  .c-safety__instagram-button {
    margin-top: clamp(20.95px, 2.73vw, 30px);
  }
}
.c-safety__instagram-button a {
  background-color: var(--color-00-white);
  border-radius: 1.04vw;
  border-radius: 100px;
  color: var(--color-01-pink);
  display: block;
  font-family: var(--font-family-secondary);
  font-size: 3.54vw;
  font-weight: 700;
  line-height: 1;
  margin: 0 auto;
  padding: 1.04vw 6.25vw;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media print, screen and (min-width:768px) {
  .c-safety__instagram-button a {
    font-size: clamp(10.47px, 1.36vw, 15px);
    padding: clamp(2.79px, 0.36vw, 4px) clamp(20.95px, 2.73vw, 30px);
  }
}

.c-footer {
  background-color: var(--color-00-black);
  color: var(--color-00-white);
  padding: 6.25vw 2.08vw 33.33vw;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-footer {
    padding: clamp(27.93px, 3.64vw, 40px) clamp(13.96px, 1.82vw, 20px) clamp(83.78px, 10.91vw, 120px);;
  }
}
.c-footer__copyright {
  font-family: var(--font-family-secondary);
  font-size: 2.71vw;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
}
@media print, screen and (min-width:768px) {
  .c-footer__copyright {
    font-size: clamp(8.38px, 1.09vw, 12px);
  }
}

.c-fixed-cta {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background-color: rgba(0, 0, 0, 0.5);
  bottom: 0;
  height: 24.088vw;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
  width: 100%;
  z-index: 100;
}
@media print, screen and (min-width:768px) {
  .c-fixed-cta {
    height: clamp(46px, 8.18vw, 90px);
  }
}
.c-fixed-cta.-is-scrolled {
  opacity: 1;
  pointer-events: auto;
}
.c-fixed-cta__inner {
  padding: 2vw 3.13vw 0;
  position: relative;
}
@media print, screen and (min-width:768px) {
  .c-fixed-cta__inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: grid;
    /*gap: clamp(13.96px, 1.82vw, 20px);*/
    grid-template-columns: auto auto;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: clamp(3.49px, 0.45vw, 5px) clamp(34.91px, 4.55vw, 50px);
  }
}
.c-fixed-cta__button {
  display: block;
}
@media print, screen and (min-width:768px) {
  .c-fixed-cta__button {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 clamp(349.09px, 59.090vw, 650px);
    flex: 0 0 clamp(349.09px, 59.09vw, 650px);
    width: clamp(349.09px, 59.09vw, 650px);
  }
}
@media (hover: hover) {
  .c-fixed-cta__button {
    -webkit-transition: opacity 200ms;
    transition: opacity 200ms;
  }
  .c-fixed-cta__button:hover {
    opacity: 0.8;
  }
}
