@charset "UTF-8";
:root {
  --lh-h1: 0.75;
  --lh-h2: 1.01923;
  --size-breadcrumb: clamp(0.75rem, 0.192rem + 2.79vw, 1.5rem);
  --size-section-title-sub: clamp(0.75rem, 0.192rem + 2.79vw, 1.5rem);
  --size-news-cat: clamp(0.75rem, 0.192rem + 2.79vw, 1.5rem);
  --size-footer-copy: clamp(0.75rem, 0.192rem + 2.79vw, 1.5rem);
  --size-column-card-date: clamp(0.8125rem, 0.208rem + 3.02vw, 1.625rem);
  --size-p: clamp(0.75rem, 0.006rem + 3.72vw, 1.75rem);
  --size-entry-nav: clamp(0.75rem, -0.031rem + 3.91vw, 1.8rem);
  --size-cta-section__hours-text: clamp(0.6875rem, -0.14rem + 4.14vw, 1.8rem);
  --size-button: clamp(0.9375rem, 0.24rem + 3.49vw, 1.875rem);
  --size-entry-title: clamp(0.9375rem, 0.24rem + 3.49vw, 1.875rem);
  --size-button--tertiary: clamp(0.8125rem, -0.022rem + 3.95vw, 1.875rem);
  --size-about-text: clamp(0.9375rem, 0.24rem + 3.49vw, 1.875rem);
  --size-service-text: clamp(0.75rem, -0.087rem + 4.19vw, 1.875rem);
  --size-message-text: clamp(0.9375rem, 0.24rem + 3.49vw, 1.875rem);
  --size-route-desc: clamp(0.9375rem, 0.24rem + 3.49vw, 1.875rem);
  --size-info-address: clamp(0.9375rem, 0.24rem + 3.49vw, 1.875rem);
  --size-column-card-title: clamp(0.9375rem, 0.24rem + 3.49vw, 1.875rem);
  --size-button-secondary-text: clamp(0.8125rem, -0.071rem + 4.42vw, 2rem);
  --size-footer-fixed-text: clamp(1rem, 0.256rem + 3.72vw, 2rem);
  --size-footer-hours: clamp(0.8125rem, -0.071rem + 4.42vw, 2rem);
  --size-widget-title: clamp(1.125rem, 0.288rem + 4.19vw, 2.25rem);
  --size-facility-label: clamp(1.125rem, 0.288rem + 4.19vw, 2.25rem);
  --size-info-corp: clamp(1.125rem, 0.288rem + 4.19vw, 2.25rem);
  --size-dental-service-section-subtitle: clamp(1.125rem, 0.288rem + 4.19vw, 2.25rem);
  --size-dental-service-footer-text: clamp(1rem, 0.07rem + 4.65vw, 2.25rem);
  --size-footer-lead: clamp(1rem, -0.07rem + 5.35vw, 2.4375rem);
  --size-dental-service-section-title: clamp(1.25rem, 0.32rem + 4.65vw, 2.5rem);
  --size-about-reason-title: clamp(1.125rem, 0.009rem + 5.58vw, 2.625rem);
  --size-cta-section-title: clamp(1.375rem, 0.352rem + 5.12vw, 2.75rem);
  --size-h1: clamp(1.25rem, -0.052rem + 6.51vw, 3rem);
  --size-section-title: clamp(1.375rem, 0.352rem + 5.12vw, 2.75rem);
  --size-h2: clamp(1.375rem, -0.02rem + 6.98vw, 3.25rem);
  --size-h3: clamp(1.625rem, 0.416rem + 6.05vw, 3.25rem);
  --size-footer-overview-title: clamp(1.625rem, 0.416rem + 6.05vw, 3.25rem);
  --size-info-postal: clamp(1.75rem, 0.448rem + 6.51vw, 3.5rem);
  --size-footer-tel: clamp(2rem, -0.201rem + 11.63vw, 5.25rem);
  --size-footer-address: clamp(0.75rem, 0.006rem + 3.72vw, 1.75rem);
  --size-hours-section-title: clamp(1.625rem, 0.416rem + 6.05vw, 3.25rem);
  --lh-p: 1.5;
  --lh-h3: 1.01923;
  --container-max: 1440px;
  --container-max-middle: min(83.3333333333%, 1200px);
  --container-padding--narrow: min(4vw, 30px);
  --container-padding--middle: min(4vw, 30px);
  --container-padding--wide: min(4vw, 30px);
  --header-padding: min(4vw, 30px);
  --footer-padding: min(8vw, 80px);
  --header-height: clamp(3.277rem, 2.154rem + 5.62vw, 5.75rem);
  --container-padding-block--sp--100: clamp(3.125rem, 0.799rem + 11.63vw, 6.25rem);
  --container-padding-block--sp--90: clamp(2.813rem, 0.719rem + 10.47vw, 5.625rem);
  --container-padding-block--sp--80: clamp(2.5rem, 0.64rem + 9.3vw, 5rem);
  --container-padding-block--sp--110: clamp(3.438rem, 0.879rem + 12.79vw, 6.875rem);
  --container-padding-block--sp--120: clamp(3.75rem, 0.959rem + 13.95vw, 7.5rem);
  --breadcrumb-margin-top: clamp(2.656rem, 0.68rem + 9.88vw, 5.313rem);
  --breadcrumb-padding-inline: min(4vw, 30px);
  --size-entry-title-list: clamp(0.875rem, 0.224rem + 3.26vw, 1.75rem);
}
@media screen and (min-width: 751px) {
  :root {
    --size-h1: 2.375rem;
    --lh-h1: 0.94737;
    --size-h2: 2rem;
    --lh-h2: 1.0625;
    --size-p: 1rem;
    --lh-p: 2.125;
    --section-padding-block: clamp(3.438rem, 0.879rem + 12.79vw, 6.875rem);
    --section-padding-block--short: clamp(3.438rem, 0.879rem + 12.79vw, 6.875rem) clamp(3.125rem, 0.799rem + 11.63vw, 6.25rem);
    --container-padding--narrow: clamp(6.875rem, -0.619rem + 15.97vw, 13.75rem);
    --container-padding--middle: clamp(3.75rem, -0.337rem + 8.71vw, 7.5rem);
    --container-padding--wide: clamp(0.875rem, -0.079rem + 2.03vw, 1.75rem);
    --size-button: 1.125rem;
    --size-about-text: 1rem;
    --size-service-text: 1.125rem;
    --size-section-title: 2.125rem;
    --size-section-title-sub: 0.875rem;
    --size-section-title: 2.125rem;
    --size-message-text: 1rem;
    --size-news-cat: 0.8125rem;
    --size-info-corp: 1.125rem;
    --size-info-postal: 1.75rem;
    --size-info-address: 1rem;
    --size-column-card-title: 1rem;
    --size-column-card-date: 0.875rem;
    --footer-padding-block--pc: clamp(2.5rem, -0.225rem + 5.81vw, 5rem) clamp(2.813rem, -0.253rem + 6.53vw, 5.625rem);
    --size-footer-copy: 0.75rem;
    --breadcrumb-margin-top: 40px;
    --breadcrumb-padding-inline: 1.5625rem;
    --size-breadcrumb: 0.875rem;
    --size-button--tertiary: clamp(1.6875rem, 1.172rem + 1.1vw, 1.875rem);
    --size-dental-service-section-title: 1.625rem;
    --size-cta-section-title: clamp(2.3125rem, 1.109rem + 2.56vw, 2.75rem);
    --size-cta-section__hours-text: clamp(1.25rem, -0.263rem + 3.22vw, 1.8rem);
    --size-about-reason-title: clamp(1.9375rem, 1.188rem + 1.6vw, 2.625rem);
    --size-dental-service-footer-text:clamp(1.6875rem, 0.134rem + 3.31vw, 2.25rem);
  }
}
@media screen and (min-width: 751px) and (min-width: 1024px) {
  :root {
    --container-padding-block--pc--120: clamp(3.75rem, -5.481rem + 14.42vw, 7.5rem);
    --container-padding-block--pc--100: clamp(3.125rem, -0.281rem + 7.26vw, 6.25rem);
    --container-padding-block--pc--80: clamp(2.5rem, -0.225rem + 5.81vw, 5rem);
    --header-padding: min(3.7333333333vw, 28px) 0;
    --size-footer-lead: clamp(0.9375rem, 0.168rem + 1.2vw, 1.25rem);
    --size-button--tertiary: 1.125rem;
    --size-footer-tel: clamp(1.25rem, -1.673rem + 4.57vw, 2.4375rem);
    --size-footer-hours: clamp(0.5rem, -0.731rem + 1.92vw, 1rem);
    --size-footer-address: clamp(0.6875rem, -0.082rem + 1.2vw, 1rem);
    --size-button-secondary-text: clamp(0.5625rem, -0.514rem + 1.68vw, 1rem);
    --size-about-reason-title: clamp(1.5rem, 0.885rem + 0.96vw, 1.75rem);
    --size-facility-label: 1.1rem;
    --size-dental-service-section-subtitle: 1.375rem;
    --size-dental-service-footer-text: clamp(0.875rem, -0.048rem + 1.44vw, 1.25rem);
    --size-cta-section-title: 2rem;
    --size-cta-section__hours-text: clamp(0.8125rem, 0.351rem + 0.72vw, 1rem);
    --size-route-desc: clamp(0.75rem, 0.135rem + 0.96vw, 1rem);
    --size-entry-title: 1.5rem;
    --size-entry-nav: 1rem;
    --size-widget-title: 1.5rem;
    --size-entry-title-list: 1.375rem;
    --size-footer-overview-title: 2.0625rem;
    --size-hours-section-title: 2rem;
  }
}

html {
  font-size: 1rem;
  scroll-behavior: smooth;
  overflow-x: hidden;
  scrollbar-gutter: stable;
}
html.is-drawer-open {
  overflow: hidden;
}

body {
  color: #333333;
  background-color: #f5fafb;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  line-height: 1.53;
}
body.is-drawer-open {
  overflow: hidden;
}

img {
  max-width: 100%;
  width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
  display: block;
  width: 100%;
}

li {
  list-style-type: none;
}

h1 {
  font-size: var(--size-h1);
  line-height: var(--lh-h1);
  letter-spacing: 0.01em;
  font-weight: 400;
}

h2 {
  font-size: var(--size-h2);
  line-height: var(--lh-h2);
  letter-spacing: 0.02em;
  font-weight: 400;
}
@media screen and (min-width: 751px) {
  h2 {
    letter-spacing: 0.01em;
  }
}

h3 {
  font-size: var(--size-h3);
  line-height: var(--lh-h3);
  font-weight: 400;
}

p {
  font-size: var(--size-p);
  line-height: var(--lh-p);
  letter-spacing: 0.01em;
}

section[id],
h1[id],
h2[id],
h3[id],
h4[id],
h5[id],
h6[id] {
  scroll-margin-top: clamp(3.125rem, 0.799rem + 11.63vw, 6.25rem);
}

/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

* {
  margin: 0;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

#root,
#__next {
  isolation: isolate;
}

button {
  border: none;
  background-color: transparent;
}

ul {
  list-style-type: none;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

address {
  font-style: normal;
}

ol {
  -webkit-padding-start: 0;
          padding-inline-start: 0;
}

.page-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: var(--size-h1);
  gap: 0.58em;
  color: #ffffff;
}
@media screen and (min-width: 751px) {
  .page-title {
    gap: 0.526em;
  }
}

.page-title__sub {
  font-size: 0.758em;
  line-height: 0.78261;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 1024px) {
  .page-title__sub {
    font-size: 0.658em;
    line-height: 1.38261;
  }
}

.section-title {
  color: #6095d9;
  font-size: var(--size-section-title);
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.341em;
}
@media screen and (min-width: 751px) {
  .section-title {
    gap: 0.441em;
  }
}

.section-title__eyebrow {
  font-size: var(--size-section-title-sub);
  color: inherit;
  line-height: 1;
  letter-spacing: 0.11em;
}
@media screen and (min-width: 751px) {
  .section-title__eyebrow {
    letter-spacing: 0.09em;
  }
}

.section-title__ja {
  color: inherit;
  font-size: inherit;
  line-height: 1.20455;
  letter-spacing: 0.11em;
}
@media screen and (min-width: 751px) {
  .section-title__ja {
    letter-spacing: 0.09em;
  }
}

/*====================================
section-heading
====================================*/
.section-heading__title {
  color: #6095d9;
  text-align: center;
}

.section-heading__desc {
  margin-top: 1.543em;
}
@media screen and (min-width: 751px) {
  .section-heading__desc {
    margin-top: 3.125em;
    text-align: center;
    font-size: clamp(0.75rem, 0.478rem + 0.58vw, 1rem);
  }
}

.hero-banner {
  position: relative;
  width: 100%;
}

.hero-banner__image {
  display: block;
  position: relative;
  margin-inline: auto 0;
  width: 86.6666666667%;
  border-radius: 20px 0 0 20px;
  aspect-ratio: 650/300;
  z-index: 1;
  overflow: hidden;
}
@media screen and (min-width: 751px) {
  .hero-banner__image {
    width: 83.3333333333%;
    height: 300px;
    aspect-ratio: 1200/300;
    overflow: hidden;
  }
}
.hero-banner__image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}
.hero-banner__image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(143deg, rgba(67, 132, 216, 0.25) 0%, rgba(235, 244, 255, 0.25) 49.42%, rgba(67, 132, 216, 0.25) 99.81%);
  z-index: 1;
}

@media screen and (min-width: 751px) {
  .about .hero-banner__image img {
    -o-object-position: left 23%;
       object-position: left 23%;
  }
}

.column-page .hero-banner__image img {
  -o-object-position: left 34%;
     object-position: left 34%;
}

.hero-banner__overlay {
  position: absolute;
  z-index: 2;
  bottom: -1.354em;
  left: 0;
  width: 64%;
  border-radius: 0 20px 20px 0;
  background: #6095d9;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-left: 4%;
  font-size: var(--size-h1);
  padding-block: 0.95em;
}
@media screen and (min-width: 751px) {
  .hero-banner__overlay {
    bottom: -0.654em;
    width: 38.1944444444%;
    padding-inline: var(--header-padding);
    padding-block: 1.737em;
  }
}

.site-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  background: rgba(255, 255, 255, 0.9);
  height: auto;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.site-header.is-drawer-open {
  background-color: #ffffff;
}

.is-drawer-open .site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
}

.is-drawer-open .site-header-spacer {
  height: var(--header-height);
}

.drawer-navigation {
  position: fixed;
  top: var(--header-height); /* 既に使っている変数でOK */
  inset: 0 auto auto 0;
  z-index: 150; /* ヘッダー未満にする */
  height: calc(100dvh - var(--header-height));
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.drawer-navigation.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* 余計な二重オフセットを外す */
.drawer-navigation {
  padding-top: 0;
}

.header-inner {
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--header-padding);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 1024px) {
  .header-inner {
    display: grid;
    grid-template-columns: auto minmax(24px, 1fr) auto auto 24px auto;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

.header-logo {
  grid-column: 1;
  width: 100%;
  max-width: min(34vw, 255px);
  padding-block: 14px 9px;
}
.header-logo img {
  aspect-ratio: 255/69;
}

.header-nav {
  display: none;
}
@media screen and (min-width: 1024px) {
  .header-nav {
    grid-column: 3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: clamp(0.938rem, -0.647rem + 2.48vw, 1.581rem);
    padding-block: 14px 9px;
    min-width: 0;
  }
}

@media screen and (min-width: 1024px) {
  .header-nav__menu .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: clamp(0.938rem, -2.139rem + 4.81vw, 2.188rem);
  }
}
.header-nav__menu .menu-item {
  color: #6095d9;
}
@media (hover: none) {
  .header-nav__menu .menu-item {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .header-nav__menu .menu-item:active {
    color: #6186B5;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .header-nav__menu .menu-item:hover {
    color: #6186B5;
  }
}
.header-nav__menu .menu-item a {
  color: inherit;
}
.header-nav__menu .menu-item-has-children {
  position: relative;
}
.header-nav__menu .menu-item-has-children.is-open .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.header-nav__menu .menu-item-has-children:after {
  content: "";
  position: absolute;
  top: 100%;
  height: 0.3125rem;
  left: 0;
  right: 0;
}
.header-nav__menu .menu-item-has-children .sub-menu {
  margin-top: 0.3125rem;
  margin-top: 0;
  border: 1px solid #6186B5;
  background-color: #ffffff;
  border-radius: 6px;
  z-index: 10;
  position: absolute;
  top: calc(100% + 0.3125rem);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: auto;
  padding-block: 0.933em;
  padding-inline: 1.267em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.4em;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.header-nav__menu .menu-item-has-children .menu-item {
  color: #6095d9;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1;
  width: auto;
  white-space: nowrap;
  font-size: 0.9375rem;
  line-height: 1.4;
  letter-spacing: 0.006em;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: none) {
  .header-nav__menu .menu-item-has-children .menu-item {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .header-nav__menu .menu-item-has-children .menu-item:active {
    color: #6186B5;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .header-nav__menu .menu-item-has-children .menu-item:hover {
    color: #6186B5;
  }
}

@media (any-hover: hover) {
  .menu-item-has-children:is(:hover, :focus-within) > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transition: opacity 0.15s ease, visibility 0s;
    transition: opacity 0.15s ease, visibility 0s;
  }
}
.header-nav__sns {
  display: none;
}
@media screen and (min-width: 1024px) {
  .header-nav__sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 15.7px;
    grid-column: 4;
  }
}

.header-nav__sns-item {
  color: #6095d9;
}
@media (hover: none) {
  .header-nav__sns-item {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .header-nav__sns-item:active {
    color: #6186B5;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .header-nav__sns-item:hover {
    color: #6186B5;
  }
}
.header-nav__sns-item svg {
  color: inherit;
  width: 25px;
  aspect-ratio: 1/1;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

.header-nav__reserve {
  display: none;
}
@media screen and (min-width: 1024px) {
  .header-nav__reserve {
    grid-column: 6;
    display: block;
    width: 110px;
    height: 100%;
    justify-self: end;
  }
}
@media screen and (min-width: 1024px) and (hover: none) {
  .header-nav__reserve {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .header-nav__reserve:active .header-nav__reserve-btn {
    background-color: #6186B5;
  }
}
@media screen and (min-width: 1024px) and (-ms-high-contrast: none), screen and (min-width: 1024px) and (-ms-high-contrast: active), screen and (min-width: 1024px) and (-moz-touch-enabled: 0), screen and (min-width: 1024px) and (hover: hover) {
  .header-nav__reserve:hover .header-nav__reserve-btn {
    background-color: #6186B5;
  }
}

.header-nav__reserve-btn {
  height: 100%;
  background-color: #6095d9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 7px;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.icon-reservation {
  color: #ffffff;
  width: 52px;
  aspect-ratio: 52/40;
}

.header-nav__reserve-btn-text {
  color: #ffffff;
  font-size: 1rem;
  letter-spacing: 0.09em;
  line-height: 1.625;
}

.header-nav-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: clamp(2.625rem, 1.625rem + 4.27vw, 3.625rem);
  height: clamp(2.063rem, 1.375rem + 2.93vw, 2.75rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 1024px) {
  .header-nav-toggle {
    display: none;
  }
}
.header-nav-toggle[aria-expanded=true] .header-nav-toggle__icon line:nth-child(1) {
  -webkit-transform: rotate(45deg) translateY(20px);
          transform: rotate(45deg) translateY(20px);
}
.header-nav-toggle[aria-expanded=true] .header-nav-toggle__icon line:nth-child(2) {
  opacity: 0;
}
.header-nav-toggle[aria-expanded=true] .header-nav-toggle__icon line:nth-child(3) {
  -webkit-transform: rotate(-45deg) translateY(-20px);
          transform: rotate(-45deg) translateY(-20px);
}

.header-nav-toggle__icon {
  width: 100%;
  height: 100%;
}

.header-nav-toggle__icon line {
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
}

.drawer-navigation {
  padding-top: clamp(2.25rem, 0.529rem + 8.6vw, 4.563rem);
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  background-color: #f5fafb;
  position: fixed;
  top: var(--header-height);
  left: 0;
  right: 0;
  z-index: 150;
}
@media screen and (min-width: 1024px) {
  .drawer-navigation {
    display: none;
  }
}
.drawer-navigation.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.drawer-navigation__menu {
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-padding--wide);
}
.drawer-navigation__menu .menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #6095d9;
  font-size: clamp(1rem, 0.256rem + 3.72vw, 2rem);
}
.drawer-navigation__menu .menu-item {
  width: 100%;
  border-bottom: 1px solid #6095d9;
  padding-left: min(22px, 2.9333333333vw);
}
@media (hover: none) {
  .drawer-navigation__menu .menu-item {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .drawer-navigation__menu .menu-item:active {
    color: #6186B5;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .drawer-navigation__menu .menu-item:hover {
    color: #6186B5;
  }
}
.drawer-navigation__menu .menu-item a {
  padding-block: clamp(1.063rem, 0.225rem + 4.19vw, 2.188rem);
  line-height: 0.5;
  color: inherit;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: none) {
  .drawer-navigation__menu .is-cta {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .drawer-navigation__menu .is-cta:active a {
    color: #6186B5;
  }
  .drawer-navigation__menu .is-cta:active a::after {
    background: #6186B5;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .drawer-navigation__menu .is-cta:hover a {
    color: #6186B5;
  }
  .drawer-navigation__menu .is-cta:hover a::after {
    background: #6186B5;
  }
}
.drawer-navigation__menu .is-cta a {
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
.drawer-navigation__menu .is-cta a::after {
  content: "";
  display: inline-block;
  -webkit-mask-image: url(../assets/svg/icon-reservation.svg);
          mask-image: url(../assets/svg/icon-reservation.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background: #6095d9;
  width: clamp(0.875rem, 0.131rem + 3.72vw, 1.875rem);
  aspect-ratio: 24/24;
  margin-left: 0.5em;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}

.drawer-navigation__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: min(30px, 4vw);
  margin-top: clamp(1.063rem, 0.225rem + 4.19vw, 2.188rem);
  padding-left: min(22px, 2.9333333333vw);
}

.drawer-navigation__sns-item {
  aspect-ratio: 1/1;
  color: #6095d9;
}
@media (hover: none) {
  .drawer-navigation__sns-item {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .drawer-navigation__sns-item:active {
    color: #6186B5;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .drawer-navigation__sns-item:hover {
    color: #6186B5;
  }
}
.drawer-navigation__sns-item svg {
  color: inherit;
  width: clamp(1.688rem, 0.432rem + 6.28vw, 3.375rem);
  aspect-ratio: 1/1;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

.hidden-tb {
  display: block;
}
@media screen and (min-width: 751px) {
  .hidden-tb {
    display: none;
  }
}

.hidden-pc {
  display: block;
}
@media screen and (min-width: 1024px) {
  .hidden-pc {
    display: none;
  }
}

.appear-tb {
  display: none;
}
@media screen and (min-width: 751px) {
  .appear-tb {
    display: block;
  }
}

.hidden {
  display: none;
}

.appear-pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  .appear-pc {
    display: block;
  }
}

.button-primary {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -ms-flex-item-align: center;
      align-self: center;
  width: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: var(--size-button);
  background-color: #ffffff;
  color: #6095d9;
  font-weight: 700;
  font-style: normal;
  font-weight: 400;
  line-height: 1.7;
  gap: 0.667em;
  padding-block: 0.467em;
  padding-inline: 2em 1.5em;
  border-radius: 90px;
  border: 1px solid #6095d9;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
@media (hover: none) {
  .button-primary {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .button-primary:active {
    background-color: #6095d9;
    color: #ffffff;
    border-color: #6095d9;
  }
  .button-primary:active::after {
    background-color: #ffffff;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .button-primary:hover {
    background-color: #6095d9;
    color: #ffffff;
    border-color: #6095d9;
  }
  .button-primary:hover::after {
    background-color: #ffffff;
  }
}
@media screen and (min-width: 751px) {
  .button-primary {
    gap: 1.144em;
    padding-block: 0.595em;
    padding-inline: 2.205em;
  }
}
.button-primary::after {
  content: "";
  display: block;
  width: 1.335em;
  aspect-ratio: 40.056/5.762;
  -webkit-mask-image: url(../assets/svg/right-arrow.svg);
          mask-image: url(../assets/svg/right-arrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #6095d9;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (min-width: 751px) {
  .button-primary::after {
    width: 2.17em;
    aspect-ratio: 39.06/4.76;
  }
}

.button-primary__text {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

@media screen and (min-width: 751px) {
  .button-primary--wide {
    padding-inline: 2.705em;
  }
}

/*====================================
button-secondary
====================================*/
.button-secondary {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border-radius: 160px;
  background: #ffffff;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(0.625rem, 0.155rem + 2.35vw, 1.257rem);
  font-size: var(--size-button-secondary-text);
  padding-block: 0.813em 0.781em;
  padding-inline: 1.55em 1.55em;
  max-width: min(73.6vw, 552px);
}
@media screen and (min-width: 1024px) {
  .button-secondary {
    gap: 10px;
  }
}

.button-secondary__icon {
  width: clamp(3.281rem, 0.839rem + 12.21vw, 6.563rem);
  aspect-ratio: 105.892/80.162;
  -webkit-mask-image: url(../assets/svg/icon-reservation-pc.svg);
          mask-image: url(../assets/svg/icon-reservation-pc.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #6095d9;
}
@media screen and (min-width: 1024px) {
  .button-secondary__icon {
    width: clamp(1.625rem, -2.375rem + 6.25vw, 3.25rem);
  }
}

.button-secondary__text {
  color: #6095d9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  font-size: var(--size-button-secondary-text);
  gap: 0.281em;
  line-height: 1;
}

.button-secondary__text-primary {
  font-size: inherit;
  letter-spacing: 0.11em;
  white-space: nowrap;
}

.button-secondary__text-secondary {
  font-size: 1.25em;
  letter-spacing: 0.07em;
  white-space: nowrap;
}

/*====================================
button-tertiary
====================================*/
.button-tertiary {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: relative;
  width: 100%;
  font-size: var(--size-button--tertiary);
  background-color: #ffffff;
  color: #6095d9;
  font-weight: 700;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  gap: 0.667em;
  height: 100%;
  padding-left: clamp(1.875rem, -0.916rem + 13.95vw, 5.625rem);
  border-radius: 90px;
  border: 1px solid #6095d9;
  padding-block: clamp(0.694rem, 0.177rem + 2.58vw, 1.387rem);
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  height: 100%;
}
@media (hover: none) {
  .button-tertiary {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .button-tertiary:active {
    background-color: #6095d9;
    color: #ffffff;
    border-color: #6095d9;
  }
  .button-tertiary:active::after {
    background-color: #ffffff;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .button-tertiary:hover {
    background-color: #6095d9;
    color: #ffffff;
    border-color: #6095d9;
  }
  .button-tertiary:hover::after {
    background-color: #ffffff;
  }
}
@media screen and (min-width: 751px) {
  .button-tertiary {
    padding-left: clamp(3.688rem, -0.095rem + 8.06vw, 5.063rem);
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 1024px) {
  .button-tertiary {
    padding-left: 2.053em;
    gap: 1.144em;
    padding-block: 0.972em;
  }
}
.button-tertiary::after {
  position: absolute;
  content: "";
  display: block;
  width: 0.767em;
  top: 50%;
  -webkit-transform: translateY(calc(-50% + 1px));
          transform: translateY(calc(-50% + 1px));
  right: 1.03em;
  aspect-ratio: 23.212/12.226;
  -webkit-mask-image: url(../assets/svg/under-arrow.svg);
          mask-image: url(../assets/svg/under-arrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #6095d9;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .button-tertiary::after {
    width: 0.645em;
    aspect-ratio: 11/6;
    right: 1.667em;
  }
}

/*====================================
footer-overview
====================================*/
.footer-overview {
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-padding--narrow);
  padding-block: var(--container-padding-block--sp--110) var(--container-padding-block--sp--120);
}
@media screen and (min-width: 1024px) {
  .footer-overview {
    padding-block: clamp(2.813rem, -4.111rem + 10.82vw, 5.625rem) var(--container-padding-block--pc--120);
  }
}

.footer-overview__inner {
  max-width: 700px;
  width: 100%;
  margin-inline: auto;
}

.footer-overview__title {
  font-size: var(--size-footer-overview-title);
  color: #6095d9;
  text-align: center;
}

.footer-overview__list {
  margin-top: clamp(1.688rem, 0.432rem + 6.28vw, 3.375rem);
  border-top: 1px solid #CDE5E9;
}
@media screen and (min-width: 1024px) {
  .footer-overview__list {
    margin-top: clamp(1.875rem, -2.74rem + 7.21vw, 3.75rem);
  }
}

.footer-overview__row {
  border-bottom: 1px solid #CDE5E9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-size: var(--size-p);
  line-height: 1;
  padding-block: 0.786em;
}
@media screen and (min-width: 1024px) {
  .footer-overview__row {
    padding-block: 1.5em;
  }
}

.footer-overview__term {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 clamp(6.25rem, -0.913rem + 35.81vw, 15.875rem);
          flex: 0 0 clamp(6.25rem, -0.913rem + 35.81vw, 15.875rem);
  padding-left: 0.3em;
}
@media screen and (min-width: 1024px) {
  .footer-overview__term {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 255px;
            flex: 0 0 255px;
    padding-left: 1.8em;
    -ms-flex: 0 0 286px;
        flex: 0 0 286px;
  }
}

.footer-overview__desc {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  line-height: 1.21;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 1024px) {
  .footer-overview__desc {
    letter-spacing: 0;
    line-height: 1.5;
  }
}

.footer {
  background-color: #6095d9;
}

.footer__inner {
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .footer__inner {
    padding-block: var(--footer-padding-block--pc);
    padding-inline: var(--container-padding--middle);
  }
}

.footer__upper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1024px) {
  .footer__upper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: clamp(1.563rem, -4.13rem + 8.89vw, 3.875rem);
  }
}

.footer__info {
  padding-inline: var(--footer-padding);
  padding-block: clamp(2.188rem, 0.56rem + 8.14vw, 4.375rem) clamp(3.125rem, 0.799rem + 11.63vw, 6.25rem);
  color: #ffffff;
}
@media screen and (min-width: 1024px) {
  .footer__info {
    padding-inline: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0.5 auto;
            flex: 0 0.5 auto;
    padding-block: 0;
  }
}

.footer__logo {
  aspect-ratio: 85/23;
  max-width: min(68vw, 510px);
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .footer__logo {
    margin-inline: 0;
    max-width: 255px;
    aspect-ratio: 255/69;
  }
}

.footer__address {
  margin-top: clamp(0.625rem, 0.16rem + 2.33vw, 1.25rem);
  font-size: var(--size-footer-address);
  line-height: 1.35;
  letter-spacing: 0.014em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .footer__address {
    text-align: left;
    margin-top: clamp(1.063rem, -1.553rem + 4.09vw, 2.125rem);
  }
}
.footer__address span {
  display: block;
}
@media screen and (min-width: 1024px) {
  .footer__address span {
    display: inline-block;
  }
}
@media screen and (min-width: 1024px) {
  .footer__address span:first-child {
    margin-right: 1em;
  }
}

.footer__info-bottom {
  margin-top: clamp(0.625rem, 0.16rem + 2.33vw, 1.25rem);
}
@media screen and (min-width: 1024px) {
  .footer__info-bottom {
    margin-top: clamp(0.625rem, -0.913rem + 2.4vw, 1.25rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: 10px;
  }
}

.footer__lead {
  text-align: center;
  margin-top: clamp(1.25rem, 0.32rem + 4.66vw, 2.5rem);
  font-size: var(--size-footer-lead);
  line-height: 1.5;
}
@media screen and (min-width: 1024px) {
  .footer__lead {
    margin-top: clamp(0.625rem, -1.067rem + 2.64vw, 1.313rem);
    text-align: left;
  }
}

@media (hover: none) {
  .footer__tel {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .footer__tel:active {
    opacity: 0.8;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .footer__tel:hover {
    opacity: 0.8;
  }
}

.footer__tel-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-size: var(--size-footer-tel);
  line-height: 1;
  letter-spacing: 0.02em;
  gap: 0.143em;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 1024px) {
  .footer__tel-link {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    letter-spacing: 0.04em;
    line-height: 1;
    gap: 0.143em;
  }
}
.footer__tel-link::before {
  content: "";
  display: block;
  width: 0.769em;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../assets/svg/icon-tel.svg);
          mask-image: url(../assets/svg/icon-tel.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #ffffff;
}
.footer__tel-link span {
  font-size: inherit;
}

.footer__hours {
  font-size: var(--size-footer-hours);
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media screen and (min-width: 1024px) {
  .footer__hours {
    margin-top: 0.325em;
    letter-spacing: 0;
    white-space: nowrap;
  }
}

.footer__cta {
  margin-top: clamp(1.094rem, 0.28rem + 4.07vw, 2.188rem);
  text-align: center;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 1024px) {
  .footer__cta {
    margin-top: 0;
  }
}
@media (hover: none) {
  .footer__cta {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .footer__cta:active {
    opacity: 0.8;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .footer__cta:hover {
    opacity: 0.8;
  }
}

.footer__sns {
  margin-top: clamp(1.875rem, 0.48rem + 6.98vw, 3.75rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(1.688rem, 0.432rem + 6.28vw, 3.375rem);
}
@media screen and (min-width: 1024px) {
  .footer__sns {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 23px;
    margin-top: clamp(0.938rem, -0.293rem + 1.92vw, 1.438rem);
  }
}

.icon {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media (hover: none) {
  .icon {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .icon:active {
    opacity: 0.8;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .icon:hover {
    opacity: 0.8;
  }
}

.icon-instagram {
  width: clamp(2.313rem, 0.517rem + 8.98vw, 4.725rem);
  aspect-ratio: 75.6/75.6;
}
@media screen and (min-width: 1024px) {
  .icon-instagram {
    width: 42px;
  }
}

.icon-tiktok {
  width: clamp(2.313rem, 0.517rem + 8.98vw, 4.725rem);
  aspect-ratio: 75.6/75.6;
}
@media screen and (min-width: 1024px) {
  .icon-tiktok {
    width: 42px;
  }
}

.footer__map {
  max-width: 750px;
  width: 100%;
  aspect-ratio: 750/550;
  overflow: hidden;
}
.footer__map iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 1024px) {
  .footer__map {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 570px;
            flex: 1 1 570px;
    aspect-ratio: 570/420;
  }
}

.footer__bottom {
  background-color: #ffffff;
}

.footer__copy {
  display: block;
  padding-block: 1.25em 0.833em;
  color: #333333;
  letter-spacing: 0.05em;
  line-height: 1;
  font-size: var(--size-footer-copy);
  text-align: center;
  color: #6095d9;
}

.footer__fixed {
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  height: 3.325em;
  font-size: var(--size-footer-fixed-text);
  background-color: #6095d9;
  z-index: 50;
  -webkit-box-shadow: 0 -3px 5px 0 rgba(0, 0, 0, 0.22);
          box-shadow: 0 -3px 5px 0 rgba(0, 0, 0, 0.22);
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease, pointer-events 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease, pointer-events 0.3s ease;
}
@media screen and (min-width: 751px) {
  .footer__fixed {
    display: none;
  }
}

.footer__fixed.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  overflow: hidden;
}

.footer__fixed-inner {
  height: 100%;
}

.footer__fixed-content-link {
  display: block;
  width: 100%;
  height: 100%;
}

.footer__fixed-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(3.8106666667vw, 28.58px);
  color: #ffffff;
  height: 100%;
}
.footer__fixed-content::before {
  content: "";
  display: block;
  width: 2.469em;
  aspect-ratio: 74.419/60.122;
  -webkit-mask-image: url(../assets/svg/icon-reservation-pc.svg);
          mask-image: url(../assets/svg/icon-reservation-pc.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #ffffff;
}

.footer__fixed-content-text {
  font-size: inherit;
  line-height: 1; /* 56.25% */
  letter-spacing: 0.06em;
}

.footer__map--access {
  display: none;
}
@media screen and (min-width: 1024px) {
  .footer__map--access {
    display: block;
  }
}

.breadcrumb-wrap {
  margin-top: var(--breadcrumb-margin-top);
  margin-inline: auto;
  padding-inline: var(--header-padding);
}

.breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: var(--size-breadcrumb);
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.3em;
  line-height: 1;
  letter-spacing: 0.01em;
}

.breadcrumb-item {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  white-space: nowrap;
}
.breadcrumb-item:not(:first-child)::before {
  content: ">";
  margin-right: 0.3em;
}
.breadcrumb-item a {
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  height: 100%;
}
@media (hover: none) {
  .breadcrumb-item a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .breadcrumb-item a:active {
    color: #6186B5;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .breadcrumb-item a:hover {
    color: #6186B5;
  }
}

.c-pagination {
  margin-top: clamp(1.875rem, 0.015rem + 9.3vw, 4.375rem);
}
@media screen and (min-width: 1024px) {
  .c-pagination {
    margin-top: 3.125rem;
  }
}

.c-pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-inline: auto;
  gap: 10px;
}
@media screen and (min-width: 1024px) {
  .c-pagination__list {
    gap: 14px;
  }
}

.c-pagination__item,
.c-pagination__item--dots {
  font-size: clamp(0.75rem, 0.192rem + 2.79vw, 1.5rem);
  line-height: 1;
  letter-spacing: -0.02em;
  display: grid;
  place-items: center;
  border: 1px solid #333333;
  width: clamp(1.688rem, 0.432rem + 6.28vw, 3.375rem);
  border-radius: 6px;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 751px) {
  .c-pagination__item,
  .c-pagination__item--dots {
    font-size: 1rem;
    line-height: 1;
    letter-spacing: -0.02em;
    width: 36px;
  }
}
.c-pagination__item a,
.c-pagination__item--dots a {
  -webkit-transition: background-color 0.3s ease color 0.3s ease;
  transition: background-color 0.3s ease color 0.3s ease;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}
@media (hover: none) {
  .c-pagination__item a,
  .c-pagination__item--dots a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .c-pagination__item a:active,
  .c-pagination__item--dots a:active {
    background-color: #6095d9;
    color: #ffffff;
    border-color: #6095d9;
  }
  .c-pagination__item a:active::after,
  .c-pagination__item--dots a:active::after {
    background-color: #ffffff;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .c-pagination__item a:hover,
  .c-pagination__item--dots a:hover {
    background-color: #6095d9;
    color: #ffffff;
    border-color: #6095d9;
  }
  .c-pagination__item a:hover::after,
  .c-pagination__item--dots a:hover::after {
    background-color: #ffffff;
  }
}

.is-current {
  background-color: #6095d9;
  color: #ffffff;
  border-color: #6095d9;
}

.p-entry-nav {
  margin-top: clamp(1.875rem, 0.015rem + 9.3vw, 4.375rem);
}
@media screen and (min-width: 1024px) {
  .p-entry-nav {
    margin-top: 3.125rem;
  }
}

.p-entry-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(0.844rem, 0.216rem + 3.14vw, 1.688rem);
}
@media screen and (min-width: 1024px) {
  .p-entry-nav__list {
    max-width: 420px;
    margin-inline: auto;
    gap: 1.25rem;
  }
}

.p-entry-nav__item--next a,
.p-entry-nav__item--prev a,
.p-entry-nav__item--archive a {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
}

.p-entry-nav__item--archive {
  border: 1.8px solid #333333;
  background: #ffffff;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  font-size: var(--size-p);
  line-height: 1.28571;
  letter-spacing: 0.143em;
  height: clamp(2.475rem, 0.633rem + 9.21vw, 4.95rem);
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
@media (hover: none) {
  .p-entry-nav__item--archive {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .p-entry-nav__item--archive:active {
    background-color: #6095d9;
    color: #ffffff;
    border-color: #6095d9;
  }
  .p-entry-nav__item--archive:active::after {
    background-color: #ffffff;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .p-entry-nav__item--archive:hover {
    background-color: #6095d9;
    color: #ffffff;
    border-color: #6095d9;
  }
  .p-entry-nav__item--archive:hover::after {
    background-color: #ffffff;
  }
}
@media screen and (min-width: 1024px) {
  .p-entry-nav__item--archive {
    height: 44px;
  }
}

.p-entry-nav__item--next,
.p-entry-nav__item--prev {
  height: clamp(2.475rem, 0.633rem + 9.21vw, 4.95rem);
  aspect-ratio: 82.8/79.2;
  border: 1.8px solid #333333;
  background: #ffffff;
  font-size: var(--size-entry-nav);
  line-height: 1;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
@media (hover: none) {
  .p-entry-nav__item--next,
  .p-entry-nav__item--prev {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .p-entry-nav__item--next:active,
  .p-entry-nav__item--prev:active {
    background-color: #6095d9;
    color: #ffffff;
    border-color: #6095d9;
  }
  .p-entry-nav__item--next:active::after,
  .p-entry-nav__item--prev:active::after {
    background-color: #ffffff;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .p-entry-nav__item--next:hover,
  .p-entry-nav__item--prev:hover {
    background-color: #6095d9;
    color: #ffffff;
    border-color: #6095d9;
  }
  .p-entry-nav__item--next:hover::after,
  .p-entry-nav__item--prev:hover::after {
    background-color: #ffffff;
  }
}
@media screen and (min-width: 1024px) {
  .p-entry-nav__item--next,
  .p-entry-nav__item--prev {
    height: 44px;
    aspect-ratio: 46/44;
  }
}
.p-entry-nav__item--next span,
.p-entry-nav__item--prev span {
  -webkit-transform: translateY(-0.2em);
          transform: translateY(-0.2em);
}

.p-entry-nav__item--next {
  border-radius: 10.8px 0 0 10.8px;
}

.p-entry-nav__item--prev {
  border-radius: 0 10.8px 10.8px 0;
}

.is-invisible {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

@media screen and (min-width: 1024px) {
  .l-sidebar {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 235px;
            flex: 0 1 235px;
  }
}

.c-widget + .c-widget {
  margin-top: clamp(1.875rem, 0.015rem + 9.3vw, 4.375rem);
}
@media screen and (min-width: 1024px) {
  .c-widget + .c-widget {
    margin-top: 3.125rem;
  }
}

.c-widget__title {
  font-size: var(--size-widget-title);
  letter-spacing: 0.02em;
  color: #6095d9;
  padding-bottom: 0.656em;
  border-bottom: 1px solid #6095d9;
  line-height: 0.7;
}
@media screen and (min-width: 1024px) {
  .c-widget__title {
    line-height: 1.5556;
    padding-bottom: 0.625em;
  }
}

.c-widget__item {
  font-size: var(--size-p);
  border-bottom: 1px solid #CDE5E9;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media (hover: none) {
  .c-widget__item {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .c-widget__item:active {
    color: #6186B5;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .c-widget__item:hover {
    color: #6186B5;
  }
}
.c-widget__item:first-child .c-widget__link {
  padding-top: clamp(0.625rem, 0.16rem + 2.33vw, 1.25rem);
}
@media screen and (min-width: 1024px) {
  .c-widget__item:first-child .c-widget__link {
    padding-top: 0.7375rem;
  }
}
.c-widget__item + .c-widget__item .c-widget__link {
  padding-top: 0.593em;
}

.c-widget__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: inherit;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 0.593em;
}

.c-widget__date {
  font-size: 0.929em;
  line-height: 1.23077;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 1024px) {
  .c-widget__date {
    font-size: 0.875em;
  }
}

.c-widget__text {
  font-size: inherit;
  line-height: 1;
  letter-spacing: 0.02em;
  margin-top: 0.586em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (min-width: 1024px) {
  .c-widget__text {
    line-height: 1.375;
    margin-top: 0.05em;
  }
}

.hero {
  width: 100%;
  position: relative;
  padding-bottom: 29px;
}
@media screen and (min-width: 751px) {
  .hero {
    padding-bottom: 0;
  }
}

.hero__image {
  width: 100%;
  aspect-ratio: 1/1;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 751px) {
  .hero__image {
    aspect-ratio: 1440/750;
  }
}
@media screen and (min-width: 1440px) {
  .hero__image {
    height: 750px;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.hero__image::before {
  position: absolute;
  inset: 0;
  content: "";
  background: rgba(81, 116, 162, 0.25);
  mix-blend-mode: overlay;
  z-index: 1;
}
.hero__image::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(141deg, rgba(67, 132, 216, 0.25) 1.69%, rgba(235, 244, 255, 0.25) 49.43%, rgba(67, 132, 216, 0.25) 97.18%);
  mix-blend-mode: lighten;
  z-index: 2;
}

.hero__title {
  position: absolute;
  z-index: 3;
  bottom: 10px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-size: var(--size-h1);
  gap: 0.625em;
}
@media screen and (min-width: 751px) {
  .hero__title {
    gap: 0.789em;
    bottom: clamp(2.375rem, -0.146rem + 5.37vw, 4.688rem);
    font-size: clamp(1.1875rem, -0.107rem + 2.76vw, 2.375rem);
  }
}
.hero__title span {
  background-color: #ffffff;
  border-radius: 0 6px 6px 0;
  -webkit-box-shadow: -4px 7px 10px 0 rgba(0, 0, 0, 0.16);
          box-shadow: -4px 7px 10px 0 rgba(0, 0, 0, 0.16);
  color: #6095d9;
  padding-inline: var(--container-padding--wide);
  padding-block: 0.417em 0.333em;
}
@media screen and (min-width: 751px) {
  .hero__title span {
    padding-block: 0.263em;
  }
}

/*====================================
お知らせ
====================================*/
.latest-info {
  margin-top: calc(clamp(2.188rem, 0.141rem + 10.23vw, 4.938rem) - 29px);
  font-size: var(--size-p);
  padding-inline: var(--container-padding--middle);
  max-width: var(--container-max);
  margin-inline: auto;
}
@media screen and (min-width: 751px) {
  .latest-info {
    position: relative;
    z-index: 2;
    margin-top: -15px;
  }
}

.latest-info__item {
  border-radius: 60px;
  border: 1px solid #6095d9;
  background: #fff;
  padding-block: 0.679em;
  padding-inline: 1.429em;
}
@media screen and (min-width: 751px) {
  .latest-info__item {
    padding: clamp(0.625rem, -0.056rem + 1.45vw, 1.25rem) clamp(1.563rem, -0.141rem + 3.63vw, 3.125rem);
  }
}
@media (hover: none) {
  .latest-info__item {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .latest-info__item:active .latest-info__title {
    color: #6186B5;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .latest-info__item:hover .latest-info__title {
    color: #6186B5;
  }
}

.latest-info__link {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.643em;
}
@media screen and (min-width: 751px) {
  .latest-info__link {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.latest-info__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 1.25em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (min-width: 751px) {
  .latest-info__meta {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 178px;
            flex: 0 0 178px;
  }
}

.latest-info__date {
  line-height: 1.21429;
  letter-spacing: 0.01em;
}

.latest-info__category {
  line-height: 1;
  letter-spacing: 0.009em;
  color: #ffffff;
  padding: 0.384em 0.987em;
  background-color: #6095d9;
  border-radius: 30px;
  font-size: 0.857em;
  text-wrap: nowrap;
}

.latest-info__content {
  width: 100%;
  min-width: 0;
}
@media screen and (min-width: 751px) {
  .latest-info__content {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.latest-info__content::after {
  display: none;
}
@media screen and (min-width: 751px) {
  .latest-info__content::after {
    display: block;
    content: "";
    width: 2.438em;
    height: 0.298em;
    -webkit-mask-image: url(../assets/svg/right-arrow.svg);
            mask-image: url(../assets/svg/right-arrow.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    background-color: #6095d9;
  }
}

.latest-info__title {
  display: block;
  width: 100%;
  line-height: 1;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

/*====================================
about
====================================*/
.section-about {
  margin-block: clamp(2.938rem, 0.751rem + 10.93vw, 5.875rem) clamp(3.125rem, 0.799rem + 11.63vw, 6.25rem);
}

.section-about__inner {
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-padding--narrow);
}

.section-about-intro {
  display: grid;
  grid-template-columns: 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  position: relative;
  gap: clamp(1.875rem, 0.48rem + 6.98vw, 3.75rem);
}
@media screen and (min-width: 751px) {
  .section-about-intro {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: clamp(1.938rem, -0.174rem + 4.5vw, 3.875rem);
  }
}

.section-about-intro__text {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  justify-self: end;
  -ms-flex-item-align: start;
      align-self: start;
  padding-block: clamp(2.063rem, -1.658rem + 18.6vw, 7.063rem);
}
@media screen and (min-width: 751px) {
  .section-about-intro__text {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 302px;
            flex: 0 1 302px;
    padding-block: 0;
    gap: 62px;
  }
}

.section-about-intro__heading {
  color: #6095d9;
  font-size: clamp(1.563rem, 0.4rem + 5.81vw, 3.125rem);
  text-align: start;
  line-height: 1.2;
}
@media screen and (min-width: 751px) {
  .section-about-intro__heading {
    font-size: 2.125rem;
  }
}
.section-about-intro__heading span {
  display: block;
}
.section-about-intro__heading span:nth-of-type(n + 2) {
  margin-right: 0.7em;
}
@media screen and (min-width: 751px) {
  .section-about-intro__heading span:nth-of-type(n + 2) {
    margin-right: 0.588em;
  }
}

.section-about-intro__desc {
  margin-right: 2.333em;
  -webkit-font-feature-settings: "vrt2" on;
          font-feature-settings: "vrt2" on;
  font-size: var(--size-about-text);
  line-height: 1.2;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 751px) {
  .section-about-intro__desc {
    font-size: 1rem;
    margin-right: clamp(1.563rem, -0.141rem + 3.63vw, 3.125rem);
  }
}
.section-about-intro__desc span {
  display: block;
}
.section-about-intro__desc span:nth-of-type(n + 2) {
  margin-right: 1em;
}
@media screen and (min-width: 751px) {
  .section-about-intro__desc span:nth-of-type(n + 2) {
    margin-right: 1.25em;
  }
}

.section-about-intro__image {
  position: relative;
  width: 100%;
  height: clamp(11.938rem, 0.589rem + 56.74vw, 27.188rem);
  z-index: 1;
}
@media screen and (min-width: 751px) {
  .section-about-intro__image {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    height: clamp(19.813rem, 13.818rem + 12.77vw, 25.313rem);
  }
}
.section-about-intro__image::after {
  content: "";
  display: block;
  position: absolute;
  border: 1.139px solid #CDE5E9;
  pointer-events: none;
  z-index: 0;
  border-radius: 6.832px;
  top: clamp(2.313rem, 1.522rem + 3.95vw, 3.375rem);
  left: clamp(1.25rem, -0.703rem + 9.77vw, 3.875rem);
  width: min(68.5333333333vw, 514px);
  aspect-ratio: 514/312;
}
@media screen and (min-width: 751px) {
  .section-about-intro__image::after {
    top: 54px;
    left: clamp(0.5rem, -5.631rem + 13.06vw, 6.125rem);
    width: clamp(13.5rem, -1.01rem + 30.91vw, 26.813rem);
    aspect-ratio: 429/312;
  }
}

.section-about-intro__image01,
.section-about-intro__image02 {
  position: absolute;
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: rgba(0, 0, 0, 0.16) 0 6px 6px 0;
          box-shadow: rgba(0, 0, 0, 0.16) 0 6px 6px 0;
  isolation: isolate;
  z-index: 1;
}
.section-about-intro__image01::before,
.section-about-intro__image02::before {
  position: absolute;
  inset: 0;
  content: "";
  background: rgba(81, 116, 162, 0.25);
  mix-blend-mode: overlay;
  z-index: 2;
}
.section-about-intro__image01::after,
.section-about-intro__image02::after {
  position: absolute;
  inset: 0;
  content: "";
  mix-blend-mode: lighten;
  z-index: 3;
  background: -webkit-gradient(linear, left top, left bottom, from(#4384d8), color-stop(49.19%, #ebf4ff), to(#4384d8));
  background: linear-gradient(#4384d8 0%, #ebf4ff 49.19%, #4384d8 100%);
  opacity: 0.2;
}
.section-about-intro__image01 img,
.section-about-intro__image02 img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.section-about-intro__image01 {
  position: absolute;
  top: 0;
  right: 0;
  width: min(60vw, 450px);
  height: auto;
}
@media screen and (min-width: 751px) {
  .section-about-intro__image01 {
    width: clamp(12.938rem, -1.573rem + 30.91vw, 26.25rem);
  }
}
.section-about-intro__image01 img {
  aspect-ratio: 75/58;
}

.section-about-intro__image02 {
  bottom: 0;
  left: 0;
  width: min(29.3333333333vw, 220px);
  height: auto;
}
@media screen and (min-width: 751px) {
  .section-about-intro__image02 {
    width: clamp(7.5rem, 2.731rem + 10.16vw, 11.875rem);
  }
}
.section-about-intro__image02 img {
  aspect-ratio: 22/27;
}

.section-about-points {
  margin-block: var(--container-padding-block--sp--100);
}

.section-about-points__title {
  color: #6095d9;
  line-height: 1.101;
  letter-spacing: 0.11em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .section-about-points__title {
    font-size: 2.125rem;
    letter-spacing: 0.09em;
    line-height: 1.235;
  }
}

.points {
  margin-top: 2.8em;
  font-size: clamp(0.8rem, 4vw, 1.875rem);
  display: grid;
  grid-template-columns: minmax(0, 690px);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.933em;
}
@media screen and (min-width: 751px) {
  .points {
    font-size: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .points {
    margin-top: 4.5em;
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: space-between;
        -ms-flex-align: space-between;
            align-items: space-between;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.points__item {
  border-radius: 110px;
  background: #ffffff;
  position: relative;
  padding: 1.667em 1.933em;
  letter-spacing: 0;
}
@media screen and (min-width: 1024px) {
  .points__item {
    max-width: 475px;
    width: 100%;
    height: 125px;
    padding-inline: clamp(1.094rem, -4.291rem + 8.41vw, 3.281rem);
    display: grid;
    place-items: center;
  }
}
.points__item:nth-of-type(2) {
  letter-spacing: 0.05em;
}
.points__item:nth-of-type(3) {
  letter-spacing: -0.04em;
}

.points__icon {
  position: absolute;
  left: 0.626em;
  top: -2.062em;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
  width: 2.49em;
  aspect-ratio: 74.691/61.851;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  color: #6095d9;
}

.points__lead {
  font-size: inherit;
  line-height: 1.4;
  letter-spacing: inherit;
}
.points__lead .underline {
  text-decoration: underline;
  text-decoration-color: #fffc9f;
  text-underline-offset: -0.4em;
  text-decoration-thickness: 0.7em;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
}

.section-about-points__button {
  margin-top: clamp(2.5rem, 0.605rem + 9.48vw, 5.047rem);
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .section-about-points__button {
    margin-top: 60px;
  }
}

/*====================================
  service
  ====================================*/
.section-service {
  background-color: #ffffff;
  padding-block: var(--container-padding-block--sp--100);
}
@media screen and (min-width: 1024px) {
  .section-service {
    padding-block: var(--container-padding-block--pc--100);
  }
}

.section-service__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding--narrow);
}

.section-service__grid {
  margin-top: clamp(1.875rem, 0.48rem + 6.98vw, 3.75rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(0.938rem, 0.24rem + 3.49vw, 1.875rem);
}
@media screen and (min-width: 751px) {
  .section-service__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
  }
}

.section-service__item {
  border-radius: 6px;
  border: 1px solid #6095d9;
  width: 100%;
  -webkit-transition: -webkit-box-shadow 0.3s ease;
  transition: -webkit-box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease;
  aspect-ratio: 210/182;
}
@media screen and (min-width: 751px) {
  .section-service__item {
    aspect-ratio: 220/200;
  }
}
@media (hover: none) {
  .section-service__item {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .section-service__item:active {
    -webkit-box-shadow: -4px 7px 10px rgba(0, 0, 0, 0.16);
            box-shadow: -4px 7px 10px rgba(0, 0, 0, 0.16);
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .section-service__item:hover {
    -webkit-box-shadow: -4px 7px 10px rgba(0, 0, 0, 0.16);
            box-shadow: -4px 7px 10px rgba(0, 0, 0, 0.16);
  }
}
.section-service__item:nth-of-type(2) .section-service__icon {
  width: 51.9223809524%;
  aspect-ratio: 109.037/75.504;
}
.section-service__item:nth-of-type(4) .section-service__icon {
  width: 60.670952381%;
  aspect-ratio: 127.409/67.964;
}
.section-service__item:nth-of-type(5) .section-service__icon {
  width: 43.3047619048%;
  aspect-ratio: 90.94/74.606;
}
.section-service__item:nth-of-type(6) .section-service__icon {
  width: 75.7680952381%;
  aspect-ratio: 159.113/67.115;
}
.section-service__item:nth-of-type(7) .section-service__icon {
  width: 31.9704761905%;
  aspect-ratio: 67.138/75.504;
}
.section-service__item:nth-of-type(9) .section-service__icon {
  width: 58.5457142857%;
  aspect-ratio: 122.946/75.868;
}
.section-service__item:nth-of-type(10) .section-service__icon {
  width: 41.4285714286%;
  aspect-ratio: 87/75.357;
}
.section-service__item:nth-of-type(10) .section-service__label {
  font-size: clamp(0.6875rem, -0.196rem + 4.42vw, 1.75rem);
  letter-spacing: -0.08em;
  white-space: nowrap;
}
@media screen and (min-width: 751px) {
  .section-service__item:nth-of-type(10) .section-service__label {
    font-size: 1.125rem;
  }
}
.section-service__item:nth-of-type(11) .section-service__icon {
  width: 52.5461904762%;
  aspect-ratio: 110.347/71.714;
}
.section-service__item:nth-of-type(12) .section-service__icon {
  width: 45.950952381%;
  aspect-ratio: 96.497/75.75;
}

.section-service__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.836em;
  font-size: var(--size-service-text);
  height: 100%;
  width: 100%;
}

.section-service__icon {
  width: 33.9647619048%;
  aspect-ratio: 71.326/75.505;
}

.section-service__label {
  color: #6095d9;
  font-size: inherit;
  line-height: 1.4;
}

.section-service__button {
  margin-top: 60px;
  text-align: center;
}

/*====================================

====================================*/
.section-message {
  background-color: #ffffff;
  padding-inline: min(4vw, 30px);
}
@media screen and (min-width: 1024px) {
  .section-message {
    padding-inline: 0;
  }
}

.section-message__inner {
  background-color: #f5fafb;
  padding-block: var(--container-padding-block--sp--80);
  margin-inline: auto;
  border-radius: 6px;
  padding-inline: var(--container-padding--middle);
}
@media screen and (min-width: 1024px) {
  .section-message__inner {
    max-width: var(--container-max-middle);
    padding-block: var(--container-padding-block--pc--80);
  }
}

.section-message__body {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.267em;
  font-size: var(--size-message-text);
}
@media screen and (min-width: 1024px) {
  .section-message__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 50px;
  }
}

.section-message__photo-wrapper {
  position: relative;
  margin-inline: auto;
  width: min(36vw, 298px);
  z-index: 2;
}
.section-message__photo-wrapper::after {
  position: absolute;
  width: 73.8255033557%;
  aspect-ratio: 222/248;
  content: "";
  border-radius: 6.832px;
  top: clamp(3.188rem, -0.022rem + 16.05vw, 7.5rem);
  left: -41px;
  border: 1.139px solid #CDE5E9;
  z-index: 0;
  pointer-events: none;
}
@media screen and (min-width: 1024px) {
  .section-message__photo-wrapper::after {
    width: min(79.2857142857%, 222px);
  }
}
@media screen and (min-width: 1024px) {
  .section-message__photo-wrapper {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 280px;
            flex: 0 0 280px;
    width: 100%;
    height: 100%;
  }
}

.section-message__photo {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  -webkit-box-shadow: -4px 7px 10px rgba(0, 0, 0, 0.16);
          box-shadow: -4px 7px 10px rgba(0, 0, 0, 0.16);
  z-index: 3;
}
@media screen and (min-width: 1024px) {
  .section-message__photo {
    width: 100%;
    height: 100%;
    aspect-ratio: 280/320;
  }
}
.section-message__photo::before {
  position: absolute;
  inset: 0;
  content: "";
  background: rgba(81, 116, 162, 0.25);
  mix-blend-mode: overlay;
  z-index: 4;
}
.section-message__photo::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(141deg, rgba(67, 132, 216, 0.25) 1.69%, rgba(235, 244, 255, 0.25) 49.43%, rgba(67, 132, 216, 0.25) 97.18%);
  mix-blend-mode: lighten;
  z-index: 5;
}

.section-message__text {
  font-size: inherit;
  line-height: 1.533;
}
@media screen and (min-width: 751px) {
  .section-message__text {
    font-size: 16px;
    line-height: 2.125;
  }
}

.section-message__sign {
  margin-top: clamp(1.25rem, 0.32rem + 4.65vw, 2.5rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 1.5em;
}
@media screen and (min-width: 1024px) {
  .section-message__sign {
    margin-top: 39px;
  }
}

.section-message__role {
  font-size: var(--size-p);
  line-height: 1.4;
}
@media screen and (min-width: 1024px) {
  .section-message__role {
    font-size: 0.875rem;
  }
}

.section-message__name {
  font-size: clamp(1.125rem, 0.288rem + 4.19vw, 2.25rem);
  line-height: 1.4;
}
@media screen and (min-width: 1024px) {
  .section-message__name {
    font-size: 1.125rem;
  }
}

.section-message__button {
  margin-top: clamp(1.875rem, 0.48rem + 6.98vw, 3.75rem);
  text-align: center;
}

/*====================================
news
====================================*/
.section-news {
  background-color: #ffffff;
  padding-block: var(--container-padding-block--sp--100);
}
@media screen and (min-width: 1024px) {
  .section-news {
    padding-block: var(--container-padding-block--pc--80);
  }
}

.section-news__inner {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding--narrow);
}

.section-news__list {
  margin-top: 60px;
}
@media screen and (min-width: 751px) {
  .section-news__list {
    padding-inline: min(5.2083333333vw, 75px);
  }
}

.news-card {
  border-bottom: 1px solid #CDE5E9;
  font-size: var(--size-p);
  padding-block: 1.571em 1.25em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.893em;
}
@media screen and (min-width: 751px) {
  .news-card {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 20px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    min-width: 0;
  }
}
.news-card:first-of-type {
  border-top: 1px solid #CDE5E9;
}

.news-card__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.714em;
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .news-card__meta {
    gap: 20px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 178px;
            flex: 0 0 178px;
  }
}

.news-card__date {
  font-size: inherit;
  line-height: 1.21429;
  letter-spacing: 0.01em;
}

.news-card__cat {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
  letter-spacing: 0.01em;
  background: #6095d9;
  color: #ffffff;
  border: 1px solid #6095d9;
  overflow: hidden;
  border-radius: 30px;
}
@media screen and (min-width: 751px) {
  .news-card__cat {
    border-radius: 12px;
  }
}

.news-card__cat-link {
  padding: 0.271em 0.833em;
  border-radius: 30px;
  width: 100%;
  height: 100%;
  font-size: 0.857em;
  -webkit-transition: color 0.3s, border-color 0.3s, background-color 0.3s ease;
  transition: color 0.3s, border-color 0.3s, background-color 0.3s ease;
}
@media (hover: none) {
  .news-card__cat-link {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .news-card__cat-link:active {
    color: #6095d9;
    border-color: #6095d9;
    background-color: #ffffff;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .news-card__cat-link:hover {
    color: #6095d9;
    border-color: #6095d9;
    background-color: #ffffff;
  }
}
@media screen and (min-width: 751px) {
  .news-card__cat-link {
    border-radius: 12px;
    padding: 0.385em 0.769em;
    white-space: nowrap;
  }
}

.news-card__title {
  width: 100%;
  display: block;
}
@media screen and (min-width: 751px) {
  .news-card__title {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
  }
}

.news-card__title-link {
  display: block;
  width: 100%;
  font-size: inherit;
  line-height: 1.21429;
  letter-spacing: 0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (min-width: 751px) {
  .news-card__title-link {
    letter-spacing: 0;
  }
}
@media (hover: none) {
  .news-card__title-link {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .news-card__title-link:active {
    color: #6095d9;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .news-card__title-link:hover {
    color: #6095d9;
  }
}

.section-news__button {
  margin-top: clamp(1.875rem, 0.48rem + 6.98vw, 3.75rem);
  text-align: center;
}

/*====================================
info
====================================*/
.section-info {
  padding-block: var(--container-padding-block--sp--100);
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding--narrow);
}
@media screen and (min-width: 1024px) {
  .section-info {
    padding-block: var(--container-padding-block--pc--80);
  }
}

.section-info__body {
  margin-top: clamp(1.875rem, 0.48rem + 6.98vw, 3.75rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(2.5rem, 0.64rem + 9.3vw, 5rem);
}
@media screen and (min-width: 1024px) {
  .section-info__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(2.188rem, -3.011rem + 6.82vw, 3.125rem);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.section-info__schedule {
  width: 100%;
  max-width: 690px;
}
@media screen and (min-width: 1024px) {
  .section-info__schedule {
    width: auto;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 clamp(24rem, -7.54rem + 41.36vw, 29.688rem);
            flex: 0 0 clamp(24rem, -7.54rem + 41.36vw, 29.688rem);
  }
}

.schedule-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid #CDE5E9;
  font-size: var(--size-p);
  font-weight: 400;
  line-height: 1.64286;
  table-layout: fixed;
}
.schedule-table .col-label {
  width: min(27.7333333333vw, 208px);
}
@media screen and (min-width: 1024px) {
  .schedule-table .col-label {
    width: min(11.9444444444vw, 172px);
  }
}
.schedule-table .col-day {
  width: calc(100% - 208px)/7;
}
@media screen and (min-width: 1024px) {
  .schedule-table .col-day {
    width: calc(100% - 172px)/7;
  }
}
.schedule-table td,
.schedule-table th {
  border-bottom: 1px solid #CDE5E9;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  text-align: center;
}
.schedule-table th {
  letter-spacing: 0.05em;
  padding-block: 0.893em;
}
@media screen and (min-width: 1024px) {
  .schedule-table th {
    padding-block: 0.75em;
    letter-spacing: 0.13em;
  }
}

.schedule-notes {
  margin-top: 1.071em;
  font-size: var(--size-p);
  line-height: 1.64286;
}
@media screen and (min-width: 1024px) {
  .schedule-notes {
    line-height: 2;
  }
}

.schedule-notes__item::before {
  content: "※";
  font-weight: inherit;
  margin-right: 0.25em;
}

.section-info__address {
  -ms-flex-item-align: start;
      align-self: flex-start;
}

.section-info__clinic span:nth-of-type(1) {
  font-size: var(--size-info-corp);
  line-height: 1.27778;
}
.section-info__clinic span:nth-of-type(2) {
  margin-left: 0.5em;
  font-size: var(--size-info-postal);
  line-height: 0.821;
}

.section-info__postal {
  margin-top: 1.333em;
  font-size: var(--size-info-address);
  line-height: 1.53333;
}
@media screen and (min-width: 1024px) {
  .section-info__postal {
    margin-top: 0.714em;
    line-height: 2;
  }
}

.section-info__tel {
  font-size: var(--size-info-address);
  line-height: 1.53333;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  display: inline-block;
}
@media screen and (min-width: 1024px) {
  .section-info__tel {
    line-height: 2;
  }
}

.section-info__access-list {
  margin-top: 1.667em;
  font-size: var(--size-info-address);
  line-height: 1.53333;
}
@media screen and (min-width: 1024px) {
  .section-info__access-list {
    margin-top: 1.563em;
    line-height: 2.125;
  }
}

.section-info__button {
  margin-top: clamp(1.875rem, 0.48rem + 6.98vw, 3.75rem);
  text-align: center;
}

/*====================================
column
====================================*/
.section-column {
  background-color: #ffffff;
}

.section-column__inner {
  max-width: var(--container-max);
  padding-block: var(--container-padding-block--sp--100);
  margin-inline: auto;
  padding-inline: var(--container-padding--narrow);
}
@media screen and (min-width: 1024px) {
  .section-column__inner {
    padding-block: var(--container-padding-block--pc--80);
  }
}

.section-column__list {
  margin-top: clamp(1.875rem, 0.48rem + 6.98vw, 3.75rem);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: clamp(0.75rem, 0.192rem + 2.79vw, 1.5rem);
     -moz-column-gap: clamp(0.75rem, 0.192rem + 2.79vw, 1.5rem);
          column-gap: clamp(0.75rem, 0.192rem + 2.79vw, 1.5rem);
  row-gap: clamp(1.25rem, 0.32rem + 4.65vw, 2.5rem);
  font-size: var(--size-column-card-title);
}
@media screen and (min-width: 751px) {
  .section-column__list {
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: clamp(1.438rem, -0.129rem + 3.34vw, 2.875rem);
       -moz-column-gap: clamp(1.438rem, -0.129rem + 3.34vw, 2.875rem);
            column-gap: clamp(1.438rem, -0.129rem + 3.34vw, 2.875rem);
    row-gap: clamp(1.563rem, -0.141rem + 3.63vw, 3.125rem);
  }
}

@media (hover: none) {
  .column-card {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .column-card:active .column-card__title {
    color: #6186B5;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .column-card:hover .column-card__title {
    color: #6186B5;
  }
}

@media screen and (min-width: 751px) {
  .column-card__thumb {
    overflow: hidden;
    border-radius: 6px;
  }
}

.column-card__title {
  margin-top: 0.833em;
  font-size: var(--size-column-card-title);
  line-height: 1.2667;
  letter-spacing: 0.01em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (min-width: 751px) {
  .column-card__title {
    margin-top: 1.563em;
  }
}

.column-card__date {
  margin-top: 0.962em;
  font-size: var(--size-column-card-date);
  line-height: 1.7692;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ACACAC;
}
@media screen and (min-width: 751px) {
  .column-card__date {
    margin-top: 1.071em;
  }
}

.section-column__button {
  margin-top: clamp(1.875rem, 0.48rem + 6.98vw, 3.75rem);
  text-align: center;
}

.about {
  background-color: #ffffff;
}

.about-reason {
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-block: var(--container-padding-block--sp--90);
  padding-inline: var(--container-padding--narrow);
}
@media screen and (min-width: 1024px) {
  .about-reason {
    padding-block: var(--container-padding-block--pc--80);
  }
}

.about-reason__list {
  margin-top: clamp(2.344rem, 0.6rem + 8.72vw, 4.688rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 1024px) {
  .about-reason__list {
    margin-top: clamp(2.125rem, -3.106rem + 8.17vw, 4.25rem);
  }
}

.about-reason__item {
  padding-bottom: clamp(2.031rem, 0.52rem + 7.56vw, 4.063rem);
  border-bottom: 1px solid #CDE5E9;
}
@media screen and (min-width: 1024px) {
  .about-reason__item {
    padding-bottom: clamp(1.563rem, -2.13rem + 5.77vw, 3.063rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: clamp(0.625rem, -0.913rem + 2.4vw, 1.25rem);
  }
}
.about-reason__item + .about-reason__item {
  margin-top: clamp(1.563rem, 0.4rem + 5.81vw, 3.125rem);
}
@media screen and (min-width: 1024px) {
  .about-reason__item + .about-reason__item {
    margin-top: clamp(1.563rem, -2.284rem + 6.01vw, 3.125rem);
  }
}

.about-reason__item--06 {
  padding-bottom: 0;
  border-bottom: none;
}
@media screen and (min-width: 1024px) {
  .about-reason__item--06 .about-reason__heading {
    letter-spacing: 0.01em;
  }
}

@media screen and (min-width: 1024px) {
  .about-reason__content {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 min(41.6666666667vw, 600px);
            flex: 0 1 min(41.6666666667vw, 600px);
  }
}

.about-reason__heading {
  color: #6095d9;
  font-size: var(--size-about-reason-title);
  line-height: 1.33333;
  letter-spacing: 0.02em;
}

.about-reason__text {
  margin-top: 0.886em;
  font-size: var(--size-p);
  line-height: 1.64;
}
@media screen and (min-width: 1024px) {
  .about-reason__text {
    line-height: 2.12;
    letter-spacing: 0.02em;
    margin-top: clamp(0.625rem, -0.913rem + 2.4vw, 1.25rem);
  }
}

.about-reason__image {
  margin-top: clamp(1.438rem, 0.368rem + 5.35vw, 2.875rem);
  width: 100%;
  aspect-ratio: 648/450;
  max-width: 86.4vw;
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .about-reason__image {
    margin-top: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 min(25vw, 360px);
            flex: 0 0 min(25vw, 360px);
    aspect-ration: 360/240;
    height: auto;
  }
}
.about-reason__image img {
  border-radius: 10.4px;
  overflow: hidden;
}

.about-reason__image--01 {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .about-reason__image--01 {
    -ms-flex-item-align: stretch;
        align-self: stretch;
  }
}
.about-reason__image--01 img:first-of-type {
  position: absolute;
  top: 0;
  left: 0;
  width: min(61.3333333333vw, 460px);
  aspect-ratio: 460/331.2;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .about-reason__image--01 img:first-of-type {
    width: min(33.3333333333vw, 250px);
    aspect-ratio: 250/180;
  }
}
.about-reason__image--01 img:last-of-type {
  position: absolute;
  bottom: 0;
  right: 0;
  width: min(34.6666666667vw, 260px);
  aspect-ratio: 260/346.667;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 2;
}
@media screen and (min-width: 1024px) {
  .about-reason__image--01 img:last-of-type {
    width: min(20vw, 150px);
    aspect-ratio: 150/200;
  }
}

/*====================================
greeting
====================================*/
.about-greeting {
  background-color: #F5fafb;
}

.about-greeting__inner {
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-block: var(--container-padding-block--sp--100) clamp(0.625rem, 0.16rem + 2.33vw, 1.25rem);
  padding-inline: var(--container-padding--narrow);
}
@media screen and (min-width: 1024px) {
  .about-greeting__inner {
    padding-block: var(--container-padding-block--pc--100) clamp(0.938rem, -1.37rem + 3.61vw, 1.875rem);
  }
}

.about-greeting__title {
  color: #6095d9;
  text-align: center;
}

.about-greeting__content {
  margin-top: clamp(1.719rem, 0.44rem + 6.4vw, 3.438rem);
}
@media screen and (min-width: 1024px) {
  .about-greeting__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: clamp(1.563rem, -2.284rem + 6.01vw, 3.125rem);
    padding-left: clamp(1.25rem, -1.827rem + 4.81vw, 2.5rem);
  }
}

.about-greeting__image {
  position: relative;
  width: 100%;
  max-width: min(37.3333333333vw, 280px);
  margin-inline: auto;
  z-index: 2;
}
@media screen and (min-width: 1024px) {
  .about-greeting__image {
    max-width: min(19.4444444444vw, 280px);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 min(19.4444444444vw, 280px);
            flex: 0 0 min(19.4444444444vw, 280px);
  }
}
.about-greeting__image::after {
  position: absolute;
  width: 79.625%;
  aspect-ratio: 222/246;
  content: "";
  border-radius: 6.832px;
  top: clamp(3.5rem, 0.895rem + 13.02vw, 7rem);
  left: -41px;
  border: 1px solid #CDE5E9;
  z-index: -1;
  pointer-events: none;
}
.about-greeting__image img {
  border-radius: 6px;
  overflow: hidden;
}

.about-greeting__body {
  margin-top: clamp(2.813rem, 0.719rem + 10.47vw, 5.625rem);
  font-size: var(--size-p);
}
@media screen and (min-width: 1024px) {
  .about-greeting__body {
    margin-top: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 min(43.75vw, 630px);
            flex: 0 1 min(43.75vw, 630px);
  }
}

.about-greeting__text {
  line-height: 1.64;
}
@media screen and (min-width: 1024px) {
  .about-greeting__text {
    line-height: 2.125;
  }
}

.about-greeting__sign {
  margin-top: 1.5em;
  font-size: 0.857em;
  text-align: right;
  letter-spacing: 0.017em;
}
@media screen and (min-width: 1024px) {
  .about-greeting__sign {
    letter-spacing: 0.02em;
  }
}
.about-greeting__sign span {
  font-size: 1.5em;
  line-height: 1.417;
  letter-spacing: 0.03em;
  margin-left: 0.7em;
}
@media screen and (min-width: 1024px) {
  .about-greeting__sign span {
    font-size: 1.286em;
    letter-spacing: 0.02em;
  }
}

/*====================================
career
====================================*/
.about-career {
  background-color: #F5fafb;
  margin-inline: auto;
}

.about-career__inner {
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-block: clamp(2.375rem, 0.608rem + 8.84vw, 4.75rem) var(--container-padding-block--sp--90);
  padding-inline: var(--container-padding--narrow);
}

.about-career__title {
  color: #6095d9;
  text-align: center;
}

.career-list {
  margin-top: clamp(1.719rem, 0.44rem + 6.4vw, 3.438rem);
  border-top: 1px solid #CDE5E9;
}
@media screen and (min-width: 1024px) {
  .career-list {
    max-width: clamp(35.313rem, 14.543rem + 32.45vw, 43.75rem);
    width: 100%;
    margin-inline: auto;
    margin-top: clamp(1.875rem, -2.74rem + 7.21vw, 3.75rem);
  }
}

.career-list__row {
  border-bottom: 1px solid #CDE5E9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--size-p);
  line-height: 1.21;
  padding-block: 0.668em;
}
@media screen and (min-width: 1024px) {
  .career-list__row {
    line-height: 1.8;
    padding-block: 1.063em;
  }
}

.career-list__year {
  padding-left: 0.357em;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 min(34vw, 255px);
          flex: 0 0 min(34vw, 255px);
}
@media screen and (min-width: 1024px) {
  .career-list__year {
    padding-left: 1.875em;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 286px;
            flex: 0 0 286px;
  }
}

.career-list__desc {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  letter-spacing: 0.02em;
}

.career-extras {
  margin-top: clamp(1.563rem, 0.4rem + 5.81vw, 3.125rem);
}
@media screen and (min-width: 1024px) {
  .career-extras {
    margin-top: clamp(1.313rem, -1.918rem + 5.05vw, 2.625rem);
    max-width: min(48.6111111111vw, 700px);
    width: 100%;
    margin-inline: auto;
  }
}

.career-extras__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-size: var(--size-p);
  line-height: 1;
  gap: clamp(1.438rem, -0.051rem + 7.44vw, 3.438rem);
}
@media screen and (min-width: 1024px) {
  .career-extras__row {
    gap: 0;
  }
}
.career-extras__row + .career-extras__row {
  margin-top: clamp(1.188rem, 0.304rem + 4.42vw, 2.375rem);
}
@media screen and (min-width: 1024px) {
  .career-extras__row + .career-extras__row {
    margin-top: clamp(1.25rem, -1.827rem + 4.81vw, 2.5rem);
  }
}

.career-extras__label {
  color: #6095d9;
  font-weight: 500;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 min(26.6666666667vw, 200px);
          flex: 0 0 min(26.6666666667vw, 200px);
  line-height: 1.31;
}
@media screen and (min-width: 1024px) {
  .career-extras__label {
    padding-left: 1.875em;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 286px;
            flex: 0 0 286px;
  }
}

.career-extras__body {
  line-height: 1.31;
  letter-spacing: 0.02em;
}
.career-extras__body span {
  display: block;
}
.career-extras__body span + span {
  margin-top: 0.193em;
}
@media screen and (min-width: 1024px) {
  .career-extras__body span + span {
    margin-top: 0.65em;
  }
}

/*====================================
infection
====================================*/
.about-infection {
  padding-block: clamp(3.594rem, 1.384rem + 11.05vw, 6.563rem) var(--container-padding-block--sp--110);
  padding-inline: var(--container-padding--narrow);
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .about-infection {
    padding-block: var(--container-padding-block--pc--120) var(--container-padding-block--pc--100);
  }
}

.infection__title {
  color: #6095d9;
  text-align: center;
  padding-inline: min(3.3333333333vw, 25px);
  line-height: 1.2;
}

.infection__lead {
  margin-top: clamp(1.188rem, 0.304rem + 4.42vw, 2.375rem);
}
@media screen and (min-width: 1024px) {
  .infection__lead {
    text-align: center;
    margin-top: clamp(1.563rem, -2.284rem + 6.01vw, 3.125rem);
  }
}

.infection-block--epios {
  margin-top: var(--container-padding-block--sp--80);
}
@media screen and (min-width: 751px) {
  .infection-block--epios {
    margin-top: clamp(2.5rem, -0.225rem + 5.81vw, 5rem);
  }
}
@media screen and (min-width: 1024px) {
  .infection-block--epios {
    margin-top: var(--container-padding-block--pc--80);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: clamp(1.25rem, -1.827rem + 4.81vw, 2.5rem);
  }
}

@media screen and (min-width: 1024px) {
  .infection-block__content {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 min(41.6666666667vw, 600px);
            flex: 0 1 min(41.6666666667vw, 600px);
  }
}

.infection-block__heading {
  color: #6095d9;
  font-size: var(--size-about-reason-title);
  letter-spacing: 0.02em;
}
@media screen and (min-width: 1024px) {
  .infection-block__heading {
    line-height: 1.21;
    letter-spacing: 0.01em;
  }
}

.infection-block__text {
  margin-top: 1.186em;
  font-size: var(--size-p);
  line-height: 1.64;
}
@media screen and (min-width: 1024px) {
  .infection-block__text {
    margin-top: 1.1em;
    letter-spacing: 0.01em;
    line-height: 2;
  }
}

.infection-block__image {
  margin-top: clamp(1.344rem, 0.344rem + 5vw, 2.688rem);
  max-width: 86.4vw;
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .infection-block__image {
    margin-top: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 min(25vw, 360px);
            flex: 0 0 min(25vw, 360px);
  }
}
.infection-block__image img {
  border-radius: 10.8px;
  overflow: hidden;
}

.infection-image__caption {
  margin-top: 0.571em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .infection-image__caption {
    margin-top: 0.475em;
    font-size: 0.875rem;
  }
}

.infection-block--process {
  margin-top: clamp(2.875rem, 0.735rem + 10.7vw, 5.75rem);
}
@media screen and (min-width: 1024px) {
  .infection-block--process {
    margin-top: clamp(2.063rem, -3.014rem + 7.93vw, 4.125rem);
  }
}

.infection-cards {
  margin-top: clamp(2.438rem, 1.089rem + 6.74vw, 4.25rem);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(1.313rem, 0.289rem + 5.12vw, 2.688rem);
}
@media screen and (min-width: 1024px) {
  .infection-cards {
    margin-top: clamp(1.563rem, -2.284rem + 6.01vw, 3.125rem);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 20px;
  }
}

.infection-card:nth-child(1) .infection-card__media::after {
  content: "01";
}
.infection-card:nth-child(2) .infection-card__media::after {
  content: "02";
}
.infection-card:nth-child(3) .infection-card__media::after {
  content: "03";
}
.infection-card:nth-child(4) .infection-card__media::after {
  content: "04";
}
.infection-card:nth-child(5) .infection-card__media::after {
  content: "05";
}
.infection-card:nth-child(6) .infection-card__media::after {
  content: "06";
}

.infection-card__media {
  position: relative;
  border-radius: 8.4px;
  overflow: hidden;
}
.infection-card__media img {
  aspect-ratio: 322/280;
  -o-object-fit: cover;
     object-fit: cover;
}
.infection-card__media::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(48.5%, rgba(61, 61, 61, 0)), color-stop(109.75%, rgba(40, 40, 40, 0.35)));
  background: linear-gradient(180deg, rgba(61, 61, 61, 0) 48.5%, rgba(40, 40, 40, 0.35) 109.75%);
  z-index: 1;
}
.infection-card__media::after {
  position: absolute;
  font-size: clamp(1.9375rem, 0.449rem + 7.44vw, 3.9375rem);
  color: #ffffff;
  line-height: 1;
  letter-spacing: 0.11em;
  bottom: 0;
  right: 6.6875%;
  width: 1.1em;
  height: 0.9em;
  z-index: 2;
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .infection-card__media::after {
    font-size: clamp(1.375rem, -2.055rem + 5.41vw, 2.8125rem);
    right: 6.5217391304%;
  }
}

.infection-card__caption {
  margin-top: clamp(0.438rem, 0.112rem + 1.63vw, 0.875rem);
  line-height: 1.55;
  text-align: justify;
}
@media screen and (min-width: 1024px) {
  .infection-card__caption {
    font-size: 0.9375rem;
    line-height: 1.73333;
    margin-top: 0.5625rem;
  }
}

.infection-block__bottom {
  margin-top: clamp(1.938rem, 0.496rem + 7.21vw, 3.875rem);
  line-height: 1.64;
}
@media screen and (min-width: 1024px) {
  .infection-block__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: clamp(0.781rem, -1.142rem + 3vw, 1.563rem);
    margin-top: clamp(1.438rem, -2.101rem + 5.53vw, 2.875rem);
  }
}

.infection-block__bottom-text {
  line-height: 1.65;
}
@media screen and (min-width: 1024px) {
  .infection-block__bottom-text {
    line-height: 2.125;
    -webkit-box-flex: 1;
        -ms-flex: 1 0.5 min(33.75vw, 486px);
            flex: 1 0.5 min(33.75vw, 486px);
  }
}

.infection-block__image--bottom {
  margin-top: clamp(1.313rem, 0.336rem + 4.88vw, 2.625rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: stretch;
      -ms-flex-pack: stretch;
          justify-content: stretch;
  gap: clamp(1.25rem, 0.32rem + 4.65vw, 2.5rem);
}
@media screen and (min-width: 1024px) {
  .infection-block__image--bottom {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 min(34.0277777778vw, 490px);
            flex: 0 1 min(34.0277777778vw, 490px);
    margin-top: 0;
    gap: clamp(0.938rem, -1.37rem + 3.61vw, 1.875rem);
  }
}

.infection-block__image--bottom-item {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  aspect-ratio: 322/277;
  overflow: hidden;
  border-radius: 8.4px;
}
@media screen and (min-width: 1024px) {
  .infection-block__image--bottom-item {
    border-radius: 6px;
    aspect-ratio: 230/200;
  }
}

/*====================================
facility
====================================*/
.section-facility {
  background-color: #F5fafb;
}

.section-facility__inner {
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-block: var(--container-padding-block--sp--100) var(--container-padding-block--sp--110);
  padding-inline: var(--container-padding--narrow);
}
@media screen and (min-width: 1024px) {
  .section-facility__inner {
    padding-block: var(--container-padding-block--pc--100);
    padding-inline: clamp(10.375rem, -15.317rem + 40.14vw, 20.813rem);
  }
}

.section-facility__title {
  color: #6095d9;
  text-align: center;
}

.facility-block--lobby {
  margin-top: clamp(1.719rem, 0.44rem + 6.4vw, 3.438rem);
}
@media screen and (min-width: 1024px) {
  .facility-block--lobby {
    margin-top: clamp(2.5rem, -3.654rem + 9.62vw, 5rem);
  }
}

.facility-block__label {
  background-color: #6095d9;
  color: #ffffff;
  font-size: var(--size-facility-label);
  line-height: 1;
  letter-spacing: 0.01em;
  padding-block: 0.306em;
  padding-left: 0.417em;
  border-radius: 2px;
}
@media screen and (min-width: 1024px) {
  .facility-block__label {
    padding-block: 0.55em;
    padding-left: 0.75em;
    margin-inline: 36px;
  }
}

.facility-block--sterile {
  margin-top: clamp(1.938rem, 0.496rem + 7.21vw, 3.875rem);
}
@media screen and (min-width: 1024px) {
  .facility-block--sterile {
    margin-top: clamp(2.25rem, -3.442rem + 8.89vw, 4.563rem);
  }
}

@media screen and (min-width: 1024px) {
  .facilities-block__slider-wrapper {
    padding-inline: 36px;
    position: relative;
  }
}

.facilities-block__slider {
  margin-top: clamp(1rem, 0.256rem + 3.72vw, 2rem);
}
@media screen and (min-width: 1024px) {
  .facilities-block__slider {
    margin-top: 30px;
  }
}

@media screen and (min-width: 1024px) {
  .swiper-slide {
    position: relative;
  }
}

.about-facilities__media {
  max-width: min(92vw, 690px);
  width: 100%;
  margin-inline: auto;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .about-facilities__media {
    max-width: none;
  }
}
.about-facilities__media img {
  border-radius: 5.5px;
  aspect-ratio: 690/445;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 1024px) {
  .about-facilities__media img {
    border-radius: 5px;
    aspect-ratio: 700/450;
  }
}

.about-facilities__caption {
  text-align: center;
  font-size: clamp(0.5625rem, -0.089rem + 3.26vw, 1.4375rem);
  line-height: 1;
  margin-top: 0.87em;
}
@media screen and (min-width: 1024px) {
  .about-facilities__caption {
    margin-top: 1.111em;
    font-size: 1.125rem;
    letter-spacing: 0.01em;
  }
}

.swiper-pagination {
  position: static !important;
  margin-top: clamp(0.875rem, 0.224rem + 3.26vw, 1.75rem) !important;
  text-align: center !important;
}
@media screen and (min-width: 1024px) {
  .swiper-pagination {
    display: none;
  }
}

.swiper-pagination-horizontal {
  line-height: 1;
}

.swiper-button-prev,
.swiper-button-next {
  display: none !important;
}
@media screen and (min-width: 1024px) {
  .swiper-button-prev,
  .swiper-button-next {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    position: absolute !important;
    top: 50% !important;
    -webkit-transform: translateY(-50%) !important;
            transform: translateY(-50%) !important;
    z-index: 10;
    width: 47px !important;
    height: 47px !important;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 50%;
    background-color: #6095d9;
  }
}

.swiper-button-prev {
  left: -30px !important;
}
@media screen and (min-width: 1024px) {
  .swiper-button-prev {
    left: -40px !important;
  }
}
.swiper-button-prev::after {
  content: "" !important;
  display: grid;
  place-items: center;
  width: 22px;
  height: 7px;
  -webkit-mask-image: url(../assets/svg/left-arrow.svg) !important;
          mask-image: url(../assets/svg/left-arrow.svg) !important;
  -webkit-mask-size: contain !important;
          mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
          mask-repeat: no-repeat !important;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #ffffff !important;
}

.swiper-button-next {
  right: -30px !important;
}
@media screen and (min-width: 1024px) {
  .swiper-button-next {
    right: -40px !important;
  }
}
.swiper-button-next::after {
  content: "" !important;
  display: grid !important;
  place-items: center;
  width: 22px !important;
  height: 7px !important;
  -webkit-transform: rotateY(180deg) !important;
          transform: rotateY(180deg) !important;
  -webkit-mask-image: url(../assets/svg/left-arrow.svg) !important;
          mask-image: url(../assets/svg/left-arrow.svg) !important;
  -webkit-mask-size: contain !important;
          mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
          mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
          mask-position: center !important;
  background-color: #ffffff !important;
}

.swiper-pagination-bullet {
  background-color: #CDE5E9 !important;
  width: clamp(0.5625rem, 0.144rem + 2.09vw, 1.125rem) !important;
  height: clamp(0.5625rem, 0.144rem + 2.09vw, 1.125rem) !important;
  opacity: 1 !important;
}

.swiper-pagination-bullet-active {
  background-color: #6095d9 !important;
}

.dental-services {
  background-color: #ffffff;
}
.dental-services section {
  margin-top: clamp(2.5rem, -0.291rem + 13.95vw, 6.25rem);
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-padding--narrow);
}
@media screen and (min-width: 751px) {
  .dental-services section {
    margin-top: 70px;
  }
}
.dental-services .dental-services-heading {
  margin-top: clamp(2.813rem, 0.673rem + 10.7vw, 5.688rem);
}
@media screen and (min-width: 751px) {
  .dental-services .dental-services-heading {
    margin-top: 79px;
  }
}
@media screen and (min-width: 1024px) {
  .dental-services .dental-services-heading .section-heading__desc {
    letter-spacing: 0.01em;
    line-height: 2;
  }
}

.dental-services-heading__nav {
  margin-top: clamp(1.625rem, 0.416rem + 6.05vw, 3.25rem);
}
@media screen and (min-width: 751px) {
  .dental-services-heading__nav {
    max-width: 660px;
    width: 100%;
    margin-inline: auto;
  }
}
@media screen and (min-width: 1024px) {
  .dental-services-heading__nav {
    margin-top: clamp(2.5rem, 0.64rem + 9.3vw, 5rem);
  }
}

.dental-services-heading__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(0.938rem, 0.24rem + 3.49vw, 1.875rem);
     -moz-column-gap: clamp(0.938rem, 0.24rem + 3.49vw, 1.875rem);
          column-gap: clamp(0.938rem, 0.24rem + 3.49vw, 1.875rem);
  row-gap: clamp(1.25rem, 0.32rem + 4.65vw, 2.5rem);
}
@media screen and (min-width: 1024px) {
  .dental-services-heading__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 25.39px;
       -moz-column-gap: 25.39px;
            column-gap: 25.39px;
    row-gap: 35px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: auto;
  }
}

.dental-services-heading__item {
  height: 100%;
}
@media screen and (min-width: 1024px) {
  .dental-services-heading__item {
    max-width: 11.4375rem;
    width: 100%;
    height: 100%;
  }
}
.dental-services-heading__item span {
  text-wrap: nowrap;
}
@media screen and (min-width: 1024px) {
  .dental-services-heading__item:nth-of-type(3) {
    max-width: 237px;
    width: 100%;
  }
}
.dental-services-heading__item:nth-of-type(3) a {
  padding-left: clamp(0.813rem, -0.304rem + 5.58vw, 2.313rem);
}
@media screen and (min-width: 751px) {
  .dental-services-heading__item:nth-of-type(3) a {
    font-size: clamp(1.3125rem, -0.235rem + 3.3vw, 1.875rem);
  }
}
@media screen and (min-width: 1024px) {
  .dental-services-heading__item:nth-of-type(3) a {
    font-size: var(--size-button--tertiary);
    padding-left: 2.053em;
  }
}

@media screen and (min-width: 1024px) {
  .dental-service-section + .dental-service-section {
    margin-top: var(--container-padding-block--pc--100);
  }
}

.dental-service-section__title {
  font-size: var(--size-dental-service-section-title);
  padding-block: 0.35em 0.3em;
  padding-left: 0.475em;
  background-color: #6095d9;
  color: #ffffff;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1;
  border-radius: 2px;
}
@media screen and (min-width: 751px) {
  .dental-service-section__title {
    letter-spacing: 0.02em;
    padding-block: 0.423em;
  }
}

.dental-service-section__list {
  margin-top: var(--container-padding-block--sp--80);
}
@media screen and (min-width: 1024px) {
  .dental-service-section__list {
    margin-top: clamp(1.438rem, -1.947rem + 5.29vw, 2.813rem);
  }
}

@media screen and (min-width: 1024px) {
  .dental-service-section__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: clamp(1.25rem, -1.827rem + 4.81vw, 2.5rem);
  }
}
.dental-service-section__item + .dental-service-section__item {
  margin-top: clamp(2.188rem, 0.606rem + 7.91vw, 4.313rem);
}
@media screen and (min-width: 1024px) {
  .dental-service-section__item + .dental-service-section__item {
    margin-top: clamp(1.563rem, -2.284rem + 6.01vw, 3.125rem);
  }
}

.dental-service-section__media {
  max-width: min(540px, 72vw);
  aspect-ratio: 540/360;
  width: 100%;
  margin-inline: auto;
  border-radius: 9px;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .dental-service-section__media {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 25vw;
            flex: 0 1 25vw;
    max-width: 360px;
    width: 100%;
    aspect-ratio: 360/240;
    border-radius: 6px;
  }
}

.dental-service-section__body {
  margin-top: clamp(1.344rem, 0.344rem + 5vw, 2.688rem);
}
@media screen and (min-width: 1024px) {
  .dental-service-section__body {
    margin-top: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 41.6666666667vw;
            flex: 0 1 41.6666666667vw;
  }
}

.dental-service-section__subtitle {
  font-size: var(--size-dental-service-section-subtitle);
  line-height: 1;
  letter-spacing: 0.02em;
  color: #6095d9;
  font-weight: 400;
}

.dental-service-section__text {
  margin-top: clamp(0.688rem, 0.129rem + 2.79vw, 1.438rem);
  line-height: 1.64;
}
@media screen and (min-width: 1024px) {
  .dental-service-section__text {
    margin-top: 14px;
    line-height: 2.125;
  }
}

.dental-service-footer {
  margin-block: var(--container-padding-block--sp--80) clamp(3.75rem, 0.959rem + 13.95vw, 7.5rem);
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-padding--narrow);
}
@media screen and (min-width: 1024px) {
  .dental-service-footer {
    margin-block: clamp(2.406rem, -3.517rem + 9.25vw, 4.813rem) clamp(3.75rem, -5.481rem + 14.42vw, 7.5rem);
  }
}

.dental-service-footer__inner {
  margin-inline: min(20px, 2.6666666667vw);
  background-color: #F5fafb;
  border-radius: 6px;
  padding-block: clamp(1.875rem, 0.48rem + 6.98vw, 3.75rem);
  padding-inline: clamp(0.781rem, 0.2rem + 2.91vw, 1.563rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(0.781rem, 0.2rem + 2.91vw, 1.563rem);
}
@media screen and (min-width: 1024px) {
  .dental-service-footer__inner {
    margin-inline: min(182px, 12.6388888889vw);
    padding-block: clamp(1.25rem, -1.981rem + 5.05vw, 2.563rem);
    padding-inline: clamp(1.25rem, -1.827rem + 4.81vw, 2.5rem);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(0.625rem, -0.938rem + 2.44vw, 1.26rem);
  }
}

.dental-service-footer__icon {
  max-width: min(203.672px, 27.1562666667vw);
  width: 100%;
  aspect-ratio: 203.672/148.246;
}
@media screen and (min-width: 1024px) {
  .dental-service-footer__icon {
    max-width: min(101.836px, 7.0719444444vw);
    width: 100%;
    aspect-ratio: 101.836/74.123;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 7.0719444444vw;
            flex: 0 1 7.0719444444vw;
  }
}

.dental-service-footer__text {
  color: #6095d9;
  text-align: center;
  font-size: var(--size-dental-service-footer-text);
  line-height: 1.4444;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 1024px) {
  .dental-service-footer__text {
    line-height: 1.7;
    letter-spacing: 0.02em;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 30.4166666667vw;
            flex: 0 1 30.4166666667vw;
    text-align: left;
  }
}

.access {
  background-color: #ffffff;
}

.hours-section {
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-padding--narrow);
  padding-block: clamp(2.875rem, 0.735rem + 10.7vw, 5.75rem) clamp(1.563rem, 0.4rem + 5.81vw, 3.125rem);
}

@media screen and (min-width: 751px) {
  .hours-section__inner {
    max-width: 570px;
    margin-inline: auto;
  }
}

.hours-section__title {
  font-size: var(--size-hours-section-title);
}

.hours-section__table {
  margin-top: clamp(1.375rem, -0.16rem + 7.67vw, 3.438rem);
}
@media screen and (min-width: 751px) {
  .hours-section__table {
    margin-inline: auto;
  }
}
@media screen and (min-width: 1024px) {
  .hours-section__table {
    margin-top: clamp(1.5rem, -2.192rem + 5.77vw, 3rem);
  }
}
.hours-section__table th {
  padding-block: 0.393em;
}
@media screen and (min-width: 1024px) {
  .hours-section__table th {
    font-size: 1.2rem;
    padding-block: 0.593em;
  }
}

.hours-section__notes {
  margin-top: 0.471em;
}
@media screen and (min-width: 1024px) {
  .hours-section__notes {
    margin-top: 0.971em;
  }
}

.hours-section__notes-item {
  margin-left: 0;
}
@media screen and (min-width: 1024px) {
  .hours-section__notes-item {
    text-align: right;
  }
}
.hours-section__notes-item::before {
  content: "";
  margin-right: 0;
}

.cta-section {
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-padding--narrow);
}

.cta-section__inner {
  background-color: #f5fafb;
  padding: clamp(1.813rem, 0.464rem + 6.74vw, 3.625rem) clamp(2.188rem, 0.281rem + 9.53vw, 4.75rem);
  border-radius: 6px;
}
@media screen and (min-width: 1024px) {
  .cta-section__inner {
    padding: clamp(1.25rem, -1.827rem + 4.81vw, 2.5rem) 0;
  }
}

.cta-section__title {
  font-size: var(--size-cta-section-title);
  line-height: 1;
  letter-spacing: 0.01em;
  color: #6095d9;
  text-align: center;
}

.cta-section__text {
  text-align: center;
  margin-top: clamp(1.094rem, -1.599rem + 4.21vw, 2.188rem);
}
@media screen and (min-width: 751px) {
  .cta-section__text {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .cta-section__text {
    margin-top: 21px;
    font-size: var(--size-p);
  }
}

.cta-section__info-bottom {
  margin-top: clamp(0.938rem, 0.24rem + 3.49vw, 1.875rem);
}
@media screen and (min-width: 1024px) {
  .cta-section__info-bottom {
    margin-top: clamp(0.625rem, -0.913rem + 2.4vw, 1.25rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: clamp(1.25rem, -1.981rem + 5.05vw, 2.563rem);
  }
}

@media (hover: none) {
  .cta-section__tel {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .cta-section__tel:active {
    opacity: 0.8;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .cta-section__tel:hover {
    opacity: 0.8;
  }
}

.cta-section__tel-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-size: clamp(1.875rem, -0.251rem + 10.63vw, 4.73125rem);
  line-height: 0.92308;
  letter-spacing: 0.02em;
  gap: 0.143em;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 751px) {
  .cta-section__tel-link {
    font-size: clamp(3.5rem, 0.13rem + 7.18vw, 4.725rem);
  }
}
@media screen and (min-width: 1024px) {
  .cta-section__tel-link {
    font-size: clamp(2.25rem, 1.327rem + 1.44vw, 2.625rem);
    letter-spacing: 0.001em;
  }
}
.cta-section__tel-link::before {
  content: "";
  display: block;
  width: 0.714em;
  aspect-ratio: 1/1;
  -webkit-mask-image: url(../assets/svg/icon-tel.svg);
          mask-image: url(../assets/svg/icon-tel.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #6095d9;
}
.cta-section__tel-link span {
  font-size: inherit;
  color: #6095d9;
}

.cta-section__hours {
  font-size: var(--size-cta-section__hours-text);
  margin-top: 0.325em;
  color: #6095d9;
  letter-spacing: 0.02em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .cta-section__hours {
    white-space: nowrap;
    line-height: 1;
    margin-top: 0.753em;
  }
}

.cta-section__cta {
  margin-top: clamp(0.813rem, 0.161rem + 3.26vw, 1.688rem);
  text-align: center;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 1024px) {
  .cta-section__cta {
    margin-top: 0;
  }
}
@media (hover: none) {
  .cta-section__cta {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .cta-section__cta:active {
    opacity: 0.8;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .cta-section__cta:hover {
    opacity: 0.8;
  }
}
@media screen and (min-width: 1024px) {
  .cta-section__cta .button-secondary__icon {
    width: clamp(2.875rem, 1.952rem + 1.44vw, 3.25rem);
  }
}
.cta-section__cta a {
  max-width: min(498px, 66.4vw);
  width: 100%;
  border: 1px solid #6095d9;
  padding-inline: 1.25em;
  padding-block: 0.613em 0.681em;
}
@media screen and (min-width: 751px) {
  .cta-section__cta a {
    padding-inline: 1.3em;
  }
}
@media screen and (min-width: 1024px) {
  .cta-section__cta a {
    max-width: 272px;
    padding-block: 0.713em 0.781em;
  }
}
@media screen and (min-width: 751px) {
  .cta-section__cta p {
    font-size: clamp(1.25rem, -0.263rem + 3.22vw, 1.8rem);
  }
}
@media screen and (min-width: 1024px) {
  .cta-section__cta p {
    font-size: var(--size-p);
  }
}
.cta-section__cta p .button-secondary__text-primary {
  font-size: clamp(0.875rem, 0.187rem + 3.44vw, 1.8rem);
  letter-spacing: 0.01em;
}
@media screen and (min-width: 1024px) {
  .cta-section__cta p .button-secondary__text-primary {
    font-size: 1rem;
    letter-spacing: 0.11em;
  }
}
.cta-section__cta p .button-secondary__text-secondary {
  font-size: 1.15em;
}
@media screen and (min-width: 751px) {
  .cta-section__cta p .button-secondary__text-secondary {
    font-size: clamp(1.5625rem, -0.329rem + 4.03vw, 2.25rem);
  }
}
@media screen and (min-width: 1024px) {
  .cta-section__cta p .button-secondary__text-secondary {
    font-size: 1.25em;
  }
}

.access-info {
  margin-top: clamp(3.125rem, 0.799rem + 11.63vw, 6.25rem);
  background-color: #f5fafb;
  width: 100%;
  padding-block: clamp(2.813rem, 0.719rem + 10.47vw, 5.625rem);
}

.access-info__inner {
  margin-inline: auto;
  max-width: var(--container-max);
  padding-inline: var(--container-padding--narrow);
}

@media screen and (min-width: 751px) {
  .access-info__inner {
    padding-inline: clamp(0rem, -5.109rem + 10.89vw, 4.688rem);
  }
}

.access-info__map {
  margin-top: clamp(1.75rem, 0.448rem + 6.51vw, 3.5rem);
  width: 100%;
  aspect-ratio: 690/500;
}
.access-info__map iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.access-info__list {
  margin-top: clamp(1.125rem, 0.241rem + 4.42vw, 2.313rem);
}
@media screen and (min-width: 751px) {
  .access-info__list {
    margin-top: 27px;
  }
}

.access-info__list-item {
  padding-bottom: clamp(0.781rem, 0.2rem + 2.91vw, 1.563rem);
  font-size: var(--size-p);
  line-height: 1;
  padding-left: 0.7em;
}
@media screen and (min-width: 751px) {
  .access-info__list-item {
    padding-bottom: clamp(0.438rem, -0.639rem + 1.68vw, 0.875rem);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: clamp(1.25rem, -2.837rem + 8.71vw, 5rem);
  }
}
@media screen and (min-width: 1024px) {
  .access-info__list-item {
    padding-left: 2.1em;
  }
}
.access-info__list-item + .access-info__list-item {
  border-top: 1px solid #CDE5E9;
  padding-top: clamp(1.094rem, 0.28rem + 4.07vw, 2.188rem);
}
@media screen and (min-width: 751px) {
  .access-info__list-item + .access-info__list-item {
    padding-top: clamp(0.563rem, -0.822rem + 2.16vw, 1.125rem);
  }
}
.access-info__list-item:last-of-type {
  padding-bottom: 0;
}

.access-info__list-item-term {
  color: #6095d9;
}
@media screen and (min-width: 751px) {
  .access-info__list-item-term {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 131px;
            flex: 0 0 131px;
    letter-spacing: 0.02em;
  }
}

.access-info__list-item-desc {
  margin-top: clamp(0.625rem, 0.16rem + 2.33vw, 1.25rem);
  line-height: 1.35;
}
@media screen and (min-width: 751px) {
  .access-info__list-item-desc {
    margin-top: 0;
    line-height: 1.62;
    letter-spacing: 0.02em;
  }
}

.access-info__list-item-list-item {
  letter-spacing: 0.02em;
  line-height: 1.35;
}
@media screen and (min-width: 751px) {
  .access-info__list-item-list-item {
    line-height: 2;
  }
}

.section-route {
  margin-block: var(--container-padding-block--sp--100) var(--container-padding-block--sp--120);
  max-width: var(--container-max);
  width: 100%;
  margin-inline: auto;
  padding-inline: var(--container-padding--narrow);
}
@media screen and (min-width: 1024px) {
  .section-route {
    margin-block: var(--container-padding-block--pc--100) var(--container-padding-block--pc--120);
  }
}

.section-route__title {
  letter-spacing: 0.02em;
}
@media screen and (min-width: 1024px) {
  .section-route__title {
    letter-spacing: 0.01em;
  }
}

.section-route__body {
  margin-top: clamp(1.875rem, 0.48rem + 6.98vw, 3.75rem);
}
@media screen and (min-width: 1024px) {
  .section-route__body {
    margin-top: clamp(1.875rem, -2.74rem + 7.21vw, 3.75rem);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: clamp(1.563rem, -2.284rem + 6.01vw, 3.125rem);
       -moz-column-gap: clamp(1.563rem, -2.284rem + 6.01vw, 3.125rem);
            column-gap: clamp(1.563rem, -2.284rem + 6.01vw, 3.125rem);
    row-gap: clamp(1.438rem, -2.101rem + 5.53vw, 2.875rem);
  }
}

.section-route__body-item {
  margin-inline: auto;
  max-width: min(600px, 80vw);
}
.section-route__body-item + .section-route__body-item {
  position: relative;
  margin-top: var(--container-padding-block--sp--100);
}
@media screen and (min-width: 1024px) {
  .section-route__body-item + .section-route__body-item {
    margin-top: 0;
  }
}
.section-route__body-item + .section-route__body-item::before {
  position: absolute;
  content: "";
  display: block;
  bottom: clamp(16.313rem, 0.375rem + 68vw, 32.25rem);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(1.625rem, 0.416rem + 6.05vw, 3.25rem);
  aspect-ratio: 40.581/49.446;
  background-color: #6095d9;
  -webkit-mask-image: url(../assets/svg/route-next.svg);
          mask-image: url(../assets/svg/route-next.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media screen and (min-width: 751px) {
  .section-route__body-item + .section-route__body-item::before {
    bottom: clamp(29.25rem, 7.11rem + 47.17vw, 32.375rem);
  }
}
@media screen and (min-width: 1024px) {
  .section-route__body-item + .section-route__body-item::before {
    bottom: auto;
    top: clamp(5.063rem, 2.447rem + 4.09vw, 6.125rem);
    -webkit-transform: translateX(0);
            transform: translateX(0);
    left: auto;
    right: calc(100% + clamp(0.438rem, -0.747rem + 1.85vw, 0.919rem));
    rotate: -90deg;
    width: clamp(0.75rem, -1.096rem + 2.88vw, 1.5rem);
    aspect-ratio: 24/20;
  }
}
@media screen and (min-width: 1024px) {
  .section-route__body-item + .section-route__body-item:nth-of-type(4)::before {
    display: none;
  }
}

.section-route__body-item-image {
  width: 100%;
  aspect-ratio: 600/440;
}

.section-route__body-item-desc {
  margin-top: clamp(0.625rem, 0.16rem + 2.33vw, 1.25rem);
  font-size: var(--size-route-desc);
  text-align: center;
  line-height: 1.26;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 1024px) {
  .section-route__body-item-desc {
    margin-top: 9px;
    text-align: left;
  }
}

.news-page {
  background-color: #ffffff;
}

.l-content-wrap {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-padding--narrow);
  padding-block: var(--container-padding-block--sp--80) var(--container-padding-block--sp--120);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(3.125rem, -0.131rem + 16.28vw, 7.5rem);
}
@media screen and (min-width: 1024px) {
  .l-content-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: clamp(2rem, -3.617rem + 8.78vw, 4.063rem);
    padding-block: var(--container-padding-block--pc--80) var(--container-padding-block--pc--120);
  }
}

@media screen and (min-width: 1024px) {
  .l-content-wrap__inner {
    -webkit-box-flex: 0;
        -ms-flex: 0 0.5 700px;
            flex: 0 0.5 700px;
  }
}

.p-entry-meta {
  font-size: var(--size-p);
  letter-spacing: 0.01em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.714em;
}
@media screen and (min-width: 1024px) {
  .p-entry-meta {
    gap: 0.625em;
  }
}

.p-entry-meta__date {
  font-size: inherit;
  line-height: 1.21429;
  letter-spacing: inherit;
}
@media screen and (min-width: 1024px) {
  .p-entry-meta__date {
    font-size: 0.875em;
    line-height: 2.42857;
  }
}

.p-entry-meta__label {
  font-size: 0.857em;
  line-height: 1;
  letter-spacing: inherit;
  color: #ffffff;
  background-color: #6095d9;
  border-radius: 30px;
  padding: 0.268em 0.714em;
  border: 1px solid #6095d9;
  -webkit-transition: color 0.3s, border-color 0.3s, background-color 0.3s ease;
  transition: color 0.3s, border-color 0.3s, background-color 0.3s ease;
}
@media screen and (min-width: 1024px) {
  .p-entry-meta__label {
    font-size: 0.75em;
    line-height: 1;
  }
}
.p-entry-meta__label span {
  margin-left: 0.5em;
}
@media (hover: none) {
  .p-entry-meta__label {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .p-entry-meta__label:active {
    color: #6095d9;
    border-color: #6095d9;
    background-color: #ffffff;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .p-entry-meta__label:hover {
    color: #6095d9;
    border-color: #6095d9;
    background-color: #ffffff;
  }
}

.p-entry__title {
  margin-top: clamp(0.5rem, 0.128rem + 1.86vw, 1rem);
  font-size: var(--size-entry-title);
  font-weight: 400;
  line-height: 1.2667;
  letter-spacing: 0.01em;
  padding-bottom: 0.8em;
  border-bottom: 1px solid #6095d9;
}
@media screen and (min-width: 1024px) {
  .p-entry__title {
    margin-top: 1.125rem;
  }
}

.p-entry__body {
  margin-top: clamp(1.469rem, 0.376rem + 5.47vw, 2.938rem);
  padding-bottom: clamp(1.25rem, -0.61rem + 9.3vw, 3.75rem);
  border-bottom: 1px solid #6095d9;
}
@media screen and (min-width: 1024px) {
  .p-entry__body {
    margin-top: 1.875rem;
    padding-bottom: 1.875rem;
  }
}

.p-entry-list {
  border-top: 1px solid #CDE5E9;
}

.p-entry-list__item {
  padding-top: clamp(1.063rem, 0.272rem + 3.95vw, 2.125rem);
}
@media screen and (min-width: 1024px) {
  .p-entry-list__item {
    padding-top: 0.75rem;
  }
}

.p-entry__title--list {
  font-weight: 400;
  line-height: 1.2667;
  letter-spacing: 0.01em;
  border-bottom: 1px solid #6095d9;
  font-size: var(--size-entry-title-list);
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  border-bottom: 1px solid #CDE5E9;
}
@media (hover: none) {
  .p-entry__title--list {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .p-entry__title--list:active {
    color: #6186B5;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active), (-moz-touch-enabled: 0), (hover: hover) {
  .p-entry__title--list:hover {
    color: #6186B5;
  }
}

.p-entry__title-link {
  height: 100%;
  padding-top: clamp(0.469rem, 0.12rem + 1.74vw, 0.938rem);
  padding-bottom: 1em;
}
@media screen and (min-width: 1024px) {
  .p-entry__title-link {
    padding-top: 0.118em;
    padding-bottom: 0.909em;
  }
}

.column-page {
  background-color: #ffffff;
}

.p-entry-list__heading {
  margin-bottom: clamp(0.781rem, 0.2rem + 2.91vw, 1.563rem);
  color: #6095d9;
}
@media screen and (min-width: 1024px) {
  .p-entry-list__heading {
    margin-bottom: 1.125rem;
  }
}

.ls-005 {
  letter-spacing: 0.05em;
}

.ls-006 {
  letter-spacing: 0.06em;
}

.ls-002 {
  letter-spacing: 0.02em;
}

.ls--013 {
  letter-spacing: -0.13em;
}

.ls--017 {
  letter-spacing: -0.17em;
}

.ls--004 {
  letter-spacing: -0.04em;
}