@charset "UTF-8";
/* ====================================
ガイドライン
==================================== */
:root {
  --max: 1560px;
  --max2: 1300px;
  --outer: 50px;
  --inner: 7px;
}

.guidelines {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
}

.guidelines .guide {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #00e8e8;
  opacity: 0.9;
}

.guidelines .container-start {
  left: calc(50% - var(--max) / 2);
  background: #00ff00;
}

.guidelines .container-end {
  left: calc(50% + var(--max) / 2);
  background: #00ff00;
}

.guidelines .outer-start {
  left: calc(50% - var(--max2) / 2);
}

.guidelines .outer-end {
  left: calc(50% + var(--max2) / 2);
}

.guidelines .center {
  left: 50%;
  background: #00ff00;
}

.guidelines .inner-left {
  left: calc(50% - var(--inner));
}

.guidelines .inner-right {
  left: calc(50% + var(--inner));
}

/* ====================================
_base.scss
==================================== */
html.lenis {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

html.is-scroll-locked,
html.is-scroll-locked body {
  overflow: hidden;
  height: 100%;
}

body {
  color: hsl(0, 0%, 1%);
  font-family: "Zen Kaku Gothic Antique", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Noto Sans JP", "Noto Sans CJK JP", "Meiryo UI", "メイリオ", Meiryo, "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-optical-sizing: auto;
  line-height: 1.875;
  letter-spacing: normal;
  letter-spacing: 0.05em;
  position: relative;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  transition: 0.5s ease;
  overflow-y: visible;
  overflow-anchor: none;
}
@media screen and (max-width: 749px) {
  body {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  body {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  body {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  body {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}

.l-inner {
  max-width: min(1100px, 98%);
  margin-inline: auto;
}
.l-inner--sm {
  max-width: min(960px, 98%);
  margin-inline: auto;
}
.l-inner--md {
  width: min(1300px, 81.25vw);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner--md {
    width: min(630px, 84vw);
  }
}
.l-inner--lg {
  width: min(1560px, 97.5vw);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner--lg {
    width: min(710px, 94.7vw);
  }
}
.l-inner--xl {
  max-width: min(1560px, 98%);
  margin-inline: auto;
}

@font-face {
  font-family: "Outfit";
  src: url("../font/Outfit-VariableFont_wght.woff2") format("woff2");
  font-optical-sizing: auto;
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../font/Barlow-SemiBold.woff2") format("woff2");
  font-family: "Barlow";
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../font/ZenKakuGothicAntique-Light.woff2") format("woff2");
  font-family: "Zen Kaku Gothic Antique";
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../font/ZenKakuGothicAntique-Regular.woff2") format("woff2");
  font-family: "Zen Kaku Gothic Antique";
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../font/ZenKakuGothicAntique-Medium.woff2") format("woff2");
  font-family: "Zen Kaku Gothic Antique";
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../font/ZenKakuGothicAntique-Bold.woff2") format("woff2");
  font-family: "Zen Kaku Gothic Antique";
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  src: url("../font/ZenKakuGothicAntique-Black.woff2") format("woff2");
  font-family: "Zen Kaku Gothic Antique";
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
*[class*=b-yugo-] {
  font-family: "Zen Kaku Gothic Antique", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic Medium", "Yu Gothic", "YuGothic", "Noto Sans JP", "Noto Sans CJK JP", "Meiryo UI", "メイリオ", Meiryo, "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-optical-sizing: auto;
}

*[class*=b-en-] {
  font-family: "Outfit", "Barlow", "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-optical-sizing: auto;
}

.b-yugo-300 {
  font-weight: 300;
}

.b-en-300 {
  font-weight: 300;
}

.b-yugo-400 {
  font-weight: 400;
}

.b-en-400 {
  font-weight: 400;
}

.b-yugo-500 {
  font-weight: 500;
}

.b-en-500 {
  font-weight: 500;
}

.b-yugo-600 {
  font-weight: 600;
}

.b-en-600 {
  font-weight: 600;
}

.b-yugo-700 {
  font-weight: 700;
}

.b-en-700 {
  font-weight: 700;
}

.b-yugo-900 {
  font-weight: 900;
}

.b-en-900 {
  font-weight: 900;
}

:root {
  --reveal-dist: 24px;
  --reveal-dur: 0.8s;
  --reveal-ease: cubic-bezier(0.23, 1, 0.32, 1);
  /* ▼ 追加（初期値は控えめに） */
  --blur-delay: 0.12s;
  --blur-dur: 0.9s;
}

.reveal {
  opacity: 0;
  --tx: 0;
  --ty: 0;
  --scale: 1;
  filter: blur(var(--blur, 0));
  transform: translate3d(var(--tx), var(--ty), 0) scale(var(--scale));
  /* ▼ filter だけ遅らせる。要素固有の --delay も考慮して合算 */
  transition: opacity var(--dur, var(--reveal-dur)) var(--ease, var(--reveal-ease)) var(--delay, 0s), transform var(--dur, var(--reveal-dur)) var(--ease, var(--reveal-ease)) var(--delay, 0s), filter var(--blur-dur, var(--reveal-dur)) var(--ease, var(--reveal-ease)) calc(var(--delay, 0s) + var(--blur-delay, 0s));
  will-change: opacity, transform, filter;
  /* バリエーション（移動したい時だけ付ける） */
  /* ブラー強度（動きは付与しない） */
}
.reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}
.reveal.-up {
  --ty: var(--reveal-dist);
}
.reveal.-down {
  --ty: calc(-1 * var(--reveal-dist));
}
.reveal.-left {
  --tx: calc(-1 * var(--reveal-dist));
}
.reveal.-right {
  --tx: var(--reveal-dist);
}
.reveal.-zoom {
  --scale: 0.94;
}
.reveal.-blur {
  --blur: 10px;
}
.reveal.-blur-sm {
  --blur: 6px;
}
.reveal.-blur-lg {
  --blur: 16px;
}
.reveal.-blur-slow {
  --blur-dur: 1.2s;
}
.reveal.-blur-later {
  --blur-delay: 0.24s;
}
.reveal.-mask {
  position: relative;
  overflow: hidden;
  opacity: 1;
  transform: none;
  filter: none;
  transition: none;
  will-change: auto;
}
.reveal.-mask > .-mask__cont {
  opacity: 0;
  transition: opacity 0ms 0.7s;
}
.reveal.-mask.is-visible > .-mask__cont {
  opacity: 1;
}
.reveal.-mask::after {
  content: "";
  position: absolute;
  inset: 0;
  background: hsl(0, 0%, 100%);
  transform: translateX(-101%);
  will-change: transform;
  pointer-events: none;
}
.reveal.-mask.is-visible::after {
  animation: reveal-mask 1.2s cubic-bezier(0.8, 0, 0.17, 1) forwards;
}

/* 負荷配慮（任意） */
@media screen and (max-width: 767px) {
  .reveal.-blur {
    --blur-delay: 0.08s;
    --blur-dur: 0.7s;
  }
}
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal-clip,
  .reveal-underline {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    clip-path: none !important;
    background-size: 100% 100% !important;
  }
  .reveal.-mask::after {
    animation: none !important;
    transform: translateX(101%) !important;
  }
}
/* クリップ（必要なら） */
.reveal-clip {
  clip-path: inset(0 100% 0 0);
  transition: clip-path var(--dur, 0.9s) var(--ease, var(--reveal-ease));
  transition-delay: var(--delay, 0s);
}
.reveal-clip.is-visible {
  clip-path: inset(0 0 0 0);
}

/* アンダーライン（シンプル版・背景を伸ばす） */
.reveal-underline {
  background-size: 0% 100%;
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background-size 0.5s ease;
  transition-delay: var(--delay, 0s);
}
.reveal-underline.is-visible {
  background-size: 100% 100%;
}

/* 動きが苦手な人向け */
@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal-clip,
  .reveal-underline {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    clip-path: none !important;
    background-size: 100% 100% !important;
  }
}
@keyframes reveal-mask {
  0% {
    transform: translateX(-101%);
  }
  40%, 60% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(101%);
  }
}
/* 親：幅をここで管理（必要に応じて調整） */
/* 親：幅をここで管理（必要に応じて数値調整） */
/* ====================================
ttl
==================================== */
.c-ttl:before {
  content: "";
  display: block;
  background: url(../images/cmn/ttl_ai.svg) center/contain no-repeat;
  aspect-ratio: 78/43;
}
@media screen and (max-width: 749px) {
  .c-ttl:before {
    margin-block-end: clamp(1.375rem, 5.8667vw, 2.75rem);
    width: clamp(3.4375rem, 14.6667vw, 6.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-ttl:before {
    margin-block-end: 2.75rem;
    width: 6.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-ttl:before {
    margin-block-end: 1.75vw;
    width: 4.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-ttl:before {
    margin-block-end: 1.75rem;
    width: 4.875rem;
  }
}
.c-ttl__en {
  line-height: 1;
  display: block;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 749px) {
  .c-ttl__en {
    font-size: clamp(2.5625rem, 10.9333vw, 5.125rem);
    margin-block-end: clamp(1.25rem, 5.3333vw, 2.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-ttl__en {
    font-size: 5.125rem;
    margin-block-end: 2.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-ttl__en {
    font-size: 4.375vw;
    margin-block-end: 1.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-ttl__en {
    font-size: 4.375rem;
    margin-block-end: 1.75rem;
  }
}
.c-ttl__ja {
  line-height: 1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .c-ttl__ja {
    font-size: clamp(0.9375rem, 4vw, 1.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-ttl__ja {
    font-size: 1.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-ttl__ja {
    font-size: 1.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-ttl__ja {
    font-size: 1.375rem;
  }
}
.c-ttl__ja:before {
  content: "";
  display: inline-block;
  height: 3px;
  background: url(../images/cmn/ttl_line.svg) center/contain no-repeat;
}
@media screen and (max-width: 749px) {
  .c-ttl__ja:before {
    margin-inline-end: clamp(0.6875rem, 2.9333vw, 1.375rem);
    width: clamp(0.9375rem, 4vw, 1.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-ttl__ja:before {
    margin-inline-end: 1.375rem;
    width: 1.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-ttl__ja:before {
    margin-inline-end: 1vw;
    width: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-ttl__ja:before {
    margin-inline-end: 1rem;
    width: 1.25rem;
  }
}

/* ====================================
pic
==================================== */
.c-pic img {
  width: 100%;
  height: auto;
}

/* ====================================
btn
==================================== */
.c-contactBtn {
  border-radius: 999px;
  background: hsl(357, 100%, 43%);
  color: hsl(0, 0%, 100%);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 749px) {
  .c-contactBtn {
    font-size: clamp(0.875rem, 3.7333vw, 1.75rem);
    padding-inline: clamp(0.9375rem, 4vw, 1.875rem);
    width: clamp(10.125rem, 43.2vw, 20.25rem);
    height: clamp(2.8125rem, 12vw, 5.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-contactBtn {
    font-size: 1.75rem;
    padding-inline: 1.875rem;
    width: 20.25rem;
    height: 5.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-contactBtn {
    font-size: 0.875vw;
    padding-inline: 0.875vw;
    width: 10vw;
    height: 2.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-contactBtn {
    font-size: 0.875rem;
    padding-inline: 0.875rem;
    width: 10rem;
    height: 2.75rem;
  }
}
.c-contactBtn:hover {
  opacity: 0.7;
}
.c-contactBtn:before {
  content: "";
}
.c-contactBtn img {
  display: block;
  justify-self: end;
  aspect-ratio: 5/10;
  height: auto;
}
@media screen and (max-width: 749px) {
  .c-contactBtn img {
    width: clamp(0.25rem, 1.0667vw, 0.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-contactBtn img {
    width: 0.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-contactBtn img {
    width: 0.3125vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-contactBtn img {
    width: 0.3125rem;
  }
}

.c-entryBtn {
  border-radius: 999px;
  background: hsl(214, 100%, 29%);
  color: hsl(0, 0%, 100%);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 749px) {
  .c-entryBtn {
    font-size: clamp(1.0625rem, 4.5333vw, 2.125rem);
    padding-inline: clamp(0.9375rem, 4vw, 1.875rem);
    width: clamp(10.125rem, 43.2vw, 20.25rem);
    height: clamp(2.8125rem, 12vw, 5.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-entryBtn {
    font-size: 2.125rem;
    padding-inline: 1.875rem;
    width: 20.25rem;
    height: 5.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-entryBtn {
    font-size: 1vw;
    padding-inline: 0.875vw;
    width: 10vw;
    height: 2.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-entryBtn {
    font-size: 1rem;
    padding-inline: 0.875rem;
    width: 10rem;
    height: 2.75rem;
  }
}
.c-entryBtn:hover {
  opacity: 0.7;
}
.c-entryBtn:before {
  content: "";
}
.c-entryBtn img {
  display: block;
  justify-self: end;
  aspect-ratio: 5/10;
  height: auto;
}
@media screen and (max-width: 749px) {
  .c-entryBtn img {
    width: clamp(0.25rem, 1.0667vw, 0.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-entryBtn img {
    width: 0.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-entryBtn img {
    width: 0.3125vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-entryBtn img {
    width: 0.3125rem;
  }
}

/* ====================================
bg
==================================== */
.c-part01 {
  position: relative;
}
.c-part01::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: hsl(0, 0%, 100%);
}
.c-part01__bg {
  pointer-events: none;
  width: 100%;
  position: absolute;
  inset-inline: 0;
  z-index: 2;
  overflow: hidden;
}
@media screen and (max-width: 749px) {
  .c-part01__bg {
    inset-block-start: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .c-part01__bg {
    inset-block-start: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .c-part01__bg {
    inset-block-start: 24.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .c-part01__bg {
    inset-block-start: 24.625rem;
  }
}
.c-part01 > section {
  position: relative;
  z-index: 3;
}

.c-part02 {
  position: relative;
  --c-part02-bg-height: 0px;
}
.c-part02::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--c-part02-bg-height) - 1px);
  height: calc(100% - var(--c-part02-bg-height));
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgb(240, 240, 240) 0%, rgba(240, 240, 240, 0) 95%, rgb(255, 255, 255) 100%);
}
.c-part02__bg {
  pointer-events: none;
  width: 100%;
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 1;
  overflow: hidden;
}
.c-part02__bg::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(240, 240, 240, 0) 61%, rgb(240, 240, 240) 100%);
}
.c-part02 > section {
  position: relative;
  z-index: 3;
}

.c-box {
  background: hsl(0, 0%, 100%);
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .c-box__inner {
    width: min(710px, 94.7%);
  }
}

.breadcrumbs {
  width: min(1400px, 87.5vw);
  margin-inline: auto;
}
@media screen and (max-width: 749px) {
  .breadcrumbs {
    padding-block: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .breadcrumbs {
    padding-block: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .breadcrumbs {
    padding-block: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .breadcrumbs {
    padding-block: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .breadcrumbs {
    width: min(630px, 84vw);
  }
}
.breadcrumbs-wrap {
  border-top: 1px solid #f0f0f0;
}
@media screen and (max-width: 749px) {
  .breadcrumbs-wrap {
    margin-block-start: clamp(5rem, 21.3333vw, 10rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .breadcrumbs-wrap {
    margin-block-start: 10rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .breadcrumbs-wrap {
    margin-block-start: 10.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .breadcrumbs-wrap {
    margin-block-start: 10.25rem;
  }
}
.breadcrumbs a,
.breadcrumbs span {
  line-height: 1;
}
@media screen and (max-width: 749px) {
  .breadcrumbs a,
  .breadcrumbs span {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .breadcrumbs a,
  .breadcrumbs span {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .breadcrumbs a,
  .breadcrumbs span {
    font-size: 0.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .breadcrumbs a,
  .breadcrumbs span {
    font-size: 0.75rem;
  }
}
.breadcrumbs a.current-item,
.breadcrumbs span.current-item {
  color: #969696;
}
.breadcrumbs a.separator,
.breadcrumbs span.separator {
  margin-inline: 0.5em;
}

/* ====================================
header
==================================== */
.l-header {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 2000;
  background: hsl(0, 0%, 100%);
  opacity: 0;
  transition: opacity 0.8s ease;
}
.l-header.is-visible {
  opacity: 1;
}
.l-header__inner {
  position: relative;
  z-index: 2000;
  background: hsl(0, 0%, 100%);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .l-header__inner {
    padding-inline-start: clamp(1.25rem, 5.3333vw, 2.5rem);
    padding-block-start: clamp(1.0625rem, 4.5333vw, 2.125rem);
    padding-inline-end: clamp(0.9375rem, 4vw, 1.875rem);
    padding-block-end: clamp(0.5156rem, 2.2vw, 1.0313rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-header__inner {
    padding-inline-start: 2.5rem;
    padding-block-start: 2.125rem;
    padding-inline-end: 1.875rem;
    padding-block-end: 1.0313rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-header__inner {
    padding-inline-start: 0vw;
    padding-block-start: 0vw;
    padding-inline-end: 0vw;
    padding-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__inner {
    padding-inline-start: 0rem;
    padding-block-start: 0rem;
    padding-inline-end: 0rem;
    padding-block-end: 0rem;
  }
}
.l-header__logo img {
  aspect-ratio: 180/50;
  height: auto;
}
@media screen and (max-width: 749px) {
  .l-header__logo img {
    width: clamp(5.625rem, 24vw, 11.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-header__logo img {
    width: 11.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-header__logo img {
    width: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__logo img {
    width: 0rem;
  }
}
.l-header__btn {
  position: relative;
  background: transparent;
  flex-direction: column;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
.l-header__btn > span {
  display: block;
  background: hsl(214, 100%, 29%);
  transition: transform 0.2s ease, opacity 0.2s ease;
}
@media screen and (max-width: 749px) {
  .l-header__btn > span {
    width: clamp(1.75rem, 7.4667vw, 3.5rem);
    height: clamp(0.1875rem, 0.8vw, 0.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-header__btn > span {
    width: 3.5rem;
    height: 0.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-header__btn > span {
    width: 0vw;
    height: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__btn > span {
    width: 0rem;
    height: 0rem;
  }
}
@media screen and (max-width: 749px) {
  .l-header__btn > span + span {
    margin-block-start: clamp(0.5rem, 2.1333vw, 1rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-header__btn > span + span {
    margin-block-start: 1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-header__btn > span + span {
    margin-block-start: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__btn > span + span {
    margin-block-start: 0rem;
  }
}
.l-header__btn[aria-expanded=true] > span:first-child {
  transform: translateY(0.5em);
}
.l-header__btn[aria-expanded=true] > span:last-of-type {
  transform: translateY(-0.5em);
}
.l-header__btn small {
  display: block;
}
@media screen and (max-width: 749px) {
  .l-header__btn small {
    margin-block-start: clamp(0.125rem, 0.5333vw, 0.25rem);
    font-size: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-header__btn small {
    margin-block-start: 0.25rem;
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-header__btn small {
    margin-block-start: 0vw;
    font-size: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-header__btn small {
    margin-block-start: 0rem;
    font-size: 0rem;
  }
}

/* ====================================
drawer
==================================== */
.l-drawer {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: grid;
  grid-template-rows: 1fr;
  height: 100svh;
  padding-block-start: var(--header-height, 0px);
}
.l-drawer[hidden] {
  display: none;
}
.l-drawer__panel {
  align-self: stretch;
  background: rgba(40, 40, 50, 0.98);
  color: hsl(0, 0%, 100%);
  height: 100%;
  max-height: none;
  overflow: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transform: translateY(-100%);
  transition: transform 0.25s ease;
}
@media screen and (max-width: 749px) {
  .l-drawer__panel {
    padding-block-end: clamp(1.875rem, 8vw, 3.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-drawer__panel {
    padding-block-end: 3.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-drawer__panel {
    padding-block-end: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-drawer__panel {
    padding-block-end: 1rem;
  }
}
.l-drawer__nav {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-drawer__list {
  display: flex;
  flex-direction: column;
  text-align: center;
  list-style: none;
}
.l-drawer__list a {
  display: block;
  margin-block-end: 1em;
}
@media screen and (max-width: 749px) {
  .l-drawer__list a {
    font-size: clamp(1.125rem, 4.8vw, 2.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-drawer__list a {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-drawer__list a {
    font-size: 2.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-drawer__list a {
    font-size: 2.25rem;
  }
}
.l-drawer__btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.l-drawer__btns a {
  justify-self: center;
}
.l-drawer.is-open {
  animation: drawerFade 0.18s ease;
}
.l-drawer.is-open .l-drawer__panel {
  transform: translateY(0);
}

@keyframes drawerFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
html.is-drawer-open,
body.is-drawer-open {
  overflow: hidden;
}

/* ====================================
gNav
==================================== */
.l-gNav {
  background: hsl(0, 0%, 100%);
  opacity: 0;
  transition: opacity 0.8s ease;
}
.l-gNav.is-visible {
  opacity: 1;
}
@media screen and (max-width: 749px) {
  .l-gNav {
    padding-inline: clamp(1.25rem, 5.3333vw, 2.5rem);
    padding-block: clamp(0.4375rem, 1.8667vw, 0.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-gNav {
    padding-inline: 2.5rem;
    padding-block: 0.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-gNav {
    padding-inline: 1.875vw;
    padding-block: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-gNav {
    padding-inline: 1.875rem;
    padding-block: 0.875rem;
  }
}
@media screen and (min-width: 768px) {
  .l-gNav {
    position: sticky;
    top: 0;
    z-index: 900;
  }
}
.l-gNav__grid {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .l-gNav__grid {
    display: block;
  }
}
.l-gNav__logo img {
  aspect-ratio: 112/31;
}
@media screen and (max-width: 749px) {
  .l-gNav__logo img {
    width: clamp(5.625rem, 24vw, 11.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-gNav__logo img {
    width: 11.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-gNav__logo img {
    width: 7vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-gNav__logo img {
    width: 7rem;
  }
}
.l-gNav__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .l-gNav__nav {
    justify-content: space-between;
  }
}
@media screen and (max-width: 749px) {
  .l-gNav__nav {
    gap: 0rem;
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-gNav__nav {
    gap: 0rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-gNav__nav {
    gap: 2.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-gNav__nav {
    gap: 2.5rem;
  }
}
.l-gNav__list {
  list-style: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: nowrap;
}
.l-gNav__list li:not(:last-child)::after {
  content: "/";
  margin-inline: 0.5em;
}
.l-gNav__list li a {
  transition: opacity 0.3s ease;
}
.l-gNav__list li a:hover {
  opacity: 0.7;
}
.l-gNav__btn {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 749px) {
  .l-gNav__btn {
    gap: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-gNav__btn {
    gap: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-gNav__btn {
    gap: 0.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-gNav__btn {
    gap: 0.625rem;
  }
}

/* ====================================
footer
==================================== */
.l-footer {
  position: relative;
  background: hsl(0, 0%, 100%);
  z-index: 2;
}
@media screen and (max-width: 749px) {
  .l-footer {
    padding-block-start: clamp(2.75rem, 11.7333vw, 5.5rem);
    padding-block-end: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-footer {
    padding-block-start: 5.5rem;
    padding-block-end: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-footer {
    padding-block-start: 6.25vw;
    padding-block-end: 2.125vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-footer {
    padding-block-start: 6.25rem;
    padding-block-end: 2.125rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer {
    width: min(710px, 94.7%);
    margin-inline: auto;
    display: grid;
    grid-template-areas: "brand nav" "home nav" "copy copy";
  }
}
.l-footer__brand {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 749px) {
  .l-footer__brand {
    margin-block-start: clamp(0.3438rem, 1.4667vw, 0.6875rem);
    margin-block-end: 0rem;
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-footer__brand {
    margin-block-start: 0.6875rem;
    margin-block-end: 0rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-footer__brand {
    margin-block-start: 0vw;
    margin-block-end: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-footer__brand {
    margin-block-start: 0rem;
    margin-block-end: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__brand {
    grid-area: brand;
  }
}
.l-footer__logo {
  height: auto;
}
@media screen and (max-width: 749px) {
  .l-footer__logo {
    width: clamp(6.875rem, 29.3333vw, 13.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-footer__logo {
    width: 13.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-footer__logo {
    width: 12.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-footer__logo {
    width: 12.5rem;
  }
}
.l-footer__home {
  text-align: center;
}
@media screen and (max-width: 749px) {
  .l-footer__home {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
    margin-block-end: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-footer__home {
    font-size: 1.375rem;
    margin-block-end: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-footer__home {
    font-size: 1vw;
    margin-block-end: 7.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-footer__home {
    font-size: 1rem;
    margin-block-end: 7.25rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__home {
    grid-area: home;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    grid-area: nav;
    justify-self: center;
  }
}
.l-footer__links {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .l-footer__links {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.7em;
  }
}
@media screen and (max-width: 749px) {
  .l-footer__link {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-footer__link {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-footer__link {
    font-size: 0.9375vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-footer__link {
    font-size: 0.9375rem;
  }
}
.l-footer__link:not(:last-child)::after {
  content: "｜";
  margin-inline: 1em;
}
@media screen and (max-width: 767px) {
  .l-footer__link:not(:last-child)::after {
    display: none;
  }
}
.l-footer__copy {
  text-align: center;
}
@media screen and (max-width: 749px) {
  .l-footer__copy {
    margin-block-start: clamp(3rem, 12.8vw, 6rem);
    font-size: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-footer__copy {
    margin-block-start: 6rem;
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-footer__copy {
    margin-block-start: 5.3125vw;
    font-size: 0.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-footer__copy {
    margin-block-start: 5.3125rem;
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__copy {
    grid-area: copy;
  }
}

.l-mv {
  overflow-x: hidden;
  width: 100%;
  min-height: calc(100svh - var(--g-nav-height, 0px));
}

/* ====================================
	 mv-sequence
==================================== */
.l-mv-sequence {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: calc(100svh - var(--g-nav-height, 0px));
  overflow-y: hidden;
  overflow-x: visible;
}

/* ====================================
	 mv-frame
==================================== */
.l-mv-frame {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.8s ease;
}
.l-mv-frame.is-active {
  opacity: 1;
  pointer-events: auto;
}
.l-mv-frame__ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  inset: 0;
  z-index: 3;
}
.l-mv-frame__ttl img {
  display: block;
  height: auto;
  aspect-ratio: 700/162.0122;
  margin-inline: auto;
}
@media screen and (max-width: 749px) {
  .l-mv-frame__ttl img {
    width: clamp(19.6875rem, 84vw, 39.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .l-mv-frame__ttl img {
    width: 39.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .l-mv-frame__ttl img {
    width: 43.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .l-mv-frame__ttl img {
    width: 43.75rem;
  }
}

/* ====================================
	 mv-frame--1
==================================== */
.mv-frame--1__box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.mv-frame--1__txt {
  text-align: center;
  line-height: 1.9444444444;
  margin-inline-start: 0.5em;
}
@media screen and (max-width: 749px) {
  .mv-frame--1__txt {
    font-size: clamp(1.25rem, 5.3333vw, 2.5rem);
    margin-block-end: clamp(1.25rem, 5.3333vw, 2.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .mv-frame--1__txt {
    font-size: 2.5rem;
    margin-block-end: 2.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .mv-frame--1__txt {
    font-size: 2.25vw;
    margin-block-end: 3.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .mv-frame--1__txt {
    font-size: 2.25rem;
    margin-block-end: 3.375rem;
  }
}
@media screen and (max-width: 767px) {
  .mv-frame--1__txt {
    line-height: 1.85;
  }
}
.mv-frame--1__logo {
  display: block;
  aspect-ratio: 140/38;
  height: auto;
}
@media screen and (max-width: 749px) {
  .mv-frame--1__logo {
    width: clamp(5.25rem, 22.4vw, 10.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .mv-frame--1__logo {
    width: 10.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .mv-frame--1__logo {
    width: 8.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .mv-frame--1__logo {
    width: 8.75rem;
  }
}

/* ====================================
	 mv-frame--2
==================================== */
/* ====================================
	 mv-frame--3
==================================== */
.mv-frame--3 {
  overflow: hidden;
}
.mv-frame--3__box {
  position: absolute;
  z-index: 2;
}
@media screen and (max-width: 749px) {
  .mv-frame--3__box {
    top: clamp(5.75rem, 24.5333vw, 11.5rem);
    left: clamp(1.875rem, 8vw, 3.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .mv-frame--3__box {
    top: 11.5rem;
    left: 3.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .mv-frame--3__box {
    top: 4.375vw;
    left: 5vw;
  }
}
@media screen and (min-width: 1600px) {
  .mv-frame--3__box {
    top: 4.375rem;
    left: 5rem;
  }
}
.mv-frame--3__copy {
  line-height: 1.3888888889;
}
@media screen and (max-width: 749px) {
  .mv-frame--3__copy {
    font-size: clamp(1.1875rem, 5.0667vw, 2.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .mv-frame--3__copy {
    font-size: 2.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .mv-frame--3__copy {
    font-size: 2.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .mv-frame--3__copy {
    font-size: 2.25rem;
  }
}
@media screen and (max-width: 767px) {
  .mv-frame--3__copy {
    line-height: 1.6842105263;
  }
}

.tsunagu-orbit {
  margin-inline: auto;
  z-index: 1;
  flex-shrink: 0;
  left: 50%;
  top: 50%;
  translate: -50% -60%;
  position: fixed;
  pointer-events: none;
  transition: transform 0.8s ease, filter 0.8s ease, opacity 0.8s ease;
}
@media screen and (max-width: 749px) {
  .tsunagu-orbit {
    width: clamp(27.1875rem, 116vw, 54.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .tsunagu-orbit {
    width: 54.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .tsunagu-orbit {
    width: 84.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .tsunagu-orbit {
    width: 84.375rem;
  }
}
.tsunagu-orbit.is-scrolled {
  opacity: 0.5;
  filter: blur(20px);
  transform: scale(1.058);
}
.tsunagu-orbit__path {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
}
.tsunagu-orbit__list {
  position: absolute;
  inset: 0;
  z-index: 2;
  list-style: none;
}
.tsunagu-orbit__item {
  position: absolute;
  border-radius: 50%;
  overflow: hidden;
}
.tsunagu-orbit__item .c-pic {
  position: relative;
  display: block;
  line-height: 0;
}
.tsunagu-orbit__item .c-pic::before, .tsunagu-orbit__item .c-pic::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.8s ease;
}
.tsunagu-orbit__item .c-pic::before {
  background: rgba(var(--orbit-color-rgb, 177, 32, 45), 0.8);
  z-index: 2;
}
.tsunagu-orbit__item .c-pic::after {
  background: rgba(var(--orbit-color-rgb, 177, 32, 45), 1);
  mix-blend-mode: overlay;
  z-index: 3;
}
.tsunagu-orbit__item.is-colored .c-pic::before {
  opacity: 1;
}
.tsunagu-orbit__item.is-colored .c-pic::after {
  opacity: 0.5;
}
.tsunagu-orbit__img {
  height: auto;
}
.item01 .tsunagu-orbit__img {
  aspect-ratio: 22/22;
}
@media screen and (max-width: 749px) {
  .item01 .tsunagu-orbit__img {
    width: clamp(0.4688rem, 2vw, 0.9375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item01 .tsunagu-orbit__img {
    width: 0.9375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item01 .tsunagu-orbit__img {
    width: 1.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .item01 .tsunagu-orbit__img {
    width: 1.375rem;
  }
}

.item02 .tsunagu-orbit__img {
  aspect-ratio: 26/26;
}
@media screen and (max-width: 749px) {
  .item02 .tsunagu-orbit__img {
    width: clamp(0.5313rem, 2.2667vw, 1.0625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item02 .tsunagu-orbit__img {
    width: 1.0625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item02 .tsunagu-orbit__img {
    width: 1.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .item02 .tsunagu-orbit__img {
    width: 1.625rem;
  }
}

.item03 .tsunagu-orbit__img {
  aspect-ratio: 31/31;
}
@media screen and (max-width: 749px) {
  .item03 .tsunagu-orbit__img {
    width: clamp(0.6563rem, 2.8vw, 1.3125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item03 .tsunagu-orbit__img {
    width: 1.3125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item03 .tsunagu-orbit__img {
    width: 1.9375vw;
  }
}
@media screen and (min-width: 1600px) {
  .item03 .tsunagu-orbit__img {
    width: 1.9375rem;
  }
}

.item04 .tsunagu-orbit__img {
  aspect-ratio: 43/43;
}
@media screen and (max-width: 749px) {
  .item04 .tsunagu-orbit__img {
    width: clamp(0.875rem, 3.7333vw, 1.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item04 .tsunagu-orbit__img {
    width: 1.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item04 .tsunagu-orbit__img {
    width: 2.6875vw;
  }
}
@media screen and (min-width: 1600px) {
  .item04 .tsunagu-orbit__img {
    width: 2.6875rem;
  }
}

.item05 .tsunagu-orbit__img {
  aspect-ratio: 62/62;
}
@media screen and (max-width: 749px) {
  .item05 .tsunagu-orbit__img {
    width: clamp(1.25rem, 5.3333vw, 2.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item05 .tsunagu-orbit__img {
    width: 2.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item05 .tsunagu-orbit__img {
    width: 3.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .item05 .tsunagu-orbit__img {
    width: 3.875rem;
  }
}

.item06 .tsunagu-orbit__img {
  aspect-ratio: 69/69;
}
@media screen and (max-width: 749px) {
  .item06 .tsunagu-orbit__img {
    width: clamp(1.375rem, 5.8667vw, 2.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item06 .tsunagu-orbit__img {
    width: 2.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item06 .tsunagu-orbit__img {
    width: 4.3125vw;
  }
}
@media screen and (min-width: 1600px) {
  .item06 .tsunagu-orbit__img {
    width: 4.3125rem;
  }
}

.item07 .tsunagu-orbit__img {
  aspect-ratio: 103/103;
}
@media screen and (max-width: 749px) {
  .item07 .tsunagu-orbit__img {
    width: clamp(2.0625rem, 8.8vw, 4.125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item07 .tsunagu-orbit__img {
    width: 4.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item07 .tsunagu-orbit__img {
    width: 6.4375vw;
  }
}
@media screen and (min-width: 1600px) {
  .item07 .tsunagu-orbit__img {
    width: 6.4375rem;
  }
}

.item08 .tsunagu-orbit__img {
  aspect-ratio: 104/107;
}
@media screen and (max-width: 749px) {
  .item08 .tsunagu-orbit__img {
    width: clamp(2.125rem, 9.0667vw, 4.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item08 .tsunagu-orbit__img {
    width: 4.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item08 .tsunagu-orbit__img {
    width: 6.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .item08 .tsunagu-orbit__img {
    width: 6.5rem;
  }
}

.item09 .tsunagu-orbit__img {
  aspect-ratio: 92/93;
}
@media screen and (max-width: 749px) {
  .item09 .tsunagu-orbit__img {
    width: clamp(1.8438rem, 7.8667vw, 3.6875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item09 .tsunagu-orbit__img {
    width: 3.6875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item09 .tsunagu-orbit__img {
    width: 5.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .item09 .tsunagu-orbit__img {
    width: 5.75rem;
  }
}

.item10 .tsunagu-orbit__img {
  aspect-ratio: 76/78;
}
@media screen and (max-width: 749px) {
  .item10 .tsunagu-orbit__img {
    width: clamp(1.5313rem, 6.5333vw, 3.0625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item10 .tsunagu-orbit__img {
    width: 3.0625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item10 .tsunagu-orbit__img {
    width: 4.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .item10 .tsunagu-orbit__img {
    width: 4.75rem;
  }
}

.item11 .tsunagu-orbit__img {
  aspect-ratio: 67/69;
}
@media screen and (max-width: 749px) {
  .item11 .tsunagu-orbit__img {
    width: clamp(1.375rem, 5.8667vw, 2.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item11 .tsunagu-orbit__img {
    width: 2.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item11 .tsunagu-orbit__img {
    width: 4.1875vw;
  }
}
@media screen and (min-width: 1600px) {
  .item11 .tsunagu-orbit__img {
    width: 4.1875rem;
  }
}

.item12 .tsunagu-orbit__img {
  aspect-ratio: 67/69;
}
@media screen and (max-width: 749px) {
  .item12 .tsunagu-orbit__img {
    width: clamp(1.3438rem, 5.7333vw, 2.6875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item12 .tsunagu-orbit__img {
    width: 2.6875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item12 .tsunagu-orbit__img {
    width: 4.1875vw;
  }
}
@media screen and (min-width: 1600px) {
  .item12 .tsunagu-orbit__img {
    width: 4.1875rem;
  }
}

.item13 .tsunagu-orbit__img {
  aspect-ratio: 87/89;
}
@media screen and (max-width: 749px) {
  .item13 .tsunagu-orbit__img {
    width: clamp(1.7813rem, 7.6vw, 3.5625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item13 .tsunagu-orbit__img {
    width: 3.5625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item13 .tsunagu-orbit__img {
    width: 5.4375vw;
  }
}
@media screen and (min-width: 1600px) {
  .item13 .tsunagu-orbit__img {
    width: 5.4375rem;
  }
}

.item14 .tsunagu-orbit__img {
  aspect-ratio: 103/105;
}
@media screen and (max-width: 749px) {
  .item14 .tsunagu-orbit__img {
    width: clamp(2.0938rem, 8.9333vw, 4.1875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item14 .tsunagu-orbit__img {
    width: 4.1875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item14 .tsunagu-orbit__img {
    width: 6.4375vw;
  }
}
@media screen and (min-width: 1600px) {
  .item14 .tsunagu-orbit__img {
    width: 6.4375rem;
  }
}

.item15 .tsunagu-orbit__img {
  aspect-ratio: 144/147;
}
@media screen and (max-width: 749px) {
  .item15 .tsunagu-orbit__img {
    width: clamp(2.9063rem, 12.4vw, 5.8125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item15 .tsunagu-orbit__img {
    width: 5.8125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item15 .tsunagu-orbit__img {
    width: 9vw;
  }
}
@media screen and (min-width: 1600px) {
  .item15 .tsunagu-orbit__img {
    width: 9rem;
  }
}

.item16 .tsunagu-orbit__img {
  aspect-ratio: 159/162;
}
@media screen and (max-width: 749px) {
  .item16 .tsunagu-orbit__img {
    width: clamp(3.2188rem, 13.7333vw, 6.4375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item16 .tsunagu-orbit__img {
    width: 6.4375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item16 .tsunagu-orbit__img {
    width: 9.9375vw;
  }
}
@media screen and (min-width: 1600px) {
  .item16 .tsunagu-orbit__img {
    width: 9.9375rem;
  }
}

.item17 .tsunagu-orbit__img {
  aspect-ratio: 166/169;
}
@media screen and (max-width: 749px) {
  .item17 .tsunagu-orbit__img {
    width: clamp(3.3438rem, 14.2667vw, 6.6875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item17 .tsunagu-orbit__img {
    width: 6.6875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item17 .tsunagu-orbit__img {
    width: 10.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .item17 .tsunagu-orbit__img {
    width: 10.375rem;
  }
}

.item18 .tsunagu-orbit__img {
  aspect-ratio: 171/175;
}
@media screen and (max-width: 749px) {
  .item18 .tsunagu-orbit__img {
    width: clamp(3.4375rem, 14.6667vw, 6.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item18 .tsunagu-orbit__img {
    width: 6.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item18 .tsunagu-orbit__img {
    width: 10.6875vw;
  }
}
@media screen and (min-width: 1600px) {
  .item18 .tsunagu-orbit__img {
    width: 10.6875rem;
  }
}

.item19 .tsunagu-orbit__img {
  aspect-ratio: 132/135;
}
@media screen and (max-width: 749px) {
  .item19 .tsunagu-orbit__img {
    width: clamp(2.6875rem, 11.4667vw, 5.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item19 .tsunagu-orbit__img {
    width: 5.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item19 .tsunagu-orbit__img {
    width: 8.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .item19 .tsunagu-orbit__img {
    width: 8.25rem;
  }
}

.item20 .tsunagu-orbit__img {
  aspect-ratio: 109/111;
}
@media screen and (max-width: 749px) {
  .item20 .tsunagu-orbit__img {
    width: clamp(2.1875rem, 9.3333vw, 4.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item20 .tsunagu-orbit__img {
    width: 4.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item20 .tsunagu-orbit__img {
    width: 6.8125vw;
  }
}
@media screen and (min-width: 1600px) {
  .item20 .tsunagu-orbit__img {
    width: 6.8125rem;
  }
}

.item21 .tsunagu-orbit__img {
  aspect-ratio: 97/99;
}
@media screen and (max-width: 749px) {
  .item21 .tsunagu-orbit__img {
    width: clamp(1.9688rem, 8.4vw, 3.9375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item21 .tsunagu-orbit__img {
    width: 3.9375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item21 .tsunagu-orbit__img {
    width: 6.0625vw;
  }
}
@media screen and (min-width: 1600px) {
  .item21 .tsunagu-orbit__img {
    width: 6.0625rem;
  }
}

.item22 .tsunagu-orbit__img {
  aspect-ratio: 86/88;
}
@media screen and (max-width: 749px) {
  .item22 .tsunagu-orbit__img {
    width: clamp(1.75rem, 7.4667vw, 3.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item22 .tsunagu-orbit__img {
    width: 3.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item22 .tsunagu-orbit__img {
    width: 5.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .item22 .tsunagu-orbit__img {
    width: 5.375rem;
  }
}

.item23 .tsunagu-orbit__img {
  aspect-ratio: 75/76;
}
@media screen and (max-width: 749px) {
  .item23 .tsunagu-orbit__img {
    width: clamp(1.5rem, 6.4vw, 3rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item23 .tsunagu-orbit__img {
    width: 3rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item23 .tsunagu-orbit__img {
    width: 4.6875vw;
  }
}
@media screen and (min-width: 1600px) {
  .item23 .tsunagu-orbit__img {
    width: 4.6875rem;
  }
}

.item24 .tsunagu-orbit__img {
  aspect-ratio: 63/64;
}
@media screen and (max-width: 749px) {
  .item24 .tsunagu-orbit__img {
    width: clamp(1.2813rem, 5.4667vw, 2.5625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item24 .tsunagu-orbit__img {
    width: 2.5625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item24 .tsunagu-orbit__img {
    width: 3.9375vw;
  }
}
@media screen and (min-width: 1600px) {
  .item24 .tsunagu-orbit__img {
    width: 3.9375rem;
  }
}

.item25 .tsunagu-orbit__img {
  aspect-ratio: 52/52;
}
@media screen and (max-width: 749px) {
  .item25 .tsunagu-orbit__img {
    width: clamp(1.0625rem, 4.5333vw, 2.125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .item25 .tsunagu-orbit__img {
    width: 2.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .item25 .tsunagu-orbit__img {
    width: 3.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .item25 .tsunagu-orbit__img {
    width: 3.25rem;
  }
}

.mv-frame--1__line {
  display: inline-block;
  opacity: 0;
  transform: translateY(10px);
}

@keyframes mvFrame1LineIn {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.mv-frame--1.is-active .mv-frame--1__line {
  animation: mvFrame1LineIn 0.6s ease forwards;
}

/* 1行ずつディレイを変える */
.mv-frame--1.is-active .mv-frame--1__line:nth-of-type(1) {
  animation-delay: 0s;
}

.mv-frame--1.is-active .mv-frame--1__line:nth-of-type(2) {
  animation-delay: 0.3s;
}

.mv-frame--1.is-active .mv-frame--1__line:nth-of-type(3) {
  animation-delay: 0.6s;
}

.mv-skip {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 9999;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  border-radius: 9999px;
  border: none;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  cursor: pointer;
}

.mv-skip.is-hidden {
  display: none;
}

.mv-frame--3__copy {
  position: relative;
  display: inline-block;
}

.mv-frame--3__copy span {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  display: block;
  overflow: hidden;
  color: transparent;
  transition: color 0ms 700ms;
}

.mv-frame--3__copy span::after {
  content: "";
  position: absolute;
  inset: 0;
  background: hsl(214, 100%, 29%);
  transform: translateX(-101%);
}

.mv-frame--3__copy span.is-animated {
  color: hsl(0, 0%, 1%);
}

.mv-frame--3__copy span.is-animated::after {
  animation: mv-mask-copy-x 1.2s cubic-bezier(0.8, 0, 0.17, 1);
}

.mv-frame--3__copy span.is-instant {
  color: hsl(0, 0%, 1%);
  transition: none;
}

.mv-frame--3__copy span.is-instant::after {
  animation: none;
  transform: translateX(101%);
}

@keyframes mv-mask-copy-x {
  0% {
    transform: translateX(-101%);
  }
  40%, 60% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(101%);
  }
}
/* ====================================
NEWS
==================================== */
.p-news {
  position: relative;
  z-index: 2;
  background: hsl(0, 0%, 100%);
}
@media screen and (max-width: 749px) {
  .p-news {
    padding-block-start: clamp(5.125rem, 21.8667vw, 10.25rem);
    padding-block-end: clamp(3.8125rem, 16.2667vw, 7.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news {
    padding-block-start: 10.25rem;
    padding-block-end: 7.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news {
    padding-block-start: 12.875vw;
    padding-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news {
    padding-block-start: 12.875rem;
    padding-block-end: 0rem;
  }
}
.p-news::after {
  content: "";
  position: absolute;
  inset-inline: auto 0;
  inset-block-end: 0;
  background: hsl(0, 0%, 96%);
  border-radius: 20px 0 0 20px;
}
@media screen and (max-width: 749px) {
  .p-news::after {
    inset-block-start: clamp(5.125rem, 21.8667vw, 10.25rem);
    width: clamp(22.1875rem, 94.6667vw, 44.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news::after {
    inset-block-start: 10.25rem;
    width: 44.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news::after {
    inset-block-start: 12.875vw;
    width: 62.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news::after {
    inset-block-start: 12.875rem;
    width: 62.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news::after {
    margin-inline: auto;
    inset-inline: 50% auto;
    transform: translateX(-50%);
    border-radius: 20px;
    inset-block: auto 0;
    height: 78.6%;
  }
}
.p-news__inner {
  position: relative;
  z-index: 2;
}
.p-news__hd {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .p-news__hd {
    margin-block-end: clamp(3.125rem, 13.3333vw, 6.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__hd {
    margin-block-end: 6.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__hd {
    margin-block-end: 4.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__hd {
    margin-block-end: 4.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news__hd {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media screen and (max-width: 749px) {
  .p-news__ttl {
    margin-block-end: clamp(6.25rem, 26.6667vw, 12.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__ttl {
    margin-block-end: 12.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__ttl {
    margin-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__ttl {
    margin-block-end: 0rem;
  }
}
.p-news__tabs {
  width: 100%;
  gap: 0.625rem;
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .p-news__tabs {
    justify-content: space-between;
  }
}
.p-news__tab {
  position: relative;
  display: block;
  width: min(160px, 100%);
  background: hsl(0, 0%, 100%);
  border-radius: 2px;
  filter: drop-shadow(0 0 4px rgba(35, 24, 21, 0.1));
  text-align: center;
  transition: 0.3s ease;
  letter-spacing: -0.025em;
}
@media screen and (max-width: 749px) {
  .p-news__tab {
    font-size: clamp(0.625rem, 2.6667vw, 1.25rem);
    height: clamp(1.875rem, 8vw, 3.75rem);
    padding-inline: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__tab {
    font-size: 1.25rem;
    height: 3.75rem;
    padding-inline: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__tab {
    font-size: 0.9375vw;
    height: 2.75vw;
    padding-inline: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__tab {
    font-size: 0.9375rem;
    height: 2.75rem;
    padding-inline: 0rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news__tab {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-news__tab[aria-selected=true] {
  color: hsl(0, 0%, 100%);
  background: hsl(214, 100%, 29%);
}
.p-news__tab[aria-selected=true]::after {
  content: "";
  display: block;
  background: hsl(214, 100%, 29%);
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, 0%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (max-width: 749px) {
  .p-news__tab[aria-selected=true]::after {
    width: clamp(0.4375rem, 1.8667vw, 0.875rem);
    height: clamp(0.4063rem, 1.7333vw, 0.8125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__tab[aria-selected=true]::after {
    width: 0.875rem;
    height: 0.8125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__tab[aria-selected=true]::after {
    width: 0.5vw;
    height: 0.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__tab[aria-selected=true]::after {
    width: 0.5rem;
    height: 0.375rem;
  }
}
.p-news__sld {
  --card-gap: 40px;
  --edge-pad: 40px;
}
@media screen and (max-width: 767px) {
  .p-news__sld {
    --card-gap: clamp(1.25rem, 5.3333vw, 2.5rem);
    --edge-pad: clamp(1.25rem, 5.3333vw, 2.5rem);
  }
}
.p-news__sld .splide__arrows {
  position: absolute;
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%);
  width: 94%;
  display: flex;
  justify-content: space-between;
}
.p-news__sld .splide__arrows svg {
  display: none;
}
.p-news__sld .splide__arrows .splide__arrow::before {
  content: "";
  display: block;
  background: url(../images/news/arrow.svg) no-repeat center center/contain;
  height: auto;
  aspect-ratio: 20/34;
}
@media screen and (max-width: 749px) {
  .p-news__sld .splide__arrows .splide__arrow::before {
    width: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__sld .splide__arrows .splide__arrow::before {
    width: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__sld .splide__arrows .splide__arrow::before {
    width: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__sld .splide__arrows .splide__arrow::before {
    width: 0rem;
  }
}
.p-news__sld .splide__arrows .splide__arrow--prev {
  transform: rotate(180deg);
}
.p-news__sld .splide__slide {
  box-sizing: border-box;
  width: calc(min(560px, 74.6667vw) + var(--card-gap, 0));
  padding-inline: calc(var(--card-gap, 0) / 2);
}
.p-news__sld .splide__list {
  padding-inline: var(--edge-pad, 0);
}
@media screen and (max-width: 749px) {
  .p-news__sld .splide__pagination {
    gap: clamp(0.625rem, 2.6667vw, 1.25rem);
    margin-block-start: clamp(2.25rem, 9.6vw, 4.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__sld .splide__pagination {
    gap: 1.25rem;
    margin-block-start: 4.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__sld .splide__pagination {
    gap: 0vw;
    margin-block-start: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__sld .splide__pagination {
    gap: 0rem;
    margin-block-start: 0rem;
  }
}
.p-news__sld .splide__pagination li button {
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: hsl(0, 0%, 78%);
}
@media screen and (max-width: 749px) {
  .p-news__sld .splide__pagination li button {
    width: clamp(0.5rem, 2.1333vw, 1rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__sld .splide__pagination li button {
    width: 1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__sld .splide__pagination li button {
    width: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__sld .splide__pagination li button {
    width: 0rem;
  }
}
.p-news__sld .splide__pagination li button.is-active {
  background: hsl(357, 100%, 43%);
}
.p-news__list {
  list-style: none;
}
@media screen and (min-width: 768px) {
  .p-news__list {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
  }
}
@media screen and (max-width: 749px) {
  .p-news__list {
    gap: 0rem;
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__list {
    gap: 0rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__list {
    gap: 2.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__list {
    gap: 2.25rem;
  }
}
.p-news__pic {
  display: block;
}
@media screen and (max-width: 749px) {
  .p-news__pic {
    margin-block-end: clamp(0.9375rem, 4vw, 1.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__pic {
    margin-block-end: 1.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__pic {
    margin-block-end: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__pic {
    margin-block-end: 1.25rem;
  }
}
.p-news__pic img {
  height: auto;
  aspect-ratio: 230/160;
}
@media screen and (max-width: 767px) {
  .p-news__pic img {
    aspect-ratio: 560/390;
  }
}
@media screen and (max-width: 749px) {
  .p-news__meta {
    margin-block-end: clamp(0.3125rem, 1.3333vw, 0.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__meta {
    margin-block-end: 0.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__meta {
    margin-block-end: 0.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__meta {
    margin-block-end: 0.625rem;
  }
}
@media screen and (max-width: 749px) {
  .p-news__time {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__time {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__time {
    font-size: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__time {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 749px) {
  .p-news__line {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__line {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__line {
    font-size: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__line {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 749px) {
  .p-news__tag {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__tag {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__tag {
    font-size: 0.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__tag {
    font-size: 0.75rem;
  }
}
.p-news__card-ttl {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
}
@media screen and (max-width: 749px) {
  .p-news__card-ttl {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__card-ttl {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__card-ttl {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__card-ttl {
    font-size: 1rem;
  }
}
.p-news__btn a {
  background: hsl(214, 100%, 29%);
  color: hsl(0, 0%, 100%);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-radius: 999px;
}
@media screen and (max-width: 749px) {
  .p-news__btn a {
    width: clamp(10.3125rem, 44vw, 20.625rem);
    height: clamp(2.5rem, 10.6667vw, 5rem);
    padding-inline: clamp(1.1875rem, 5.0667vw, 2.375rem);
    margin-block-start: clamp(2.875rem, 12.2667vw, 5.75rem);
    font-size: clamp(0.75rem, 3.2vw, 1.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__btn a {
    width: 20.625rem;
    height: 5rem;
    padding-inline: 2.375rem;
    margin-block-start: 5.75rem;
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__btn a {
    width: 13.75vw;
    height: 3.125vw;
    padding-inline: 1.125vw;
    margin-block-start: 4.8125vw;
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__btn a {
    width: 13.75rem;
    height: 3.125rem;
    padding-inline: 1.125rem;
    margin-block-start: 4.8125rem;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news__btn a {
    margin-inline: auto;
  }
}
.p-news__btn a::before {
  content: "";
}
.p-news__btn a img {
  display: block;
  width: 6px;
  height: 11px;
  justify-self: end;
}
.p-news__empty > p {
  text-align: center;
}
@media screen and (max-width: 749px) {
  .p-news__empty > p {
    font-size: clamp(0.875rem, 3.7333vw, 1.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-news__empty > p {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-news__empty > p {
    font-size: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-news__empty > p {
    font-size: 1.25rem;
  }
}

/* ====================================
INCENTIVE
==================================== */
@media screen and (max-width: 749px) {
  .p-incentive {
    padding-block-start: clamp(4.6875rem, 20vw, 9.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive {
    padding-block-start: 9.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive {
    padding-block-start: 15.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive {
    padding-block-start: 15.625rem;
  }
}
.p-incentive__hd {
  position: relative;
}
.p-incentive__cont {
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-incentive__cont {
    position: relative;
    left: 0;
    top: 0;
    transform: translate(0, 0);
  }
}
.p-incentive__ttl {
  text-align: center;
  line-height: 1.4583333333;
  margin-block-end: 1.1em;
}
@media screen and (max-width: 749px) {
  .p-incentive__ttl {
    font-size: clamp(1.5rem, 6.4vw, 3rem);
    margin-block-end: clamp(0.9375rem, 4vw, 1.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__ttl {
    font-size: 3rem;
    margin-block-end: 1.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__ttl {
    font-size: 2.25vw;
    margin-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__ttl {
    font-size: 2.25rem;
    margin-block-end: 0rem;
  }
}
.p-incentive__txt {
  text-align: center;
  line-height: 2.375;
}
@media screen and (max-width: 749px) {
  .p-incentive__txt {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__txt {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__txt {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__txt {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-incentive__txt {
    text-align: left;
    line-height: 2.3076923077;
  }
}
@media screen and (max-width: 767px) {
  .p-incentive__bg {
    width: 100vw;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
  }
}
.p-incentive__bg img {
  aspect-ratio: 1300/303;
  height: auto;
}
@media screen and (max-width: 749px) {
  .p-incentive__bg img {
    width: clamp(23.4375rem, 100vw, 46.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__bg img {
    width: 46.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__bg img {
    width: 81.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__bg img {
    width: 81.25rem;
  }
}
.p-incentive__vis {
  text-align: center;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 749px) {
  .p-incentive__vis {
    margin-block-start: clamp(2.0938rem, 8.9333vw, 4.1875rem);
    margin-block-end: clamp(3.2813rem, 14vw, 6.5625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__vis {
    margin-block-start: 4.1875rem;
    margin-block-end: 6.5625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__vis {
    margin-block-start: 4.1875vw;
    margin-block-end: 2.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__vis {
    margin-block-start: 4.1875rem;
    margin-block-end: 2.375rem;
  }
}
.p-incentive__vis img {
  filter: drop-shadow(0 0 4px rgba(35, 24, 21, 0.1));
}
@media screen and (max-width: 749px) {
  .p-incentive__vis img {
    width: clamp(22.1875rem, 94.6667vw, 44.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__vis img {
    width: 44.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__vis img {
    width: 62vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__vis img {
    width: 62rem;
  }
}
.p-incentive__lbl {
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 749px) {
  .p-incentive__lbl {
    font-size: clamp(1.25rem, 5.3333vw, 2.5rem);
    margin-block-end: clamp(4.0938rem, 17.4667vw, 8.1875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__lbl {
    font-size: 2.5rem;
    margin-block-end: 8.1875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__lbl {
    font-size: 1.625vw;
    margin-block-end: 5.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__lbl {
    font-size: 1.625rem;
    margin-block-end: 5.25rem;
  }
}
.p-incentive__list {
  display: grid;
  list-style: none;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 749px) {
  .p-incentive__list {
    -moz-column-gap: 0rem;
         column-gap: 0rem;
    row-gap: clamp(2.9375rem, 12.5333vw, 5.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__list {
    -moz-column-gap: 0rem;
         column-gap: 0rem;
    row-gap: 5.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__list {
    -moz-column-gap: 3.125vw;
         column-gap: 3.125vw;
    row-gap: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__list {
    -moz-column-gap: 3.125rem;
         column-gap: 3.125rem;
    row-gap: 0rem;
  }
}
@media screen and (max-width: 767px) {
  .p-incentive__list {
    grid-template-columns: 1fr;
  }
}
.p-incentive__item {
  position: relative;
}
.p-incentive__item-ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
}
@media screen and (max-width: 749px) {
  .p-incentive__item-ttl {
    margin-block-end: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__item-ttl {
    margin-block-end: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__item-ttl {
    margin-block-end: 1.4375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__item-ttl {
    margin-block-end: 1.4375rem;
  }
}
@media screen and (max-width: 749px) {
  .p-incentive__item-ttl-ja {
    font-size: clamp(1.1875rem, 5.0667vw, 2.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__item-ttl-ja {
    font-size: 2.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__item-ttl-ja {
    font-size: 1.4375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__item-ttl-ja {
    font-size: 1.4375rem;
  }
}
@media screen and (max-width: 749px) {
  .p-incentive__item-ttl-en {
    font-size: clamp(0.75rem, 3.2vw, 1.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__item-ttl-en {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__item-ttl-en {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__item-ttl-en {
    font-size: 1rem;
  }
}
.p-incentive__icn {
  position: absolute;
  left: 50%;
  top: 0%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.p-incentive__icn img {
  display: block;
  border-radius: 50%;
  filter: drop-shadow(0 0 4px rgba(35, 24, 21, 0.1));
}
@media screen and (max-width: 749px) {
  .p-incentive__icn img {
    width: clamp(3.4375rem, 14.6667vw, 6.875rem);
    height: clamp(3.4375rem, 14.6667vw, 6.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__icn img {
    width: 6.875rem;
    height: 6.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__icn img {
    width: 5.625vw;
    height: 5.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__icn img {
    width: 5.625rem;
    height: 5.625rem;
  }
}
.p-incentive__box {
  background: hsl(0, 0%, 100%);
  border-radius: 10px;
  filter: drop-shadow(0 0 4px rgba(35, 24, 21, 0.1));
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
  aspect-ratio: 400/290;
}
@media screen and (max-width: 749px) {
  .p-incentive__box {
    padding-block-start: clamp(2.375rem, 10.1333vw, 4.75rem);
    padding-block-end: clamp(1.3438rem, 5.7333vw, 2.6875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__box {
    padding-block-start: 4.75rem;
    padding-block-end: 2.6875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__box {
    padding-block-start: 3.25vw;
    padding-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__box {
    padding-block-start: 3.25rem;
    padding-block-end: 0rem;
  }
}
@media screen and (max-width: 767px) {
  .p-incentive__box {
    aspect-ratio: auto;
  }
}
.p-incentive__pts {
  flex: 1;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  list-style: none;
}
.p-incentive__pt {
  line-height: 2.2666666667;
}
@media screen and (max-width: 749px) {
  .p-incentive__pt {
    font-size: clamp(0.75rem, 3.2vw, 1.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-incentive__pt {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-incentive__pt {
    font-size: 0.9375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-incentive__pt {
    font-size: 0.9375rem;
  }
}
.p-incentive__pt::first-letter {
  color: hsl(214, 100%, 29%);
}

/* ====================================
THEMA
==================================== */
@media screen and (max-width: 749px) {
  .p-thema {
    padding-block-start: clamp(4.8125rem, 20.5333vw, 9.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-thema {
    padding-block-start: 9.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-thema {
    padding-block-start: 12.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-thema {
    padding-block-start: 12.75rem;
  }
}
.p-thema__hd {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .p-thema__hd {
    margin-block-end: clamp(2.6875rem, 11.4667vw, 5.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-thema__hd {
    margin-block-end: 5.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-thema__hd {
    margin-block-end: 5.1875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-thema__hd {
    margin-block-end: 5.1875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-thema__hd {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media screen and (max-width: 749px) {
  .p-thema__ttl {
    margin-block-end: clamp(1.9688rem, 8.4vw, 3.9375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-thema__ttl {
    margin-block-end: 3.9375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-thema__ttl {
    margin-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-thema__ttl {
    margin-block-end: 0rem;
  }
}
.p-thema__txt {
  line-height: 2.125;
  letter-spacing: normal;
}
@media screen and (max-width: 749px) {
  .p-thema__txt {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-thema__txt {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-thema__txt {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-thema__txt {
    font-size: 1rem;
  }
}
.p-thema__list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-flow: row;
  counter-reset: number 0;
}
@media screen and (max-width: 749px) {
  .p-thema__list {
    gap: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-thema__list {
    gap: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-thema__list {
    gap: 0.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-thema__list {
    gap: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .p-thema__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(6, minmax(0, 1fr));
  }
}
.p-thema__item {
  position: relative;
}
.p-thema__item:nth-child(-n+3) {
  grid-column: span 2;
}
.p-thema__item::before {
  counter-increment: number 1;
  content: "#" counter(number, decimal-leading-zero);
  color: hsl(0, 0%, 100%);
  position: absolute;
  top: 2%;
  left: 30px;
  font-family: "Outfit", "Barlow", "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-optical-sizing: auto;
}
@media screen and (max-width: 749px) {
  .p-thema__item::before {
    font-size: clamp(1.125rem, 4.8vw, 2.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-thema__item::before {
    font-size: 2.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-thema__item::before {
    font-size: 1.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-thema__item::before {
    font-size: 1.875rem;
  }
}
.p-thema__label {
  width: 100%;
  text-align: center;
  position: absolute;
  color: hsl(0, 0%, 100%);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 749px) {
  .p-thema__label {
    font-size: clamp(1.875rem, 8vw, 3.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-thema__label {
    font-size: 3.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-thema__label {
    font-size: 3.125vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-thema__label {
    font-size: 3.125rem;
  }
}
@media screen and (max-width: 749px) {
  .p-thema__item:nth-child(n+4) .p-thema__label {
    font-size: clamp(1.25rem, 5.3333vw, 2.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-thema__item:nth-child(n+4) .p-thema__label {
    font-size: 2.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-thema__item:nth-child(n+4) .p-thema__label {
    font-size: 1.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-thema__item:nth-child(n+4) .p-thema__label {
    font-size: 1.875rem;
  }
}

.p-thema__cap {
  --cap-ratio: 0.5;
  width: -moz-max-content;
  width: max-content;
  border-radius: 7px;
  background: hsl(214deg, 100%, 29% , 80%);
  color: hsl(0, 0%, 100%);
  position: absolute;
  left: 50%;
  top: calc(50% + 50% * var(--cap-ratio));
  transform: translate(-50%, -52%);
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  transition: opacity 0.28s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}
@media screen and (max-width: 767px) {
  .p-thema__cap {
    opacity: 1;
    transform: translate(-50%, -50%);
    background: none;
  }
}
.p-thema__cap::before {
  content: "";
  display: block;
  width: 14px;
  height: 12px;
  background: hsl(214deg, 100%, 29% , 80%);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-thema__cap::before {
    display: none;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-thema__item:hover .p-thema__cap, .p-thema__item:focus-within .p-thema__cap {
    opacity: 1;
    transform: translate(-50%, -50%);
    pointer-events: auto;
  }
}
.p-thema__cap-txt {
  line-height: 2;
  padding-inline: 1em;
  padding-block: 0.75em;
  text-align: center;
}
@media screen and (max-width: 749px) {
  .p-thema__cap-txt {
    font-size: clamp(0.75rem, 3.2vw, 1.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-thema__cap-txt {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-thema__cap-txt {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-thema__cap-txt {
    font-size: 1rem;
  }
}
.p-thema__pic {
  border-radius: 10px;
  overflow: hidden;
}
.p-thema__pic img {
  aspect-ratio: 512/500;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-thema__pic img {
    aspect-ratio: 710/500;
  }
}
.p-thema__item:nth-child(n+4) .p-thema__pic img {
  aspect-ratio: 250/400;
}
@media screen and (max-width: 767px) {
  .p-thema__item:nth-child(n+4) .p-thema__pic img {
    aspect-ratio: 345/500;
  }
}

/* ====================================
ACHIEVEMENT
==================================== */
@media screen and (max-width: 749px) {
  .p-achv {
    margin-block-start: clamp(5rem, 21.3333vw, 10rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv {
    margin-block-start: 10rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv {
    margin-block-start: 12.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv {
    margin-block-start: 12.5rem;
  }
}
.p-achv__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: auto 1fr repeat(2, 1fr);
  grid-template-areas: "hd hd card02 card03" "card01 card01 card02 card03" "card01 card01 card04 card05" "card01 card01 card04 card05";
}
@media screen and (max-width: 749px) {
  .p-achv__grid {
    -moz-column-gap: clamp(1.5625rem, 6.6667vw, 3.125rem);
         column-gap: clamp(1.5625rem, 6.6667vw, 3.125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__grid {
    -moz-column-gap: 3.125rem;
         column-gap: 3.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__grid {
    -moz-column-gap: 0vw;
         column-gap: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__grid {
    -moz-column-gap: 0rem;
         column-gap: 0rem;
  }
}
@media screen and (max-width: 767px) {
  .p-achv__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto;
    grid-template-areas: "hd hd" "card01 card01" "card02 card03" "card04 card05";
  }
}
.p-achv__hd {
  grid-area: hd;
}
@media screen and (max-width: 749px) {
  .p-achv__hd {
    margin-block-end: clamp(3.0313rem, 12.9333vw, 6.0625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__hd {
    margin-block-end: 6.0625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__hd {
    margin-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__hd {
    margin-block-end: 0rem;
  }
}
@media screen and (max-width: 749px) {
  .p-achv__txt {
    margin-block-start: clamp(1.9688rem, 8.4vw, 3.9375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__txt {
    margin-block-start: 3.9375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__txt {
    margin-block-start: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__txt {
    margin-block-start: 0rem;
  }
}
.p-achv__card:nth-child(2) {
  grid-area: card01;
}
@media screen and (max-width: 749px) {
  .p-achv__card:nth-child(2) {
    margin-block-start: 0rem;
    padding-inline-end: 0rem;
    margin-block-end: clamp(2.8125rem, 12vw, 5.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__card:nth-child(2) {
    margin-block-start: 0rem;
    padding-inline-end: 0rem;
    margin-block-end: 5.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__card:nth-child(2) {
    margin-block-start: 4.875vw;
    padding-inline-end: 3.75vw;
    margin-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__card:nth-child(2) {
    margin-block-start: 4.875rem;
    padding-inline-end: 3.75rem;
    margin-block-end: 0rem;
  }
}
.p-achv__card:nth-child(3) {
  grid-area: card02;
}
@media screen and (max-width: 749px) {
  .p-achv__card:nth-child(3) {
    margin-block-start: 0rem;
    margin-inline-start: 0rem;
    margin-block-end: clamp(2.9688rem, 12.6667vw, 5.9375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__card:nth-child(3) {
    margin-block-start: 0rem;
    margin-inline-start: 0rem;
    margin-block-end: 5.9375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__card:nth-child(3) {
    margin-block-start: 5vw;
    margin-inline-start: 4.0625vw;
    margin-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__card:nth-child(3) {
    margin-block-start: 5rem;
    margin-inline-start: 4.0625rem;
    margin-block-end: 0rem;
  }
}
.p-achv__card:nth-child(4) {
  grid-area: card03;
}
@media screen and (max-width: 749px) {
  .p-achv__card:nth-child(4) {
    margin-block-start: 0rem;
    margin-inline-start: 0rem;
    margin-block-end: clamp(2.9688rem, 12.6667vw, 5.9375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__card:nth-child(4) {
    margin-block-start: 0rem;
    margin-inline-start: 0rem;
    margin-block-end: 5.9375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__card:nth-child(4) {
    margin-block-start: 5vw;
    margin-inline-start: 4.0625vw;
    margin-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__card:nth-child(4) {
    margin-block-start: 5rem;
    margin-inline-start: 4.0625rem;
    margin-block-end: 0rem;
  }
}
.p-achv__card:nth-child(5) {
  grid-area: card04;
}
@media screen and (max-width: 749px) {
  .p-achv__card:nth-child(5) {
    margin-block-start: 0rem;
    margin-inline-start: 0rem;
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__card:nth-child(5) {
    margin-block-start: 0rem;
    margin-inline-start: 0rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__card:nth-child(5) {
    margin-block-start: 5vw;
    margin-inline-start: 4.0625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__card:nth-child(5) {
    margin-block-start: 5rem;
    margin-inline-start: 4.0625rem;
  }
}
.p-achv__card:nth-child(6) {
  grid-area: card05;
}
@media screen and (max-width: 749px) {
  .p-achv__card:nth-child(6) {
    margin-block-start: 0rem;
    margin-inline-start: 0rem;
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__card:nth-child(6) {
    margin-block-start: 0rem;
    margin-inline-start: 0rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__card:nth-child(6) {
    margin-block-start: 5vw;
    margin-inline-start: 4.0625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__card:nth-child(6) {
    margin-block-start: 5rem;
    margin-inline-start: 4.0625rem;
  }
}
@media screen and (max-width: 749px) {
  .p-achv__pick {
    font-size: clamp(0.875rem, 3.7333vw, 1.75rem);
    margin-block-end: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__pick {
    font-size: 1.75rem;
    margin-block-end: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__pick {
    font-size: 1.375vw;
    margin-block-end: 0.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__pick {
    font-size: 1.375rem;
    margin-block-end: 0.5rem;
  }
}
.p-achv__pic {
  border-radius: 10px;
  overflow: hidden;
}
.p-achv__img {
  aspect-ratio: 260/180;
}
@media screen and (max-width: 767px) {
  .p-achv__img {
    aspect-ratio: 290/200;
  }
}
.p-achv__card:nth-child(2) .p-achv__img {
  aspect-ratio: 590/370;
}
@media screen and (max-width: 767px) {
  .p-achv__card:nth-child(2) .p-achv__img {
    aspect-ratio: 630/374;
  }
}

@media screen and (max-width: 749px) {
  .p-achv__card-ttl {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
    margin-block-start: clamp(0.625rem, 2.6667vw, 1.25rem);
    margin-block-end: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__card-ttl {
    font-size: 1.625rem;
    margin-block-start: 1.25rem;
    margin-block-end: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__card-ttl {
    font-size: 1.125vw;
    margin-block-start: 1.1875vw;
    margin-block-end: 0.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__card-ttl {
    font-size: 1.125rem;
    margin-block-start: 1.1875rem;
    margin-block-end: 0.625rem;
  }
}
@media screen and (max-width: 749px) {
  .p-achv__card:nth-child(2) .p-achv__card-ttl {
    font-size: clamp(0.9375rem, 4vw, 1.875rem);
    margin-block-start: clamp(0.7813rem, 3.3333vw, 1.5625rem);
    margin-block-end: clamp(0.4688rem, 2vw, 0.9375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__card:nth-child(2) .p-achv__card-ttl {
    font-size: 1.875rem;
    margin-block-start: 1.5625rem;
    margin-block-end: 0.9375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__card:nth-child(2) .p-achv__card-ttl {
    font-size: 1.125vw;
    margin-block-start: 1.1875vw;
    margin-block-end: 0.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__card:nth-child(2) .p-achv__card-ttl {
    font-size: 1.125rem;
    margin-block-start: 1.1875rem;
    margin-block-end: 0.625rem;
  }
}

.p-achv__card-txt {
  line-height: 2.1428571429;
  letter-spacing: normal;
}
@media screen and (max-width: 749px) {
  .p-achv__card-txt {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__card-txt {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__card-txt {
    font-size: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__card-txt {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 749px) {
  .p-achv__card:nth-child(2) .p-achv__card-txt {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__card:nth-child(2) .p-achv__card-txt {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__card:nth-child(2) .p-achv__card-txt {
    font-size: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__card:nth-child(2) .p-achv__card-txt {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-achv__card-txt {
    line-height: 1.9230769231;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
@media screen and (max-width: 749px) {
  .p-achv__company {
    margin-block-start: clamp(3.5rem, 14.9333vw, 7rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__company {
    margin-block-start: 7rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__company {
    margin-block-start: 7.75vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__company {
    margin-block-start: 7.75rem;
  }
}
.p-achv__marq-unit img {
  display: block;
  width: auto;
  max-width: none;
}
@media screen and (max-width: 749px) {
  .p-achv__marq-unit img {
    height: clamp(3.0625rem, 13.0667vw, 6.125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-achv__marq-unit img {
    height: 6.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-achv__marq-unit img {
    height: 5.1875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-achv__marq-unit img {
    height: 5.1875rem;
  }
}

/* ====================================
ASSET
==================================== */
@media screen and (max-width: 749px) {
  .p-asset {
    padding-block-start: clamp(4rem, 17.0667vw, 8rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset {
    padding-block-start: 8rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset {
    padding-block-start: 9.1875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset {
    padding-block-start: 9.1875rem;
  }
}
.p-asset__grid {
  display: grid;
  grid-template-columns: auto 1fr;
}
@media screen and (max-width: 749px) {
  .p-asset__grid {
    -moz-column-gap: clamp(0.8125rem, 3.4667vw, 1.625rem);
         column-gap: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__grid {
    -moz-column-gap: 1.625rem;
         column-gap: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__grid {
    -moz-column-gap: 5.625vw;
         column-gap: 5.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__grid {
    -moz-column-gap: 5.625rem;
         column-gap: 5.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-asset__grid {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 749px) {
  .p-asset__hd {
    margin-block-end: clamp(3.1875rem, 13.6vw, 6.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__hd {
    margin-block-end: 6.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__hd {
    margin-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__hd {
    margin-block-end: 0rem;
  }
}
@media screen and (max-width: 749px) {
  .p-asset__ttl {
    margin-block-end: clamp(2rem, 8.5333vw, 4rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__ttl {
    margin-block-end: 4rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__ttl {
    margin-block-end: 4.6875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__ttl {
    margin-block-end: 4.6875rem;
  }
}
@media screen and (max-width: 749px) {
  .p-asset__txt {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__txt {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__txt {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__txt {
    font-size: 1rem;
  }
}
@media screen and (max-width: 749px) {
  .p-asset__sec--own {
    margin-block-end: clamp(2.8125rem, 12vw, 5.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__sec--own {
    margin-block-end: 5.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__sec--own {
    margin-block-end: 5.1875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__sec--own {
    margin-block-end: 5.1875rem;
  }
}
@media screen and (max-width: 749px) {
  .p-asset__sec--biz {
    margin-block-end: clamp(3.3438rem, 14.2667vw, 6.6875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__sec--biz {
    margin-block-end: 6.6875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__sec--biz {
    margin-block-end: 5.1875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__sec--biz {
    margin-block-end: 5.1875rem;
  }
}
.p-asset__sec-ttl {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .p-asset__sec-ttl {
    font-size: clamp(0.9375rem, 4vw, 1.875rem);
    margin-block-end: clamp(1.4375rem, 6.1333vw, 2.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__sec-ttl {
    font-size: 1.875rem;
    margin-block-end: 2.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__sec-ttl {
    font-size: 1.375vw;
    margin-block-end: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__sec-ttl {
    font-size: 1.375rem;
    margin-block-end: 1.25rem;
  }
}
.p-asset__sec-ttl:before {
  content: "";
  display: inline-block;
  height: 3px;
  background: url(../images/cmn/ttl_line.svg) center/contain no-repeat;
}
@media screen and (max-width: 749px) {
  .p-asset__sec-ttl:before {
    margin-inline-end: clamp(0.6875rem, 2.9333vw, 1.375rem);
    width: clamp(0.9375rem, 4vw, 1.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__sec-ttl:before {
    margin-inline-end: 1.375rem;
    width: 1.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__sec-ttl:before {
    margin-inline-end: 1vw;
    width: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__sec-ttl:before {
    margin-inline-end: 1rem;
    width: 1.25rem;
  }
}
.p-asset__list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 749px) {
  .p-asset__list {
    -moz-column-gap: clamp(0.9375rem, 4vw, 1.875rem);
         column-gap: clamp(0.9375rem, 4vw, 1.875rem);
    row-gap: clamp(2.0313rem, 8.6667vw, 4.0625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__list {
    -moz-column-gap: 1.875rem;
         column-gap: 1.875rem;
    row-gap: 4.0625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__list {
    -moz-column-gap: 1.25vw;
         column-gap: 1.25vw;
    row-gap: 2.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__list {
    -moz-column-gap: 1.25rem;
         column-gap: 1.25rem;
    row-gap: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-asset__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 749px) {
  .p-asset__list--group {
    row-gap: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__list--group {
    row-gap: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__list--group {
    row-gap: 2.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__list--group {
    row-gap: 2.375rem;
  }
}
.p-asset__pic {
  display: block;
  margin-block-end: 0.8em;
}
.p-asset__logo {
  display: block;
  margin-block-end: 0.8em;
  background: hsl(0, 0%, 100%);
  filter: drop-shadow(0 0 4px rgba(35, 24, 21, 0.1));
  border-radius: 10px;
  aspect-ratio: 220/120;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .p-asset__logo {
    margin-block-end: clamp(0.5313rem, 2.2667vw, 1.0625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__logo {
    margin-block-end: 1.0625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__logo {
    margin-block-end: 0.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__logo {
    margin-block-end: 0.625rem;
  }
}
.p-asset__pic .p-asset__img {
  aspect-ratio: 1/1;
}
.p-asset__logo .p-asset__img {
  aspect-ratio: 207/108;
}
@media screen and (max-width: 749px) {
  .p-asset__logo .p-asset__img {
    width: clamp(8.8125rem, 37.6vw, 17.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__logo .p-asset__img {
    width: 17.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__logo .p-asset__img {
    width: 12.9375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__logo .p-asset__img {
    width: 12.9375rem;
  }
}

.p-asset__name {
  text-align: center;
  letter-spacing: normal;
}
@media screen and (max-width: 749px) {
  .p-asset__name {
    font-size: clamp(0.75rem, 3.2vw, 1.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__name {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__name {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__name {
    font-size: 1rem;
  }
}
@media screen and (max-width: 749px) {
  .p-asset__list--own .p-asset__name {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__list--own .p-asset__name {
    font-size: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__list--own .p-asset__name {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__list--own .p-asset__name {
    font-size: 1rem;
  }
}

@media screen and (max-width: 749px) {
  .p-asset__name small {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-asset__name small {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-asset__name small {
    font-size: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-asset__name small {
    font-size: 0.875rem;
  }
}

/* ====================================
GUIDELINE
==================================== */
@media screen and (max-width: 749px) {
  .p-gdl {
    margin-block-start: clamp(4.3125rem, 18.4vw, 8.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-gdl {
    margin-block-start: 8.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-gdl {
    margin-block-start: 11.6875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-gdl {
    margin-block-start: 11.6875rem;
  }
}
.p-gdl__box {
  position: relative;
}
@media screen and (max-width: 749px) {
  .p-gdl__box {
    padding-block-start: clamp(4.3438rem, 18.5333vw, 8.6875rem);
    padding-block-end: clamp(1.4375rem, 6.1333vw, 2.875rem);
    padding-inline: clamp(1.875rem, 8vw, 3.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-gdl__box {
    padding-block-start: 8.6875rem;
    padding-block-end: 2.875rem;
    padding-inline: 3.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-gdl__box {
    padding-block-start: 5.9375vw;
    padding-block-end: 6.75vw;
    padding-inline: 9.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-gdl__box {
    padding-block-start: 5.9375rem;
    padding-block-end: 6.75rem;
    padding-inline: 9.375rem;
  }
}
.p-gdl__hd {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .p-gdl__hd {
    margin-block-end: clamp(2rem, 8.5333vw, 4rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-gdl__hd {
    margin-block-end: 4rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-gdl__hd {
    margin-block-end: 5.3125vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-gdl__hd {
    margin-block-end: 5.3125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-gdl__hd {
    align-items: flex-start;
    flex-direction: column;
  }
}
.p-gdl__ill {
  aspect-ratio: 200/190;
  height: auto;
}
@media screen and (max-width: 749px) {
  .p-gdl__ill {
    margin-inline-end: 0rem;
    width: clamp(5.625rem, 24vw, 11.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-gdl__ill {
    margin-inline-end: 0rem;
    width: 11.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-gdl__ill {
    margin-inline-end: 2.875vw;
    width: 12.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-gdl__ill {
    margin-inline-end: 2.875rem;
    width: 12.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-gdl__ill {
    position: absolute;
    top: 6vw;
    right: 8vw;
  }
}
.p-gdl__list {
  display: grid;
  grid-template-columns: 14% 86%;
}
@media screen and (max-width: 767px) {
  .p-gdl__list {
    grid-template-columns: 1fr;
  }
}
.p-gdl__term {
  border-bottom: 1px solid hsl(240, 11%, 18%);
}
@media screen and (max-width: 749px) {
  .p-gdl__term {
    font-size: clamp(0.875rem, 3.7333vw, 1.75rem);
    padding-block-end: 0rem;
    margin-block-end: clamp(0.4688rem, 2vw, 0.9375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-gdl__term {
    font-size: 1.75rem;
    padding-block-end: 0rem;
    margin-block-end: 0.9375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-gdl__term {
    font-size: 1vw;
    padding-block-end: 1.5625vw;
    margin-block-end: 1.5625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-gdl__term {
    font-size: 1rem;
    padding-block-end: 1.5625rem;
    margin-block-end: 1.5625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-gdl__term {
    border-bottom: none;
  }
}
.p-gdl__desc {
  border-bottom: 1px solid hsl(0, 0%, 78%);
}
@media screen and (max-width: 749px) {
  .p-gdl__desc {
    padding-block-end: clamp(1.8438rem, 7.8667vw, 3.6875rem);
    margin-block-end: clamp(1.4063rem, 6vw, 2.8125rem);
    padding-inline-start: 0rem;
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-gdl__desc {
    padding-block-end: 3.6875rem;
    margin-block-end: 2.8125rem;
    padding-inline-start: 0rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-gdl__desc {
    padding-block-end: 1.5625vw;
    margin-block-end: 1.5625vw;
    padding-inline-start: 3.125vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-gdl__desc {
    padding-block-end: 1.5625rem;
    margin-block-end: 1.5625rem;
    padding-inline-start: 3.125rem;
  }
}
.p-gdl__txt {
  letter-spacing: -0.025em;
}
@media screen and (max-width: 749px) {
  .p-gdl__txt {
    font-size: clamp(0.7813rem, 3.3333vw, 1.5625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-gdl__txt {
    font-size: 1.5625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-gdl__txt {
    font-size: 1vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-gdl__txt {
    font-size: 1rem;
  }
}
.p-gdl__note {
  letter-spacing: -0.025em;
}
@media screen and (max-width: 749px) {
  .p-gdl__note {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-gdl__note {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-gdl__note {
    font-size: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-gdl__note {
    font-size: 0.875rem;
  }
}
.p-gdl__mail {
  border-bottom: 1px solid hsl(0, 0%, 1%);
}

/* ====================================
SCHEDULE
==================================== */
@media screen and (max-width: 749px) {
  .p-sch {
    margin-block-start: clamp(0.625rem, 2.6667vw, 1.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch {
    margin-block-start: 1.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch {
    margin-block-start: 2.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch {
    margin-block-start: 2.5rem;
  }
}
.p-sch__box {
  position: relative;
}
@media screen and (max-width: 749px) {
  .p-sch__box {
    padding-block-start: clamp(4.375rem, 18.6667vw, 8.75rem);
    padding-block-end: clamp(4.125rem, 17.6vw, 8.25rem);
    padding-inline: clamp(1.875rem, 8vw, 3.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch__box {
    padding-block-start: 8.75rem;
    padding-block-end: 8.25rem;
    padding-inline: 3.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch__box {
    padding-block-start: 4.6875vw;
    padding-block-end: 8.125vw;
    padding-inline: 9.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch__box {
    padding-block-start: 4.6875rem;
    padding-block-end: 8.125rem;
    padding-inline: 9.375rem;
  }
}
.p-sch__hd {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .p-sch__hd {
    margin-block-end: clamp(2.125rem, 9.0667vw, 4.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch__hd {
    margin-block-end: 4.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch__hd {
    margin-block-end: 4.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch__hd {
    margin-block-end: 4.375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sch__hd {
    align-items: flex-start;
    flex-direction: column;
  }
}
.p-sch__ill {
  aspect-ratio: 267/215;
  height: auto;
}
@media screen and (max-width: 749px) {
  .p-sch__ill {
    width: clamp(7.5rem, 32vw, 15rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch__ill {
    width: 15rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch__ill {
    width: 16.6875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch__ill {
    width: 16.6875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sch__ill {
    position: absolute;
    top: 4vw;
    right: 5vw;
  }
}
.p-sch__txt {
  letter-spacing: normal;
}
@media screen and (max-width: 749px) {
  .p-sch__txt {
    font-size: clamp(0.8125rem, 3.4667vw, 1.625rem);
    margin-block-end: clamp(2.3125rem, 9.8667vw, 4.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch__txt {
    font-size: 1.625rem;
    margin-block-end: 4.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch__txt {
    font-size: 1vw;
    margin-block-end: 4.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch__txt {
    font-size: 1rem;
    margin-block-end: 4.625rem;
  }
}
.p-sch__flow {
  margin-inline: -5vw;
}
@media screen and (max-width: 749px) {
  .p-sch__flow {
    margin-block-end: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch__flow {
    margin-block-end: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch__flow {
    margin-block-end: 5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch__flow {
    margin-block-end: 5rem;
  }
}
@media screen and (max-width: 749px) {
  .p-sch__scroll {
    padding-block-end: clamp(1.75rem, 7.4667vw, 3.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch__scroll {
    padding-block-end: 3.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch__scroll {
    padding-block-end: 0vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch__scroll {
    padding-block-end: 0rem;
  }
}
@media screen and (max-width: 767px) {
  .p-sch__scroll {
    overflow-x: scroll;
  }
}
.p-sch__pic {
  display: block;
  margin-inline: auto;
}
@media screen and (max-width: 749px) {
  .p-sch__pic {
    width: clamp(53.2813rem, 227.3333vw, 106.5625rem);
    height: clamp(10rem, 42.6667vw, 20rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch__pic {
    width: 106.5625rem;
    height: 20rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch__pic {
    width: 71.0625vw;
    height: 13.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch__pic {
    width: 71.0625rem;
    height: 13.25rem;
  }
}
.p-sch__img {
  display: block;
  margin-inline: auto;
}
@media screen and (max-width: 749px) {
  .p-sch__img {
    width: clamp(53.2813rem, 227.3333vw, 106.5625rem);
    height: clamp(10rem, 42.6667vw, 20rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch__img {
    width: 106.5625rem;
    height: 20rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch__img {
    width: 71.0625vw;
    height: 13.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch__img {
    width: 71.0625rem;
    height: 13.25rem;
  }
}
.p-sch__msg {
  text-align: center;
}
@media screen and (max-width: 749px) {
  .p-sch__msg {
    font-size: clamp(1rem, 4.2667vw, 2rem);
    margin-block-end: clamp(0.9063rem, 3.8667vw, 1.8125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch__msg {
    font-size: 2rem;
    margin-block-end: 1.8125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch__msg {
    font-size: 1.875vw;
    margin-block-end: 1.5625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch__msg {
    font-size: 1.875rem;
    margin-block-end: 1.5625rem;
  }
}
.p-sch__btn {
  margin-inline: auto;
}
@media screen and (max-width: 749px) {
  .p-sch__btn {
    font-size: clamp(1.0625rem, 4.5333vw, 2.125rem);
    padding-inline: clamp(0.9375rem, 4vw, 1.875rem);
    width: clamp(12.5rem, 53.3333vw, 25rem);
    height: clamp(2.8125rem, 12vw, 5.625rem);
    margin-block-end: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch__btn {
    font-size: 2.125rem;
    padding-inline: 1.875rem;
    width: 25rem;
    height: 5.625rem;
    margin-block-end: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch__btn {
    font-size: 2vw;
    padding-inline: 1.875vw;
    width: 20vw;
    height: 4.375vw;
    margin-block-end: 2.1875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch__btn {
    font-size: 2rem;
    padding-inline: 1.875rem;
    width: 20rem;
    height: 4.375rem;
    margin-block-end: 2.1875rem;
  }
}
@media screen and (max-width: 749px) {
  .p-sch__btn img {
    width: clamp(0.25rem, 1.0667vw, 0.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch__btn img {
    width: 0.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch__btn img {
    width: 0.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch__btn img {
    width: 0.375rem;
  }
}
.p-sch__note {
  text-align: center;
}
@media screen and (max-width: 749px) {
  .p-sch__note {
    font-size: clamp(0.6875rem, 2.9333vw, 1.375rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-sch__note {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-sch__note {
    font-size: 0.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-sch__note {
    font-size: 0.875rem;
  }
}

/* ====================================
FAQ
==================================== */
@media screen and (max-width: 749px) {
  .p-faq {
    margin-block-start: clamp(0.625rem, 2.6667vw, 1.25rem);
    margin-block-end: clamp(5rem, 21.3333vw, 10rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-faq {
    margin-block-start: 1.25rem;
    margin-block-end: 10rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-faq {
    margin-block-start: 2.8125vw;
    margin-block-end: 9.9375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-faq {
    margin-block-start: 2.8125rem;
    margin-block-end: 9.9375rem;
  }
}
.p-faq__box {
  position: relative;
}
@media screen and (max-width: 749px) {
  .p-faq__box {
    padding-block-start: clamp(4.4688rem, 19.0667vw, 8.9375rem);
    padding-block-end: clamp(4.7813rem, 20.4vw, 9.5625rem);
    padding-inline: clamp(1.875rem, 8vw, 3.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-faq__box {
    padding-block-start: 8.9375rem;
    padding-block-end: 9.5625rem;
    padding-inline: 3.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-faq__box {
    padding-block-start: 6.25vw;
    padding-block-end: 9.0625vw;
    padding-inline: 9.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-faq__box {
    padding-block-start: 6.25rem;
    padding-block-end: 9.0625rem;
    padding-inline: 9.375rem;
  }
}
.p-faq__hd {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .p-faq__hd {
    margin-block-end: clamp(3.125rem, 13.3333vw, 6.25rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-faq__hd {
    margin-block-end: 6.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-faq__hd {
    margin-block-end: 3.3125vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-faq__hd {
    margin-block-end: 3.3125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__hd {
    align-items: flex-start;
    flex-direction: column;
  }
}
.p-faq__ill {
  aspect-ratio: 225/160;
  height: auto;
}
@media screen and (max-width: 749px) {
  .p-faq__ill {
    width: clamp(6.375rem, 27.2vw, 12.75rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-faq__ill {
    width: 12.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-faq__ill {
    width: 14.0625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-faq__ill {
    width: 14.0625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__ill {
    position: absolute;
    top: 26vw;
    right: 5vw;
  }
}
.p-faq__list {
  list-style: none;
  counter-reset: faqi 0;
}
@media screen and (max-width: 767px) {
  .p-faq__list {
    margin-inline: -2vw;
  }
}
.p-faq__item {
  counter-increment: faqi 1;
  background: hsl(0, 0%, 100%);
  filter: drop-shadow(0 0 4px rgba(35, 24, 21, 0.1));
}
@media screen and (max-width: 767px) {
  .p-faq__item {
    filter: none;
    border: #c8c8c8 2px solid;
  }
}
@media screen and (max-width: 749px) {
  .p-faq__item {
    border-radius: clamp(0.625rem, 2.6667vw, 1.25rem);
    padding-inline: clamp(1.0313rem, 4.4vw, 2.0625rem);
    padding-block-start: clamp(0.7813rem, 3.3333vw, 1.5625rem);
    padding-block-end: clamp(1.0313rem, 4.4vw, 2.0625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-faq__item {
    border-radius: 1.25rem;
    padding-inline: 2.0625rem;
    padding-block-start: 1.5625rem;
    padding-block-end: 2.0625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-faq__item {
    border-radius: 2.375vw;
    padding-inline: 2.8125vw;
    padding-block-start: 1.25vw;
    padding-block-end: 1.25vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-faq__item {
    border-radius: 2.375rem;
    padding-inline: 2.8125rem;
    padding-block-start: 1.25rem;
    padding-block-end: 1.25rem;
  }
}
@media screen and (max-width: 749px) {
  .p-faq__item:not(:last-child) {
    margin-block-end: clamp(1.25rem, 5.3333vw, 2.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-faq__item:not(:last-child) {
    margin-block-end: 2.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-faq__item:not(:last-child) {
    margin-block-end: 2.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-faq__item:not(:last-child) {
    margin-block-end: 2.5rem;
  }
}
.p-faq__q {
  width: 100%;
  display: grid;
  font-weight: 700;
  grid-template-columns: auto 1fr auto;
  align-items: baseline;
}
@media screen and (max-width: 749px) {
  .p-faq__q {
    font-size: clamp(0.75rem, 3.2vw, 1.5rem);
    gap: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-faq__q {
    font-size: 1.5rem;
    gap: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-faq__q {
    font-size: 1.125vw;
    gap: 2.8125vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-faq__q {
    font-size: 1.125rem;
    gap: 2.8125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__q {
    line-height: 1.75;
    letter-spacing: -0.02em;
  }
}
.p-faq__q::before {
  content: "Q." counter(faqi, decimal-leading-zero);
  color: hsl(214, 100%, 29%);
  font-family: "Outfit", "Barlow", "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-optical-sizing: auto;
}
@media screen and (max-width: 749px) {
  .p-faq__q::before {
    font-size: clamp(0.75rem, 3.2vw, 1.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-faq__q::before {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-faq__q::before {
    font-size: 1.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-faq__q::before {
    font-size: 1.375rem;
  }
}
.p-faq__q::after {
  justify-self: end;
  content: "";
  display: block;
  width: 6px;
  aspect-ratio: 6/12;
  background: url(../images/cmn/arrow.svg) no-repeat center center/contain;
  filter: brightness(0);
  transform: rotate(90deg);
  transition: transform 0.32s ease;
}
@media screen and (max-width: 767px) {
  .p-faq__q::after {
    filter: brightness(0) saturate(100%) invert(15%) sepia(95%) saturate(2410%) hue-rotate(204deg) brightness(93%) contrast(101%);
  }
}
@media screen and (max-width: 749px) {
  .p-faq__q::after {
    width: clamp(0.4375rem, 1.8667vw, 0.875rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-faq__q::after {
    width: 0.875rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-faq__q::after {
    width: 0.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-faq__q::after {
    width: 0.375rem;
  }
}
@media screen and (max-width: 767px) {
  .is-open .p-faq__q::after {
    transform: rotate(270deg);
    filter: brightness(0) saturate(100%) invert(24%) sepia(57%) saturate(7263%) hue-rotate(346deg) brightness(79%) contrast(125%);
  }
}

.p-faq__a {
  overflow: hidden;
  height: 0;
  transition: height 0.32s ease;
}
.p-faq__a p {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  line-height: 2.125;
}
@media screen and (max-width: 749px) {
  .p-faq__a p {
    font-size: clamp(0.75rem, 3.2vw, 1.5rem);
    gap: clamp(0.8125rem, 3.4667vw, 1.625rem);
    padding-block-start: clamp(0.75rem, 3.2vw, 1.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-faq__a p {
    font-size: 1.5rem;
    gap: 1.625rem;
    padding-block-start: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-faq__a p {
    font-size: 1vw;
    gap: 2.8125vw;
    padding-block-start: 0.625vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-faq__a p {
    font-size: 1rem;
    gap: 2.8125rem;
    padding-block-start: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-faq__a p {
    line-height: 1.75;
  }
}
.p-faq__a p::before {
  content: "A." counter(faqi, decimal-leading-zero);
  color: hsl(357, 100%, 43%);
  font-family: "Outfit", "Barlow", "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-optical-sizing: auto;
}
@media screen and (max-width: 749px) {
  .p-faq__a p::before {
    font-size: clamp(0.75rem, 3.2vw, 1.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-faq__a p::before {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-faq__a p::before {
    font-size: 1.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-faq__a p::before {
    font-size: 1.375rem;
  }
}

/* ====================================
CONTACT
==================================== */
.p-contact__wrap {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-contact__wrap {
    margin-inline: calc(50% - 50vw);
  }
}
.p-contact__img {
  aspect-ratio: 1560/540;
}
@media screen and (max-width: 767px) {
  .p-contact__img {
    aspect-ratio: 750/540;
  }
}
.p-contact__body {
  position: absolute;
  inset: 0;
}
@media screen and (max-width: 749px) {
  .p-contact__body {
    margin-block-start: clamp(3.4063rem, 14.5333vw, 6.8125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-contact__body {
    margin-block-start: 6.8125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-contact__body {
    margin-block-start: 8.125vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-contact__body {
    margin-block-start: 8.125rem;
  }
}
.p-contact__ttl {
  color: hsl(0, 0%, 100%);
  flex-direction: column;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
}
@media screen and (max-width: 749px) {
  .p-contact__ttl {
    gap: clamp(0.8125rem, 3.4667vw, 1.625rem);
    margin-block-end: clamp(2.6563rem, 11.3333vw, 5.3125rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-contact__ttl {
    gap: 1.625rem;
    margin-block-end: 5.3125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-contact__ttl {
    gap: 1.5625vw;
    margin-block-end: 4.9375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-contact__ttl {
    gap: 1.5625rem;
    margin-block-end: 4.9375rem;
  }
}
.p-contact__ttl-en {
  line-height: 1;
}
@media screen and (max-width: 749px) {
  .p-contact__ttl-en {
    font-size: clamp(2.5rem, 10.6667vw, 5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-contact__ttl-en {
    font-size: 5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-contact__ttl-en {
    font-size: 4.5vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-contact__ttl-en {
    font-size: 4.5rem;
  }
}
.p-contact__ttl-ja {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  line-height: 1;
}
@media screen and (max-width: 749px) {
  .p-contact__ttl-ja {
    font-size: clamp(0.9375rem, 4vw, 1.875rem);
    gap: clamp(0.8125rem, 3.4667vw, 1.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-contact__ttl-ja {
    font-size: 1.875rem;
    gap: 1.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-contact__ttl-ja {
    font-size: 1.5vw;
    gap: 1.875vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-contact__ttl-ja {
    font-size: 1.5rem;
    gap: 1.875rem;
  }
}
.p-contact__ttl-ja::before, .p-contact__ttl-ja::after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background: hsl(0, 0%, 100%);
}
.p-contact__btn {
  margin-inline: auto;
}
@media screen and (max-width: 749px) {
  .p-contact__btn {
    font-size: clamp(0.875rem, 3.7333vw, 1.75rem);
    padding-inline: clamp(0.9375rem, 4vw, 1.875rem);
    width: clamp(12.5rem, 53.3333vw, 25rem);
    height: clamp(2.8125rem, 12vw, 5.625rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-contact__btn {
    font-size: 1.75rem;
    padding-inline: 1.875rem;
    width: 25rem;
    height: 5.625rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-contact__btn {
    font-size: 1.375vw;
    padding-inline: 1.875vw;
    width: 22.5vw;
    height: 4.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-contact__btn {
    font-size: 1.375rem;
    padding-inline: 1.875rem;
    width: 22.5rem;
    height: 4.375rem;
  }
}
@media screen and (max-width: 749px) {
  .p-contact__btn img {
    width: clamp(0.25rem, 1.0667vw, 0.5rem);
  }
}
@media screen and (min-width: 750px) and (max-width: 767px) {
  .p-contact__btn img {
    width: 0.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1599px) {
  .p-contact__btn img {
    width: 0.375vw;
  }
}
@media screen and (min-width: 1600px) {
  .p-contact__btn img {
    width: 0.375rem;
  }
}