@charset "UTF-8";
/*---------------------------------------------------------------------------------
CSS構成
// 編集は案件フォルダに格納しているSCSSで行う

// 絶対に変更しないCSS
./assets/vendor/**.css

// メインで利用しているCSS
- style.css                SCSSを集約したCSS

// SCSS構成
- external                  ./assets/vendor/**.cssを上書きする ※基本触らない
- foundation                基本の文字設定やWebフォントの読み込みなど ※基本触らない
- global                    @mixin, @function, 変数など ※基本触らない
- layout                    各ページを構成する大枠のレイアウト ※基本触らない
- object                    パーツやブロック
    ├─component             繰り返し使用される小さな単位のパーツ
    ├─project               セクションや大きなブロック
    └─utility               補助的にcomponentやprojectを調整する（レスポンシブの表示切替用クラスなど）
- page                      下層ページ固有のスタイル
---------------------------------------------------------------------------------*/
/* ================================================================
external
================================================================ */
:root {
  /* z-index */
  --z-header: 700;
  --z-nav: 800;
  --z-dropdown: 900;
  --z-hamburger: 1000;
  --z-fixed-footer: 600;
  --z-fixed-nav: 1000;
  /* color */
  /* == color-primitive == */
  --base-blue-100: #e0f1f9;
  --base-blue-200: #cee9f5;
  --base-blue-300: #c7e5f2;
  --base-blue-400: #bae1f2;
  --base-blue-500: #acd3e4;
  --base-blue-600: #61c4ef;
  --base-blue-700: #33a4d5;
  --base-blue-900: #0f4a63;
  --base-orange-400: #f3a84c;
  --base-gray-100: #f4f4f4;
  --base-gray-200: #e9e9e9;
  --base-gray-400: #cfcfcf;
  --base-gray-700: #bfbfbf;
  --base-black-400: #222222;
  --base-white-400: #fcfcfc;
  --fc-black-400: #222222;
  --fc-gray-400: #bfbfbf;
  --fc-white-400: #fcfcfc;
  --fc-red-400: #c10e0e;
  /* == color-semantic == */
  --bg-body: var(--base-blue-400);
  --bg-body-light: var(--base-blue-200);
  --bg-white: var(--base-white-400);
  --bg-black: var(--base-black-400);
  --bg-card: var(--base-blue-100);
  --bg-flow-light: var(--base-blue-100);
  --bg-flow-dark: var(--base-blue-300);
  --accent-blue: var(--base-blue-700);
  --accent-orange: var(--base-orange-400);
  --button-primary: var(--base-orange-400);
  --mh-header: var(--base-blue-700);
  --mh-body-base: var(--base-white-400);
  --mh-body-dark: var(--base-gray-100);
  --mh-line: var(--base-gray-700);
  --line-gray: var(--base-gray-200);
  --line-blue: var(--base-blue-500);
  --title-ja: var(--fc-black-400);
  --title-en: var(--base-blue-700);
  --title-sub: var(--base-blue-900);
  --shadow-rectangle: var(--base-blue-600);
  --text-dark: var(--fc-black-400);
  --text-gray: var(--fc-gray-400);
  --text-light: var(--fc-white-400);
  --text-new: var(--fc-red-400);
  --text-link: var(--base-blue-700);
  --text-band: var(--base-blue-900);
  /* font */
  --ff-ja-primary: "Zen Maru Gothic";
  --ff-en-primary: "Nunito";
  --ff-base: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Noto Sans JP",
    sans-serif;
  --ls-min: 0.02em;
  --ls-narrow: 0.06em;
  --ls-base: 0.1em;
  --ls-wide: 0.12em;
  --ls-en-primary: 0.05em;
  --lh-single: 1;
  --lh-min: 1.2;
  --lh-narrow: 1.35;
  --lh-base: 1.5;
  --lh-wide: 2.0;
}

/* 
destyle-custom
---------------------------------------------------------------- */
*,
::before,
::after {
  min-width: initial;
}

/* 
bootstrap-custom
---------------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0;
  font-size: initial;
  line-height: 1;
}

p {
  margin: 0;
}

address {
  margin: 0;
}

tbody,
td,
tfoot,
th,
thead,
tr {
  font-weight: 400;
}

a {
  color: #000;
  text-decoration: none;
}

ul,
ol,
dl {
  padding: 0;
  margin: 0;
}

dt,
dd {
  margin: 0;
  font-weight: 400;
}

.shadow {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

.card {
  border: none;
}

/* 
swiper-custom
---------------------------------------------------------------- */
.swiper-fade .swiper-slide {
  -webkit-transition-property: opacity !important;
  transition-property: opacity !important;
}

/* ================================================================
foundation
================================================================ */
/*
base
---------------------------------------------------------------- */
html {
  font-size: 1rem;
  overflow-x: hidden;
}

body {
  font-family: YakuHanJP, var(--ff-ja-primary), var(--ff-base);
  font-size: clamp(1rem, 0.923rem + 0.162dvw, 1.125rem);
  letter-spacing: var(--ls-base);
  line-height: var(--lh-base);
  color: var(--text-dark);
  font-feature-settings: "palt";
  -webkit-font-feature-settings: "palt";
  background-color: var(--bg-body);
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

div {
  line-height: var(--lh-single);
}

span {
  display: inline-block;
}

a {
  display: inline-block;
  width: 100%;
  height: 100%;
  vertical-align: bottom;
  color: var(--text-dark);
}

img,
picture {
  display: inline-block;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

svg {
  display: inline-block;
}

use {
  display: inline-block;
  width: 100%;
  height: auto;
}

ul,
ol,
dl {
  padding: 0;
  margin: 0;
}

/* table */
table {
  margin-inline: auto;
  line-height: var(--lh-narrow);
}

tbody,
tfoot,
thead,
td,
th,
tr {
  font-weight: 400;
}

tr:not(:last-child) {
  border-bottom: 1px solid var(--line-blue);
}
tr:first-child th,
tr:first-child td {
  padding-top: 0;
}
tr:last-child th,
tr:last-child td {
  padding-bottom: 0;
}

th {
  width: 20%;
  font-weight: 500;
  color: var(--title-sub);
}

th,
td {
  padding: 1em 0;
}

@media screen and (max-width: 575px) {
  th,
  td {
    display: block;
    width: 100%;
  }
  tr:not(:last-child) td {
    padding-top: 0;
  }
}
/* paragraph */
.indent {
  text-indent: -1em;
  padding-left: 1em;
}

.small {
  margin-top: 0.5em;
  font-size: 0.75em;
}

/* 
br
---------------------------------------------------------------- */
.smBr {
  display: none;
}
@media screen and (max-width: 575px) {
  .smBr {
    display: block;
  }
}

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

.lgBr {
  display: none;
}
@media screen and (max-width: 991px) {
  .lgBr {
    display: block;
  }
}

.xlBr {
  display: none;
}
@media screen and (max-width: 1199px) {
  .xlBr {
    display: block;
  }
}

.xxlBr {
  display: none;
}
@media screen and (max-width: 1399px) {
  .xxlBr {
    display: block;
  }
}

/* 
.svg-sprites
---------------------------------------------------------------- */
.svg-sprites {
  display: block;
  width: 0;
  height: 0;
}

/* 
animation
---------------------------------------------------------------- */
/* .js-fadeUp */
.js-fadeUp {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(12px);
          transform: translateY(12px);
}
.js-fadeUp.is-animated {
  -webkit-animation-name: fadeUp;
          animation-name: fadeUp;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(12px);
            transform: translateY(12px);
  }
  80% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(12px);
            transform: translateY(12px);
  }
  80% {
    opacity: 1;
    visibility: visible;
  }
  100% {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

/* .js-fadeIn */
.js-fadeIn {
  opacity: 0;
  visibility: hidden;
}
.js-fadeIn.is-animated {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
  -webkit-animation-duration: 1.6s;
          animation-duration: 1.6s;
  -webkit-animation-timing-function: ease;
          animation-timing-function: ease;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    visibility: hidden;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}

/* delay */
@media screen and (min-width: 768px) {
  .animation-delay-1 {
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-2 {
    -webkit-animation-delay: 0.2s;
            animation-delay: 0.2s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-3 {
    -webkit-animation-delay: 0.3s;
            animation-delay: 0.3s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-4 {
    -webkit-animation-delay: 0.4s;
            animation-delay: 0.4s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-5 {
    -webkit-animation-delay: 0.5s;
            animation-delay: 0.5s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-6 {
    -webkit-animation-delay: 0.6s;
            animation-delay: 0.6s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-7 {
    -webkit-animation-delay: 0.7s;
            animation-delay: 0.7s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-8 {
    -webkit-animation-delay: 0.8s;
            animation-delay: 0.8s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-9 {
    -webkit-animation-delay: 0.9s;
            animation-delay: 0.9s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-10 {
    -webkit-animation-delay: 1s;
            animation-delay: 1s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-11 {
    -webkit-animation-delay: 1.1s;
            animation-delay: 1.1s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-12 {
    -webkit-animation-delay: 1.2s;
            animation-delay: 1.2s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-13 {
    -webkit-animation-delay: 1.3s;
            animation-delay: 1.3s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-14 {
    -webkit-animation-delay: 1.4s;
            animation-delay: 1.4s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-15 {
    -webkit-animation-delay: 1.5s;
            animation-delay: 1.5s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-16 {
    -webkit-animation-delay: 1.6s;
            animation-delay: 1.6s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-17 {
    -webkit-animation-delay: 1.7s;
            animation-delay: 1.7s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-18 {
    -webkit-animation-delay: 1.8s;
            animation-delay: 1.8s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-19 {
    -webkit-animation-delay: 1.9s;
            animation-delay: 1.9s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-20 {
    -webkit-animation-delay: 2s;
            animation-delay: 2s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-21 {
    -webkit-animation-delay: 2.1s;
            animation-delay: 2.1s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-22 {
    -webkit-animation-delay: 2.2s;
            animation-delay: 2.2s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-23 {
    -webkit-animation-delay: 2.3s;
            animation-delay: 2.3s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-24 {
    -webkit-animation-delay: 2.4s;
            animation-delay: 2.4s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-25 {
    -webkit-animation-delay: 2.5s;
            animation-delay: 2.5s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-26 {
    -webkit-animation-delay: 2.6s;
            animation-delay: 2.6s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-27 {
    -webkit-animation-delay: 2.7s;
            animation-delay: 2.7s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-28 {
    -webkit-animation-delay: 2.8s;
            animation-delay: 2.8s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-29 {
    -webkit-animation-delay: 2.9s;
            animation-delay: 2.9s;
  }
}
@media screen and (min-width: 768px) {
  .animation-delay-30 {
    -webkit-animation-delay: 3s;
            animation-delay: 3s;
  }
}
/* duration */
.is-animated.animation-duration-1 {
  -webkit-animation-duration: 0.1s;
          animation-duration: 0.1s;
}

.is-animated.animation-duration-2 {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
}

.is-animated.animation-duration-3 {
  -webkit-animation-duration: 0.3s;
          animation-duration: 0.3s;
}

.is-animated.animation-duration-4 {
  -webkit-animation-duration: 0.4s;
          animation-duration: 0.4s;
}

.is-animated.animation-duration-5 {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
}

.is-animated.animation-duration-6 {
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
}

.is-animated.animation-duration-7 {
  -webkit-animation-duration: 0.7s;
          animation-duration: 0.7s;
}

.is-animated.animation-duration-8 {
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
}

.is-animated.animation-duration-9 {
  -webkit-animation-duration: 0.9s;
          animation-duration: 0.9s;
}

.is-animated.animation-duration-10 {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}

.is-animated.animation-duration-11 {
  -webkit-animation-duration: 1.1s;
          animation-duration: 1.1s;
}

.is-animated.animation-duration-12 {
  -webkit-animation-duration: 1.2s;
          animation-duration: 1.2s;
}

.is-animated.animation-duration-13 {
  -webkit-animation-duration: 1.3s;
          animation-duration: 1.3s;
}

.is-animated.animation-duration-14 {
  -webkit-animation-duration: 1.4s;
          animation-duration: 1.4s;
}

.is-animated.animation-duration-15 {
  -webkit-animation-duration: 1.5s;
          animation-duration: 1.5s;
}

.is-animated.animation-duration-16 {
  -webkit-animation-duration: 1.6s;
          animation-duration: 1.6s;
}

.is-animated.animation-duration-17 {
  -webkit-animation-duration: 1.7s;
          animation-duration: 1.7s;
}

.is-animated.animation-duration-18 {
  -webkit-animation-duration: 1.8s;
          animation-duration: 1.8s;
}

.is-animated.animation-duration-19 {
  -webkit-animation-duration: 1.9s;
          animation-duration: 1.9s;
}

.is-animated.animation-duration-20 {
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
}

.is-animated.animation-duration-21 {
  -webkit-animation-duration: 2.1s;
          animation-duration: 2.1s;
}

.is-animated.animation-duration-22 {
  -webkit-animation-duration: 2.2s;
          animation-duration: 2.2s;
}

.is-animated.animation-duration-23 {
  -webkit-animation-duration: 2.3s;
          animation-duration: 2.3s;
}

.is-animated.animation-duration-24 {
  -webkit-animation-duration: 2.4s;
          animation-duration: 2.4s;
}

.is-animated.animation-duration-25 {
  -webkit-animation-duration: 2.5s;
          animation-duration: 2.5s;
}

.is-animated.animation-duration-26 {
  -webkit-animation-duration: 2.6s;
          animation-duration: 2.6s;
}

.is-animated.animation-duration-27 {
  -webkit-animation-duration: 2.7s;
          animation-duration: 2.7s;
}

.is-animated.animation-duration-28 {
  -webkit-animation-duration: 2.8s;
          animation-duration: 2.8s;
}

.is-animated.animation-duration-29 {
  -webkit-animation-duration: 2.9s;
          animation-duration: 2.9s;
}

.is-animated.animation-duration-30 {
  -webkit-animation-duration: 3s;
          animation-duration: 3s;
}

/* ================================================================
layout
================================================================ */
/* .l-wrapper */
.l-wrapper {
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow-x: clip;
}

/* .l-header */
.l-header {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: var(--z-header);
}

/* .l-main */
.l-main {
  /* l-main内の要素が存在しない場合、
     親要素のサイズをl-mainに割り当てる */
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

/* .l-container */
.l-container {
  max-width: 1470px;
  margin-inline: auto;
}
@media screen and (max-width: 1550px) {
  .l-container {
    max-width: 1550px;
    padding: 0 clamp(16px, 0.521rem + 2.04dvw, 40px);
  }
}

/* .l-footer */
.l-footer {
  /* 1ページ内のコンテンツ高さが100vhに満たない場合
     p-footerを画面最下部に寄せる */
  justify-self: end;
}

/* ================================================================
object
================================================================ */
/*
.c-arrow
---------------------------------------------------------------- */
.c-arrow {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: relative;
  /* .arrow */
}
.c-arrow .arrow-box {
  width: 30%;
  aspect-ratio: 86.11/65.87;
  margin: auto;
  overflow: hidden;
  position: absolute;
  inset: 0;
}
.c-arrow .arrow-box::before, .c-arrow .arrow-box::after {
  content: "";
  width: 100%;
  height: 100%;
  -webkit-mask-image: url(../assets/images/common/arrow.svg);
          mask-image: url(../assets/images/common/arrow.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  left: 0;
}
.c-arrow .arrow-box::before {
  left: -100%;
}

/* hover */
@media (hover: hover) {
  a:has(.c-arrow):hover .arrow-box::before {
    left: 0;
    -webkit-transition: 0.3s 0.1s ease-in-out;
    transition: 0.3s 0.1s ease-in-out;
  }
  a:has(.c-arrow):hover .arrow-box::after {
    left: 100%;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
}
/*
.c-band
---------------------------------------------------------------- */
.c-band {
  padding: 0.4em;
  background-color: var(--bg-white);
  font-weight: 500;
  color: var(--text-band);
}

/*
.c-bullet-list
---------------------------------------------------------------- */
.c-bullet-list {
  display: grid;
  gap: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem) clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
  font-size: clamp(1rem, 0.844rem + 0.325dvw, 1.25rem);
  line-height: var(--lh-narrow);
}
.c-bullet-list .bullet-item {
  padding-left: 1.5em;
  position: relative;
}
.c-bullet-list .bullet-item::before {
  content: "";
  width: 0.4em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--accent-blue);
  position: absolute;
  top: calc(1em * var(--lh-narrow) / 2 - 0.2em);
  left: 0.4em;
}
.c-bullet-list p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25em;
  line-height: var(--lh-narrow);
}
.c-bullet-list .red {
  padding: 0.25em 0.5em 0.3em;
  border-radius: clamp(0.225rem, 0.196rem + 0.143dvw, 0.375rem);
  font-size: 0.6em;
  font-weight: 500;
  color: var(--text-light);
  background-color: var(--accent-orange);
  letter-spacing: var(--ls-narrow);
}

/*
.c-card
背景付きテキスト
---------------------------------------------------------------- */
.c-card {
  padding: clamp(1.75rem, 0.893rem + 4.29%, 6.25rem) clamp(1.5rem, -0.17rem + 8.35%, 7.5rem);
  background-color: var(--bg-card);
  border-radius: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
  container-type: inline-size;
}
.c-card .card-title {
  font-size: clamp(1.125rem, 1.048rem + 0.162dvw, 1.25rem);
  font-weight: 500;
  line-height: var(--lh-min);
  color: var(--title-sub);
  padding-bottom: 1em;
  margin-bottom: 0.5em;
  border-bottom: 1px solid var(--bg-body);
}
.c-card .card-title .small {
  font-size: 0.75em;
  margin-left: 0.5em;
}

/*
.c-desc
---------------------------------------------------------------- */
.c-desc {
  line-height: var(--lh-base);
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
}
.c-desc p:not(:first-child) {
  margin-top: 0.75em;
}

/*
.c-dropdown
---------------------------------------------------------------- */
.c-dropdown {
  display: none;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-top: 1.25em;
  margin-inline: auto;
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  -webkit-animation: dropdownDisappear 0.3s forwards;
          animation: dropdownDisappear 0.3s forwards;
}
@-webkit-keyframes dropdownDisappear {
  0% {
    display: block;
    opacity: 1;
    visibility: 1;
  }
  100% {
    display: none;
    opacity: 0;
    visibility: 0;
  }
}
@keyframes dropdownDisappear {
  0% {
    display: block;
    opacity: 1;
    visibility: 1;
  }
  100% {
    display: none;
    opacity: 0;
    visibility: 0;
  }
}
.c-dropdown {
  /* .c-dropdown.is-active */
}
.c-dropdown.is-active {
  display: block;
  -webkit-animation: dropdownAppear 0.3s forwards;
          animation: dropdownAppear 0.3s forwards;
}
@-webkit-keyframes dropdownAppear {
  0% {
    display: none;
    opacity: 0;
    visibility: 0;
  }
  100% {
    display: block;
    opacity: 1;
    visibility: 1;
  }
}
@keyframes dropdownAppear {
  0% {
    display: none;
    opacity: 0;
    visibility: 0;
  }
  100% {
    display: block;
    opacity: 1;
    visibility: 1;
  }
}
.c-dropdown {
  /* .dropdown-list */
}
.c-dropdown .dropdown-list {
  padding: calc(clamp(0.6rem, 0.524rem + 0.381dvw, 1rem) * 2);
  border-radius: clamp(0.45rem, 0.392rem + 0.286dvw, 0.75rem);
  background-color: var(--bg-white);
  -webkit-box-shadow: 3px 3px 0 var(--accent-blue);
          box-shadow: 3px 3px 0 var(--accent-blue);
}
.c-dropdown {
  /* .dropdown-item */
}
.c-dropdown .dropdown-item:first-child a {
  padding-top: 0;
}
.c-dropdown .dropdown-item a {
  padding: 0.75em 0;
  border-bottom: 1px solid var(--line-gray);
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
@media (hover: hover) {
  .c-dropdown .dropdown-item a:hover {
    color: var(--accent-blue);
  }
}
@media screen and (max-width: 991px) {
  .c-dropdown {
    display: block;
    margin-inline: initial;
    padding-top: 1em;
    position: static;
    -webkit-animation: none;
            animation: none;
    /* .dropdown-list */
  }
  .c-dropdown .dropdown-list {
    padding: 0;
    padding-left: calc(1.75em + clamp(0.3rem, 0.263rem + 0.19dvw, 0.5rem) * 1.75);
    background-color: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
  }
  .c-dropdown {
    /* .dropdown-item */
  }
  .c-dropdown .dropdown-item:not(:first-child) {
    margin-top: 1em;
  }
  .c-dropdown .dropdown-item a {
    padding: 0;
    padding-left: 1.25em;
    border-bottom: none;
    position: relative;
  }
  .c-dropdown .dropdown-item a::before {
    content: "";
    width: 0.5em;
    height: 2px;
    margin-right: 0.75em;
    background-color: var(--line-gray);
    position: absolute;
    top: 50%;
    left: 0;
  }
}

.p-fixed-nav .c-dropdown {
  padding-top: 2em;
}

/*
.c-flow
---------------------------------------------------------------- */
.c-flow {
  /* .flow */
}
.c-flow .flow-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-radius: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
  overflow: hidden;
}
.c-flow .flow-item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0.75em;
  padding: clamp(1.25rem, 0.022rem + 1.982dvw, 2.5rem);
  background-color: var(--bg-flow-light);
}
.c-flow .flow-item:nth-child(2n) {
  background-color: var(--bg-flow-dark);
}
.c-flow .flow-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 0.5em;
  font-size: clamp(1rem, 0.844rem + 0.325dvw, 1.25rem);
  font-weight: 500;
}
.c-flow .flow-title .num {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 1.65em;
  aspect-ratio: 1/1;
  padding: 0.1em 0 0 0.1em;
  border-radius: 50%;
  background-color: var(--accent-blue);
  font-family: var(--ff-en-primary);
  color: var(--text-light);
}
.c-flow .flow-title .word {
  line-height: var(--lh-min);
}
.c-flow .flow-desc {
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
}
.c-flow .flow-desc .note {
  font-size: 0.75em;
}
.c-flow .flow-desc .button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5em;
  margin-top: 1em;
}
.c-flow .flow-desc .button {
  width: 100%;
}
.c-flow .flow-desc .button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 2.5rem;
  padding: 0 1rem;
  font-size: clamp(0.75rem, 0.673rem + 0.162dvw, 0.875rem);
}
.c-flow .flow-desc .button .text {
  letter-spacing: var(--ls-min);
}
@media screen and (max-width: 991px) {
  .c-flow .flow-list {
    grid-template-columns: 100%;
  }
  .c-flow .flow-desc .button-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 0.75em;
  }
  .c-flow .flow-desc .button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .c-flow .flow-desc .button a {
    width: 13.5rem;
    height: 2rem;
  }
  .c-flow .flow-desc .button .text {
    letter-spacing: var(--ls-base);
  }
}
@media screen and (max-width: 991px) and (min-width: 576px) {
  .c-flow .flow-item {
    grid-template-columns: 12em 1fr;
    grid-template-rows: auto;
  }
}
@media screen and (max-width: 575px) {
  .c-flow .flow-desc .button-wrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

/*
.c-info-list
---------------------------------------------------------------- */
.c-info-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75em;
}
.c-info-list .info-item dl {
  display: grid;
  grid-template-columns: 6em 1fr;
  gap: 1em;
}
.c-info-list .info-item dt {
  font-size: clamp(0.75rem, 0.673rem + 0.162dvw, 0.875rem);
  border-radius: clamp(0.225rem, 0.196rem + 0.143dvw, 0.375rem);
  background-color: var(--accent-orange);
}
.c-info-list .info-item dd {
  padding-top: calc(clamp(0.75rem, 0.673rem + 0.162dvw, 0.875rem) * 0.2);
  line-height: var(--lh-narrow);
}
.c-info-list .info-item .small {
  margin-top: 0.25em;
}

/*
.c-introduction-title
---------------------------------------------------------------- */
.c-introduction-title {
  font-size: clamp(1.5rem, 1.033rem + 0.974dvw, 2.25rem);
  font-weight: 500;
  color: var(--title-sub);
  line-height: var(--lh-base);
}

/*
.c-marker
---------------------------------------------------------------- */
.c-marker {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.c-marker::before {
  content: "";
  width: 100%;
  height: 0.15em;
  background-color: var(--accent-orange);
  position: absolute;
  z-index: -10;
  bottom: -0.25em;
}

/*
.c-md-desc
---------------------------------------------------------------- */
.c-md-desc {
  line-height: var(--lh-base);
  margin-bottom: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
}

/*
.c-md-title
---------------------------------------------------------------- */
.c-md-title {
  margin-bottom: calc(clamp(0.6rem, 0.524rem + 0.381dvw, 1rem) * 1.75);
  padding-left: 1.45em;
  font-size: clamp(1.25rem, 1.094rem + 0.325dvw, 1.5rem);
  font-weight: 500;
  color: var(--title-sub);
  line-height: var(--lh-min);
  position: relative;
}
.c-md-title::before {
  content: "";
  display: inline-block;
  width: 1.1em;
  aspect-ratio: 242.17/195.29;
  background-image: url(../assets/images/common/icon-leaf.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: calc(clamp(1.25rem, 1.094rem + 0.325dvw, 1.5rem) * var(--lh-min) / 2 - 0.4433462666em);
  left: 0;
}
.c-md-title .small {
  font-size: 0.75em;
  margin-left: 0.5em;
  margin-top: 0;
}

/*
.c-medical-hour
---------------------------------------------------------------- */
.c-medical-hour {
  width: 100%;
  /* .time-table */
}
.c-medical-hour .time-table {
  overflow-x: auto;
}
.c-medical-hour table {
  width: 100%;
  border-radius: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
  overflow: hidden;
  white-space: nowrap;
}
.c-medical-hour thead th,
.c-medical-hour thead td {
  background-color: var(--mh-header);
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
  font-weight: 500;
  color: var(--text-light);
  border: 1px solid var(--line-blue);
}
.c-medical-hour tbody th,
.c-medical-hour tbody td {
  background-color: var(--mh-body-base);
  font-size: clamp(1rem, 0.923rem + 0.162dvw, 1.125rem);
  font-weight: 400;
  border: 1px solid var(--line-gray);
  color: var(--text-dark);
}
.c-medical-hour tr:nth-child(2n) {
  background-color: var(--mh-body-dark);
}
.c-medical-hour tr:first-child th,
.c-medical-hour tr:first-child td {
  padding: clamp(0.75rem, 0.439rem + 0.649dvw, 1.25rem);
}
.c-medical-hour tr:last-child th,
.c-medical-hour tr:last-child td {
  padding: clamp(0.75rem, 0.439rem + 0.649dvw, 1.25rem);
}
.c-medical-hour th,
.c-medical-hour td {
  padding: clamp(0.75rem, 0.439rem + 0.649dvw, 1.25rem);
  text-align: center;
  vertical-align: middle;
}
.c-medical-hour .small {
  display: block;
  margin-top: 0.5em;
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
  letter-spacing: var(--ls-narrow);
}
.c-medical-hour .time {
  font-weight: 500;
  letter-spacing: var(--ls-en-primary);
}
.c-medical-hour .day {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-medical-hour .active,
.c-medical-hour .absence {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
.c-medical-hour .active::before,
.c-medical-hour .absence::before {
  content: "";
  display: block;
  margin: auto;
  border-radius: 50%;
  background-color: var(--accent-blue);
  position: absolute;
  inset: 0;
}
.c-medical-hour .active::before {
  width: clamp(0.75rem, 0.594rem + 0.325dvw, 1rem);
  aspect-ratio: 1/1;
}
.c-medical-hour .absence::before {
  width: 0.5em;
  height: 1px;
}
.c-medical-hour .am-saturday {
  position: relative;
}
.c-medical-hour .am-saturday::before {
  content: '※1';
  position: absolute;
  top: .25em;
  right: .25em;
  font-size: .65em;
  color: var(--accent-blue);
}
.c-medical-hour .kome {
  font-size: .65em;
  color: var(--accent-blue);
  display: inline-block;
  margin-left: .5em;
}
.c-medical-hour .asterisk {
  font-size: 0.75em;
  font-weight: 700;
  color: var(--accent-orange);
}
.c-medical-hour {
  /* .scroll-message */
}
.c-medical-hour .scroll-message {
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
  margin-top: 0.5em;
}
.c-medical-hour {
  /* .note */
}
.c-medical-hour .note {
  margin-top: 1.25em;
  font-size: clamp(0.75rem, 0.594rem + 0.325dvw, 1rem);
}
.c-medical-hour .note-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.35em;
  line-height: var(--lh-min);
}
.c-medical-hour .close {
  color: var(--accent-orange);
  font-weight: 500;
}
@media screen and (max-width: 575px) {
  .c-medical-hour th,
  .c-medical-hour td {
    display: table-cell;
  }
  .c-medical-hour tr:not(:last-child) td {
    padding-top: clamp(0.75rem, 0.439rem + 0.649dvw, 1.25rem);
  }
}

/*
.c-nav-item
---------------------------------------------------------------- */
.c-nav-item > a {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr auto;
  place-items: center;
  gap: 0.75em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: clamp(0.875rem, 0.753rem + 0.198dvw, 1rem);
  text-align: center;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
@media (hover: hover) {
  .c-nav-item > a:hover {
    color: var(--text-link);
  }
}
.c-nav-item .icon {
  width: 2.75em;
}
.c-nav-item:nth-child(4) .icon {
  width: 2.5em;
}
.c-nav-item {
  /* .c-nav-item.is-current */
}
.c-nav-item.is-current > a {
  color: var(--accent-blue);
}
.c-nav-item {
  /* .c-nav-item.more */
}
.c-nav-item.more {
  position: relative;
}
.c-nav-item.more .text::after {
  content: "";
  display: inline-block;
  width: 0.75em;
  aspect-ratio: 1/1;
  margin-left: 0.3em;
  background-color: var(--text-dark);
  -webkit-mask-image: url(../assets/images/common/icon-plus.svg);
          mask-image: url(../assets/images/common/icon-plus.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-transition: background-color 0.3s, rotate 0.3s;
  transition: background-color 0.3s, rotate 0.3s;
}
.c-nav-item {
  /* .c-nav-item.more.is-hover */
}
.c-nav-item.more.is-hover > a {
  color: var(--accent-blue);
}
.c-nav-item.more.is-hover .text::after {
  background-color: var(--text-link);
  rotate: 90deg;
}
@media screen and (max-width: 991px) {
  .c-nav-item > a {
    grid-template-columns: 1.75em 1fr;
    grid-template-rows: auto;
    gap: 0 calc(clamp(0.3rem, 0.263rem + 0.19dvw, 0.5rem) * 1.75);
    place-items: center flex-start;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
  .c-nav-item.more .text::after {
    display: none;
  }
  .c-nav-item .icon {
    width: 100%;
  }
  .c-nav-item:nth-child(2) .icon {
    margin-bottom: -1px;
  }
  .c-nav-item:nth-child(4) .icon {
    width: 87.5%;
    margin-bottom: -3px;
    margin-inline: auto;
  }
}

.p-fixed-nav .c-nav-item > a {
  grid-template-columns: 2em 1fr;
  grid-template-rows: auto;
  gap: calc(clamp(0.3rem, 0.263rem + 0.19dvw, 0.5rem) * 1.25);
}
.p-fixed-nav .c-nav-item .icon {
  width: 100%;
}
.p-fixed-nav .c-nav-item:nth-child(4) .icon {
  width: 87.5%;
}

/*
.c-note
---------------------------------------------------------------- */
.c-note {
  margin-top: 1.5em;
  padding: 0.5em 0 0.5em clamp(0.875rem, 0.33rem + 1.136dvw, 1.75rem);
  border-left: 2px solid var(--accent-orange);
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
}
.c-note .title {
  font-size: clamp(1rem, 0.923rem + 0.162dvw, 1.125rem);
  font-weight: 500;
  margin-bottom: 0.75em;
}
.c-note .desc {
  line-height: var(--lh-narrow);
}
.c-note.is-tel .tel-link {
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
  font-weight: 400;
}
.c-note.is-tel .tel-link::before, .c-note.is-tel .tel-link::after {
  display: inline-block;
  margin-bottom: 0.1em;
}
.c-note.is-tel .tel-link::before {
  content: "(";
}
.c-note.is-tel .tel-link::after {
  content: ")";
}

/*
.c-picture-rectangle
---------------------------------------------------------------- */
.c-picture-rectangle {
  position: relative;
  aspect-ratio: 4/3;
}
.c-picture-rectangle::before {
  content: "";
  display: block;
  width: 94.5%;
  height: 94.5%;
  aspect-ratio: 4/3;
  border-radius: clamp(1.2rem, 1.047rem + 0.762dvw, 2rem);
  background-color: var(--shadow-rectangle);
  -webkit-transform: rotate(3.5deg);
          transform: rotate(3.5deg);
  position: absolute;
  z-index: -10;
  top: 0;
  left: 3.2%;
}
.c-picture-rectangle .picture {
  width: 94.5%;
  height: 94.5%;
  aspect-ratio: 4/3;
  border-radius: clamp(1.2rem, 1.047rem + 0.762dvw, 2rem);
  overflow: hidden;
}
.c-picture-rectangle .picture img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*
.c-reservation-list
---------------------------------------------------------------- */
.c-reservation-list {
  /* .tel */
}
.c-reservation-list .tel .note {
  font-size: clamp(0.75rem, 0.628rem + 0.198dvw, 0.875rem);
  word-break: break-all;
}
.c-reservation-list {
  /* .online */
}
.c-reservation-list .online .note {
  font-size: clamp(0.75rem, 0.628rem + 0.198dvw, 0.875rem);
  word-break: break-all;
}
.c-reservation-list .online dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25em;
}

/*
.c-section-title
---------------------------------------------------------------- */
.c-section-title {
  margin-bottom: clamp(2.5rem, 1.786rem + 3.571dvw, 6.25rem);
  font-size: clamp(1.5rem, 0.876rem + 1.299dvw, 2.5rem);
  font-weight: 500;
}
.c-section-title .en {
  font-family: var(--ff-en-primary);
  letter-spacing: var(--ls-en-primary);
  font-size: 0.6em;
  color: var(--title-en);
}
.c-section-title .en::before {
  content: "";
  display: inline-block;
  width: 1.25em;
  aspect-ratio: 242.17/195.29;
  margin-right: 0.4em;
  margin-bottom: -0.1em;
  background-image: url(../assets/images/common/icon-leaf.svg);
}
.c-section-title .ja {
  display: block;
  margin-top: 0.5em;
  color: var(--title-ja);
}

/*
.c-swiper-fade
---------------------------------------------------------------- */
.c-swiper-fade {
  position: relative;
  min-width: 0;
  /* slide */
}
.c-swiper-fade .slide {
  height: 100%;
}
.c-swiper-fade .slide .swiper,
.c-swiper-fade .slide .swiper-wrapper,
.c-swiper-fade .slide .swiper-slide {
  height: 100%;
}
.c-swiper-fade .slide .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
.c-swiper-fade .slide .media {
  height: 100%;
}
.c-swiper-fade .slide .media img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 7s 1s ease-out;
  transition: 7s 1s ease-out;
}
.c-swiper-fade .slide {
  /* active */
}
.c-swiper-fade .slide .swiper-slide[class*=-active] .media img {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
.c-swiper-fade {
  /* pagination */
}
.c-swiper-fade .pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 20;
}
.c-swiper-fade .pagination .swiper-pagination-bullet {
  display: block;
  width: 8px;
  height: 8px;
  background-color: #fff;
  -webkit-transition: 0.5s;
  transition: 0.5s;
  position: relative;
}
.c-swiper-fade .pagination .swiper-pagination-bullet::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.c-swiper-fade .pagination .swiper-pagination-bullet[class*=-active] {
  width: 40px;
}
.c-swiper-fade .pagination .swiper-pagination-bullet[class*=-active]::before {
  -webkit-transition: 7s;
  transition: 7s;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
@media (hover: hover) {
  .c-swiper-fade .pagination .swiper-pagination-bullet:not([class*=-active]):hover {
    background-color: gray;
  }
}
.c-swiper-fade {
  /* navigation */
}
.c-swiper-fade .navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 20;
}
.c-swiper-fade .navigation .arrow {
  width: 20px;
  height: 20px;
  background-color: red;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (hover: hover) {
  .c-swiper-fade .navigation .arrow:hover {
    opacity: 0.8;
  }
}
.c-swiper-gallery .gallery-main {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  /* slide */
}
.c-swiper-gallery .gallery-main .slide {
  height: 100%;
}
.c-swiper-gallery .gallery-main .slide .swiper,
.c-swiper-gallery .gallery-main .slide .swiper-wrapper,
.c-swiper-gallery .gallery-main .slide .swiper-slide {
  height: 100%;
}
.c-swiper-gallery .gallery-main .slide .media {
  height: 100%;
}
.c-swiper-gallery .gallery-main .slide .media img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: 7s 1s ease-out;
  transition: 7s 1s ease-out;
}
.c-swiper-gallery .gallery-main .slide.swiper-slide[class*=-active] .slide__media img {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.c-swiper-gallery .gallery-main {
  /* navigation */
}
.c-swiper-gallery .gallery-main .navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  position: absolute;
  top: calc(50% - 1.875rem);
  right: 0;
  z-index: 10;
}
.c-swiper-gallery .gallery-main .navigation .arrow {
  width: clamp(2.5rem, 1.721rem + 1.623dvw, 3.75rem);
  aspect-ratio: 1/1;
  border: 1px solid var(--accent-blue);
  position: relative;
}
.c-swiper-gallery .gallery-main .navigation .arrow-box::before, .c-swiper-gallery .gallery-main .navigation .arrow-box::after {
  background-color: var(--accent-blue);
}
.c-swiper-gallery .gallery-main .navigation .arrow--prev .arrow-box::before, .c-swiper-gallery .gallery-main .navigation .arrow--prev .arrow-box::after {
  scale: -1 1;
}
.c-swiper-gallery .gallery-thumb {
  margin-top: 10px;
  /* slide */
}
.c-swiper-gallery .gallery-thumb .slide {
  height: 100%;
}
.c-swiper-gallery .gallery-thumb .slide .swiper,
.c-swiper-gallery .gallery-thumb .slide .swiper-wrapper,
.c-swiper-gallery .gallery-thumb .slide .swiper-slide {
  height: 100%;
}
.c-swiper-gallery .gallery-thumb .slide .media {
  height: 100%;
}
.c-swiper-gallery .gallery-thumb .slide .media img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-swiper-gallery .gallery-thumb .slide .swiper-slide {
  aspect-ratio: 4/3;
  overflow: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  cursor: pointer;
}
.c-swiper-gallery .gallery-thumb .slide .swiper-slide .thumb-media {
  width: 100%;
  height: 100%;
}
.c-swiper-gallery .gallery-thumb .slide .swiper-slide .thumb-media img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (hover: hover) {
  .c-swiper-gallery .gallery-thumb .slide .swiper-slide:hover {
    opacity: 0.8;
    -webkit-transform: scale(0.96);
            transform: scale(0.96);
  }
  .c-swiper-gallery .gallery-thumb .slide .swiper-slide:hover img {
    -webkit-transform: scale(1.04);
            transform: scale(1.04);
  }
}
.c-swiper-gallery .gallery-thumb .slide .swiper-slide[class*=-thumb-active] {
  opacity: 0.8;
  -webkit-transform: scale(0.96);
          transform: scale(0.96);
}
.c-swiper-gallery .gallery-thumb .slide .swiper-slide[class*=-thumb-active] img {
  -webkit-transform: scale(1.04);
          transform: scale(1.04);
}
.c-swiper-gallery .gallery-thumb {
  /* scrollbar */
}
.c-swiper-gallery .gallery-thumb .scrollbar {
  height: 8px;
  margin-top: 10px;
}
.c-swiper-gallery .gallery-thumb .scrollbar .swiper-scrollbar-drag {
  height: 100%;
  background-color: var(--accent-blue);
  border-radius: 1000px;
}

.c-swiper-loop {
  /* slide */
  user-select: none;
}
.c-swiper-loop .slide {
  overflow-x: clip;
  height: 100%;
}
.c-swiper-loop .slide .swiper {
  overflow: visible;
}
.c-swiper-loop .slide .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
.c-swiper-loop .slide .swiper-slide {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.c-swiper-loop .slide .media {
  height: 100%;
  aspect-ratio: 4/3;
}
.c-swiper-loop .slide .media img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-swiper-loop .slide .text {
  font-size: 100px;
}

/*
.c-tag
---------------------------------------------------------------- */
.c-tag {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0.5em 1em 0.55em 1em;
  background-color: var(--accent-blue);
  border-radius: 1000px;
  text-align: center;
  font-weight: 500;
  color: var(--text-light);
  letter-spacing: var(--ls-narrow);
}

/*
.c-tel
---------------------------------------------------------------- */
.c-tel {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: var(--ff-en-primary);
  font-size: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
  font-weight: 800;
  letter-spacing: var(--ls-base);
  color: var(--accent-blue);
}
.c-tel a {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  color: var(--accent-blue);
}
.c-tel .text {
  font-size: 0.75em;
}
.c-tel .num {
  margin-left: -0.4em;
}

/* 
.p-access
---------------------------------------------------------------- */
.p-access.is-page-clinic {
  padding-top: clamp(5rem, 4.763rem + 1.19dvw, 6.25rem);
}
.p-access .inner {
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: 0 2.5rem;
  justify-items: center;
  position: relative;
}
.p-access {
  /* .illust */
}
.p-access .illust {
  position: absolute;
  width: clamp(7rem, 3.571rem + 7.143dvw, 12.5rem);
  top: clamp(-7.25rem, -7.874rem + 1.299dvw, -6.25rem);
  right: clamp(0rem, -2.338rem + 4.87dvw, 3.75rem);
  scale: -1 1;
}
.p-access {
  /* .text */
}
.p-access .text {
  grid-column: 2/3;
  grid-row: 1/2;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: clamp(0rem, -2.805rem + 5.844dvw, 4.5rem) 0;
  padding-right: clamp(0rem, -2.338rem + 4.87dvw, 3.75rem);
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
}
.p-access .section-title {
  margin-bottom: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
}
.p-access {
  /* .detail-list */
}
.p-access .detail-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75em;
}
.p-access .detail-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: var(--lh-narrow);
}
.p-access .detail-item dt,
.p-access .detail-item dd {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0.25em 0.75em;
}
.p-access .detail-item dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 6em;
  background-color: var(--bg-card);
  border-radius: clamp(0.225rem, 0.196rem + 0.143dvw, 0.375rem);
  text-align: center;
}
.p-access .detail-item .small {
  display: block;
  margin-top: 0.5em;
}
.p-access .detail-item.address dt {
  display: none;
}
.p-access .detail-item.address dd {
  padding-inline: 0;
}
.p-access .detail-item.address .icon {
  width: 0.8em;
  aspect-ratio: 12/16;
  margin-left: 0.3em;
  margin-bottom: 0.15em;
  position: relative;
}
.p-access .detail-item.address .icon img {
  position: absolute;
  margin: auto;
  inset: 0;
}
.p-access {
  /* .info-list */
}
.p-access .info-list {
  margin-top: 2em;
  padding: clamp(1.25rem, 1.013rem + 1.19dvw, 2.5rem);
  line-height: var(--lh-narrow);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  container-type: initial;
  border-radius: clamp(0.225rem, 0.196rem + 0.143dvw, 0.375rem);
}
.p-access .info-item {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.p-access .info-item:not(:first-child) {
  margin-top: 0.5em;
}
.p-access .info-item .br-control {
  display: none;
}
.p-access {
  /* .map */
}
.p-access .map {
  grid-column: 1/2;
  grid-row: 1/2;
  border-radius: clamp(1.2rem, 1.047rem + 0.762dvw, 2rem);
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.p-access .map iframe {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1550px) {
  .p-access .inner {
    gap: 0 clamp(1.75rem, 1.013rem + 1.535dvw, 2.5rem);
  }
}
@media screen and (max-width: 991px) and (min-width: 768px) {
  .p-access .info-item .br-control {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .p-access.p-section {
    padding-top: 0;
  }
  .p-access .inner {
    grid-template-columns: 100%;
    gap: clamp(1.75rem, 1.213rem + 2.685dvw, 2.5rem) 0;
  }
  .p-access {
    /* .illust */
  }
  .p-access .illust {
    width: clamp(6.25rem, -1.289rem + 20.942dvw, 8.75rem);
    top: clamp(2.5rem, 10.039rem + -20.942dvw, 0rem);
    right: clamp(1rem, -3.523rem + 12.565dvw, 2.5rem);
  }
  .p-access {
    /* .text */
  }
  .p-access .text {
    grid-column: 1/2;
    width: 100%;
  }
  .p-access .info-list {
    width: 100%;
  }
  .p-access .info-item {
    width: auto;
  }
  .p-access {
    /* .map */
  }
  .p-access .map {
    grid-row: 2/3;
    height: 17.5rem;
  }
}
@media screen and (max-width: 575px) {
  .p-access {
    /* .illust */
  }
  .p-access .illust {
    width: clamp(5.25rem, 3.995rem + 6.275dvw, 6.25rem);
    top: clamp(-0.75rem, -4.828rem + 20.392dvw, 2.5rem);
    right: clamp(0.25rem, -0.691rem + 4.706dvw, 1rem);
  }
}

/* 
.p-bullet-illust
---------------------------------------------------------------- */
.p-bullet-illust {
  display: grid;
  grid-template-columns: 1fr -webkit-max-content;
  grid-template-columns: 1fr max-content;
  /* .bullet-list */
}
.p-bullet-illust .card {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-bullet-illust .bullet-list {
  grid-template-columns: repeat(2, auto);
}
.p-bullet-illust {
  /* .illust */
}
.p-bullet-illust .illust {
  justify-self: end;
  width: clamp(16.25rem, 12.354rem + 8.117dvw, 22.5rem);
  scale: -1 1;
}
.p-bullet-illust .illust img {
  width: 106%;
}
.p-bullet-illust {
  /* .small */
}
.p-bullet-illust .small {
  font-size: 0.75em;
}
@media screen and (max-width: 991px) {
  .p-bullet-illust .bullet-list {
    grid-template-columns: auto;
  }
  .p-bullet-illust .illust {
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-bullet-illust .illust img {
    width: 108%;
  }
}
@media screen and (max-width: 767px) {
  .p-bullet-illust .illust {
    width: clamp(12.5rem, 1.191rem + 31.414dvw, 16.25rem);
  }
}
@media screen and (max-width: 575px) {
  .p-bullet-illust {
    position: relative;
    /* .allergy-feature-list */
  }
  .p-bullet-illust .card {
    grid-column: 1/3;
  }
  .p-bullet-illust {
    /* .illust */
  }
  .p-bullet-illust .illust {
    position: absolute;
    width: clamp(6.75rem, 1.103rem + 28.235dvw, 11.25rem);
    bottom: -3.75rem;
    right: clamp(0.25rem, -0.691rem + 4.706dvw, 1rem);
  }
  .p-bullet-illust .illust img {
    width: 100%;
  }
}

/* 
.p-button
---------------------------------------------------------------- */
.p-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 13.5rem;
  height: 3.5rem;
  padding-inline: calc(clamp(0.6rem, 0.524rem + 0.381dvw, 1rem) * 2) 0.5rem;
  border-radius: 1000px;
  background-color: var(--accent-orange);
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
  font-weight: 700;
  color: var(--text-light);
}
.p-button {
  /* .text */
}
.p-button .text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  overflow: hidden;
}
.p-button .text::before, .p-button .text::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
}
.p-button .text::after {
  top: 100%;
}
.p-button .text p {
  opacity: 0;
  visibility: hidden;
}
.p-button {
  /* arrow */
}
.p-button .arrow {
  width: 2.5rem;
  background-color: var(--bg-white);
}
.p-button .arrow-box::before,
.p-button .arrow-box::after {
  background-color: var(--accent-orange);
}
.p-button {
  /* a:hover */
}
.p-button a:hover .text::before {
  top: -100%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.p-button a:hover .text::after {
  top: 0;
  -webkit-transition: 0.3s 0.1s ease-in-out;
  transition: 0.3s 0.1s ease-in-out;
}
.p-button {
  /* .p-button.reservation */
}
.p-button.button-reserve a {
  display: grid;
  place-content: center;
  padding: 0;
}

/* 
.p-card-columns
---------------------------------------------------------------- */
.p-card-columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
  gap: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem) clamp(1.5rem, 0.876rem + 1.299dvw, 2.5rem);
  /* .test-item */
}
.p-card-columns .card {
  display: grid;
  grid-template-rows: subgrid;
  gap: 1em 0;
  padding: clamp(1.75rem, 1.464rem + 1.429dvw, 3.25rem) clamp(1.25rem, 0.536rem + 3.571dvw, 5rem);
  container-type: normal;
}
.p-card-columns .desc {
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
}
@media screen and (max-width: 767px) {
  .p-card-columns {
    grid-template-columns: 100%;
  }
}

/* 
.p-faq
---------------------------------------------------------------- */
.p-faq {
  max-width: 1225px;
  margin-inline: auto;
  /* .lower-title */
}
.p-faq .lower-title {
  margin-bottom: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
}
.p-faq {
  /* .faq-list */
}
.p-faq .faq-wrapper {
  position: relative;
}
.p-faq .faq-item:not(:first-child) {
  margin-top: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
}
.p-faq .faq-item p {
  -ms-flex-item-align: center;
      align-self: center;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  line-height: var(--lh-base);
}
.p-faq .question {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: clamp(0.6rem, 0.524rem + 0.381dvw, 1rem);
  padding: 0.75em 1em;
  border-radius: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem) clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem) 0 0;
  background-color: var(--accent-blue);
  font-size: clamp(1.125rem, 1.048rem + 0.162dvw, 1.25rem);
  font-weight: 500;
  color: var(--text-light);
}
.p-faq .question::before {
  content: "Q";
  display: grid;
  place-items: center;
  width: 1.5em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--bg-white);
  font-family: var(--ff-en-primary);
  font-size: clamp(1.25rem, 1.094rem + 0.325dvw, 1.5rem);
  font-weight: 700;
  color: var(--accent-blue);
}
.p-faq .answer {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(0.6rem, 0.524rem + 0.381dvw, 1rem);
  padding: 1em;
  border-radius: 0 0 clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem) clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
  background-color: var(--bg-white);
}
.p-faq .answer::before {
  content: "A";
  display: grid;
  place-items: center;
  width: 1.5em;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: var(--accent-blue);
  font-family: var(--ff-en-primary);
  font-size: clamp(1.25rem, 1.094rem + 0.325dvw, 1.5rem);
  font-weight: 700;
  color: var(--text-light);
}
.p-faq {
  /* .illust */
}
.p-faq .illust {
  position: absolute;
  z-index: -10;
  width: clamp(12.5rem, 10.04rem + 3.968dvw, 15rem);
  top: calc(clamp(11.75rem, 9.536rem + 3.571dvw, 14rem) * -1);
  right: clamp(2.5rem, 1.27rem + 1.984dvw, 3.75rem);
}
@media screen and (max-width: 991px) {
  .p-faq {
    /* .illust */
  }
  .p-faq .illust {
    width: clamp(6.75rem, 4.008rem + 13.711dvw, 12.5rem);
    top: calc(clamp(6.25rem, 3.627rem + 13.115dvw, 11.75rem) * -1);
    right: clamp(0.25rem, -0.823rem + 5.365dvw, 2.5rem);
  }
}

/* 
.p-fixed-footer
---------------------------------------------------------------- */
.p-fixed-footer {
  width: 100%;
  padding: calc(clamp(0.6rem, 0.524rem + 0.381dvw, 1rem) * 1.75) 0 calc(clamp(0.6rem, 0.524rem + 0.381dvw, 1rem) * 1.5);
  background-color: var(--bg-white);
  position: fixed;
  z-index: var(--z-fixed-footer);
  bottom: 0;
  left: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-animation: fixedFooterDisappear 0.3s ease-in forwards;
          animation: fixedFooterDisappear 0.3s ease-in forwards;
}
@-webkit-keyframes fixedFooterDisappear {
  0% {
    display: block;
    opacity: 1;
    visibility: visible;
  }
  100% {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes fixedFooterDisappear {
  0% {
    display: block;
    opacity: 1;
    visibility: visible;
  }
  100% {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
}
.p-fixed-footer {
  /* .p-fixed-footer.is-appeared */
}
.p-fixed-footer.is-appeared {
  opacity: 1;
  visibility: visible;
  -webkit-animation: fixedFooterAppear 0.3s ease-in forwards;
          animation: fixedFooterAppear 0.3s ease-in forwards;
}
@-webkit-keyframes fixedFooterAppear {
  0% {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
  100% {
    display: block;
    opacity: 1;
    visibility: visible;
  }
}
@keyframes fixedFooterAppear {
  0% {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
  100% {
    display: block;
    opacity: 1;
    visibility: visible;
  }
}
.p-fixed-footer .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-right: calc(clamp(16px, 0.521rem + 2.04dvw, 40px) + clamp(6.25rem, 5.266rem + 1.587dvw, 7.25rem));
  position: relative;
}
.p-fixed-footer {
  /* .reservation-list */
}
.p-fixed-footer .reservation-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: clamp(1.25rem, 0.02rem + 1.984dvw, 2.5rem);
}
.p-fixed-footer .tel .note {
  margin-top: calc(clamp(0.3rem, 0.263rem + 0.19dvw, 0.5rem) / 2);
}
.p-fixed-footer .tel .info {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: 0.5em 0.75em;
}
.p-fixed-footer .tel .detail {
  display: grid;
  grid-template-columns: repeat(2, auto);
}
.p-fixed-footer .tel .detail dt::after {
  content: "：";
}
@media screen and (max-width: 1399px) {
  .p-fixed-footer .tel .info {
    grid-template-columns: repeat(2, auto);
  }
  .p-fixed-footer .tel .saturday {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
@media screen and (max-width: 1199px) {
  .p-fixed-footer .tel .time {
    grid-column: 1/3;
    grid-row: 1/2;
  }
  .p-fixed-footer .tel .day {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .p-fixed-footer .tel .saturday {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
.p-fixed-footer .online {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0.6rem, 0.524rem + 0.381dvw, 1rem) clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
}
.p-fixed-footer .online .button a {
  width: clamp(15rem, 13.031rem + 3.175dvw, 17rem);
}
.p-fixed-footer .online .note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 1em;
  padding: 1em 0.5em;
  border-top: 1px solid var(--accent-orange);
  border-bottom: 1px solid var(--accent-orange);
}
.p-fixed-footer .online dt {
  text-align: center;
  line-height: var(--lh-min);
}
.p-fixed-footer {
  /* .back-to-top */
}
.p-fixed-footer .back-to-top {
  width: clamp(6.25rem, 5.266rem + 1.587dvw, 7.25rem);
  height: 100%;
  text-align: center;
  position: absolute;
  top: 0;
  right: clamp(16px, 0.521rem + 2.04dvw, 40px);
}
.p-fixed-footer .back-to-top a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.75em 0;
  padding: clamp(0.6rem, 0.524rem + 0.381dvw, 1rem);
  border: 1px solid var(--accent-blue);
  border-radius: clamp(0.45rem, 0.392rem + 0.286dvw, 0.75rem);
  font-size: clamp(0.75rem, 0.628rem + 0.198dvw, 0.875rem);
  font-weight: 500;
  color: var(--accent-blue);
}
.p-fixed-footer .back-to-top .arrow {
  display: grid;
  place-content: center;
  width: 1.15em;
  margin-inline: auto;
  rotate: -90deg;
}
.p-fixed-footer .back-to-top .arrow-box {
  width: 100%;
}
.p-fixed-footer .back-to-top .arrow-box::before,
.p-fixed-footer .back-to-top .arrow-box::after {
  background-color: var(--accent-blue);
}
@media screen and (max-width: 1199px) {
  .p-fixed-footer .inner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 991px) {
  .p-fixed-footer {
    padding: 0;
    background-color: transparent;
  }
  .p-fixed-footer .tel,
  .p-fixed-footer .online {
    display: none;
  }
  .p-fixed-footer .back-to-top {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    aspect-ratio: 1/0.6;
    position: fixed;
    top: initial;
    bottom: 16px;
    right: 16px;
  }
}

/*
.p-fixed-nav
---------------------------------------------------------------- */
.p-fixed-nav {
  max-width: 1470px;
  margin-inline: auto;
  padding: 1.25em clamp(16px, 0.521rem + 2.04dvw, 40px);
  border-radius: 0 0 clamp(1.2rem, 1.047rem + 0.762dvw, 2rem) clamp(1.2rem, 1.047rem + 0.762dvw, 2rem);
  background-color: var(--bg-white);
  position: fixed;
  z-index: var(--z-fixed-nav);
  top: 0;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  /* .p-fixed-nav.is-active */
}
.p-fixed-nav.is-active {
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.p-fixed-nav {
  /* .nav-list */
}
.p-fixed-nav .nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(1.25rem, 0.471rem + 1.623dvw, 2.5rem);
}
@media screen and (max-width: 991px) {
  .p-fixed-nav {
    display: none;
  }
}

/*
.p-footer
---------------------------------------------------------------- */
.p-footer {
  width: 100%;
  background-color: var(--bg-white);
  padding: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem) 0;
  margin-top: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
}
.p-footer .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-footer .logo {
  width: clamp(11.5rem, 3.25rem + 11dvw, 17rem);
}
.p-footer .nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  gap: 0.75em 1em;
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
}
.p-footer .nav-list .inner:not(:last-child) {
  padding-right: 1em;
  border-right: 1px solid var(--line-gray);
}
.p-footer .nav-list .inner-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  gap: 0 1em;
}
.p-footer .nav-item:not(:last-child) {
  padding-right: 1em;
  border-right: 1px solid var(--line-gray);
}
.p-footer .nav-item a {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: hover) {
  .p-footer .nav-item a:hover {
    color: var(--accent-blue);
  }
}
.p-footer .copyright {
  display: inline-block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  font-size: clamp(0.625rem, 0.548rem + 0.162dvw, 0.75rem);
  color: var(--text-gray);
}
@media screen and (max-width: 1199px) {
  .p-footer .l-container {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .p-footer .logo {
    grid-column: 1/2;
    grid-row: 1/3;
    width: clamp(11.25rem, -6.721rem + 28.986dvw, 15rem);
  }
  .p-footer .nav-list {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .p-footer .copyright {
    grid-column: 2/3;
    grid-row: 2/3;
    justify-self: end;
  }
}
@media screen and (max-width: 991px) {
  .p-footer .l-container {
    gap: 0 clamp(3rem, 2.619rem + 1.905dvw, 5rem);
  }
  .p-footer .logo {
    width: clamp(12.5rem, 3.89rem + 17.937dvw, 15rem);
  }
  .p-footer .nav-list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .p-footer .copyright {
    margin-top: 1em;
  }
}
@media screen and (max-width: 767px) {
  .p-footer .l-container {
    display: block;
    text-align: center;
  }
  .p-footer .logo {
    width: clamp(12.5rem, 10.71rem + 8.949dvw, 15rem);
    margin-inline: auto;
  }
  .p-footer .nav-list {
    display: none;
  }
  .p-footer .copyright {
    margin-top: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
  }
}

/*
.p-header
---------------------------------------------------------------- */
.p-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: clamp(1rem, 0.763rem + 1.19dvw, 2.25rem) clamp(1rem, 0.714rem + 1.429dvw, 2.5rem) 0;
  /* .logo */
}
.p-header .logo {
  width: clamp(11.25rem, 5.099rem + 9.921dvw, 17.5rem);
}
.p-header {
  /* .nav-bg */
}
.p-header .nav-bg {
  display: none;
}
.p-header {
  /* .hamburger */
}
.p-header .hamburger {
  display: none;
}
@media screen and (max-width: 991px) {
  .p-header {
    position: fixed;
    /* .nav-bg */
  }
  .p-header .nav-bg {
    display: block;
    width: 100dvw;
    height: 100dvh;
    background-color: rgba(34, 34, 34, 0.3);
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    -webkit-animation: navBgDisappear 0.3s ease-in-out forwards;
            animation: navBgDisappear 0.3s ease-in-out forwards;
  }
  @-webkit-keyframes navBgDisappear {
    0% {
      opacity: 1;
      visibility: visible;
    }
    100% {
      opacity: 0;
      visibility: hidden;
    }
  }
  @keyframes navBgDisappear {
    0% {
      opacity: 1;
      visibility: visible;
    }
    100% {
      opacity: 0;
      visibility: hidden;
    }
  }
  .p-header {
    /* .nav-bg.is-active */
  }
  .p-header .nav-bg.is-active {
    -webkit-animation: navBgAppear 0.3s ease-in-out forwards;
            animation: navBgAppear 0.3s ease-in-out forwards;
  }
  @-webkit-keyframes navBgAppear {
    0% {
      opacity: 0;
      visibility: hidden;
    }
    100% {
      opacity: 1;
      visibility: visible;
    }
  }
  @keyframes navBgAppear {
    0% {
      opacity: 0;
      visibility: hidden;
    }
    100% {
      opacity: 1;
      visibility: visible;
    }
  }
  .p-header {
    /* .hamburger */
  }
  .p-header .hamburger {
    display: block;
    width: 48px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: var(--accent-blue);
    position: absolute;
    top: 16px;
    right: 16px;
    cursor: pointer;
  }
  .p-header .hamburger span {
    width: 50%;
    height: 1px;
    border-radius: 100px;
    background-color: var(--bg-white);
    position: absolute;
    left: 25%;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .p-header .hamburger span:nth-child(1) {
    top: 16px;
  }
  .p-header .hamburger span:nth-child(2) {
    top: 50%;
  }
  .p-header .hamburger span:nth-child(3) {
    bottom: 15px;
  }
  .p-header {
    /* .js-hamburger.is-active */
  }
  .p-header .hamburger.is-active span:nth-child(1) {
    top: 24px;
    rotate: 30deg;
  }
  .p-header .hamburger.is-active span:nth-child(2) {
    opacity: 0;
  }
  .p-header .hamburger.is-active span:nth-child(3) {
    bottom: 23px;
    rotate: -30deg;
  }
}

/* 
.p-lower-header
---------------------------------------------------------------- */
.p-lower-header.p-section--light {
  margin-top: 0;
}
.p-lower-header.p-section--light::before {
  display: none;
}
.p-lower-header.p-section--light::after {
  margin-top: calc(clamp(5rem, 4.763rem + 1.19dvw, 6.25rem) * -1);
  position: relative;
  z-index: -20;
}
.p-lower-header .inner {
  display: grid;
  grid-template-columns: 70% 1fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: clamp(3rem, 1.524rem + 2.381dvw, 4.5rem) clamp(1.75rem, 1.013rem + 1.19dvw, 2.5rem);
  padding-top: calc(clamp(4.75rem, 3.504rem + 2.597dvw, 6.75rem) + clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem) + clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem));
}
.p-lower-header {
  /* .lower-title */
}
.p-lower-header .lower-title {
  grid-column: 1/2;
  grid-row: 1/2;
  align-self: end;
  margin-bottom: 0;
  font-size: clamp(1.75rem, 0.971rem + 1.623dvw, 3rem);
}
.p-lower-header {
  /* .illust */
}
.p-lower-header .illust {
  grid-column: 2/3;
  grid-row: 1/3;
  align-self: center;
  margin-top: -50%;
  scale: -1 1;
  position: relative;
}
.p-lower-header .illust img {
  aspect-ratio: 1/1;
  position: absolute;
}
.p-lower-header {
  /* .anchor */
}
.p-lower-header .anchor {
  grid-column: 1/2;
  grid-row: 2/3;
}
.p-lower-header .anchor-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(10.9375rem, 9.651rem + 2.679dvw, 13rem), 1fr));
  gap: clamp(1rem, 0.899rem + 0.281dvw, 1.25rem);
}
.p-lower-header .anchor-item.is-long {
  letter-spacing: 0;
}
.p-lower-header .anchor-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  padding-bottom: 0.6em;
  border-bottom: 1px dotted rgba(15, 74, 99, 0.4);
  font-size: clamp(0.84375rem, 0.746rem + 0.203dvw, 1rem);
  font-weight: 500;
}
.p-lower-header .anchor-item a .text {
  margin-bottom: 0.1em;
  white-space: nowrap;
}
.p-lower-header .anchor-item a .text.long {
  letter-spacing: -0.02em;
}
.p-lower-header .anchor-item a .arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2.5em;
  height: 1.5em;
  border: 1px solid var(--accent-blue);
  border-radius: 1000px;
  -webkit-transition: background-color 0.2s ease-in;
  transition: background-color 0.2s ease-in;
}
.p-lower-header .anchor-item a .arrow-box {
  width: 25%;
  rotate: 90deg;
}
.p-lower-header .anchor-item a .arrow-box::before, .p-lower-header .anchor-item a .arrow-box::after {
  background-color: var(--accent-blue);
}
@media (any-hover: hover) {
  .p-lower-header .anchor-item a:hover .arrow {
    background-color: var(--accent-blue);
  }
  .p-lower-header .anchor-item a:hover .arrow-box::before,
  .p-lower-header .anchor-item a:hover .arrow-box::after {
    background-color: var(--bg-body-light);
  }
}
@media screen and (max-width: 991px) {
  .p-lower-header .inner {
    row-gap: clamp(2.25rem, -0.333rem + 5.381dvw, 3rem);
    padding: calc(clamp(4.75rem, 3.504rem + 2.597dvw, 6.75rem) + clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem)) 0;
  }
  .p-lower-header {
    /* .anchor */
  }
  .p-lower-header .anchor-list {
    grid-template-columns: repeat(auto-fill, minmax(clamp(10.9375rem, 9.431rem + 3.139dvw, 11.375rem), 1fr));
  }
}
@media screen and (max-width: 767px) {
  .p-lower-header .inner {
    grid-template-columns: 100%;
    padding-top: calc(clamp(4.75rem, 3.504rem + 2.597dvw, 6.75rem) + clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem));
    position: relative;
  }
  .p-lower-header {
    /* .illust */
  }
  .p-lower-header .illust {
    grid-column: 1/2;
    grid-row: 3/4;
    justify-self: end;
    width: clamp(10rem, 8.568rem + 7.159dvw, 12rem);
    margin-top: clamp(-2.5rem, -3.037rem + 2.685dvw, -1.75rem);
  }
  .p-lower-header .illust img {
    aspect-ratio: initial;
  }
  .p-lower-header {
    /* .anchor */
  }
  .p-lower-header .anchor {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .p-lower-header .anchor-list {
    grid-template-columns: repeat(auto-fill, minmax(9.75rem, 1fr));
  }
  .p-lower-header .anchor-item a {
    letter-spacing: var(--ls-narrow);
  }
}
@media screen and (max-width: 575px) {
  .p-lower-header {
    /* .anchor */
  }
  .p-lower-header .anchor-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 374px) {
  .p-lower-header {
    /* .anchor */
  }
  .p-lower-header .anchor-list {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* 
.p-medical-hour
---------------------------------------------------------------- */
.p-medical-hour .inner {
  display: grid;
  grid-template-columns: 25% 1fr;
}
.p-medical-hour {
  /* .lower-title */
}
.p-medical-hour .lower-title {
  grid-column: 1/2;
  grid-row: 1/2;
}
.p-medical-hour {
  /* .illust */
}
.p-medical-hour .illust {
  grid-column: 1/2;
  grid-row: 2/3;
  width: clamp(12.5rem, 6.349rem + 9.921dvw, 18.75rem);
}
.p-medical-hour {
  /* .medical-hour */
}
.p-medical-hour .medical-hour {
  grid-column: 2/3;
  grid-row: 1/3;
}
@media screen and (max-width: 991px) {
  .p-medical-hour .inner {
    grid-template-columns: 100%;
  }
  .p-medical-hour {
    /* .illust */
  }
  .p-medical-hour .illust {
    grid-column: 1/2;
    grid-row: 3/4;
    justify-self: end;
    width: clamp(10rem, 8.808rem + 5.961dvw, 12.5rem);
    margin-top: -2.5rem;
    position: relative;
  }
  .p-medical-hour .illust img {
    position: absolute;
  }
  .p-medical-hour {
    /* .medical-hour */
  }
  .p-medical-hour .medical-hour {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
@media screen and (max-width: 768px) {
  .p-medical-hour .illust {
    margin-top: 0.75rem;
  }
}

/*
.p-nav
---------------------------------------------------------------- */
.p-nav {
  /* .nav-list */
}
.p-nav .nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: calc(clamp(0.6rem, 0.524rem + 0.381dvw, 1rem) * 1.75);
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.p-nav {
  /* .reservation-list */
}
.p-nav .reservation-list {
  display: none;
}
@media screen and (max-width: 991px) {
  .p-nav {
    display: grid;
    place-content: center;
    width: clamp(19rem, 13.754rem + 26.23dvw, 30rem);
    height: min(90dvh, -webkit-fit-content);
    height: min(90dvh, -moz-fit-content);
    height: min(90dvh, fit-content);
    padding: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
    border-radius: clamp(1.2rem, 1.047rem + 0.762dvw, 2rem);
    background-color: var(--bg-card);
    position: fixed;
    top: 8px;
    right: calc(clamp(19rem, 13.754rem + 26.23dvw, 30rem) * -1);
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
    /* .p-nav.is-active */
  }
  .p-nav.is-active {
    right: 8px;
  }
  .p-nav {
    /* .nav-list */
  }
  .p-nav .nav-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(clamp(0.6rem, 0.524rem + 0.381dvw, 1rem) * 2);
  }
  .p-nav {
    /* .reservation-list */
  }
  .p-nav .reservation-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: calc(clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem) * 1.5);
    margin-top: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
  }
  .p-nav {
    /* .tel */
  }
  .p-nav .tel .tel-link {
    margin-inline: auto;
    letter-spacing: var(--ls-narrow);
  }
  .p-nav .tel .note {
    margin-top: 0.75em;
  }
  .p-nav .tel .detail {
    display: grid;
    grid-template-columns: 5.5em 1fr;
    line-height: var(--lh-min);
  }
  .p-nav .tel .detail:not(:first-child) {
    margin-top: 0.5em;
  }
  .p-nav .tel .saturday {
    margin-top: 0.5em;
    line-height: var(--lh-min);
  }
  .p-nav {
    /* .online */
  }
  .p-nav .online {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .p-nav .online .button {
    width: 100%;
  }
  .p-nav .online .button a {
    width: -webkit-fill-available;
    width: -moz-available;
    width: stretch;
  }
  .p-nav .online .note {
    display: grid;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    gap: 0 1.2em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 1em;
    margin-inline: auto;
  }
  .p-nav .online .note dt {
    letter-spacing: var(--ls-narrow);
    padding-top: 1px;
  }
  .p-nav .online .br-control {
    display: none;
  }
}

/* 
.p-news-item
---------------------------------------------------------------- */
.p-news-item {
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
}
.p-news-item:first-child a {
  padding-top: 0;
}
.p-news-item:not(:last-child) a {
  border-bottom: 1px solid var(--line-blue);
}
.p-news-item:last-child a {
  padding-bottom: 0;
}
.p-news-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 clamp(1.25rem, 0.939rem + 0.649dvw, 1.75rem);
  padding: 1.75em 0;
}
.p-news-item {
  /* article */
}
.p-news-item article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 clamp(1.25rem, 0.939rem + 0.649dvw, 1.75rem);
}
.p-news-item {
  /* .info */
}
.p-news-item .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(1.25rem, 0.939rem + 0.649dvw, 1.75rem);
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.p-news-item {
  /* .date */
}
.p-news-item .date {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-bottom: -0.25em;
  font-family: var(--ff-en-primary);
  letter-spacing: var(--ls-en-primary);
}
.p-news-item {
  /* .category */
}
.p-news-item .category {
  width: 10em;
  font-size: clamp(0.75rem, 0.673rem + 0.162dvw, 0.875rem);
}
.p-news-item:nth-child(2n) .category {
  background-color: var(--accent-orange);
}
.p-news-item {
  /* .title */
}
.p-news-item .title {
  gap: 0.25em clamp(0.5rem, 0.405rem + 0.476dvw, 1rem);
  -ms-flex-item-align: center;
      align-self: center;
  line-height: var(--lh-narrow);
}
.p-news-item {
  /* .latest .title::after (NEW) */
}
.p-news-item.latest .title::after {
  content: "NEW";
  margin-left: clamp(0.5rem, 0.405rem + 0.476dvw, 1rem);
  font-family: var(--ff-en-primary);
  letter-spacing: var(--ls-en-primary);
  color: var(--text-new);
}
.p-news-item {
  /* .arrow */
}
.p-news-item .arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2rem;
  border: 1px solid var(--accent-blue);
  -webkit-transition: background-color 0.3s ease-in;
  transition: background-color 0.3s ease-in;
}
.p-news-item .arrow-box::before,
.p-news-item .arrow-box::after {
  background-color: var(--accent-blue);
  -webkit-transition: background-color 0.3s ease-in;
  transition: background-color 0.3s ease-in;
}
@media (hover: hover) {
  .p-news-item a:hover .arrow {
    background-color: var(--accent-blue);
  }
  .p-news-item a:hover .arrow-box::before,
  .p-news-item a:hover .arrow-box::after {
    background-color: var(--bg-body-light);
  }
}
@media screen and (max-width: 767px) {
  .p-news-item {
    /* article */
  }
  .p-news-item article {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: clamp(0.625rem, 0.536rem + 0.447dvw, 0.75rem) 0;
  }
  .p-news-item {
    /* .info */
  }
  .p-news-item .info {
    gap: clamp(0.75rem, -0.758rem + 4.188dvw, 1.25rem);
  }
}
@media screen and (max-width: 576px) {
  .p-news-item {
    /* article */
  }
  .p-news-item article {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .p-news-item {
    /* .info */
  }
  .p-news-item .info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
  .p-news-item {
    /* .arrow */
  }
  .p-news-item .arrow {
    display: none;
  }
}

/* 
.p-pic-text
影付き写真+テキストコンテント
---------------------------------------------------------------- */
.p-pic-text {
  display: grid;
  grid-template-columns: 48% 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(1.25rem, -0.472rem + 2.778dvw, 3rem) clamp(3.75rem, -0.568rem + 4.454dvw, 5rem);
  padding-right: 2.5rem;
}
.p-pic-text:not(:first-child) {
  margin-top: 6.25rem;
}
.p-pic-text .media {
  grid-column: 1/2;
}
.p-pic-text .desc-box {
  text-align: justify;
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
}
.p-pic-text {
  /* .p-pic-text:nth-child(2n) */
}
.p-pic-text:nth-child(2n) {
  grid-template-columns: 1fr 48%;
  place-content: end;
  padding-left: 2.5rem;
}
.p-pic-text:nth-child(2n) .media {
  grid-column: 2/3;
}
.p-pic-text:nth-child(2n) .desc-box {
  grid-column: 1/2;
}
@media screen and (max-width: 1550px) {
  .p-pic-text {
    -webkit-column-gap: clamp(3rem, -0.556rem + 5.735dvw, 5rem);
       -moz-column-gap: clamp(3rem, -0.556rem + 5.735dvw, 5rem);
            column-gap: clamp(3rem, -0.556rem + 5.735dvw, 5rem);
    padding-right: clamp(3rem, -0.556rem + 5.735dvw, 5rem);
    /* .p-pic-text:nth-child(2n) */
  }
  .p-pic-text:nth-child(2n) {
    padding-left: clamp(3rem, -0.556rem + 5.735dvw, 5rem);
  }
}
@media screen and (max-width: 1199px) {
  .p-pic-text .media {
    aspect-ratio: 1/1;
  }
  .p-pic-text .media::before,
  .p-pic-text .media .picture {
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 991px) {
  .p-pic-text {
    padding-right: 0;
    -webkit-column-gap: clamp(1.75rem, 1.393rem + 1.788dvw, 2.5rem);
       -moz-column-gap: clamp(1.75rem, 1.393rem + 1.788dvw, 2.5rem);
            column-gap: clamp(1.75rem, 1.393rem + 1.788dvw, 2.5rem);
  }
  .p-pic-text:not(:first-child) {
    margin-top: clamp(4.25rem, 1.667rem + 5.381dvw, 5rem);
  }
  .p-pic-text {
    /* .p-pic-text:nth-child(2n) */
  }
  .p-pic-text:nth-child(2n) {
    padding-left: 0;
  }
  .p-pic-text .media {
    aspect-ratio: 1/1.25;
  }
  .p-pic-text .media::before,
  .p-pic-text .media .picture {
    aspect-ratio: 1/1.25;
  }
}
@media screen and (max-width: 767px) {
  .p-pic-text {
    grid-template-columns: 1fr 65%;
  }
  .p-pic-text:not(:first-child) {
    margin-top: 5rem;
  }
  .p-pic-text .media {
    grid-column: 2/3;
    aspect-ratio: 1.618/1;
  }
  .p-pic-text .media::before,
  .p-pic-text .media .picture {
    aspect-ratio: 1.618/1;
  }
  .p-pic-text .desc-box {
    grid-column: 1/3;
  }
  .p-pic-text {
    /* .p-pic-text:nth-child(2n) */
  }
  .p-pic-text:nth-child(2n) {
    grid-template-columns: 65% 1fr;
  }
  .p-pic-text:nth-child(2n) .media {
    grid-column: 1/2;
  }
  .p-pic-text:nth-child(2n) .title {
    grid-column: 2/3;
  }
  .p-pic-text:nth-child(2n) .desc-box {
    grid-column: 1/3;
  }
}
@media screen and (max-width: 575px) {
  .p-pic-text {
    grid-template-columns: 100%;
  }
  .p-pic-text:not(:first-child) {
    margin-top: 3.75rem;
  }
  .p-pic-text .media {
    grid-column: 1/2;
    margin: 0.75rem 0 -0.75rem;
  }
  .p-pic-text .desc-box {
    grid-column: 1/2;
  }
  .p-pic-text {
    /* .p-pic-text:nth-child(2n) */
  }
  .p-pic-text:nth-child(2n) {
    grid-template-columns: 100%;
  }
  .p-pic-text:nth-child(2n) .title {
    grid-column: 1/2;
  }
}
.p-pic-text.is-tag .media {
  grid-row: 1/3;
}
.p-pic-text.is-tag .desc-box {
  grid-column: 2/3;
  grid-row: 1/2;
  align-self: end;
}
.p-pic-text.is-tag .tag {
  grid-column: 2/3;
  grid-row: 2/3;
  align-self: start;
}
.p-pic-text.is-tag .tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75em;
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
}
@media screen and (max-width: 767px) {
  .p-pic-text.is-tag .media {
    grid-row: 1/2;
  }
  .p-pic-text.is-tag .desc-box {
    grid-column: 1/3;
    grid-row: 2/3;
  }
  .p-pic-text.is-tag .tag {
    grid-column: 1/2;
    grid-row: 1/2;
    place-self: center;
  }
}
@media screen and (max-width: 767px) and (min-width: 576px) {
  .p-pic-text.is-tag .tag-list {
    display: grid;
  }
}
@media screen and (max-width: 575px) {
  .p-pic-text.is-tag .desc-box {
    grid-column: 1/2;
  }
  .p-pic-text.is-tag .tag {
    grid-row: 3/4;
    place-self: start;
  }
}

/* 
.p-section
---------------------------------------------------------------- */
.p-section {
  padding: clamp(5rem, 4.763rem + 1.19dvw, 6.25rem) 0;
  position: relative;
}

/* 背景色が明るいセクション */
.p-section--light {
  margin-inline: calc(50% - 50dvw);
  padding: 0 calc(50dvw - 50%);
  background-color: var(--bg-body-light);
  position: relative;
  z-index: 0;
}
.p-section--light::before, .p-section--light::after {
  content: "";
  display: block;
  width: 100dvw;
  aspect-ratio: 2000/213.94;
  margin: 0 calc(50% - 50dvw);
  background-color: var(--bg-body);
  -webkit-mask-image: url(../assets/images/common/bg-wave.svg);
          mask-image: url(../assets/images/common/bg-wave.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  position: relative;
  z-index: -10;
}
.p-section--light::before {
  scale: -1 -1;
  margin-bottom: calc(clamp(0rem, -0.476rem + 2.381dvw, 2.5rem) * -1);
  -webkit-mask-position: center 1px;
          mask-position: center 1px;
}
.p-section--light::after {
  scale: -1 1;
  margin-top: clamp(0rem, 0.476rem + -2.381dvw, -2.5rem);
  -webkit-mask-position: center 1px;
          mask-position: center 1px;
}
.p-section--light > .inner {
  padding-bottom: clamp(5rem, 4.763rem + 1.19dvw, 6.25rem);
}
.p-section--light {
  /* 背景色が明るいセクションがフッター直前にくる場合 */
}
.p-section--light.is-bottom {
  margin-bottom: calc(clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem) * -1);
  padding-bottom: calc(clamp(5rem, 4.763rem + 1.19dvw, 6.25rem) + clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem));
}
.p-section--light.is-bottom .inner {
  padding-bottom: 0;
}
.p-section--light.is-bottom::after {
  display: none;
}

/* ================================================================
page
================================================================ */
/*
top
---------------------------------------------------------------- */
/* === .mv === */
.mv {
  display: grid;
  grid-template-columns: 1fr -webkit-max-content;
  grid-template-columns: 1fr max-content;
  min-height: 60dvh;
  padding-top: calc(clamp(4.75rem, 3.504rem + 2.597dvw, 6.75rem) + clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem));
  position: relative;
}
.mv::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 2000/1247.69;
  background-image: url(../assets/images/top/mv-wave.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  z-index: -10;
  top: 0;
  left: 0;
}
.mv {
  /* .mv-slider */
}
.mv .mv-slider {
  height: 90%;
  padding-left: calc(clamp(0.45rem, 0.392rem + 0.286dvw, 0.75rem) * 4);
}
.mv .mv-slider .slide {
  border-radius: clamp(1.2rem, 1.047rem + 0.762dvw, 2rem);
  overflow: hidden;
  position: relative;
}
.mv .mv-slider .illust {
  width: clamp(14.25rem, 6.691rem + 15.747dvw, 26.375rem);
  position: absolute;
  z-index: 10;
  bottom: calc(clamp(1.75rem, 0.815rem + 1.948dvw, 3.25rem) * -1);
  right: calc(clamp(6.25rem, 2.354rem + 8.117dvw, 12.5rem) * -1);
}
.mv {
  /* .copy */
}
.mv .copy {
  margin-top: clamp(1.75rem, 0.191rem + 3.247dvw, 4.25rem);
  padding: 0 clamp(3.375rem, -1.534rem + 10.227dvw, 11.25rem) 0 clamp(4.125rem, -1.875rem + 12.5dvw, 13.75rem);
}
.mv .copy p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5em;
  font-size: max(1.4dvw, 1.25rem);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.mv .copy span {
  display: block;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 767px) {
  .mv {
    grid-template-columns: auto;
    grid-template-rows: -webkit-max-content -webkit-max-content;
    grid-template-rows: max-content max-content;
    /* .mv-slider */
  }
  .mv .mv-slider {
    padding: 0 clamp(16px, 0.521rem + 2.04dvw, 40px);
    height: 100%;
  }
  .mv .mv-slider .slide {
    aspect-ratio: 1/1;
  }
  .mv .mv-slider .illust {
    width: clamp(8.75rem, -1.451rem + 51.007dvw, 23rem);
    bottom: calc(clamp(14.25rem, 13.713rem + 2.685dvw, 15rem) * -1);
    right: initial;
    left: clamp(1.25rem, -0.54rem + 8.949dvw, 3.75rem);
  }
  .mv {
    /* .copy */
  }
  .mv .copy {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: calc(clamp(2.5rem, -1.974rem + 22.371dvw, 8.75rem) * -1);
    margin-inline: auto clamp(1rem, -0.074rem + 5.369dvw, 2.5rem);
    padding: 0 clamp(16px, 0.521rem + 2.04dvw, 40px);
    position: relative;
    z-index: 10;
  }
  .mv .copy p {
    font-size: clamp(1.125rem, 0.767rem + 1.79dvw, 1.625rem);
  }
}
@media screen and (max-width: 575px) {
  .mv {
    /* .mv-slider */
  }
  .mv .mv-slider .illust {
    width: clamp(8.25rem, -1.789rem + 50.196dvw, 16.25rem);
    bottom: clamp(-14.75rem, -14.907rem + 0.784dvw, -14.625rem);
    right: initial;
    left: clamp(1.25rem, -0.475rem + 8.627dvw, 2.625rem);
  }
}

/* === .section-contact === */
.section-contact {
  display: grid;
  grid-template-columns: 1fr -webkit-max-content;
  grid-template-columns: 1fr max-content;
  place-items: center;
  padding: clamp(3rem, 2.263rem + 1.19dvw, 3.75rem) 0 clamp(3.75rem, 1.29rem + 3.968dvw, 6.25rem);
  /* .reservation */
  /* .inner */
}
.section-contact .inner {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.section-contact {
  /* .tel */
}
.section-contact .tel-text {
  font-size: clamp(0.875rem, 0.719rem + 0.325dvw, 1.125rem);
  text-align: center;
}
.section-contact .tel-text::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  aspect-ratio: 242.17/195.29;
  margin-right: 0.4em;
  margin-bottom: -0.1em;
  background-image: url(../assets/images/common/icon-leaf.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.section-contact .tel-link {
  margin: 0.25em auto 0;
  font-size: clamp(1.75rem, 0.52rem + 1.984dvw, 3rem);
  font-weight: 700;
  color: var(--text-dark);
}
.section-contact .tel-link a {
  color: var(--text-dark);
}
.section-contact {
  /* .online */
}
.section-contact .online {
  margin-top: calc(clamp(0.45rem, 0.392rem + 0.286dvw, 0.75rem) * 2);
}
.section-contact .button-reserve {
  width: 100%;
}
.section-contact .button-reserve a {
  width: 100%;
  height: clamp(4.25rem, 3.513rem + 1.19dvw, 5rem);
  font-size: clamp(1rem, 0.689rem + 0.649dvw, 1.5rem);
}
.section-contact {
  /* .note */
}
.section-contact .note {
  margin-top: clamp(0.6rem, 0.524rem + 0.381dvw, 1rem);
}
.section-contact .time-item {
  display: grid;
  grid-template-columns: 10.3em 1fr;
  gap: 0 clamp(0.6rem, 0.524rem + 0.381dvw, 1rem);
  font-size: clamp(0.8125rem, 0.695rem + 0.244dvw, 1rem);
  font-weight: 500;
}
.section-contact .time-item:not(:first-child) {
  margin-top: 0.75em;
}
.section-contact .time-item dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5em;
  word-break: break-all;
}
@media screen and (max-width: 1199px) and (min-width: 576px) {
  .section-contact {
    grid-template-columns: auto;
    gap: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem) 0;
    /* .reservation */
  }
  .section-contact .inner {
    display: grid;
    grid-template-columns: repeat(2, -webkit-max-content);
    grid-template-columns: repeat(2, max-content);
    gap: 0 clamp(1.25rem, 0.204rem + 2.899dvw, 2rem);
    place-items: center;
  }
  .section-contact {
    /* .tel */
  }
  .section-contact .tel {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .section-contact {
    /* .online */
  }
  .section-contact .online {
    grid-column: 2/3;
    grid-row: 1/2;
    margin-top: 0;
  }
  .section-contact .button-reserve a {
    width: clamp(15rem, 11.524rem + 9.639dvw, 17.5rem);
  }
  .section-contact {
    /* .note */
  }
  .section-contact .note {
    grid-column: 1/3;
    grid-row: 2/3;
    width: 100%;
  }
  .section-contact .time-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: clamp(1.25rem, 0.902rem + 0.966dvw, 1.5rem);
  }
  .section-contact .time-item {
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
  }
  .section-contact .time-item:not(:first-child) {
    margin-top: 0;
  }
}
@media screen and (max-width: 575px) {
  .section-contact {
    grid-template-columns: 100%;
    gap: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem) 0;
    /* .reservation */
  }
  .section-contact .reservation {
    width: min(100%, 25rem);
  }
  .section-contact .inner {
    width: 100%;
  }
  .section-contact {
    /* .tel */
  }
  .section-contact .tel-link {
    font-size: clamp(1.5rem, 0.562rem + 4.688dvw, 2.25rem);
  }
  .section-contact {
    /* .note */
  }
  .section-contact .note {
    width: min(22.5rem, 100%);
    margin-inline: auto;
  }
  .section-contact .time-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

/* === .section-features === */
.section-features {
  position: relative;
  /* .illust */
}
.section-features .illust {
  width: clamp(13rem, 7.077rem + 12.338dvw, 22.5rem);
  position: absolute;
  z-index: -10;
  top: calc(clamp(-1.5rem, -1.968rem + 0.974dvw, -0.75rem) * -1);
  left: calc(clamp(-0.75rem, -1.218rem + 0.974dvw, 0rem) * -1);
}
.section-features {
  /* .section-title */
}
.section-features .section-title {
  text-align: center;
}
.section-features {
  /* .features-list */
}
.section-features .features-list {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 0 clamp(1.5rem, 0.375rem + 1.5dvw, 2.25rem);
  place-content: center;
}
.section-features {
  /* .features-item */
}
.section-features .features-item:nth-child(2n-1) {
  padding-top: clamp(2.25rem, -1.125rem + 4.5dvw, 4.5rem);
}
.section-features .media {
  border-radius: 1000px;
  overflow: hidden;
}
.section-features .text {
  margin-top: clamp(1.25rem, 1.094rem + 0.325dvw, 1.5rem);
}
.section-features .title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.section-features .title .num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: var(--ff-en-primary);
  font-size: clamp(1.4375rem, 0.594rem + 1.125dvw, 2rem);
  font-weight: 700;
  color: var(--accent-orange);
}
.section-features .title .num::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 1em;
  margin: 0 clamp(0.875rem, 0.313rem + 0.75dvw, 1.25rem) -0.15em;
  background-color: var(--bg-white);
}
.section-features .title .word {
  margin-bottom: 0.2em;
  font-size: clamp(1rem, 0.625rem + 0.5dvw, 1.25rem);
  font-weight: 500;
  color: var(--accent-blue);
  line-height: var(--lh-narrow);
}
.section-features .desc {
  margin-top: 0.5em;
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
  text-align: justify;
}
@media screen and (max-width: 1199px) {
  .section-features {
    /* .features-list */
  }
  .section-features .features-list {
    grid-template-columns: repeat(2, minmax(auto, 22.5rem));
    gap: clamp(1.75rem, -0.923rem + 5.568dvw, 3.25rem) clamp(1.375rem, -0.127rem + 4.173dvw, 3rem);
  }
  .section-features {
    /* .features-item */
  }
  .section-features .features-item:nth-child(2n) {
    padding-top: clamp(2.75rem, 0.077rem + 5.568dvw, 4.25rem);
  }
  .section-features .features-item:nth-child(2n-1) {
    padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .section-features {
    /* .illust */
  }
  .section-features .illust {
    width: clamp(10.5rem, 2.961rem + 20.942dvw, 13rem);
    top: clamp(-2.875rem, -14.938rem + 33.508dvw, 1.125rem);
    left: 0.5rem;
  }
}
@media screen and (max-width: 575px) {
  .section-features {
    /* .illust */
  }
  .section-features .illust {
    width: clamp(7.75rem, 4.299rem + 17.255dvw, 10.5rem);
  }
  .section-features {
    /* .features-list */
  }
  .section-features .features-list {
    grid-template-columns: repeat(1, minmax(auto, 25rem));
    gap: 3rem;
  }
  .section-features {
    /* .features-item */
  }
  .section-features .features-item:nth-child(2n) {
    padding-top: 0;
  }
  .section-features .title .num {
    font-size: clamp(1.25rem, 0.625rem + 3.125dvw, 1.75rem);
  }
  .section-features .title .word {
    font-size: clamp(1rem, 0.531rem + 2.344dvw, 1.375rem);
  }
}

/* === .section-news === */
.section-news .inner {
  padding: clamp(1.75rem, 0.893rem + 4.29%, 6.25rem) clamp(1.5rem, -0.17rem + 8.35%, 7.5rem);
  border-radius: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
  background-color: var(--bg-card);
  position: relative;
}
.section-news {
  /* .illust */
}
.section-news .illust {
  width: clamp(10rem, 7.381rem + 13.095dvw, 23.75rem);
  position: absolute;
  top: calc(clamp(5rem, 3.619rem + 6.905dvw, 12.25rem) * -1);
  right: 1%;
}
.section-news {
  /* .section-title */
}
.section-news .section-title {
  text-align: center;
}
.section-news {
  /* .news-list */
}
.section-news .news-list {
  margin-top: -1%;
}

/* === .section-service === */
.section-service {
  /* .inner */
}
.section-service .inner {
  position: relative;
}
.section-service {
  /* .illust */
}
.section-service .illust {
  width: clamp(5.75rem, 3.02rem + 7.584dvw, 12.5rem);
  position: absolute;
  top: calc(clamp(6.75rem, 5.84rem + 2.528dvw, 9rem) * -1);
  right: clamp(1rem, -1.933rem + 8.146dvw, 8.25rem);
}
.section-service {
  /* .service-item */
}
.section-service .service-item {
  grid-template-rows: 1fr auto 1fr;
}
.section-service .title {
  grid-row: 1/2;
  place-self: end start;
  font-size: clamp(1.375rem, 0.76rem + 0.992dvw, 2rem);
}
.section-service .title .ja {
  font-weight: 500;
}
.section-service .title .en {
  display: block;
  margin-top: 1em;
  font-family: var(--ff-en-primary);
  font-size: 0.5em;
  font-weight: 700;
  color: var(--accent-blue);
}
.section-service .media {
  grid-row: 1/4;
}
.section-service .desc-box {
  grid-row: 2/3;
}
.section-service .button {
  grid-row: 3/4;
  place-self: start;
}
@media screen and (max-width: 991px) {
  .section-service {
    /* .section-title */
  }
  .section-service .section-title {
    margin-top: calc(clamp(-2.5rem, -3.095rem + 2.976dvw, -1.25rem) * -1);
  }
  .section-service .title {
    font-size: clamp(1.25rem, 0.819rem + 0.897dvw, 1.375rem);
  }
}
@media screen and (max-width: 767px) {
  .section-service .service-item {
    grid-template-rows: auto;
  }
  .section-service .title {
    grid-column: 1/2;
    grid-row: 1/2;
    place-self: center;
    font-size: 1.375rem;
  }
  .section-service .button {
    grid-column: 1/3;
    grid-row: 3/4;
    place-self: center;
  }
  .section-service .media {
    grid-row: 1/2;
  }
  .section-service .desc-box {
    grid-row: 2/3;
  }
}
@media screen and (max-width: 575px) {
  .section-service .service-item {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
  .section-service .illust {
    width: clamp(4.75rem, 3.495rem + 6.275dvw, 5.75rem);
    top: calc(clamp(3.625rem, -0.297rem + 19.608dvw, 6.75rem) * -1);
    right: clamp(0.375rem, -0.096rem + 2.353dvw, 0.75rem);
  }
  .section-service .title {
    grid-column: 1/2;
    grid-row: 1/2;
    place-self: start;
    font-size: 1.25rem;
  }
  .section-service .button {
    grid-column: 1/2;
    grid-row: 4/5;
    place-self: center;
  }
  .section-service .media {
    grid-row: 2/3;
  }
  .section-service .desc-box {
    grid-row: 3/4;
  }
}

/* === .section-sick_child_care === */
.section-sick_child_care {
  position: relative;
  /* .section-title */
}
.section-sick_child_care .section-title {
  text-align: center;
  position: relative;
  z-index: 20;
}
.section-sick_child_care {
  /* .illust */
}
.section-sick_child_care .illust {
  position: absolute;
  z-index: 10;
}
.section-sick_child_care .illust--child {
  width: clamp(10rem, 5.146rem + 13.483dvw, 22rem);
  top: calc(clamp(0.5rem, -0.714rem + 3.371dvw, 3.5rem) * -1);
  left: clamp(0rem, -2.023rem + 5.618dvw, 5rem);
}
.section-sick_child_care .illust--book {
  width: clamp(8.75rem, 4.401rem + 12.079dvw, 19.5rem);
  top: calc(clamp(2.5rem, -2.354rem + 13.483dvw, 14.5rem) * -1);
  right: clamp(0rem, -2.781rem + 7.725dvw, 6.875rem);
}
.section-sick_child_care {
  /* .desc */
}
.section-sick_child_care .desc {
  text-align: center;
  -moz-text-align-last: auto;
       text-align-last: auto;
}
.section-sick_child_care {
  /* .swiper */
}
.section-sick_child_care .swiper {
  padding-bottom: clamp(1.25rem, 0.783rem + 0.974dvw, 2rem);
}
.section-sick_child_care {
  /* .media-list */
}
.section-sick_child_care .media-list {
  display: grid;
  grid-template-columns: repeat(4, -webkit-max-content);
  grid-template-columns: repeat(4, max-content);
  place-content: center;
  gap: clamp(1.25rem, -0.309rem + 3.247dvw, 3.75rem);
  margin-top: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
}
.section-sick_child_care {
  /* .media-item */
}
.section-sick_child_care .media-item {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.section-sick_child_care .media-item .media {
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden;
}
.section-sick_child_care .media-item img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.section-sick_child_care .media-item:nth-child(4n-3) .media {
  width: clamp(8.25rem, 2.739rem + 15.309dvw, 21.875rem);
}
.section-sick_child_care .media-item:nth-child(4n-2) {
  place-self: end;
  margin-bottom: calc(clamp(1.25rem, 0.783rem + 0.974dvw, 2rem) * -1);
}
.section-sick_child_care .media-item:nth-child(4n-2) .media {
  width: calc(clamp(8.25rem, 2.739rem + 15.309dvw, 21.875rem) * 0.714);
}
.section-sick_child_care .media-item:nth-child(4n-1) .media {
  width: calc(clamp(8.25rem, 2.739rem + 15.309dvw, 21.875rem) * 0.857);
}
.section-sick_child_care .media-item:nth-child(4n) {
  place-self: end;
  margin-bottom: calc(clamp(1.25rem, 0.783rem + 0.974dvw, 2rem) * -1);
}
.section-sick_child_care .media-item:nth-child(4n) .media {
  width: calc(clamp(8.25rem, 2.739rem + 15.309dvw, 21.875rem) * 0.914);
}
.section-sick_child_care .only-sp {
  display: none;
}
.section-sick_child_care {
  /* .button */
}
.section-sick_child_care .button {
  margin: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem) auto 0;
}
@media screen and (max-width: 575px) {
  .section-sick_child_care {
    /* .illust */
  }
  .section-sick_child_care .illust--child {
    width: clamp(7.5rem, 4.363rem + 15.686dvw, 10rem);
    top: clamp(-1.125rem, -3.164rem + 10.196dvw, 0.5rem);
    left: clamp(-0.25rem, -0.564rem + 1.569dvw, 0rem);
  }
  .section-sick_child_care .illust--book {
    width: clamp(6.25rem, 3.113rem + 15.686dvw, 8.75rem);
    top: calc(clamp(2rem, 1.373rem + 3.137dvw, 2.5rem) * -1);
    right: clamp(-0.5rem, -1.127rem + 3.137dvw, 0rem);
  }
  .section-sick_child_care {
    /* .slider-loop */
  }
  .section-sick_child_care .slider-loop {
    margin-inline: calc(50% - 50dvw);
  }
  .section-sick_child_care {
    /* .media-list */
  }
  .section-sick_child_care .media-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.75rem;
  }
  .section-sick_child_care {
    /* .media-item */
  }
  .section-sick_child_care .media-item {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  .section-sick_child_care .only-sp {
    display: block;
  }
}

/*
feature
---------------------------------------------------------------- */
/* === .feature-introduction === */
.feature-introduction.p-section {
  max-width: 980px;
  margin-inline: auto;
}
.feature-introduction .inner {
  display: grid;
  grid-template-columns: 30% 1fr;
  gap: calc(clamp(0.6rem, 0.524rem + 0.381dvw, 1rem) * 2) clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
}
.feature-introduction {
  /* .illust */
}
.feature-introduction .illust {
  grid-column: 1/2;
  grid-row: 1/3;
  place-self: center;
  width: 70%;
  scale: -1 1;
}
.feature-introduction {
  /* .title */
}
.feature-introduction .introduction-title {
  grid-column: 2/3;
  grid-row: 1/2;
  align-self: end;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.feature-introduction {
  /* .desc(.recommend-list) */
}
.feature-introduction .desc {
  grid-column: 2/3;
  grid-row: 2/3;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 991px) {
  .feature-introduction {
    padding-bottom: clamp(2.5rem, 1.189rem + 6.557dvw, 5.25rem);
  }
}
@media screen and (max-width: 767px) {
  .feature-introduction {
    /* .illust */
  }
  .feature-introduction .illust {
    width: clamp(8.75rem, 6.488rem + 6.283dvw, 9.5rem);
  }
}
@media screen and (max-width: 575px) {
  .feature-introduction {
    padding-top: calc(clamp(-5rem, -8.137rem + 15.686dvw, -2.5rem) * -1);
  }
  .feature-introduction .inner {
    grid-template-columns: 100%;
    position: relative;
  }
  .feature-introduction {
    /* .illust */
  }
  .feature-introduction .illust {
    display: none;
  }
  .feature-introduction {
    /* .title */
  }
  .feature-introduction .title {
    grid-column: 1/2;
    font-size: clamp(1.375rem, 1.218rem + 0.784dvw, 1.5rem);
  }
  .feature-introduction {
    /* .desc */
  }
  .feature-introduction .desc {
    grid-column: 1/2;
  }
}

/* === .loop-images === */
.loop-images.c-swiper-loop {
  margin-inline: calc(50% - 50dvw);
  padding-top: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
}
.loop-images .swiper-slide:nth-child(2n) {
  -webkit-transform: translateY(clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem));
          transform: translateY(clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem));
}
.loop-images .swiper-wrapper {
  transition-timing-function: linear;
}
.loop-images .media {
  width: clamp(15rem, 10.955rem + 11.236dvw, 25rem);
  margin-right: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
}
@media screen and (max-width: 1399px) {
  .loop-images.c-swiper-loop {
    padding-top: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
  }
}

/* === .section-first-time === */
.section-first-time .inner {
  padding: clamp(5rem, 4.763rem + 1.19dvw, 6.25rem) 0;
}
.section-first-time {
  /* .message */
}
.section-first-time .message {
  display: grid;
  grid-template-columns: auto 30%;
}
.section-first-time .lower-title {
  margin-bottom: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
}
.section-first-time .message-text {
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
  padding: clamp(3rem, 2.619rem + 1.905dvw, 5rem) clamp(3rem, 2.381rem + 3.095dvw, 6.25rem);
}
.section-first-time .desc {
  line-height: var(--lh-wide);
}
.section-first-time {
  /* .note */
}
.section-first-time .note .desc {
  line-height: var(--lh-base);
}
.section-first-time {
  /* .illust */
}
.section-first-time .illust {
  place-self: end center;
  margin-bottom: calc(clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem) * -1);
  width: clamp(10.875rem, 6.815rem + 6.548dvw, 15rem);
  scale: -1 1;
}
@media screen and (max-width: 991px) {
  .section-first-time {
    /* .message */
  }
  .section-first-time .message {
    grid-template-columns: 1fr auto;
  }
  .section-first-time .message-text {
    min-width: initial;
  }
  .section-first-time .desc .br-control {
    display: none;
  }
  .section-first-time {
    /* .illust */
  }
  .section-first-time .illust {
    width: clamp(6.25rem, -10.969rem + 35.874dvw, 11.25rem);
    margin-inline: clamp(-3rem, -21.942rem + 39.462dvw, 2.5rem) clamp(0rem, -8.61rem + 17.937dvw, 2.5rem);
  }
}
@media screen and (max-width: 575px) {
  .section-first-time {
    /* .message */
  }
  .section-first-time .message {
    position: relative;
  }
  .section-first-time .message-text {
    padding: clamp(1.75rem, 0.893rem + 4.29%, 6.25rem) clamp(1.5rem, -0.17rem + 8.35%, 7.5rem);
  }
  .section-first-time .desc {
    line-height: var(--lh-base);
  }
  .section-first-time {
    /* .illust */
  }
  .section-first-time .illust {
    position: absolute;
    width: clamp(5.5rem, 2.99rem + 12.549dvw, 7.5rem);
    bottom: calc(clamp(4rem, 5.117rem + 0.022dvw, 5.125rem) * -1);
    right: 0;
  }
}

/* === .section-pediatrics === */
.section-pediatrics .symptoms-note {
  padding: 0;
  margin-top: 1em;
  border-left: none;
}
.section-pediatrics {
  /* .nutrition */
}
.section-pediatrics .nutrition {
  margin-top: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
}
.section-pediatrics .nutrition .info {
  margin-top: 1em;
}
.section-pediatrics {
  /* .others */
}
.section-pediatrics .others {
  margin-top: clamp(3rem, 2.619rem + 1.905dvw, 5rem);
}
.section-pediatrics .others-list {
  grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
  margin-top: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
}
.section-pediatrics .others-item {
  grid-row: span 2;
}
.section-pediatrics .others-item .card-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.section-pediatrics .others-item h3 {
  font-size: clamp(1.125rem, 1.048rem + 0.162dvw, 1.25rem);
}
.section-pediatrics .others-item .arrow {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2rem;
  border: 1px solid var(--accent-blue);
  -webkit-transition: background-color 0.3s ease-in;
  transition: background-color 0.3s ease-in;
}
.section-pediatrics .others-item .arrow-box::before,
.section-pediatrics .others-item .arrow-box::after {
  background-color: var(--accent-blue);
  -webkit-transition: background-color 0.3s ease-in;
  transition: background-color 0.3s ease-in;
}
@media (hover: hover) {
  .section-pediatrics .others-item:hover .arrow {
    background-color: var(--accent-blue);
  }
  .section-pediatrics .others-item:hover .arrow-box::before,
  .section-pediatrics .others-item:hover .arrow-box::after {
    background-color: var(--bg-body-light);
  }
}
@media screen and (max-width: 767px) {
  .section-pediatrics .p-pic-text .media {
    aspect-ratio: 1/1.25;
  }
  .section-pediatrics .p-pic-text .media::before,
  .section-pediatrics .p-pic-text .media .picture {
    aspect-ratio: 1/1.25;
  }
  .section-pediatrics {
    /* .nutrition */
  }
  .section-pediatrics .nutrition {
    margin-top: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
  }
  .section-pediatrics {
    /* .others */
  }
  .section-pediatrics .others {
    margin-top: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
  }
}
@media screen and (max-width: 575px) {
  .section-pediatrics .p-pic-text .media {
    aspect-ratio: 1.618/1;
  }
  .section-pediatrics .p-pic-text .media::before,
  .section-pediatrics .p-pic-text .media .picture {
    aspect-ratio: 1.618/1;
  }
  .section-pediatrics {
    /* .others */
  }
  .section-pediatrics .others-list {
    grid-template-columns: 100%;
  }
}

/* === .section-faq === */
.section-faq {
  position: relative;
  z-index: 10;
}

/*
vaccination
---------------------------------------------------------------- */
/* === .vaccination-introduction === */
.vaccination-introduction .inner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem) clamp(2.5rem, 0.625rem + 2.5dvw, 3.75rem);
}
.vaccination-introduction {
  /* .title */
}
.vaccination-introduction .title {
  grid-column: 1/3;
  grid-row: 1/2;
}
.vaccination-introduction {
  /* .medical-hour */
}
.vaccination-introduction .medical-hour {
  grid-column: 1/2;
  grid-row: 2/3;
  min-width: 0;
}
.vaccination-introduction {
  /* .media */
}
.vaccination-introduction .media {
  grid-column: 2/3;
  grid-row: 2/3;
  min-width: 0;
}
@media screen and (max-width: 1199px) {
  .vaccination-introduction .inner {
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    -webkit-column-gap: clamp(1.25rem, 0.359rem + 1.856dvw, 1.75rem);
       -moz-column-gap: clamp(1.25rem, 0.359rem + 1.856dvw, 1.75rem);
            column-gap: clamp(1.25rem, 0.359rem + 1.856dvw, 1.75rem);
  }
  .vaccination-introduction {
    /* .title */
  }
  .vaccination-introduction .title {
    grid-column: 1/2;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    align-self: center;
  }
  .vaccination-introduction {
    /* .medical-hour */
  }
  .vaccination-introduction .medical-hour {
    grid-column: 1/3;
  }
  .vaccination-introduction {
    /* .media */
  }
  .vaccination-introduction .media {
    grid-row: 1/2;
    width: clamp(10rem, 1.091rem + 18.561dvw, 15rem);
  }
}
@media screen and (max-width: 767px) {
  .vaccination-introduction .inner {
    grid-template-columns: 100%;
    row-gap: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
    padding-top: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
  }
  .vaccination-introduction {
    /* .medical-hour */
  }
  .vaccination-introduction .medical-hour {
    grid-column: 1/2;
  }
  .vaccination-introduction {
    /* .media */
  }
  .vaccination-introduction .media {
    grid-column: 1/2;
    grid-row: 3/4;
    width: 100%;
    aspect-ratio: 2/1;
    margin-top: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
  }
}
@media screen and (max-width: 575px) {
  .vaccination-introduction {
    /* .title */
  }
  .vaccination-introduction .title {
    font-size: clamp(1.375rem, 1.218rem + 0.784dvw, 1.5rem);
  }
  .vaccination-introduction .title .br-control {
    display: none;
  }
}

/* === .vaccination-feature === */
.vaccination-feature {
  /* .note */
}
.vaccination-feature .note {
  font-weight: 500;
}
.vaccination-feature {
  /* .bullet-illust */
}
.vaccination-feature .bullet-illust {
  margin-top: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
}

/* === .vaccination-detail === */
.vaccination-detail {
  padding-top: clamp(5rem, 4.763rem + 1.19dvw, 6.25rem);
  /* .vaccination-kind-list */
}
.vaccination-detail .list-wrapper {
  position: relative;
}
.vaccination-detail .vaccination-kind-list {
  grid-template-columns: repeat(2, 1fr);
}
.vaccination-detail .vaccination-kind-item.card {
  grid-row: span 2;
}
.vaccination-detail {
  /* .illust */
}
.vaccination-detail .illust {
  position: absolute;
  z-index: 10;
  width: clamp(8.75rem, -8.473rem + 17.778dvw, 13.75rem);
  bottom: calc(clamp(11.25rem, -1.666rem + 13.333dvw, 15rem) * -1);
  left: calc(clamp(0.75rem, -28.527rem + 30.222dvw, 9.25rem) * -1);
}
.vaccination-detail {
  /* .vaccination-list */
}
.vaccination-detail .vaccination-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11.25rem, 1fr));
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 767px) {
  .vaccination-detail {
    /* .vaccination-kind-list */
  }
  .vaccination-detail .vaccination-kind-list {
    grid-template-columns: 100%;
  }
  .vaccination-detail {
    /* .illust */
  }
  .vaccination-detail .illust {
    width: clamp(5rem, 2.315rem + 13.423dvw, 8.75rem);
    bottom: calc(clamp(6.25rem, 2.671rem + 17.897dvw, 11.25rem) * -1);
    left: calc(clamp(0rem, -0.537rem + 2.685dvw, 0.75rem) * -1);
  }
}

/* === .section-checkups === */
.section-checkups .lower-title {
  margin-bottom: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
}
.section-checkups {
  /* .checkups-kind-list */
}
.section-checkups .checkups-kind-list {
  grid-template-columns: repeat(3, 1fr);
}
.section-checkups {
  /* .checkups-kind-item */
}
.section-checkups .checkups-kind-item.card {
  grid-row: span 3;
}
.section-checkups .checkups-kind-item.card > p {
  line-height: var(--lh-base);
  font-size: clamp(1rem, 0.923rem + 0.162dvw, 1.125rem);
}
.section-checkups {
  /* .checkups-list */
}
.section-checkups .checkups-list {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.section-checkups {
  /* .note */
}
.section-checkups .note {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 0;
  border: none;
}
@media screen and (max-width: 991px) and (min-width: 576px) {
  .section-checkups {
    /* .checkups-kind-list */
  }
  .section-checkups .checkups-kind-list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
  }
  .section-checkups {
    /* .checkups-kind-item */
  }
  .section-checkups .checkups-kind-item.card:nth-child(3) {
    grid-column: 1/3;
  }
}
@media screen and (max-width: 575px) {
  .section-checkups {
    /* .checkups-kind-list */
  }
  .section-checkups .checkups-kind-list {
    grid-template-columns: 100%;
  }
}

/* === .section-faq === */
.section-faq.p-section--light::before {
  margin-bottom: 0;
}

/*
allergy
---------------------------------------------------------------- */
/* === .section-allergy === */
.section-allergy {
  /* .allergy-introduction */
}
.section-allergy .content {
  grid-template-rows: 1fr auto 1fr;
}
.section-allergy .content .media {
  grid-column: 1/2;
  grid-row: 1/4;
}
.section-allergy .content .introduction-title {
  font-size: clamp(1.5rem, 1.344rem + 0.325dvw, 1.75rem);
  grid-column: 2/3;
  grid-row: 1/2;
  align-self: end;
}
.section-allergy .content .introduction-desc {
  grid-column: 2/3;
  grid-row: 2/3;
}
.section-allergy .content .tag {
  grid-column: 2/3;
  grid-row: 3/4;
}
.section-allergy {
  /* .sub-content */
}
.section-allergy .sub-content {
  margin-top: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
}
@media screen and (max-width: 767px) {
  .section-allergy {
    /* .allergy-introduction */
  }
  .section-allergy .content .media {
    grid-column: 2/3;
    grid-row: 2/3;
  }
  .section-allergy .content .introduction-title {
    grid-column: 1/3;
    grid-row: 1/2;
    margin-bottom: 0.5em;
  }
  .section-allergy .content .introduction-desc {
    grid-column: 1/3;
    grid-row: 3/4;
  }
  .section-allergy .content .tag {
    grid-column: 1/2;
    grid-row: 2/3;
  }
}
@media screen and (max-width: 575px) {
  .section-allergy {
    grid-template-columns: 100%;
    /* .allergy-introduction */
  }
  .section-allergy .content .media {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .section-allergy .content .introduction-title {
    grid-column: 1/2;
    grid-row: 1/2;
    margin-bottom: 0;
  }
  .section-allergy .content .introduction-desc {
    grid-column: 1/2;
    grid-row: 3/4;
  }
  .section-allergy .content .tag {
    grid-column: 1/2;
    grid-row: 4/5;
  }
}

/* === .allergy-content === */
.allergy-content {
  display: grid;
  grid-template-columns: 60% 1fr;
  gap: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
  position: relative;
  /* .illust */
}
.allergy-content .illust {
  position: absolute;
}
.allergy-content {
  /* .symptoms */
}
.allergy-content .symptoms-title {
  padding: clamp(1.25rem, 0.536rem + 3.57%, 5rem) clamp(1.5rem, -0.17rem + 8.35%, 7.5rem);
  border-radius: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem) clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem) 0 0;
  background-color: var(--accent-blue);
  font-size: clamp(1.25rem, 1.094rem + 0.325dvw, 1.5rem);
  font-weight: 500;
  color: var(--text-light);
}
.allergy-content .symptoms-desc {
  border-radius: 0 0 clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem) clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
  background-color: var(--bg-white);
}
.allergy-content {
  /* .treatment */
}
.allergy-content .treatment-tag {
  font-size: clamp(1.125rem, 1.048rem + 0.162dvw, 1.25rem);
}
.allergy-content .tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75em;
}
.allergy-content .tag-list .tag-item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: 1.25em;
}
@media screen and (max-width: 767px) {
  .allergy-content {
    grid-template-columns: 100%;
  }
}

/* === .examination === */
.examination {
  grid-column: 1/3;
  /* .test-list */
}
.examination .text-list {
  display: grid;
}
.examination {
  /* .test-item */
}
.examination .test-item {
  grid-row: span 3;
}
.examination {
  /* .info */
}
.examination .info {
  margin-top: clamp(0.45rem, 0.392rem + 0.286dvw, 0.75rem);
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
}
@media screen and (max-width: 991px) {
  .examination {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .examination {
    grid-column: 1/2;
  }
}

/* === .illust === */
.section-atopic .illust {
  width: clamp(11.75rem, 7.386rem + 9.091dvw, 18.75rem);
  bottom: clamp(-8.75rem, -9.529rem + 1.623dvw, -7.5rem);
  right: calc(clamp(-1.75rem, -2.841rem + 2.273dvw, 0rem) * -1);
}
@media screen and (max-width: 767px) {
  .section-atopic .illust {
    width: clamp(7.5rem, 4.457rem + 15.213dvw, 11.75rem);
    bottom: -5.25rem;
    right: clamp(0rem, -0.537rem + 2.685dvw, 0.75rem);
  }
}

.section-rhinitis .illust {
  width: clamp(12.5rem, 8.604rem + 8.117dvw, 18.75rem);
  top: calc(clamp(11.25rem, 9.691rem + 3.247dvw, 13.75rem) * -1);
  right: calc(clamp(0.5rem, -19.305rem + 20.444dvw, 6.25rem) * -1);
}
@media screen and (max-width: 767px) {
  .section-rhinitis .illust {
    width: clamp(8rem, 4.779rem + 16.107dvw, 12.5rem);
    top: -11.25rem;
    right: -0.5rem;
  }
}

.section-bronchial-asthma .illust {
  width: clamp(10.75rem, 8.101rem + 5.519dvw, 15rem);
  top: calc(clamp(15rem, 11.415rem + 7.468dvw, 20.75rem) * -1);
  right: calc(clamp(-0.75rem, -3.334rem + 2.667dvw, 0rem) * -1);
}
@media screen and (max-width: 767px) {
  .section-bronchial-asthma .illust {
    width: clamp(6.25rem, 3.029rem + 16.107dvw, 10.75rem);
    top: -15rem;
    right: 0.75rem;
  }
}

@media screen and (max-width: 991px) {
  .p-medical-hour.p-section--light.is-bottom .illust {
    grid-column: initial;
    grid-row: initial;
    width: clamp(7.5rem, 5.115rem + 11.923dvw, 12.5rem);
    margin-top: initial;
    position: absolute;
    top: calc(clamp(-1.25rem, -1.292rem + 2.086dvw, 0rem) * -1);
  }
}

/*
clinic
---------------------------------------------------------------- */
/* === .section-philosophy === */
.section-philosophy {
  max-width: 1225px;
  margin-inline: auto;
  /* .content-wrapper */
}
.section-philosophy .content-wrapper {
  display: grid;
  grid-template-columns: 1fr -webkit-max-content;
  grid-template-columns: 1fr max-content;
}
.section-philosophy {
  /* .text */
}
.section-philosophy .text {
  -ms-flex-item-align: end;
      align-self: end;
  margin-left: calc(clamp(1.75rem, -0.276rem + 4.221dvw, 5rem) * -1);
  margin-bottom: clamp(-1rem, -3.961rem + 6.169dvw, 3.75rem);
  font-size: clamp(1rem, 0.689rem + 0.649dvw, 1.5rem);
  font-weight: 500;
  position: relative;
  z-index: 10;
}
.section-philosophy .text p:first-child .c-band:first-child {
  position: relative;
}
.section-philosophy .band.is-bottom {
  margin-top: 0.2em;
}
.section-philosophy {
  /* .illust */
}
.section-philosophy .illust {
  position: absolute;
  width: 60%;
  bottom: 88%;
  right: 0;
}
@media screen and (max-width: 767px) {
  .section-philosophy {
    /* .content-wrapper */
  }
  .section-philosophy .content-wrapper {
    grid-template-columns: 100%;
  }
  .section-philosophy {
    /* .media */
  }
  .section-philosophy .media {
    width: calc(clamp(-32rem, -53rem + 58.333dvw, -25rem) * -1);
  }
  .section-philosophy {
    /* .text */
  }
  .section-philosophy .text {
    -ms-flex-item-align: initial;
        align-self: initial;
    justify-self: end;
    margin: initial;
    margin-top: calc(clamp(-0.75rem, -34.677rem + 94.241dvw, 10.5rem) * -1);
  }
}
@media screen and (max-width: 575px) {
  .section-philosophy {
    /* .media */
  }
  .section-philosophy .media {
    width: 100%;
  }
  .section-philosophy {
    /* .text */
  }
  .section-philosophy .text {
    justify-self: center;
    margin: initial;
    margin-top: 1.25rem;
    font-size: clamp(0.8125rem, 0.42rem + 1.961dvw, 1.125rem);
    letter-spacing: var(--ls-min);
  }
  .section-philosophy {
    /* .illust */
  }
  .section-philosophy .illust {
    width: 46%;
    right: initial;
    left: 4%;
  }
}

/* === .section-outline === */
.section-outline {
  max-width: 1225px;
  margin-inline: auto;
}
.section-outline .inner {
  position: relative;
}
.section-outline {
  /* .illust */
}
.section-outline .illust {
  position: absolute;
  z-index: 10;
  scale: -1 1;
}
.section-outline .illust:nth-child(1) {
  width: 12%;
  top: calc(clamp(4.25rem, 3.02rem + 1.984dvw, 5.5rem) * -1);
  left: calc(clamp(-1.25rem, -6.171rem + 7.937dvw, 3.75rem) * -1);
}
.section-outline .illust:nth-child(2) {
  width: 30%;
  bottom: -8.75rem;
  right: calc(clamp(-0.75rem, -8.869rem + 13.095dvw, 7.5rem) * -1);
}
.section-outline {
  /* .title */
}
.section-outline .lower-title {
  margin-bottom: clamp(3rem, 2.619rem + 1.905dvw, 5rem);
  text-align: center;
}
.section-outline {
  /* .outline-table */
}
.section-outline .outline-table table {
  width: min(47.5rem, 100%);
}
.section-outline .subject-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5em;
}
.section-outline .subject-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 0.5em;
  line-height: var(--lh-narrow);
}
.section-outline .subject-item dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 991px) {
  .section-outline {
    /* .illust */
  }
  .section-outline .illust:nth-child(1) {
    width: clamp(3.75rem, 2.439rem + 6.557dvw, 6.5rem);
    top: calc(clamp(3.75rem, 3.512rem + 1.192dvw, 4.25rem) * -1);
    left: clamp(0.75rem, 0.512rem + 1.192dvw, 1.25rem);
  }
  .section-outline .illust:nth-child(2) {
    width: clamp(9.75rem, 6.65rem + 15.499dvw, 16.25rem);
    bottom: calc(clamp(4.625rem, 3.254rem + 6.855dvw, 7.5rem) * -1);
  }
  .section-outline {
    /* .outline-table */
  }
  .section-outline .subject-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* === .section-doctors === */
.section-doctors {
  /* .lower-title */
}
.section-doctors .lower-title {
  text-align: center;
}
.section-doctors {
  /* .doctors-item */
}
.section-doctors .doctors-item:not(:first-child) {
  margin-top: calc(clamp(5rem, 4.763rem + 1.19dvw, 6.25rem) * 1.2);
}
.section-doctors .media.c-picture-rectangle {
  grid-row: 1/3;
}
.section-doctors .title {
  grid-column: 2/3;
  grid-row: 1/2;
  align-self: end;
}
.section-doctors .title .role {
  font-size: clamp(0.75rem, 0.673rem + 0.162dvw, 0.875rem);
}
.section-doctors .title .name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.35em;
  margin-top: 0.5em;
  font-size: clamp(1.375rem, 1.141rem + 0.487dvw, 1.75rem);
}
.section-doctors .title .en {
  font-size: 0.6em;
  color: var(--accent-blue);
}
.section-doctors .list-wrapper {
  grid-column: 2/3;
  grid-row: 2/3;
  align-self: start;
}
.section-doctors {
  /* .doctors-history */
}
.section-doctors .doctors-history {
  margin-top: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
  position: relative;
}
.section-doctors .doctors-history table {
  line-height: var(--lh-base);
}
.section-doctors {
  /* .illust */
}
.section-doctors .illust {
  position: absolute;
  z-index: -10;
  width: clamp(15rem, 10.079rem + 7.937dvw, 20rem);
  bottom: 99%;
  right: 3%;
}
@media screen and (max-width: 991px) {
  .section-doctors {
    /* .illust */
  }
  .section-doctors .illust {
    width: clamp(15.5rem, 4.357rem + 23.214dvw, 18.75rem);
  }
}
@media screen and (max-width: 767px) {
  .section-doctors .doctors-introduction {
    grid-template-columns: 48% 1fr;
    -webkit-column-gap: clamp(1.75rem, 1.393rem + 1.788dvw, 2.5rem);
       -moz-column-gap: clamp(1.75rem, 1.393rem + 1.788dvw, 2.5rem);
            column-gap: clamp(1.75rem, 1.393rem + 1.788dvw, 2.5rem);
  }
  .section-doctors .media.c-picture-rectangle {
    aspect-ratio: 1/1.25;
  }
  .section-doctors .media.c-picture-rectangle::before,
  .section-doctors .media.c-picture-rectangle .picture {
    aspect-ratio: 1/1.25;
  }
  .section-doctors .title {
    grid-column: 1/2;
  }
  .section-doctors .list-wrapper {
    grid-column: 1/2;
    line-height: var(--lh-narrow);
  }
  .section-doctors {
    /* .illust */
  }
  .section-doctors .illust {
    width: clamp(11.25rem, -1.567rem + 35.602dvw, 15.5rem);
    left: 2%;
    right: initial;
  }
}
@media screen and (max-width: 575px) {
  .section-doctors .doctors-introduction {
    grid-template-columns: 100%;
  }
  .section-doctors .media.c-picture-rectangle {
    grid-row: 2/3;
    aspect-ratio: 1.618/1;
  }
  .section-doctors .media.c-picture-rectangle::before,
  .section-doctors .media.c-picture-rectangle .picture {
    aspect-ratio: 1.618/1;
  }
  .section-doctors .title {
    grid-row: 1/2;
  }
  .section-doctors .list-wrapper {
    grid-row: 3/4;
    line-height: var(--lh-narrow);
  }
  .section-doctors {
    /* .illust */
  }
  .section-doctors .illust {
    width: clamp(11.25rem, 11.25rem + 0dvw, 11.25rem);
    left: initial;
    right: 2%;
    top: 98%;
    z-index: 10;
  }
}

/* === .section-interior === */
.section-interior .lower-title {
  margin-bottom: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
}

/* === .policy === */
.policy {
  position: relative;
}
.policy .title {
  font-size: clamp(1.25rem, 1.094rem + 0.325dvw, 1.5rem);
  text-align: center;
  color: var(--title-sub);
}
.policy .privacy-box {
  margin-top: 2em;
  line-height: var(--lh-base);
  text-align: justify;
}
.policy .privacy-box a {
  display: inline;
  word-break: break-all;
  font-weight: 500;
  color: var(--accent-blue);
  text-decoration: underline;
}
.policy .privacy-box p:not(:first-child) {
  margin-top: 3em;
}
.policy .privacy-box strong {
  display: inline-block;
}
.policy .privacy-box .bullet-list {
  margin-top: 1em;
  gap: 0.5em;
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
}
.policy .privacy-box .bullet-item::before {
  width: 0.25em;
  top: 0.55em;
}

/* === .section-privacy-policy === */
.section-privacy-policy {
  max-width: 1225px;
  margin-inline: auto;
}
.section-privacy-policy .lower-title {
  text-align: center;
}
.section-privacy-policy .illust {
  position: absolute;
  width: clamp(7rem, 3.764rem + 8.989dvw, 15rem);
  top: calc(clamp(6.625rem, 3.541rem + 8.567dvw, 14.25rem) * -1);
  left: 2%;
}
@media screen and (max-width: 575px) {
  .section-privacy-policy .illust {
    width: clamp(5.75rem, 4.181rem + 7.843dvw, 7rem);
    top: -12.5rem;
  }
}

/* === .section-standard === */
.section-standard {
  max-width: 1225px;
  margin-inline: auto;
  padding-bottom: 0;
}
.section-standard .lower-title {
  text-align: center;
}
.section-standard .illust {
  position: absolute;
  z-index: -10;
  width: clamp(7rem, 3.764rem + 8.989dvw, 15rem);
  top: calc(clamp(6.625rem, 3.541rem + 8.567dvw, 14.25rem) * -1);
  right: 2%;
}
.section-standard .privacy-box .bullet-list {
  margin-top: 1.25em;
  gap: 1em;
}
.section-standard .privacy-box .bullet-item {
  font-size: clamp(1rem, 0.923rem + 0.162dvw, 1.125rem);
}
.section-standard .privacy-box .bullet-item span {
  display: inline-block;
  margin-top: 0.5em;
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
  font-weight: 400;
  line-height: var(--lh-base);
}
.section-standard .privacy-box .bullet-item::before {
  top: 0.65em;
}
@media screen and (max-width: 575px) {
  .section-standard .illust {
    width: 7rem;
    top: -13.75rem;
  }
}

/*
sccr
---------------------------------------------------------------- */
/* === .sccr-introduction === */
.sccr-introduction .inner {
  position: relative;
}
.sccr-introduction .title {
  text-align: center;
  margin-bottom: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
}
.sccr-introduction .content-wrapper {
  display: grid;
  grid-template-columns: 1fr 48%;
  gap: clamp(1.25rem, -0.472rem + 2.778dvw, 3rem) clamp(2rem, -2.5rem + 6dvw, 5rem);
}
.sccr-introduction {
  /* .desc */
}
.sccr-introduction .desc {
  grid-column: 1/2;
  grid-row: 1/2;
}
.sccr-introduction .desc .strong {
  color: var(--accent-blue);
  font-size: clamp(1.125rem, 1.048rem + 0.162dvw, 1.25rem);
  font-weight: 500;
}
.sccr-introduction {
  /* .sccr-feature */
}
.sccr-introduction .sccr-feature {
  grid-column: 1/2;
  grid-row: 2/3;
  line-height: var(--lh-base);
}
.sccr-introduction {
  /* .media */
}
.sccr-introduction .media {
  grid-column: 2/3;
  grid-row: 1/3;
  align-self: center;
  position: relative;
}
.sccr-introduction .media .text {
  position: absolute;
  font-size: clamp(1.125rem, 1.048rem + 0.162dvw, 1.25rem);
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  top: -0.75em;
  right: -0.75em;
}
.sccr-introduction .media .text .band {
  display: block;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  margin-left: 0.5em;
}
.sccr-introduction .media .text .band:nth-child(2) {
  font-size: 1.75em;
}
.sccr-introduction {
  /* .illust */
}
.sccr-introduction .illust {
  position: absolute;
  z-index: 10;
  width: clamp(13.75rem, 4.375rem + 12.5dvw, 20rem);
  bottom: calc(clamp(10rem, 3.625rem + 8.5dvw, 14.25rem) * -1);
  left: calc(clamp(0rem, -9.375rem + 12.5dvw, 6.25rem) * -1);
}
@media screen and (max-width: 1199px) {
  .sccr-introduction .content-wrapper {
    grid-template-columns: 1fr 40%;
  }
  .sccr-introduction {
    /* .desc */
  }
  .sccr-introduction .desc {
    grid-column: 1/2;
    align-self: center;
  }
  .sccr-introduction .desc .strong {
    font-size: clamp(1rem, 0.923rem + 0.162dvw, 1.125rem);
  }
  .sccr-introduction {
    /* .sccr-feature */
  }
  .sccr-introduction .sccr-feature {
    grid-column: 1/3;
  }
  .sccr-introduction {
    /* .media */
  }
  .sccr-introduction .media {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .sccr-introduction .media .text {
    font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
  }
  .sccr-introduction .media .text .band:nth-child(2) {
    font-size: 1.5em;
  }
  .sccr-introduction {
    /* .illust */
  }
  .sccr-introduction .illust {
    width: clamp(10rem, 4.375rem + 7.5dvw, 13.75rem);
    bottom: calc(clamp(7rem, 2.5rem + 6dvw, 10rem) * -1);
  }
}
@media screen and (max-width: 767px) {
  .sccr-introduction .inner {
    padding-top: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
  }
  .sccr-introduction {
    /* .media */
  }
  .sccr-introduction .media {
    aspect-ratio: 1/1.25;
  }
}
@media screen and (max-width: 575px) {
  .sccr-introduction .content-wrapper {
    grid-template-columns: 100%;
  }
  .sccr-introduction {
    /* .desc */
  }
  .sccr-introduction .desc {
    grid-row: 2/3;
  }
  .sccr-introduction {
    /* .sccr-feature */
  }
  .sccr-introduction .sccr-feature {
    grid-column: 1/2;
    grid-row: 3/4;
  }
  .sccr-introduction .sccr-feature .md-title {
    letter-spacing: 0.04em;
  }
  .sccr-introduction {
    /* .media */
  }
  .sccr-introduction .media {
    grid-column: 1/2;
    grid-row: 1/2;
    aspect-ratio: 1.618/1;
  }
  .sccr-introduction .media .text {
    line-height: var(--lh-min);
    font-size: clamp(0.625rem, 0.548rem + 0.162dvw, 0.75rem);
    top: -1em;
    right: -0.5em;
  }
  .sccr-introduction .media .text .band:nth-child(2) {
    font-size: 1.5em;
  }
  .sccr-introduction {
    /* .illust */
  }
  .sccr-introduction .illust {
    width: clamp(8.25rem, 6.054rem + 10.98dvw, 10rem);
    bottom: calc(clamp(5.5rem, 3.618rem + 9.412dvw, 7rem) * -1);
  }
}

/* === .section-usage === */
.section-usage .md-desc .md-title {
  margin-bottom: clamp(0.45rem, 0.392rem + 0.286dvw, 0.75rem);
}
.section-usage {
  /* .usage-kind-list */
}
.section-usage .usage-kind-list {
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.5rem, 0.876rem + 1.299dvw, 2.5rem);
}
.section-usage {
  /* .usage-kind-item */
}
.section-usage .usage-kind-item {
  grid-row: span 2;
}
.section-usage .usage-kind-item dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
}
.section-usage .usage-kind-item dl dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 3.5em;
}
.section-usage .usage-kind-item.time p {
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
  margin-top: 1em;
}
.section-usage .usage-kind-item.price .small {
  display: block;
  margin: 0.1em 0 0;
}
.section-usage .usage-kind-item.belongings {
  grid-column: 1/4;
}
.section-usage {
  /* .usage-list */
}
.section-usage .usage-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.section-usage {
  /* .belongings-kind-list */
}
.section-usage .belongings-kind-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
}
.section-usage {
  /* .belongings-kind-item */
}
.section-usage .belongings-kind-item .belongings-title {
  font-size: clamp(0.875rem, 0.798rem + 0.162dvw, 1rem);
}
.section-usage .belongings-kind-item.all {
  grid-column: 1/2;
  grid-row: 1/3;
}
.section-usage .belongings-kind-item.baby {
  grid-column: 2/3;
  grid-row: 1/2;
}
.section-usage .belongings-kind-item.first {
  grid-column: 2/3;
  grid-row: 2/3;
}
.section-usage {
  /* .belongings-list */
}
.section-usage .belongings-list {
  gap: clamp(0.6rem, 0.524rem + 0.381dvw, 1rem) clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
  margin-top: 1em;
  font-size: clamp(1rem, 0.923rem + 0.162dvw, 1.125rem);
}
@media screen and (max-width: 991px) {
  .section-usage {
    /* .usage-kind-list */
  }
  .section-usage .usage-kind-list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
  }
  .section-usage {
    /* .usage-kind-item */
  }
  .section-usage .usage-kind-item.price {
    grid-column: 1/3;
  }
  .section-usage .usage-kind-item.belongings {
    grid-column: 1/3;
  }
}
@media screen and (max-width: 767px) {
  .section-usage {
    /* .belongings-kind-list */
  }
  .section-usage .belongings-kind-list {
    grid-template-columns: 100%;
  }
  .section-usage {
    /* .belongings-kind-item */
  }
  .section-usage .belongings-kind-item.all {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .section-usage .belongings-kind-item.baby {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .section-usage .belongings-kind-item.first {
    grid-column: 1/2;
    grid-row: 3/4;
  }
}
@media screen and (max-width: 575px) {
  .section-usage {
    /* .usage-kind-list */
  }
  .section-usage .usage-kind-list {
    grid-template-columns: 100%;
  }
  .section-usage {
    /* .usage-kind-item */
  }
  .section-usage .usage-kind-item.price {
    grid-column: 1/2;
  }
  .section-usage .usage-kind-item.belongings {
    grid-column: 1/2;
  }
}

/* === .section-schedule === */
.section-schedule {
  max-width: 1225px;
  margin-inline: auto;
}
.section-schedule .lower-title {
  text-align: center;
}
.section-schedule {
  /* .timeline */
}
.section-schedule .timeline {
  display: grid;
  grid-template-columns: 1fr -webkit-max-content 1fr;
  grid-template-columns: 1fr max-content 1fr;
  gap: 0 clamp(1.5rem, 0.098rem + 2.922dvw, 3.75rem);
}
.section-schedule {
  /* .timeline-item */
}
.section-schedule .timeline-item {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 3;
  position: relative;
}
.section-schedule .timeline-item:nth-child(2n-1) .schedule-media {
  justify-self: end;
}
.section-schedule .timeline-item:nth-child(2n) .schedule-media {
  justify-self: start;
}
.section-schedule .timeline-item:not(:first-child) {
  padding-top: clamp(3.75rem, 3.036rem + 3.571dvw, 7.5rem);
}
.section-schedule .timeline-item .illust {
  position: absolute;
  z-index: 20;
}
.section-schedule {
  /* .illust */
}
.section-schedule .timeline-item:nth-child(1) .illust {
  width: clamp(11.25rem, 8.334rem + 3.333dvw, 12.5rem);
  top: clamp(-7.5rem, -13.334rem + 6.667dvw, -5rem);
  left: calc(clamp(1.25rem, -8.666rem + 11.333dvw, 5.5rem) * -1);
  scale: -1 1;
}
.section-schedule .timeline-item:nth-child(3) .illust {
  width: clamp(15.5rem, 5rem + 12dvw, 20rem);
  bottom: calc(clamp(8.75rem, 5.834rem + 3.333dvw, 10rem) * -1);
  right: calc(clamp(5rem, -3.75rem + 10dvw, 8.75rem) * -1);
}
.section-schedule .timeline-item:nth-child(5) .illust {
  width: clamp(13.75rem, 5rem + 10dvw, 17.5rem);
  top: calc(clamp(-3.75rem, 2.084rem + -6.667dvw, -6.25rem) * -1);
  left: calc(clamp(1.25rem, -10.416rem + 13.333dvw, 6.25rem) * -1);
}
.section-schedule .timeline-item:nth-child(7) .illust {
  width: clamp(13.75rem, 7.916rem + 6.667dvw, 16.25rem);
  top: 75%;
  right: -15%;
}
.section-schedule {
  /* .schedule-time */
}
.section-schedule .schedule-time {
  position: relative;
  font-size: clamp(1.25rem, 1.094rem + 0.325dvw, 1.5rem);
}
.section-schedule .schedule-time::before {
  content: "";
  display: block;
  width: 3px;
  height: calc(100% + clamp(3.75rem, 3.036rem + 3.571dvw, 7.5rem));
  background-color: var(--accent-blue);
  position: absolute;
  z-index: -10;
  top: calc(1em + clamp(1.25rem, 1.094rem + 0.325dvw, 1.5rem) + 1em);
  left: calc(50% - 1.5px);
}
.section-schedule .schedule-time .tag {
  margin-top: 1em;
  padding: 0.5em 1em;
  font-family: var(--ff-en-primary);
  font-weight: 700;
}
.section-schedule .timeline-item:nth-child(2) .schedule-time::before {
  height: calc(100% + 5em);
}
.section-schedule .timeline-item:last-child .schedule-time::before {
  display: none;
}
.section-schedule {
  /* .schedule-text */
}
.section-schedule .schedule-text {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
}
.section-schedule .schedule-text .card-title {
  line-height: var(--lh-narrow);
}
.section-schedule .schedule-text .note {
  margin-top: 0.75em;
  padding: 0 1em;
  line-height: var(--lh-base);
}
.section-schedule {
  /* .schedule-media */
}
.section-schedule .schedule-media {
  width: min(20rem, 75%);
  aspect-ratio: 1/1;
  margin-top: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
  border-radius: 50%;
  overflow: hidden;
}
.section-schedule .schedule-media img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1399px) {
  .section-schedule {
    /* .illust */
  }
  .section-schedule .timeline-item:nth-child(1) .illust {
    width: clamp(6.875rem, 1.55rem + 11.094dvw, 11.25rem);
    top: calc(clamp(4.25rem, 0.294rem + 8.241dvw, 7.5rem) * -1);
    left: calc(clamp(0.5rem, -0.413rem + 1.902dvw, 1.25rem) * -1);
  }
  .section-schedule .timeline-item:nth-child(3) .illust {
    width: clamp(10rem, 3.306rem + 13.946dvw, 15.5rem);
    bottom: calc(clamp(6.25rem, 3.207rem + 6.339dvw, 8.75rem) * -1);
    right: calc(clamp(1.875rem, -1.929rem + 7.924dvw, 5rem) * -1);
  }
  .section-schedule .timeline-item:nth-child(5) .illust {
    width: clamp(8.75rem, 2.665rem + 12.678dvw, 13.75rem);
    top: clamp(2.5rem, 0.978rem + 3.17dvw, 3.75rem);
    left: calc(clamp(0.75rem, 0.141rem + 1.268dvw, 1.25rem) * -1);
  }
  .section-schedule .timeline-item:nth-child(7) .illust {
    width: clamp(11.25rem, 8.207rem + 6.339dvw, 13.75rem);
    right: -5%;
  }
}
@media screen and (max-width: 767px) {
  .section-schedule {
    /* .timeline */
  }
  .section-schedule .timeline {
    grid-template-columns: -webkit-max-content auto 1fr;
    grid-template-columns: max-content auto 1fr;
  }
  .section-schedule {
    /* .timeline-item */
  }
  .section-schedule .timeline-item {
    grid-column: span 3;
  }
  .section-schedule {
    /* .illust */
  }
  .section-schedule .timeline-item:nth-child(n) .illust {
    inset: initial;
  }
  .section-schedule .timeline-item:nth-child(1) .illust {
    width: 6.75rem;
    bottom: -9%;
    left: -1%;
  }
  .section-schedule .timeline-item:nth-child(3) .illust {
    width: clamp(7.5rem, -0.039rem + 20.942dvw, 10rem);
    top: 90%;
    right: -3%;
  }
  .section-schedule .timeline-item:nth-child(5) .illust {
    width: clamp(7rem, 3.23rem + 10.471dvw, 8.25rem);
    top: clamp(14.25rem, 8.595rem + 15.707dvw, 16.125rem);
    left: 0;
  }
  .section-schedule .timeline-item:nth-child(7) .illust {
    width: clamp(7.5rem, -0.039rem + 20.942dvw, 10rem);
    top: 75%;
    right: 0;
  }
  .section-schedule {
    /* .schedule-time */
  }
  .section-schedule .schedule-time {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .section-schedule .schedule-time::before {
    top: 0;
  }
  .section-schedule .schedule-time .tag {
    margin-top: 0;
  }
  .section-schedule {
    /* .schedule-text */
  }
  .section-schedule .schedule-text {
    grid-column: 3/4;
    grid-row: 1/2;
  }
  .section-schedule {
    /* .schedule-media */
  }
  .section-schedule .schedule-media {
    grid-column: 2/3;
    grid-row: 1/2;
    width: clamp(6.25rem, 3.565rem + 13.423dvw, 10rem);
    margin-top: 2em;
    margin-left: -2rem;
  }
}
@media screen and (max-width: 575px) {
  .section-schedule {
    /* .timeline */
  }
  .section-schedule .timeline {
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    gap: clamp(0.75rem, 0.123rem + 3.137dvw, 1.25rem);
  }
  .section-schedule {
    /* .timeline-item */
  }
  .section-schedule .timeline-item {
    grid-column: span 2;
  }
  .section-schedule {
    /* .illust */
  }
  .section-schedule .timeline-item:nth-child(1) .illust {
    width: 5.625rem;
  }
  .section-schedule .timeline-item:nth-child(5) .illust {
    width: clamp(5.625rem, 4.841rem + 3.922dvw, 6.25rem);
    top: clamp(13.75rem, 12.181rem + 7.843dvw, 15rem);
    left: 0;
  }
  .section-schedule {
    /* .schedule-time */
  }
  .section-schedule .schedule-time {
    font-size: clamp(1rem, 0.686rem + 1.569dvw, 1.25rem);
  }
  .section-schedule .schedule-time::before {
    height: calc(100% + clamp(3.75rem, 3.036rem + 3.571dvw, 7.5rem));
    top: calc(clamp(1rem, 0.686rem + 1.569dvw, 1.25rem) + 1em);
  }
  .section-schedule {
    /* .schedule-text */
  }
  .section-schedule .schedule-text {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .section-schedule {
    /* .schedule-media */
  }
  .section-schedule .schedule-media {
    grid-column: 1/2;
    width: clamp(5rem, 3.431rem + 7.843dvw, 6.25rem);
    margin: initial;
    position: absolute;
    top: 3.5em;
    left: 0;
    z-index: 10;
  }
  .section-schedule .timeline-item:nth-child(3) .schedule-media {
    top: 1em;
  }
}

/*
detail
---------------------------------------------------------------- */
/* === .news-detail === */
.news-title {
  margin-bottom: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
}

.news-detail {
  max-width: 980px;
  margin-inline: auto;
  padding: clamp(5rem, 4.763rem + 1.19dvw, 6.25rem) 0;
}

.news-desc {
  margin-top: clamp(2.25rem, 1.964rem + 1.429dvw, 3.75rem);
  text-align: start;
}

.files-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: clamp(0.75rem, 0.655rem + 0.476dvw, 1.25rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: clamp(1.5rem, 1.31rem + 0.952dvw, 2.5rem);
}

.button-back {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: clamp(3rem, 2.619rem + 1.905dvw, 5rem);
}
.button-back a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--title-sub);
  font-weight: 500;
}
.button-back .arrow {
  width: 3em;
  border: 1px solid var(--title-sub);
}
.button-back .arrow-box::before, .button-back .arrow-box::after {
  background-color: var(--title-sub);
  scale: -1 1;
}
.text-link {
  width: fit-content;
  font-weight: 500;
  color: var(--base-orange-400);
  text-decoration: underline;
  text-indent: 0;
  transition: opacity .3s;
  @media (any-hover: hover) {
    &:hover {
      opacity: .8;
    }
  }
}
/*# sourceMappingURL=style.css.map */