@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700&display=swap");
@layer reset {
  *,
  *::before,
  *::after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
        text-size-adjust: none;
  }
  body,
  h1,
  h2,
  h3,
  h4,
  p,
  figure,
  blockquote,
  dl,
  dd {
    margin: 0;
  }
  ul[role=list],
  ol[role=list] {
    list-style: none;
  }
  body {
    line-height: 1.5;
    min-height: 100dvh;
  }
  h1,
  h2,
  h3,
  h4,
  button,
  input,
  label {
    line-height: 1.1;
  }
  a:not([class]) {
    -webkit-text-decoration-skip: ink;
            text-decoration-skip-ink: auto;
    color: currentColor;
  }
  a {
    word-break: break-all;
  }
  img,
  picture,
  svg {
    display: block;
    max-width: 100%;
  }
  input,
  button,
  textarea,
  select {
    font: inherit;
  }
  textarea:not([rows]) {
    min-height: 10em;
  }
  :target {
    scroll-margin-block: 2.5ex;
  }
}
html {
  scroll-behavior: smooth;
  scroll-padding-block: var(--header-height);
}

body {
  font-family: var(--font-base), sans-serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.8;
  min-height: 100dvh;
  color: var(--color-base);
  background-color: var(--color-background);
}
@media screen and (width <= 768px) {
  body {
    font-size: 0.875rem;
  }
}

:root {
  --color-base: #6f5f53;
  --color-main: #3fb2e2;
  --color-main-light: #e9f6fb;
  --color-main-dark: #1487b8;
  --color-accent: #ff4b4b;
  --color-accent-light: #fff4f4;
  --color-background: #fdfaf7;
  --color-background-light: #fee7cc;
  --color-background-dark: #f7f4f2;
  --color-background-darker: #f5ebe5;
  --color-white: #ffffff;
  --color-gray: #858585;
  --color-gray-light: #d9d9d9;
}

:root {
  --font-base: Noto Sans JP, sans-serif; /* メインフォント */
  --header-min-height: 100px; /* ヘッダー - 高さ */
  --header-gutter: min(80px, var(--gutter, 0px)); /* ヘッダーガイド */
  --footer-gutter: min(80px, var(--gutter, 0px)); /* フッターガイド */
  --gutter: clamp(40px, -590px + 52.5vw, 250px); /* コンテンツガイド */
  --contents-spacer: 130px; /* コンテンツ間隔 */
}
@media screen and (width <= 1200px) {
  :root {
    --gutter: clamp(25px, 18.1818181818px + 1.8181818182vw, 40px); /* コンテンツガイド */
    --header-min-height: 60px; /* ヘッダー - 高さ */
  }
}
@media screen and (width <= 768px) {
  :root {
    --gutter: clamp(10px, 6.6666666667vw, clamp(25px, 18.1818181818px + 1.8181818182vw, 40px)); /* コンテンツガイド */
    --contents-spacer: 50px; /* コンテンツ間隔 */
  }
}

/* 回転アニメーションの定義 */
@-webkit-keyframes rotateAnimation {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}
@keyframes rotateAnimation {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}
:where(.js-tab-container) {
  display: grid;
}
:where(.js-tab-container) .js-tab-buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
:where(.js-tab-container) .js-tab-button {
  margin: 0;
  padding: 0;
  cursor: pointer;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
}
:where(.js-tab-container) .js-tab-contents {
  position: relative;
  display: grid;
  grid-template-areas: "tab-content";
}
:where(.js-tab-container) .js-tab-content {
  z-index: 0;
  display: grid;
  visibility: hidden;
  grid-template-rows: 0fr;
  grid-area: tab-content;
  opacity: 0;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-property: visibility, opacity, z-index, grid-template-rows;
  transition-property: visibility, opacity, z-index, grid-template-rows;
  transition-property: visibility, opacity, z-index, grid-template-rows, -ms-grid-rows;
}
:where(.js-tab-container) .js-tab-content.is-active {
  z-index: 1;
  visibility: visible;
  grid-template-rows: 1fr;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  opacity: 1;
}
:where(.js-tab-container) .js-tab-content[aria-hidden=true] {
  display: none;
}
:where(.js-tab-container) .js-tab-content-inn {
  overflow: hidden;
}

.js-tab-container.tab-theme-default {
  gap: 8px;
}
.js-tab-container.tab-theme-default .js-tab-buttons {
  gap: 8px;
}
.js-tab-container.tab-theme-default .js-tab-button {
  font-size: 0.875rem;
  padding: 8px 16px;
  color: #333333;
  border-radius: 20px;
  background-color: #f0f0f0;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
  -webkit-transition-property: background-color, color, opacity;
  transition-property: background-color, color, opacity;
}
.js-tab-container.tab-theme-default .js-tab-button:hover {
  opacity: 0.9;
}
.js-tab-container.tab-theme-default .js-tab-button.is-active {
  color: #ffffff;
  background-color: #004b8d;
}
.js-tab-container.tab-theme-default .js-tab-button:focus {
  outline: 2px solid rgba(0, 75, 141, 0.5);
  outline-offset: 2px;
}
.js-tab-container.tab-theme-default .js-tab-button:focus:not(:focus-visible) {
  outline: none;
}
.js-tab-container.tab-theme-default .js-tab-contents {
  padding: 8px;
}

.js-res-dropdown {
  --_border: var(--dropdown-border, 1px solid var(--color-gray-light));
  --_box-shadow: var(--dropdown-box-shadow, 0 3px 6px rgb(from var(--color-base) r g b / 0.16));
  --_border-radius-close: var(--dropdown-border-radius-close, var(--dropdown-border-radius, 100vmax));
  --_border-radius-open: var(--dropdown-border-radius-open, var(--dropdown-border-radius, 1.875rem));
}
:where(.js-res-dropdown) {
  width: 100%;
  margin: 0 auto;
}
:where(.js-res-dropdown).is-always-dropdown, :where(.js-res-dropdown).is-responsive {
  position: relative;
  width: 100%;
}

:where(.js-res-dropdown__current) {
  position: relative;
  display: none;
  width: 100%;
  padding: 0;
  cursor: pointer;
  -webkit-transition: border-radius 0.2s 0.25s, border 0.3s allow-discrete 0.25s, background-color 0.3s 0s, -webkit-box-shadow 0.3s 0.25s;
  transition: border-radius 0.2s 0.25s, border 0.3s allow-discrete 0.25s, background-color 0.3s 0s, -webkit-box-shadow 0.3s 0.25s;
  transition: border-radius 0.2s 0.25s, border 0.3s allow-discrete 0.25s, background-color 0.3s 0s, box-shadow 0.3s 0.25s;
  transition: border-radius 0.2s 0.25s, border 0.3s allow-discrete 0.25s, background-color 0.3s 0s, box-shadow 0.3s 0.25s, -webkit-box-shadow 0.3s 0.25s;
  text-align: left;
  border: none;
  border: var(--_border);
  border-radius: var(--_border-radius-close);
  background: var(--color-white, #ffffff);
  -webkit-box-shadow: var(--_box-shadow);
          box-shadow: var(--_box-shadow);
}
.js-res-dropdown.is-always-dropdown :where(.js-res-dropdown__current), .js-res-dropdown.is-responsive :where(.js-res-dropdown__current) {
  display: block;
}
:where(.js-res-dropdown__current):focus-visible {
  outline: none;
  background-color: var(--color-main-light, currentColor);
}
@media (any-hover: hover) {
  :where(.js-res-dropdown__current):hover {
    outline: none;
    background-color: var(--color-main-light, currentColor);
  }
}
:where(.js-res-dropdown__current)[aria-expanded=true] {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  border-bottom-color: transparent;
  border-radius: var(--_border-radius-open) var(--_border-radius-open) 0 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}

:where(.js-res-dropdown__placeholder) {
  display: block;
  overflow: hidden;
  padding: 0.615em 0.71875em;
  padding-right: 40px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

:where(.js-res-dropdown__arrow) {
  position: absolute;
  top: 50%;
  right: 15px;
  display: block;
  width: 7px;
  aspect-ratio: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  translate: 0 -75%;
  rotate: 135deg;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  border-width: 2px 2px 0 0;
  border-style: solid;
  border-color: var(--color-base, currentColor);
}
.js-res-dropdown__current[aria-expanded=true] :where(.js-res-dropdown__arrow) {
  translate: 0 -25%;
  rotate: -45deg;
}

:where(.js-res-dropdown__options-wrapper) {
  display: grid;
  width: 100%;
  -webkit-transition: visibility 0.3s, grid-template-rows 0.3s;
  transition: visibility 0.3s, grid-template-rows 0.3s;
  transition: visibility 0.3s, grid-template-rows 0.3s, -ms-grid-rows 0.3s;
}
.js-res-dropdown.is-always-dropdown :where(.js-res-dropdown__options-wrapper), .js-res-dropdown.is-responsive :where(.js-res-dropdown__options-wrapper) {
  position: absolute;
  z-index: 1000;
  top: 100%;
  left: 0;
  visibility: hidden;
  grid-template-rows: 0fr;
}
.js-res-dropdown.is-always-dropdown :where(.js-res-dropdown__options-wrapper):has(.is-open), .js-res-dropdown.is-responsive :where(.js-res-dropdown__options-wrapper):has(.is-open) {
  visibility: visible;
  grid-template-rows: 1fr;
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

:where(.js-res-dropdown__options) {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 5px 20px;
  width: 100%;
}
.js-res-dropdown.is-always-dropdown :where(.js-res-dropdown__options), .js-res-dropdown.is-responsive :where(.js-res-dropdown__options) {
  display: block;
  overflow: hidden;
  border: var(--_border);
  border-top: none;
  border-radius: 0 0 var(--_border-radius-open) var(--_border-radius-open);
  background-color: var(--color-white, #ffffff);
  -webkit-box-shadow: var(--_box-shadow);
          box-shadow: var(--_box-shadow);
}

:where(.js-res-dropdown__option) {
  color: var(--color-base, currentColor);
}
:where(.js-res-dropdown__option).is-active {
  pointer-events: none;
  color: var(--color-main, currentColor);
}

.js-scroll-fade-up-trr {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, -webkit-transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out, -webkit-transform 0.6s ease-out;
}

.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.c-breadcrumb {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  row-gap: 4px;
  width: 100%;
  margin: 0;
  padding: 0;
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
}
.c-breadcrumb__item {
  font-size: clamp(10px, 3.2vw, clamp(12px, 10.7755102041px + 0.3265306122vw, 16px));
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  color: var(--color-base);
}
.c-breadcrumb__item > a {
  -webkit-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out;
  text-decoration: underline;
  text-underline-offset: 0.25em;
  color: var(--color-main);
}
.c-breadcrumb__item > a:focus-visible {
  color: color-mix(in srgb, var(--breadcrumb-color, var(--color-main)) 30%, var(--color-white) 70%);
}
@media (any-hover: hover) {
  .c-breadcrumb__item > a:hover {
    color: color-mix(in srgb, var(--breadcrumb-color, var(--color-main)) 30%, var(--color-white) 70%);
  }
}
.c-breadcrumb__item::after {
  display: inline-block;
  width: 0.65em;
  aspect-ratio: 1;
  -webkit-margin-before: 0.1em;
          margin-block-start: 0.1em;
  content: "";
  background-color: currentColor;
  -webkit-mask: url(../images/icn_arrow-chevron-right_01.svg) center/contain no-repeat;
          mask: url(../images/icn_arrow-chevron-right_01.svg) center/contain no-repeat;
}
.c-breadcrumb__item:last-of-type {
  -webkit-line-clamp: 1;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-flex: unset;
  -webkit-flex: unset;
      -ms-flex: unset;
          flex: unset;
  -webkit-box-orient: vertical;
  text-decoration: none;
}
.c-breadcrumb__item:last-of-type::after {
  display: none;
}

.c-button-arrow-chevron {
  font-weight: 700;
  display: grid;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto 1fr auto;
  width: 100%;
  padding: 0.615em 0.71875em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-decoration: none;
  -webkit-column-gap: 0.375em;
     -moz-column-gap: 0.375em;
          column-gap: 0.375em;
  color: var(--color-white);
  border-radius: 0.275em;
  background-color: var(--color-base);
}
.c-button-arrow-chevron:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .c-button-arrow-chevron:hover {
    opacity: 0.8;
  }
}
.c-button-arrow-chevron:not(:has(> .icon)) {
  grid-template-columns: 1fr auto;
}
.c-button-arrow-chevron::after {
  display: block;
  height: max(10px, 0.65em);
  aspect-ratio: 8.54/13.85;
  -webkit-margin-start: 0.34375em;
          margin-inline-start: 0.34375em;
  content: "";
  background: currentColor;
  -webkit-mask: url(../images/icn_arrow-chevron-right_01.svg) center/contain no-repeat;
          mask: url(../images/icn_arrow-chevron-right_01.svg) center/contain no-repeat;
}
.c-button-arrow-chevron[data-color=clinic-dark] {
  background-color: var(--color-main-dark);
}
.c-button-arrow-chevron[data-color=clinic] {
  background-color: var(--color-main);
}
.c-button-arrow-chevron > .icon {
  height: 1lh;
}

.c-button-arrow-line {
  font-size: clamp(0.875rem, 1.125vw, clamp(1rem, 0.9617346939rem + 0.1632653061vw, 1.125rem));
  font-weight: 700;
  display: grid;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr auto;
  width: 100%;
  padding: 0.615em 1.1em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-align: center;
  text-decoration: none;
  -webkit-column-gap: 0.375em;
     -moz-column-gap: 0.375em;
          column-gap: 0.375em;
  color: var(--color-white);
  border-radius: 100vmax;
  background-color: var(--color-base);
}
.c-button-arrow-line:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .c-button-arrow-line:hover {
    opacity: 0.8;
  }
}
.c-button-arrow-line::after {
  display: block;
  width: 0.7em;
  height: 100%;
  aspect-ratio: 8.54/13.85;
  -webkit-margin-start: 0.34375em;
          margin-inline-start: 0.34375em;
  content: "";
  background: currentColor;
  -webkit-mask: url(../images/icn_arrow-line-right_01.svg) center/contain no-repeat;
          mask: url(../images/icn_arrow-line-right_01.svg) center/contain no-repeat;
}
.c-button-arrow-line--reverse {
  grid-template-columns: auto 1fr;
}
.c-button-arrow-line--reverse > .txt {
  grid-column: 2;
  text-align: center;
}
.c-button-arrow-line--reverse::after {
  grid-area: 1/1;
  scale: -1 1;
}

.c-button-term {
  font-weight: 700;
  line-height: 1.5;
  display: grid;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr auto;
  width: 100%;
  padding: 0.615em 0.71875em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-align: left;
  text-decoration: none;
  -webkit-column-gap: 0.375em;
     -moz-column-gap: 0.375em;
          column-gap: 0.375em;
  color: var(--color-base);
  border: none;
  border-radius: 0.275em;
  background-color: var(--color-main-light);
}
.c-button-term:where(:not(:disabled)) {
  cursor: pointer;
}
.c-button-term:where(:not(:disabled)):focus-visible {
  color: var(--color-white);
  background-color: var(--color-main);
}
@media (any-hover: hover) {
  .c-button-term:where(:not(:disabled)):hover {
    color: var(--color-white);
    background-color: var(--color-main);
  }
}
.c-button-term > .text {
  -webkit-line-clamp: 1;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  width: 100%;
}
.c-button-term::after {
  display: block;
  height: max(10px, 0.65em);
  aspect-ratio: 8.54/13.85;
  -webkit-margin-start: 0.34375em;
          margin-inline-start: 0.34375em;
  content: "";
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  background: var(--color-main);
  -webkit-mask: url(../images/icn_arrow-chevron-right_01.svg) center/contain no-repeat;
          mask: url(../images/icn_arrow-chevron-right_01.svg) center/contain no-repeat;
}
.c-button-term.is-active, .c-button-term:has(> input:checked) {
  color: var(--color-white);
  background-color: var(--color-main);
}
.c-button-term.is-active::after, .c-button-term:has(> input:checked)::after {
  visibility: hidden;
  opacity: 0;
}
.c-button-term[data-state=option] {
  grid-template-columns: minmax(0, 1fr);
  border-radius: 0;
}
.c-button-term[data-state=option]:not(:focus-visible, :hover) {
  background-color: var(--color-white);
}
.c-button-term[data-state=option]::after {
  content: none;
}
.c-button-term[data-state=option].is-active, .c-button-term[data-state=option]:has(> input:checked) {
  color: var(--color-white);
  background-color: var(--color-main);
}
.c-button-term--accent {
  color: var(--color-accent);
}
.c-button-term--accent:where(:not(:disabled)):focus-visible {
  background-color: var(--color-accent);
}
@media (any-hover: hover) {
  .c-button-term--accent:where(:not(:disabled)):hover {
    background-color: var(--color-accent);
  }
}
.c-button-term--accent::after {
  background: var(--color-accent);
}
.c-button-term--accent.is-active, .c-button-term--accent:has(> input:checked) {
  background-color: var(--color-accent);
}

.c-card-news {
  --_list-row-gap: var(--list-row-gap, 3.75em);
  font-size: clamp(0.75rem, 1vw, clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem));
  position: relative;
  container-type: inline-size;
}
.c-card-news::after {
  display: block;
  content: "";
  width: 100%;
  height: 0px;
  position: absolute;
  bottom: calc(-0.5 * var(--_list-row-gap));
  border-bottom: 1px solid var(--color-gray-light);
}
.c-card-news__link {
  display: block;
  text-decoration: none;
  color: var(--color-base);
}
.c-card-news__content {
  display: grid;
  grid-template-rows: auto 1fr auto;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(8px, 5.5510204082px + 0.6530612245vw, 16px) clamp(5px, 1.25vw, 20px);
  grid-template: "date categories" auto "title title" auto/auto 1fr;
}
@container (width < 400px) {
  .c-card-news__content {
    grid-template: "date " auto "categories" auto "title" auto/minmax(0, 1fr);
  }
}
.c-card-news__categories {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  grid-area: categories;
  list-style: none;
}
.c-card-news__title {
  font-weight: 500;
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: title;
  grid-template-columns: repeat(2, auto);
  -webkit-transition: color 0.3s ease-out;
  transition: color 0.3s ease-out;
  text-wrap: wrap;
}
.c-card-news__link:focus-visible .c-card-news__title {
  color: var(--color-main);
}
@media (any-hover: hover) {
  .c-card-news__link:hover .c-card-news__title {
    color: var(--color-main);
  }
}
.c-card-news__title > .txt {
  line-height: normal;
  -webkit-line-clamp: 1;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
}
.c-card-news__title > .ext {
  font-size: clamp(10px, 0.75vw, 12px);
  line-height: 1.1;
  display: inline-block;
  -webkit-margin-start: 1em;
          margin-inline-start: 1em;
  padding: 0.25em 0.5em;
  content: attr(data-ext);
  vertical-align: middle;
  white-space: nowrap;
  color: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 0.25em;
}
.c-card-news__date {
  line-height: 1;
  grid-area: date;
  color: var(--color-gray);
}

.c-department-l {
  font-size: clamp(0.875rem, 1.25vw, clamp(1rem, 0.9234693878rem + 0.3265306122vw, 1.25rem));
  font-weight: 500;
  line-height: 1.575;
  position: relative;
  display: grid;
  overflow: clip;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  justify-items: center;
  row-gap: 0.25em;
  width: 100%;
  padding: 1.5em 2.25em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-decoration: none;
  color: var(--color-base);
  border-radius: 1em;
  background: var(--color-white);
}
.c-department-l__icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: clamp(3.125rem, 5.375vw, clamp(4.375rem, 4.068877551rem + 1.306122449vw, 5.375rem));
  aspect-ratio: 1;
  margin: 0;
  color: var(--color-main);
}
.c-department-l__icon > svg,
.c-department-l__icon > img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 90%;
  height: 90%;
}
.c-department-l__icon::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  display: block;
  content: "";
  border-radius: 50%;
  background: var(--color-background-dark);
}
.c-department-l.has-details {
  -webkit-box-shadow: 4px 4px 10px rgb(from var(--color-base) r g b/0.3);
          box-shadow: 4px 4px 10px rgb(from var(--color-base) r g b/0.3);
}
.c-department-l.has-details:focus-visible {
  opacity: 0.75;
}
@media (any-hover: hover) {
  .c-department-l.has-details:hover {
    opacity: 0.75;
  }
}
.c-department-l.has-details::before, .c-department-l.has-details::after {
  position: absolute;
  display: block;
  content: "";
  pointer-events: none;
}
.c-department-l.has-details::before {
  z-index: 5;
  inset: 0;
  border: 2px solid var(--color-base);
  border-radius: 1em;
}
.c-department-l.has-details::after {
  z-index: 10;
  right: -0.5px;
  bottom: -0.5px;
  width: 2.25em;
  height: 2em;
  border-top-left-radius: 1em;
  background: url(../images/icn_arrow-line-right_01.svg) center/35% auto no-repeat currentColor;
}

.c-department-s {
  font-size: clamp(0.875rem, 1.25vw, clamp(1rem, 0.9234693878rem + 0.3265306122vw, 1.25rem));
  font-weight: 500;
  line-height: 1.575;
  position: relative;
  display: block;
  overflow: clip;
  width: 100%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-decoration: none;
  color: var(--color-base);
  border-radius: 0.5em;
  background: var(--color-white);
}
.c-department-s__name {
  display: block;
  padding: 1.5em 2.25em;
  border-left: 0.5em solid var(--color-main);
}
.c-department-s.has-details {
  -webkit-box-shadow: 4px 4px 10px rgb(from var(--color-base) r g b/0.3);
          box-shadow: 4px 4px 10px rgb(from var(--color-base) r g b/0.3);
}
.c-department-s.has-details:focus-visible {
  opacity: 0.75;
}
@media (any-hover: hover) {
  .c-department-s.has-details:hover {
    opacity: 0.75;
  }
}
.c-department-s.has-details::before, .c-department-s.has-details::after {
  position: absolute;
  display: block;
  content: "";
  pointer-events: none;
}
.c-department-s.has-details::before {
  z-index: 5;
  inset: 0;
  border: 2px solid var(--color-base);
  border-radius: 0.5em;
}
.c-department-s.has-details::after {
  z-index: 10;
  right: -0.5px;
  bottom: -0.5px;
  width: 2.25em;
  height: 2em;
  border-top-left-radius: 1em;
  background: url(../images/icn_arrow-line-right_01.svg) center/35% auto no-repeat currentColor;
}

.c-gooey {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
  -webkit-filter: url("#gooey-effect");
          filter: url("#gooey-effect");
}
.c-gooey__obj {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  margin: auto;
}
.c-gooey__obj-inner {
  position: absolute;
  inset: 0;
  width: 50%;
  height: 50%;
  margin: auto;
  -webkit-animation: gooeyRotateAnim var(--duration) cubic-bezier(0.86, 0, 0.07, 1) infinite;
          animation: gooeyRotateAnim var(--duration) cubic-bezier(0.86, 0, 0.07, 1) infinite;
}
.c-gooey__obj-inner::before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: 2s cubic-bezier(0.45, 0.05, 0.55, 0.95);
  transition: 2s cubic-bezier(0.45, 0.05, 0.55, 0.95);
  -webkit-transition-property: width, height, background, left, top, right, bottom, -webkit-transform;
  transition-property: width, height, background, left, top, right, bottom, -webkit-transform;
  transition-property: width, height, background, left, top, right, bottom, transform;
  transition-property: width, height, background, left, top, right, bottom, transform, -webkit-transform;
  border-radius: 50%;
  background-color: currentColor;
}
.c-gooey__obj:nth-child(1) .c-gooey__obj-inner {
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
}
.c-gooey__obj:nth-child(1) .c-gooey__obj-inner::before {
  width: 100%;
  height: 97.5%;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}
.c-gooey__obj:nth-child(2) .c-gooey__obj-inner::before {
  top: var(--t);
  left: var(--l);
  width: calc(var(--size) * 1);
  height: calc(var(--size) * 1);
}
.c-gooey__obj:nth-child(3) .c-gooey__obj-inner::before {
  top: var(--t);
  left: var(--l);
  width: calc(var(--size) * 3);
  height: calc(var(--size) * 3);
}
@-webkit-keyframes gooeyRotateAnim {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes gooeyRotateAnim {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

.c-heading-motif {
  display: grid;
  justify-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-heading-motif > .en {
  font-size: clamp(0.625rem, 0.875vw, clamp(0.75rem, 0.7117346939rem + 0.1632653061vw, 0.875rem));
  color: var(--color-gray);
}
.c-heading-motif > .ja {
  font-size: clamp(1.125rem, 2.25vw, clamp(1.5rem, 1.2704081633rem + 0.9795918367vw, 2.25rem));
  font-weight: 500;
  line-height: normal;
  -webkit-margin-before: 0.27em;
          margin-block-start: 0.27em;
}
.c-heading-motif > .motif {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(36px, 3.125vw, 50px);
  aspect-ratio: 1;
}
.c-heading-motif > .motif > .motif-gooey {
  position: relative;
  z-index: 5;
  grid-area: 1/1;
  width: 50px;
  height: 50px;
  color: var(--color-main-light);
}
.c-heading-motif > .motif > .motif-icon {
  position: relative;
  z-index: 10;
  place-self: center;
  grid-area: 1/1;
  width: 66%;
  aspect-ratio: 1;
  color: var(--color-gray);
}

.c-heading-bar {
  font-size: clamp(1.125rem, 1.75vw, clamp(1.5rem, 1.4234693878rem + 0.3265306122vw, 1.75rem));
  font-weight: 500;
  color: var(--color-base);
  line-height: normal;
  width: 100%;
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr);
  grid-template-areas: "bar .";
  -webkit-column-gap: 0.54em;
     -moz-column-gap: 0.54em;
          column-gap: 0.54em;
}
.c-heading-bar::after {
  display: block;
  grid-area: bar;
  width: 100%;
  height: 100%;
  content: "";
  border-radius: 2px;
  background-color: var(--color-main);
}

.c-loading-indicator {
  position: absolute;
  z-index: 100;
  inset: 0;
  visibility: hidden;
  contain: layout;
  -webkit-padding-before: 2em;
          padding-block-start: 2em;
  -webkit-transition: opacity 0.75s ease-out, visibility 0.75s ease-out, max-height 0.2s ease 0.3s, display 0.75s ease-out allow-discrete;
  transition: opacity 0.75s ease-out, visibility 0.75s ease-out, max-height 0.2s ease 0.3s, display 0.75s ease-out allow-discrete;
  opacity: 0;
  background-color: rgb(from var(--color-white) r g b/0.75);
}
.c-loading-indicator.is-loading {
  display: block;
  visibility: visible;
  max-height: var(--indicator-height);
  -webkit-transition: opacity 0.75s ease-out, max-height 0.2s ease, display 0.75s ease-out allow-discrete;
  transition: opacity 0.75s ease-out, max-height 0.2s ease, display 0.75s ease-out allow-discrete;
  opacity: 1;
}
@starting-style {
  .c-loading-indicator.is-loading {
    max-height: 0;
    opacity: 0;
  }
}
.c-loading-indicator .loader {
  --_m: conic-gradient(#0000 10%, #000000), linear-gradient(#000000 0 0) content-box;
  width: 50px;
  aspect-ratio: 1;
  margin-inline: auto;
  padding: 8px;
  will-change: transform;
  -webkit-animation: --spinner 1s infinite linear;
          animation: --spinner 1s infinite linear;
  text-indent: -9999em;
  border-radius: 50%;
  background: var(--color-main);
  -webkit-mask: var(--_m);
          mask: var(--_m);
  -webkit-mask-composite: source-out;
          mask-composite: subtract;
}
@-webkit-keyframes --spinner {
  to {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn);
  }
}
@keyframes --spinner {
  to {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn);
  }
}

.c-notice {
  display: block;
  overflow: clip;
  container-type: inline-size;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-decoration: none;
  color: var(--color-accent);
  border: 2px solid var(--color-accent);
  border-radius: 0.5em;
  background-color: var(--color-accent-light);
}
.c-notice:focus-visible {
  opacity: 0.65;
}
@media (any-hover: hover) {
  .c-notice:hover {
    opacity: 0.65;
  }
}
.c-notice__inner {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.75em 0.5em;
  padding-block: 1.875em;
  padding-inline: 3.4375em 2.5em;
}
.c-notice__inner::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 2.1875em;
  height: 100%;
  content: "";
  background: var(--color-accent);
}
@container (width < 450px) {
  .c-notice__inner {
    padding-inline: 1em;
  }
  .c-notice__inner::before {
    content: none;
  }
}
.c-notice__head {
  font-size: 1.25em;
  font-weight: 700;
  line-height: 1.5;
  display: grid;
  grid-column: span 2;
  grid-template-columns: subgrid;
}
.c-notice__icon {
  display: block;
  width: 1lh;
  aspect-ratio: 1;
  margin: 0;
}
@container (width < 450px) {
  .c-notice__icon {
    width: 1em;
    -webkit-margin-before: calc(0.5lh - 0.5em);
            margin-block-start: calc(0.5lh - 0.5em);
  }
}
.c-notice__icon > img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.c-notice__title {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.c-notice__title > .ext {
  font-size: clamp(10px, 0.75vw, 12px);
  line-height: 1;
  display: inline-block;
  -webkit-margin-after: 0.35em;
          margin-block-end: 0.35em;
  -webkit-margin-start: 1em;
          margin-inline-start: 1em;
  padding: 0.25em 0.5em;
  content: attr(data-ext);
  vertical-align: middle;
  white-space: nowrap;
  border: 1px solid var(--color-accent);
  border-radius: 0.25em;
}
.c-notice__body {
  grid-column: 2;
}
@container (width < 450px) {
  .c-notice__body {
    grid-column: span 2;
  }
}
.c-notice__content {
  font-weight: 500;
  color: var(--color-base);
}

.c-pagination {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-pagination__cards {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
     -moz-column-gap: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
          column-gap: clamp(0.875rem, 0.8367346939rem + 0.1632653061vw, 1rem);
}
.c-pagination__card {
  --pagination-card-font-size: clamp(10px, 0.875vw, clamp(12px, 11.387755102px + 0.1632653061vw, 14px));
  --pagination-card-width: clamp(24px, 2vw, clamp(24px, 21.5510204082px + 0.6530612245vw, 32px));
  --pagination-card-ratio: 1;
  font-size: var(--pagination-card-font-size);
  font-weight: 500;
  line-height: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: var(--pagination-card-width);
  height: calc(var(--pagination-card-width) / var(--pagination-card-ratio));
  padding: 0.25em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-decoration: none;
  color: var(--color-base);
  border: 1px solid var(--color-base);
  border-radius: 50%;
  background-color: var(--color-white);
}
.c-pagination__card:focus-visible {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  background-color: color-mix(in srgb, var(--color-base) 30%, var(--color-white) 70%);
}
@media (any-hover: hover) {
  .c-pagination__card:hover {
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    background-color: color-mix(in srgb, var(--color-base) 30%, var(--color-white) 70%);
  }
}
.c-pagination__card.is-active {
  pointer-events: none;
  color: var(--color-white);
  border-color: var(--color-base);
  background-color: var(--color-base);
}
.c-pagination__dot {
  font-size: 1em;
  font-weight: 500;
  color: var(--color-base);
}

.c-table-hours {
  width: 100%;
  border-radius: 0.5em;
  border-spacing: 0;
  border: 1px solid var(--color-main);
  overflow: clip;
  background: var(--color-white);
  font-size: clamp(10px, 3.2vw, 16px);
}
.c-table-hours th,
.c-table-hours td {
  padding: 0.3125em 0.625em;
  white-space: nowrap;
  width: 1em;
  text-align: center;
  font-weight: 500;
}
.c-table-hours thead th {
  background: var(--color-main);
  color: var(--color-white);
  padding-block: 0.625em;
  font-weight: 700;
}
.c-table-hours thead th:first-child {
  border-right: 1px solid #ebebeb;
}
.c-table-hours tbody th {
  border-right: 1px solid #ebebeb;
  font-size: min(1.125rem, 1.125em);
}

.c-term {
  font-size: 1em;
  line-height: normal;
  font-weight: 500;
  color: var(--color-white);
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.15625em 0.5em;
  border-radius: 0.1875em;
  background-color: var(--color-main);
}
.c-term--accent {
  background-color: var(--color-accent);
}

.l-header {
  --header-pd-block: clamp(5px, 0.625vw, 10px);
  position: fixed;
  z-index: 9999;
  top: 0;
  width: 100%;
  height: auto;
}
.l-header__inner {
  width: 100%;
  height: 100%;
  min-height: calc(var(--header-min-height, 0) - var(--header-pd-block) * 2);
}
.l-header__content {
  position: relative;
  z-index: 9999;
  display: grid;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template: "logo . menu"/auto minmax(0, 1fr) auto;
  width: 100%;
  height: 100%;
  padding: var(--header-pd-block) var(--header-gutter, 80px);
  -webkit-column-gap: clamp(5px, -0.8163265306px + 1.5510204082vw, 24px);
     -moz-column-gap: clamp(5px, -0.8163265306px + 1.5510204082vw, 24px);
          column-gap: clamp(5px, -0.8163265306px + 1.5510204082vw, 24px);
  background: var(--color-background);
}
.l-header__logo {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: logo;
  grid-template-columns: -webkit-max-content -webkit-max-content;
  grid-template-columns: max-content max-content;
  -webkit-column-gap: clamp(10px, 1.25vw, 20px);
     -moz-column-gap: clamp(10px, 1.25vw, 20px);
          column-gap: clamp(10px, 1.25vw, 20px);
}
.l-header__logo-link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  max-width: clamp(min(15.625vw, 64px), 6.5vw, 104px);
  height: 100%;
  min-height: clamp(28px, 21.8775510204px + 1.6326530612vw, 48px);
}
.l-header__logo-link > img {
  -o-object-fit: contain;
     object-fit: contain;
  height: 100%;
}
.l-header__logo-typo {
  font-size: clamp(10px, 3.2vw, clamp(12px, 8.9764521193px + 0.3139717425vw, 14px));
  font-weight: 500;
  line-height: normal;
  display: grid;
  row-gap: 0.2em;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.l-header__logo-typo-corporation {
  color: var(--color-gray);
}
.l-header__logo-typo-clinic {
  font-size: clamp(12px, 3.4666666667vw, clamp(13px, 9.8181818182px + 0.6363636364vw, 20px));
  font-weight: 600;
}
.l-header__menus {
  font-size: clamp(0.875rem, 0.7596153846rem + 0.2403846154vw, 1rem);
  display: grid;
  justify-items: end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: menu;
  row-gap: 10px;
  height: 100%;
}
@media screen and (width <= 963px) {
  .l-header__menus {
    display: none;
  }
}
.l-header__buttons {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(5px, 0.625vw, 10px);
     -moz-column-gap: clamp(5px, 0.625vw, 10px);
          column-gap: clamp(5px, 0.625vw, 10px);
}
.l-header__button {
  font-weight: 700;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-columns: auto;
  height: 100%;
  padding: 0.355em 1.4375em 0.395em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-decoration: none;
  -webkit-column-gap: 0.375em;
     -moz-column-gap: 0.375em;
          column-gap: 0.375em;
  color: var(--color-white);
  border-radius: 0.375em;
  background-color: var(--color-base);
}
.l-header__button:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-header__button:hover {
    opacity: 0.8;
  }
}
.l-header__button:has(> .icon) {
  grid-template-columns: repeat(2, auto);
}
.l-header__button[data-color=clinic-dark] {
  background-color: var(--color-main-dark);
}
.l-header__button[data-color=clinic] {
  background-color: var(--color-main);
}
.l-header__button > .icon {
  height: 1lh;
}
.l-header__menu {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
.l-header__menu-list, .l-header__submenu {
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-header__menu-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em clamp(16px, 2.8125vw, 40px);
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
}
.l-header__submenu {
  position: absolute;
  z-index: 100;
  top: 100%;
  right: max(50% - 5em, var(--header-gutter, 80px) * -1);
  display: grid;
  visibility: hidden;
  row-gap: 0.85em;
  width: 10em;
  padding: 1em 1em 0.5em;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: scale(1, 0);
          transform: scale(1, 0);
  -webkit-transform-origin: top;
          transform-origin: top;
  opacity: 0;
  border-radius: 0 0 0.5em 0.5em;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.5em, transparent), color-stop(0.5em, var(--color-white)), to(var(--color-white)));
  background: -webkit-linear-gradient(top, transparent, transparent 0.5em, var(--color-white) 0.5em, var(--color-white));
  background: linear-gradient(to bottom, transparent, transparent 0.5em, var(--color-white) 0.5em, var(--color-white));
}
.l-header__menu-item {
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
.l-header__menu-item:nth-child(5n) {
  -webkit-margin-end: 0;
          margin-inline-end: 0;
}
.l-header__menu-item:focus-visible > .l-header__submenu {
  visibility: visible;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  opacity: 1;
}
@media (any-hover: hover) {
  .l-header__menu-item:hover > .l-header__submenu {
    visibility: visible;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    opacity: 1;
  }
}
.l-header__menu-link, .l-header__submenu-link {
  font-weight: 500;
  display: block;
  text-decoration: none;
  color: var(--color-base);
}
.l-header__menu-link:focus-visible, .l-header__submenu-link:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-header__menu-link:hover, .l-header__submenu-link:hover {
    opacity: 0.8;
  }
}
.l-header__menu-link {
  font-weight: 700;
}
.l-header__submenu-link {
  font-size: max(12.5px, 0.875em);
}
.l-header__nav-toggle {
  --btn-size: min(var(--header-height, 0) - var(--header-pd-block) * 2, 45px);
  position: relative;
  display: none;
  justify-items: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: menu;
  grid-template-columns: auto;
  height: var(--btn-size);
  width: var(--btn-size);
}
@media screen and (width <= 963px) {
  .l-header__nav-toggle {
    display: grid;
  }
}
.l-header__nav-toggle:focus-visible::after {
  visibility: visible;
  opacity: 1;
}
@media (any-hover: hover) {
  .l-header__nav-toggle:hover::after {
    visibility: visible;
    opacity: 1;
  }
}
.l-header__nav-toggle:focus-visible {
  border: none;
  outline: 1px solid var(--color-base);
}
.l-header__nav-toggle::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  visibility: hidden;
  content: "";
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  pointer-events: none;
  opacity: 0;
  background-color: rgb(from var(--color-base) r g b/0.15);
}
.l-header__nav-toggle-symbol {
  position: relative;
  z-index: 2;
  width: 36px;
  height: 20px;
}
.l-header__nav-toggle-bar {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  translate: 0 -50%;
  border-bottom: 2px solid var(--color-base);
}
.l-header__nav-toggle-bar.-top {
  top: 0;
}
.l-header__nav-toggle.is-active .l-header__nav-toggle-bar.-top {
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: 45deg;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}
.l-header__nav-toggle-bar.-middle {
  top: 50%;
}
.l-header__nav-toggle.is-active .l-header__nav-toggle-bar.-middle {
  opacity: 0;
}
.l-header__nav-toggle-bar.-bottom {
  top: 100%;
}
.l-header__nav-toggle.is-active .l-header__nav-toggle-bar.-bottom {
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  rotate: -45deg;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
}

.l-footer {
  --curve-height: clamp(40px, 27.7551020408px + 3.2653061224vw, 80px);
  --footer-pd-top: clamp(20px, -10.612244898px + 8.1632653061vw, 120px);
  -webkit-margin-before: var(--contents-spacer, 100px);
          margin-block-start: var(--contents-spacer, 100px);
  padding-block: var(--footer-pd-top) 1.875em;
  padding-inline: var(--footer-gutter, 80px);
  background: var(--color-main-light);
}
@supports ((-webkit-clip-path: shape(from 0 0, line to 100% 0)) or (clip-path: shape(from 0 0, line to 100% 0))) {
  .l-footer {
    -webkit-clip-path: shape(from 0% 0%, smooth to 50% calc(var(--curve-height) * 0.5) with 25% var(--curve-height), smooth to 100% calc(var(--curve-height) * 0.5) with 75% 0%, line to 100% 100%, line to 0% 100%, close);
            clip-path: shape(from 0% 0%, smooth to 50% calc(var(--curve-height) * 0.5) with 25% var(--curve-height), smooth to 100% calc(var(--curve-height) * 0.5) with 75% 0%, line to 100% 100%, line to 0% 100%, close);
    -webkit-padding-before: calc(var(--footer-pd-top) + var(--curve-height));
            padding-block-start: calc(var(--footer-pd-top) + var(--curve-height));
  }
}
@media screen and (width <= 963px) {
  .l-footer {
    -webkit-padding-after: calc(1.875em + var(--sp-fixed-menu-height, 0px));
            padding-block-end: calc(1.875em + var(--sp-fixed-menu-height, 0px));
  }
}
.l-footer__inner {
  display: grid;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template: "name map" auto "buttons map" auto "clinic-hours map" auto "sns map" auto ". map" 1fr "banners banners" auto "menu menu" auto "copyright copyright" auto/1fr 1fr;
  width: min(100%, 1100px);
  margin-inline: auto;
  -webkit-column-gap: clamp(50px, 3.8461538462px + 6.0096153846vw, 100px);
     -moz-column-gap: clamp(50px, 3.8461538462px + 6.0096153846vw, 100px);
          column-gap: clamp(50px, 3.8461538462px + 6.0096153846vw, 100px);
}
@media screen and (width <= 963px) {
  .l-footer__inner {
    grid-template: "name" auto "buttons" auto "clinic-hours" auto "map" auto "banners" auto "sns" auto "menu" auto "copyright" auto/minmax(0, 1fr);
  }
}
.l-footer__name {
  font-size: clamp(1.5rem, 0.25rem + 2vw, 2.25rem);
  font-weight: 500;
  line-height: normal;
  display: grid;
  grid-area: name;
  row-gap: 0.1em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width <= 768px) {
  .l-footer__name {
    font-size: min(6.4vw, 1.5rem);
  }
}
.l-footer__name-corporation {
  font-size: min(3.2vw, 0.65em);
  color: var(--color-gray);
}
.l-footer__name-clinic {
  font-weight: 600;
  color: var(--color-main);
}
.l-footer__buttons {
  font-size: clamp(0.875rem, 4.2666666667vw, 1.25rem);
  display: grid;
  grid-area: buttons;
  grid-template-columns: repeat(2, auto);
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 0.5em 0.75em;
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}
.l-footer__clinic-hours {
  display: grid;
  grid-area: clinic-hours;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 1em;
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}
.l-footer__clinic-hours-table-wrapper {
  overflow-x: auto;
  width: 100%;
}
.l-footer__clinic-hours-table {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: min(100%, 410px);
  max-width: 90%;
}
@media screen and (width <= 576px) {
  .l-footer__clinic-hours-table {
    width: 100%;
  }
}
.l-footer__clinic-hours-note {
  font-size: clamp(0.625rem, 0.5625rem + 0.3125vw, 0.875rem);
  font-weight: 500;
  display: grid;
  row-gap: 0.25em;
}
.l-footer__sns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: sns;
  gap: 5px clamp(10px, 1.25vw, 20px);
  -webkit-margin-before: 1.25em;
          margin-block-start: 1.25em;
}
@media screen and (width <= 963px) {
  .l-footer__sns {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.l-footer__sns-link {
  width: clamp(30px, 26.9387755102px + 0.8163265306vw, 40px);
  aspect-ratio: 1;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.l-footer__sns-link:focus-visible {
  opacity: 0.65;
}
@media (any-hover: hover) {
  .l-footer__sns-link:hover {
    opacity: 0.65;
  }
}
.l-footer__sns-link > img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.l-footer__map {
  display: grid;
  grid-area: map;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 20px;
}
@media screen and (width <= 963px) {
  .l-footer__map {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}
.l-footer__map-embed {
  width: min(550px, 100%);
  aspect-ratio: 4/3;
}
.l-footer__map-address {
  font-weight: 500;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
}
.l-footer__map-address > .icon {
  width: 1lh;
  aspect-ratio: 1;
  -webkit-margin-before: calc(0.5lh - 0.5em);
          margin-block-start: calc(0.5lh - 0.5em);
  color: var(--color-main);
}
.l-footer__banners {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-area: banners;
  grid-template-columns: repeat(auto-fit, minmax(min(315px, 100%), 320px));
  gap: 1.25em clamp(0px, 5.625vw, 90px);
  width: 100%;
  -webkit-margin-before: 80px;
          margin-block-start: 80px;
  padding-block: 2.5em;
  border-block: 1px solid var(--color-gray-light);
}
@media screen and (width <= 963px) {
  .l-footer__banners {
    -webkit-margin-before: 60px;
            margin-block-start: 60px;
  }
}
.l-footer__banner {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.l-footer__banner > img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: top;
     object-position: top;
  width: 100%;
  height: 100%;
}
.l-footer__banner:focus-visible {
  opacity: 0.85;
}
@media (any-hover: hover) {
  .l-footer__banner:hover {
    opacity: 0.85;
  }
}
.l-footer__menu {
  grid-area: menu;
  width: min(100%, 740px);
  -webkit-margin-before: 80px;
          margin-block-start: 80px;
  margin-inline: auto;
}
@media screen and (width <= 963px) {
  .l-footer__menu {
    -webkit-margin-before: 30px;
            margin-block-start: 30px;
  }
}
.l-footer__menu-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25em clamp(10px, 4.2666666667vw, 40px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-footer__menu-link {
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  color: var(--color-base);
}
.l-footer__menu-link:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-footer__menu-link:hover {
    opacity: 0.8;
  }
}
.l-footer__menu-link[target=_blank]::after {
  display: block;
  height: max(10px, 0.8125em);
  aspect-ratio: 1;
  -webkit-margin-start: 0.25em;
          margin-inline-start: 0.25em;
  content: "";
  background: var(--color-main);
  -webkit-mask: url(../images/icn_blank-link_01.svg) center/contain no-repeat;
          mask: url(../images/icn_blank-link_01.svg) center/contain no-repeat;
}
.l-footer__copyright {
  font-size: clamp(10px, 0.75vw, 12px);
  grid-area: copyright;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-margin-before: 60px;
          margin-block-start: 60px;
  margin-inline: auto;
  color: #939393;
}
@media screen and (width <= 963px) {
  .l-footer__copyright {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}

.l-sp-navigation-menu {
  position: fixed;
  z-index: 9000;
  top: 0px;
  right: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  -webkit-box-pack: end;
  -webkit-justify-content: end;
      -ms-flex-pack: end;
          justify-content: end;
  width: 100%;
  height: 100dvh;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
  translate: 100% 0;
  pointer-events: auto;
  opacity: 0;
}
.l-sp-navigation-menu.is-active {
  visibility: visible;
  translate: 0 0;
  opacity: 1;
}
.l-sp-navigation-menu__main {
  overflow: auto;
  -ms-overflow-style: none;
  width: 100%;
  min-height: 100%;
  padding-block: calc(var(--header-height, 0px) + 40px) 56px;
  padding-inline: var(--gutter, 0);
  background: var(--color-background);
}
@media screen and (width <= 768px) {
  .l-sp-navigation-menu__main {
    -webkit-padding-after: 24px;
            padding-block-end: 24px;
  }
}
.l-sp-navigation-menu__main::-webkit-scrollbar {
  display: none;
}
.l-sp-navigation-menu__nav {
  display: grid;
  row-gap: 1.875em;
}
.l-sp-navigation-menu__menu-list {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-sp-navigation-menu__menu-list--page {
  row-gap: 1.4285em;
}
.l-sp-navigation-menu__menu-list--outer {
  row-gap: 1em;
}
.l-sp-navigation-menu__menu-item {
  width: 100%;
}
.l-sp-navigation-menu__menu-link {
  font-weight: 700;
  text-decoration: none;
  color: var(--color-base);
}
.l-sp-navigation-menu__menu-link:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .l-sp-navigation-menu__menu-link:hover {
    opacity: 0.8;
  }
}
.l-sp-navigation-menu__menu-link.-page {
  font-size: clamp(14px, 4.2666666667vw, 16px);
  display: grid;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr auto;
  -webkit-padding-after: 0.625em;
          padding-block-end: 0.625em;
  border-bottom: 1px solid var(--color-gray-light);
}
.l-sp-navigation-menu__menu-link.-page::after {
  display: block;
  height: max(10px, 1em);
  aspect-ratio: 8.54/13.85;
  margin-inline: 0.34375em 1.15em;
  content: "";
  background: var(--color-main);
  -webkit-mask: url(../images/icn_arrow-chevron-right_01.svg) center/contain no-repeat;
          mask: url(../images/icn_arrow-chevron-right_01.svg) center/contain no-repeat;
}
.l-sp-navigation-menu__menu-link.-page.-summary {
  border-bottom: none;
}
.l-sp-navigation-menu__menu-link.-page.-summary::after {
  content: none;
}
.l-sp-navigation-menu__menu-link[target=_blank] > .txt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-sp-navigation-menu__menu-link[target=_blank] > .txt::after {
  display: block;
  height: max(10px, 0.8125em);
  aspect-ratio: 1;
  -webkit-margin-start: 0.25em;
          margin-inline-start: 0.25em;
  content: "";
  background: var(--color-main);
  -webkit-mask: url(../images/icn_blank-link_01.svg) center/contain no-repeat;
          mask: url(../images/icn_blank-link_01.svg) center/contain no-repeat;
}
.l-sp-navigation-menu__menu-item-summary {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr auto;
  border-bottom: 1px solid var(--color-gray-light);
}
.l-sp-navigation-menu__menu-item-summary-toggle {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-areas: "icon";
  height: 100%;
  padding: 0.5em 1.15em 1.125em;
  cursor: pointer;
  border: none;
  background-color: transparent;
}
.l-sp-navigation-menu__menu-item-summary-toggle::before, .l-sp-navigation-menu__menu-item-summary-toggle::after {
  display: block;
  align-self: center;
  grid-area: icon;
  width: 1.2em;
  content: "";
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  border-bottom: 3px solid var(--color-main);
}
.l-sp-navigation-menu__menu-item-summary-toggle::after {
  rotate: 90deg;
}
.l-sp-navigation-menu__menu-item-summary-toggle[aria-expanded=true]::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.l-sp-navigation-menu__menu-item-summary-toggle[aria-expanded=true]::after {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  opacity: 0;
}
.l-sp-navigation-menu__menu-item-details {
  display: grid;
  visibility: hidden;
  grid-template-rows: 0fr;
  will-change: grid-template-rows;
  -webkit-transition: grid-template-rows 0.5s ease, visibility 0.5s ease;
  transition: grid-template-rows 0.5s ease, visibility 0.5s ease;
  transition: grid-template-rows 0.5s ease, visibility 0.5s ease, -ms-grid-rows 0.5s ease;
}
.is-initialized.is-disabled > .l-sp-navigation-menu__menu-item-details, .is-initialized:not(.is-disabled).is-open > .l-sp-navigation-menu__menu-item-details {
  visibility: visible;
  grid-template-rows: 1fr;
}
.l-sp-navigation-menu__submenu-wrapper {
  overflow: hidden;
}
.l-sp-navigation-menu__submenu {
  overflow: hidden;
  margin: 0;
  padding: 0;
  padding: 0.25em 0.5em;
  list-style: none;
}
.l-sp-navigation-menu__submenu-item {
  width: 100%;
}
.l-sp-navigation-menu__submenu-link {
  font-weight: 700;
  display: block;
  padding-block: 0.5em;
  text-decoration: none;
  color: var(--color-base);
}

.l-fixed-sns-menu {
  position: fixed;
  z-index: 9500;
  top: calc(var(--header-height, 100px) + clamp(10px, 1.875vw, 30px));
  right: 0;
  display: grid;
  visibility: visible;
  row-gap: clamp(10px, 1vw, 16px);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: clamp(10px, 1.25vw, 20px) 5px;
  opacity: 1;
  border-radius: clamp(10px, 1.25vw, 20px) 0 0 clamp(10px, 1.25vw, 20px);
  background-color: var(--color-white);
  -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);
}
@media screen and (width <= 963px) {
  .l-fixed-sns-menu {
    visibility: hidden;
    opacity: 0;
  }
}
.l-fixed-sns-menu__text {
  font-size: clamp(10px, 0.75vw, 12px);
  font-weight: 700;
  line-height: normal;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}
.l-fixed-sns-menu__items {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: clamp(10px, 1vw, 16px);
}
.l-fixed-sns-menu__item {
  width: clamp(30px, 26.9387755102px + 0.8163265306vw, 40px);
  aspect-ratio: 1;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.l-fixed-sns-menu__item:focus-visible {
  opacity: 0.65;
}
@media (any-hover: hover) {
  .l-fixed-sns-menu__item:hover {
    opacity: 0.65;
  }
}
.l-fixed-sns-menu__item > img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}

.l-sp-fixed-menu {
  position: fixed;
  z-index: 9500;
  bottom: 0;
  left: 0;
  visibility: hidden;
  width: 100%;
  opacity: 0;
}
@media screen and (width <= 963px) {
  .l-sp-fixed-menu {
    visibility: visible;
    opacity: 1;
  }
}
.l-sp-fixed-menu__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.l-sp-fixed-menu__items:has(> :first-child:last-child) {
  grid-template-columns: minmax(0, 1fr);
}
.l-sp-fixed-menu__item {
  --_background-color: var(--color-base);
  font-size: clamp(14px, 4.8vw, 18px);
  font-weight: 700;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  grid-template-columns: auto;
  height: 100%;
  padding: 0.6em 1.4375em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-decoration: none;
  -webkit-column-gap: 0.375em;
     -moz-column-gap: 0.375em;
          column-gap: 0.375em;
  color: var(--color-white);
  background-color: var(--_background-color);
}
.l-sp-fixed-menu__item:focus-visible {
  background-color: color-mix(in srgb, var(--_background-color) 80%, var(--color-white) 20%);
}
@media (any-hover: hover) {
  .l-sp-fixed-menu__item:hover {
    background-color: color-mix(in srgb, var(--_background-color) 80%, var(--color-white) 20%);
  }
}
.l-sp-fixed-menu__item:has(> .icon) {
  grid-template-columns: repeat(2, auto);
}
.l-sp-fixed-menu__item[data-color=clinic-dark] {
  --_background-color: var(--color-main-dark);
}
.l-sp-fixed-menu__item[data-color=clinic] {
  --_background-color: var(--color-main);
}
.l-sp-fixed-menu__item > .icon {
  height: 1lh;
}

.l-main {
  position: relative;
  width: 100%;
}

.l-page-head {
  --_page-head-gutter: var(--header-gutter, 80px);
  --_hero-image-width: 51.8125vw;
  position: relative;
  overflow-x: clip;
  -webkit-padding-before: var(--header-height, var(--header-min-height, 100px));
          padding-block-start: var(--header-height, var(--header-min-height, 100px));
  padding-inline: var(--_page-head-gutter) 0;
}
@media screen and (width <= 1280px) {
  .l-page-head {
    padding-inline: 0;
  }
}
.l-page-head__inner {
  width: 100%;
}
.l-page-head__content {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template: [hero-top] ". ." 1.25em "breadcrumb ." auto ". ." 1fr "heading heading" auto ". ." 1fr [hero-bottom] ". ." clamp(50px, 5vw, 80px)/[hero-left] calc(100% - 51.8125vw) 1fr [hero-right];
  width: 100%;
}
@media screen and (width <= 1280px) {
  .l-page-head__content {
    grid-template: [hero-top] ". . ." auto [hero-bottom] ". . ." 0.5em ". heading ." auto ". . ." 0.75em ". breadcrumb ." auto ". . ." 40px/[hero-left] var(--_page-head-gutter) minmax(0, 1fr) var(--_page-head-gutter) [hero-right];
  }
}
.l-page-head__motifs {
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: max(600px, 100svh);
}
.l-page-head__motif {
  position: absolute;
  opacity: 0.5;
  fill: var(--color-background-darker);
}
.l-page-head__motif--top {
  top: 0;
  left: 7%;
  width: max(230px, 16.9375vw);
  aspect-ratio: 271/327;
  translate: 0 -10%;
}
@media screen and (width <= 1280px) {
  .l-page-head__motif--top {
    left: 4%;
    translate: 0;
  }
}
@media screen and (width <= 768px) {
  .l-page-head__motif--top {
    top: 20%;
    left: 0;
    width: max(210px, 16.9375vw);
    translate: -10% 0;
  }
}
.l-page-head__motif--bottom {
  right: var(--header-gutter, 80px);
  bottom: 0;
  width: max(200px, 17.375vw);
  aspect-ratio: 278/257;
  translate: 0 40%;
}
@media screen and (width <= 1280px) {
  .l-page-head__motif--bottom {
    right: 0;
    bottom: 0;
    translate: 15% 0;
  }
}
.l-page-head__motif-circle {
  position: absolute;
  z-index: -2;
  aspect-ratio: 1;
  -webkit-animation: rotateAnimation 25s linear infinite;
          animation: rotateAnimation 25s linear infinite;
  color: var(--color-background-light);
}
.l-page-head__motif-circle > .circle {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.l-page-head__motif-circle--01 {
  top: 25%;
  left: 0;
  width: max(120px, 13.125vw);
  translate: -10% 0;
}
@media screen and (width <= 768px) {
  .l-page-head__motif-circle--01 {
    top: 45%;
    translate: -20% 0;
  }
}
.l-page-head__motif-circle--02 {
  bottom: 0;
  left: 7%;
  width: max(100px, 12.5vw);
  translate: -10% 50%;
}
@media screen and (width <= 768px) {
  .l-page-head__motif-circle--02 {
    left: 4%;
    translate: 0 0;
  }
}
.l-page-head__motif-circle--03 {
  top: var(--header-height, 0px);
  left: 50%;
  width: max(100px, 11.25vw);
  translate: 0 -5%;
}
.l-page-head__motif-circle--04 {
  top: 50%;
  left: 50%;
  width: max(100px, 10.625vw);
  translate: 50% 50%;
}
@media screen and (width <= 768px) {
  .l-page-head__motif-circle--04 {
    top: 40%;
    left: 100%;
    translate: -50% -50%;
  }
}
.l-page-head__motif-circle--05 {
  right: 0;
  bottom: -3%;
  width: max(120px, 12.5vw);
  translate: 10% 0;
}
@media screen and (width <= 768px) {
  .l-page-head__motif-circle--05 {
    bottom: 15%;
    translate: 35% 0;
  }
}
.l-page-head__hero {
  -webkit-clip-path: url(#pageHeadHeroClip);
          clip-path: url(#pageHeadHeroClip);
  justify-self: end;
  align-self: start;
  grid-area: hero-top/hero-left/hero-bottom/hero-right;
  width: var(--_hero-image-width);
  aspect-ratio: 913/451;
  background-color: color-mix(in srgb, var(--color-background-darker) 80%, var(--color-white) 20%);
}
@media screen and (width <= 768px) {
  .l-page-head__hero {
    justify-self: center;
    width: 110%;
  }
}
.l-page-head__hero > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.l-page-head__title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(24px, 3.125vw, clamp(30px, 23.8775510204px + 1.6326530612vw, 50px));
  font-weight: 700;
  line-height: normal;
  grid-area: heading;
  width: calc(100% - var(--_hero-image-width));
  -webkit-padding-start: calc(var(--gutter) - var(--_page-head-gutter));
          padding-inline-start: calc(var(--gutter) - var(--_page-head-gutter));
}
@media screen and (width <= 1280px) {
  .l-page-head__title {
    width: 100%;
    -webkit-padding-start: 0;
            padding-inline-start: 0;
  }
}
.l-page-head__breadcrumb {
  grid-area: breadcrumb;
}
@media screen and (width <= 1280px) {
  .l-page-head__breadcrumb {
    justify-self: end;
  }
}

.l-page-content {
  width: 100%;
  padding-inline: var(--gutter, 0px);
}
.l-page-content__inner {
  width: min(100%, 1200px);
  margin-inline: auto;
}
.l-page-content__inner :where(h1[class*=wp-block-heading]) {
  margin: 0.67em 0;
}
.l-page-content__inner :where(h2[class*=wp-block-heading]) {
  font-size: 1.5em;
  margin-block: 0.83em;
  margin-inline: 0;
  font-weight: 700;
}
.l-page-content__inner :where(h3[class*=wp-block-heading]) {
  font-size: 1.17em;
  margin-block: 1em;
  margin-inline: 0;
  font-weight: 700;
}
.l-page-content__inner :where(h4[class*=wp-block-heading]) {
  margin-block: 1.33em 0;
  margin-inline: 0;
  font-weight: 700;
}
.l-page-content__inner :where(p:not([class])) {
  margin-block: 1em;
  margin-inline: 0;
}
.l-page-content__inner a:not([class]) {
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  color: #0073aa; /* WordPressのデフォルトリンクカラー */
}
.l-page-content__inner .wp-block-image {
  margin: 1em 0;
}
.l-page-content__inner .wp-block-embed iframe {
  display: block;
}
.l-page-content__inner .wp-block-embed.aligncenter iframe {
  margin-inline: auto;
}
.l-page-content__button {
  width: min(100%, 200px);
  margin-top: 50px;
  margin-inline: auto;
}
@media screen and (width <= 768px) {
  .l-page-content__button {
    margin-top: 40px;
  }
}

.l-section {
  width: 100%;
  padding-inline: var(--gutter, 0px);
}
.l-section__inner {
  width: min(100%, 1200px);
  margin-inline: auto;
}

.l-single-news__inner {
  padding: min(3.75em, var(--gutter, 80px)) min(1.875em, var(--gutter, 80px) * 0.5);
  border-radius: 0.75em;
  background-color: var(--color-white);
}
.l-single-news__head {
  display: grid;
  row-gap: 1.375em;
  -webkit-padding-after: 2.0625em;
          padding-block-end: 2.0625em;
  border-bottom: 1px solid var(--color-gray-light);
}
.l-single-news__meta {
  display: grid;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: auto 1fr;
  gap: clamp(8px, 5.5510204082px + 0.6530612245vw, 16px) clamp(5px, 1.25vw, 20px);
}
.l-single-news__categories {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.l-single-news__date {
  line-height: 1;
  color: var(--color-gray);
}
.l-single-news__body {
  -webkit-padding-before: 2.0625em;
          padding-block-start: 2.0625em;
}
.l-single-news__content :where(h1[class*=wp-block-heading]) {
  margin: 0.67em 0;
}
.l-single-news__content :where(h2[class*=wp-block-heading]) {
  font-size: 1.5em;
  margin-block: 0.83em;
  margin-inline: 0;
  font-weight: 700;
}
.l-single-news__content :where(h3[class*=wp-block-heading]) {
  font-size: 1.17em;
  margin-block: 1em;
  margin-inline: 0;
  font-weight: 700;
}
.l-single-news__content :where(h4[class*=wp-block-heading]) {
  margin-block: 1.33em 0;
  margin-inline: 0;
  font-weight: 700;
}
.l-single-news__content :where(p:not([class])) {
  margin-block: 1em;
  margin-inline: 0;
}
.l-single-news__content a:not([class]) {
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  color: #0073aa; /* WordPressのデフォルトリンクカラー */
}
.l-single-news__content .wp-block-image {
  margin: 1em 0;
}
.l-single-news__content .wp-block-embed iframe {
  display: block;
}
.l-single-news__content .wp-block-embed.aligncenter iframe {
  margin-inline: auto;
}
.l-single-news__content > :first-child {
  -webkit-margin-before: 0;
          margin-block-start: 0;
}
.l-single-news__back {
  width: min(100%, 200px);
  margin-top: 50px;
  margin-inline: auto;
}
@media screen and (width <= 768px) {
  .l-single-news__back {
    margin-top: 40px;
  }
}

.p-front-mv {
  --mv-gutter: var(--header-gutter, 80px);
  overflow-x: clip;
  -webkit-padding-before: var(--header-height, var(--header-min-height, 100px));
          padding-block-start: var(--header-height, var(--header-min-height, 100px));
  padding-inline: var(--mv-gutter) 0;
}
@media screen and (width <= 1280px) {
  .p-front-mv {
    padding-inline: var(--mv-gutter);
  }
}
@media screen and (width <= 576px) {
  .p-front-mv {
    --mv-gutter: clamp(5px, 2.6666666667vw, 10px);
  }
}
.p-front-mv__inner {
  position: relative;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template: [slider-top] ". . ." 20vh "heading . ." auto ". . ." 10vh "clinic clinic ." auto [slider-bottom] "clinic clinic ." 1em/[slider-left] auto auto 1fr [slider-right];
  width: 100%;
  -webkit-column-gap: clamp(20px, 2.6041666667vw, 60px);
     -moz-column-gap: clamp(20px, 2.6041666667vw, 60px);
          column-gap: clamp(20px, 2.6041666667vw, 60px);
}
@media screen and (width <= 1280px) {
  .p-front-mv__inner {
    grid-template: [slider-top] "." auto [slider-bottom] "heading" auto "." 1.4285em "clinic" auto/[slider-left] minmax(0, 1fr) [slider-right];
  }
}
.p-front-mv__slider {
  position: relative;
  -webkit-clip-path: url(#mvSliderClip);
          clip-path: url(#mvSliderClip);
  justify-self: end;
  align-self: start;
  grid-area: slider-top/slider-left/slider-bottom/slider-right;
  width: 58.9375vw;
  aspect-ratio: 1072/682;
}
@media screen and (width <= 1280px) {
  .p-front-mv__slider {
    width: calc(100% + var(--mv-gutter) * 1.2 * 2);
    margin-inline: calc(var(--mv-gutter) * -1.2);
  }
}
.p-front-mv__slider > .splide__track {
  height: 100%;
}
.p-front-mv__slide > img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.p-front-mv__arrows {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: 5%;
}
.p-front-mv__arrow {
  display: grid;
  place-items: center;
  width: clamp(30px, 22.6530612245px + 1.9591836735vw, 54px);
  aspect-ratio: 1;
  padding: 0;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  opacity: 0.9;
  border: 2px solid var(--color-white);
  border-radius: 50%;
  background-color: var(--color-base);
}
@media screen and (width > 1600px) {
  .p-front-mv__arrow {
    width: 3.375vw;
  }
}
.p-front-mv__arrow::after {
  display: block;
  width: 20.37%;
  aspect-ratio: 11/21;
  content: "";
  translate: 15% 0;
  background: var(--color-white);
  -webkit-mask: url(../images/icn_arrow-chevron-right_02.svg) center/contain no-repeat;
          mask: url(../images/icn_arrow-chevron-right_02.svg) center/contain no-repeat;
}
.p-front-mv__arrow:disabled {
  pointer-events: none;
  opacity: 0.8;
  background: var(--color-gray-light);
}
.p-front-mv__arrow:not(:disabled):focus-visible {
  opacity: 0.75;
}
@media (any-hover: hover) {
  .p-front-mv__arrow:not(:disabled):hover {
    opacity: 0.75;
  }
}
.p-front-mv__arrow--prev::after {
  translate: -15% 0;
  scale: -1 1;
}
.p-front-mv__heading {
  --text-gradient: linear-gradient(90deg, var(--color-base) 0%, #a18c7c 100%);
  font-family: "Zen Maru Gothic", sans-serif;
  position: relative;
  z-index: 150;
  display: grid;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  justify-items: center;
  grid-area: heading;
  row-gap: 0.275em;
}
@media screen and (width <= 1280px) {
  .p-front-mv__heading {
    -webkit-align-content: start;
        -ms-flex-line-pack: start;
            align-content: start;
    -webkit-margin-before: calc(-1 * clamp(0px, -150px + 25vw, 150px));
            margin-block-start: calc(-1 * clamp(0px, -150px + 25vw, 150px));
  }
}
.p-front-mv__heading-main {
  font-size: clamp(24px, 9.0666666667vw, clamp(34px, 26.6530612245px + 1.9591836735vw, 58px));
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: 0.05em;
  -webkit-text-fill-color: transparent;
  background: var(--text-gradient);
  -webkit-background-clip: text;
}
@media screen and (width > 1600px) {
  .p-front-mv__heading-main {
    font-size: 3.625vw;
  }
}
.p-front-mv__heading-sub {
  font-size: clamp(12px, 4vw, clamp(15px, 12.8571428571px + 0.5714285714vw, 22px));
  font-weight: 500;
  line-height: 1.65;
  -webkit-text-fill-color: transparent;
  background: var(--text-gradient);
  -webkit-background-clip: text;
}
@media screen and (width > 1600px) {
  .p-front-mv__heading-sub {
    font-size: 1.375vw;
  }
}
.p-front-mv__clinic {
  position: relative;
  z-index: 100;
  grid-area: clinic;
  width: min(940px, 58.75vw);
  container-type: inline-size;
  padding: clamp(15px, 1.875vw, 30px);
  border-radius: 1em;
  background-color: var(--color-main-light);
}
@media screen and (width <= 1280px) {
  .p-front-mv__clinic {
    width: 100%;
  }
}
.p-front-mv__clinic-inn {
  display: grid;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: -webkit-max-content minmax(0, 1fr);
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 1.25em clamp(20px, 5.625vw, 90px);
}
@container (width < 820px) {
  .p-front-mv__clinic-inn {
    grid-template-columns: auto;
  }
}
.p-front-mv__clinic-name {
  font-size: clamp(1.5rem, 0.25rem + 2vw, 2.25rem);
  font-weight: 500;
  line-height: normal;
  display: grid;
  row-gap: 0.1em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (width <= 768px) {
  .p-front-mv__clinic-name {
    font-size: min(6.4vw, 1.5rem);
  }
}
.p-front-mv__clinic-name-org {
  font-size: min(3.2vw, 0.5em);
  color: var(--color-gray);
}
.p-front-mv__clinic-name-main {
  font-weight: 600;
  color: var(--color-main);
}
.p-front-mv__clinic-hours {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: 1em;
}
.p-front-mv__clinic-hours-table-wrapper {
  overflow-x: auto;
  width: 100%;
}
.p-front-mv__clinic-hours-table {
  width: 100%;
  max-width: 100%;
}
@media screen and (width <= 576px) {
  .p-front-mv__clinic-hours-table {
    width: 100%;
  }
}
.p-front-mv__clinic-hours-note {
  font-size: clamp(0.625rem, 0.5625rem + 0.3125vw, 0.875rem);
  font-weight: 500;
  display: grid;
  row-gap: 0.25em;
}
.p-front-mv__motif {
  position: absolute;
  z-index: -1;
  opacity: 0.5;
  fill: var(--color-background-darker);
}
.p-front-mv__motif--top {
  top: calc(-1 * var(--header-height, var(--header-min-height, 100px)));
  left: 0;
  width: max(204px, 25.3125vw);
  aspect-ratio: 405/332;
  translate: 0 -15%;
}
@media screen and (width <= 1280px) {
  .p-front-mv__motif--top {
    top: 50%;
    left: -10%;
    translate: 0 clamp(-100%, -100% + 100% * (100vw - 375px) / 393px, 0%);
  }
}
.p-front-mv__motif--middle {
  bottom: 10%;
  left: 55%;
  width: max(240px, 25.3125vw);
  aspect-ratio: 405/332;
}
@media screen and (width <= 1280px) {
  .p-front-mv__motif--middle {
    top: 50%;
    left: 100%;
    translate: -60% clamp(-10%, -10% + 90% * (100vw - 375px) / 393px, 50%);
    rotate: 220deg;
  }
}
.p-front-mv__motif--bottom {
  top: 90%;
  left: calc(-1 * var(--mv-gutter));
  width: 23.875vw;
  aspect-ratio: 382/345;
  translate: -20% 0;
}
@media screen and (width <= 1280px) {
  .p-front-mv__motif--bottom {
    display: none;
  }
}
.p-front-mv__motif-circle {
  position: absolute;
  z-index: -2;
  aspect-ratio: 1;
  -webkit-animation: rotateAnimation 25s linear infinite;
          animation: rotateAnimation 25s linear infinite;
  color: var(--color-background-light);
}
.p-front-mv__motif-circle > .circle {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.p-front-mv__motif-circle--top {
  top: 0;
  left: calc(-1 * var(--mv-gutter));
  width: max(120px, 13.125vw);
  translate: -17% -17%;
}
@media screen and (width <= 1280px) {
  .p-front-mv__motif-circle--top {
    top: 20%;
  }
}
.p-front-mv__motif-circle--middle {
  bottom: 10%;
  left: 65%;
  width: max(180px, 16.25vw);
}

.p-front-notices {
  -webkit-margin-before: var(--contents-spacer, 100px);
          margin-block-start: var(--contents-spacer, 100px);
}
.p-front-notices__list {
  width: min(100%, 1100px);
  margin-inline: auto;
  display: grid;
  row-gap: 1em;
}

.p-front-news {
  --_negative-margin: calc(var(--gutter, 0px) * -0.34);
  width: min(100%, 1600px);
  -webkit-margin-before: var(--contents-spacer, 100px);
          margin-block-start: var(--contents-spacer, 100px);
  margin-inline: auto;
}
@media screen and (width <= 576px) {
  .p-front-news {
    --_negative-margin: calc(var(--gutter, 0px) * -1);
  }
}
.p-front-news__inner {
  width: auto;
  margin-inline: var(--_negative-margin);
  padding-block: clamp(30px, 20.8163265306px + 2.4489795918vw, 60px);
  padding-inline: max(abs(var(--_negative-margin)), 1em);
  border-radius: 0.25em;
  background: var(--color-white);
}
@media screen and (width <= 576px) {
  .p-front-news__inner {
    padding-inline: abs(var(--_negative-margin));
  }
}
.p-front-news__wrapper {
  display: grid;
  justify-items: center;
  grid-template: "heading list" auto "filters list" auto "more-link list" auto ". list" 1fr/auto 1fr;
  gap: clamp(30px, 23.8775510204px + 1.6326530612vw, 50px) clamp(16px, 6.875vw, 110px);
}
@media screen and (width <= 768px) {
  .p-front-news__wrapper {
    grid-template: "heading" auto "filters" auto "list" auto "more-link" auto/minmax(0, 1fr);
  }
}
.p-front-news__heading {
  grid-area: heading;
}
.p-front-news__filters {
  --dropdown-border-radius-close: 0.5em;
  --dropdown-border-radius-open: 0.5em;
  --dropdown-box-shadow: none;
  grid-area: filters;
  width: 100%;
  max-width: 200px;
}
.p-front-news__filters-placeholder {
  font-weight: 500;
  color: var(--color-base);
}
.p-front-news__filters-terms {
  display: grid;
  row-gap: 10px;
}
@media screen and (width <= 768px) {
  .p-front-news__filters-terms {
    row-gap: 0;
  }
}
.p-front-news__more-link {
  grid-area: more-link;
  width: min(100%, 180px);
}
.p-front-news__list-wrapper {
  grid-area: list;
  width: 100%;
  position: relative;
}
.p-front-news__list {
  --list-row-gap: clamp(40px, 33.8775510204px + 1.6326530612vw, 60px);
  display: grid;
  row-gap: var(--list-row-gap);
  width: 100%;
  margin: 0;
  padding: 0;
  -webkit-padding-after: calc(var(--list-row-gap) * 0.5);
          padding-block-end: calc(var(--list-row-gap) * 0.5);
  list-style: none;
  opacity: 1;
  -webkit-transition: display 0.3s ease-out allow-discrete, opacity 0.3s ease-out;
  transition: display 0.3s ease-out allow-discrete, opacity 0.3s ease-out;
}
@starting-style {
  .p-front-news__list {
    opacity: 0;
  }
}
.p-front-news__list:has(> .p-front-news__list-empty) {
  place-items: center;
  height: 100%;
}
.p-front-news__list-empty {
  font-weight: 500;
}

.p-front-first {
  -webkit-margin-before: var(--contents-spacer, 100px);
          margin-block-start: var(--contents-spacer, 100px);
}
.p-front-first__wrapper {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template: ". . character" 2em [link-top] ".  . character" [link-bottom]/[link-start] minmax(0, clamp(80px, 16.875vw, 270px)) -webkit-max-content minmax(0, clamp(80px, 16.875vw, 270px)) [link-end];
  grid-template: ". . character" 2em [link-top] ".  . character" [link-bottom]/[link-start] minmax(0, clamp(80px, 16.875vw, 270px)) max-content minmax(0, clamp(80px, 16.875vw, 270px)) [link-end];
  width: min(990px, 100%);
  margin-inline: auto;
  -webkit-column-gap: clamp(16px, 1.875vw, 30px);
     -moz-column-gap: clamp(16px, 1.875vw, 30px);
          column-gap: clamp(16px, 1.875vw, 30px);
}
@media screen and (width <= 768px) {
  .p-front-first__wrapper {
    grid-template: [link-top] ". . ." auto ".  character ." 2em [link-bottom] ". character ." auto/[link-start] minmax(0, 1fr) minmax(0, clamp(50px, 21.3333333333vw, 100px)) 1em [link-end];
    gap: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: min(340px, 100%);
  }
}
.p-front-first__link {
  font-size: clamp(0.75rem, 1.5vw, clamp(1rem, 0.8469387755rem + 0.6530612245vw, 1.5rem));
  line-height: normal;
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-area: link-top/link-start/link-bottom/link-end;
  grid-template-areas: "icon desc .";
  grid-template-columns: subgrid;
  padding-block: 2.33em;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  text-decoration: none;
  color: var(--color-white);
  border-radius: 100vmax;
  background: var(--color-base);
}
@media screen and (width <= 768px) {
  .p-front-first__link {
    justify-items: center;
    grid-template-areas: "icon -main" "-sub -sub";
    grid-template-columns: repeat(2, auto);
    gap: 0.5em 0.25em;
    padding-block: 2.65em;
    padding-inline: 1.6em;
  }
}
.p-front-first__link:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .p-front-first__link:hover {
    opacity: 0.8;
  }
}
.p-front-first__link-icon {
  display: block;
  justify-self: end;
  grid-area: icon;
  width: 3.54em;
  aspect-ratio: 1;
}
@media screen and (width <= 768px) {
  .p-front-first__link-icon {
    font-size: min(1.33em, clamp(1.25rem, 1.0204081633rem + 0.9795918367vw, 2rem));
    width: 1em;
    -webkit-margin-before: calc(0.5lh - 0.5em);
            margin-block-start: calc(0.5lh - 0.5em);
  }
}
.p-front-first__link-description {
  display: grid;
  justify-items: center;
  grid-area: desc;
  grid-template-areas: "-main" "-sub";
  row-gap: 0.5em;
}
@media screen and (width <= 768px) {
  .p-front-first__link-description {
    display: contents;
  }
}
.p-front-first__link-description > .-main {
  font-size: min(1.33em, clamp(1.25rem, 1.0204081633rem + 0.9795918367vw, 2rem));
  grid-area: -main;
}
.p-front-first__link-description > .-sub {
  grid-area: -sub;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.p-front-first__character {
  position: relative;
  z-index: 50;
  align-self: start;
  grid-area: character;
  width: 100%;
  translate: 5% 0;
  pointer-events: none;
}
@media screen and (width <= 768px) {
  .p-front-first__character {
    -webkit-margin-before: 0.25em;
            margin-block-start: 0.25em;
  }
}
.p-front-first__character > img {
  width: 100%;
}

.p-front-departments {
  --_curve-height: clamp(40px, 27.7551020408px + 3.2653061224vw, 80px);
  --_pd-block: clamp(20px, 7.7551020408px + 3.2653061224vw, 60px);
  -webkit-margin-before: var(--contents-spacer, 100px);
          margin-block-start: var(--contents-spacer, 100px);
  background: var(--color-background-dark);
  padding-block: var(--_pd-block);
  overflow-x: hidden;
}
@supports ((-webkit-clip-path: shape(from 0 0, line to 100% 0)) or (clip-path: shape(from 0 0, line to 100% 0))) {
  .p-front-departments {
    -webkit-clip-path: shape(from 0% calc(var(--_curve-height) * 0.25), smooth to 50% calc(var(--_curve-height) * 0.5) with 25% 0%, smooth to 100% calc(var(--_curve-height) * 0.25) with 75% var(--_curve-height), line to 100% calc(100% - var(--_curve-height) * 0.75), smooth to 50% calc(100% - var(--_curve-height) * 0.5) with 75% 100%, smooth to 0% calc(100% - var(--_curve-height) * 0.75) with 25% calc(100% - var(--_curve-height)), close);
            clip-path: shape(from 0% calc(var(--_curve-height) * 0.25), smooth to 50% calc(var(--_curve-height) * 0.5) with 25% 0%, smooth to 100% calc(var(--_curve-height) * 0.25) with 75% var(--_curve-height), line to 100% calc(100% - var(--_curve-height) * 0.75), smooth to 50% calc(100% - var(--_curve-height) * 0.5) with 75% 100%, smooth to 0% calc(100% - var(--_curve-height) * 0.75) with 25% calc(100% - var(--_curve-height)), close);
    padding-block: calc(var(--_pd-block) + var(--_curve-height));
  }
}
.p-front-departments__inner {
  position: relative;
}
.p-front-departments__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: clamp(30px, 23.8775510204px + 1.6326530612vw, 50px);
}
.p-front-departments__heading {
  margin-inline: auto;
}
.p-front-departments__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 1.125em;
  grid-auto-rows: 1fr;
}
.p-front-departments__more-link {
  width: min(100%, 280px);
  margin-inline: auto;
}
.p-front-departments__motif-circle {
  position: absolute;
  z-index: -2;
  aspect-ratio: 1;
  -webkit-animation: rotateAnimation 25s linear infinite;
          animation: rotateAnimation 25s linear infinite;
  color: var(--color-background-light);
}
.p-front-departments__motif-circle > .circle {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.p-front-departments__motif-circle--top {
  top: 0;
  right: 0;
  width: max(120px, 17.375vw);
  translate: 100% -5%;
}
@media screen and (width <= 768px) {
  .p-front-departments__motif-circle--top {
    translate: 50% -5%;
  }
}
.p-front-departments__motif-circle--bottom {
  bottom: 0;
  left: 0;
  width: max(180px, 14.6875vw);
  translate: -85% 0%;
}
@media screen and (width <= 768px) {
  .p-front-departments__motif-circle--bottom {
    translate: -50% 0%;
  }
}

.p-front-banners-l {
  --_negative-margin: calc(var(--gutter, 0px) * -0.68);
  -webkit-margin-before: var(--contents-spacer, 100px);
          margin-block-start: var(--contents-spacer, 100px);
  width: min(1600px, 100%);
  margin-inline: auto;
}
.p-front-banners-l__inner {
  width: auto;
  margin-inline: var(--_negative-margin);
  padding-block: 3.125em;
  border-block: 1px solid var(--color-gray-light);
}
@media screen and (width <= 1280px) {
  .p-front-banners-l__inner {
    margin-inline: auto;
  }
}
.p-front-banners-l__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 430px));
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25em clamp(16px, 1.875vw, 30px);
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-front-banners-l__item {
  display: block;
  width: 100%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.p-front-banners-l__item > img {
  width: 100%;
}
.p-front-banners-l__item:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .p-front-banners-l__item:hover {
    opacity: 0.8;
  }
}

.p-front-message {
  overflow-x: clip;
  -webkit-margin-before: var(--contents-spacer, 100px);
          margin-block-start: var(--contents-spacer, 100px);
}
.p-front-message__heading {
  margin-inline: auto;
}
.p-front-message__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: clamp(30px, 23.8775510204px + 1.6326530612vw, 50px);
}
.p-front-message__container {
  position: relative;
  display: grid;
  -webkit-align-content: start;
      -ms-flex-line-pack: start;
          align-content: start;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template: "content image" auto ". image" 1fr ". image" 3.125em "link ." auto/minmax(0, 1fr) auto;
  -webkit-column-gap: clamp(24px, 5vw, 80px);
     -moz-column-gap: clamp(24px, 5vw, 80px);
          column-gap: clamp(24px, 5vw, 80px);
}
@media screen and (width <= 768px) {
  .p-front-message__container {
    justify-items: center;
    grid-template: "image" auto "content" auto "link" auto/minmax(0, 1fr);
    row-gap: 30px;
  }
}
.p-front-message__content {
  display: grid;
  justify-items: end;
  grid-area: content;
  row-gap: 1.25em;
}
.p-front-message__text {
  font-weight: 500;
}
.p-front-message__name {
  font-weight: 500;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-column-gap: 0.75em;
     -moz-column-gap: 0.75em;
          column-gap: 0.75em;
}
.p-front-message__name-text {
  font-size: 1.25em;
}
.p-front-message__image {
  overflow: clip;
  grid-area: image;
  width: clamp(300px, 30vw, 480px);
  border-radius: 1em;
}
@media screen and (width <= 768px) {
  .p-front-message__image {
    width: min(400px, 100%);
  }
}
.p-front-message__image > img {
  width: 100%;
}
.p-front-message__more-link {
  grid-area: link;
  width: min(100%, 280px);
}
.p-front-message__motif {
  position: absolute;
  z-index: -1;
  opacity: 0.5;
  fill: var(--color-background-darker);
}
.p-front-message__motif--left {
  top: 0;
  left: calc(var(--gutter) * -1);
  width: max(429px, 43.625vw);
  aspect-ratio: 698/522;
  translate: -20% -35%;
}
.p-front-message__motif--right {
  right: calc(var(--gutter) * -1);
  bottom: 0;
  width: max(220px, 27.6875vw);
  aspect-ratio: 443/371;
  translate: 15% 5%;
}
.p-front-message__motif-circle {
  position: absolute;
  z-index: -2;
  aspect-ratio: 1;
  -webkit-animation: rotateAnimation 25s linear infinite;
          animation: rotateAnimation 25s linear infinite;
  color: var(--color-background-light);
}
.p-front-message__motif-circle > .circle {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.p-front-message__motif-circle--left {
  top: 0;
  left: calc(var(--gutter) * -1);
  width: max(160px, 10.625vw);
  translate: -15% 115%;
}
.p-front-message__motif-circle--right {
  right: calc(var(--gutter) * -1);
  bottom: 10%;
  width: max(100px, 14.375vw);
  translate: -40% -100%;
}
@media screen and (width <= 1280px) {
  .p-front-message__motif-circle--right {
    translate: -40% -150%;
  }
}

.p-front-schedule {
  --_curve-height: clamp(40px, 27.7551020408px + 3.2653061224vw, 80px);
  --_pd-block: clamp(20px, 7.7551020408px + 3.2653061224vw, 60px);
  -webkit-margin-before: var(--contents-spacer, 100px);
          margin-block-start: var(--contents-spacer, 100px);
  padding-block: var(--_pd-block);
  background: var(--color-background-dark);
  overflow-x: hidden;
}
@supports ((-webkit-clip-path: shape(from 0 0, line to 100% 0)) or (clip-path: shape(from 0 0, line to 100% 0))) {
  .p-front-schedule {
    -webkit-clip-path: shape(from 0% 0%, smooth to 50% calc(var(--_curve-height) * 0.5) with 25% var(--_curve-height), smooth to 100% var(--_curve-height) with 75% 0%, line to 100% 100%, smooth to 50% calc(100% - var(--_curve-height) * 0.5) with 75% calc(100% - var(--_curve-height)), smooth to 0% calc(100% - var(--_curve-height)) with 25% 100%, close);
            clip-path: shape(from 0% 0%, smooth to 50% calc(var(--_curve-height) * 0.5) with 25% var(--_curve-height), smooth to 100% var(--_curve-height) with 75% 0%, line to 100% 100%, smooth to 50% calc(100% - var(--_curve-height) * 0.5) with 75% calc(100% - var(--_curve-height)), smooth to 0% calc(100% - var(--_curve-height)) with 25% 100%, close);
    padding-block: calc(var(--_pd-block) + var(--_curve-height));
  }
}
.p-front-schedule__inner {
  position: relative;
}
.p-front-schedule__heading {
  margin-inline: auto;
}
.p-front-schedule__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: clamp(30px, 23.8775510204px + 1.6326530612vw, 50px);
}
.p-front-schedule__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: clamp(10px, 3.8775510204px + 1.6326530612vw, 30px);
}
.p-front-schedule__guide {
  font-size: clamp(10px, 0.75vw, 14px);
  font-weight: 500;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.p-front-schedule__guide > span {
  display: none;
}
@media (any-hover: hover) {
  .p-front-schedule__guide > span[data-any-hover=hover] {
    display: block;
  }
}
@media (any-hover: none) {
  .p-front-schedule__guide > span[data-any-hover=none] {
    display: block;
  }
}
.p-front-schedule__slider {
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template: "prev-btn slider-track next-btn" auto "pagination pagination pagination" auto/auto minmax(0, 1fr) auto;
  gap: clamp(16px, 8.6530612245px + 1.9591836735vw, 40px) clamp(5px, -2.6530612245px + 2.0408163265vw, 30px);
}
.p-front-schedule__slider-track {
  grid-area: slider-track;
}
.p-front-schedule__slide {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
}
.p-front-schedule__slide > img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.p-front-schedule__slider-arrows {
  display: contents;
}
.p-front-schedule__slider-arrow {
  display: grid;
  place-items: center;
  grid-area: next-btn;
  width: clamp(30px, 22.6530612245px + 1.9591836735vw, 54px);
  aspect-ratio: 1;
  padding: 0;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  opacity: 0.9;
  border: 2px solid var(--color-white);
  border-radius: 50%;
  background-color: var(--color-base);
}
.p-front-schedule__slider-arrow::after {
  display: block;
  width: 20.37%;
  aspect-ratio: 11/21;
  content: "";
  translate: 15% 0;
  background: var(--color-white);
  -webkit-mask: url(../images/icn_arrow-chevron-right_02.svg) center/contain no-repeat;
          mask: url(../images/icn_arrow-chevron-right_02.svg) center/contain no-repeat;
}
.p-front-schedule__slider-arrow:disabled {
  pointer-events: none;
  opacity: 0.8;
  background: var(--color-gray-light);
}
.p-front-schedule__slider-arrow:not(:disabled):focus-visible {
  opacity: 0.75;
}
@media (any-hover: hover) {
  .p-front-schedule__slider-arrow:not(:disabled):hover {
    opacity: 0.75;
  }
}
.p-front-schedule__slider-arrow--prev {
  grid-area: prev-btn;
}
.p-front-schedule__slider-arrow--prev::after {
  translate: -15% 0;
  scale: -1 1;
}
.p-front-schedule__slider-pagination {
  grid-area: pagination;
  gap: 10px clamp(10px, 0.8163265306px + 2.4489795918vw, 40px);
  padding: 0;
}
.p-front-schedule__slider-pagination-page {
  display: block;
  width: clamp(10px, 8.7755102041px + 0.3265306122vw, 14px);
  aspect-ratio: 1;
  padding: 0;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  border: none;
  border-radius: 50%;
  background: color-mix(in srgb, var(--color-background) 60%, var(--color-gray-light) 40%);
}
.p-front-schedule__slider-pagination-page.is-active {
  pointer-events: none;
  background: var(--color-base);
}
.p-front-schedule__motif-circle {
  position: absolute;
  z-index: -2;
  aspect-ratio: 1;
  -webkit-animation: rotateAnimation 25s linear infinite;
          animation: rotateAnimation 25s linear infinite;
  color: var(--color-background-light);
}
.p-front-schedule__motif-circle > .circle {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.p-front-schedule__motif-circle--top-l {
  top: 0;
  left: 0;
  width: max(55px, 9.875vw);
}
.p-front-schedule__motif-circle--top-r {
  top: 0;
  right: calc(var(--gutter) * -1);
  width: max(100px, 16.5vw);
}
.p-front-schedule__motif-circle--middle {
  top: 50%;
  left: calc(var(--gutter) * -1);
  width: max(80px, 17.375vw);
  translate: -15% -50%;
}
.p-front-schedule__motif-circle--bottom-l {
  bottom: 0;
  left: 0;
  width: max(55px, 12.5vw);
}
.p-front-schedule__motif-circle--bottom-r {
  right: calc(var(--gutter) * -1);
  bottom: 0;
  width: max(150px, 12.75vw);
  translate: 10% 0%;
}

.p-front-banners-s {
  --_negative-margin: calc(var(--gutter, 0px) * -0.68);
  width: min(1600px, 100%);
  -webkit-margin-before: var(--contents-spacer, 100px);
          margin-block-start: var(--contents-spacer, 100px);
  margin-inline: auto;
}
.p-front-banners-s__inner {
  width: auto;
  margin-inline: var(--_negative-margin);
  padding-block: 3.125em;
  border-block: 1px solid var(--color-gray-light);
}
@media screen and (width <= 1280px) {
  .p-front-banners-s__inner {
    margin-inline: auto;
  }
}
.p-front-banners-s__list {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 310px));
  gap: 1.25em max(clamp(16px, 6px + 3.125vw, 30px), clamp(16px, -54.7368421053px + 9.2105263158vw, 65px), clamp(16px, -478px + 38vw, 130px));
  width: 100%;
  margin-inline: auto;
}
.p-front-banners-s__item {
  display: block;
  width: 100%;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.p-front-banners-s__item > img {
  width: 100%;
}
.p-front-banners-s__item:focus-visible {
  opacity: 0.8;
}
@media (any-hover: hover) {
  .p-front-banners-s__item:hover {
    opacity: 0.8;
  }
}

.p-front-movies {
  overflow-x: clip;
  overflow-y: visible;
  container-type: inline-size;
  -webkit-margin-before: var(--contents-spacer, 100px);
          margin-block-start: var(--contents-spacer, 100px);
  padding-inline: 0;
}
.p-front-movies__inner {
  position: relative;
  width: 100%;
  padding-inline: var(--gutter, 0px);
}
.p-front-movies__heading {
  margin-inline: auto;
}
.p-front-movies__wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  row-gap: clamp(30px, 23.8775510204px + 1.6326530612vw, 50px);
}
.p-front-movies__content {
  position: relative;
  width: min(600px, 100%);
  margin-inline: auto;
}
.p-front-movies__content::before, .p-front-movies__content::after {
  position: absolute;
  z-index: 500;
  top: 0;
  display: block;
  width: calc(50cqi - 50%);
  height: 100%;
  content: "";
  pointer-events: none;
}
.p-front-movies__content::before {
  left: 0;
  translate: -100% 0;
  background: -webkit-gradient(linear, right top, left top, from(transparent), color-stop(75%, var(--color-background)));
  background: -webkit-linear-gradient(right, transparent 0%, var(--color-background) 75%);
  background: linear-gradient(to left, transparent 0%, var(--color-background) 75%);
}
.p-front-movies__content::after {
  right: 0;
  translate: 100% 0;
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(75%, var(--color-background)));
  background: -webkit-linear-gradient(left, transparent 0%, var(--color-background) 75%);
  background: linear-gradient(to right, transparent 0%, var(--color-background) 75%);
}
.p-front-movies__slider {
  position: relative;
  gap: clamp(16px, 8.6530612245px + 1.9591836735vw, 40px) clamp(5px, -2.6530612245px + 2.0408163265vw, 30px);
  width: 100%;
}
.p-front-movies__slider-track {
  overflow: visible;
}
.p-front-movies__slide {
  font-size: calc(var(--gutter) * 0.5); /* Splideスライダーのgap (1em) */
  display: block;
  aspect-ratio: 16/9;
}
.p-front-movies__slide:not(.is-active) {
  pointer-events: none;
}
.p-front-movies__slide > iframe {
  display: block;
}
.p-front-movies__slider-arrows {
  position: absolute;
  inset: 0;
  display: grid;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template: "prev . next"/auto minmax(0, 1fr) auto;
  pointer-events: none;
}
.p-front-movies__slider-arrow {
  display: grid;
  place-items: center;
  grid-area: next;
  width: clamp(30px, 22.6530612245px + 1.9591836735vw, 54px);
  aspect-ratio: 1;
  padding: 0;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  translate: min(var(--gutter) * 0.5, 50%) 0;
  pointer-events: auto;
  opacity: 0.9;
  border: 2px solid var(--color-white);
  border-radius: 50%;
  background-color: var(--color-base);
}
@media screen and (width <= 576px) {
  .p-front-movies__slider-arrow {
    translate: 0;
  }
}
.p-front-movies__slider-arrow::after {
  display: block;
  width: 20.37%;
  aspect-ratio: 11/21;
  content: "";
  translate: 15% 0;
  background: var(--color-white);
  -webkit-mask: url(../images/icn_arrow-chevron-right_02.svg) center/contain no-repeat;
          mask: url(../images/icn_arrow-chevron-right_02.svg) center/contain no-repeat;
}
.p-front-movies__slider-arrow:disabled {
  pointer-events: none;
  opacity: 0.8;
  background: var(--color-gray-light);
}
.p-front-movies__slider-arrow:not(:disabled):focus-visible {
  opacity: 0.75;
}
@media (any-hover: hover) {
  .p-front-movies__slider-arrow:not(:disabled):hover {
    opacity: 0.75;
  }
}
.p-front-movies__slider-arrow--prev {
  grid-area: prev;
  translate: calc(min(var(--gutter) * 0.5, 50%) * -1) 0;
}
@media screen and (width <= 576px) {
  .p-front-movies__slider-arrow--prev {
    translate: 0;
  }
}
.p-front-movies__slider-arrow--prev::after {
  translate: -15% 0;
  scale: -1 1;
}
.p-front-movies__motif-circle {
  position: absolute;
  z-index: -2;
  aspect-ratio: 1;
  -webkit-animation: rotateAnimation 25s linear infinite;
          animation: rotateAnimation 25s linear infinite;
  color: var(--color-background-light);
}
.p-front-movies__motif-circle > .circle {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.p-front-movies__motif-circle--top-l {
  top: 0;
  left: var(--gutter);
  width: max(55px, 9.5625vw);
  translate: 0 50%;
}
.p-front-movies__motif-circle--top-r {
  top: 0;
  right: var(--gutter);
  width: max(100px, 17.375vw);
  translate: 20% 0;
}
.p-front-movies__motif-circle--bottom-l {
  bottom: 0;
  left: 0;
  width: max(55px, 15vw);
  translate: 100% 50%;
}

.p-news-notices {
  -webkit-margin-after: calc(var(--contents-spacer, 100px) * 0.5);
          margin-block-end: calc(var(--contents-spacer, 100px) * 0.5);
}
.p-news-notices__list {
  width: min(100%, 1100px);
  margin-inline: auto;
  display: grid;
  row-gap: 1em;
}

.p-news-archives {
  width: min(100%, 1600px);
  margin-inline: auto;
}
.p-news-archives__inner {
  padding-block: clamp(30px, 20.8163265306px + 2.4489795918vw, 60px);
  padding-inline: min(var(--gutter, 0px), 30px);
  border-radius: 0.25em;
  background: var(--color-white);
}
.p-news-archives__wrapper {
  display: grid;
  justify-items: center;
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  grid-template: "filters list" auto ". list" 1fr ". ." clamp(30px, 23.8775510204px + 1.6326530612vw, 50px) "pagination pagination" auto/clamp(min(180px, 100%), 12.5vw, 200px) 1fr;
  gap: 0 clamp(16px, 6.875vw, 110px);
}
@media screen and (width <= 768px) {
  .p-news-archives__wrapper {
    grid-template: "filters" auto "list" auto "pagination" auto/minmax(0, 1fr);
    row-gap: clamp(30px, 23.8775510204px + 1.6326530612vw, 50px);
  }
}
.p-news-archives__filters {
  display: grid;
  grid-area: filters;
  row-gap: 20px;
  width: 100%;
}
.p-news-archives__filters-years, .p-news-archives__filters-terms {
  --dropdown-border-radius-close: 0.5em;
  --dropdown-border-radius-open: 0.5em;
  --dropdown-box-shadow: none;
  width: 100%;
}
@media screen and (width <= 768px) {
  .p-news-archives__filters-years, .p-news-archives__filters-terms {
    max-width: 300px;
  }
}
.p-news-archives__filters-placeholder {
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-base);
}
.p-news-archives__filters-years-title, .p-news-archives__filters-terms-title {
  font-size: 1em;
  font-weight: 700;
  -webkit-margin-after: 0.75em;
          margin-block-end: 0.75em;
  color: var(--color-base);
}
.p-news-archives__filters-years-list, .p-news-archives__filters-terms-list {
  display: grid;
  row-gap: 10px;
}
@media screen and (width <= 768px) {
  .p-news-archives__filters-years-list, .p-news-archives__filters-terms-list {
    row-gap: 0;
  }
}
.p-news-archives__filters-years-item > input, .p-news-archives__filters-terms-item > input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}
.p-news-archives__list {
  --list-row-gap: clamp(40px, 33.8775510204px + 1.6326530612vw, 60px);
  display: grid;
  grid-area: list;
  row-gap: var(--list-row-gap);
  width: 100%;
  margin: 0;
  padding: 0;
  -webkit-padding-after: calc(var(--list-row-gap) * 0.5);
          padding-block-end: calc(var(--list-row-gap) * 0.5);
  list-style: none;
}
.p-news-archives__pagination {
  grid-area: pagination;
}

.p-departments-list {
  --_curve-height: clamp(40px, 27.7551020408px + 3.2653061224vw, 80px);
  --_pd-block: clamp(20px, 7.7551020408px + 3.2653061224vw, 60px);
  -webkit-margin-before: var(--contents-spacer, 100px);
          margin-block-start: var(--contents-spacer, 100px);
  background: var(--color-background-dark);
  padding-block: var(--_pd-block);
}
@supports ((-webkit-clip-path: shape(from 0 0, line to 100% 0)) or (clip-path: shape(from 0 0, line to 100% 0))) {
  .p-departments-list {
    -webkit-clip-path: shape(from 0% calc(var(--_curve-height) * 0.25), smooth to 50% calc(var(--_curve-height) * 0.5) with 25% 0%, smooth to 100% calc(var(--_curve-height) * 0.25) with 75% var(--_curve-height), line to 100% calc(100% - var(--_curve-height) * 0.75), smooth to 50% calc(100% - var(--_curve-height) * 0.5) with 75% 100%, smooth to 0% calc(100% - var(--_curve-height) * 0.75) with 25% calc(100% - var(--_curve-height)), close);
            clip-path: shape(from 0% calc(var(--_curve-height) * 0.25), smooth to 50% calc(var(--_curve-height) * 0.5) with 25% 0%, smooth to 100% calc(var(--_curve-height) * 0.25) with 75% var(--_curve-height), line to 100% calc(100% - var(--_curve-height) * 0.75), smooth to 50% calc(100% - var(--_curve-height) * 0.5) with 75% 100%, smooth to 0% calc(100% - var(--_curve-height) * 0.75) with 25% calc(100% - var(--_curve-height)), close);
    padding-block: calc(var(--_pd-block) + var(--_curve-height));
  }
}
.p-departments-list__wrapper {
  width: 100%;
}
.p-departments-list__heading {
  margin-inline: auto;
}
.p-departments-list__main {
  display: grid;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: 1.125em;
  -webkit-margin-before: clamp(30px, 23.8775510204px + 1.6326530612vw, 50px);
          margin-block-start: clamp(30px, 23.8775510204px + 1.6326530612vw, 50px);
}
.p-departments-list__others {
  display: grid;
  justify-items: center;
  grid-template-columns: minmax(0, 1fr);
  row-gap: clamp(30px, 23.8775510204px + 1.6326530612vw, 50px);
  -webkit-margin-before: clamp(90px, 71.6326530612px + 4.8979591837vw, 150px);
          margin-block-start: clamp(90px, 71.6326530612px + 4.8979591837vw, 150px);
}
.p-departments-list__others-title {
  font-size: clamp(1rem, 5.3333333333vw, clamp(1.25rem, 1.0204081633rem + 0.9795918367vw, 2rem));
  font-weight: 500;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.p-departments-list__others-list {
  display: grid;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  grid-auto-rows: 1fr;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, clamp(250px, 19.2307692308px + 30.0480769231vw, 500px)), 500px));
  gap: 1.25em;
  width: 100%;
}

.p-forbidden {
  display: grid;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 1px;
  min-height: max(500px, 100svh - var(--header-height, var(--header-min-height, 100px)));
}
.p-forbidden__inner {
  display: grid;
  grid-template: "." 1fr "content" auto "." 1fr "character" auto;
  row-gap: 1em;
  height: 100%;
}
.p-forbidden__content {
  display: grid;
  justify-items: center;
  place-content: center;
  grid-area: content;
  row-gap: 2em;
  height: 100%;
}
.p-forbidden__title {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(24px, 3.125vw, clamp(30px, 23.8775510204px + 1.6326530612vw, 50px));
}
.p-forbidden__text {
  font-weight: 500;
}
.p-forbidden__back-link {
  width: min(100%, 280px);
  margin-inline: auto;
}
.p-forbidden__character {
  justify-self: end;
  grid-area: character;
  width: clamp(150px, 16.875vw, 270px);
}

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

@media screen and (width <= 768px) {
  .u-dn-md-max {
    display: none;
  }
}

.u-cf::after {
  display: block;
  clear: both;
  content: "";
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}/*# sourceMappingURL=style.css.map */