@charset "UTF-8";
/* ==========================================================================//
// Foundation
// ========================================================================== */
/* stylelint-disable */
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:after, blockquote:before, q:after, q:before {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  box-sizing: border-box;
}

html.is-locked {
  overflow-y: scroll;
  position: fixed;
  left: 0;
  width: 100%;
}

body {
  background-color: #fff;
  font-family: "Zen Kaku Gothic New", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  color: #3c3c3c;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
  border-radius: 0;
  box-shadow: none;
  background: none;
  font-family: inherit;
  font-size: 100%;
}

textarea {
  resize: none;
}

strong {
  font-weight: 700;
}

sub {
  vertical-align: sub;
}

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

a {
  color: #3c3c3c;
  text-decoration: none;
}
a:hover, a:active, a:focus, a:visited {
  text-decoration: none;
}

/* ==========================================================================//
// Libs
// ========================================================================== */
.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 2em;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

/* ==========================================================================//
// Layout
// ========================================================================== */
.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 105px;
  background-color: #fff;
  border: 1px solid #fff;
  backdrop-filter: blur(30px);
  z-index: 1000;
  transition: all 0.3s ease-out;
}
@media (max-width: 1180px) {
  .header {
    position: fixed;
    height: 56px;
    border: solid #f0f0f0;
    border-width: 0 0 1px;
  }
}
.header > .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 55px 16px 52px;
}
@media (max-width: 1180px) {
  .header > .inner {
    padding: 12px 15px;
  }
}
.header > .inner > .logo,
.header > .inner > h1 > .logo {
  display: block;
  width: 335px;
}
@media (max-width: 1180px) {
  .header > .inner > .logo,
  .header > .inner > h1 > .logo {
    width: 194px;
    flex: 1 0 auto;
  }
}
.header > .inner > .logo > img,
.header > .inner > h1 > .logo > img {
  width: 100%;
}
.header[data-header=fixed] {
  position: fixed;
  top: 8px;
  left: 25px;
  right: 25px;
  width: calc(100% - 50px);
  height: 100px;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 16px;
  border-color: #f0f0f0;
}
@media (max-width: 1180px) {
  .header[data-header=fixed] {
    left: 8px;
    right: 8px;
    width: calc(100% - 16px);
    height: 56px;
    border-radius: 8px;
  }
}
.header[data-header=fixed] > .inner {
  align-items: center;
}
@media all and (min-width: 1181px) {
  .header[data-header=fixed] > .inner {
    padding: 13px min(51px, 2.65625vw) 13px min(64px, 3.3333333333vw);
  }
}
.header[data-header=fixed] > .inner > .logo,
.header[data-header=fixed] > .inner > h1 > .logo {
  width: 263px;
}
@media (max-width: 1180px) {
  .header[data-header=fixed] > .inner > .logo,
  .header[data-header=fixed] > .inner > h1 > .logo {
    width: 180px;
  }
}

.header-menu {
  display: none;
}
@media (max-width: 1180px) {
  .header-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    width: 100%;
  }
}
.header-menu > .lang {
  padding-bottom: 4px;
}
.header-menu > .lang > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 55px;
  height: 19px;
  border-radius: 50px;
  border: 1px solid #e899ab;
  text-align: center;
  font-size: 0.625rem;
  color: #c34a65;
}
@media (min-width: 769px) {
  .header-menu > .lang > a {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .header-menu > .lang > a:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}
.header-menu > button {
  position: relative;
  z-index: 7;
  display: block;
  width: 32px;
  height: 30px;
  margin: 2px 0 0;
  padding: 0;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s ease-out;
}
@media (min-width: 769px) {
  .header-menu > button:hover {
    opacity: 0.7;
  }
}
.header-menu > button[aria-expanded=true] > span::before {
  width: 28px;
}
.header-menu > button[aria-expanded=true] > span:nth-child(1)::before {
  top: 8px;
  transform: rotate(30deg);
}
.header-menu > button[aria-expanded=true] > span:nth-child(2)::before {
  opacity: 0;
}
.header-menu > button[aria-expanded=true] > span:nth-child(3)::before {
  top: 8px;
  transform: rotate(-30deg);
}
.header-menu > button > span {
  display: flex;
  width: 30px;
  height: 1px;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
.header-menu > button > span::before {
  position: absolute;
  right: 0;
  left: 0;
  width: 30px;
  height: 1px;
  margin: 0 auto;
  background-color: #c34a65;
  content: "";
  transition: all 0.3s ease-out;
}
.header-menu > button > span:nth-child(1)::before {
  top: 0;
}
.header-menu > button > span:nth-child(2)::before {
  top: 7px;
}
.header-menu > button > span:nth-child(3)::before {
  top: 14px;
}
.header-menu > button > em {
  display: block;
  margin-top: 16px;
  font-size: 0.5rem;
  font-weight: 500;
  text-align: center;
  color: #c34a65;
}

@media (max-width: 1180px) {
  .header-nav {
    display: none;
  }
}
@media (max-width: 1180px) {
  .header-nav[aria-hidden=false] {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 56px;
    left: 0;
    width: 100%;
    height: calc(100dvh - 56px);
    overflow-y: auto;
    padding: 6px 25px 120px 30px;
    background-color: #fff7f7;
  }
}
.header-nav > .info {
  display: flex;
  align-items: center;
  gap: 40px;
}
@media (max-width: 1180px) {
  .header-nav > .info {
    order: 2;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 20px;
    gap: 20px;
  }
}
.header-nav > .info > ul {
  display: flex;
  gap: 40px;
}
@media (max-width: 1180px) {
  .header-nav > .info > ul {
    width: 100%;
    gap: 10px;
  }
}
@media (max-width: 1180px) {
  .header-nav > .info > ul > li {
    flex: 1;
  }
}
.header-nav > .info > ul > li > .link {
  position: relative;
  font-size: 1.0625rem;
  color: #c34a65;
}
@media (min-width: 769px) {
  .header-nav > .info > ul > li > .link {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .header-nav > .info > ul > li > .link:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}
@media (max-width: 1180px) {
  .header-nav > .info > ul > li > .link {
    font-size: 13px;
    letter-spacing: 0.06em;
  }
}
.header-nav > .info > ul > li > .link[target=_blank] {
  position: relative;
  padding-right: 24px;
}
.header-nav > .info > ul > li > .link[target=_blank]::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin-left: 4px;
  background: url("/assets/images/common/icon-external-link-01.svg") center right no-repeat;
  background-size: contain;
}
.header-nav > .info > ul > li > .link:is(a) {
  padding-right: 0;
}
@media (max-width: 1180px) {
  .header-nav > .info > .lang {
    display: none;
  }
}
.header-nav > .info > .lang > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 21px;
  border-radius: 50px;
  border: 1px solid #e899ab;
  font-family: "Open Sans", sans-serif;
  font-size: 0.8125rem;
  text-align: center;
  color: #c34a65;
}
@media (min-width: 769px) {
  .header-nav > .info > .lang > a {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .header-nav > .info > .lang > a:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.header-search {
  position: relative;
  width: 210px;
  height: 33px;
  margin-left: 8px;
  padding: 3px 45px 3px 15px;
  border: 1px solid #c9caca;
  border-radius: 4px;
  background-color: #fff;
}
@media (max-width: 1180px) {
  .header-search {
    width: 100%;
    height: 40px;
    margin-left: 0;
    padding-block: 8px 10px;
    border-color: #f0f0f0;
  }
}
.header-search form > .box {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  background-color: transparent;
  border: none;
  font-size: 1.0625rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media (max-width: 1180px) {
  .header-search form > .box {
    font-size: 0.875rem;
  }
}
.header-search form > .box::-moz-placeholder {
  color: #676767;
}
.header-search form > .box::placeholder {
  color: #676767;
}
.header-search form > .box:focus {
  outline: none;
}
.header-search form > .button {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  cursor: pointer;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.header-search form > .button::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: calc(50% - 7px);
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url("/assets/images/common/icon-search-01.svg") center left no-repeat;
  background-size: contain;
}

.footer {
  position: relative;
}
.footer > .inner {
  display: flex;
  justify-content: space-between;
  gap: min(40px, 2.0833333333vw);
  max-width: 1560px;
  width: 100%;
  margin: 0 auto;
  padding: 48px 30px 16px;
}
@media (max-width: 1180px) {
  .footer > .inner {
    flex-direction: column;
    gap: 37px;
    padding: 40px 14px 16px;
  }
}
.footer > .inner > .logo {
  display: block;
  width: min(390px, 28.6764705882vw);
  margin-top: 27px;
}
@media (max-width: 1180px) {
  .footer > .inner > .logo {
    width: 272px;
    margin: 0 auto;
  }
}
.footer > .inner > .logo > a > img {
  width: 100%;
}
.footer > .inner > .box {
  width: min(850px, 62.5vw);
}
@media (max-width: 1180px) {
  .footer > .inner > .box {
    width: 100%;
  }
}
.footer > .inner > .box > .copyright {
  margin-top: 21px;
  font-size: 0.6875rem;
  color: #676767;
  text-align: right;
}
@media (max-width: 1180px) {
  .footer > .inner > .box > .copyright {
    margin-top: 12px;
    font-size: 0.625rem;
    text-align: center;
  }
}

.footer-nav {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px min(47px, 2.4479166667vw);
}
@media (max-width: 1180px) {
  .footer-nav {
    flex-wrap: wrap;
    gap: 10px 24px;
    justify-content: flex-start;
    padding-inline: 13px;
  }
}
@media (max-width: 1180px) {
  .footer-nav > li {
    flex: 1 0 auto;
  }
}
@media (max-width: 1180px) {
  .footer-nav > li:nth-child(odd) {
    width: 53%;
  }
}
@media (max-width: 1180px) {
  .footer-nav > li:nth-child(even) {
    width: 37%;
  }
}
.footer-nav > li > a {
  position: relative;
  padding-left: 18px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #000;
}
@media all and (min-width: 933px) {
  .footer-nav > li > a {
    transition: all 0.3s ease-out;
  }
  .footer-nav > li > a:hover {
    color: #c34a65;
  }
}
@media (max-width: 1180px) {
  .footer-nav > li > a {
    font-size: 0.875rem;
  }
}
.footer-nav > li > a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background: url("/assets/images/common/icon-circle-01.svg") center left no-repeat;
  background-size: contain;
}
.footer-nav > li > a[target=_blank] {
  position: relative;
  padding-right: 28px;
}
@media (max-width: 1180px) {
  .footer-nav > li > a[target=_blank] {
    padding-right: 27px;
  }
}
.footer-nav > li > a[target=_blank]::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  margin-left: 4px;
  background: url("/assets/images/common/icon-external-link-01.svg") center right no-repeat;
  background-size: contain;
}
@media (max-width: 1180px) {
  .footer-nav > li > a[target=_blank]::after {
    width: 21px;
    height: 21px;
  }
}

.footer-link {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px min(40px, 2.0833333333vw);
  margin-top: 38px;
  padding-top: 20px;
  border-top: 1px solid #f0f0f0;
}
@media (max-width: 1180px) {
  .footer-link {
    justify-content: flex-start;
    gap: 2px 16px;
    margin-top: 21px;
  }
}
.footer-link > li > a {
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  color: #000;
}
@media all and (min-width: 933px) {
  .footer-link > li > a {
    transition: all 0.3s ease-out;
  }
  .footer-link > li > a:hover {
    color: #c34a65;
  }
}

.pagetop {
  position: fixed;
  bottom: 16px;
  right: 40px;
  display: block;
  width: 36px;
  height: 36px;
  border: none;
  border-radius: 36px;
  padding: 0;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  z-index: 50;
  cursor: pointer;
  transition: top 0.3s ease-out, bottom 0.3s ease-out;
}
@media (min-width: 769px) {
  .pagetop {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .pagetop:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}
@media screen and (max-width: 768px) {
  .pagetop {
    display: none;
  }
}
.pagetop[data-absolute=true] {
  position: absolute;
  top: -50px;
  bottom: auto;
}

@media screen and (max-width: 768px) {
  .top .footer > .inner {
    padding-bottom: 75px;
  }
}

.l-contents {
  overflow: hidden;
  padding-top: 105px;
}
@media (max-width: 1180px) {
  .l-contents {
    padding-top: 56px;
  }
}
.l-contents[data-background-variant=pink] {
  background-color: #fff7f7;
}
.l-contents[data-component-variant=true] > .inner {
  max-width: 1260px;
  margin: 0 auto;
  padding: 100px 30px;
}
@media screen and (max-width: 768px) {
  .l-contents[data-component-variant=true] > .inner {
    max-width: 100%;
    padding: 50px 15px;
  }
}

.box-related-link {
  padding: 46px 0 93px;
  background-color: #fff7f7;
}
@media screen and (max-width: 768px) {
  .box-related-link {
    padding: 32px 0 38px;
  }
}
.box-related-link > .title {
  margin-bottom: 29px;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1;
  text-align: center;
  color: #000;
}
@media screen and (max-width: 768px) {
  .box-related-link > .title {
    margin-bottom: 16px;
    font-size: 1.125rem;
    line-height: 1.45;
  }
}
.box-related-link .splide__pagination {
  position: static;
  display: flex !important;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .box-related-link .splide__pagination {
    gap: 6px;
  }
}
.box-related-link .splide__pagination li {
  margin: 0;
}
.box-related-link .splide__pagination__page {
  width: 40px;
  height: 2px;
  border-radius: 3px;
  background-color: #c9caca;
  margin: 0;
  transition-property: all;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .box-related-link .splide__pagination__page {
    width: 20px;
  }
}
.box-related-link .splide__pagination__page:hover, .box-related-link .splide__pagination__page.is-active {
  transform: none;
  background-color: #c34a65;
}
.box-related-link .splide__arrows {
  display: flex;
  justify-content: center;
}
.box-related-link .splide__arrow {
  transform: none;
  opacity: 1;
  top: -5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 37px;
  height: 37px;
  padding: 0;
  border: none;
  padding: 2px;
  border-radius: 50%;
  background: linear-gradient(140deg, #d5d5d5 0%, #edf1f5 49.75%, #fff 100%);
  cursor: pointer;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .box-related-link .splide__arrow {
    top: 1px;
    width: 26px;
    height: 26px;
    background: linear-gradient(145deg, #d5d5d5 0%, #edf1f5 49.75%, #fff 100%);
  }
}
@media (min-width: 769px) {
  .box-related-link .splide__arrow:hover::after {
    background-color: #faf5f7;
  }
}
.box-related-link .splide__arrow::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  margin-left: 3px;
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #c34a65;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .box-related-link .splide__arrow::before {
    left: 8px;
    border-width: 4px 0 4px 7px;
  }
}
.box-related-link .splide__arrow::after {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  width: 31px;
  height: 31px;
  background-color: #fff;
  border-radius: 50%;
  z-index: 1;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .box-related-link .splide__arrow::after {
    top: 2px;
    left: 2px;
    width: 22px;
    height: 22px;
  }
}
.box-related-link .splide__arrow--prev {
  left: 0;
}
.box-related-link .splide__arrow--prev::before {
  left: 9px;
  border-width: 5px 10px 5px 0;
  border-color: transparent #c34a65 transparent transparent;
}
@media screen and (max-width: 768px) {
  .box-related-link .splide__arrow--prev::before {
    left: 6px;
    border-width: 4px 7px 4px 0;
  }
}
.box-related-link .splide__arrow--next {
  right: 0;
}
.box-related-link .splide__arrow svg {
  display: none;
}

.banner-related {
  display: block;
}
@media (min-width: 769px) {
  .banner-related {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .banner-related:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.box-related-pagination {
  margin-top: 25px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .box-related-pagination {
    margin-top: 11px;
  }
}
.box-related-pagination > .inner {
  position: relative;
  display: inline-flex;
  padding: 0 36px;
}
@media screen and (max-width: 768px) {
  .box-related-pagination > .inner {
    padding: 0 17px;
  }
}

.no-js noscript .no_js {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 10px 20px;
  text-align: center;
  background-color: #000;
  z-index: 2000;
}
@media (max-width: 1180px) {
  .no-js noscript .no_js {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 87px;
  }
}

.no-js noscript .no_js p {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}

.no-js .header {
  position: static;
  margin-top: 42px;
}
@media (max-width: 1180px) {
  .no-js .header {
    margin-top: 87px;
  }
}

.no-js .l-contents {
  padding-top: 0;
}

/* ==========================================================================//
// Components
// ========================================================================== */
/* ---------------------------------------------
  .box-access-map
------------------------------------------------ */
.box-access-map-wrap {
  padding: 80px 30px;
  background-color: #d9a5ac;
}
@media screen and (max-width: 768px) {
  .box-access-map-wrap {
    padding: 56px 15px;
  }
}

.box-access-map {
  position: relative;
  max-width: 1500px;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 30px;
  padding: 72px min(72px, 4.6153846154vw);
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .box-access-map {
    max-width: 100%;
    padding: 38px 20px 24px;
    border-radius: 16px;
  }
}
.box-access-map > .inner {
  display: flex;
  justify-content: space-between;
  gap: min(62px, 3.9743589744vw);
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .box-access-map > .inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 32px;
  }
}
.box-access-map > .inner > .box {
  width: min(550px, 35.2564102564vw);
}
@media screen and (max-width: 768px) {
  .box-access-map > .inner > .box {
    width: 100%;
  }
}
@media (min-width: 769px) {
  .box-access-map > .inner > .box > .heading-01 {
    margin-bottom: 27px;
  }
}
.box-access-map > .inner > .box > .title {
  margin-bottom: 26px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  color: #c34a65;
  letter-spacing: 0.03em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .box-access-map > .inner > .box > .title {
    margin-bottom: 22px;
    font-size: 1.25rem;
    line-height: 1.6;
  }
}
.box-access-map > .inner > .box > .box-address > .title {
  margin-bottom: 14px;
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 768px) {
  .box-access-map > .inner > .box > .box-address > .title {
    margin-bottom: 5px;
    font-size: 1rem;
  }
}
.box-access-map > .inner > .box > .box-address > .text {
  font-size: 1rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .box-access-map > .inner > .box > .box-address > .text {
    font-size: 0.875rem;
  }
}
.box-access-map > .inner > .box > .box-itinerary {
  margin-top: 21px;
}
.box-access-map > .inner > .box > .box-itinerary > .title {
  margin-bottom: 13px;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.07em;
}
@media screen and (max-width: 768px) {
  .box-access-map > .inner > .box > .box-itinerary > .title {
    margin-bottom: 5px;
    font-size: 1rem;
  }
}
.box-access-map > .inner > .box > .box-itinerary > .text {
  font-size: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .box-access-map > .inner > .box > .box-itinerary > .text {
    font-size: 0.875rem;
  }
}
.box-access-map > .inner > .box > .list-button {
  margin-top: 38px;
}
@media screen and (max-width: 768px) {
  .box-access-map > .inner > .box > .list-button {
    margin-top: 24px;
  }
}
.box-access-map > .inner > .map {
  overflow: hidden;
  position: relative;
  width: min(588px, 37.6923076923vw);
}
@media screen and (max-width: 768px) {
  .box-access-map > .inner > .map {
    width: 100%;
  }
}
.box-access-map > .inner > .map:before {
  display: block;
  content: "";
  width: 100%;
  height: 558px;
}
@media screen and (max-width: 768px) {
  .box-access-map > .inner > .map:before {
    height: 48.5333333333vw;
  }
}
.box-access-map > .inner > .map > iframe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  border-radius: 16px;
}

/* ---------------------------------------------
  .box-annotation
------------------------------------------------ */
.box-annotation {
  padding: 31px 32px;
  border-radius: 16px;
  background-color: #ffeaea;
}
@media screen and (max-width: 768px) {
  .box-annotation {
    padding: 23px 24px 24px;
  }
}
.box-annotation > .heading {
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 768px) {
  .box-annotation > .heading {
    margin-bottom: 15px;
    padding-bottom: 14px;
  }
}
.box-annotation[data-color-variant=white] {
  background-color: #fff;
}
.box-annotation[data-color-variant=white] > .heading {
  border-color: #c9caca;
}
.box-annotation + .box-annotation {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .box-annotation + .box-annotation {
    margin-top: 10px;
  }
}
.list-dots + .box-annotation, .list-note + .box-annotation, p + .box-annotation, .box-annotation + .list-dots, .box-annotation + .list-note, .box-annotation + p {
  margin-top: 24px;
}
.box-annotation + h2, .box-annotation + h3, .box-annotation + h4 {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .box-annotation + h2, .box-annotation + h3, .box-annotation + h4 {
    margin-top: 40px;
  }
}

/* ---------------------------------------------
  .box-video
------------------------------------------------ */
.box-video {
  width: 100%;
}
@media (min-width: 769px) {
  .box-video {
    max-width: 785px;
    margin: 0 auto;
  }
}
.box-video > .video {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: none;
  overflow: hidden;
  cursor: pointer;
}
.box-video > .video::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #727272;
  border-radius: 32px;
  mix-blend-mode: multiply;
  opacity: 0;
  transition: opacity 0.3s ease-out;
  content: "";
}
@media screen and (max-width: 768px) {
  .box-video > .video::before {
    border-radius: 16px;
  }
}
.box-video > .video::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 64px;
  height: 64px;
  background: url("/assets/images/common/icon-play-01-no.svg") left top no-repeat;
  background-size: contain;
  transform: translate3d(-50%, -50%, 0);
  transition: background-image 0.3s ease-out;
  content: "";
}
@media screen and (max-width: 768px) {
  .box-video > .video::after {
    width: 54px;
    height: 54px;
  }
}
@media (min-width: 769px) {
  .box-video > .video:hover::before {
    opacity: 1;
  }
}
@media (min-width: 769px) {
  .box-video > .video:hover::after {
    background-image: url("/assets/images/common/icon-play-01-on.svg");
  }
}
.box-video > .video > img {
  width: 100%;
  border-radius: 32px;
}
@media screen and (max-width: 768px) {
  .box-video > .video > img {
    border-radius: 16px;
  }
}
.box-video > .detail {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .box-video > .detail {
    margin-top: 15px;
  }
}
.box-video > .detail > .text-primary, .box-video > .detail.list-check > li, .box-video > .detail.list-dots > li, .box-video > .detail.list-order > li, .box-video > .detail.list-note-order > li, .box-video > .detail.list-note > li, .box-video.box-cms > ul.detail > li {
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .box-video > .detail > .text-primary, .box-video > .detail.list-check > li, .box-video > .detail.list-dots > li, .box-video > .detail.list-order > li, .box-video > .detail.list-note-order > li, .box-video > .detail.list-note > li, .box-video.box-cms > ul.detail > li {
    letter-spacing: 0.03em;
  }
}
.box-video > .detail > .time:not(:first-child) {
  margin-top: 5px;
  font-size: 0.9375rem;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #676767;
}
@media screen and (max-width: 768px) {
  .box-video > .detail > .time:not(:first-child) {
    margin-top: 6px;
    font-size: 0.8125rem;
    letter-spacing: normal;
  }
}
*:not(.box-video) + .box-video {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  *:not(.box-video) + .box-video {
    margin-top: 24px;
  }
}
.box-video + *:not(.box-video) {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .box-video + *:not(.box-video) {
    margin-top: 40px;
  }
}

/* ---------------------------------------------
  .box-tab
------------------------------------------------ */
.box-tab > .tab {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 24px;
       column-gap: 24px;
}
@media screen and (max-width: 768px) {
  .box-tab > .tab {
    -moz-column-gap: 9px;
         column-gap: 9px;
  }
}
.box-tab > .tab > .button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 98px;
  padding: 5px;
  background-color: #ddd8d1;
  border: none;
  border-radius: 30px 30px 0 0;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.5;
  color: #3c3c3c;
  text-align: center;
  transition: all 0.3s ease-out;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .box-tab > .tab > .button {
    min-height: 45px;
    border-radius: 16px 16px 0 0;
    font-size: min(0.875rem, 3.7333333333vw);
    line-height: 1.3571428571;
    letter-spacing: 0.06em;
  }
}
@media (min-width: 769px) {
  .box-tab > .tab > .button:not([aria-selected=true]):hover {
    background-color: #c34a65;
    color: #fff;
  }
}
.box-tab > .tab > .button[aria-selected=true] {
  background-color: #fff;
  cursor: default;
}
.box-tab > .body {
  padding: 50px 30px;
  background-color: #fff;
  border-radius: 0 0 30px 30px;
}
@media screen and (max-width: 768px) {
  .box-tab > .body {
    padding: 30px 15px;
    border-radius: 0 0 16px 16px;
  }
}
.box-tab > .body > .content {
  transition: opacity 0.3s ease-out;
}
.box-tab > .body > .content[data-state=closed] {
  opacity: 0;
}
.box-tab > .body > .content[data-state=open] {
  opacity: 1;
}

/* ---------------------------------------------
  .box-accordion-content
------------------------------------------------ */
.box-accordion-content {
  position: relative;
  display: flex;
  gap: 14px 20px;
  padding: 31px 0 29px;
}
@media screen and (max-width: 768px) {
  .box-accordion-content {
    flex-direction: column;
    padding: 25px 0 23px;
  }
}
.box-accordion-content::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #c9caca;
  border-radius: 8px;
  content: "";
}
.box-accordion-content > .heading {
  width: 174px;
  padding-top: 2px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.4545454545;
  letter-spacing: 0.06em;
  color: #c34a65;
}
@media screen and (max-width: 768px) {
  .box-accordion-content > .heading {
    width: 100%;
    padding-top: 0;
    font-size: 1rem;
    line-height: 1.5625;
    letter-spacing: 0.07em;
  }
}
@media (min-width: 769px) {
  .box-accordion-content > .body {
    flex: 1;
  }
}
.box-accordion-content > .body p.text-primary,
.box-accordion-content > .body .list-dots > li,
.box-accordion-content > .body .list-order > li {
  line-height: 1.5714285714;
}
@media (min-width: 769px) {
  .box-accordion-content > .body p.text-primary,
  .box-accordion-content > .body .list-dots > li,
  .box-accordion-content > .body .list-order > li {
    line-height: 1.8;
    letter-spacing: normal;
  }
}
.box-accordion-content > .body .list-dots > li {
  padding-left: 14px;
}
@media (min-width: 769px) {
  .box-accordion-content > .body .list-dots > li::before {
    top: 12px;
    left: 0;
  }
}
.box-accordion-content > .body .list-dots > li:not(:first-child) {
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .box-accordion-content > .body .list-dots > li:not(:first-child) {
    margin-top: 6px;
  }
}
.box-accordion-content > .body .list-note[data-list-variant=small] > li {
  padding-left: 23px;
}
@media screen and (max-width: 768px) {
  .box-accordion-content > .body .list-note[data-list-variant=small] > li {
    padding-left: 20px;
  }
}
@media screen and (max-width: 768px) {
  .box-accordion-content > .body .list-order > li {
    padding-left: 22px;
  }
}
.box-accordion-content > .body .list-order > li:not(:first-child) {
  margin-top: 3px;
}
@media screen and (max-width: 768px) {
  .box-accordion-content > .body .list-order > li:not(:first-child) {
    margin-top: 6px;
  }
}
.box-accordion-content > .body .text-primary + .list-order, .box-accordion-content > .body .list-check > li + .list-order, .box-accordion-content > .body .list-dots > li + .list-order, .box-accordion-content > .body .list-order > li + .list-order, .box-accordion-content > .body .list-note-order > li + .list-order, .box-accordion-content > .body .list-note > li + .list-order, .box-accordion-content > .body .box-cms > ul > li + .list-order {
  margin-top: 3px;
}
@media screen and (max-width: 768px) {
  .box-accordion-content > .body .text-primary + .list-order, .box-accordion-content > .body .list-check > li + .list-order, .box-accordion-content > .body .list-dots > li + .list-order, .box-accordion-content > .body .list-order > li + .list-order, .box-accordion-content > .body .list-note-order > li + .list-order, .box-accordion-content > .body .list-note > li + .list-order, .box-accordion-content > .body .box-cms > ul > li + .list-order {
    margin-top: 9px;
  }
}
.box-accordion-content > .body .list-dots > li:not(:last-child) > .list-note[data-list-variant=small] {
  padding-bottom: 2px;
}
@media screen and (max-width: 768px) {
  .box-accordion-content > .body .list-dots > li:not(:last-child) > .list-note[data-list-variant=small] {
    padding-bottom: 8px;
  }
}
.box-accordion-content > .body .list-dots > li > .list-note[data-list-variant=small]:not(:first-child) {
  margin: 5px 0 0 4px;
}
@media screen and (max-width: 768px) {
  .box-accordion-content > .body .list-dots > li > .list-note[data-list-variant=small]:not(:first-child) {
    margin-left: 0;
  }
}
.box-accordion-content > .body .list-note[data-list-variant=small]:not(:first-child) {
  margin-top: 6px;
}
.box-accordion-content > .body .list-note[data-list-variant=small] + .text-primary, .box-accordion-content > .body .list-check > .list-note[data-list-variant=small] + li, .box-accordion-content > .body .list-dots > .list-note[data-list-variant=small] + li, .box-accordion-content > .body .list-order > .list-note[data-list-variant=small] + li, .box-accordion-content > .body .list-note-order > .list-note[data-list-variant=small] + li, .box-accordion-content > .body .list-note > .list-note[data-list-variant=small] + li, .box-accordion-content > .body .box-cms > ul > .list-note[data-list-variant=small] + li {
  margin-top: 12px;
}
@media screen and (max-width: 768px) {
  .box-accordion-content > .body .list-note[data-list-variant=small] + .text-primary, .box-accordion-content > .body .list-check > .list-note[data-list-variant=small] + li, .box-accordion-content > .body .list-dots > .list-note[data-list-variant=small] + li, .box-accordion-content > .body .list-order > .list-note[data-list-variant=small] + li, .box-accordion-content > .body .list-note-order > .list-note[data-list-variant=small] + li, .box-accordion-content > .body .list-note > .list-note[data-list-variant=small] + li, .box-accordion-content > .body .box-cms > ul > .list-note[data-list-variant=small] + li {
    margin-top: 14px;
  }
}
.box-accordion-content:last-child {
  padding-bottom: 38px;
}
@media screen and (max-width: 768px) {
  .box-accordion-content:last-child {
    padding-bottom: 53px;
  }
}

/* ---------------------------------------------
  .box-read-more
------------------------------------------------ */
.box-read-more > .content {
  max-height: 120px;
  transition: max-height 0.3s ease;
  overflow: hidden;
}
.box-read-more > .button {
  position: relative;
  margin-top: 24px;
}
.box-read-more > .button::before {
  position: absolute;
  top: -74px;
  left: 0;
  width: 100%;
  height: 50px;
  background: linear-gradient(to bottom, rgba(255, 247, 247, 0), #fff7f7);
  content: "";
}
.box-read-more > .button:has(> .button-read-more[aria-expanded=true])::before {
  display: none;
}
@media screen and (max-width: 768px) {
  .box-read-more > .button[data-size-variant=medium] {
    padding-inline: 15px;
  }
}
@media screen and (max-width: 768px) {
  .box-read-more > .button[data-size-variant=small] {
    padding-inline: 24px;
  }
}
@media (min-width: 769px) {
  .box-read-more > .button > .button-read-more {
    max-width: 328px;
    margin: 0 auto;
  }
}

/* ---------------------------------------------
  .box-module-code
------------------------------------------------ */
.box-module-code {
  margin-top: 20px;
}
.box-module-code pre > code {
  white-space: pre-wrap;
}

/* ---------------------------------------------
  .box-reservation-inquiries-section
------------------------------------------------ */
.box-reservation-inquiries-section {
  background-color: #f0ece9;
}
.box-reservation-inquiries-section > .inner {
  position: relative;
  max-width: 1560px;
  width: 100%;
  margin: 0 auto;
  padding: 80px 30px;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .box-reservation-inquiries-section > .inner {
    max-width: 100%;
    padding: 56px 15px;
  }
}

/* ---------------------------------------------
  .box-reservation-inquiries
------------------------------------------------ */
.box-reservation-inquiries {
  display: flex;
  align-items: center;
  padding: 30px;
  border-radius: 30px;
  background-color: #fff;
}
@media (max-width: 1180px) {
  .box-reservation-inquiries {
    gap: 24px;
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .box-reservation-inquiries {
    padding: 24px 20px;
    border-radius: 16px;
  }
}
.box-reservation-inquiries > .box-detail {
  display: flex;
  align-items: center;
  gap: min(64px, 4.1025641026vw);
  padding-right: min(40px, 2.5641025641vw);
  border-right: 1px solid #c9caca;
}
@media (max-width: 1180px) {
  .box-reservation-inquiries > .box-detail {
    padding: 0 0 23px;
    border-right: none;
    border-bottom: 1px solid #c9caca;
  }
}
@media screen and (max-width: 768px) {
  .box-reservation-inquiries > .box-detail {
    flex-direction: column;
    gap: 22px;
  }
}
.box-reservation-inquiries > .box-detail > figure {
  overflow: hidden;
  width: min(450px, 28.8461538462vw);
  flex: 0 0 auto;
  border-radius: 26px;
}
@media screen and (max-width: 768px) {
  .box-reservation-inquiries > .box-detail > figure {
    width: 100%;
  }
}
.box-reservation-inquiries > .box-detail > figure > img {
  display: block;
  width: 100%;
  height: auto;
}
.box-reservation-inquiries > .box-detail > .box-info {
  width: 100%;
}
.box-reservation-inquiries > .box-detail > .box-info > *:not(p) {
  margin-bottom: 24px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.8;
  color: #c34a65;
}
@media screen and (max-width: 768px) {
  .box-reservation-inquiries > .box-detail > .box-info > *:not(p) {
    margin-bottom: 9px;
    font-size: 1.25rem;
  }
}
.box-reservation-inquiries > .box-detail > .box-info > .text {
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .box-reservation-inquiries > .box-detail > .box-info > .text {
    font-size: 0.9375rem;
    line-height: 1.67;
  }
}
.box-reservation-inquiries > .box-button {
  width: min(485px, 31.0897435897vw);
  height: 100%;
  flex: 1 0 auto;
  padding-inline: min(40px, 2.5641025641vw) min(35px, 2.2435897436vw);
}
@media (max-width: 1180px) {
  .box-reservation-inquiries > .box-button {
    width: 410px;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .box-reservation-inquiries > .box-button {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .box-reservation-inquiries > .box-button > .list > *[class^=button-] {
    max-width: 100%;
  }
}
.box-reservation-inquiries > .box-button > .list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.box-reservation-inquiries > .box-button > .sns {
  display: flex;
  gap: 8px;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .box-reservation-inquiries > .box-button > .sns {
    justify-content: center;
    margin-top: 24px;
  }
}
.box-reservation-inquiries > .box-button > .sns > a {
  display: block;
  height: 32px;
}
@media (min-width: 769px) {
  .box-reservation-inquiries > .box-button > .sns > a {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .box-reservation-inquiries > .box-button > .sns > a:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}
@media screen and (max-width: 768px) {
  .box-reservation-inquiries > .box-button > .sns > a {
    height: 24px;
  }
}
.box-reservation-inquiries > .box-button > .sns > a > img {
  width: auto;
  height: 100%;
}

/* ---------------------------------------------
  .box-apply-tests
------------------------------------------------ */
.box-apply-tests {
  display: flex;
  align-items: center;
  padding: 30px;
  border-radius: 30px;
  background-color: #fff;
}
@media (max-width: 1180px) {
  .box-apply-tests {
    gap: 24px;
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .box-apply-tests {
    padding: 24px 20px;
    border-radius: 16px;
  }
}
.box-apply-tests > .box-detail {
  display: flex;
  align-items: center;
  gap: min(64px, 4.1025641026vw);
}
@media (max-width: 1180px) {
  .box-apply-tests > .box-detail {
    padding: 0 0 23px;
    border-right: none;
    border-bottom: 1px solid #c9caca;
  }
}
@media screen and (max-width: 768px) {
  .box-apply-tests > .box-detail {
    flex-direction: column;
    gap: 22px;
  }
}
.box-apply-tests > .box-detail > picture {
  overflow: hidden;
  width: min(300px, 19.2307692308vw);
  flex: 0 0 auto;
  border-radius: 26px;
}
@media screen and (max-width: 768px) {
  .box-apply-tests > .box-detail > picture {
    width: 100%;
  }
}
.box-apply-tests > .box-detail > picture > img {
  display: block;
  width: 100%;
  height: auto;
}
.box-apply-tests > .box-detail > .box-info {
  width: 100%;
}
@media (min-width: 769px) {
  .box-apply-tests > .box-detail > .box-info {
    border-right: 1px solid #c9caca;
    padding-right: min(40px, 2.5641025641vw);
  }
}
@media (max-width: 1180px) {
  .box-apply-tests > .box-detail > .box-info {
    border-right: none;
  }
}
.box-apply-tests > .box-detail > .box-info > .text {
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .box-apply-tests > .box-detail > .box-info > .text {
    font-size: 0.9375rem;
    line-height: 1.67;
  }
}
.box-apply-tests > .box-link {
  width: min(510px, 32.6923076923vw);
  height: 100%;
  flex: 1 0 auto;
  padding-inline: min(40px, 2.5641025641vw) min(30px, 1.9230769231vw);
}
@media (max-width: 1180px) {
  .box-apply-tests > .box-link {
    width: 410px;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .box-apply-tests > .box-link {
    width: 100%;
  }
}
.box-apply-tests > .box-link > .heading {
  display: flex;
  gap: 16px;
  margin-bottom: 18px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 1.25rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .box-apply-tests > .box-link > .heading {
    font-size: 1.125rem;
    line-height: 1.3888888889;
    gap: 8px;
    margin-bottom: 12px;
  }
}
.box-apply-tests > .box-link > .heading > i {
  width: 18px;
  flex: 0 0 auto;
  padding-top: 6px;
}
@media screen and (max-width: 768px) {
  .box-apply-tests > .box-link > .heading > i {
    padding-top: 3px;
  }
}
.box-apply-tests > .box-link > .heading > i > img {
  width: 100%;
  height: auto;
}
@media (max-width: 1365px) {
  .box-apply-tests > .box-link > .heading > span > br {
    display: none;
  }
}
.box-apply-tests > .box-link > ul {
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .box-apply-tests > .box-link > ul {
    gap: 7px;
  }
}

/* ---------------------------------------------
  .box-option-heading
------------------------------------------------ */
.box-option-heading {
  border: 1px solid #c9caca;
  background-color: #fff;
  padding: 24px 24px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 40px;
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .box-option-heading {
    padding: 14px 15px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 8px;
  }
}

@media (min-width: 769px) {
  .box-option-heading:has(.list-note) {
    padding: 18px 24px;
  }
}
@media (min-width: 769px) {
  .box-option-heading:has(.list-note) > .heading {
    flex: 0 0 auto;
    max-width: 50%;
  }
}
.box-option-heading:has(.list-note) > .list-note {
  flex: 1;
}

.box-option-heading > .heading {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .box-option-heading > .heading {
    align-items: flex-start;
    gap: 8px;
  }
}
.box-option-heading > .heading > * {
  margin-bottom: 0;
}

.box-option-heading > .heading > .icon {
  display: flex;
  flex-wrap: nowrap;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .box-option-heading > .heading > .icon {
    gap: 8px;
  }
}
.box-option-heading > .heading > .icon > i {
  display: block;
  width: 40px;
  height: 40px;
}
@media screen and (max-width: 768px) {
  .box-option-heading > .heading > .icon > i {
    width: 25px;
    height: 25px;
  }
}
.box-option-heading > .heading > .icon > i > img {
  width: 100%;
  height: auto;
}

/* ---------------------------------------------
  .box-cms
------------------------------------------------ */
.box-cms > h2 {
  position: relative;
  padding-left: 20px;
  margin-bottom: 32px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.5625;
}
@media screen and (max-width: 768px) {
  .box-cms > h2 {
    margin-bottom: 24px;
    font-size: 1.375rem;
    letter-spacing: 0.05em;
    line-height: 1.5909090909;
  }
}
.box-cms > h2::before {
  position: absolute;
  top: 22px;
  left: 0;
  width: 10px;
  height: 10px;
  background: url("/assets/images/common/icon-circle-01.svg") left center no-repeat;
  background-size: contain;
  content: "";
}
@media screen and (max-width: 768px) {
  .box-cms > h2::before {
    top: 11px;
    width: 12px;
    height: 12px;
  }
}
.box-cms > h3 {
  position: relative;
  margin-bottom: 32px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .box-cms > h3 {
    margin-bottom: 24px;
    font-size: 1.375rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  .box-cms > h3[data-align-variant=center-sp] {
    text-align: center;
  }
}
.box-cms > h3:has(+ [class^=text-]) {
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .box-cms > h3:has(+ [class^=text-]) {
    margin-bottom: 24px;
  }
}
.box-cms > p:not(.link-text) {
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .box-cms > p:not(.link-text) {
    font-size: 0.875rem;
  }
}
.box-cms > p:not(.link-text) > strong {
  font-weight: 700;
}
.box-cms > p:not(.link-text)[data-text-variant=large] {
  font-size: 1.125rem;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .box-cms > p:not(.link-text)[data-text-variant=large] {
    font-size: 0.9375rem;
  }
}
@media screen and (max-width: 768px) {
  .box-cms > p:not(.link-text)[data-text-variant=large] + .box-cms > p:not(.link-text)[data-text-variant=large] {
    margin-top: 13px;
  }
}
.box-cms > p:not(.link-text) > a {
  position: relative;
  display: inline-block;
  font-weight: 500;
  color: #c34a65;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s ease;
}
@media (min-width: 769px) {
  .box-cms > p:not(.link-text) > a {
    transition: all 0.3s ease-out;
  }
  .box-cms > p:not(.link-text) > a:hover {
    color: #c34a65;
  }
}
@media (min-width: 769px) {
  .box-cms > p:not(.link-text) > a:hover {
    border-color: #c34a65;
  }
}
.box-cms > p:not(.link-text) > a[target=_blank] {
  padding-right: 20px;
}
.box-cms > p:not(.link-text) > a[target=_blank]::after {
  content: "";
  display: inline;
  position: absolute;
  bottom: 3px;
  right: 0;
  background-color: #c34a65;
  width: 18px;
  height: 18px;
  -webkit-mask-image: url("/assets/images/common/icon-external-link-01.svg");
          mask-image: url("/assets/images/common/icon-external-link-01.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (max-width: 768px) {
  .box-cms > p:not(.link-text) > a[target=_blank]::after {
    bottom: 1px;
    width: 21px;
    height: 21px;
  }
}
.box-cms > p:not(.link-text) > a[href$=".pdf"] {
  padding-right: 21px;
}
@media screen and (max-width: 768px) {
  .box-cms > p:not(.link-text) > a[href$=".pdf"] {
    padding-right: 19px;
  }
}
.box-cms > p:not(.link-text) > a[href$=".pdf"]::after {
  content: "";
  display: inline;
  position: absolute;
  bottom: 5px;
  right: 4px;
  width: 13px;
  height: 16px;
  -webkit-mask: none;
          mask: none;
  background: url("/assets/images/common/icon-pdf-01.svg") right center no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .box-cms > p:not(.link-text) > a[href$=".pdf"]::after {
    width: 12px;
    height: 15px;
  }
}
.box-cms > ul > li {
  position: relative;
  padding-left: 24px;
}
@media screen and (max-width: 768px) {
  .box-cms > ul > li {
    padding-left: 18px;
  }
}
.box-cms > ul > li::before {
  content: "※";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.box-cms > ul > li:not(:first-child) {
  margin-top: 7px;
}
@media screen and (max-width: 768px) {
  .box-cms > ul > li:not(:first-child) {
    margin-top: 6px;
  }
}
.box-cms > p:not(.link-text) + p:not(.link-text) {
  margin-top: 21px;
}
@media screen and (max-width: 768px) {
  .box-cms > p:not(.link-text) + p:not(.link-text) {
    margin-top: 6px;
  }
}
.box-cms ul + h2,
.box-cms p + h2,
.box-cms ul + h3,
.box-cms p + h3,
.box-cms ul + h4,
.box-cms p + h4 {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .box-cms ul + h2,
  .box-cms p + h2,
  .box-cms ul + h3,
  .box-cms p + h3,
  .box-cms ul + h4,
  .box-cms p + h4 {
    margin-top: 40px;
  }
}

/* ---------------------------------------------
  .box-sitemap
------------------------------------------------ */
.box-sitemap {
  padding-left: 40px;
}
* + .box-sitemap {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  * + .box-sitemap {
    margin-top: 8px;
  }
}
.box-sitemap + p.link-text {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .box-sitemap + p.link-text {
    margin-top: 8px;
  }
}

/* ---------------------------------------------
  .box-gallery-section
------------------------------------------------ */
.box-gallery-section {
  padding-top: 128px;
  padding-bottom: 120px;
  background-color: #fff;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .box-gallery-section {
    padding-top: 53px;
    padding-bottom: 56px;
  }
}
.box-gallery-section > .heading-underline {
  margin-bottom: 39px;
}
@media screen and (max-width: 768px) {
  .box-gallery-section > .heading-underline {
    margin-bottom: 31px;
  }
}

/* ---------------------------------------------
  .box-gallery
------------------------------------------------ */
.box-gallery .splide__slide {
  width: 34.896vw;
}
@media screen and (max-width: 768px) {
  .box-gallery .splide__slide {
    width: 84vw;
  }
}
.box-gallery .splide__slide > img {
  width: 100%;
  height: auto;
  opacity: 1;
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.box-gallery .splide__slide:not(.is-active) > img {
  opacity: 0.28;
}
.box-gallery .splide__pagination {
  position: static;
  gap: 8px;
  padding: 0;
  font-size: 0;
}
@media screen and (max-width: 768px) {
  .box-gallery .splide__pagination {
    gap: 6px;
  }
}
.box-gallery .splide__pagination li {
  display: block;
}
.box-gallery .splide__pagination__page {
  width: 40px;
  height: 2px;
  margin: 0;
  background-color: #c9caca;
  border: none;
  border-radius: 3px;
  opacity: 1;
  transition: background-color 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .box-gallery .splide__pagination__page {
    width: 20px;
  }
}
.box-gallery .splide__pagination__page:hover, .box-gallery .splide__pagination__page.is-active {
  transform: none;
  background-color: #c34a65;
}
.box-gallery > .controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 20px 40px;
  padding-inline: 30px;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .box-gallery > .controls {
    gap: 8px;
    padding-inline: 15px;
    margin-top: 17px;
  }
}
.box-gallery > .controls > .button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 37px;
  height: 37px;
  padding: 3px;
  border: none;
  border-radius: 50%;
  background: linear-gradient(140deg, #d5d5d5 0%, #edf1f5 49.75%, #fff 100%);
  cursor: pointer;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .box-gallery > .controls > .button {
    width: 26px;
    height: 26px;
    background: linear-gradient(145deg, #d5d5d5 0%, #edf1f5 49.75%, #fff 100%);
  }
}
.box-gallery > .controls > .button::after {
  position: absolute;
  top: 3px;
  left: 3px;
  z-index: 1;
  display: block;
  width: 31px;
  height: 31px;
  background-color: #fff;
  border-radius: 50%;
  transition: all 0.3s ease-out;
  box-sizing: border-box;
  content: "";
}
@media screen and (max-width: 768px) {
  .box-gallery > .controls > .button::after {
    top: 2px;
    left: 2px;
    width: 22px;
    height: 22px;
  }
}
@media (min-width: 769px) {
  .box-gallery > .controls > .button:hover::after {
    background-color: #faf5f7;
  }
}
.box-gallery > .controls > .button[aria-pressed=true] > .play {
  display: block;
}
.box-gallery > .controls > .button[aria-pressed=false] > .play, .box-gallery > .controls > .button[aria-pressed=true] > .pause {
  display: none;
}
.box-gallery > .controls > .button > .pause {
  display: flex;
  gap: 5px;
}
@media screen and (max-width: 768px) {
  .box-gallery > .controls > .button > .pause {
    gap: 4px;
    padding-bottom: 1px;
  }
}
.box-gallery > .controls > .button > .pause::before, .box-gallery > .controls > .button > .pause::after {
  display: block;
  width: 2px;
  height: 10px;
  background-color: #c34a65;
  z-index: 2;
  content: "";
}
@media screen and (max-width: 768px) {
  .box-gallery > .controls > .button > .pause::before, .box-gallery > .controls > .button > .pause::after {
    height: 9px;
  }
}
.box-gallery > .controls > .button > .play {
  position: relative;
  display: none;
  width: 0;
  height: 0;
  margin-left: 3px;
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #c34a65;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .box-gallery > .controls > .button > .play {
    border-width: 4px 0 4px 7px;
  }
}

.breadcrumb > .list {
  overflow-x: auto;
  max-width: 1820px;
  width: 100%;
  margin: 0 auto;
  padding: 25px 30px 24px;
  display: flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 768px) {
  .breadcrumb > .list {
    padding: 9px 15px;
  }
}
.breadcrumb > .list > li {
  font-size: 0.875rem;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .breadcrumb > .list > li {
    font-size: 0.75rem;
  }
}
.breadcrumb > .list > li:not(:first-child)::before {
  content: "/";
  display: inline-block;
  margin-inline: 8px;
  color: #676767;
}
@media screen and (max-width: 768px) {
  .breadcrumb > .list > li:not(:first-child)::before {
    margin-inline: 4px;
  }
}
.breadcrumb > .list > li > a {
  color: #c34a65;
}
.breadcrumb > .list > li > a:hover {
  text-decoration: underline;
}

/* ---------------------------------------------
  .button-01
------------------------------------------------ */
.button-01 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 400px;
  width: 100%;
  min-height: 70px;
  padding: 12px 55px;
  background-color: #fff;
  border-radius: 16px;
  border: 1px solid #c34a65;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  color: #c34a65;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .button-01 {
    max-width: 100%;
    min-height: 56px;
    padding-inline: 40px;
    border-radius: 12px;
    font-size: 0.9375rem;
    letter-spacing: 0.1em;
  }
}
.button-01::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 24px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background-color: #c34a65;
  -webkit-mask: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
          mask: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .button-01::after {
    right: 15px;
  }
}
.button-01[target=_blank]::after {
  right: 15px;
  -webkit-mask-image: url("/assets/images/common/icon-external-link-01.svg");
          mask-image: url("/assets/images/common/icon-external-link-01.svg");
}
@media (min-width: 769px) {
  .button-01:hover {
    background-color: #c34a65;
    color: #fff;
  }
  .button-01:hover::after {
    right: 17px;
    background-color: #fff;
  }
}
@media (min-width: 769px) {
  .button-01[target=_blank]:hover::after {
    right: 15px;
  }
}
@media screen and (max-width: 768px) {
  .button-01[data-width-variant=medium] {
    width: calc(100% - 30px);
    margin: 0 auto;
  }
}

/* ---------------------------------------------
  .button-02
------------------------------------------------ */
.button-02 {
  position: relative;
  display: block;
  max-width: 277px;
  padding: 10px 45px 10px 24px;
  background-color: #d9285f;
  border: 1px solid #e899ab;
  border-radius: 16px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.75;
  letter-spacing: 0.06em;
  color: #fff;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .button-02 {
    max-width: 297px;
  }
}
.button-02::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-color: #fff;
  -webkit-mask: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
          mask: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: all 0.3s ease-out;
}
.button-02[target=_blank]::after {
  width: 20px;
  height: 20px;
  -webkit-mask-image: url("/assets/images/common/icon-external-link-01.svg");
          mask-image: url("/assets/images/common/icon-external-link-01.svg");
}
@media (min-width: 769px) {
  .button-02:hover {
    background-color: #fff;
    color: #c34a65;
  }
  .button-02:hover::after {
    background-color: #c34a65;
  }
}
.button-02[data-align-variant=center] {
  text-align: center;
  padding-left: 45px;
}
.button-02[data-size-variant=me] {
  max-width: 100%;
}
.button-02[data-width-variant=full] {
  width: 100%;
  max-width: none;
}
*:not(.appendix-box-point) + .button-02 {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  *:not(.appendix-box-point) + .button-02 {
    margin-top: 24px;
  }
}
.button-02:has(+ *:not(.appendix-box-point)) {
  margin-bottom: 24px;
}
@media screen and (max-width: 768px) {
  .button-02:has(+ *:not(.appendix-box-point)) {
    margin-bottom: 24px;
  }
}
.button-02 + .button-02 {
  margin-top: 8px;
}

/* ---------------------------------------------
  .button-03
------------------------------------------------ */
.button-03 {
  position: relative;
  display: block;
  padding: 16px 45px 16px 24px;
  background-color: #fff;
  border: 1px solid #e899ab;
  border-radius: 16px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.35;
  color: #c34a65;
  transition: all 0.3s ease-out;
}
.button-03::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url("/assets/images/common/icon-arrow-right-03.png") right center no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
@media (min-width: 769px) {
  .button-03:hover {
    background-color: #c34a65;
    border-color: #c34a65;
    color: #fff;
  }
  .button-03:hover::after {
    background-image: url("/assets/images/common/icon-arrow-right-04.png");
  }
}
@media (min-width: 769px) {
  .button-03:not([target=_blank]):hover::after {
    right: 12px;
  }
}
.button-03[target=_blank]::after {
  background-image: url("/assets/images/common/icon-external-link-02.svg");
}
@media (min-width: 769px) {
  .button-03[target=_blank]:hover::after {
    background-image: url("/assets/images/common/icon-external-link-03.svg");
  }
}
.button-03 + .button-03 {
  margin-top: 8px;
}

/* ---------------------------------------------
  .button-04
------------------------------------------------ */
.button-04 {
  position: relative;
  display: block;
  width: 100%;
  padding: 16px 45px 16px 24px;
  background-color: #fff;
  border: 1px solid #e899ab;
  border-radius: 16px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.35;
  color: #c34a65;
  transition: all 0.3s ease-out;
}
@media (min-width: 769px) {
  .button-04 {
    max-width: 328px;
  }
}
.button-04::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url("/assets/images/common/icon-arrow-right-03.png") right center no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .button-04::after {
    width: 24px;
    height: 24px;
  }
}
@media (min-width: 769px) {
  .button-04:hover {
    background-color: #c34a65;
    border-color: #c34a65;
    color: #fff;
  }
  .button-04:hover::after {
    background-image: url("/assets/images/common/icon-arrow-right-04.png");
  }
}
@media (min-width: 769px) {
  .button-04:not([target=_blank]):hover::after {
    right: 10px;
  }
}
.button-04[target=_blank]::after {
  background-image: url("/assets/images/common/icon-external-link-02.svg");
}
@media (min-width: 769px) {
  .button-04[target=_blank]:hover::after {
    background-image: url("/assets/images/common/icon-external-link-03.svg");
  }
}
.button-04[data-align-variant=center] {
  text-align: center;
  padding-left: 45px;
}
@media screen and (max-width: 768px) {
  .button-04[data-size-variant=medium] {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: 0.9375rem;
    border-radius: 12px;
  }
}
@media screen and (max-width: 768px) {
  .button-04[data-size-variant=medium]::after {
    width: 24px;
    height: 24px;
    right: 13px;
  }
}
@media screen and (max-width: 768px) {
  .button-04[data-width-variant=medium] {
    width: calc(100% - 30px);
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .button-04[data-width-variant=small] {
    width: calc(100% - 48px);
    margin: 0 auto;
  }
}
.button-04[data-display-variant=flex] {
  display: flex;
  align-items: center;
  padding-right: 55px;
}

/* ---------------------------------------------
  .button-cta
------------------------------------------------ */
.button-cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  max-width: 310px;
  width: 100%;
  padding: 22px;
  background-color: #d9285f;
  border: 1px solid #d9285f;
  border-radius: 40px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  transition: all 0.3s ease-out;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .button-cta {
    max-width: 193px;
    gap: 6px;
    padding: 12px;
  }
}
.button-cta > .icon {
  display: block;
  width: 18px;
  height: 19px;
  flex: 0 0 auto;
}
.button-cta > .text {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .button-cta > .text {
    font-size: 0.875rem;
  }
}
@media (min-width: 769px) {
  .button-cta:hover {
    background-color: #bf163c;
    border-color: #bf163c;
  }
}
.button-cta[target=_blank]::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-color: #fff;
  -webkit-mask: url("/assets/images/common/icon-external-link-01.svg") right center no-repeat;
          mask: url("/assets/images/common/icon-external-link-01.svg") right center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .button-cta[target=_blank]::after {
    width: 22px;
    height: 22px;
    right: 12px;
  }
}
.button-cta[data-shadow-variant=no] {
  box-shadow: none;
  max-width: 410px;
}
@media screen and (max-width: 768px) {
  .button-cta[data-shadow-variant=no] {
    max-width: 340px;
    gap: 12px;
    padding-block: 17px;
  }
  .button-cta[data-shadow-variant=no] > .text {
    font-size: 1rem;
  }
}
@media (min-width: 769px) {
  .button-cta[data-width-variant=large] {
    max-width: 524px;
  }
}
*:not(.appendix-box-point) + .button-cta[data-width-variant=large] {
  margin-top: 48px;
}
@media screen and (max-width: 768px) {
  *:not(.appendix-box-point) + .button-cta[data-width-variant=large] {
    margin-top: 24px;
  }
}
.button-cta[data-width-variant=large]:has(+ *:not(.appendix-box-point)) {
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .button-cta[data-width-variant=large]:has(+ *:not(.appendix-box-point)) {
    margin-bottom: 24px;
  }
}
.button-cta[data-width-variant=large] + .button-cta[data-width-variant=large] {
  margin-top: 8px;
}
.button-cta[data-border-variant] {
  border-radius: 16px;
}
@media screen and (max-width: 768px) {
  .button-cta[data-border-variant] {
    padding-block: 14px;
  }
}
@media screen and (max-width: 768px) {
  .button-cta[data-border-variant] > .text {
    font-size: 0.875rem;
  }
}
@media (min-width: 769px) {
  .button-cta[data-border-pc-variant] {
    border-radius: 16px;
  }
}
@media screen and (max-width: 768px) {
  .button-cta[data-border-pc-variant] {
    max-width: 282px;
  }
}
.button-cta[data-self-align-variant=center] {
  margin-left: auto;
  margin-right: auto;
}

/* ---------------------------------------------
  .button-inquire
------------------------------------------------ */
.button-inquire {
  position: relative;
  display: block;
  max-width: 310px;
  padding: 13px 55px 13px 32px;
  background-color: #fff;
  border: 1px solid #e899ab;
  border-radius: 27px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.35;
  color: #c34a65;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .button-inquire {
    max-width: 158px;
    padding: 12px 14px;
    font-size: 0.875rem;
    text-align: center;
  }
}
.button-inquire::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url("/assets/images/common/icon-arrow-right-03.png") right center no-repeat;
  transition: all 0.3s ease-out;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .button-inquire::after {
    display: none;
    right: 16px;
  }
}
@media (min-width: 769px) {
  .button-inquire:hover {
    background-color: #c34a65;
    border-color: #c34a65;
    color: #fff;
  }
  .button-inquire:hover::after {
    background-image: url("/assets/images/common/icon-arrow-right-04.png");
    right: 19px;
  }
}
.button-inquire[data-shadow-variant=no] {
  max-width: 410px;
  padding: 13px 55px;
  text-align: center;
  box-shadow: none;
}
@media screen and (max-width: 768px) {
  .button-inquire[data-shadow-variant=no] {
    max-width: 300px;
    padding-block: 11px;
    font-size: 0.9375rem;
  }
}
.button-inquire[data-shadow-variant=no]::after {
  display: block;
}
.button-inquire[data-self-align-variant=center] {
  margin-left: auto;
  margin-right: auto;
}

/* ---------------------------------------------
  .button-card-image
------------------------------------------------ */
.button-card-image {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  max-width: 588px;
  width: 100%;
  min-height: 130px;
  border-radius: 20px;
  background-color: #fff;
  box-shadow: -2px 4px 10px 0px #ddd7d1;
}
@media screen and (max-width: 768px) {
  .button-card-image {
    max-width: 100%;
    min-height: 90px;
    border-radius: 16px;
  }
}
.button-card-image::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: min(24px, 1.5384615385vw);
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .button-card-image::after {
    right: 16px;
  }
}
@media (min-width: 769px) {
  .button-card-image:hover::after {
    right: min(12px, 0.7692307692vw);
  }
  .button-card-image:hover > .box > p {
    color: #c34a65;
  }
  .button-card-image:hover > .image > picture > img {
    transform: scale(1.1);
  }
}
.button-card-image > .image {
  overflow: hidden;
  width: min(211px, 17.3805601318vw);
  height: 100%;
  flex: 1 0 auto;
}
@media screen and (max-width: 768px) {
  .button-card-image > .image {
    width: 37.3333333333vw;
  }
}
.button-card-image > .image > picture > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease-out;
}
.button-card-image > .box {
  width: 100%;
  padding: 20px 40px 20px min(52px, 3.3333333333vw);
  font-size: 1.25rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .button-card-image > .box {
    padding-inline: 16px 40px;
    font-size: 1rem;
  }
}
.button-card-image > .box > p {
  transition: color 0.3s ease-out;
}

/* ---------------------------------------------
  .button-read-more
------------------------------------------------ */
.button-read-more {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 56px;
  padding: 5px 50px 5px 23px;
  background-color: #fff;
  border: 1px solid #e899ab;
  border-radius: 16px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.06em;
  color: #c34a65;
  text-align: left;
  transition: all 0.3s ease-out;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .button-read-more {
    min-height: 52px;
    padding: 5px 45px 5px 23px;
    border-radius: 12px;
    font-size: 0.9375rem;
    line-height: 1.3333333333;
    letter-spacing: 0.05em;
  }
}
.button-read-more::after {
  position: absolute;
  top: 50%;
  right: 15px;
  width: 32px;
  height: 32px;
  background: url("/assets/images/common/icon-plus-01.svg") left top no-repeat;
  background-size: contain;
  transform: translateY(-50%);
  transition: background-image 0.3s ease-out;
  content: "";
}
@media screen and (max-width: 768px) {
  .button-read-more::after {
    width: 24px;
    height: 24px;
  }
}
.button-read-more[aria-expanded=true]::after {
  background-image: url("/assets/images/common/icon-minus-01.svg");
}
@media (min-width: 769px) {
  .button-read-more:hover {
    background-color: #c34a65;
    border-color: #c34a65;
    color: #fff;
  }
}
@media (min-width: 769px) {
  .button-read-more:hover::after {
    background-image: url("/assets/images/common/icon-plus-02.svg");
  }
}
@media (min-width: 769px) {
  .button-read-more:hover[aria-expanded=true]::after {
    background-image: url("/assets/images/common/icon-minus-02.svg");
  }
}

/* ---------------------------------------------
  Margin spaces MassPro
------------------------------------------------ */
.section-content > .inner .grid-button-column-c + .button-cta {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .section-content > .inner .grid-button-column-c + .button-cta {
    margin-top: 64px;
  }
}
.section-content > .inner .button-cta + .button-04,
.section-content > .inner .button-cta + .grid-button-column-b,
.section-content > .inner .button-cta + .button-inquire {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .section-content > .inner .button-cta + .button-04,
  .section-content > .inner .button-cta + .grid-button-column-b,
  .section-content > .inner .button-cta + .button-inquire {
    margin-top: 32px;
  }
}
.section-content > .inner .button-inquire + .button-inquire {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .section-content > .inner .button-inquire + .button-inquire {
    margin-top: 8px;
  }
}
.section-content > .inner .button-inquire + .text-primary, .section-content > .inner .list-check > .button-inquire + li, .section-content > .inner .list-dots > .button-inquire + li, .section-content > .inner .list-order > .button-inquire + li, .section-content > .inner .list-note-order > .button-inquire + li, .section-content > .inner .list-note > .button-inquire + li, .section-content > .inner .box-cms > ul > .button-inquire + li {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .section-content > .inner .button-inquire + .text-primary, .section-content > .inner .list-check > .button-inquire + li, .section-content > .inner .list-dots > .button-inquire + li, .section-content > .inner .list-order > .button-inquire + li, .section-content > .inner .list-note-order > .button-inquire + li, .section-content > .inner .list-note > .button-inquire + li, .section-content > .inner .box-cms > ul > .button-inquire + li {
    margin-top: 40px;
  }
}
.section-content > .inner .text-primary + .button-inquire, .section-content > .inner .list-check > li + .button-inquire, .section-content > .inner .list-dots > li + .button-inquire, .section-content > .inner .list-order > li + .button-inquire, .section-content > .inner .list-note-order > li + .button-inquire, .section-content > .inner .list-note > li + .button-inquire, .section-content > .inner .box-cms > ul > li + .button-inquire,
.section-content > .inner .text-primary + .grid-button-column-b,
.section-content > .inner .list-check > li + .grid-button-column-b,
.section-content > .inner .list-dots > li + .grid-button-column-b,
.section-content > .inner .list-order > li + .grid-button-column-b,
.section-content > .inner .list-note-order > li + .grid-button-column-b,
.section-content > .inner .list-note > li + .grid-button-column-b,
.section-content > .inner .box-cms > ul > li + .grid-button-column-b,
.section-content > .inner .text-primary + .button-04,
.section-content > .inner .list-check > li + .button-04,
.section-content > .inner .list-dots > li + .button-04,
.section-content > .inner .list-order > li + .button-04,
.section-content > .inner .list-note-order > li + .button-04,
.section-content > .inner .list-note > li + .button-04,
.section-content > .inner .box-cms > ul > li + .button-04 {
  margin-top: 40px;
}
.section-content > .inner {
  /* set center */
}
@media screen and (max-width: 768px) {
  .section-content > .inner > .button-inquire,
  .section-content > .inner .button-04,
  .section-content > .inner .button-cta {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 768px) {
  .section-content > .inner .grid-button-column-b:not([data-align-variant]) {
    justify-items: center;
  }
}

.box-cta-button {
  position: fixed;
  top: 50%;
  right: 40px;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: min(310px, 32.2916666667vw);
  z-index: 20;
  opacity: 0;
  transition: opacity 0.3s ease-out;
  visibility: hidden;
}
@media screen and (max-width: 768px) {
  .box-cta-button {
    top: auto;
    bottom: 15px;
    right: inherit;
    transform: none;
    justify-content: center;
    flex-direction: row;
    width: 100%;
    margin: 0 auto;
    padding: 15px 8px 0;
    opacity: 1;
    visibility: visible;
  }
}
.box-cta-button[data-visible=true] {
  opacity: 1;
  visibility: visible;
}
.box-cta-button > .button-cta {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 768px) {
  .box-cta-button > .button-cta {
    width: 51.4666666667vw;
    max-width: 100%;
    flex: 0 0 auto;
  }
}
.box-cta-button > .button-inquire {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
@media screen and (max-width: 768px) {
  .box-cta-button > .button-inquire {
    width: 100%;
    max-width: 100%;
  }
}

.box-cta-reservation {
  display: none;
  position: fixed;
  bottom: 60px;
  right: 40px;
  width: 376px;
  opacity: 0;
  z-index: 21;
}
@media screen and (max-width: 768px) {
  .box-cta-reservation {
    width: calc(100% - 16px);
    bottom: 15px;
    right: 8px;
    left: 8px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .box-cta-reservation::before {
    content: "";
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100dvh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: -1;
  }
}
.box-cta-reservation::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 1px;
  left: 1px;
  width: calc(100% - 2px);
  height: 55px;
  background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 65.52%, rgba(255, 255, 255, 0.96) 100%);
  border-radius: 0px 0px 10px 10px;
  opacity: 0.96;
}
.box-cta-reservation::before {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 1px;
  width: calc(100% - 2px);
  height: 55px;
  background: linear-gradient(to top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 65.52%, rgba(255, 255, 255, 0.96) 100%);
  border-radius: 10px 10px 0px 0px;
  opacity: 0.96;
  z-index: 1;
}
.box-cta-reservation.is-active {
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .box-cta-reservation.is-active {
    z-index: 1001;
  }
}
.box-cta-reservation > .close {
  display: block;
  position: absolute;
  top: -30px;
  right: 0;
  width: 26px;
  height: 26px;
  border: none;
  padding: 0;
  cursor: pointer;
}
@media (min-width: 769px) {
  .box-cta-reservation > .close {
    opacity: 1;
    transition: opacity 0.3s ease-out;
  }
  .box-cta-reservation > .close:hover {
    opacity: 0.7;
    text-decoration: none;
  }
}

.box-cta-detail {
  width: 100%;
  height: calc(100dvh - 240px);
  overflow-y: auto;
  padding: 40px 24px 60px;
  border-radius: 10px;
  border: 1px solid #f0f0f0;
  background-color: #fff;
  backdrop-filter: blur(50px);
  z-index: 21;
}
@media screen and (max-width: 768px) {
  .box-cta-detail {
    height: calc(100dvh - 80px);
    backdrop-filter: none;
  }
}
.box-cta-detail > .box-info + .box-info {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #f0f0f0;
}
.box-cta-detail > .box-info > .heading {
  margin-bottom: 24px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
}
@media (min-width: 769px) {
  .box-cta-detail > .box-info > .heading + * {
    margin-top: 24px;
  }
}
.box-cta-detail > .box-info > .text {
  margin-top: 24px;
  font-size: 0.9375rem;
  line-height: 1.6;
}
.box-cta-detail > .box-info > .box-button {
  margin-top: 24px;
}
.box-cta-detail > .box-info > .title {
  margin-top: 24px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.box-cta-detail > .box-info > .title + .box-button {
  margin-top: 16px;
}
.box-cta-detail > .box-info > .list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 24px;
}

/* ---------------------------------------------
  .faq-list
------------------------------------------------ */
.faq-list {
  border-top: 1px solid #c9caca;
}
.faq-list > li {
  border-bottom: 1px solid #c9caca;
}
.faq-list:not(:first-child) {
  margin-top: 30px;
}
.faq-list + .link-text-pink {
  margin-top: 37px;
}
@media screen and (max-width: 768px) {
  .faq-list + .link-text-pink {
    margin-top: 21px;
  }
}
.faq-list + h2, .faq-list + h3, .faq-list + h4 {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .faq-list + h2, .faq-list + h3, .faq-list + h4 {
    margin-top: 40px;
  }
}

/* ---------------------------------------------
  .faq-question
------------------------------------------------ */
.faq-question {
  position: relative;
  display: block;
  width: 100%;
  padding: 25px 60px 27px 25px;
  border: none;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6111111111;
  color: #333;
  text-align: left;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .faq-question {
    padding: 26px 40px 20px 0;
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}
.faq-question::before, .faq-question::after {
  position: absolute;
  background-color: #c34a65;
  content: "";
  top: 50%;
  transform: translateY(-50%);
}
.faq-question::before {
  right: 23px;
  width: 18px;
  height: 2px;
}
@media screen and (max-width: 768px) {
  .faq-question::before {
    right: 10px;
    width: 15px;
  }
}
.faq-question::after {
  right: 31px;
  width: 2px;
  height: 18px;
  transition: opacity 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .faq-question::after {
    right: 17px;
    height: 15px;
  }
}
.faq-question[aria-expanded=true]::after {
  opacity: 0;
}
.faq-question > span {
  position: relative;
  display: block;
  padding-left: 43px;
}
@media screen and (max-width: 768px) {
  .faq-question > span {
    padding-left: 27px;
  }
}
.faq-question > span::before {
  position: absolute;
  top: 0;
  left: 0;
  font-family: "EB Garamond", serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1;
  color: #c34a65;
  content: "Q.";
}
@media screen and (max-width: 768px) {
  .faq-question > span::before {
    top: 3px;
    font-size: 1.125rem;
    letter-spacing: 0.03em;
  }
}

/* ---------------------------------------------
  .faq-answer
------------------------------------------------ */
.faq-answer {
  position: relative;
  font-size: 1rem;
  line-height: 1.8;
  color: #333;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
@media screen and (max-width: 768px) {
  .faq-answer {
    font-size: 0.875rem;
    line-height: 1.5714285714;
  }
}
.faq-answer[data-state=open] {
  opacity: 1;
}
.faq-answer[data-state=closed] {
  opacity: 0;
}
.faq-answer > .inner {
  padding: 0 60px 31px 67px;
}
@media screen and (max-width: 768px) {
  .faq-answer > .inner {
    padding: 0 40px 23px 27px;
  }
}
.faq-answer > .inner .text-primary + .list-note, .faq-answer > .inner .list-check > li + .list-note, .faq-answer > .inner .list-dots > li + .list-note, .faq-answer > .inner .list-order > li + .list-note, .faq-answer > .inner .list-note-order > li + .list-note, .faq-answer > .inner .list-note > li + .list-note, .faq-answer > .inner .box-cms > ul > li + .list-note {
  margin-top: 16px;
}
.faq-answer > .inner::before {
  position: absolute;
  top: -4px;
  left: 24px;
  font-family: "EB Garamond", serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1;
  color: #3c3c3c;
  content: "A.";
}
@media screen and (max-width: 768px) {
  .faq-answer > .inner::before {
    top: 1px;
    left: 0;
    font-size: 1.125rem;
  }
}

/* ---------------------------------------------
  .heading-01
------------------------------------------------ */
.heading-01 {
  position: relative;
  margin-bottom: 40px;
  padding-left: 48px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 2.625rem;
  letter-spacing: 0.08em;
  line-height: 1.5;
  color: #000;
}
@media screen and (max-width: 768px) {
  .heading-01 {
    margin-bottom: 20px;
    padding-left: 35px;
    font-size: 1.625rem;
    letter-spacing: 0.05em;
    line-height: 1.6;
  }
}
.heading-01::before {
  content: "";
  display: block;
  position: absolute;
  top: 24px;
  left: 0;
  width: 21px;
  height: 21px;
  background: url("/assets/images/common/icon-circle-01.svg") left center no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .heading-01::before {
    top: 12px;
    width: 15px;
    height: 15px;
  }
}
.heading-01::after {
  content: "";
  display: block;
  position: absolute;
  top: 34px;
  left: 23px;
  width: 17px;
  height: 1px;
  background-color: #c34a65;
}
@media screen and (max-width: 768px) {
  .heading-01::after {
    top: 19px;
    left: 17px;
    width: 10px;
  }
}

/* ---------------------------------------------
  .heading-02
------------------------------------------------ */
.heading-02 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-bottom: 30px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 2.625rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  line-height: 1.4523809524;
  color: #000;
}
@media screen and (max-width: 768px) {
  .heading-02 {
    gap: 7px 8px;
    margin-bottom: 13px;
    font-size: 1.625rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.5769230769;
    color: #3c3c3c;
  }
}
.heading-02 > i {
  padding-top: 4px;
}
@media screen and (max-width: 768px) {
  .heading-02 > i {
    padding-top: 0;
  }
}
.heading-02 > i > img {
  width: 100%;
  max-width: 50px;
}
@media screen and (max-width: 768px) {
  .heading-02 > i > img {
    max-width: 32px;
  }
}
.heading-02[data-heading-variant=vertical] {
  flex-direction: column;
  margin-bottom: 67px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .heading-02[data-heading-variant=vertical] {
    margin-bottom: 29px;
  }
}

/* ---------------------------------------------
  .heading-03
------------------------------------------------ */
.heading-03 {
  position: relative;
  padding-left: 20px;
  margin-bottom: 32px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.5625;
}
@media screen and (max-width: 768px) {
  .heading-03 {
    margin-bottom: 24px;
    font-size: 1.375rem;
    letter-spacing: 0.05em;
    line-height: 1.5909090909;
  }
}
.heading-03::before {
  position: absolute;
  top: 22px;
  left: 0;
  width: 10px;
  height: 10px;
  background: url("/assets/images/common/icon-circle-01.svg") left center no-repeat;
  background-size: contain;
  content: "";
}
@media screen and (max-width: 768px) {
  .heading-03::before {
    top: 11px;
    width: 12px;
    height: 12px;
  }
}
.list-dots + .heading-03 {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .list-dots + .heading-03 {
    margin-top: 40px;
  }
}

/* ---------------------------------------------
  .heading-04
------------------------------------------------ */
.heading-04 {
  position: relative;
  margin-bottom: 32px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .heading-04 {
    margin-bottom: 24px;
    font-size: 1.375rem;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 768px) {
  .heading-04[data-align-variant=center-sp] {
    text-align: center;
  }
}
.heading-04:has(+ [class^=text-]) {
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .heading-04:has(+ [class^=text-]) {
    margin-bottom: 24px;
  }
}
.list-dots + .heading-04 {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .list-dots + .heading-04 {
    margin-top: 40px;
  }
}

/* ---------------------------------------------
  .heading-05
------------------------------------------------ */
.heading-05 {
  margin-bottom: 22px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.7857142857;
  color: #c34a65;
}
@media screen and (max-width: 768px) {
  .heading-05 {
    margin-bottom: 24px;
    font-size: 1.25rem;
    line-height: 1.3;
  }
}

/* ---------------------------------------------
  .heading-06
------------------------------------------------ */
.heading-06 {
  position: relative;
  margin-bottom: 12px;
  padding-left: 24px;
  font-size: 1.1875rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .heading-06 {
    margin-bottom: 13px;
    padding-left: 18px;
    font-size: 0.9375rem;
  }
}
.heading-06::before {
  position: absolute;
  top: 12px;
  left: 0;
  width: 10px;
  height: 10px;
  background: url("/assets/images/common/icon-circle-01.svg") left center no-repeat;
  background-size: contain;
  content: "";
}
@media screen and (max-width: 768px) {
  .heading-06::before {
    top: 9px;
    width: 10px;
    height: 10px;
  }
}

/* ---------------------------------------------
  .heading-07
------------------------------------------------ */
.heading-07 {
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.7916666667;
  color: #c34a65;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .heading-07 {
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: 0.03em;
    line-height: 1.3;
    margin-bottom: 24px;
  }
}

/* ---------------------------------------------
  .heading-08
------------------------------------------------ */
.heading-08 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.03em;
  color: #c34a65;
}
@media screen and (max-width: 768px) {
  .heading-08 {
    font-size: 1.0625rem;
    line-height: 1.4705882353;
  }
}

/* ---------------------------------------------
  .heading-09
------------------------------------------------ */
.heading-09 {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.03em;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .heading-09 {
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 8px;
  }
}

/* ---------------------------------------------
  .heading-module
------------------------------------------------ */
.heading-module, .heading-module-sub {
  margin-bottom: 23px;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #55c940;
}
@media screen and (max-width: 768px) {
  .heading-module, .heading-module-sub {
    margin-bottom: 7px;
  }
}
.heading-module:not(:first-child), .heading-module-sub:not(:first-child) {
  margin-top: 49px;
}
.heading-module + .heading-module-sub, .heading-module-sub + .heading-module-sub {
  margin-top: 0;
}

.heading-module-sub {
  font-size: 1rem;
}

/* ---------------------------------------------
  .heading-icon
------------------------------------------------ */
.heading-icon {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 23px;
}
@media screen and (max-width: 768px) {
  .heading-icon {
    margin-bottom: 15px;
    gap: 6px;
  }
}
.heading-icon > .heading {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3125;
}
@media screen and (max-width: 768px) {
  .heading-icon > .heading {
    font-size: 1.375rem;
    line-height: 1.6;
  }
}
> .heading-icon:not(i) {
  margin-bottom: 0;
}
.heading-icon > i {
  width: 50px;
  height: 50px;
  flex: 0 0 auto;
}
@media screen and (max-width: 768px) {
  .heading-icon > i {
    width: 40px;
    height: 40px;
  }
}
.heading-icon > i > img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .heading-icon[data-size-variant=small] {
    gap: 8px;
  }
}
.heading-icon[data-size-variant=small] > .heading {
  font-size: 1.5rem;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .heading-icon[data-size-variant=small] > .heading {
    font-size: 1.125rem;
    line-height: 1.5555555556;
  }
}
@media screen and (max-width: 768px) {
  .heading-icon[data-size-variant=small] > i {
    width: 32px;
    height: 32px;
  }
}
.heading-icon[data-align-variant=top] {
  align-items: flex-start;
}
.heading-icon[data-align-variant=top] > .heading {
  margin-top: 4px;
}
@media screen and (max-width: 768px) {
  .heading-icon[data-align-variant=top] > .heading {
    margin-top: 3px;
  }
}
@media screen and (max-width: 768px) {
  .heading-icon[data-align-variant=top][data-size-variant=small] > .heading {
    margin-top: 2px;
  }
}

/* ---------------------------------------------
  .heading-underline
------------------------------------------------ */
.heading-underline {
  position: relative;
  padding-bottom: 18px;
  margin-bottom: 32px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3125;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .heading-underline {
    padding-bottom: 7px;
    font-size: 1.375rem;
    line-height: 1.5909090909;
    letter-spacing: 0.05em;
  }
}
.heading-underline::before {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 56px;
  height: 1px;
  background-color: #c34a65;
  transform: translateX(-50%);
  content: "";
}
@media screen and (max-width: 768px) {
  .heading-underline::before {
    width: 36px;
  }
}
.list-dots + .heading-underline {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .list-dots + .heading-underline {
    margin-top: 40px;
  }
}

/* ---------------------------------------------
  Margin spaces MassPro
------------------------------------------------ */
.section-content > .inner .table-01 + h2,
.section-content > .inner .table-02 + h2,
.section-content > .inner .table-scroll-wrapper + h2,
.section-content > .inner table + h2,
.section-content > .inner .text-primary + h2,
.section-content > .inner .list-check > li + h2,
.section-content > .inner .list-dots > li + h2,
.section-content > .inner .list-order > li + h2,
.section-content > .inner .list-note-order > li + h2,
.section-content > .inner .list-note > li + h2,
.section-content > .inner .box-cms > ul > li + h2,
.section-content > .inner p + h2,
.section-content > .inner *:not(h1, h2, h3, h4, .list-anchor) + h2 {
  margin-top: 160px;
}
@media screen and (max-width: 768px) {
  .section-content > .inner .table-01 + h2,
  .section-content > .inner .table-02 + h2,
  .section-content > .inner .table-scroll-wrapper + h2,
  .section-content > .inner table + h2,
  .section-content > .inner .text-primary + h2,
  .section-content > .inner .list-check > li + h2,
  .section-content > .inner .list-dots > li + h2,
  .section-content > .inner .list-order > li + h2,
  .section-content > .inner .list-note-order > li + h2,
  .section-content > .inner .list-note > li + h2,
  .section-content > .inner .box-cms > ul > li + h2,
  .section-content > .inner p + h2,
  .section-content > .inner *:not(h1, h2, h3, h4, .list-anchor) + h2 {
    margin-top: 80px;
  }
}
.section-content > .inner .table-01 + h3,
.section-content > .inner .table-02 + h3,
.section-content > .inner .table-scroll-wrapper + h3,
.section-content > .inner table + h3,
.section-content > .inner .text-primary + h3,
.section-content > .inner .list-check > li + h3,
.section-content > .inner .list-dots > li + h3,
.section-content > .inner .list-order > li + h3,
.section-content > .inner .list-note-order > li + h3,
.section-content > .inner .list-note > li + h3,
.section-content > .inner .box-cms > ul > li + h3,
.section-content > .inner p + h3,
.section-content > .inner *:not(h1, h2, h3, h4, .list-anchor) + h3 {
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  .section-content > .inner .table-01 + h3,
  .section-content > .inner .table-02 + h3,
  .section-content > .inner .table-scroll-wrapper + h3,
  .section-content > .inner table + h3,
  .section-content > .inner .text-primary + h3,
  .section-content > .inner .list-check > li + h3,
  .section-content > .inner .list-dots > li + h3,
  .section-content > .inner .list-order > li + h3,
  .section-content > .inner .list-note-order > li + h3,
  .section-content > .inner .list-note > li + h3,
  .section-content > .inner .box-cms > ul > li + h3,
  .section-content > .inner p + h3,
  .section-content > .inner *:not(h1, h2, h3, h4, .list-anchor) + h3 {
    margin-top: 64px;
  }
}
.section-content > .inner .table-01 + h4,
.section-content > .inner .table-02 + h4,
.section-content > .inner .table-scroll-wrapper + h4,
.section-content > .inner table + h4,
.section-content > .inner .text-primary + h4,
.section-content > .inner .list-check > li + h4,
.section-content > .inner .list-dots > li + h4,
.section-content > .inner .list-order > li + h4,
.section-content > .inner .list-note-order > li + h4,
.section-content > .inner .list-note > li + h4,
.section-content > .inner .box-cms > ul > li + h4,
.section-content > .inner p + h4,
.section-content > .inner *:not(h1, h2, h3, h4, .list-anchor) + h4 {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .section-content > .inner .table-01 + h4,
  .section-content > .inner .table-02 + h4,
  .section-content > .inner .table-scroll-wrapper + h4,
  .section-content > .inner table + h4,
  .section-content > .inner .text-primary + h4,
  .section-content > .inner .list-check > li + h4,
  .section-content > .inner .list-dots > li + h4,
  .section-content > .inner .list-order > li + h4,
  .section-content > .inner .list-note-order > li + h4,
  .section-content > .inner .list-note > li + h4,
  .section-content > .inner .box-cms > ul > li + h4,
  .section-content > .inner p + h4,
  .section-content > .inner *:not(h1, h2, h3, h4, .list-anchor) + h4 {
    margin-top: 56px;
  }
}
.section-content > .inner h1 + h2,
.section-content > .inner .heading-01 + .heading-underline,
.section-content > .inner .heading-01 + .grid-button-column-a,
.section-content > .inner .heading-01 + .grid-button-column-b,
.section-content > .inner .heading-01 + .button-cta,
.section-content > .inner .heading-01 + .button-inquire,
.section-content > .inner .heading-01 + .button-01,
.section-content > .inner .heading-01 + .button-02,
.section-content > .inner .heading-01 + .button-04,
.section-content > .inner .box-heading:has(h1) + .grid-button-column-a,
.section-content > .inner .box-heading:has(h1) + .grid-button-column-b,
.section-content > .inner .box-heading:has(h1) + .button-cta,
.section-content > .inner .box-heading:has(h1) + .button-inquire,
.section-content > .inner .box-heading:has(h1) + .button-01,
.section-content > .inner .box-heading:has(h1) + .button-02,
.section-content > .inner .box-heading:has(h1) + .button-04 {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .section-content > .inner h1 + h2,
  .section-content > .inner .heading-01 + .heading-underline,
  .section-content > .inner .heading-01 + .grid-button-column-a,
  .section-content > .inner .heading-01 + .grid-button-column-b,
  .section-content > .inner .heading-01 + .button-cta,
  .section-content > .inner .heading-01 + .button-inquire,
  .section-content > .inner .heading-01 + .button-01,
  .section-content > .inner .heading-01 + .button-02,
  .section-content > .inner .heading-01 + .button-04,
  .section-content > .inner .box-heading:has(h1) + .grid-button-column-a,
  .section-content > .inner .box-heading:has(h1) + .grid-button-column-b,
  .section-content > .inner .box-heading:has(h1) + .button-cta,
  .section-content > .inner .box-heading:has(h1) + .button-inquire,
  .section-content > .inner .box-heading:has(h1) + .button-01,
  .section-content > .inner .box-heading:has(h1) + .button-02,
  .section-content > .inner .box-heading:has(h1) + .button-04 {
    margin-top: 56px;
  }
}
.section-content > .inner h2 + h3,
.section-content > .inner .heading-underline + .heading-03,
.section-content > .inner .heading-underline + .grid-button-column-a,
.section-content > .inner .heading-underline + .grid-button-column-b,
.section-content > .inner .heading-underline + .button-cta,
.section-content > .inner .heading-underline + .button-inquire,
.section-content > .inner .heading-underline + .button-01,
.section-content > .inner .heading-underline + .button-02,
.section-content > .inner .heading-underline + .button-04,
.section-content > .inner .heading-underline + .text-primary[data-align-variant=right] + .heading-03,
.section-content > .inner .list-check > .heading-underline + li[data-align-variant=right] + .heading-03,
.section-content > .inner .list-dots > .heading-underline + li[data-align-variant=right] + .heading-03,
.section-content > .inner .list-order > .heading-underline + li[data-align-variant=right] + .heading-03,
.section-content > .inner .list-note-order > .heading-underline + li[data-align-variant=right] + .heading-03,
.section-content > .inner .list-note > .heading-underline + li[data-align-variant=right] + .heading-03,
.section-content > .inner .box-cms > ul > .heading-underline + li[data-align-variant=right] + .heading-03 {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .section-content > .inner h2 + h3,
  .section-content > .inner .heading-underline + .heading-03,
  .section-content > .inner .heading-underline + .grid-button-column-a,
  .section-content > .inner .heading-underline + .grid-button-column-b,
  .section-content > .inner .heading-underline + .button-cta,
  .section-content > .inner .heading-underline + .button-inquire,
  .section-content > .inner .heading-underline + .button-01,
  .section-content > .inner .heading-underline + .button-02,
  .section-content > .inner .heading-underline + .button-04,
  .section-content > .inner .heading-underline + .text-primary[data-align-variant=right] + .heading-03,
  .section-content > .inner .list-check > .heading-underline + li[data-align-variant=right] + .heading-03,
  .section-content > .inner .list-dots > .heading-underline + li[data-align-variant=right] + .heading-03,
  .section-content > .inner .list-order > .heading-underline + li[data-align-variant=right] + .heading-03,
  .section-content > .inner .list-note-order > .heading-underline + li[data-align-variant=right] + .heading-03,
  .section-content > .inner .list-note > .heading-underline + li[data-align-variant=right] + .heading-03,
  .section-content > .inner .box-cms > ul > .heading-underline + li[data-align-variant=right] + .heading-03 {
    margin-top: 40px;
  }
}
.section-content > .inner h2 + .faq-list,
.section-content > .inner .heading-underline + .faq-list {
  margin-top: 48px;
}
.section-content > .inner h3 + h4,
.section-content > .inner .heading-03 + .heading-04,
.section-content > .inner .heading-03 + .grid-button-column-a,
.section-content > .inner .heading-03 + .grid-button-column-b,
.section-content > .inner .heading-03 + .button-cta,
.section-content > .inner .heading-03 + .button-inquire,
.section-content > .inner .heading-03 + .button-01,
.section-content > .inner .heading-03 + .button-02,
.section-content > .inner .heading-03 + .button-04 {
  margin-top: 40px;
}
.section-content > .inner h4 + h5,
.section-content > .inner .heading-04 + .heading-05,
.section-content > .inner .heading-04 + .grid-button-column-a,
.section-content > .inner .heading-04 + .grid-button-column-b,
.section-content > .inner .heading-04 + .button-cta,
.section-content > .inner .heading-04 + .button-inquire,
.section-content > .inner .heading-04 + .button-01,
.section-content > .inner .heading-04 + .button-02,
.section-content > .inner .heading-04 + .button-04 {
  margin-top: 32px;
}
.section-content > .inner .section-info > .text-primary + .heading-05, .section-content > .inner .section-info.list-check > li + .heading-05, .section-content > .inner .section-info.list-dots > li + .heading-05, .section-content > .inner .section-info.list-order > li + .heading-05, .section-content > .inner .section-info.list-note-order > li + .heading-05, .section-content > .inner .section-info.list-note > li + .heading-05, .section-content > .inner .box-cms > ul.section-info > li + .heading-05 {
  margin-top: 32px;
}

.hero > .inner {
  position: relative;
  max-width: 1820px;
  width: 100%;
  height: 680px;
  margin: 0 auto;
  padding-inline: 30px;
}
@media screen and (max-width: 768px) {
  .hero > .inner {
    height: 136vw;
    padding-inline: 0;
  }
}
.hero > .inner > figure {
  overflow: hidden;
  height: 100%;
  border-radius: min(32px, 2.0512820513vw);
}
@media screen and (max-width: 768px) {
  .hero > .inner > figure {
    border-radius: 0;
  }
}
.hero > .inner > figure > picture > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero > .inner > .box {
  position: absolute;
  top: 50%;
  left: 70px;
  transform: translateY(-50%);
  width: min(840px, 53.8461538462vw);
  padding: 50px min(80px, 5.1282051282vw) 35px;
  border-radius: 30px;
  background-color: rgba(255, 255, 255, 0.9);
}
@media screen and (max-width: 768px) {
  .hero > .inner > .box {
    top: auto;
    bottom: 32px;
    left: 15px;
    right: 15px;
    width: calc(100% - 30px);
    padding: 29px 24px 22px;
    border-radius: 16px;
    transform: none;
  }
}
.hero > .inner > .box > .text {
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .hero > .inner > .box > .text {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}
.hero[data-size-variant=medium] > .inner > .box {
  padding-top: 40px;
}
@media screen and (max-width: 768px) {
  .hero[data-size-variant=medium] > .inner > .box {
    padding-top: 23px;
  }
}
.hero[data-size-variant=medium] > .inner > .box > .heading-01 {
  margin-bottom: 25px;
}
@media screen and (max-width: 768px) {
  .hero[data-size-variant=medium] > .inner > .box > .heading-01 {
    font-size: 1.5rem;
    margin-bottom: 12px;
  }
}
.hero[data-size-variant=subpage] > .inner {
  height: 460px;
}
@media screen and (max-width: 768px) {
  .hero[data-size-variant=subpage] > .inner {
    height: 56vw;
    padding: 0 15px;
  }
}
@media screen and (max-width: 768px) {
  .hero[data-size-variant=subpage] > .inner > figure {
    border-radius: 16px;
  }
}

/* ---------------------------------------------
  .image-card
------------------------------------------------ */
.image-card {
  overflow: hidden;
}
.image-card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: min(32px, 1.6666666667vw);
}
@media screen and (max-width: 768px) {
  .image-card img {
    border-radius: 16px;
  }
}
.image-card[data-image-variant=small] img {
  border-radius: 16px;
}
@media screen and (max-width: 768px) {
  .image-card[data-image-variant=small] img {
    border-radius: 8px;
  }
}
*:not(.image-card):not(h3) + .image-card {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  *:not(.image-card):not(h3) + .image-card {
    margin-top: 40px;
  }
}
.image-card:has(+ *:not(.image-card)) {
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .image-card:has(+ *:not(.image-card)) {
    margin-bottom: 40px;
  }
}
.image-card + .image-card {
  margin-top: 24px;
}

/* ---------------------------------------------
  .image-box-info
------------------------------------------------ */
.image-box-info {
  display: flex;
  gap: min(60px, 3.125vw);
}
@media screen and (max-width: 768px) {
  .image-box-info {
    flex-direction: column;
    gap: 24px;
  }
}
.image-box-info > .box {
  width: 100%;
}
.image-box-info > .box > p:has(> a:first-child) {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .image-box-info > .box > p:has(> a:first-child) {
    margin-top: 24px;
  }
}
.image-box-info > .image {
  width: min(540px, 42.8571428571vw);
  flex: 1 0 auto;
}
@media screen and (max-width: 768px) {
  .image-box-info > .image {
    width: 100%;
  }
}
.image-box-info[data-reverse-variant=true] {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .image-box-info[data-reverse-variant=true] {
    flex-direction: column;
  }
}
*:not(.image-box-info) + .image-box-info {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  *:not(.image-box-info) + .image-box-info {
    margin-top: 40px;
  }
}
.text-primary + .image-box-info:has(.heading-03), .list-check > li + .image-box-info:has(.heading-03), .list-dots > li + .image-box-info:has(.heading-03), .list-order > li + .image-box-info:has(.heading-03), .list-note-order > li + .image-box-info:has(.heading-03), .list-note > li + .image-box-info:has(.heading-03), .box-cms > ul > li + .image-box-info:has(.heading-03) {
  margin-top: 120px;
}
@media screen and (max-width: 768px) {
  .text-primary + .image-box-info:has(.heading-03), .list-check > li + .image-box-info:has(.heading-03), .list-dots > li + .image-box-info:has(.heading-03), .list-order > li + .image-box-info:has(.heading-03), .list-note-order > li + .image-box-info:has(.heading-03), .list-note > li + .image-box-info:has(.heading-03), .box-cms > ul > li + .image-box-info:has(.heading-03) {
    margin-top: 64px;
  }
}
.image-box-info:has(+ *:not(.image-box-info)) {
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .image-box-info:has(+ *:not(.image-box-info)) {
    margin-bottom: 40px;
  }
}
.image-box-info + .image-box-info {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .image-box-info + .image-box-info {
    margin-top: 40px;
  }
}

/* ---------------------------------------------
  .image-box-caption
------------------------------------------------ */
.image-box-caption {
  display: grid;
  gap: 40px;
}
.image-box-caption:not(:first-child) {
  margin-top: 48px;
}
.image-box-caption:not(:last-child) {
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .image-box-caption:not(:last-child) {
    margin-bottom: 56px;
  }
}
.image-box-caption > div > .box {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .image-box-caption > div > .box {
    margin-top: 16px;
  }
}
.image-box-caption > div > .box > .heading {
  margin-bottom: 13px;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 768px) {
  .image-box-caption > div > .box > .heading {
    margin-bottom: 6px;
    font-size: 1rem;
    letter-spacing: 0.07em;
  }
}
@media (min-width: 769px) {
  .image-box-caption[data-column-variant="2"] {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px min(80px, 4.1666666667vw);
  }
}
@media (min-width: 769px) {
  .image-box-caption[data-column-variant="3"] {
    grid-template-columns: repeat(3, 1fr);
    gap: 32px min(40px, 2.0833333333vw);
  }
}
@media (min-width: 769px) {
  .image-box-caption[data-column-variant="3"] > div > .box > .heading {
    margin-bottom: 9px;
    font-size: 1.25rem;
  }
}
.image-box-caption[data-column-variant="4"] {
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 16px;
}
@media (min-width: 769px) {
  .image-box-caption[data-column-variant="4"] {
    grid-template-columns: repeat(4, 1fr);
    gap: 30px min(40px, 2.0833333333vw);
  }
}
@media (min-width: 769px) {
  .image-box-caption[data-column-variant="4"]:not(:first-child) {
    margin-top: 40px;
  }
}
.image-box-caption[data-column-variant="4"] > div > .box > .heading {
  font-size: 1rem;
}
@media (min-width: 769px) {
  .image-box-caption[data-column-variant="4"] > div > .box > .heading {
    margin-bottom: 5px;
    font-size: 1.125rem;
  }
}

/* ---------------------------------------------
  .image-box-square
------------------------------------------------ */
.image-box-square {
  display: flex;
  gap: min(80px, 4.1666666667vw);
}
@media screen and (max-width: 768px) {
  .image-box-square {
    flex-direction: column;
    gap: 16px;
  }
}
.image-box-square:not(:first-child) {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .image-box-square:not(:first-child) {
    margin-top: 40px;
  }
}
.image-box-square:not(:last-child) {
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .image-box-square:not(:last-child) {
    margin-bottom: 40px;
  }
}
.image-box-square > .box {
  width: 100%;
}
.image-box-square > .image {
  width: min(580px, 46.0317460317vw);
  flex: 1 0 auto;
}
@media screen and (max-width: 768px) {
  .image-box-square > .image {
    width: 50.6666666667vw;
    margin: 0 auto;
  }
}
.image-box-square > .image img {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: min(32px, 1.6666666667vw);
}
@media screen and (max-width: 768px) {
  .image-box-square > .image img {
    border-radius: 16px;
  }
}

/* ---------------------------------------------
  .image-box-portrait
------------------------------------------------ */
.image-box-portrait {
  display: flex;
  gap: min(80px, 4.1666666667vw);
}
@media screen and (max-width: 768px) {
  .image-box-portrait {
    flex-direction: column;
    gap: 16px;
  }
}
.image-box-portrait > .box {
  width: 100%;
}
.image-box-portrait > .box .text-primary[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .list-check > li[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .list-check > .text-primary[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-check > li[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-dots > li[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .list-dots > .text-primary[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-dots > li[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-order > li[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .list-order > .text-primary[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-order > li[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-note-order > li[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .list-note-order > .text-primary[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-note-order > li[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-note > li[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .list-note > .text-primary[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-note > li[data-align-variant=center-sp] + li, .image-box-portrait > .box .box-cms > ul > li[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .box-cms > ul > .text-primary[data-align-variant=center-sp] + li, .image-box-portrait > .box .box-cms > ul > li[data-align-variant=center-sp] + li {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .image-box-portrait > .box .text-primary[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .list-check > li[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .list-check > .text-primary[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-check > li[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-dots > li[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .list-dots > .text-primary[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-dots > li[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-order > li[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .list-order > .text-primary[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-order > li[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-note-order > li[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .list-note-order > .text-primary[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-note-order > li[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-note > li[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .list-note > .text-primary[data-align-variant=center-sp] + li, .image-box-portrait > .box .list-note > li[data-align-variant=center-sp] + li, .image-box-portrait > .box .box-cms > ul > li[data-align-variant=center-sp] + .text-primary, .image-box-portrait > .box .box-cms > ul > .text-primary[data-align-variant=center-sp] + li, .image-box-portrait > .box .box-cms > ul > li[data-align-variant=center-sp] + li {
    margin-top: 24px;
  }
}
.image-box-portrait > .box .text-primary + .list-dots, .image-box-portrait > .box .list-check > li + .list-dots, .image-box-portrait > .box .list-dots > li + .list-dots, .image-box-portrait > .box .list-order > li + .list-dots, .image-box-portrait > .box .list-note-order > li + .list-dots, .image-box-portrait > .box .list-note > li + .list-dots, .image-box-portrait > .box .box-cms > ul > li + .list-dots {
  margin-top: 16px;
}
.image-box-portrait > .box .list-dots + .text-primary, .image-box-portrait > .box .list-check > .list-dots + li, .image-box-portrait > .box .list-dots > .list-dots + li, .image-box-portrait > .box .list-order > .list-dots + li, .image-box-portrait > .box .list-note-order > .list-dots + li, .image-box-portrait > .box .list-note > .list-dots + li, .image-box-portrait > .box .box-cms > ul > .list-dots + li {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .image-box-portrait > .box .list-dots + .text-primary, .image-box-portrait > .box .list-check > .list-dots + li, .image-box-portrait > .box .list-dots > .list-dots + li, .image-box-portrait > .box .list-order > .list-dots + li, .image-box-portrait > .box .list-note-order > .list-dots + li, .image-box-portrait > .box .list-note > .list-dots + li, .image-box-portrait > .box .box-cms > ul > .list-dots + li {
    margin-top: 24px;
  }
}
.image-box-portrait > .image {
  overflow: hidden;
  width: min(373px, 29.6031746032vw);
  flex: 1 0 auto;
}
@media screen and (max-width: 768px) {
  .image-box-portrait > .image {
    width: 40vw;
    margin: 0 auto;
  }
}
.image-box-portrait > .image img {
  display: block;
  aspect-ratio: 373/580;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: min(32px, 1.6666666667vw);
}
@media screen and (max-width: 768px) {
  .image-box-portrait > .image img {
    border-radius: 16px;
  }
}
*:not(h1, h2, h3, h4, h5) + .image-box-portrait {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  *:not(h1, h2, h3, h4, h5) + .image-box-portrait {
    margin-top: 72px;
  }
}

/* ---------------------------------------------
  .link-primary
------------------------------------------------ */
.link-primary {
  position: relative;
  display: inline-block;
  font-weight: 500;
  color: #c34a65;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s ease;
}
@media (min-width: 769px) {
  .link-primary {
    transition: all 0.3s ease-out;
  }
  .link-primary:hover {
    color: #c34a65;
  }
}
@media (min-width: 769px) {
  .link-primary:hover {
    border-color: #c34a65;
  }
}
.link-primary[target=_blank] {
  padding-right: 20px;
}
.link-primary[target=_blank]::after {
  content: "";
  display: inline;
  position: absolute;
  bottom: 3px;
  right: 0;
  background-color: #c34a65;
  width: 18px;
  height: 18px;
  -webkit-mask-image: url("/assets/images/common/icon-external-link-01.svg");
          mask-image: url("/assets/images/common/icon-external-link-01.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media screen and (max-width: 768px) {
  .link-primary[target=_blank]::after {
    bottom: 1px;
    width: 21px;
    height: 21px;
  }
}
.link-primary[href$=".pdf"] {
  padding-right: 21px;
}
@media screen and (max-width: 768px) {
  .link-primary[href$=".pdf"] {
    padding-right: 19px;
  }
}
.link-primary[href$=".pdf"]::after {
  content: "";
  display: inline;
  position: absolute;
  bottom: 5px;
  right: 4px;
  width: 13px;
  height: 16px;
  -webkit-mask: none;
          mask: none;
  background: url("/assets/images/common/icon-pdf-01.svg") right center no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .link-primary[href$=".pdf"]::after {
    width: 12px;
    height: 15px;
  }
}
.link-primary[href^="tel:"] {
  color: #3c3c3c;
}
@media (min-width: 769px) {
  .link-primary[href^="tel:"] {
    pointer-events: none;
    text-decoration: none;
  }
}

/* ---------------------------------------------
  .link-text
------------------------------------------------ */
.link-text {
  position: relative;
  padding-left: 24px;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .link-text {
    padding-left: 18px;
  }
}
.link-text::before {
  content: "";
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
  width: 10px;
  height: 10px;
  background: url("/assets/images/common/icon-circle-01.svg") center left no-repeat;
  background-size: contain;
}
.link-text > a {
  position: relative;
  padding-right: 0;
  font-weight: 500;
  letter-spacing: 0.06em;
}
@media (min-width: 769px) {
  .link-text > a {
    transition: all 0.3s ease-out;
  }
  .link-text > a:hover {
    color: #c34a65;
  }
}
@media screen and (max-width: 768px) {
  .link-text > a {
    font-size: 0.875rem;
  }
}
.link-text > a::after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  position: relative;
  bottom: -6px;
  right: 6px;
  width: 24px;
  height: 24px;
  background-color: #c34a65;
  -webkit-mask: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
          mask: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .link-text > a::after {
    bottom: -7px;
  }
}
@media (min-width: 769px) {
  .link-text > a:hover::after {
    right: 0;
  }
}
.link-text > a[target=_blank] {
  padding-right: 0;
}
.link-text > a[target=_blank]::after {
  position: relative;
  display: inline-block;
  margin-left: 4px;
  right: 0;
  bottom: -4px;
  width: 20px;
  height: 20px;
  -webkit-mask-image: url("/assets/images/common/icon-external-link-01.svg");
          mask-image: url("/assets/images/common/icon-external-link-01.svg");
}
.link-text > a[href$=".pdf"] {
  padding-right: 0;
}
@media screen and (max-width: 768px) {
  .link-text > a[href$=".pdf"] {
    padding-right: 0;
  }
}
.link-text > a[href$=".pdf"]::after {
  position: relative;
  display: inline-block;
  margin-left: 4px;
  bottom: -4px;
  right: 0;
  width: 16px;
  height: 20px;
  -webkit-mask: none;
          mask: none;
  background: url("/assets/images/common/icon-pdf-01.svg") right center no-repeat;
}
@media screen and (max-width: 768px) {
  .link-text > a[href$=".pdf"]::after {
    bottom: -4px;
  }
}
*:not(.link-text) + .link-text {
  margin-top: 24px;
}
.link-text:has(+ *:not(.link-text)) {
  margin-bottom: 24px;
}
.link-text + .link-text {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .link-text + .link-text {
    margin-top: 8px;
  }
}
.link-text:has(+ .box-sitemap) {
  margin-bottom: 0;
}

/* ---------------------------------------------
  .link-text-pink
------------------------------------------------ */
.link-text-pink {
  position: relative;
  line-height: 2;
}
.link-text-pink > span,
.link-text-pink > a {
  position: relative;
  padding-right: 36px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #c34a65;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .link-text-pink > span,
  .link-text-pink > a {
    font-size: 0.8125rem;
  }
}
.link-text-pink > span::after,
.link-text-pink > a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: 6px;
  width: 24px;
  height: 24px;
  background-color: #c34a65;
  -webkit-mask: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
          mask: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .link-text-pink > span::after,
  .link-text-pink > a::after {
    bottom: -2px;
  }
}
@media (min-width: 769px) {
  .link-text-pink > span:hover::after,
  .link-text-pink > a:hover::after {
    right: 0;
  }
}
.link-text-pink > span[target=_blank],
.link-text-pink > a[target=_blank] {
  padding-right: 27px;
}
.link-text-pink > span[target=_blank]::after,
.link-text-pink > a[target=_blank]::after {
  bottom: 2px;
  right: 0;
  width: 20px;
  height: 20px;
  -webkit-mask-image: url("/assets/images/common/icon-external-link-01.svg");
          mask-image: url("/assets/images/common/icon-external-link-01.svg");
}
@media screen and (max-width: 768px) {
  .link-text-pink > span[target=_blank]::after,
  .link-text-pink > a[target=_blank]::after {
    bottom: 0;
  }
}
.link-text-pink > span[href$=".pdf"],
.link-text-pink > a[href$=".pdf"] {
  padding-right: 21px;
}
@media screen and (max-width: 768px) {
  .link-text-pink > span[href$=".pdf"],
  .link-text-pink > a[href$=".pdf"] {
    padding-right: 24px;
  }
}
.link-text-pink > span[href$=".pdf"]::after,
.link-text-pink > a[href$=".pdf"]::after {
  right: 0;
  width: 16px;
  height: 20px;
  -webkit-mask: none;
          mask: none;
  background: url("/assets/images/common/icon-pdf-01.svg") right center no-repeat;
}
.link-text-pink[data-align-variant=right] {
  text-align: right;
}
*:not(.link-text-pink):not(.faq-list) + .link-text-pink {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  *:not(.link-text-pink):not(.faq-list) + .link-text-pink {
    margin-top: 24px;
  }
}
.link-text-pink:has(+ *:not(.link-text-pink)) {
  margin-bottom: 24px;
}
.link-text-pink + .link-text-pink {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .link-text-pink + .link-text-pink {
    margin-top: 8px;
  }
}

/* ---------------------------------------------
  .link-text-size
------------------------------------------------ */
.link-text-size > a {
  position: relative;
  padding-right: 38px;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.06em;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .link-text-size > a {
    padding-right: 31px;
    font-size: 1.25rem;
  }
}
.link-text-size > a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 24px;
  height: 24px;
  background: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .link-text-size > a::after {
    bottom: 1px;
    right: 0;
  }
}
@media (min-width: 769px) {
  .link-text-size > a:hover {
    color: #c34a65;
  }
  .link-text-size > a:hover::after {
    right: 0;
  }
}
.link-text-size[data-size-variant=medium] > a {
  font-size: 1.5rem;
  letter-spacing: normal;
}
@media screen and (max-width: 768px) {
  .link-text-size[data-size-variant=medium] > a {
    font-size: 1.125rem;
    letter-spacing: 0.06em;
  }
}
.link-text-size[data-size-variant=medium] + .text-primary, .list-check > .link-text-size[data-size-variant=medium] + li, .list-dots > .link-text-size[data-size-variant=medium] + li, .list-order > .link-text-size[data-size-variant=medium] + li, .list-note-order > .link-text-size[data-size-variant=medium] + li, .list-note > .link-text-size[data-size-variant=medium] + li, .box-cms > ul > .link-text-size[data-size-variant=medium] + li {
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .link-text-size[data-size-variant=medium] + .text-primary, .list-check > .link-text-size[data-size-variant=medium] + li, .list-dots > .link-text-size[data-size-variant=medium] + li, .list-order > .link-text-size[data-size-variant=medium] + li, .list-note-order > .link-text-size[data-size-variant=medium] + li, .list-note > .link-text-size[data-size-variant=medium] + li, .box-cms > ul > .link-text-size[data-size-variant=medium] + li {
    margin-top: 12px;
  }
}
.link-text-size[data-size-variant=small] > a {
  font-size: 1.25rem;
  letter-spacing: 0.02em;
}
@media (min-width: 769px) {
  .link-text-size[data-size-variant=small] > a {
    padding-right: 34px;
  }
}
@media screen and (max-width: 768px) {
  .link-text-size[data-size-variant=small] > a {
    font-size: 1rem;
    letter-spacing: normal;
  }
}
@media (min-width: 769px) {
  .link-text-size[data-size-variant=small] > a::after {
    bottom: 3px;
    right: 5px;
    width: 19px;
    height: 19px;
  }
}
@media (min-width: 769px) {
  .link-text-size[data-size-variant=small] > a:hover::after {
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .link-text-size[data-arrow-fixed] > a {
    display: block;
  }
  .link-text-size[data-arrow-fixed] > a::after {
    top: 4px;
    bottom: unset;
  }
}
*:not(.link-text-size) + .link-text-size {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  *:not(.link-text-size) + .link-text-size {
    margin-top: 24px;
  }
}
.link-text-size:has(+ *:not(.link-text-size)) {
  margin-bottom: 16px;
}
.link-text-size + .link-text-size {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .link-text-size + .link-text-size {
    margin-top: 16px;
  }
}

/* ---------------------------------------------
  .link-card
------------------------------------------------ */
.link-card {
  max-width: 585px;
  width: 100%;
  padding: 30px;
  border-radius: min(30px, 1.5625vw);
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .link-card {
    max-width: 100%;
    padding: 22px 15px;
    border-radius: 16px;
  }
}
.link-card[data-width-variant=full] {
  max-width: 100%;
}

/* ---------------------------------------------
  .link-text-icon
------------------------------------------------ */
.link-text-icon > .link {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .link-text-icon > .link {
    gap: 8px;
    margin-bottom: 15px;
  }
}
@media (min-width: 769px) {
  .link-text-icon > .link[href] {
    transition: all 0.3s ease-out;
  }
  .link-text-icon > .link[href]:hover {
    color: #c34a65;
  }
}
@media (min-width: 769px) {
  .link-text-icon > .link:hover > .text::after {
    right: 0;
  }
}
.link-text-icon > .link > .icon {
  display: block;
  width: 50px;
  flex: 1 0 auto;
}
@media screen and (max-width: 768px) {
  .link-text-icon > .link > .icon {
    width: 32px;
  }
}
.link-text-icon > .link > .text {
  width: 100%;
  position: relative;
  padding-right: 40px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.75;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .link-text-icon > .link > .text {
    padding-right: 28px;
    font-size: 1.125rem;
    letter-spacing: 0.06em;
  }
}
.link-text-icon > .link > .text::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 6px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .link-text-icon > .link > .text::after {
    right: 0;
  }
}
.link-text-icon[data-arrow-variant=false] > .link > .text {
  padding-right: 0;
}
.link-text-icon[data-arrow-variant=false] > .link > .text::after {
  display: none;
}

/* ---------------------------------------------
  .link-card-image
------------------------------------------------ */
.link-card-image {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  border-radius: 16px;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .link-card-image {
    gap: 22px;
    padding: 15px;
  }
}
.link-card-image > .box-image > figure {
  overflow: hidden;
  border-radius: 16px;
}
.link-card-image > .box-image > figure > img {
  width: 100%;
  aspect-ratio: 304/187;
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.3s ease-out;
}
.link-card-image > .box-detail {
  width: 100%;
  height: 100%;
}
.link-card-image > .box-detail > .link-text-pink {
  margin-top: 24px;
}
.link-card-image > .box-detail[data-space-between] {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (min-width: 769px) {
  .link-card-image[href]:hover {
    box-shadow: 2px 8px 12px rgba(0, 0, 0, 0.16);
  }
  .link-card-image[href]:hover > .box-image > figure > img {
    transform: scale(1.1);
  }
  .link-card-image[href]:hover > .box-detail > .link-text-pink > span::after {
    right: 0;
  }
}
.link-card-image[data-card-variant=full] {
  flex-direction: row;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .link-card-image[data-card-variant=full] {
    gap: 14px;
    flex-direction: column;
  }
}
.link-card-image[data-card-variant=full] > .box-image {
  width: 304px;
}
@media screen and (max-width: 768px) {
  .link-card-image[data-card-variant=full] > .box-image {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .link-card-image[data-card-variant=full] > .box-image > figure {
    width: 43.4666666667vw;
    flex: 1 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .link-card-image[data-card-variant=full] > .box-image > .heading-06 {
    width: 100%;
    margin-bottom: 0;
  }
}
.link-card-image[data-recommend-variant] {
  position: relative;
}
.link-card-image[data-recommend-variant]::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 16px;
  width: 32px;
  height: 40px;
  background: url("/assets/images/common/icon-recommend-01.svg") top left no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .link-card-image[data-recommend-variant]::after {
    left: 24px;
  }
}

/* ---------------------------------------------
  .link-anchor
------------------------------------------------ */
.link-anchor {
  position: relative;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #000;
}
@media (min-width: 769px) {
  .link-anchor {
    transition: all 0.3s ease-out;
  }
  .link-anchor:hover {
    color: #c34a65;
  }
}
@media screen and (max-width: 768px) {
  .link-anchor {
    font-size: 0.875rem;
  }
}
.link-anchor::after {
  content: "";
  display: inline-block;
  position: relative;
  top: 7px;
  right: 0;
  margin-left: 4px;
  width: 24px;
  height: 24px;
  background: url("/assets/images/common/icon-arrow-down-01.svg") right center no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .link-anchor::after {
    top: 1px;
    margin-left: 6px;
    width: 10px;
    height: 10px;
    background-image: url("/assets/images/common/icon-arrow-down-02.svg");
  }
}

/* ---------------------------------------------
  .list-button
------------------------------------------------ */
.list-button {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 42px;
}
@media screen and (max-width: 768px) {
  .list-button {
    gap: 8px;
    margin-top: 39px;
  }
}

/* ---------------------------------------------
  .list-news
------------------------------------------------ */
.list-news > li {
  border-bottom: 1px solid #c9caca;
}
@media screen and (max-width: 768px) {
  .list-news > li:first-child > a {
    padding-top: 0;
  }
}
.list-news > li > a,
.list-news > li > div {
  position: relative;
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 26px 0 23px;
}
@media screen and (max-width: 768px) {
  .list-news > li > a,
  .list-news > li > div {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 16px 0 12px;
  }
}
@media (min-width: 769px) {
  .list-news > li > a:hover > .box > .date {
    color: #c34a65;
  }
  .list-news > li > a:hover > .text {
    color: #c34a65;
  }
  .list-news > li > a:hover > .text::after {
    right: 0;
  }
}
.list-news > li > a > .box,
.list-news > li > div > .box {
  display: flex;
  align-items: center;
  gap: 22px;
}
@media screen and (max-width: 768px) {
  .list-news > li > a > .box,
  .list-news > li > div > .box {
    gap: 15px;
  }
}
.list-news > li > a > .box > .date,
.list-news > li > div > .box > .date {
  width: 100px;
  font-family: "Open Sans", sans-serif;
  letter-spacing: 0.06em;
  color: #676767;
  overflow-wrap: break-word;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .list-news > li > a > .box > .date,
  .list-news > li > div > .box > .date {
    width: auto;
    flex: 0 0 auto;
    font-size: 0.875rem;
    font-weight: 500;
  }
}
.list-news > li > a > .box > .label,
.list-news > li > div > .box > .label {
  width: 152px;
}
@media screen and (max-width: 768px) {
  .list-news > li > a > .box > .label,
  .list-news > li > div > .box > .label {
    flex: 0 0 auto;
  }
}
.list-news > li > a > .box > .label > span,
.list-news > li > div > .box > .label > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 25px;
  padding: 2px 10px;
  border-radius: 15px;
  background-color: #fff;
  border: 1px solid #c9caca;
  font-size: 0.75rem;
  font-weight: 500;
  text-align: center;
  color: #c34a65;
}
.list-news > li > a > .text,
.list-news > li > div > .text {
  position: relative;
  width: 100%;
  padding-right: 35px;
  letter-spacing: 0.06em;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .list-news > li > a > .text,
  .list-news > li > div > .text {
    padding-right: 36px;
    font-size: 0.875rem;
  }
}
.list-news > li > a > .text::after,
.list-news > li > div > .text::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% + 1px);
  right: 10px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
.list-news[data-detail-variant] > li {
  border-bottom: none;
}
.list-news[data-detail-variant] > li > a,
.list-news[data-detail-variant] > li > div {
  padding: 0;
}

/* ---------------------------------------------
  .list-card-01
------------------------------------------------ */
.list-card-01 > li {
  padding-block: 64px;
}
@media screen and (max-width: 768px) {
  .list-card-01 > li {
    padding: 39px 0 40px;
  }
}
.list-card-01 > li:not(:last-child) {
  border-bottom: 1px solid #c9caca;
}
.list-card-01 > li:first-child {
  padding-top: 0;
}
.list-card-01 > li:last-child {
  padding-bottom: 0;
}
.list-card-01 > li > .content {
  display: flex;
  justify-content: space-between;
  gap: 22px 40px;
}
@media screen and (max-width: 768px) {
  .list-card-01 > li > .content {
    flex-direction: column;
    row-gap: 24px;
  }
}
@media (min-width: 769px) {
  .list-card-01 > li:nth-child(even) > .content {
    flex-direction: row-reverse;
  }
}
.list-card-01 > li > .content > .box-detail {
  width: min(600px, 47.619047619vw);
}
@media screen and (max-width: 768px) {
  .list-card-01 > li > .content > .box-detail {
    width: 100%;
  }
}
.list-card-01 > li > .content > .box-detail > .text {
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .list-card-01 > li > .content > .box-detail > .text {
    font-size: 0.9375rem;
  }
}
.list-card-01 > li > .content > .box-detail > .text + .text {
  margin-top: 21px;
}
@media screen and (max-width: 768px) {
  .list-card-01 > li > .content > .box-detail > .text + .text {
    margin-top: 13px;
  }
}
.list-card-01 > li > .content > .box-detail > * + ul {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .list-card-01 > li > .content > .box-detail > * + ul {
    margin-top: 20px;
  }
}
.list-card-01 > li > .content > .box-detail > .list-dots > li:not(:first-child) {
  margin-top: 6px;
}
.list-card-01 > li > .content > .box-detail > .link {
  position: relative;
  line-height: 2;
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .list-card-01 > li > .content > .box-detail > .link {
    text-align: right;
    margin-top: 24px;
  }
}
.list-card-01 > li > .content > .box-detail > .link > span,
.list-card-01 > li > .content > .box-detail > .link > a {
  position: relative;
  padding-right: 32px;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #c34a65;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .list-card-01 > li > .content > .box-detail > .link > span,
  .list-card-01 > li > .content > .box-detail > .link > a {
    font-size: 0.8125rem;
    line-height: 1.4615384615;
  }
}
.list-card-01 > li > .content > .box-detail > .link > span::after,
.list-card-01 > li > .content > .box-detail > .link > a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 1px;
  right: 6px;
  width: 21px;
  height: 16px;
  background-color: #c34a65;
  -webkit-mask: url("/assets/images/common/icon-arrow-right-06.svg") right center no-repeat;
          mask: url("/assets/images/common/icon-arrow-right-06.svg") right center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .list-card-01 > li > .content > .box-detail > .link > span::after,
  .list-card-01 > li > .content > .box-detail > .link > a::after {
    bottom: 2px;
  }
}
@media (min-width: 769px) {
  .list-card-01 > li > .content > .box-detail > .link > span:hover::after,
  .list-card-01 > li > .content > .box-detail > .link > a:hover::after {
    right: 0;
  }
}
.list-card-01 > li > .content > .box-detail > .link > span[target=_blank],
.list-card-01 > li > .content > .box-detail > .link > a[target=_blank] {
  padding-right: 27px;
}
.list-card-01 > li > .content > .box-detail > .link > span[target=_blank]::after,
.list-card-01 > li > .content > .box-detail > .link > a[target=_blank]::after {
  bottom: 2px;
  right: 0;
  width: 20px;
  height: 20px;
  -webkit-mask-image: url("/assets/images/common/icon-external-link-01.svg");
          mask-image: url("/assets/images/common/icon-external-link-01.svg");
}
@media screen and (max-width: 768px) {
  .list-card-01 > li > .content > .box-detail > .link > span[target=_blank]::after,
  .list-card-01 > li > .content > .box-detail > .link > a[target=_blank]::after {
    bottom: 0;
  }
}
.list-card-01 > li > .content > .box-detail > .link > span[href$=".pdf"],
.list-card-01 > li > .content > .box-detail > .link > a[href$=".pdf"] {
  padding-right: 21px;
}
@media screen and (max-width: 768px) {
  .list-card-01 > li > .content > .box-detail > .link > span[href$=".pdf"],
  .list-card-01 > li > .content > .box-detail > .link > a[href$=".pdf"] {
    padding-right: 24px;
  }
}
.list-card-01 > li > .content > .box-detail > .link > span[href$=".pdf"]::after,
.list-card-01 > li > .content > .box-detail > .link > a[href$=".pdf"]::after {
  right: 0;
  width: 16px;
  height: 20px;
  -webkit-mask: none;
          mask: none;
  background: url("/assets/images/common/icon-pdf-01.svg") right center no-repeat;
}
.list-card-01 > li > .content > .image {
  display: block;
  width: min(540px, 42.8571428571vw);
}
@media screen and (max-width: 768px) {
  .list-card-01 > li > .content > .image {
    width: 100%;
  }
}
.list-card-01 > li > .content > .image > img {
  width: 100%;
  border-radius: min(32px, 2.5396825397vw);
}
@media screen and (max-width: 768px) {
  .list-card-01 > li > .content > .image > img {
    border-radius: 16px;
  }
}
.list-card-01[data-border-variant=full] > li:first-child {
  padding-top: 64px;
  border-top: 1px solid #c9caca;
}
@media screen and (max-width: 768px) {
  .list-card-01[data-border-variant=full] > li:first-child {
    padding-top: 39px;
  }
}
.list-card-01[data-border-variant=full] > li:last-child {
  padding-bottom: 64px;
  border-bottom: 1px solid #c9caca;
}
@media screen and (max-width: 768px) {
  .list-card-01[data-border-variant=full] > li:last-child {
    padding-bottom: 40px;
  }
}

/* ---------------------------------------------
  .list-note
------------------------------------------------ */
.list-note > li {
  position: relative;
  padding-left: 24px;
}
@media screen and (max-width: 768px) {
  .list-note > li {
    padding-left: 18px;
  }
}
.list-note > li::before {
  content: "※";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.list-note > li:not(:first-child) {
  margin-top: 7px;
}
@media screen and (max-width: 768px) {
  .list-note > li:not(:first-child) {
    margin-top: 6px;
  }
}
.list-note[data-list-variant=small] > li {
  padding-left: 16px;
  font-size: 0.8125rem;
  letter-spacing: normal;
}
@media screen and (max-width: 768px) {
  .list-note[data-list-variant=small] > li {
    font-size: 0.75rem;
  }
}
.list-note[data-text-variant=notice] > li {
  color: #e00000;
}
.list-note + h2, .list-note + h3, .list-note + h4 {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .list-note + h2, .list-note + h3, .list-note + h4 {
    margin-top: 40px;
  }
}

/* ---------------------------------------------
  .list-note-order
------------------------------------------------ */
.list-note-order {
  counter-reset: note-counter;
}
.list-note-order > li {
  position: relative;
  padding-left: 32px;
  counter-increment: note-counter;
}
@media screen and (max-width: 768px) {
  .list-note-order > li {
    padding-left: 24px;
  }
}
.list-note-order > li::before {
  content: "※" counter(note-counter);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.list-note-order > li:not(:first-child) {
  margin-top: 8px;
}
@media screen and (max-width: 768px) {
  .list-note-order > li:not(:first-child) {
    margin-top: 6px;
  }
}

/* ---------------------------------------------
  .list-order
------------------------------------------------ */
.list-order {
  counter-reset: order-counter;
}
.list-order > li {
  position: relative;
  padding-left: 20px;
  counter-increment: order-counter;
}
@media screen and (max-width: 768px) {
  .list-order > li {
    padding-left: 15px;
  }
}
.list-order > li::before {
  content: counter(order-counter) ".";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.list-order > li:not(:first-child) {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .list-order > li:not(:first-child) {
    margin-top: 14px;
  }
}
.list-order > li > ol {
  counter-reset: order-sub-counter;
  margin: 14px 0 0 21px;
}
@media screen and (max-width: 768px) {
  .list-order > li > ol {
    margin: 13px 0 0 17px;
  }
}
.list-order > li > ol > li {
  position: relative;
  padding-left: 22px;
  counter-increment: order-sub-counter;
}
@media screen and (max-width: 768px) {
  .list-order > li > ol > li {
    padding-left: 15px;
  }
}
.list-order > li > ol > li::before {
  content: counter(order-sub-counter) ")";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.list-order > li > ol > li:not(:first-child) {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .list-order > li > ol > li:not(:first-child) {
    margin-top: 4px;
  }
}

/* ---------------------------------------------
  .list-dots
------------------------------------------------ */
.list-dots > li {
  position: relative;
  padding-left: 24px;
}
@media screen and (max-width: 768px) {
  .list-dots > li {
    padding-left: 18px;
  }
}
.list-dots > li::before {
  content: "";
  display: block;
  position: absolute;
  top: 11px;
  left: 6px;
  width: 4px;
  height: 4px;
  background-color: #000;
  border-radius: 4px;
}
@media screen and (max-width: 768px) {
  .list-dots > li::before {
    width: 2px;
    height: 2px;
  }
}
.list-dots > li:not(:first-child) {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .list-dots > li:not(:first-child) {
    margin-top: 14px;
  }
}
.list-dots > li > .title {
  font-weight: 500;
}
.list-dots > li > .title:not(:last-child) {
  margin-bottom: 4px;
}
@media screen and (max-width: 768px) {
  .list-dots > li > .title:not(:last-child) {
    margin-bottom: 6px;
  }
}
.list-dots[data-list-variant=small] > li {
  padding-left: 18px;
  font-size: 0.8125rem;
  letter-spacing: normal;
}
@media screen and (max-width: 768px) {
  .list-dots[data-list-variant=small] > li {
    font-size: 0.75rem;
  }
}
.list-dots[data-list-variant=small] > li::before {
  top: 8px;
}
@media screen and (max-width: 768px) {
  .list-dots[data-list-variant=small] > li::before {
    width: 4px;
    height: 4px;
  }
}
.list-dots[data-list-variant=small] > li:not(:first-child) {
  margin-top: 2px;
}
.list-dots[data-list-variant=medium] > li {
  font-size: 1.125rem;
  line-height: 1.6111111111;
  padding-left: 12px;
  letter-spacing: normal;
}
@media screen and (max-width: 768px) {
  .list-dots[data-list-variant=medium] > li {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}
.list-dots[data-list-variant=medium] > li::before {
  left: 0;
  top: 13px;
}
@media screen and (max-width: 768px) {
  .list-dots[data-list-variant=medium] > li::before {
    top: 12px;
    width: 4px;
    height: 4px;
  }
}
.list-dots[data-list-variant=medium] > li:not(:first-child) {
  margin-top: 7px;
}

/* ---------------------------------------------
  .list-check
------------------------------------------------ */
.list-check > li {
  position: relative;
  padding-left: 24px;
}
@media screen and (max-width: 768px) {
  .list-check > li {
    padding-left: 18px;
  }
}
.list-check > li::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 24px;
  background: url("/assets/images/common/icon-check-01.svg") top left no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .list-check > li::before {
    width: 14px;
    height: 20px;
  }
}
.list-check > li:not(:first-child) {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .list-check > li:not(:first-child) {
    margin-top: 14px;
  }
}

/* ---------------------------------------------
  .list-anchor
------------------------------------------------ */
.list-anchor {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 40px;
}
@media screen and (max-width: 768px) {
  .list-anchor {
    /*
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    */
    gap: 12px 16px;
  }
}
.list-anchor[data-align-variant=center] {
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .list-anchor[data-align-variant=center] {
    display: flex;
  }
}
.list-anchor + h2 {
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .list-anchor + h2 {
    margin-top: 80px;
  }
}
.list-anchor + h3, .list-anchor + h4 {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .list-anchor + h3, .list-anchor + h4 {
    margin-top: 40px;
  }
}

/* ---------------------------------------------
  .list-accordion-white
------------------------------------------------ */
.list-accordion-white {
  display: grid;
  row-gap: 16px;
}
@media screen and (max-width: 768px) {
  .list-accordion-white {
    row-gap: 8px;
  }
}
.list-accordion-white > li {
  background-color: #fff;
  border: 1px solid #c9caca;
}
.list-accordion-white > li > .head {
  position: relative;
  display: block;
  width: 100%;
  padding: 31px 50px 25px 39px;
  border: none;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  color: #c34a65;
  text-align: left;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .list-accordion-white > li > .head {
    padding: 15px 40px 15px 15px;
    font-size: 1.0625rem;
    line-height: 1.4705882353;
  }
}
.list-accordion-white > li > .head::before,
.list-accordion-white > li > .head::after {
  position: absolute;
  top: 50%;
  background-color: #c34a65;
  transform: translateY(-50%);
  content: "";
}
@media screen and (max-width: 768px) {
  .list-accordion-white > li > .head::before,
  .list-accordion-white > li > .head::after {
    top: calc(50% - 2px);
  }
}
.list-accordion-white > li > .head::before {
  right: 23px;
  width: 18px;
  height: 2px;
}
@media screen and (max-width: 768px) {
  .list-accordion-white > li > .head::before {
    right: 14px;
    width: 15px;
  }
}
.list-accordion-white > li > .head::after {
  right: 31px;
  width: 2px;
  height: 18px;
  transition: opacity 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .list-accordion-white > li > .head::after {
    right: 20px;
    height: 15px;
  }
}
.list-accordion-white > li > .head[aria-expanded=true]::after {
  opacity: 0;
}
.list-accordion-white > li > .body {
  max-height: 0;
  padding-inline: 38px;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
@media screen and (max-width: 768px) {
  .list-accordion-white > li > .body {
    padding-inline: 14px;
  }
}
.list-accordion-white > li > .body[data-state=open] {
  opacity: 1;
}

/* ---------------------------------------------
  .list-step
------------------------------------------------ */
.list-step {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 56px;
}
@media all and (max-width: 1260px) {
  .list-step {
    grid-template-columns: repeat(1, 1fr);
    gap: 44px;
  }
}
.list-step > li {
  position: relative;
}
.list-step > li:not(:first-child)::before {
  content: "";
  display: block;
  position: absolute;
  width: 38px;
  height: 14px;
  top: calc(50% - 50px);
  left: -48px;
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%);
}
@media (min-width: 769px) {
  .list-step > li:not(:first-child)::before {
    background-image: url("/assets/images/common/icon-arrow-right-07.svg");
  }
}
@media all and (max-width: 1260px) {
  .list-step > li:not(:first-child)::before {
    width: 14px;
    height: 29px;
    background-image: url("/assets/images/common/icon-arrow-down-03.svg");
    transform: translate(-50%, 0);
    left: 50%;
    top: -36px;
  }
}
.list-step > li > .card {
  height: 100%;
  border-radius: 16px;
  background: #fff;
  padding: 38px 28px 36px;
}
@media screen and (max-width: 768px) {
  .list-step > li > .card {
    padding: 18px 24px 20px;
  }
}
.list-step > li > .card > .heading {
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-weight: 500;
  font-size: 1.75rem;
  line-height: 1.5;
  text-align: center;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .list-step > li > .card > .heading {
    font-size: 1.25rem;
    line-height: 1.3;
  }
}
.list-step > li > .card > i {
  display: block;
  max-width: 112px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .list-step > li > .card > i {
    max-width: 60px;
  }
}
.list-step > li > .card > i > img {
  width: 100%;
}
.list-step > li > .card > * + .text-primary, .list-step > li.box-cms > ul.card > * + li, .list-step > li > .card.list-note > * + li, .list-step > li > .card.list-note-order > * + li, .list-step > li > .card.list-order > * + li, .list-step > li > .card.list-dots > * + li, .list-step > li > .card.list-check > * + li {
  margin-top: 16px;
}
.list-step > li > .card > .button > * {
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .list-step > li > .card > .button > .button-02 {
    font-size: 0.875rem;
    padding-top: 11px;
    padding-bottom: 11px;
  }
}
@media screen and (max-width: 768px) {
  .list-step > li > .card > .button > .button-02::after {
    right: 13px;
  }
}
@media screen and (max-width: 768px) {
  .list-step > li > .card > .button > .button-02[target=_blank]::after {
    right: 11px;
  }
}
@media (min-width: 769px) {
  .list-step > li > .card > .button > .button-04 {
    padding-top: 14px;
    padding-bottom: 13px;
  }
}
@media (min-width: 769px) {
  .list-step > li > .card > .button > .button-04::after {
    width: 24px;
    height: 24px;
  }
}
.list-step > li > .card > * + .button {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .list-step > li > .card > * + .button {
    margin-top: 22px;
  }
}
.list-step > li > .card > * + .link-text {
  margin-top: 20px;
}
* + .list-step {
  margin-top: 40px;
}

/* ---------------------------------------------
  .list-box-number
------------------------------------------------ */
.list-box-number {
  list-style: none;
  counter-reset: list-counter;
}
.list-box-number > li {
  background-color: #fff;
  border-radius: 16px;
  padding: 30px 172px 30px 165px;
  position: relative;
  counter-increment: list-counter;
}
@media screen and (max-width: 768px) {
  .list-box-number > li {
    padding: 24px 15px;
    display: flex;
    flex-direction: column;
  }
}
.list-box-number > li + li {
  margin-top: 16px;
}
@media (min-width: 769px) {
  .list-box-number > li::before {
    content: counter(list-counter, decimal-leading-zero) ".";
    font-family: "EB Garamond", serif;
    font-size: 4.875rem;
    line-height: 1;
    color: #f2c2cd;
    position: absolute;
    left: 33px;
    top: 50%;
    transform: translateY(-50%);
  }
}
.list-box-number > li > .title {
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 1.75rem;
  line-height: 1.5;
  font-weight: 500;
  color: #c34a65;
  margin-bottom: 16px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .list-box-number > li > .title {
    margin-bottom: 24px;
    font-size: 1.25rem;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: 0.03em;
    display: flex;
    -moz-column-gap: 8px;
         column-gap: 8px;
    align-items: center;
  }
}
@media screen and (max-width: 768px) {
  .list-box-number > li > .title::before {
    content: counter(list-counter, decimal-leading-zero) ".";
    font-family: "EB Garamond", serif;
    font-size: 2.625rem;
    line-height: 1;
    color: #f2c2cd;
    display: inline-flex;
    align-self: flex-start;
  }
}
.list-box-number > li > .text-primary, .list-box-number > li.list-note > li, .list-box-number > li.list-note-order > li, .list-box-number > li.list-order > li, .list-box-number > li.list-dots > li, .list-box-number > li.list-check > li {
  line-height: 1.6875;
}
@media screen and (max-width: 768px) {
  .list-box-number > li > .text-primary, .list-box-number > li.list-note > li, .list-box-number > li.list-note-order > li, .list-box-number > li.list-order > li, .list-box-number > li.list-dots > li, .list-box-number > li.list-check > li {
    line-height: 1.6428571429;
    letter-spacing: 0.03em;
  }
}
.list-box-number > li > .icon {
  display: block;
  position: absolute;
  top: 50%;
  right: 33px;
  transform: translateY(-50%);
  width: 112px;
  height: 112px;
}
@media screen and (max-width: 768px) {
  .list-box-number > li > .icon {
    position: static;
    transform: none;
    width: 70px;
    height: 70px;
    align-self: center;
  }
}
.list-box-number > li > .icon > img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .list-box-number > li > .icon + .text-primary, .list-box-number > li.list-note > .icon + li, .list-box-number > li.list-note-order > .icon + li, .list-box-number > li.list-order > .icon + li, .list-box-number > li.list-dots > .icon + li, .list-box-number > li.list-check > .icon + li {
    margin-top: 15px;
  }
}

/* ---------------------------------------------
  .list-search-result
------------------------------------------------ */
.list-search-result > li {
  border-bottom: 1px solid #c9caca;
  padding: 26px 0;
}
@media screen and (max-width: 768px) {
  .list-search-result > li {
    padding: 16px 0;
  }
}
.list-search-result > li > .link-text {
  margin-bottom: 8px;
}

.mega-menu {
  display: block;
  position: absolute;
  top: 32px;
  right: 0;
  padding: 32px 32px 21px;
  background-color: #fff0f0;
  border-radius: 8px;
  border: 1px solid #f0f0f0;
}
@media (max-width: 1180px) {
  .mega-menu {
    position: static;
    background-color: #fff;
    border: none;
    padding: 22px 25px 17px 30px;
    border-top: 1px solid #fff;
    margin-left: -30px;
    margin-right: -25px;
  }
}
.mega-menu[aria-hidden=true] {
  display: none;
}
.mega-menu > .inner > .title {
  position: relative;
  margin-bottom: 20px;
  padding-left: 18px;
}
@media (max-width: 1180px) {
  .mega-menu > .inner > .title {
    margin-bottom: 13px;
  }
}
.mega-menu > .inner > .title::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background: url("/assets/images/common/icon-circle-01.svg") center left no-repeat;
  background-size: contain;
}
.mega-menu > .inner > .title > a {
  position: relative;
  padding-right: 26px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #000;
}
@media all and (min-width: 933px) {
  .mega-menu > .inner > .title > a {
    transition: all 0.3s ease-out;
  }
  .mega-menu > .inner > .title > a:hover {
    color: #c34a65;
  }
}
@media (min-width: 769px) {
  .mega-menu > .inner > .title > a:hover::before {
    right: 0;
  }
}
@media (max-width: 1180px) {
  .mega-menu > .inner > .title > a {
    font-size: 0.9375rem;
    letter-spacing: 0.04em;
  }
}
.mega-menu > .inner > .title > a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 4px;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background: url("/assets/images/common/icon-arrow-right-02.svg") center right no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
@media (max-width: 1180px) {
  .mega-menu > .inner > .title > a::before {
    display: none;
  }
}
.mega-menu > .inner > .box {
  display: flex;
  gap: 24px;
}
@media (max-width: 1180px) {
  .mega-menu > .inner > .box {
    flex-direction: column;
    gap: 15px;
  }
}
.mega-menu > .inner > .box > .col {
  position: relative;
}
.mega-menu > .inner > .box > .col:first-of-type {
  display: flex;
  gap: 24px;
}
@media (max-width: 1180px) {
  .mega-menu > .inner > .box > .col:first-of-type {
    gap: 9px;
  }
}

.mega-menu-list-01 {
  display: flex;
  flex-direction: column;
  width: 247px;
  margin-right: 24px;
}
@media (max-width: 1180px) {
  .mega-menu-list-01 {
    width: 100%;
    margin-right: 0;
  }
}
.mega-menu-list-01:last-of-type {
  margin-right: 0;
}
.mega-menu-list-01 + .mega-menu-list-01 {
  position: relative;
}
.mega-menu-list-01 + .mega-menu-list-01::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -24px;
  width: 1px;
  height: 100%;
  background-color: #fff;
}
@media (max-width: 1180px) {
  .mega-menu-list-01 + .mega-menu-list-01::after {
    display: none;
  }
}
.mega-menu-list-01 > li {
  padding-block: 13px;
  border-bottom: 1px solid #fff;
}
@media (max-width: 1180px) {
  .mega-menu-list-01 > li {
    padding-block: 8px 7px;
    border-bottom: none;
    line-height: 1.3;
  }
}
.mega-menu-list-01 > li:first-child {
  padding-top: 0;
}
.mega-menu-list-01 > li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.mega-menu-list-01 > li > a {
  position: relative;
  padding-right: 24px;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  color: #000;
}
@media all and (min-width: 933px) {
  .mega-menu-list-01 > li > a {
    transition: all 0.3s ease-out;
  }
  .mega-menu-list-01 > li > a:hover {
    color: #c34a65;
  }
}
@media (min-width: 769px) {
  .mega-menu-list-01 > li > a:hover::after {
    right: 0;
  }
}
@media (max-width: 1180px) {
  .mega-menu-list-01 > li > a {
    padding-right: 0;
  }
}
.mega-menu-list-01 > li > a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 2px;
  right: 4px;
  width: 14px;
  height: 14px;
  background: url("/assets/images/common/icon-arrow-right-02.svg") center right no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
@media (max-width: 1180px) {
  .mega-menu-list-01 > li > a::after {
    display: none;
  }
}
@media (max-width: 1180px) {
  .mega-menu-list-01[data-row-variant=sp] {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .mega-menu-list-01[data-row-variant=sp] > li {
    width: 50%;
  }
  .mega-menu-list-01[data-row-variant=sp] > li:nth-child(2) {
    padding-top: 0;
  }
}

.mega-menu-list-02 {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  width: 210px;
}
@media (max-width: 1180px) {
  .mega-menu-list-02 {
    width: 100%;
    gap: 0 9px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.mega-menu-list-02 > li {
  padding-block: 13px;
  border-bottom: 1px solid #fff;
}
@media (max-width: 1180px) {
  .mega-menu-list-02 > li {
    padding-block: 8px 7px;
    border-bottom: none;
    line-height: 1.3;
  }
}
.mega-menu-list-02 > li:first-child {
  padding-top: 0;
}
@media (max-width: 1180px) {
  .mega-menu-list-02 > li:nth-child(2) {
    padding-top: 0;
  }
}
.mega-menu-list-02 > li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.mega-menu-list-02 > li > a {
  position: relative;
  padding-right: 20px;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  color: #000;
}
@media all and (min-width: 933px) {
  .mega-menu-list-02 > li > a {
    transition: all 0.3s ease-out;
  }
  .mega-menu-list-02 > li > a:hover {
    color: #c34a65;
  }
}
@media (max-width: 1180px) {
  .mega-menu-list-02 > li > a {
    padding-right: 0;
  }
}
.mega-menu-list-02 > li > a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 2px;
  right: 0;
  width: 14px;
  height: 14px;
  background: url("/assets/images/common/icon-arrow-right-02.svg") center right no-repeat;
  background-size: contain;
}
@media (max-width: 1180px) {
  .mega-menu-list-02 > li > a::after {
    display: none;
  }
}

.nav-global {
  margin-top: 13px;
}
@media (max-width: 1180px) {
  .nav-global {
    order: 1;
    margin-top: 0;
  }
}
.nav-global > ul {
  display: flex;
  gap: 50px;
  justify-content: flex-end;
}
@media (max-width: 1180px) {
  .nav-global > ul {
    flex-direction: column;
    gap: 0;
  }
}
.nav-global > ul > li {
  position: relative;
}
@media (max-width: 1180px) {
  .nav-global > ul > li {
    border-bottom: 1px solid #fff;
  }
}
.nav-global > ul > li > .link {
  position: relative;
  padding-inline: 0 24px;
  border: none;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #000;
  cursor: pointer;
  text-align: left;
}
@media all and (min-width: 933px) {
  .nav-global > ul > li > .link {
    transition: all 0.3s ease-out;
  }
  .nav-global > ul > li > .link:hover {
    color: #c34a65;
  }
}
@media (max-width: 1180px) {
  .nav-global > ul > li > .link {
    display: block;
    width: 100%;
    padding-block: 16px;
    letter-spacing: 0.04em;
  }
}
.nav-global > ul > li > .link::after {
  position: absolute;
  top: calc(50% + 2px);
  right: 0;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  margin-left: 4px;
  background: url("/assets/images/common/icon-arrow-down-01.svg") center right no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
@media (max-width: 1180px) {
  .nav-global > ul > li > .link::after {
    top: 50%;
    width: 14px;
    height: 14px;
    background-image: url("/assets/images/common/icon-arrow-down-02.svg");
  }
}
.nav-global > ul > li > .link[aria-expanded=true] {
  color: #c34a65;
}
.nav-global > ul > li > .link[aria-expanded=true]::after {
  transform: translateY(-50%) rotate(180deg);
}
.nav-global > ul > li > .link:is(a) {
  padding-right: 0;
}
.nav-global > ul > li > .link:is(a)::after {
  display: none;
}

/* ---------------------------------------------
  .text-primary
------------------------------------------------ */
.text-primary, .box-cms > ul > li, .list-note > li, .list-note-order > li, .list-order > li, .list-dots > li, .list-check > li {
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .text-primary, .box-cms > ul > li, .list-note > li, .list-note-order > li, .list-order > li, .list-dots > li, .list-check > li {
    font-size: 0.875rem;
  }
}
.text-primary > strong, .box-cms > ul > li > strong, .list-note > li > strong, .list-note-order > li > strong, .list-order > li > strong, .list-dots > li > strong, .list-check > li > strong {
  font-weight: 700;
}
.text-primary[data-text-variant=small], .box-cms > ul > li[data-text-variant=small], .list-note > li[data-text-variant=small], .list-note-order > li[data-text-variant=small], .list-order > li[data-text-variant=small], .list-dots > li[data-text-variant=small], .list-check > li[data-text-variant=small] {
  font-size: 0.8125rem;
  letter-spacing: normal;
}
@media screen and (max-width: 768px) {
  .text-primary[data-text-variant=small], .box-cms > ul > li[data-text-variant=small], .list-note > li[data-text-variant=small], .list-note-order > li[data-text-variant=small], .list-order > li[data-text-variant=small], .list-dots > li[data-text-variant=small], .list-check > li[data-text-variant=small] {
    font-size: 0.75rem;
  }
}
.text-primary[data-text-variant=small] + .text-primary[data-text-variant=small], .box-cms > ul > li[data-text-variant=small] + .text-primary[data-text-variant=small], .list-note > li[data-text-variant=small] + .text-primary[data-text-variant=small], .list-note-order > li[data-text-variant=small] + .text-primary[data-text-variant=small], .list-order > li[data-text-variant=small] + .text-primary[data-text-variant=small], .list-dots > li[data-text-variant=small] + .text-primary[data-text-variant=small], .list-check > li[data-text-variant=small] + .text-primary[data-text-variant=small], .box-cms > ul > .text-primary[data-text-variant=small] + li[data-text-variant=small], .box-cms > ul > li[data-text-variant=small] + li[data-text-variant=small], .list-note > .text-primary[data-text-variant=small] + li[data-text-variant=small], .list-note > li[data-text-variant=small] + li[data-text-variant=small], .list-note-order > .text-primary[data-text-variant=small] + li[data-text-variant=small], .list-note-order > li[data-text-variant=small] + li[data-text-variant=small], .list-order > .text-primary[data-text-variant=small] + li[data-text-variant=small], .list-order > li[data-text-variant=small] + li[data-text-variant=small], .list-dots > .text-primary[data-text-variant=small] + li[data-text-variant=small], .list-dots > li[data-text-variant=small] + li[data-text-variant=small], .list-check > .text-primary[data-text-variant=small] + li[data-text-variant=small], .list-check > li[data-text-variant=small] + li[data-text-variant=small] {
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .text-primary[data-text-variant=small] + .text-primary[data-text-variant=small], .box-cms > ul > li[data-text-variant=small] + .text-primary[data-text-variant=small], .list-note > li[data-text-variant=small] + .text-primary[data-text-variant=small], .list-note-order > li[data-text-variant=small] + .text-primary[data-text-variant=small], .list-order > li[data-text-variant=small] + .text-primary[data-text-variant=small], .list-dots > li[data-text-variant=small] + .text-primary[data-text-variant=small], .list-check > li[data-text-variant=small] + .text-primary[data-text-variant=small], .box-cms > ul > .text-primary[data-text-variant=small] + li[data-text-variant=small], .box-cms > ul > li[data-text-variant=small] + li[data-text-variant=small], .list-note > .text-primary[data-text-variant=small] + li[data-text-variant=small], .list-note > li[data-text-variant=small] + li[data-text-variant=small], .list-note-order > .text-primary[data-text-variant=small] + li[data-text-variant=small], .list-note-order > li[data-text-variant=small] + li[data-text-variant=small], .list-order > .text-primary[data-text-variant=small] + li[data-text-variant=small], .list-order > li[data-text-variant=small] + li[data-text-variant=small], .list-dots > .text-primary[data-text-variant=small] + li[data-text-variant=small], .list-dots > li[data-text-variant=small] + li[data-text-variant=small], .list-check > .text-primary[data-text-variant=small] + li[data-text-variant=small], .list-check > li[data-text-variant=small] + li[data-text-variant=small] {
    margin-top: 6px;
  }
}
.text-primary[data-text-variant=large], .box-cms > ul > li[data-text-variant=large], .list-note > li[data-text-variant=large], .list-note-order > li[data-text-variant=large], .list-order > li[data-text-variant=large], .list-dots > li[data-text-variant=large], .list-check > li[data-text-variant=large] {
  font-size: 1.125rem;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .text-primary[data-text-variant=large], .box-cms > ul > li[data-text-variant=large], .list-note > li[data-text-variant=large], .list-note-order > li[data-text-variant=large], .list-order > li[data-text-variant=large], .list-dots > li[data-text-variant=large], .list-check > li[data-text-variant=large] {
    font-size: 0.9375rem;
  }
}
@media screen and (max-width: 768px) {
  .text-primary[data-text-variant=large] + .text-primary[data-text-variant=large], .box-cms > ul > li[data-text-variant=large] + .text-primary[data-text-variant=large], .list-note > li[data-text-variant=large] + .text-primary[data-text-variant=large], .list-note-order > li[data-text-variant=large] + .text-primary[data-text-variant=large], .list-order > li[data-text-variant=large] + .text-primary[data-text-variant=large], .list-dots > li[data-text-variant=large] + .text-primary[data-text-variant=large], .list-check > li[data-text-variant=large] + .text-primary[data-text-variant=large], .box-cms > ul > .text-primary[data-text-variant=large] + li[data-text-variant=large], .box-cms > ul > li[data-text-variant=large] + li[data-text-variant=large], .list-note > .text-primary[data-text-variant=large] + li[data-text-variant=large], .list-note > li[data-text-variant=large] + li[data-text-variant=large], .list-note-order > .text-primary[data-text-variant=large] + li[data-text-variant=large], .list-note-order > li[data-text-variant=large] + li[data-text-variant=large], .list-order > .text-primary[data-text-variant=large] + li[data-text-variant=large], .list-order > li[data-text-variant=large] + li[data-text-variant=large], .list-dots > .text-primary[data-text-variant=large] + li[data-text-variant=large], .list-dots > li[data-text-variant=large] + li[data-text-variant=large], .list-check > .text-primary[data-text-variant=large] + li[data-text-variant=large], .list-check > li[data-text-variant=large] + li[data-text-variant=large] {
    margin-top: 13px;
  }
}
.text-primary[data-weight-variant="500"], .box-cms > ul > li[data-weight-variant="500"], .list-note > li[data-weight-variant="500"], .list-note-order > li[data-weight-variant="500"], .list-order > li[data-weight-variant="500"], .list-dots > li[data-weight-variant="500"], .list-check > li[data-weight-variant="500"] {
  font-weight: 500;
}
.text-primary[data-text-variant=xlarge], .box-cms > ul > li[data-text-variant=xlarge], .list-note > li[data-text-variant=xlarge], .list-note-order > li[data-text-variant=xlarge], .list-order > li[data-text-variant=xlarge], .list-dots > li[data-text-variant=xlarge], .list-check > li[data-text-variant=xlarge] {
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .text-primary[data-text-variant=xlarge], .box-cms > ul > li[data-text-variant=xlarge], .list-note > li[data-text-variant=xlarge], .list-note-order > li[data-text-variant=xlarge], .list-order > li[data-text-variant=xlarge], .list-dots > li[data-text-variant=xlarge], .list-check > li[data-text-variant=xlarge] {
    font-size: 1.125rem;
    line-height: 1.5555555556;
  }
}
.text-primary[data-color-variant=notice], .box-cms > ul > li[data-color-variant=notice], .list-note > li[data-color-variant=notice], .list-note-order > li[data-color-variant=notice], .list-order > li[data-color-variant=notice], .list-dots > li[data-color-variant=notice], .list-check > li[data-color-variant=notice] {
  color: #e00000;
}
.text-primary[data-align-variant=right], .box-cms > ul > li[data-align-variant=right], .list-note > li[data-align-variant=right], .list-note-order > li[data-align-variant=right], .list-order > li[data-align-variant=right], .list-dots > li[data-align-variant=right], .list-check > li[data-align-variant=right] {
  text-align: right;
}
.text-primary[data-align-variant=center], .box-cms > ul > li[data-align-variant=center], .list-note > li[data-align-variant=center], .list-note-order > li[data-align-variant=center], .list-order > li[data-align-variant=center], .list-dots > li[data-align-variant=center], .list-check > li[data-align-variant=center] {
  text-align: center;
}
@media screen and (max-width: 768px) {
  .text-primary[data-align-variant=center-sp], .box-cms > ul > li[data-align-variant=center-sp], .list-note > li[data-align-variant=center-sp], .list-note-order > li[data-align-variant=center-sp], .list-order > li[data-align-variant=center-sp], .list-dots > li[data-align-variant=center-sp], .list-check > li[data-align-variant=center-sp] {
    text-align: center;
  }
}
.text-primary + .text-primary, .box-cms > ul > li + .text-primary, .list-note > li + .text-primary, .list-note-order > li + .text-primary, .list-order > li + .text-primary, .list-dots > li + .text-primary, .list-check > li + .text-primary, .box-cms > ul > .text-primary + li, .box-cms > ul > li + li, .list-note > .text-primary + li, .list-note > li + li, .list-note-order > .text-primary + li, .list-note-order > li + li, .list-order > .text-primary + li, .list-order > li + li, .list-dots > .text-primary + li, .list-dots > li + li, .list-check > .text-primary + li, .list-check > li + li {
  margin-top: 21px;
}
@media screen and (max-width: 768px) {
  .text-primary + .text-primary, .box-cms > ul > li + .text-primary, .list-note > li + .text-primary, .list-note-order > li + .text-primary, .list-order > li + .text-primary, .list-dots > li + .text-primary, .list-check > li + .text-primary, .box-cms > ul > .text-primary + li, .box-cms > ul > li + li, .list-note > .text-primary + li, .list-note > li + li, .list-note-order > .text-primary + li, .list-note-order > li + li, .list-order > .text-primary + li, .list-order > li + li, .list-dots > .text-primary + li, .list-dots > li + li, .list-check > .text-primary + li, .list-check > li + li {
    margin-top: 6px;
  }
}

/* ---------------------------------------------
  .text-lead
------------------------------------------------ */
.text-lead {
  max-width: 800px;
  margin: 0 auto;
  font-size: 1.125rem;
  line-height: 2;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 768px) {
  .text-lead {
    font-size: 0.9375rem;
    line-height: 1.6666666667;
  }
}
@media (min-width: 769px) {
  .text-lead[data-align-variant=pc-center] {
    text-align: center;
  }
}

/* ---------------------------------------------
  .text-notice
------------------------------------------------ */
.text-notice {
  color: #e00000;
}

/* ---------------------------------------------
  .grid-box-column
------------------------------------------------ */
.grid-box-column {
  display: grid;
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .grid-box-column {
    gap: 16px;
  }
}
.grid-box-column:not(:first-child) {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .grid-box-column:not(:first-child) {
    margin-top: 24px;
  }
}
.grid-box-column:not(:last-child) {
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .grid-box-column:not(:last-child) {
    margin-bottom: 24px;
  }
}
@media (min-width: 769px) {
  .grid-box-column[data-column-variant="2"] {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px min(80px, 4.1666666667vw);
  }
}
@media (min-width: 769px) {
  .grid-box-column[data-column-variant="3"] {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px min(40px, 2.0833333333vw);
  }
}
.grid-box-column[data-column-variant="3"] > .box-video > .detail {
  margin-top: 15px;
}
.grid-box-column[data-column-variant="4"] {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 8px;
}
@media (min-width: 769px) {
  .grid-box-column[data-column-variant="4"] {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px min(40px, 2.0833333333vw);
  }
}
.grid-box-column[data-column-variant="4"] > .box-video > .video::before {
  border-radius: 16px;
}
@media screen and (max-width: 768px) {
  .grid-box-column[data-column-variant="4"] > .box-video > .video::before {
    border-radius: 8px;
  }
}
.grid-box-column[data-column-variant="4"] > .box-video > .video::after {
  width: 52px;
  height: 52px;
}
@media screen and (max-width: 768px) {
  .grid-box-column[data-column-variant="4"] > .box-video > .video::after {
    width: 40px;
    height: 40px;
  }
}
.grid-box-column[data-column-variant="4"] > .box-video > .video > img {
  border-radius: 16px;
}
@media screen and (max-width: 768px) {
  .grid-box-column[data-column-variant="4"] > .box-video > .video > img {
    border-radius: 8px;
  }
}
.grid-box-column[data-column-variant="4"] > .box-video > .detail {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .grid-box-column[data-column-variant="4"] > .box-video > .detail {
    margin-top: 15px;
  }
}
@media (min-width: 769px) {
  .grid-box-column[data-column-variant="4"] > .box-video > .detail > .text-primary, .grid-box-column[data-column-variant="4"] > .box-video.box-cms > ul.detail > li, .grid-box-column[data-column-variant="4"] > .box-video > .detail.list-note > li, .grid-box-column[data-column-variant="4"] > .box-video > .detail.list-note-order > li, .grid-box-column[data-column-variant="4"] > .box-video > .detail.list-order > li, .grid-box-column[data-column-variant="4"] > .box-video > .detail.list-dots > li, .grid-box-column[data-column-variant="4"] > .box-video > .detail.list-check > li {
    font-size: 1rem;
  }
}
.grid-box-column[data-grid-variant=modal] {
  gap: 38px 40px;
}
@media (min-width: 769px) {
  .grid-box-column[data-grid-variant=modal][data-column-variant="2"] {
    gap: 40px 80px;
  }
}
@media screen and (max-width: 768px) {
  .grid-box-column[data-grid-variant=modal][data-column-variant="4"] {
    gap: 32px 17px;
  }
}

/* ---------------------------------------------
  .grid-box-video
------------------------------------------------ */
.grid-box-video {
  display: grid;
  gap: min(32px, 1.6666666667vw);
}
@media screen and (max-width: 768px) {
  .grid-box-video {
    gap: 40px;
  }
}
.grid-box-video:not(:first-child) {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .grid-box-video:not(:first-child) {
    margin-top: 48px;
  }
}
.grid-box-video:not(:last-child) {
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .grid-box-video:not(:last-child) {
    margin-bottom: 56px;
  }
}
@media (min-width: 769px) {
  .grid-box-video[data-column-variant="2"] {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px min(80px, 4.1666666667vw);
  }
}
.grid-box-video[data-column-variant="2"]:not(:first-child) {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .grid-box-video[data-column-variant="2"]:not(:first-child) {
    margin-top: 48px;
  }
}
.grid-box-video[data-column-variant="2"]:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .grid-box-video[data-column-variant="2"]:not(:last-child) {
    margin-bottom: 56px;
  }
}
@media (min-width: 769px) {
  .grid-box-video[data-column-variant="3"] {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px min(40px, 2.0833333333vw);
  }
}
.grid-box-video[data-column-variant="3"]:not(:first-child) {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .grid-box-video[data-column-variant="3"]:not(:first-child) {
    margin-top: 48px;
  }
}
.grid-box-video[data-column-variant="3"]:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .grid-box-video[data-column-variant="3"]:not(:last-child) {
    margin-bottom: 56px;
  }
}
.grid-box-video[data-column-variant="3"] > .box-video > .detail {
  margin-top: 15px;
}
.grid-box-video[data-column-variant="4"] {
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 16px;
}
@media (min-width: 769px) {
  .grid-box-video[data-column-variant="4"] {
    grid-template-columns: repeat(4, 1fr);
    gap: 16px min(40px, 2.0833333333vw);
  }
}
.grid-box-video[data-column-variant="4"]:not(:first-child) {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .grid-box-video[data-column-variant="4"]:not(:first-child) {
    margin-top: 40px;
  }
}
.grid-box-video[data-column-variant="4"]:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .grid-box-video[data-column-variant="4"]:not(:last-child) {
    margin-bottom: 48px;
  }
}
.grid-box-video[data-column-variant="4"] > .box-video > .video::before {
  border-radius: 16px;
}
@media screen and (max-width: 768px) {
  .grid-box-video[data-column-variant="4"] > .box-video > .video::before {
    border-radius: 8px;
  }
}
.grid-box-video[data-column-variant="4"] > .box-video > .video::after {
  width: 52px;
  height: 52px;
}
@media screen and (max-width: 768px) {
  .grid-box-video[data-column-variant="4"] > .box-video > .video::after {
    width: 40px;
    height: 40px;
  }
}
.grid-box-video[data-column-variant="4"] > .box-video > .video > img {
  border-radius: 16px;
}
@media screen and (max-width: 768px) {
  .grid-box-video[data-column-variant="4"] > .box-video > .video > img {
    border-radius: 8px;
  }
}
.grid-box-video[data-column-variant="4"] > .box-video > .detail {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .grid-box-video[data-column-variant="4"] > .box-video > .detail {
    margin-top: 15px;
  }
}
@media (min-width: 769px) {
  .grid-box-video[data-column-variant="4"] > .box-video > .detail > .text-primary, .grid-box-video[data-column-variant="4"] > .box-video.box-cms > ul.detail > li, .grid-box-video[data-column-variant="4"] > .box-video > .detail.list-note > li, .grid-box-video[data-column-variant="4"] > .box-video > .detail.list-note-order > li, .grid-box-video[data-column-variant="4"] > .box-video > .detail.list-order > li, .grid-box-video[data-column-variant="4"] > .box-video > .detail.list-dots > li, .grid-box-video[data-column-variant="4"] > .box-video > .detail.list-check > li {
    font-size: 1rem;
  }
}

/* ---------------------------------------------
  .grid-link-column
------------------------------------------------ */
.grid-link-column {
  display: grid;
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .grid-link-column {
    gap: 16px;
  }
}
.grid-link-column:not(:first-child) {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .grid-link-column:not(:first-child) {
    margin-top: 24px;
  }
}
.grid-link-column:not(:last-child) {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .grid-link-column:not(:last-child) {
    margin-bottom: 32px;
  }
}
.grid-link-column:has(.link-card-image) {
  gap: 24px 32px;
}
@media screen and (max-width: 768px) {
  .grid-link-column:has(.link-card-image) {
    gap: 16px;
  }
}
.grid-link-column:has(.link-card-image):not(:first-child) {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .grid-link-column:has(.link-card-image):not(:first-child) {
    margin-top: 40px;
  }
}
.grid-link-column:has(.link-card-image):not(:last-child) {
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .grid-link-column:has(.link-card-image):not(:last-child) {
    margin-bottom: 56px;
  }
}
.grid-link-column:has(.link-card-image):not([data-column-variant="2"]):not([data-column-variant="3"]) {
  gap: 32px;
}
@media screen and (max-width: 768px) {
  .grid-link-column:has(.link-card-image):not([data-column-variant="2"]):not([data-column-variant="3"]) {
    gap: 16px;
  }
}
.grid-link-column:has(.link-card-image):not([data-column-variant="2"]):not([data-column-variant="3"]):not(:first-child) {
  margin-top: 48px;
}
@media screen and (max-width: 768px) {
  .grid-link-column:has(.link-card-image):not([data-column-variant="2"]):not([data-column-variant="3"]):not(:first-child) {
    margin-top: 40px;
  }
}
.grid-link-column:has(.link-card-image):not([data-column-variant="2"]):not([data-column-variant="3"]):not(:last-child) {
  margin-bottom: 48px;
}
@media screen and (max-width: 768px) {
  .grid-link-column:has(.link-card-image):not([data-column-variant="2"]):not([data-column-variant="3"]):not(:last-child) {
    margin-bottom: 56px;
  }
}
@media (min-width: 769px) {
  .grid-link-column[data-column-variant="2"] {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 769px) {
  .grid-link-column[data-column-variant="3"] {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ---------------------------------------------
  .grid-link-text-column
------------------------------------------------ */
.grid-link-text-column {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (max-width: 768px) {
  .grid-link-text-column {
    gap: 8px;
  }
}
.grid-link-text-column:not(:first-child) {
  margin-top: 24px;
}
.grid-link-text-column:not(:last-child) {
  margin-bottom: 24px;
}
@media (min-width: 769px) {
  .grid-link-text-column:has(.link-text-pink) {
    margin-top: 32px;
  }
}
.grid-link-text-column[data-column-variant=wrap] {
  flex-direction: row;
  flex-wrap: wrap;
}
@media (min-width: 769px) {
  .grid-link-text-column[data-column-variant=wrap] {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px 40px;
  }
}
@media screen and (max-width: 768px) {
  .grid-link-text-column[data-column-variant=wrap] {
    gap: 8px 40px;
  }
}
.grid-link-text-column[data-align-variant=center] > * {
  margin-top: 0;
}
@media (min-width: 769px) {
  .grid-link-text-column[data-align-variant=center] {
    justify-content: center;
  }
}

/* ---------------------------------------------
  .grid-button-column-a
------------------------------------------------ */
.grid-button-column-a {
  display: grid;
  gap: 8px;
}
@media (min-width: 769px) {
  .grid-button-column-a {
    grid-template-columns: repeat(2, minmax(0, 400px));
    gap: 16px 24px;
  }
}
.grid-button-column-a:not(:first-child) {
  margin-top: 48px;
}
@media screen and (max-width: 768px) {
  .grid-button-column-a:not(:first-child) {
    margin-top: 40px;
  }
}
.grid-button-column-a:not(:last-child) {
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .grid-button-column-a:not(:last-child) {
    margin-bottom: 56px;
  }
}
@media (min-width: 769px) {
  .grid-button-column-a:has(> *:only-child) {
    grid-template-columns: 1fr;
  }
}
.grid-button-column-a[data-align-variant=center] {
  justify-items: center;
}
@media (min-width: 769px) {
  .grid-button-column-a[data-align-variant=center] {
    justify-content: center;
  }
}

/* ---------------------------------------------
  .grid-button-column-b
------------------------------------------------ */
.grid-button-column-b {
  display: grid;
  gap: 8px;
}
@media (min-width: 769px) {
  .grid-button-column-b {
    grid-template-columns: repeat(2, minmax(0, 328px));
    gap: 20px;
  }
}
.grid-button-column-b:not(:first-child) {
  margin-top: 32px;
}
.grid-button-column-b:not(:last-child) {
  margin-bottom: 32px;
}
@media screen and (max-width: 768px) {
  .grid-button-column-b:not(:last-child) {
    margin-bottom: 56px;
  }
}
@media (min-width: 769px) {
  .grid-button-column-b:has(> *:only-child) {
    grid-template-columns: 1fr;
  }
}
.grid-button-column-b[data-align-variant=center] {
  justify-items: center;
}
.grid-button-column-b[data-align-variant=right] {
  justify-items: flex-end;
}
@media (min-width: 769px) {
  .grid-button-column-b[data-display-variant=flex] {
    display: flex;
    flex-wrap: wrap;
  }
  .grid-button-column-b[data-display-variant=flex] > * {
    max-width: inherit;
    min-width: 328px;
    width: auto;
    padding-right: 60px;
  }
}
.grid-button-column-b[data-flex-align-variant=center] {
  justify-content: center;
}

/* ---------------------------------------------
  .grid-button-column-c
------------------------------------------------ */
.grid-button-column-c {
  display: grid;
  gap: 16px;
}
@media (min-width: 769px) {
  .grid-button-column-c {
    grid-template-columns: repeat(2, minmax(0, 588px));
    gap: 24px 38px;
  }
}
.grid-button-column-c:not(:first-child) {
  margin-top: 48px;
}
@media screen and (max-width: 768px) {
  .grid-button-column-c:not(:first-child) {
    margin-top: 40px;
  }
}
.grid-button-column-c:not(:last-child) {
  margin-bottom: 48px;
}
@media screen and (max-width: 768px) {
  .grid-button-column-c:not(:last-child) {
    margin-bottom: 40px;
  }
}
@media (min-width: 769px) {
  .grid-button-column-c:has(> *:only-child) {
    grid-template-columns: 1fr;
  }
}
.grid-button-column-c[data-align-variant=center] {
  justify-items: center;
}

/* ---------------------------------------------
  .grid-link-card-column
------------------------------------------------ */
.grid-link-card-column {
  display: grid;
  gap: 24px;
}
@media (min-width: 769px) {
  .grid-link-card-column {
    grid-template-columns: repeat(2, minmax(0, 585px));
    gap: 24px 38px;
  }
}
@media (min-width: 769px) {
  .grid-link-card-column[data-align-variant=center] {
    justify-items: center;
  }
}
.grid-link-card-column:has(.link-card) {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .grid-link-card-column:has(.link-card) {
    margin-top: 24px;
  }
}
.grid-link-card-column:has(.link-card) + .text-primary, .box-cms > ul > .grid-link-card-column:has(.link-card) + li, .list-note > .grid-link-card-column:has(.link-card) + li, .list-note-order > .grid-link-card-column:has(.link-card) + li, .list-order > .grid-link-card-column:has(.link-card) + li, .list-dots > .grid-link-card-column:has(.link-card) + li, .list-check > .grid-link-card-column:has(.link-card) + li {
  margin-top: 32px;
}
@media screen and (max-width: 768px) {
  .grid-link-card-column:has(.link-card) + .text-primary, .box-cms > ul > .grid-link-card-column:has(.link-card) + li, .list-note > .grid-link-card-column:has(.link-card) + li, .list-note-order > .grid-link-card-column:has(.link-card) + li, .list-order > .grid-link-card-column:has(.link-card) + li, .list-dots > .grid-link-card-column:has(.link-card) + li, .list-check > .grid-link-card-column:has(.link-card) + li {
    margin-top: 24px;
  }
}

.section-news {
  background-color: #fff;
}
.section-news > .inner {
  max-width: 1260px;
  margin: 0 auto;
  padding: 100px 30px;
}
@media screen and (max-width: 768px) {
  .section-news > .inner {
    max-width: 100%;
    padding: 50px 15px;
  }
}

/* ---------------------------------------------
  .section-content
------------------------------------------------ */
.section-content > .inner {
  max-width: 1260px;
  margin: 0 auto;
  padding: 80px 30px;
}
@media screen and (max-width: 768px) {
  .section-content > .inner {
    max-width: 100%;
    padding: 56px 15px;
  }
}
.section-content[data-background-variant=pink] {
  background-color: #ffeaea;
}
.section-content[data-background-variant=white] {
  background-color: #fff;
}
.section-content[data-background-variant=gray] {
  background-color: #727272;
}
.hero + .section-content > .inner {
  padding-top: 58px;
}
@media screen and (max-width: 768px) {
  .hero + .section-content > .inner {
    padding-top: 27px;
  }
}

/* ---------------------------------------------
  .section-info
------------------------------------------------ */
.section-info + .section-info {
  margin-top: 64px;
  padding-top: 64px;
  border-top: 1px solid #c9caca;
}
@media screen and (max-width: 768px) {
  .section-info + .section-info {
    margin-top: 40px;
    padding-top: 40px;
  }
}
.section-info > .box-heading + * {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .section-info > .box-heading + * {
    margin-top: 53px;
  }
}
.section-info > * + .link-card {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .section-info > * + .link-card {
    margin-top: 24px;
  }
}
.section-info > .button {
  width: 100%;
  max-width: 328px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .section-info > .button {
    max-width: 100%;
    padding: 0 15px;
  }
}
@media screen and (max-width: 768px) {
  .section-info > .button[data-size-variant=full] {
    padding: 0;
  }
}
.section-info > * + .button {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .section-info > * + .button {
    margin-top: 32px;
  }
}
.section-info > .box-recommended {
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .section-info > .box-recommended {
    margin-top: 30px;
  }
}
.section-info > .box-courses + .box-courses {
  margin-top: 50px;
}
@media screen and (max-width: 768px) {
  .section-info > .box-courses + .box-courses {
    margin-top: 34px;
  }
}
.section-info > * + .box-courses-link {
  margin-top: 38px;
}
@media screen and (max-width: 768px) {
  .section-info > * + .box-courses-link {
    margin-top: 24px;
  }
}
.section-info > .box-tab > .body {
  padding: 64px 56px;
}
@media screen and (max-width: 768px) {
  .section-info > .box-tab > .body {
    padding: 32px 15px;
  }
}
.section-info > .text-primary + .list-anchor, .box-cms > ul.section-info > li + .list-anchor, .section-info.list-note > li + .list-anchor, .section-info.list-note-order > li + .list-anchor, .section-info.list-order > li + .list-anchor, .section-info.list-dots > li + .list-anchor, .section-info.list-check > li + .list-anchor {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .section-info > .text-primary + .list-anchor, .box-cms > ul.section-info > li + .list-anchor, .section-info.list-note > li + .list-anchor, .section-info.list-note-order > li + .list-anchor, .section-info.list-order > li + .list-anchor, .section-info.list-dots > li + .list-anchor, .section-info.list-check > li + .list-anchor {
    margin-top: 27px;
  }
}

/* ---------------------------------------------
  .section-news
------------------------------------------------ */
.section-news {
  background-color: #fff;
}
.section-news > .inner {
  max-width: 1260px;
  width: 100%;
  margin: 0 auto;
  padding: 118px 30px 78px;
}
@media screen and (max-width: 768px) {
  .section-news > .inner {
    max-width: 100%;
    padding: 54px 15px 55px;
  }
}
.section-news > .inner > .link {
  margin-top: 40px;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .section-news > .inner > .link {
    margin-top: 23px;
  }
}
.section-news > .inner > .link > a {
  position: relative;
  padding-right: 42px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #c34a65;
}
@media screen and (max-width: 768px) {
  .section-news > .inner > .link > a {
    font-size: 0.8125rem;
  }
}
.section-news > .inner > .link > a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 12px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
@media (min-width: 769px) {
  .section-news > .inner > .link > a:hover::after {
    right: 0;
  }
}

/* ---------------------------------------------
  .modal-video
------------------------------------------------ */
.modal-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  overflow: hidden;
  transition: opacity 0.3s ease-out;
  z-index: 1000;
}
.modal-video > .body {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 45px 10px;
}
@media (min-width: 769px) {
  .modal-video > .body {
    max-width: 960px;
    padding: 10px 70px;
    margin: 0 auto;
  }
}
.modal-video > .body > .inner {
  display: flex;
  width: 100%;
  max-height: 100%;
}
.modal-video > .body > .inner > .box {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}
.modal-video > .body > .inner > .box > .close {
  position: absolute;
  top: 0;
  right: -45px;
  display: block;
  width: 35px;
  height: 35px;
  padding: 0;
  border: none;
  transition: opacity 0.3s ease-out;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .modal-video > .body > .inner > .box > .close {
    top: -45px;
    right: -4px;
  }
}
@media (min-width: 769px) {
  .modal-video > .body > .inner > .box > .close:hover {
    opacity: 0.7;
  }
}
.modal-video > .body > .inner > .box > .close::before,
.modal-video > .body > .inner > .box > .close::after {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  margin-top: -6px;
  background-color: #fff;
  border-radius: 5px;
  content: "";
}
@media screen and (max-width: 768px) {
  .modal-video > .body > .inner > .box > .close::before,
  .modal-video > .body > .inner > .box > .close::after {
    margin-top: -4px;
  }
}
.modal-video > .body > .inner > .box > .close::before {
  transform: rotate(45deg);
}
.modal-video > .body > .inner > .box > .close::after {
  transform: rotate(-45deg);
}
.modal-video > .body > .inner > .box > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.modal-video[data-state=open] {
  opacity: 1;
}

@media (orientation: landscape) {
  .modal-video > .body {
    padding: 10px 70px;
  }
  .modal-video > .body > .inner > .box > .close {
    top: 0;
    right: -45px;
  }
  .modal-video > .body > .inner > .box > .close::before,
  .modal-video > .body > .inner > .box > .close::after {
    margin-top: -6px;
  }
}
/* ---------------------------------------------
  .appendix-box-base
------------------------------------------------ */
.appendix-box-base {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  padding: 0 24px 0 40px;
  border-radius: 16px;
  background-color: #ffeaea;
}
@media screen and (max-width: 768px) {
  .appendix-box-base {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 15px 0;
    padding: 15px;
  }
}
@media screen and (max-width: 768px) {
  .appendix-box-base:has(> .image) {
    gap: 15px 8px;
  }
}
.appendix-box-base > .content {
  flex: 1;
  min-width: 0;
}
@media (min-width: 769px) {
  .appendix-box-base > .content {
    margin-top: 36px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 768px) {
  .appendix-box-base > .content {
    display: contents;
  }
}
.appendix-box-base > .content > .heading {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
@media (min-width: 769px) {
  .appendix-box-base > .content > .heading {
    margin-bottom: 21px;
  }
}
@media screen and (max-width: 768px) {
  .appendix-box-base > .content > .heading {
    grid-column: 1/2;
    grid-row: 1/2;
    align-items: flex-start;
    align-self: center;
  }
}
.appendix-box-base > .content > .heading > * {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .appendix-box-base > .content > .body {
    grid-column: 1/-1;
    grid-row: 2/3;
  }
}
.appendix-box-base > .content > .body > .text {
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .appendix-box-base > .content > .body > .text {
    font-size: 0.875rem;
  }
}
.appendix-box-base > .content > .body > .text > strong {
  font-weight: 700;
}
.appendix-box-base > .content > .body > .text + .text {
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .appendix-box-base > .content > .body > .text + .text {
    margin-top: 12px;
  }
}
.appendix-box-base > .image {
  flex-shrink: 0;
  width: 304px;
  overflow: hidden;
}
@media (min-width: 769px) {
  .appendix-box-base > .image {
    margin-top: 24px;
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 768px) {
  .appendix-box-base > .image {
    grid-column: 2/3;
    grid-row: 1/2;
    width: 43.4666666667vw;
  }
}
.appendix-box-base > .image > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}
.appendix-box-base[data-color-variant=white] {
  background-color: #fff;
}
*:not(.appendix-box-base) + .appendix-box-base {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  *:not(.appendix-box-base) + .appendix-box-base {
    margin-top: 32px;
  }
}
.appendix-box-base:has(+ *:not(.appendix-box-base)) {
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .appendix-box-base:has(+ *:not(.appendix-box-base)) {
    margin-bottom: 40px;
  }
}
.appendix-box-base + .appendix-box-base {
  margin-top: 24px;
}

/* ---------------------------------------------
  .appendix-box-point
------------------------------------------------ */
.appendix-box-point {
  display: flex;
  align-items: flex-start;
  gap: 40px;
  padding: 0 24px 0 40px;
  border-radius: 16px;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .appendix-box-point {
    flex-direction: column;
    padding: 15px;
    gap: 24px;
  }
}
@media (min-width: 769px) {
  .appendix-box-point > .content {
    flex: 1;
    min-width: 0;
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 768px) {
  .appendix-box-point > .content {
    order: 2;
  }
}
.appendix-box-point > .content > .heading {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 23px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.5625;
}
@media screen and (max-width: 768px) {
  .appendix-box-point > .content > .heading {
    margin-bottom: 15px;
    font-size: 1.375rem;
    letter-spacing: 0.05em;
    line-height: 1.5909090909;
    gap: 6px;
  }
}
.appendix-box-point > .content > .heading::before {
  width: 70px;
  height: 70px;
  background: url("/assets/images/common/icon-point-01.png") left center no-repeat;
  background-size: contain;
  flex: 0 0 auto;
  content: "";
}
@media screen and (max-width: 768px) {
  .appendix-box-point > .content > .heading::before {
    width: 40px;
    height: 40px;
  }
}
.appendix-box-point > .content > .text {
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .appendix-box-point > .content > .text {
    font-size: 0.875rem;
  }
}
.appendix-box-point > .content > .text > strong {
  font-weight: 700;
}
.appendix-box-point > .content > .text + .text {
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .appendix-box-point > .content > .text + .text {
    margin-top: 12px;
  }
}
.appendix-box-point > .image {
  overflow: hidden;
}
@media (min-width: 769px) {
  .appendix-box-point > .image {
    flex-shrink: 0;
    width: min(540px, 45vw);
    margin-top: 24px;
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 768px) {
  .appendix-box-point > .image {
    width: 100%;
    order: 1;
  }
}
.appendix-box-point > .image > img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
}
*:not(.appendix-box-point) + .appendix-box-point {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  *:not(.appendix-box-point) + .appendix-box-point {
    margin-top: 32px;
  }
}
.appendix-box-point:has(+ *:not(.appendix-box-point)) {
  margin-bottom: 64px;
}
@media screen and (max-width: 768px) {
  .appendix-box-point:has(+ *:not(.appendix-box-point)) {
    margin-bottom: 40px;
  }
}
.appendix-box-point + .appendix-box-point {
  margin-top: 24px;
}

/* ---------------------------------------------
  .table-01
------------------------------------------------ */
.table-01 {
  width: 100%;
  border: 1px solid #c9caca;
}
.table-01 thead > tr > th {
  padding: 23px 40px 20px;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  vertical-align: middle;
  background-color: #f7e1e6;
}
@media screen and (max-width: 768px) {
  .table-01 thead > tr > th {
    padding: 14px 16px 13px;
    font-size: 0.9375rem;
  }
}
.table-01 thead > tr + tr > th {
  border-top: 1px solid #c9caca;
  background-color: #f4d3da;
}
.table-01 thead > tr:has(> th[rowspan]) + tr > th {
  background-color: #f7e1e6;
  border-left: 1px solid #c9caca;
}
.table-01 thead > tr > th:not(:first-child) {
  border-left: 1px solid #c9caca;
}
.table-01 tbody > tr > td {
  padding: 32px 40px;
  font-size: 1.125rem;
  line-height: 1.6;
  font-weight: bold;
  background-color: #fff;
  border-top: 1px solid #c9caca;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .table-01 tbody > tr > td {
    padding: 24px 16px;
    font-size: 0.9375rem;
  }
}
.table-01 tbody > tr > th {
  padding: 32px 40px;
  font-size: 1.125rem;
  line-height: 1.6;
  font-weight: bold;
  background-color: #f0f0f0;
  border-top: 1px solid #c9caca;
  vertical-align: middle;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .table-01 tbody > tr > th {
    padding: 24px 16px;
    font-size: 0.9375rem;
  }
}
.table-01 tbody > tr > th.sub-header {
  background-color: #e6e6e6;
}
.table-01 {
  /*
  tbody > tr:nth-child(even) > td {
    background-color: $color-gray-09;
  }
  */
}
.table-01 tbody > tr:nth-child(even):not([data-row-color-variant=yellow]) > td {
  background-color: #fafafa;
}
.table-01 tbody > tr > *:not(:first-child) {
  border-left: 1px solid #c9caca;
}
.table-01 tbody > tr .note {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: normal;
  margin-top: 7px;
}
@media screen and (max-width: 768px) {
  .table-01 tbody > tr .note {
    font-size: 0.875rem;
    line-height: 1.6;
    margin-top: 1px;
    gap: 3px;
  }
}
.table-01 tbody > tr .note::before {
  content: "※";
  display: block;
}
.table-01 tbody > tr .tag {
  display: inline-flex;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.3;
  text-align: center;
  padding: 2px 12px 3px;
  border: 1px solid #c9caca;
  border-radius: 4px;
  background-color: #fff;
  gap: 4px;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .table-01 tbody > tr .tag {
    font-size: 0.75rem;
    padding: 2px 11px;
  }
}
.table-01 tbody > tr .tag[data-allow-variant] > .icon {
  display: block;
  width: 12px;
  height: 12px;
  margin-top: 2px;
}
@media screen and (max-width: 768px) {
  .table-01 tbody > tr .tag[data-allow-variant] > .icon {
    width: 11px;
    height: 11px;
    margin-top: 1px;
  }
}
.table-01 tbody > tr .tag[data-allow-variant=yes] {
  background-color: #dbdbdb;
}
.table-01 tbody > tr .tag[data-allow-variant=yes] > .icon {
  background: url("/assets/images/common/icon-tag-01.svg") center left no-repeat;
  background-size: contain;
}
.table-01 tbody > tr .tag[data-allow-variant=no] {
  background-color: #6f6f6f;
  color: #fff;
}
.table-01 tbody > tr .tag[data-allow-variant=no] > .icon {
  background: url("/assets/images/common/icon-tag-02.svg") center left no-repeat;
  background-size: contain;
}
.table-01 tbody > tr *:not(.list-note) + .list-tag {
  margin-top: 15px;
}
.table-01 tbody > tr .list-note + .list-tag {
  margin-top: 7px;
}
.table-01 tbody > tr * + .list-tag {
  margin-top: 15px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .table-01 tbody > tr * + .list-tag {
    margin-top: 6px;
    gap: 4px 8px;
  }
}
.table-01 tbody > tr > td .category {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .table-01 tbody > tr > td .category {
    flex-direction: row;
    gap: 8px;
  }
}
.table-01 tbody > tr > td .category > .icon {
  width: 70px;
  height: 70px;
  min-width: 70px;
  position: relative;
  background-image: url("/assets/images/common/icon-test-category-01.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
}
@media screen and (max-width: 768px) {
  .table-01 tbody > tr > td .category > .icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
  }
}
.table-01 tbody > tr > td .category > .icon.icon-02 {
  background-image: url("/assets/images/common/icon-test-category-02.svg");
}
.table-01 tbody > tr > td .category > .icon.icon-03 {
  background-image: url("/assets/images/common/icon-test-category-03.svg");
}
.table-01 tbody > tr > td .category > .icon.icon-04 {
  background-image: url("/assets/images/common/icon-test-category-04.svg");
}
.table-01 tbody > tr > *[rowspan] {
  vertical-align: middle;
  border-right: 1px solid #c9caca;
}
.table-01:not(:has(thead)) tbody > tr > th {
  background-color: #ffeaea;
}
.table-01 p[data-text-variant=notice] {
  color: #e00000;
}
.table-01[data-column-variant="2"] {
  --width-pc: 25%;
  --width-sp: 140px;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .table-01[data-column-variant="2"] thead > tr > th {
    text-align: left;
  }
}
.table-01[data-column-variant="2"] thead > tr > *:first-child,
.table-01[data-column-variant="2"] tbody > tr > *:first-child {
  width: var(--width-pc);
}
@media screen and (max-width: 768px) {
  .table-01[data-column-variant="2"] thead > tr > *:first-child,
  .table-01[data-column-variant="2"] tbody > tr > *:first-child {
    width: var(--width-sp);
  }
}
.table-01[data-column-variant="3"] {
  --width-pc: 25%;
  --width-th-sp: 88px;
  --width-td-sp: 150px;
}
@media screen and (max-width: 768px) {
  .table-01[data-column-variant="3"] thead > tr > th {
    text-align: left;
  }
}
.table-01[data-column-variant="3"] tbody > tr > th:nth-child(1),
.table-01[data-column-variant="3"] tbody > tr > th:nth-child(2) {
  width: var(--width-pc);
}
@media screen and (max-width: 768px) {
  .table-01[data-column-variant="3"] tbody > tr > th:nth-child(1),
  .table-01[data-column-variant="3"] tbody > tr > th:nth-child(2) {
    width: var(--width-th-sp);
    padding-left: 13px;
    padding-right: 13px;
  }
}
.table-01[data-column-variant="3"] tbody > tr:not(:has(th)) > td:nth-child(1),
.table-01[data-column-variant="3"] tbody > tr:not(:has(th)) > td:nth-child(2) {
  width: var(--width-pc);
}
@media screen and (max-width: 768px) {
  .table-01[data-column-variant="3"] tbody > tr:not(:has(th)) > td:nth-child(1),
  .table-01[data-column-variant="3"] tbody > tr:not(:has(th)) > td:nth-child(2) {
    width: var(--width-td-sp);
  }
}
.table-01[data-column-variant="3"] thead > tr:first-child > th:not(:last-child)[colspan] {
  width: calc(var(--width-pc) * 2);
}
@media screen and (max-width: 768px) {
  .table-01[data-column-variant="3"] thead > tr:first-child > th:not(:last-child)[colspan] {
    width: calc(var(--width-th-sp) * 2);
  }
}
@media (min-width: 769px) {
  .table-01[data-column-variant="3"] tbody > tr > td:last-child {
    padding-left: 52px;
  }
}
.table-01[data-column-variant="3"]:has(thead th[colspan="2"]) {
  table-layout: fixed;
}
.table-01[data-column-variant=medium] {
  --width-pc: 16.68%;
  --width-sp: 130px;
}
@media screen and (max-width: 768px) {
  .table-01[data-column-variant=medium] thead > tr > th {
    text-align: left;
  }
}
.table-01[data-column-variant=medium] tbody > tr > th {
  width: var(--width-pc);
}
@media screen and (max-width: 768px) {
  .table-01[data-column-variant=medium] tbody > tr > th {
    width: var(--width-sp);
  }
}
.table-01[data-column-variant=medium] tbody > tr > th,
.table-01[data-column-variant=medium] tbody > tr > td {
  padding: 32px;
}
@media screen and (max-width: 768px) {
  .table-01[data-column-variant=medium] thead > tr > th {
    padding: 14px 16px 13px;
  }
}
@media screen and (max-width: 768px) {
  .table-01[data-column-variant=medium] tbody > tr > th,
  .table-01[data-column-variant=medium] tbody > tr > td {
    padding: 22px 16px 21px;
  }
}
.table-01[data-table-variant=optional] thead > tr > th {
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .table-01[data-table-variant=optional] thead > tr > th {
    text-align: left;
  }
}
.table-01[data-table-variant=optional] thead > tr > th:nth-child(1) {
  width: 35%;
}
@media screen and (max-width: 768px) {
  .table-01[data-table-variant=optional] thead > tr > th:nth-child(1) {
    width: 26.3157894737%;
  }
}
.table-01[data-table-variant=optional] thead > tr > th:nth-child(2) {
  width: 15%;
}
@media screen and (max-width: 768px) {
  .table-01[data-table-variant=optional] thead > tr > th:nth-child(2) {
    width: 17.3684210526%;
  }
}
.table-01[data-table-variant=optional] thead > tr > th:nth-child(3) {
  width: 40%;
}
@media screen and (max-width: 768px) {
  .table-01[data-table-variant=optional] thead > tr > th:nth-child(3) {
    width: 46.8421052632%;
  }
}
.table-01[data-table-variant=optional] thead > tr > th:nth-child(4) {
  width: 9.8333333333%;
  padding-left: 20px;
  padding-right: 20px;
}
@media screen and (max-width: 768px) {
  .table-01[data-table-variant=optional] thead > tr > th:nth-child(4) {
    width: 9.4736842105%;
    padding-left: 14px;
    padding-right: 14px;
  }
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(1) > *:not(p) {
  font-weight: initial;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(1) > * + .list-note {
  margin-top: 7px;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(2) {
  text-align: center;
}
@media (min-width: 769px) {
  .table-01[data-table-variant=optional] tbody > tr > *:nth-child(2) {
    padding: 32px 10px 32px 10px;
  }
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(2) > *:not(p) {
  font-weight: initial;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(2) > * + .list-note {
  margin-top: 7px;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(3) {
  font-weight: normal;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(3) > p:has(strong) {
  margin-bottom: 15px;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(3) > p:has(strong):not(:first-child) {
  margin-top: 24px;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(3) > p:not(:has(strong)) + p:not(:has(strong)) {
  margin-top: 6px;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(3) > * + .list-note {
  margin-top: 5px;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(3) > * + .list-dots,
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(3) > .list-note:has(.list-dots) .list-dots {
  margin-top: 7px;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(3) > * + .link-text {
  margin-top: 16px;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(3) > p[data-text-variant=notice] {
  color: #e00000;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(3) > p[data-size-variant=medium] {
  font-size: 1rem;
}
@media screen and (max-width: 768px) {
  .table-01[data-table-variant=optional] tbody > tr > *:nth-child(3) > p[data-size-variant=medium] {
    font-size: 0.9375rem;
  }
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(3) > p[class] {
  font-size: initial;
}
.table-01[data-table-variant=optional] tbody > tr > *:nth-child(4) {
  text-align: center;
  font-weight: normal;
}
.table-01[data-text-variant=normal] tbody > tr > td {
  font-weight: normal;
}
.table-01[data-text-variant=normal] tbody > tr > td > * {
  font-weight: initial;
}
.table-01[data-layout-variant=fixed] {
  table-layout: fixed;
}
.table-01[data-padding-variant=small] thead > tr > th {
  padding: min(23px, 1.8253968254vw) min(16px, 1.2698412698vw) min(20px, 1.5873015873vw);
}
@media screen and (max-width: 768px) {
  .table-01[data-padding-variant=small] thead > tr > th {
    padding: 14px 7px 13px;
  }
}
@media (min-width: 769px) {
  .table-01[data-padding-variant=small] tbody > tr > th,
  .table-01[data-padding-variant=small] tbody > tr > td, .table-01[data-padding-variant=small][data-padding-variant=small] tbody > tr > td {
    padding: min(32px, 2.5396825397vw) min(40px, 3.1746031746vw);
  }
}
.table-01 [data-align-variant=center] {
  text-align: center;
}
.table-01 [data-vertical-variant=top] {
  vertical-align: top;
}
.table-01 tbody > tr > th[data-style-variant=body] {
  background-color: #fff;
}
.table-01 tbody > tr:nth-child(even) > th[data-style-variant=body] {
  background-color: #fafafa;
}
.table-01:has(+ *:not(.table-01)) {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .table-01:has(+ *:not(.table-01)) {
    margin-bottom: 32px;
  }
}
*:not(.table-01) + .table-01 {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  *:not(.table-01) + .table-01 {
    margin-top: 32px;
  }
}
.table-01 + .table-01 {
  margin-top: 24px;
}
.table-01 [data-row-color-variant=yellow] > td {
  background-color: #e6e3cf;
}
.table-01 [data-text-color-variant=red] {
  color: #e00000;
}

/* ---------------------------------------------
  table-scroll-wrapper
------------------------------------------------ */
@media screen and (max-width: 768px) {
  .table-scroll-wrapper {
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-right: -15px;
  }
}
@media screen and (max-width: 768px) {
  .table-scroll-wrapper::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 158px;
    height: 78px;
    background: url(/assets/images/common/icon-table-scroll-01.png) no-repeat;
    background-size: contain;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 10;
  }
}
.table-scroll-wrapper.has-scroll::before {
  opacity: 1;
}
.table-scroll-wrapper.is-scrolled::before {
  opacity: 0;
}
.table-scroll-wrapper.is-tall::before {
  top: 200px;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .table-scroll-wrapper > .table-01 {
    min-width: 726px;
  }
}
@media all and (max-width: 1200px) {
  .table-scroll-wrapper > .table-01[data-table-variant=optional] {
    min-width: 1100px;
  }
}
@media all and (max-width: smpx) {
  .table-scroll-wrapper > .table-01[data-table-variant=optional] {
    min-width: 760px;
  }
}
.table-scroll-wrapper:has(+ *:not(.table-scroll-wrapper)) {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .table-scroll-wrapper:has(+ *:not(.table-scroll-wrapper)) {
    margin-bottom: 32px;
  }
}
*:not(.table-scroll-wrapper) + .table-scroll-wrapper {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  *:not(.table-scroll-wrapper) + .table-scroll-wrapper {
    margin-top: 32px;
  }
}
.table-scroll-wrapper + .table-scroll-wrapper {
  margin-top: 24px;
}
@media all and (max-width: 1200px) {
  .table-scroll-wrapper[data-scroll-variant=optional] {
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-right: -15px;
  }
}
@media all and (max-width: 1200px) {
  .table-scroll-wrapper[data-scroll-variant=optional]::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 158px;
    height: 78px;
    background: url(/assets/images/common/icon-table-scroll-01.png) no-repeat;
    background-size: contain;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
  }
}
.table-scroll-wrapper[data-scroll-variant=optional].has-scroll::before {
  opacity: 1;
}
.table-scroll-wrapper[data-scroll-variant=optional].is-scrolled::before {
  opacity: 0;
}
.table-scroll-wrapper[data-scroll-variant=optional].is-tall::before {
  top: 200px;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .table-scroll-wrapper[data-scroll-variant=optional] > .table-01 {
    min-width: 726px;
  }
}

/* ---------------------------------------------
  .table-02
------------------------------------------------ */
.table-02 {
  width: 100%;
  border: 1px solid #c9caca;
}
@media screen and (max-width: 768px) {
  .table-02 {
    border-width: 0 1px 1px 1px;
  }
}
@media screen and (max-width: 768px) {
  .table-02 thead {
    display: none;
  }
}
.table-02 thead > tr > th {
  padding: 23px 40px 20px;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.6;
  background-color: #f7e1e6;
}
.table-02 thead > tr > th:not(:first-child) {
  border-left: 1px solid #c9caca;
}
@media screen and (max-width: 768px) {
  .table-02 tbody {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .table-02 tbody > tr {
    display: block;
  }
}
.table-02 tbody > tr > td {
  padding: 30px 32px;
  font-size: 1.125rem;
  line-height: 1.6;
  font-weight: bold;
  background-color: #fff;
  border-top: 1px solid #c9caca;
  vertical-align: middle;
}
.table-02 tbody > tr > td:not(:first-child) {
  border-left: 1px solid #c9caca;
}
@media screen and (max-width: 768px) {
  .table-02 tbody > tr > td {
    display: block;
    padding: 0;
    border-left: none !important;
    font-size: 0.9375rem;
  }
  .table-02 tbody > tr > td::before {
    content: attr(data-label);
    display: block;
    padding: 14px 16px 13px;
    font-size: 0.9375rem;
    font-weight: bold;
    text-align: center;
    background-color: #f7e1e6;
    border-bottom: 1px solid #c9caca;
  }
  .table-02 tbody > tr > td:first-child::before {
    border-top: none;
  }
}
@media screen and (max-width: 768px) {
  .table-02 tbody > tr > td > * {
    display: block;
    padding: 22px 16px 22px;
    background-color: #fff;
  }
}
.table-02 tbody > tr > td .course {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 768px) {
  .table-02 tbody > tr > td .course {
    flex-direction: row;
    gap: 8px;
  }
}
.table-02 tbody > tr > td .course > .badge {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 70px;
  height: 70px;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.2;
  text-align: center;
  color: #c34a65;
  border: 2px solid rgba(195, 74, 101, 0.3);
  border-radius: 50%;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .table-02 tbody > tr > td .course > .badge {
    width: 40px;
    height: 40px;
    padding-left: 5px;
    padding-right: 5px;
    font-size: 0.625rem;
  }
}
.table-02 tbody > tr > td .course > .title {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .table-02 tbody > tr > td .course > .title {
    font-size: 0.9375rem;
  }
}
.table-02 thead > tr > th:nth-child(1) {
  width: 36.3333333333%;
}
.table-02 thead > tr > th:nth-child(3) {
  width: 10.6666666667%;
}
.table-02 tbody > tr > td:nth-child(2) {
  font-weight: normal;
}
@media (min-width: 769px) {
  .table-02 tbody > tr > td:nth-child(2) {
    padding-left: 50px;
    padding-right: 50px;
  }
}
@media (min-width: 769px) {
  .table-02 tbody > tr > td:nth-child(3) {
    padding-left: 28px;
    padding-right: 28px;
  }
}
@media screen and (max-width: 768px) {
  .table-02 tbody > tr > td:nth-child(3) {
    text-align: center;
  }
}
.table-02 tbody > tr:nth-child(even) > td {
  background-color: #fafafa;
}
@media screen and (max-width: 768px) {
  .table-02 tbody > tr:nth-child(even) > td > * {
    background-color: #fafafa;
  }
}
.table-02:has(+ *:not(.table-02)) {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .table-02:has(+ *:not(.table-02)) {
    margin-bottom: 32px;
  }
}
*:not(.table-02) + .table-02 {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  *:not(.table-02) + .table-02 {
    margin-top: 32px;
  }
}
.table-02 + .table-02 {
  margin-top: 24px;
}

/* ---------------------------------------------
  .pagination
------------------------------------------------ */
.pagination > ul {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pagination > ul > li {
  display: flex;
}
.pagination > ul > li > a,
.pagination > ul > li > span {
  position: relative;
  display: flex;
  min-width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border-radius: 42px;
  background-color: #fff;
  color: #c34a65;
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.2s ease;
}
@media screen and (max-width: 768px) {
  .pagination > ul > li > a,
  .pagination > ul > li > span {
    min-width: 36px;
    height: 36px;
    font-size: 0.875rem;
  }
}
.pagination > ul > li:has([data-disabled=true]) {
  display: none;
}
@media (min-width: 769px) {
  .pagination > ul > li > a:hover {
    background-color: #c34a65;
    color: #fff;
  }
}
.pagination > ul > li > .dots {
  position: relative;
  display: flex;
  min-width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border: none;
  color: #c34a65;
  cursor: default;
}
@media screen and (max-width: 768px) {
  .pagination > ul > li > .dots {
    min-width: 36px;
    height: 36px;
  }
}
.pagination > ul > li > [aria-current=page] {
  background-color: #c34a65;
  color: #fff;
  cursor: default;
}
*:not(.pagination) + .pagination {
  margin-top: 40px;
}
.pagination:has(+ *:not(.pagination)) {
  margin-bottom: 40px;
}
.pagination + .pagination {
  margin-top: 10px;
}
.pagination[data-align-variant=center] {
  display: flex;
  justify-content: center;
}

.arrow-next::before,
.arrow-prev::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 10px;
  background-color: #c34a65;
  -webkit-mask: url("/assets/images/common/icon-arrow-right-05.svg") center no-repeat;
          mask: url("/assets/images/common/icon-arrow-right-05.svg") center no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media (min-width: 769px) {
  .arrow-next:hover::before,
  .arrow-prev:hover::before {
    background-color: #fff;
  }
}

.arrow-prev::before {
  transform: translate(-50%, -50%) rotate(180deg);
}

.nav-local {
  padding: 80px 0;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .nav-local {
    padding: 56px 0;
  }
}
.nav-local > .inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1260px;
  padding: 0 30px;
}
@media screen and (max-width: 768px) {
  .nav-local > .inner {
    max-width: 100%;
    padding: 0 15px;
  }
}
.nav-local > .inner > .heading {
  padding-bottom: 20px;
  margin-bottom: 24px;
  border-bottom: 1px solid #c9caca;
}
@media screen and (max-width: 768px) {
  .nav-local > .inner > .heading {
    padding-bottom: 13px;
    margin-bottom: 14px;
  }
}
.nav-local > .inner > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 40px;
}
@media screen and (max-width: 768px) {
  .nav-local > .inner > ul {
    gap: 10px 8px;
    padding-left: 13px;
    padding-right: 12px;
  }
}
.nav-local > .inner > ul + ul {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .nav-local > .inner > ul + ul {
    margin-top: 10px;
  }
}
.nav-local > .inner > ul > li {
  position: relative;
}
@media screen and (max-width: 768px) {
  .nav-local > .inner > ul > li {
    width: calc(50% - 4px);
  }
}
.nav-local > .inner > ul > li > .link {
  font-weight: 500;
  line-height: 1.1875;
  color: #c34a65;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .nav-local > .inner > ul > li > .link {
    font-size: 0.875rem;
    line-height: 1.5714285714;
  }
}
@media (min-width: 769px) {
  .nav-local > .inner > ul > li > .link:hover {
    color: #676767;
  }
}
.nav-local > .inner > ul > li > .link.is-current {
  pointer-events: none;
  color: #676767;
}

/* ==========================================================================//
// Pages
// ========================================================================== */
/* ---------------------------------------------
  .top-section-hero
------------------------------------------------ */
.top-section-hero {
  position: relative;
  overflow: hidden;
}
.top-section-hero > .button-box {
  position: relative;
  right: min(40px, 2.5641025641vw);
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: min(310px, 32.2916666667vw);
  margin: max(-135px, -8.6538461538vw) 0 0 auto;
  padding-bottom: 10px;
  z-index: 20;
}
@media screen and (max-width: 768px) {
  .top-section-hero > .button-box {
    display: none;
    position: static;
    flex-direction: row;
    width: 100%;
    margin: 0 auto;
    padding: 15px 8px;
  }
}
@media (min-width: 769px) {
  .top-section-hero > .button-box.is-fixed {
    position: fixed;
    top: 50%;
    margin: 0;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 768px) {
  .top-section-hero > .button-box.is-fixed {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .top-section-hero > .button-box > .button-cta {
    width: 51.4666666667vw;
    flex: 0 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .top-section-hero > .button-box > .button-inquire {
    width: 100%;
  }
}

/* ---------------------------------------------
  .top-hero-slider
------------------------------------------------ */
.top-hero-slider {
  position: relative;
  width: 100%;
  padding-bottom: 13px;
}
@media screen and (max-width: 768px) {
  .top-hero-slider {
    padding-bottom: 6px;
  }
}
.top-hero-slider > .slides {
  position: relative;
  width: 100%;
}
.top-hero-slider > .slides > .slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 3s ease, visibility 3s ease;
}
.top-hero-slider > .slides > .slide.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
}
.top-hero-slider > .slides > .slide img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-hero-slider > .controls {
  position: absolute;
  top: 40.2083333333vw;
  right: 3.6458333333vw;
  display: flex;
  align-items: center;
  gap: 16px;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .top-hero-slider > .controls {
    top: 117.3333333333vw;
    right: 4vw;
    gap: 12px;
  }
}
.top-hero-slider > .controls > .pagination {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .top-hero-slider > .controls > .pagination {
    gap: 6px;
  }
}
.top-hero-slider > .controls > .pagination > .dot {
  width: 40px;
  height: 2px;
  padding: 0;
  border: none;
  border-radius: 10px;
  background-color: #c9caca;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
@media (min-width: 769px) {
  .top-hero-slider > .controls > .pagination > .dot:hover {
    background-color: #c34a65;
  }
}
.top-hero-slider > .controls > .pagination > .dot.is-active {
  background-color: #c34a65;
}
.top-hero-slider > .controls > .button-play-pause {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 37px;
  height: 37px;
  padding: 0;
  border: none;
  padding: 2px;
  border-radius: 50%;
  background: linear-gradient(140deg, #d5d5d5 0%, #edf1f5 49.75%, #fff 100%);
  cursor: pointer;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .top-hero-slider > .controls > .button-play-pause {
    width: 26px;
    height: 26px;
    background: linear-gradient(145deg, #d5d5d5 0%, #edf1f5 49.75%, #fff 100%);
  }
}
.top-hero-slider > .controls > .button-play-pause::after {
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 3px;
  width: 31px;
  height: 31px;
  background-color: #fff;
  border-radius: 50%;
  z-index: 1;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .top-hero-slider > .controls > .button-play-pause::after {
    top: 2px;
    left: 2px;
    width: 22px;
    height: 22px;
  }
}
@media (min-width: 769px) {
  .top-hero-slider > .controls > .button-play-pause:hover::after {
    background-color: #faf5f7;
  }
}
.top-hero-slider > .controls > .button-play-pause > .icon-pause {
  display: flex;
  gap: 5px;
}
@media screen and (max-width: 768px) {
  .top-hero-slider > .controls > .button-play-pause > .icon-pause {
    gap: 3px;
  }
}
.top-hero-slider > .controls > .button-play-pause > .icon-pause::before, .top-hero-slider > .controls > .button-play-pause > .icon-pause::after {
  content: "";
  display: block;
  width: 2px;
  height: 10px;
  background-color: #c34a65;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .top-hero-slider > .controls > .button-play-pause > .icon-pause::before, .top-hero-slider > .controls > .button-play-pause > .icon-pause::after {
    height: 7px;
  }
}
.top-hero-slider > .controls > .button-play-pause > .icon-play {
  position: relative;
  display: none;
  width: 0;
  height: 0;
  margin-left: 3px;
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #c34a65;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .top-hero-slider > .controls > .button-play-pause > .icon-play {
    border-width: 4px 0 4px 7px;
  }
}
.top-hero-slider > .controls > .button-play-pause.is-paused .icon-pause {
  display: none;
}
.top-hero-slider > .controls > .button-play-pause.is-paused .icon-play {
  display: block;
}

/* ---------------------------------------------
  .top-hero-box
------------------------------------------------ */
.top-hero-box {
  position: relative;
}
.top-hero-box::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 44.375vw;
  height: 23.3333333333vw;
  background: #fff0f0 url("/assets/images/top/bg-hero-01-pc.png") right top no-repeat;
  background-size: cover;
  background-blend-mode: multiply;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .top-hero-box::after {
    width: 100vw;
    height: 80vw;
    background-image: url("/assets/images/top/bg-hero-01-sp.png");
  }
}
.top-hero-box > .image-01 {
  overflow: hidden;
  width: 58.4375vw;
  height: 31.9270833333vw;
  border-radius: 0 0 32px 0;
}
@media screen and (max-width: 768px) {
  .top-hero-box > .image-01 {
    width: 79.7333333333vw;
    height: 67.2vw;
    border-radius: 0 0 16px 0;
  }
}
.top-hero-box > .image-02 {
  overflow: hidden;
  height: 20.5729166667vw;
  border-radius: 20px;
  margin: -13.5416666667vw 3.6458333333vw 0 60.15625vw;
}
@media screen and (max-width: 768px) {
  .top-hero-box > .image-02 {
    width: 75.7333333333vw;
    height: 41.6vw;
    border-radius: 16px;
    margin: 4.2666666667vw 4vw 0 auto;
  }
}
.top-hero-box > .catchphrase {
  display: flex;
  flex-direction: column;
  gap: 25px;
  max-width: 1560px;
  width: 100%;
  margin: -5.0520833333vw auto 0;
  padding-inline: 30px;
}
@media screen and (max-width: 768px) {
  .top-hero-box > .catchphrase {
    gap: 12px;
    max-width: 100%;
    padding-inline: 15px;
    margin-top: 16vw;
  }
}
.top-hero-box > .catchphrase > .text {
  position: relative;
  padding-left: 31px;
  font-size: min(28px, 1.7948717949vw);
  letter-spacing: 0.03em;
  color: #c34a65;
}
@media screen and (max-width: 768px) {
  .top-hero-box > .catchphrase > .text {
    padding-left: 18px;
    font-size: 1.125rem;
    line-height: 2;
  }
}
.top-hero-box > .catchphrase > .text::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 5px;
  width: 10px;
  height: 10px;
  background: url("/assets/images/common/icon-circle-01.svg") left center no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .top-hero-box > .catchphrase > .text::before {
    left: 0;
  }
}
.top-hero-box > .catchphrase > .title {
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: min(54px, 3.4615384615vw);
  letter-spacing: 0.08em;
  line-height: 1.35;
  color: #c34a65;
}
@media screen and (max-width: 768px) {
  .top-hero-box > .catchphrase > .title {
    font-size: 1.625rem;
    line-height: 1.5;
  }
}

/* ---------------------------------------------
  .top-news-area
------------------------------------------------ */
.top-news-area {
  padding-top: 60px;
}
@media screen and (max-width: 768px) {
  .top-news-area {
    padding-top: 27px;
  }
}
.top-news-area > .inner {
  position: relative;
  max-width: 1560px;
  width: 100%;
  margin: 0 auto;
  padding: 0 30px;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .top-news-area > .inner {
    max-width: 100%;
    padding: 0 15px;
  }
}

.card-top-notice {
  display: flex;
  gap: min(53px, 3.3974358974vw);
  padding: 42px 40px;
  border-radius: 8px;
  background-color: #f7f4f2;
}
@media screen and (max-width: 768px) {
  .card-top-notice {
    flex-direction: column;
    gap: 11px;
    padding: 15px;
  }
}
.card-top-notice > .notice {
  flex: 0 0 auto;
}
@media screen and (max-width: 768px) {
  .card-top-notice > .notice {
    width: 100%;
  }
}
.card-top-notice > .notice > span {
  display: block;
  position: relative;
  padding-left: 44px;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.4;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .card-top-notice > .notice > span {
    padding-left: 22px;
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0.03em;
  }
}
.card-top-notice > .notice > span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 28px;
  height: 28px;
  background: url("/assets/images/common/icon-notice-01.svg") left center no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .card-top-notice > .notice > span::after {
    width: 18px;
    height: 18px;
  }
}
.card-top-notice > .box {
  display: flex;
  gap: min(32px, 2.0512820513vw);
}
@media screen and (max-width: 768px) {
  .card-top-notice > .box {
    flex-direction: column;
    gap: 4px;
  }
}
.card-top-notice > .box > .date {
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1.6;
  color: #676767;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .card-top-notice > .box > .date {
    font-size: 0.875rem;
    line-height: 1.8;
  }
}
.card-top-notice > .box > div > .text {
  position: relative;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  padding-right: 70px;
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1.6;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .card-top-notice > .box > div > .text {
    font-size: 0.875rem;
    -webkit-line-clamp: 2;
    padding-right: 0;
    line-height: 1.55;
  }
}
.card-top-notice > .box > div > .text::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 2px);
  right: 10px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .card-top-notice > .box > div > .text::after {
    display: none;
  }
}
@media (min-width: 769px) {
  .card-top-notice:hover > .notice > span,
  .card-top-notice:hover > .box > .date,
  .card-top-notice:hover > .box > div > .text {
    color: #c34a65;
  }
  .card-top-notice:hover > .box > div > .text::after {
    right: 0;
  }
}

/* ---------------------------------------------
  .top-section-medical
------------------------------------------------ */
.top-section-medical {
  position: relative;
  padding-block: min(100px, 6.4102564103vw) min(160px, 10.2564102564vw);
}
@media screen and (max-width: 768px) {
  .top-section-medical {
    padding-block: 53px 56px;
  }
}
.top-section-medical::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 262px);
  background-color: #fffafc;
}
@media screen and (max-width: 768px) {
  .top-section-medical::before {
    height: calc(100% - 141px);
  }
}
.top-section-medical::after {
  content: "";
  display: block;
  position: absolute;
  top: 262px;
  left: 0;
  width: 100%;
  height: 268px;
  background: linear-gradient(#fff 0%, rgba(255, 255, 255, 0) 100%);
}
@media screen and (max-width: 768px) {
  .top-section-medical::after {
    top: 141px;
    height: 100%;
  }
}
.top-section-medical > .inner {
  position: relative;
  max-width: 1560px;
  width: 100%;
  margin: 0 auto;
  padding: 0 30px;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .top-section-medical > .inner {
    max-width: 100%;
    padding: 0 15px;
  }
}
.top-section-medical > .inner > .text {
  font-size: 1.375rem;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 768px) {
  .top-section-medical > .inner > .text {
    font-size: 0.9375rem;
  }
}
.top-section-medical > .inner > .text + .text {
  margin-top: 13px;
}

/* ---------------------------------------------
  .top-box-medical
------------------------------------------------ */
.top-box-medical {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-height: 566px;
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .top-box-medical {
    flex-direction: column;
    min-height: auto;
    margin-top: 40px;
  }
}
.top-box-medical + .top-box-medical {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .top-box-medical + .top-box-medical {
    margin-top: 40px;
  }
}
.top-box-medical > .image {
  overflow: hidden;
  position: absolute;
  right: calc(50% - 14.4791666667vw);
  width: 64.53125vw;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .top-box-medical > .image {
    position: static;
    width: 92vw;
    transform: translateX(-4vw);
  }
}
.top-box-medical > .image > picture > img {
  width: 100%;
  height: 566px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 32px 32px 0;
}
@media screen and (max-width: 768px) {
  .top-box-medical > .image > picture > img {
    height: auto;
    border-radius: 0 16px 16px 0;
  }
}
.top-box-medical > .card {
  position: relative;
  width: min(588px, 37.6923076923vw);
  padding: 43px min(64px, 4.1025641026vw) 37px;
  border-radius: 30px;
  background-color: #fffdfe;
  z-index: 2;
  box-shadow: -2px 4px 10px 0px #ddd7d1;
}
@media screen and (max-width: 768px) {
  .top-box-medical > .card {
    position: static;
    width: 92vw;
    margin-top: -40px;
    padding: 24px 24px 22px;
    border-radius: 20px 0 0 20px;
    transform: translateX(4vw);
  }
}
.top-box-medical > .card > h3 > .subject {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 15px;
}
@media (min-width: 769px) {
  .top-box-medical > .card > h3 > .subject {
    transition: all 0.3s ease-out;
  }
  .top-box-medical > .card > h3 > .subject:hover {
    color: #c34a65;
  }
}
@media screen and (max-width: 768px) {
  .top-box-medical > .card > h3 > .subject {
    gap: 8px;
    margin-bottom: 15px;
  }
}
@media (min-width: 769px) {
  .top-box-medical > .card > h3 > .subject:hover > .text {
    padding-right: 40px;
  }
}
.top-box-medical > .card > h3 > .subject > .icon {
  display: block;
  width: 50px;
}
@media screen and (max-width: 768px) {
  .top-box-medical > .card > h3 > .subject > .icon {
    width: 32px;
  }
}
.top-box-medical > .card > h3 > .subject > .text {
  position: relative;
  padding-right: 34px;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.75;
  transition: all 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .top-box-medical > .card > h3 > .subject > .text {
    padding-right: 28px;
    font-size: 1.125rem;
    letter-spacing: 0.06em;
  }
}
.top-box-medical > .card > h3 > .subject > .text::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
  background-size: contain;
}
.top-box-medical > .card > .title {
  margin-bottom: 10px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #c34a65;
}
@media screen and (max-width: 768px) {
  .top-box-medical > .card > .title {
    margin-bottom: 12px;
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 768px) {
  .top-box-medical > .card > .text {
    font-size: 0.875rem;
  }
}
.top-box-medical > .card > .list {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .top-box-medical > .card > .list {
    gap: 4px;
    margin-top: 21px;
  }
}
.top-box-medical[data-box-variant=reverse] {
  flex-direction: row-reverse;
}
@media screen and (max-width: 768px) {
  .top-box-medical[data-box-variant=reverse] {
    flex-direction: column;
  }
}
.top-box-medical[data-box-variant=reverse] > .image {
  left: calc(50% - 14.5833333333vw);
  right: inherit;
}
@media screen and (max-width: 768px) {
  .top-box-medical[data-box-variant=reverse] > .image {
    transform: translateX(4vw);
  }
}
.top-box-medical[data-box-variant=reverse] > .image > picture > img {
  border-radius: 32px 0 0 32px;
}
@media screen and (max-width: 768px) {
  .top-box-medical[data-box-variant=reverse] > .card {
    border-radius: 0 20px 20px 0;
    transform: translateX(-4vw);
  }
}

/* ---------------------------------------------
  .top-list-medical
------------------------------------------------ */
.top-list-medical {
  display: flex;
  justify-content: center;
  gap: min(38px, 2.4358974359vw);
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .top-list-medical {
    flex-direction: column;
    gap: 16px;
    margin-top: 40px;
  }
}

/* ---------------------------------------------
  .top-section-experience
------------------------------------------------ */
.top-section-experience > .inner {
  max-width: 1560px;
  width: 100%;
  margin: 0 auto;
  padding: 120px 30px;
}
@media screen and (max-width: 768px) {
  .top-section-experience > .inner {
    max-width: 100%;
    padding: 56px 15px;
  }
}

/* ---------------------------------------------
  .top-box-experience
------------------------------------------------ */
.top-box-experience {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .top-box-experience {
    flex-direction: column;
    gap: 32px;
  }
}
.top-box-experience > .box-image {
  display: flex;
  flex-direction: column;
  gap: 39px;
  justify-content: space-between;
  width: min(695px, 44.5512820513vw);
}
@media screen and (max-width: 768px) {
  .top-box-experience > .box-image {
    width: 100%;
    gap: 16px;
    padding-right: 41px;
  }
}
.top-box-experience > .box-image > figure {
  overflow: hidden;
}
.top-box-experience > .box-image > figure > img {
  border-radius: min(32px, 2.0512820513vw);
}
@media screen and (max-width: 768px) {
  .top-box-experience > .box-image > figure > img {
    border-radius: 16px;
  }
}
.top-box-experience > .box-image > .image-01 {
  width: min(615px, 39.4230769231vw);
}
@media screen and (max-width: 768px) {
  .top-box-experience > .box-image > .image-01 {
    width: 66.6666666667vw;
  }
}
.top-box-experience > .box-image > .image-02 {
  width: min(387px, 24.8076923077vw);
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .top-box-experience > .box-image > .image-02 {
    width: 49.0666666667vw;
  }
}
.top-box-experience > .box-detail {
  width: min(640px, 41.0256410256vw);
  padding: 0 5px 5px 0;
}
@media screen and (max-width: 768px) {
  .top-box-experience > .box-detail {
    width: 100%;
    padding: 0;
  }
}
.top-box-experience > .box-detail > .title {
  margin-bottom: 23px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #c34a65;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .top-box-experience > .box-detail > .title {
    font-size: 1.25rem;
    line-height: 1.3;
  }
}
.top-box-experience > .box-detail > .text {
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .top-box-experience > .box-detail > .text {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}

/* ---------------------------------------------
  .top-box-medical-care
------------------------------------------------ */
.top-box-medical-care {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: min(70px, 4.4871794872vw);
  margin-top: 63px;
  padding: 47px min(40px, 2.5641025641vw) 47px min(80px, 5.1282051282vw);
  border-radius: 30px;
  background-color: #fff7f7;
  border: 1px solid #f0f0f0;
}
@media screen and (max-width: 768px) {
  .top-box-medical-care {
    align-items: flex-start;
    flex-direction: column;
    gap: 30px;
    margin-top: 56px;
    padding: 30px 30px 31px;
    border-radius: 16px;
  }
}
.top-box-medical-care > .box {
  padding-top: 12px;
}
@media screen and (max-width: 768px) {
  .top-box-medical-care > .box {
    padding-top: 0;
  }
}
.top-box-medical-care > .box > .title {
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: #c34a65;
}
@media screen and (max-width: 768px) {
  .top-box-medical-care > .box > .title {
    font-size: 1.125rem;
  }
}
.top-box-medical-care > .box > .list {
  margin-top: 26px;
  display: flex;
  flex-direction: column;
  gap: 17px;
}
@media screen and (max-width: 768px) {
  .top-box-medical-care > .box > .list {
    gap: 4px;
    margin-top: 19px;
  }
}
.top-box-medical-care > .image {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(28px, 1.7948717949vw);
}
.top-box-medical-care > .image > figure {
  overflow: hidden;
}
.top-box-medical-care > .image > figure > img {
  border-radius: min(32px, 2.0512820513vw);
}
@media screen and (max-width: 768px) {
  .top-box-medical-care > .image > figure > img {
    border-radius: 8px;
  }
}

/* ---------------------------------------------
  .top-section-map
------------------------------------------------ */
.top-section-map {
  position: relative;
  padding: min(377px, 24.1666666667vw) 30px 80px;
  background-color: #D9A5AC;
}
@media screen and (max-width: 768px) {
  .top-section-map {
    padding: 120px 15px 56px;
  }
}
.top-section-map::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 903px;
  background: url("/assets/images/top/bg-top-map.jpg") top center no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .top-section-map::after {
    height: 211px;
  }
}

/* ---------------------------------------------
  .top-section-news
------------------------------------------------ */
.top-section-news > .inner {
  max-width: 1260px;
  width: 100%;
  margin: 0 auto;
  padding: 118px 30px 78px;
}
@media screen and (max-width: 768px) {
  .top-section-news > .inner {
    max-width: 100%;
    padding: 54px 15px 55px;
  }
}
.top-section-news > .inner > .link {
  margin-top: 40px;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .top-section-news > .inner > .link {
    margin-top: 23px;
  }
}
.top-section-news > .inner > .link > a {
  position: relative;
  padding-right: 42px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #c34a65;
}
@media screen and (max-width: 768px) {
  .top-section-news > .inner > .link > a {
    font-size: 0.8125rem;
  }
}
.top-section-news > .inner > .link > a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 12px;
  width: 24px;
  height: 24px;
  transform: translateY(-50%);
  background: url("/assets/images/common/icon-arrow-right-01.svg") right center no-repeat;
  background-size: contain;
  transition: all 0.3s ease-out;
}
@media (min-width: 769px) {
  .top-section-news > .inner > .link > a:hover::after {
    right: 0;
  }
}

/* ---------------------------------------------
  .top-section-recruit
------------------------------------------------ */
.top-section-recruit > .inner {
  position: relative;
  max-width: 1260px;
  width: 100%;
  margin: 0 auto;
  padding: 0 30px 120px;
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .top-section-recruit > .inner {
    max-width: 100%;
    padding: 0 15px 56px;
  }
}

/* ---------------------------------------------
  .top-box-recruit
------------------------------------------------ */
.top-box-recruit {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 470px;
}
@media screen and (max-width: 768px) {
  .top-box-recruit {
    flex-direction: column;
    min-height: auto;
  }
}
.top-box-recruit > .image {
  overflow: hidden;
  position: absolute;
  left: calc(50% - 50vw);
  width: 89.0625vw;
  z-index: 1;
}
@media all and (min-width: 1740px) and (max-width: 1920px) {
  .top-box-recruit > .image {
    width: 1710px;
  }
}
@media all and (min-width: 768px) and (max-width: 1740px) {
  .top-box-recruit > .image {
    width: calc(100vw - 30px);
  }
}
@media screen and (max-width: 768px) {
  .top-box-recruit > .image {
    position: static;
    width: 100vw;
  }
}
.top-box-recruit > .image > picture > img {
  width: 100%;
  height: 470px;
  border-radius: 0 20px 20px 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right center;
     object-position: right center;
}
@media screen and (max-width: 768px) {
  .top-box-recruit > .image > picture > img {
    height: auto;
    border-radius: 0;
  }
}
.top-box-recruit > .box {
  position: relative;
  width: min(538px, 34.4871794872vw);
  border-radius: 20px;
  background-color: #fff;
  padding: 58px min(64px, 4.1025641026vw);
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .top-box-recruit > .box {
    width: 92vw;
    margin-top: -90px;
    padding: 32px 15px;
  }
}
.top-box-recruit > .box > .title {
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .top-box-recruit > .box > .title {
    padding-inline: 15px;
    font-size: 1.25rem;
    line-height: 1.5;
    letter-spacing: 0.01em;
  }
}
.top-box-recruit > .box > .list-button {
  margin-top: 55px;
}
@media screen and (max-width: 768px) {
  .top-box-recruit > .box > .list-button {
    margin-top: 23px;
  }
}

@media (min-width: 769px) {
  .top .box-cta-button[data-visible=true][data-visible=true] {
    opacity: 0;
    visibility: hidden;
  }
}

/* ---------------------------------------------
  .clinic-section-about
------------------------------------------------ */
.clinic-section-about > .inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  padding: 58px 15px 48px;
}
@media (min-width: 769px) {
  .clinic-section-about > .inner {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    max-width: 1560px;
    padding: 70px 30px;
    margin: 0 auto;
  }
}
.clinic-section-about > .inner > .box-detail {
  width: 100%;
}
@media (min-width: 769px) {
  .clinic-section-about > .inner > .box-detail {
    width: min(635px, 40.7051282051vw);
    padding-bottom: 5px;
  }
}
.clinic-section-about > .inner > .box-detail > .text {
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .clinic-section-about > .inner > .box-detail > .text {
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}
.clinic-section-about > .inner > .box-detail > .text + .text {
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .clinic-section-about > .inner > .box-detail > .text + .text {
    margin-top: 13px;
  }
}
.clinic-section-about > .inner .box-detail > .button {
  margin-top: 43px;
}
@media screen and (max-width: 768px) {
  .clinic-section-about > .inner .box-detail > .button {
    margin-top: 38px;
  }
}
.clinic-section-about > .inner > .box-image {
  display: grid;
  row-gap: 40px;
  width: min(695px, 44.5512820513vw);
}
@media screen and (max-width: 768px) {
  .clinic-section-about > .inner > .box-image {
    row-gap: 16px;
    width: 100%;
  }
}
.clinic-section-about > .inner > .box-image > picture {
  display: block;
}
.clinic-section-about > .inner > .box-image > picture > img {
  width: 100%;
  border-radius: min(32px, 2.0512820513vw);
}
@media screen and (max-width: 768px) {
  .clinic-section-about > .inner > .box-image > picture > img {
    border-radius: 16px;
  }
}
.clinic-section-about > .inner > .box-image > .image-01 {
  width: min(615px, 39.4230769231vw);
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .clinic-section-about > .inner > .box-image > .image-01 {
    width: 66.6666666667vw;
  }
}
.clinic-section-about > .inner > .box-image > .image-02 {
  width: min(387px, 24.8076923077vw);
}
@media screen and (max-width: 768px) {
  .clinic-section-about > .inner > .box-image > .image-02 {
    width: 49.0666666667vw;
  }
}

/* ---------------------------------------------
  .clinic-section-hospitality
------------------------------------------------ */
.clinic-section-hospitality > .inner {
  display: flex;
  gap: min(64px, 3.3333333333vw);
  position: relative;
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
  padding: 80px min(70px, 3.6458333333vw);
  z-index: 3;
}
@media screen and (max-width: 768px) {
  .clinic-section-hospitality > .inner {
    flex-direction: column;
    gap: 26px;
    max-width: 100%;
    padding: 56px 15px;
  }
}
.clinic-section-hospitality > .inner > .box {
  max-width: min(925px, 48.1770833333vw);
  width: 100%;
  flex: 1 0 auto;
  padding-top: min(58px, 3.0208333333vw);
}
@media screen and (max-width: 768px) {
  .clinic-section-hospitality > .inner > .box {
    max-width: 100%;
    padding-top: 0;
    order: 2;
  }
}
.clinic-section-hospitality > .inner > .box > .detail {
  max-width: 635px;
  width: 100%;
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .clinic-section-hospitality > .inner > .box > .detail {
    min-width: 100%;
  }
}
.clinic-section-hospitality > .inner > .box > .detail > .head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 8px 23px;
  margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
  .clinic-section-hospitality > .inner > .box > .detail > .head {
    gap: 8px 16px;
    margin-bottom: 18px;
  }
}
.clinic-section-hospitality > .inner > .box > .detail > .head > .position {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.4444444444;
}
@media screen and (max-width: 768px) {
  .clinic-section-hospitality > .inner > .box > .detail > .head > .position {
    position: relative;
    bottom: -2px;
    font-size: 0.9375rem;
    line-height: 1.6;
  }
}
.clinic-section-hospitality > .inner > .box > .detail > .head > .name {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-weight: 500;
  color: #c34a65;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .clinic-section-hospitality > .inner > .box > .detail > .head > .name {
    gap: 4px 8px;
  }
}
.clinic-section-hospitality > .inner > .box > .detail > .head > .name > .column > .hiragana {
  font-size: 0.75rem;
  line-height: 1.1666666667;
}
@media screen and (max-width: 768px) {
  .clinic-section-hospitality > .inner > .box > .detail > .head > .name > .column > .hiragana {
    font-size: 0.625rem;
    line-height: 1.2;
  }
}
.clinic-section-hospitality > .inner > .box > .detail > .head > .name > .column > .kanji {
  font-size: 1.6875rem;
  line-height: 1.1111111111;
}
@media screen and (max-width: 768px) {
  .clinic-section-hospitality > .inner > .box > .detail > .head > .name > .column > .kanji {
    font-size: 1.25rem;
    line-height: 1.15;
  }
}
.clinic-section-hospitality > .inner > .box > .detail > .text {
  font-size: 1rem;
  letter-spacing: 0.06em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .clinic-section-hospitality > .inner > .box > .detail > .text {
    font-size: 0.875rem;
  }
}
.clinic-section-hospitality > .inner > .box > .detail > .list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 47px;
}
@media screen and (max-width: 768px) {
  .clinic-section-hospitality > .inner > .box > .detail > .list {
    gap: 8px;
    margin-top: 39px;
  }
}
.clinic-section-hospitality > .inner > figure {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .clinic-section-hospitality > .inner > figure {
    order: 1;
  }
}
.clinic-section-hospitality > .inner > figure > img {
  width: 100%;
  height: auto;
  border-radius: min(32px, 2.0512820513vw);
}
@media screen and (max-width: 768px) {
  .clinic-section-hospitality > .inner > figure > img {
    border-radius: 16px;
  }
}

/* ---------------------------------------------
  .clinic-section-features
------------------------------------------------ */
.clinic-section-features {
  background-color: #ffeaea;
}
.clinic-section-features > .inner {
  width: 100%;
  padding: 53px 15px 56px;
}
@media (min-width: 769px) {
  .clinic-section-features > .inner {
    max-width: 1260px;
    padding: 80px 30px 77px;
    margin: 0 auto;
  }
}

/* ---------------------------------------------
  .medical-checkup-section-news
------------------------------------------------ */
.medical-checkup-section-news > .inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1560px;
  padding: 40px 30px 0;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-news > .inner {
    max-width: 100%;
    padding: 24px 15px 0;
  }
}
.medical-checkup-section-news > .inner > .box-detail {
  display: flex;
  background-color: #fff;
}
@media (min-width: 769px) {
  .medical-checkup-section-news > .inner > .box-detail {
    align-items: center;
    gap: min(56px, 3.5897435897vw);
    padding: min(22px, 1.4102564103vw) min(64px, 4.1025641026vw) min(48px, 3.0769230769vw) min(56px, 3.5897435897vw);
    border-radius: 30px;
  }
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-news > .inner > .box-detail {
    flex-direction: column;
    gap: 24px;
    border-radius: 16px;
    padding: 24px 18px 56px;
  }
}
.medical-checkup-section-news > .inner > .box-detail > .heading {
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 2rem;
  letter-spacing: 0.08em;
  line-height: 1.4375;
}
@media (min-width: 769px) {
  .medical-checkup-section-news > .inner > .box-detail > .heading {
    flex: 0 0 auto;
    margin-top: 22px;
  }
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-news > .inner > .box-detail > .heading {
    font-size: 1.375rem;
    letter-spacing: 0.05em;
    line-height: 1.5909090909;
  }
}
.medical-checkup-section-news > .inner > .box-detail > .list-news {
  width: 100%;
}

/* ---------------------------------------------
  .medical-checkup-section-comfort
------------------------------------------------ */
.medical-checkup-section-comfort > .inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1260px;
  padding: 52px 30px 80px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-comfort > .inner {
    max-width: 100%;
    padding: 40px 15px 56px;
  }
}

/* ---------------------------------------------
  .medical-checkup-section-course
------------------------------------------------ */
.medical-checkup-section-course {
  background-color: #ffeaea;
}
.medical-checkup-section-course > .inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1260px;
  padding: 80px 30px 80px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-course > .inner {
    max-width: 100%;
    padding: 55px 15px 56px;
  }
}
.medical-checkup-section-course > .inner > .grid-card {
  display: grid;
  gap: 15px;
}
.medical-checkup-section-course > .inner > .grid-card .card {
  display: flex;
  padding: 30px 30px 30px 40px;
  border-radius: 30px;
  background: #fff;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-course > .inner > .grid-card .card {
    padding: 24px 15px 21px;
    border-radius: 16px;
    flex-direction: column;
  }
}
@media (min-width: 769px) {
  .medical-checkup-section-course > .inner > .grid-card .card > .intro {
    width: min(413px, 32.7777777778vw);
    flex: 1 0 auto;
    padding-right: 40px;
  }
}
.medical-checkup-section-course > .inner > .grid-card .card > .intro > .heading-icon {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-course > .inner > .grid-card .card > .intro > .heading-icon {
    margin-bottom: 15px;
  }
}
.medical-checkup-section-course > .inner > .grid-card .card > .intro > .lead {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-course > .inner > .grid-card .card > .intro > .lead {
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0.03em;
  }
}
.medical-checkup-section-course > .inner > .grid-card .card > .intro > .lead + * {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-course > .inner > .grid-card .card > .intro > .lead + * {
    margin-top: 13px;
  }
}
.medical-checkup-section-course > .inner > .grid-card .card > .content {
  width: 100%;
}
@media (min-width: 769px) {
  .medical-checkup-section-course > .inner > .grid-card .card > .content {
    padding-left: 40px;
    border-left: 1px solid #c9caca;
  }
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-course > .inner > .grid-card .card > .content {
    margin-top: 23px;
    padding-top: 24px;
    border-top: 1px solid #c9caca;
  }
}
.medical-checkup-section-course > .inner > .grid-card .card > .content > .box + .box {
  margin-top: 20px;
}
.medical-checkup-section-course > .inner > .grid-card .card > .content > .box > .heading {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 6px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-course > .inner > .grid-card .card > .content > .box > .heading {
    font-size: 0.9375rem;
    line-height: 1.6;
    letter-spacing: 0.03em;
  }
}
.medical-checkup-section-course > .inner > .grid-card .card > .content > .box > .button {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-course > .inner > .grid-card .card > .content > .box > .button {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}
.medical-checkup-section-course > .inner > .grid-card .card > .content > .box > * + .button {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-course > .inner > .grid-card .card > .content > .box > * + .button {
    margin-top: 15px;
  }
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-course > .inner > .grid-card .card > .content > .box > .button a {
    font-size: 0.9375rem;
    border-radius: 12px;
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-course > .inner > .grid-card .card > .content > .box > .link-text > a {
    font-size: 0.9375rem;
    letter-spacing: 0;
  }
}
.medical-checkup-section-course > .inner > .grid-card .card > .content > .box > * + .link-text {
  margin-top: 20px;
}

/* ---------------------------------------------
  .medical-checkup-section-features
------------------------------------------------ */
.medical-checkup-section-features {
  background-color: #fff;
}
.medical-checkup-section-features > .inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1260px;
  padding: 80px 30px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-features > .inner {
    max-width: 100%;
    padding: 56px 15px;
  }
}

/* ---------------------------------------------
  .medical-checkup-section-procedure
------------------------------------------------ */
.medical-checkup-section-procedure {
  background-color: #ffeaea;
}
.medical-checkup-section-procedure > .inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1560px;
  padding: 80px 30px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-procedure > .inner {
    max-width: 100%;
    padding: 56px 15px;
  }
}
.medical-checkup-section-procedure > .inner > .box-heading {
  max-width: 1200px;
  margin: 0 auto;
}
.medical-checkup-section-procedure > .inner > .list-step {
  margin-top: 40px;
}
.medical-checkup-section-procedure > .inner > .button {
  width: 100%;
  max-width: 328px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-procedure > .inner > .button {
    max-width: 100%;
    padding: 0 15px;
  }
}
.medical-checkup-section-procedure > .inner > * + .button {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-procedure > .inner > * + .button {
    margin-top: 24px;
  }
}

/* ---------------------------------------------
  .medical-checkup-section-faq
------------------------------------------------ */
.medical-checkup-section-faq > .inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1260px;
  padding: 80px 30px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-faq > .inner {
    max-width: 100%;
    padding: 56px 15px 50px;
  }
}

/* ---------------------------------------------
  .medical-checkup-box-tab
------------------------------------------------ */
.medical-checkup-box-tab > .detail {
  display: flex;
  gap: min(40px, 3.1746031746vw);
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .detail {
    flex-direction: column;
    gap: 16px;
  }
}
.medical-checkup-box-tab > .detail > .image {
  display: block;
  width: min(420px, 33.3333333333vw);
}
@media (min-width: 769px) {
  .medical-checkup-box-tab > .detail > .image {
    flex: 1 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .detail > .image {
    width: 100%;
  }
}
.medical-checkup-box-tab > .detail > .image > img {
  width: 100%;
  border-radius: min(32px, 2.5396825397vw);
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .detail > .image > img {
    border-radius: 16px;
  }
}
.medical-checkup-box-tab > .detail > .box-content {
  width: 100%;
}
@media (min-width: 769px) {
  .medical-checkup-box-tab > .detail > .box-content {
    margin-top: 19px;
  }
}
.medical-checkup-box-tab > .detail > .box-content > .text {
  font-size: 1.125rem;
  letter-spacing: 0.03em;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .detail > .box-content > .text {
    font-size: 0.875rem;
    line-height: 1.5714285714;
    letter-spacing: normal;
  }
}
.medical-checkup-box-tab > .detail > .box-content > .text + .text {
  margin-top: 14px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .detail > .box-content > .text + .text {
    margin-top: 5px;
  }
}
.medical-checkup-box-tab > .booking {
  background-color: #fff7f7;
  border-radius: 32px;
  padding: 42px 40px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .booking {
    padding: 32px 15px;
    border-radius: 16px;
  }
}
.medical-checkup-box-tab * + .booking {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab * + .booking {
    margin-top: 24px;
  }
}
.medical-checkup-box-tab > .booking > .heading {
  margin-bottom: 26px;
  font-family: "Zen Old Mincho", "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: #c34a65;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .booking > .heading {
    font-size: 1.25rem;
    line-height: 1.3;
    letter-spacing: 0.03em;
  }
}
.medical-checkup-box-tab > .booking > .booking-inner {
  display: flex;
}
@media (min-width: 769px) {
  .medical-checkup-box-tab > .booking > .booking-inner {
    align-items: stretch;
  }
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .booking > .booking-inner {
    flex-direction: column;
  }
}
@media (min-width: 769px) {
  .medical-checkup-box-tab > .booking > .booking-inner > .box-heading {
    display: flex;
    align-items: center;
    flex: 1 0 auto;
    width: min(480px, 38.0952380952vw);
    padding-right: min(37px, 2.9365079365vw);
  }
}
.medical-checkup-box-tab > .booking > .booking-inner > .box-heading > div {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .booking > .booking-inner > .box-heading > div > .button-cta {
    margin-left: auto;
    margin-right: auto;
  }
}
.medical-checkup-box-tab > .booking > .booking-inner > .box-heading > div > * + .button-cta {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .booking > .booking-inner > .box-heading > div > * + .button-cta {
    margin-top: 24px;
  }
}
.medical-checkup-box-tab > .booking > .booking-inner > .box-content {
  width: 100%;
}
@media (min-width: 769px) {
  .medical-checkup-box-tab > .booking > .booking-inner > .box-content {
    display: flex;
    align-items: center;
    padding-left: min(64px, 5.0793650794vw);
    border-left: 1px solid #c9caca;
  }
}
.medical-checkup-box-tab > .booking > .booking-inner > .box-content > div {
  width: 100%;
}
.medical-checkup-box-tab > .booking > .booking-inner .list-dots > li:not(:first-child) {
  margin-top: 6px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .booking > .booking-inner > * + .box-content {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #c9caca;
  }
}
.medical-checkup-box-tab > .booking > .booking-inner > .box-content > div > * + .link-text {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .booking > .booking-inner > .box-content > div > * + .link-text {
    margin-top: 6px;
    margin-bottom: 19px;
  }
}
.medical-checkup-box-tab > .booking > .booking-inner > .box-content > div > .list-dots + .text-primary, .medical-checkup-box-tab > .booking > .booking-inner > .box-content > div.list-note > .list-dots + li, .medical-checkup-box-tab > .booking > .booking-inner > .box-content > div.list-note-order > .list-dots + li, .medical-checkup-box-tab > .booking > .booking-inner > .box-content > div.list-order > .list-dots + li, .medical-checkup-box-tab > .booking > .booking-inner > .box-content > div.list-dots > .list-dots + li, .medical-checkup-box-tab > .booking > .booking-inner > .box-content > div.list-check > .list-dots + li {
  margin-top: 16px;
}
.medical-checkup-box-tab > .booking > .booking-inner > .box-content > div > .button-inquire + .list-note {
  margin-top: 21px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .booking > .booking-inner > .box-content > div > .button-inquire + .list-note {
    margin-top: 15px;
  }
}
.medical-checkup-box-tab > .booking > .booking-inner .box-list {
  width: 100%;
  max-width: 410px;
  background-color: #fff;
  border-radius: 32px;
  padding: 24px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-box-tab > .booking > .booking-inner .box-list {
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }
}
.medical-checkup-box-tab > .booking > .booking-inner .box-list + .text-primary, .medical-checkup-box-tab > .booking > .booking-inner .box-cms > ul > .box-list + li, .medical-checkup-box-tab > .booking > .booking-inner .list-note > .box-list + li, .medical-checkup-box-tab > .booking > .booking-inner .list-note-order > .box-list + li, .medical-checkup-box-tab > .booking > .booking-inner .list-order > .box-list + li, .medical-checkup-box-tab > .booking > .booking-inner .list-dots > .box-list + li, .medical-checkup-box-tab > .booking > .booking-inner .list-check > .box-list + li {
  margin-top: 16px;
}

/* ---------------------------------------------
  .medical-checkup-section-related
------------------------------------------------ */
.medical-checkup-section-related {
  background-color: #ffeaea;
}
.medical-checkup-section-related > .inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1260px;
  padding: 80px 30px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-related > .inner {
    max-width: 100%;
    padding: 56px 15px;
  }
}
@media (min-width: 769px) {
  .medical-checkup-section-related > .inner > .grid-box-column {
    max-width: 1064px;
    gap: min(40px, 3.5587188612vw);
  }
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-related > .inner > .grid-box-column {
    gap: 8px;
  }
}

/* ---------------------------------------------
  .medical-checkup-section-reason
------------------------------------------------ */
.medical-checkup-section-reason {
  background-color: #ffeaea;
}
.medical-checkup-section-reason > .inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1260px;
  padding: 80px 30px 80px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-reason > .inner {
    max-width: 100%;
    padding: 56px 15px 56px;
  }
}
.medical-checkup-section-reason > .inner > .section-info > .image-card + * {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-reason > .inner > .section-info > .image-card + * {
    margin-top: 24px;
  }
}
.medical-checkup-section-reason > .inner > .section-info > .list-box-number {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-reason > .inner > .section-info > .list-box-number {
    margin-top: 22px;
  }
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-reason > .inner > .section-info > .grid-link-column {
    margin-top: 30px;
  }
}

/* ---------------------------------------------
  .medical-checkup-section-option
------------------------------------------------ */
.medical-checkup-section-option {
  background-color: #fff7f7;
}
.medical-checkup-section-option > .inner {
  width: 100%;
  margin: 0 auto;
  max-width: 1260px;
  padding: 80px 30px 80px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-option > .inner {
    max-width: 100%;
    padding: 56px 15px 56px;
  }
}
.medical-checkup-section-option > .inner > .list-anchor {
  margin-top: 58px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-option > .inner > .list-anchor {
    margin-top: 15px;
  }
}
.medical-checkup-section-option > .inner > .section-option + .section-option {
  margin-top: 76px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-option > .inner > .section-option + .section-option {
    margin-top: 56px;
  }
}
.medical-checkup-section-option > .inner > .list-anchor + .section-option {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-option > .inner > .list-anchor + .section-option {
    margin-top: 24px;
  }
}
.medical-checkup-section-option > .inner > .section-option > .table-scroll-wrapper {
  margin-top: 0;
  margin-bottom: 0;
}
.medical-checkup-section-option > .inner > .section-option > .table-scroll-wrapper + .list-note {
  margin-top: 24px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-option > .inner > .section-option > .table-scroll-wrapper + .list-note {
    margin-top: 8px;
  }
}
.medical-checkup-section-option > .inner > .section-option > .table-scroll-wrapper + * {
  margin-top: 64px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-option > .inner > .section-option > .table-scroll-wrapper + * {
    margin-top: 32px;
  }
}
.medical-checkup-section-option > .inner > .section-option > .list-note + .link-text {
  margin-top: 16px;
}
@media screen and (max-width: 768px) {
  .medical-checkup-section-option > .inner > .section-option > .list-note + .link-text {
    margin-top: 6px;
  }
}

/* ==========================================================================//
// Utility
// ========================================================================== */
.u-d-none {
  display: none !important;
}

.u-v-hidden {
  visibility: hidden !important;
}

@media screen and (max-width: 768px) {
  .u-d-sm-none {
    display: none !important;
  }
  .u-v-sm-hidden {
    visibility: hidden !important;
  }
}
@media (min-width: 769px) {
  .u-d-md-none {
    display: none !important;
  }
  .u-v-md-hidden {
    visibility: hidden !important;
  }
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}

@media (min-width: 769px) {
  .sp-only {
    display: none !important;
  }
}

.u-mt-0 {
  margin-top: 0px !important;
}

.u-pt-0 {
  padding-top: 0px !important;
}

.u-mb-0 {
  margin-bottom: 0px !important;
}

.u-pb-0 {
  padding-bottom: 0px !important;
}

.u-ml-0 {
  margin-left: 0px !important;
}

.u-pl-0 {
  padding-left: 0px !important;
}

.u-mr-0 {
  margin-right: 0px !important;
}

.u-pr-0 {
  padding-right: 0px !important;
}

.u-mt-5 {
  margin-top: 5px !important;
}

.u-pt-5 {
  padding-top: 5px !important;
}

.u-mb-5 {
  margin-bottom: 5px !important;
}

.u-pb-5 {
  padding-bottom: 5px !important;
}

.u-ml-5 {
  margin-left: 5px !important;
}

.u-pl-5 {
  padding-left: 5px !important;
}

.u-mr-5 {
  margin-right: 5px !important;
}

.u-pr-5 {
  padding-right: 5px !important;
}

.u-mt-10 {
  margin-top: 10px !important;
}

.u-pt-10 {
  padding-top: 10px !important;
}

.u-mb-10 {
  margin-bottom: 10px !important;
}

.u-pb-10 {
  padding-bottom: 10px !important;
}

.u-ml-10 {
  margin-left: 10px !important;
}

.u-pl-10 {
  padding-left: 10px !important;
}

.u-mr-10 {
  margin-right: 10px !important;
}

.u-pr-10 {
  padding-right: 10px !important;
}

@media screen and (max-width: 768px) {
  .u-mt-sm-0 {
    margin-top: 0px !important;
  }
  .u-pt-sm-0 {
    padding-top: 0px !important;
  }
  .u-mb-sm-0 {
    margin-bottom: 0px !important;
  }
  .u-pb-sm-0 {
    padding-bottom: 0px !important;
  }
  .u-ml-sm-0 {
    margin-left: 0px !important;
  }
  .u-pl-sm-0 {
    padding-left: 0px !important;
  }
  .u-mr-sm-0 {
    margin-right: 0px !important;
  }
  .u-pr-sm-0 {
    padding-right: 0px !important;
  }
  .u-mt-sm-5 {
    margin-top: 5px !important;
  }
  .u-pt-sm-5 {
    padding-top: 5px !important;
  }
  .u-mb-sm-5 {
    margin-bottom: 5px !important;
  }
  .u-pb-sm-5 {
    padding-bottom: 5px !important;
  }
  .u-ml-sm-5 {
    margin-left: 5px !important;
  }
  .u-pl-sm-5 {
    padding-left: 5px !important;
  }
  .u-mr-sm-5 {
    margin-right: 5px !important;
  }
  .u-pr-sm-5 {
    padding-right: 5px !important;
  }
  .u-mt-sm-10 {
    margin-top: 10px !important;
  }
  .u-pt-sm-10 {
    padding-top: 10px !important;
  }
  .u-mb-sm-10 {
    margin-bottom: 10px !important;
  }
  .u-pb-sm-10 {
    padding-bottom: 10px !important;
  }
  .u-ml-sm-10 {
    margin-left: 10px !important;
  }
  .u-pl-sm-10 {
    padding-left: 10px !important;
  }
  .u-mr-sm-10 {
    margin-right: 10px !important;
  }
  .u-pr-sm-10 {
    padding-right: 10px !important;
  }
}
@media (min-width: 769px) {
  .u-mt-md-0 {
    margin-top: 0px !important;
  }
  .u-pt-md-0 {
    padding-top: 0px !important;
  }
  .u-mb-md-0 {
    margin-bottom: 0px !important;
  }
  .u-pb-md-0 {
    padding-bottom: 0px !important;
  }
  .u-ml-md-0 {
    margin-left: 0px !important;
  }
  .u-pl-md-0 {
    padding-left: 0px !important;
  }
  .u-mr-md-0 {
    margin-right: 0px !important;
  }
  .u-pr-md-0 {
    padding-right: 0px !important;
  }
  .u-mt-md-5 {
    margin-top: 5px !important;
  }
  .u-pt-md-5 {
    padding-top: 5px !important;
  }
  .u-mb-md-5 {
    margin-bottom: 5px !important;
  }
  .u-pb-md-5 {
    padding-bottom: 5px !important;
  }
  .u-ml-md-5 {
    margin-left: 5px !important;
  }
  .u-pl-md-5 {
    padding-left: 5px !important;
  }
  .u-mr-md-5 {
    margin-right: 5px !important;
  }
  .u-pr-md-5 {
    padding-right: 5px !important;
  }
  .u-mt-md-10 {
    margin-top: 10px !important;
  }
  .u-pt-md-10 {
    padding-top: 10px !important;
  }
  .u-mb-md-10 {
    margin-bottom: 10px !important;
  }
  .u-pb-md-10 {
    padding-bottom: 10px !important;
  }
  .u-ml-md-10 {
    margin-left: 10px !important;
  }
  .u-pl-md-10 {
    padding-left: 10px !important;
  }
  .u-mr-md-10 {
    margin-right: 10px !important;
  }
  .u-pr-md-10 {
    padding-right: 10px !important;
  }
}
/* ==========================================================================//
// Print
// ========================================================================== */
/* ---------------------------------------------
  TOP
------------------------------------------------ */
@media print {
  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  html {
    font-size: 62.5% !important;
  }
  .header {
    position: static;
  }
  .header[data-header=fixed] {
    position: static;
  }
  .header .inner {
    padding: 16px 0;
  }
  .header .inner h1 .logo {
    width: 150px;
  }
  .l-contents {
    padding-top: 0;
    overflow: visible !important;
  }
  .top-hero-slider .slides {
    min-height: auto !important;
  }
  .top-hero-box .image-01 {
    width: 58.44% !important;
    height: auto !important;
  }
  .top-hero-box .image-02 {
    width: calc(36.2% - 20px) !important;
    height: auto !important;
    margin: -13.5% 30px 0 auto !important;
  }
  .top-hero-box .catchphrase {
    max-width: 100%;
    margin: 50px auto 0 !important;
  }
  .top-hero-box .catchphrase .text {
    font-size: 1.125rem !important;
  }
  .top-hero-box .catchphrase .title {
    font-size: 2rem !important;
  }
  .top-section-hero .button-box {
    right: 0;
    margin-top: 0 !important;
  }
  .top-hero-slider .controls {
    top: inherit !important;
    bottom: 100px;
  }
  .box-cta-button[data-visible=true] {
    display: none;
  }
  .top-section-medical {
    page-break-before: always;
  }
  .top-box-medical {
    min-height: 450px !important;
    page-break-after: always;
  }
  .top-box-medical .image {
    width: 82.6% !important;
  }
  .top-box-medical .image picture img {
    height: auto !important;
  }
  .top-box-medical .card {
    width: 450px !important;
  }
  .top-list-medical {
    gap: 30px !important;
  }
  .button-card-image .image {
    width: 35% !important;
  }
  .button-card-image .box {
    padding-left: 20px !important;
  }
  .top-section-experience .inner {
    padding-block: 60px !important;
  }
  .top-box-experience .box-image {
    width: 46.334% !important;
  }
  .top-box-experience .box-image .image-01 {
    width: 88.49% !important;
  }
  .top-box-experience .box-image .image-02 {
    width: 55.685% !important;
  }
  .top-box-experience .box-detail {
    width: 42.667% !important;
  }
  .top-box-reservation {
    gap: 24px;
    flex-direction: column;
  }
  .top-box-reservation .box-detail {
    padding: 0 0 23px;
    border-right: none;
    border-bottom: 1px solid #c9caca;
  }
  .top-box-reservation .box-button {
    width: 410px;
    padding: 0;
  }
  .top-section-map {
    padding-block: 60px !important;
    page-break-before: always;
  }
  .box-access-map {
    padding: 30px !important;
  }
  .box-access-map .inner .box {
    width: 45.834% !important;
  }
  .box-access-map .inner .map {
    width: 49% !important;
  }
  .top-section-news {
    page-break-before: always;
  }
  .top-section-news .inner {
    padding: 0 30px 60px !important;
  }
  .top-box-recruit {
    min-height: auto !important;
    padding: 30px 0 30px 30px;
  }
  .top-box-recruit .image {
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  .top-box-recruit .image picture img {
    height: 100% !important;
  }
  .top-box-recruit .box {
    width: 300px !important;
    padding: 30px !important;
  }
  .box-related-link {
    page-break-inside: avoid;
  }
  .box-related-link .splide__track {
    overflow: visible !important;
  }
  .box-related-link .splide__list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    transform: none !important;
  }
  .box-related-link .splide__slide {
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .box-related-link .splide__slide.splide__slide--clone {
    display: none !important;
  }
  .box-related-link .splide__pagination,
  .box-related-link .splide__arrows {
    display: none !important;
  }
  .box-related-link .banner-related {
    display: block !important;
  }
  .appendix-box-point .image {
    width: 45% !important;
  }
  .table-01 thead tr th,
  .table-01 tbody tr th,
  .table-01 tbody tr td {
    padding: 15px 20px !important;
    word-break: normal !important;
    white-space: normal !important;
  }
  .section-content .grid-box-column {
    display: block !important;
  }
  .section-content .grid-box-column .grid-link-column {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
  }
  .section-content .grid-box-column .grid-link-column[data-column-variant="2"] {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
  }
  .section-content .grid-box-column .grid-link-column[data-column-variant="2"] .link-card-image {
    width: calc(50% - 10px) !important;
    flex: none !important;
  }
  .section-content .grid-box-column .link-card-image {
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .section-content .grid-link-column[data-column-variant="3"] {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
  }
  .section-content .grid-link-column[data-column-variant="3"] > .link-card-image {
    width: calc(33.333% - 14px) !important;
    flex: 0 0 calc(33.333% - 14px) !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .section-content .grid-link-column[data-column-variant="3"] > div {
    width: calc(33.333% - 14px) !important;
    flex: 0 0 calc(33.333% - 14px) !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .section-content .grid-link-column[data-column-variant="3"] > a {
    width: calc(33.333% - 14px) !important;
    flex: 0 0 calc(33.333% - 14px) !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .section-content .grid-link-column > .link-card-image[data-card-variant=full] .box-image .heading-06 {
    display: none !important;
  }
  .section-content .grid-box-column .link-card-image[data-card-variant=full] {
    flex-direction: row !important;
    align-items: flex-start !important;
    margin-top: 20px !important;
  }
  .section-content .grid-box-column .link-card-image[data-card-variant=full] .box-image {
    width: 200px !important;
    flex-shrink: 0 !important;
  }
  .section-content .grid-box-column .link-card-image[data-card-variant=full] .box-image .heading-06 {
    display: none !important;
  }
  .section-content .grid-box-column .link-card-image[data-card-variant=full] .box-detail {
    flex: 1 !important;
  }
  .section-content .grid-box-column .link-card-image[data-card-variant=full] .box-detail .heading-06 {
    display: block !important;
  }
  .list-card-01 > li {
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .list-card-01 > li > .content {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    gap: 30px !important;
  }
  .list-card-01 > li:nth-child(even) > .content {
    flex-direction: row-reverse !important;
  }
  .list-card-01 > li > .content > .box-detail {
    width: 55% !important;
    flex: 1 1 auto !important;
  }
  .list-card-01 > li > .content > .box-detail > .heading-03 {
    font-size: 18px !important;
  }
  .list-card-01 > li > .content > .box-detail > .text {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
  .list-card-01 > li > .content > .image {
    width: 40% !important;
    flex: 0 0 auto !important;
  }
  .list-card-01 > li > .content > .image > img {
    width: 100% !important;
    height: auto !important;
    border-radius: 16px !important;
  }
  .medical-checkup-section-comfort .box-card {
    display: block !important;
  }
  .medical-checkup-section-comfort .box-card .grid-link-column {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
  }
  .medical-checkup-section-comfort .box-card .grid-link-column[data-column-variant="2"] .link-card-image {
    width: calc(50% - 10px) !important;
    flex: none !important;
  }
  .medical-checkup-section-comfort .box-card .link-card-image {
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .medical-checkup-section-comfort .box-card .link-card-image[data-card-variant=full] {
    flex-direction: row !important;
    align-items: flex-start !important;
    margin-top: 20px !important;
  }
  .medical-checkup-section-comfort .box-card .link-card-image[data-card-variant=full] .box-image {
    width: 200px !important;
    flex-shrink: 0 !important;
  }
  .medical-checkup-section-comfort .box-card .link-card-image[data-card-variant=full] .box-detail {
    flex: 1 !important;
  }
  .medical-checkup-section-news .inner {
    padding: 30px !important;
  }
  .medical-checkup-section-news .inner .box-detail {
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 30px !important;
    padding: 20px 40px 30px 35px !important;
    border-radius: 20px !important;
  }
  .medical-checkup-section-news .inner .box-detail .heading {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }
  .medical-checkup-section-news .list-news li {
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .medical-checkup-section-news .list-news li a .box .date {
    width: auto !important;
    min-width: 90px !important;
  }
  .medical-checkup-section-news .list-news li a .box .label {
    width: auto !important;
    min-width: 140px !important;
  }
  .medical-checkup-section-news .list-news li a .box .label span {
    border-radius: 15px !important;
  }
  .medical-checkup-section-news .list-news li a .text {
    flex: 1 !important;
    padding-right: 30px !important;
  }
  .medical-checkup-section-news .list-news li a .text::after {
    right: 0 !important;
  }
  .medical-checkup-section-course .inner {
    padding: 40px 30px !important;
  }
  .medical-checkup-section-course .grid-card {
    display: block !important;
  }
  .medical-checkup-section-course .grid-card .card {
    display: flex !important;
    flex-direction: row !important;
    gap: 30px !important;
    padding: 20px 25px !important;
    margin-bottom: 15px !important;
    border-radius: 16px !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .medical-checkup-section-course .grid-card .card .intro {
    width: 250px !important;
    min-width: 250px !important;
    max-width: 250px !important;
    flex: 0 0 250px !important;
    padding-right: 20px !important;
    border-right: 1px solid #ddd !important;
  }
  .medical-checkup-section-course .grid-card .card .intro .heading-icon {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
  }
  .medical-checkup-section-course .grid-card .card .intro .heading-icon i {
    width: 40px !important;
    height: 40px !important;
    flex-shrink: 0 !important;
  }
  .medical-checkup-section-course .grid-card .card .intro .heading-icon .heading {
    font-size: 16px !important;
  }
  .medical-checkup-section-course .grid-card .card .content {
    flex: 1 !important;
    padding-left: 0 !important;
    border-left: none !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    border-top: none !important;
  }
  .medical-checkup-section-course .grid-card .card .content .box .button {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
  }
  .medical-checkup-section-course .grid-card .card .content .box .button li {
    width: calc(50% - 5px) !important;
  }
  .medical-checkup-section-course .grid-card .card .content .box .button .button-04 {
    padding: 8px 30px 8px 12px !important;
    font-size: 13px !important;
    border-radius: 30px !important;
  }
  .medical-checkup-section-course .grid-card .card .content .box .button .button-04::after {
    width: 18px !important;
    height: 18px !important;
    right: 8px !important;
  }
  .box-recommended .grid-link-column {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
  }
  .box-recommended .grid-link-column[data-column-variant="3"] .link-card-image {
    width: calc(33.333% - 14px) !important;
    flex: 0 0 calc(33.333% - 14px) !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 15px !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .box-recommended .link-card-image .box-image {
    width: 100% !important;
  }
  .box-recommended .link-card-image .box-image figure {
    width: 100% !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }
  .box-recommended .link-card-image .box-image figure img {
    width: 100% !important;
    height: auto !important;
    max-height: 150px !important;
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .box-recommended .link-card-image .box-detail {
    width: 100% !important;
    padding-top: 15px !important;
  }
  .box-recommended .link-card-image .box-detail .heading-06 {
    font-size: 14px !important;
  }
  .box-recommended .link-card-image .box-detail .text-primary, .box-recommended .link-card-image .box-detail .box-cms > ul > li, .box-recommended .link-card-image .box-detail .list-note > li, .box-recommended .link-card-image .box-detail .list-note-order > li, .box-recommended .link-card-image .box-detail .list-order > li, .box-recommended .link-card-image .box-detail .list-dots > li, .box-recommended .link-card-image .box-detail .list-check > li {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  .grid-link-column {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    page-break-inside: auto !important;
  }
  .grid-link-column[data-column-variant="2"] {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
  .grid-link-column[data-column-variant="3"] {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
  .grid-link-column .link-card {
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .grid-link-column[data-column-variant="2"] .link-card {
    width: 100% !important;
  }
  .grid-link-column .link-card .link-text-icon {
    display: block !important;
  }
  .grid-link-column .link-card .link-text-icon .link {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }
  .grid-link-column .link-card .link-text-icon .link .icon {
    width: 40px !important;
    height: 40px !important;
    flex-shrink: 0 !important;
  }
  .grid-link-column .link-card .link-text-icon .link .icon img {
    width: 100% !important;
    height: auto !important;
  }
  .grid-link-column .link-card .link-text-icon .link .text {
    font-size: 15px !important;
    font-weight: bold !important;
  }
  .grid-link-column .link-card .text-primary, .grid-link-column .link-card .box-cms > ul > li, .grid-link-column .link-card .list-note > li, .grid-link-column .link-card .list-note-order > li, .grid-link-column .link-card .list-order > li, .grid-link-column .link-card .list-dots > li, .grid-link-column .link-card .list-check > li {
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin-top: 8px !important;
  }
  .grid-link-column .link-card-image {
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .grid-link-column .link-card-image .image img {
    width: 100% !important;
    height: auto !important;
  }
  .link-card-image[data-recommend-variant] {
    position: static !important;
  }
  .link-card-image[data-recommend-variant]::after {
    display: none !important;
  }
  .heading-06 {
    position: static !important;
    padding-left: 16px !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: #000 !important;
  }
  .heading-06::before {
    position: static !important;
    display: inline-block !important;
    vertical-align: middle !important;
    width: 10px !important;
    height: 10px !important;
    margin-left: -16px !important;
    margin-right: 6px !important;
    top: auto !important;
    left: auto !important;
  }
  .link-text-pink {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .link-text-pink > span,
  .link-text-pink > a {
    position: static !important;
    color: #c34a65 !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding-right: 0 !important;
  }
  .link-text-pink > span::after,
  .link-text-pink > a::after {
    position: static !important;
    display: inline-block !important;
    vertical-align: middle !important;
    width: 16px !important;
    height: 16px !important;
    margin-left: 4px !important;
    -webkit-mask: none !important;
    -webkit-mask-image: none !important;
    -webkit-mask: none !important;
            mask: none !important;
    mask-image: none !important;
    background-color: transparent !important;
    background-image: url("/assets/images/common/icon-arrow-right-01.svg") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
  }
  .link-text-pink > a[target=_blank]::after,
  .link-text-pink > span[target=_blank]::after {
    background-image: url("/assets/images/common/icon-external-link-01.svg") !important;
  }
  .link-text {
    position: static !important;
    padding-left: 16px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .link-text::before {
    position: static !important;
    display: inline-block !important;
    vertical-align: middle !important;
    width: 10px !important;
    height: 10px !important;
    margin-left: -16px !important;
    margin-right: 6px !important;
    top: auto !important;
    left: auto !important;
  }
  .link-text > a {
    position: static !important;
    color: #000 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .link-text > a::after {
    position: static !important;
    display: inline-block !important;
    vertical-align: middle !important;
    width: 16px !important;
    height: 16px !important;
    margin-left: 4px !important;
    bottom: auto !important;
    right: auto !important;
    -webkit-mask: none !important;
    -webkit-mask-image: none !important;
    -webkit-mask: none !important;
            mask: none !important;
    mask-image: none !important;
    background-color: transparent !important;
    background-image: url("/assets/images/common/icon-arrow-right-01.svg") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
  }
  .link-text > a[target=_blank]::after {
    background-image: url("/assets/images/common/icon-external-link-01.svg") !important;
  }
  .link-text > a[href$=".pdf"]::after {
    -webkit-mask: none !important;
    mask: none !important;
    -webkit-mask-image: none !important;
            mask-image: none !important;
    background-image: url("/assets/images/common/icon-pdf-01.svg") !important;
    width: 16px !important;
    height: 20px !important;
  }
  .list-step {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
  }
  .list-step li {
    width: calc(50% - 10px) !important;
    flex: 0 0 calc(50% - 10px) !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
    position: static !important;
  }
  .list-step li::before {
    display: none !important;
  }
  .list-step li .card {
    padding: 15px !important;
    border-radius: 12px !important;
    height: 100% !important;
  }
  .list-step li .card .heading {
    font-size: 14px !important;
    margin-bottom: 10px !important;
  }
  .list-step li .card i {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 10px !important;
  }
  .list-step li .card i img {
    width: 100% !important;
    height: auto !important;
  }
  .list-step li .card .text-primary, .list-step li .card .box-cms > ul > li, .list-step li .card .list-note > li, .list-step li .card .list-note-order > li, .list-step li .card .list-order > li, .list-step li .card .list-dots > li, .list-step li .card .list-check > li {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  .list-step li .card .button {
    margin-top: 10px !important;
  }
  .list-step li .card .button .button-02,
  .list-step li .card .button .button-04 {
    padding: 8px 15px !important;
    font-size: 12px !important;
    border-radius: 20px !important;
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    visibility: visible !important;
    text-align: center !important;
    overflow: visible !important;
  }
  .list-step li .card .button .button-02::after,
  .list-step li .card .button .button-04::after {
    position: static !important;
    display: inline-block !important;
    visibility: visible !important;
    flex-shrink: 0 !important;
    transform: none !important;
    width: 16px !important;
    height: 16px !important;
  }
  .list-step li .card .button .button-02::after {
    -webkit-mask: none !important;
    -webkit-mask-image: none !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-size: auto !important;
    -webkit-mask: none !important;
            mask: none !important;
    mask-image: none !important;
    mask-repeat: no-repeat !important;
    mask-size: auto !important;
    background-color: transparent !important;
    background-image: url("/assets/images/common/icon-arrow-right-03.png") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
  }
  .list-step li .card .button .button-02[target=_blank]::after {
    -webkit-mask: none !important;
    -webkit-mask-image: none !important;
    -webkit-mask: none !important;
            mask: none !important;
    mask-image: none !important;
    background-image: url("/assets/images/common/icon-external-link-02.svg") !important;
  }
  .list-step li .card .link-text {
    margin-top: 8px !important;
    font-size: 12px !important;
  }
  .medical-checkup-section-procedure .inner {
    padding: 40px 30px !important;
  }
  .medical-checkup-section-procedure .box-heading {
    margin-bottom: 30px !important;
  }
  .medical-checkup-section-procedure .list-step {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
  }
  .medical-checkup-section-procedure .list-step li {
    width: calc(50% - 10px) !important;
    flex: 0 0 calc(50% - 10px) !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .medical-checkup-section-procedure .list-step li .card {
    padding: 15px !important;
    border-radius: 12px !important;
    height: 100% !important;
  }
  .medical-checkup-section-procedure .list-step li .card .heading {
    font-size: 14px !important;
    margin-bottom: 10px !important;
  }
  .medical-checkup-section-procedure .list-step li .card i {
    width: 40px !important;
    height: 40px !important;
    margin-bottom: 10px !important;
  }
  .medical-checkup-section-procedure .list-step li .card i img {
    width: 100% !important;
    height: auto !important;
  }
  .medical-checkup-section-procedure .list-step li .card .text-primary, .medical-checkup-section-procedure .list-step li .card .box-cms > ul > li, .medical-checkup-section-procedure .list-step li .card .list-note > li, .medical-checkup-section-procedure .list-step li .card .list-note-order > li, .medical-checkup-section-procedure .list-step li .card .list-order > li, .medical-checkup-section-procedure .list-step li .card .list-dots > li, .medical-checkup-section-procedure .list-step li .card .list-check > li {
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  .medical-checkup-section-procedure .list-step li .card .button {
    margin-top: 10px !important;
  }
  .medical-checkup-section-procedure .list-step li .card .button .button-02,
  .medical-checkup-section-procedure .list-step li .card .button .button-04 {
    padding: 8px 15px !important;
    font-size: 12px !important;
    border-radius: 20px !important;
  }
  .medical-checkup-section-procedure .list-step li .card .link-text {
    margin-top: 8px !important;
    font-size: 12px !important;
  }
  .medical-checkup-section-procedure .inner .button {
    margin-top: 20px !important;
  }
  .medical-checkup-section-procedure .inner .button .button-04 {
    padding: 10px 20px !important;
    font-size: 14px !important;
  }
  .box-reservation-inquiries {
    display: block !important;
    padding: 25px !important;
    border-radius: 20px !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .box-reservation-inquiries .box-detail {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 25px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #ddd !important;
    margin-bottom: 20px !important;
  }
  .box-reservation-inquiries .box-detail figure {
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  .box-reservation-inquiries .box-detail figure img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }
  .box-reservation-inquiries .box-detail .box-info {
    flex: 1 1 auto !important;
  }
  .box-reservation-inquiries .box-detail .box-info h5 {
    font-size: 20px !important;
    font-weight: 500 !important;
    margin-bottom: 12px !important;
    line-height: 1.6 !important;
  }
  .box-reservation-inquiries .box-detail .box-info .text {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }
  .box-reservation-inquiries .box-button {
    display: block !important;
    width: 100% !important;
    max-width: 400px !important;
    margin: 0 auto !important;
  }
  .box-reservation-inquiries .box-button .list {
    display: block !important;
  }
  .box-reservation-inquiries .box-button .list .button-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 16px 25px !important;
    font-size: 16px !important;
    border-radius: 50px !important;
    margin-bottom: 12px !important;
    box-sizing: border-box !important;
  }
  .box-reservation-inquiries .box-button .list .button-cta .icon {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
  }
  .box-reservation-inquiries .box-button .list .button-cta .icon img {
    width: 100% !important;
    height: auto !important;
  }
  .box-reservation-inquiries .box-button .list .button-cta .text {
    display: inline-block !important;
  }
  .box-reservation-inquiries .box-button .list .button-inquire {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 16px 25px !important;
    font-size: 16px !important;
    border-radius: 50px !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
  .box-reservation-inquiries .box-button .sns {
    display: flex !important;
    gap: 12px !important;
    margin-top: 16px !important;
  }
  .box-reservation-inquiries .box-button .sns a {
    display: inline-block !important;
    height: 32px !important;
  }
  .box-reservation-inquiries .box-button .sns a img {
    width: auto !important;
    height: 100% !important;
  }
  .inner > .button-inquire {
    display: flex;
    align-items: center;
    position: static;
    width: 100%;
    justify-content: space-between;
  }
  .inner > .button-inquire::after {
    position: relative;
    top: 11px;
    transform: translateY(-50%);
    right: -30px;
  }
  .box-tab > .tab {
    display: flex !important;
    -moz-column-gap: 20px !important;
         column-gap: 20px !important;
  }
  .box-tab > .tab > .button {
    flex: 1 !important;
    min-height: 70px !important;
    padding: 10px !important;
    font-size: 16px !important;
    border-radius: 20px 20px 0 0 !important;
  }
  .box-tab > .body {
    padding: 30px !important;
    border-radius: 0 0 20px 20px !important;
  }
  .box-tab > .body > .content[data-state=closed] {
    display: none !important;
  }
  .medical-checkup-box-tab > .detail {
    display: flex !important;
    gap: 30px !important;
  }
  .medical-checkup-box-tab > .detail > .image {
    width: 38.6% !important;
    flex: 0 0 38.6% !important;
  }
  .medical-checkup-box-tab > .detail > .image > img {
    width: 100% !important;
    border-radius: 20px !important;
  }
  .medical-checkup-box-tab > .detail > .box-content {
    flex: 1 !important;
  }
  .medical-checkup-box-tab > .detail > .box-content > .text {
    font-size: 14px !important;
    line-height: 1.8 !important;
  }
  .medical-checkup-box-tab > .booking {
    padding: 30px !important;
    border-radius: 20px !important;
    margin-top: 25px !important;
  }
  .medical-checkup-box-tab > .booking > .booking-inner {
    display: flex !important;
    align-items: stretch !important;
  }
  .medical-checkup-box-tab > .booking > .booking-inner > .box-heading {
    display: flex !important;
    align-items: center !important;
    width: 47% !important;
    flex: 0 0 47% !important;
    padding-right: 25px !important;
  }
  .medical-checkup-box-tab > .booking > .booking-inner > .box-heading > div {
    width: 100% !important;
  }
  .medical-checkup-box-tab > .booking > .booking-inner > .box-heading > div > .heading {
    font-size: 18px !important;
    margin-bottom: 20px !important;
  }
  .medical-checkup-box-tab > .booking > .booking-inner > .box-heading > div > .button-cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 20px !important;
    font-size: 14px !important;
    border-radius: 30px !important;
  }
  .medical-checkup-box-tab > .booking > .booking-inner > .box-heading > div > .button-cta > .icon {
    width: 18px !important;
    height: 18px !important;
  }
  .medical-checkup-box-tab > .booking > .booking-inner > .box-heading > div > .button-cta > .icon img {
    width: 100% !important;
    height: auto !important;
  }
  .medical-checkup-box-tab > .booking > .booking-inner > .box-content {
    display: flex !important;
    align-items: center !important;
    flex: 1 !important;
    padding-left: 25px !important;
    border-left: 1px solid #ddd !important;
  }
  .medical-checkup-box-tab > .booking > .booking-inner > .box-content > div {
    width: 100% !important;
  }
  .medical-checkup-box-tab > .booking > .booking-inner > .box-content > div > .text {
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-bottom: 10px !important;
  }
  .medical-checkup-box-tab > .booking > .booking-inner > .box-content > div > .link-text {
    font-size: 14px !important;
  }
  .medical-checkup-section-related {
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .medical-checkup-section-related > .inner {
    padding: 40px 30px !important;
  }
  .medical-checkup-section-related > .inner > .heading-04 {
    font-size: 20px !important;
    margin-bottom: 20px !important;
  }
  .medical-checkup-section-related > .inner > .grid-box-column {
    display: flex !important;
    gap: 30px !important;
  }
  .medical-checkup-section-related > .inner > .grid-box-column[data-column-variant="3"] > div {
    width: calc(33.333% - 20px) !important;
    flex: 0 0 calc(33.333% - 20px) !important;
  }
  .medical-checkup-section-related > .inner > .grid-box-column .button-04 {
    display: block !important;
    width: 100% !important;
    padding: 14px 30px 14px 20px !important;
    font-size: 14px !important;
    border-radius: 30px !important;
    text-align: center !important;
  }
  .box-apply-tests {
    display: block !important;
    padding: 25px !important;
    border-radius: 20px !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .box-apply-tests > .box-detail {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 25px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #ddd !important;
    margin-bottom: 20px !important;
  }
  .box-apply-tests > .box-detail > picture {
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  .box-apply-tests > .box-detail > picture > img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }
  .box-apply-tests > .box-detail > .box-info {
    flex: 1 1 auto !important;
  }
  .box-apply-tests > .box-detail > .box-info > .text {
    font-size: 15px !important;
    line-height: 1.6 !important;
  }
  .box-apply-tests > .box-link {
    display: block !important;
    width: 100% !important;
    max-width: 400px !important;
    margin: 0 auto !important;
  }
  .box-apply-tests > .box-link > .link-box-detail {
    display: block !important;
    width: 100% !important;
    padding: 20px !important;
    border-radius: 20px !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .box-apply-tests > .box-link > .link-box-detail > .title {
    font-size: 16px !important;
    margin-bottom: 12px !important;
  }
  .box-apply-tests > .box-link > .link-box-detail > .text {
    font-size: 13px !important;
    line-height: 1.6 !important;
  }
  .list-box-number {
    counter-reset: list-counter !important;
  }
  .list-box-number > li {
    counter-increment: list-counter !important;
    padding-left: 16% !important;
    position: relative !important;
  }
  .list-box-number > li::before {
    content: counter(list-counter, decimal-leading-zero) "." !important;
    font-family: "EB Garamond", serif !important;
    font-size: 48px !important;
    line-height: 1 !important;
    color: #f2c2cd !important;
    position: absolute !important;
    left: 33px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: block !important;
  }
  .table-scroll-wrapper,
  .table-scroll-wrapper[data-scroll-variant=optional] {
    position: static !important;
    overflow: visible !important;
    overflow-x: visible !important;
    margin-right: 0 !important;
  }
  .table-scroll-wrapper::before,
  .table-scroll-wrapper[data-scroll-variant=optional]::before {
    display: none !important;
    content: none !important;
  }
  .table-scroll-wrapper > .table-01,
  .table-scroll-wrapper > .table-01[data-table-variant=optional] {
    min-width: 0 !important;
    width: 100% !important;
  }
  .image-box-info {
    display: flex !important;
    flex-direction: row !important;
    gap: 24px !important;
    page-break-inside: avoid !important;
  }
  .image-box-info > .box {
    width: 50% !important;
    flex: 1 1 auto !important;
  }
  .image-box-info > .image {
    width: 40% !important;
    max-width: 300px !important;
    flex: 0 0 auto !important;
  }
  .image-box-info > .image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }
  .image-box-info[data-reverse-variant=true] {
    flex-direction: row-reverse !important;
  }
  .image-box-square {
    display: flex !important;
    flex-direction: row !important;
    gap: 24px !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .image-box-square > .box {
    width: 50% !important;
    flex: 1 1 auto !important;
  }
  .image-box-square > .image {
    width: 40% !important;
    max-width: 300px !important;
    flex: 0 0 auto !important;
  }
  .image-box-square > .image img {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    aspect-ratio: 1/1 !important;
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
  .image-box-portrait {
    display: block !important;
    overflow: hidden !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .image-box-portrait > .image {
    float: left !important;
    width: 180px !important;
    flex: none !important;
    overflow: hidden !important;
    margin-right: 30px !important;
    margin-bottom: 16px !important;
  }
  .image-box-portrait > .image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 373/580 !important;
    -o-object-fit: cover !important;
       object-fit: cover !important;
    max-width: 100% !important;
  }
  .image-box-portrait > .box {
    overflow: hidden !important;
    width: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .image-box-portrait > .box * {
    opacity: 1 !important;
    visibility: visible !important;
    color: #000 !important;
  }
  .heading-04 {
    position: static !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: #000 !important;
  }
  .heading-01 {
    display: block !important;
    position: static !important;
    padding-left: 0 !important;
  }
  .heading-01::before {
    position: static !important;
    display: inline-block !important;
    vertical-align: middle !important;
    width: 15px !important;
    height: 15px !important;
    margin-right: 8px !important;
    top: auto !important;
    left: auto !important;
  }
  .heading-01::after {
    position: static !important;
    display: inline-block !important;
    vertical-align: middle !important;
    width: 10px !important;
    height: 1px !important;
    margin-right: 8px !important;
    top: auto !important;
    left: auto !important;
  }
  .section-info,
  .section-info > * {
    opacity: 1 !important;
    visibility: visible !important;
  }
  .section-info > p,
  .section-info > ul > li {
    color: #000 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .table-01 {
    display: table !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    table-layout: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    position: static !important;
    transform: none !important;
    -webkit-text-fill-color: #000 !important;
    --width-pc: 25% !important;
    --width-th-sp: auto !important;
    --width-td-sp: auto !important;
    border: none !important;
  }
  .table-01 thead,
  .table-01 tbody {
    display: table-row-group !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .table-01 thead {
    display: table-header-group !important;
  }
  .table-01 tr {
    display: table-row !important;
    opacity: 1 !important;
    visibility: visible !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
  }
  .table-01 thead > tr > th,
  .table-01 tbody > tr > th,
  .table-01 tbody > tr > td {
    display: table-cell !important;
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding: 15px 20px !important;
    word-break: normal !important;
    white-space: normal !important;
    width: auto !important;
    font-size: 14px !important;
    font-family: "YuGothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif !important;
    background-color: #fff !important;
    overflow: visible !important;
    height: auto !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    border-top: 1px solid #ccc !important;
    border-left: 1px solid #ccc !important;
    border-bottom: none !important;
    border-right: none !important;
  }
  .table-01 thead > tr > th:last-child,
  .table-01 tbody > tr > th:last-child,
  .table-01 tbody > tr > td:last-child {
    border-right: 1px solid #ccc !important;
  }
  .table-01 tbody > tr:last-child > th,
  .table-01 tbody > tr:last-child > td {
    border-bottom: 1px solid #ccc !important;
  }
  .table-01 thead:last-child > tr:last-child > th {
    border-bottom: 1px solid #ccc !important;
  }
  .table-01 thead > tr > th {
    background-color: #f7e1e6 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    font-weight: bold !important;
  }
  .list-dots {
    opacity: 1 !important;
    visibility: visible !important;
  }
  .list-dots > li {
    color: #000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: list-item !important;
    position: static !important;
  }
  .list-dots > li::before {
    position: static !important;
    display: inline-block !important;
    vertical-align: middle !important;
    width: 4px !important;
    height: 4px !important;
    margin-left: -18px !important;
    margin-right: 14px !important;
    top: auto !important;
    left: auto !important;
  }
  .list-anchor {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px 24px !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .list-anchor > li {
    opacity: 1 !important;
    visibility: visible !important;
    display: list-item !important;
  }
  .link-anchor {
    position: static !important;
    color: #000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
  }
  .link-anchor::after {
    position: static !important;
    display: inline-block !important;
    vertical-align: middle !important;
  }
  .button-cta {
    position: static !important;
  }
  .button-cta > .text {
    display: inline !important;
  }
  .button-cta > .icon {
    display: inline-block !important;
  }
  .button-cta::after,
  .button-cta[target=_blank]::after {
    display: inline-block !important;
    position: static !important;
  }
  .grid-button-column-a {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 400px)) !important;
    gap: 16px 24px !important;
  }
  .grid-button-column-a:has(> *:only-child) {
    grid-template-columns: 1fr !important;
  }
  .grid-button-column-b {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
  }
  .grid-button-column-b > * {
    flex: 1 1 0% !important;
    max-width: 50% !important;
    min-width: 0 !important;
  }
  .hero {
    position: relative !important;
    z-index: 1 !important;
    min-height: auto !important;
    height: 400px !important;
    max-height: 400px !important;
    padding: 30px 0 !important;
    page-break-inside: avoid !important;
    -moz-column-break-inside: avoid !important;
         break-inside: avoid !important;
    margin-bottom: 0 !important;
    overflow: hidden !important;
  }
  .hero .inner {
    max-width: 100% !important;
    padding: 0 30px !important;
    height: 100% !important;
  }
  .hero .hero-content {
    position: static !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .hero .hero-content .heading-01 {
    font-size: 28px !important;
    margin-bottom: 8px !important;
  }
  .hero .hero-content .text-primary, .hero .hero-content .box-cms > ul > li, .hero .hero-content .list-note > li, .hero .hero-content .list-note-order > li, .hero .hero-content .list-order > li, .hero .hero-content .list-dots > li, .hero .hero-content .list-check > li {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
  .hero .hero-image {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin-top: 0 !important;
    transform: none !important;
    z-index: -1 !important;
  }
  .hero .hero-image img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    -o-object-fit: cover !important;
       object-fit: cover !important;
    -o-object-position: center !important;
       object-position: center !important;
    border-radius: 0 !important;
  }
  /* fix .clinic-section-about */
  .clinic-section-about {
    display: block !important;
    flex-wrap: wrap !important;
    -moz-columns: auto !important;
         columns: auto !important;
    -moz-column-count: 1 !important;
         column-count: 1 !important;
  }
  .clinic-section-about > * {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
    page-break-inside: avoid;
    display: block !important;
    width: 100% !important;
    float: none !important;
  }
  /* Safari-specific fix inside print media query */
  /* hanging-punctuation:first is supported ONLY by Safari — not Chrome or Edge — */
  /* making this a reliable Safari-only @supports target.                          */
  @supports (hanging-punctuation: first) and (-webkit-appearance: none) {
    .clinic-section-about {
      display: block !important;
      -webkit-column-count: 1 !important;
    }
    .image-box-portrait {
      page-break-inside: auto !important;
      -moz-column-break-inside: auto !important;
           break-inside: auto !important;
    }
  }
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
    width: 100% !important;
    margin: 0 !important;
    border: none !important;
  }
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] thead {
    display: table-header-group !important;
  }
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] tbody {
    display: table-row-group !important;
  }
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] tr {
    page-break-inside: auto !important;
    -moz-column-break-inside: auto !important;
         break-inside: auto !important;
  }
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] thead tr th,
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] tbody tr th,
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] tbody tr td {
    padding: 15px 20px !important;
    word-break: normal !important;
    white-space: normal !important;
    border-top: 1px solid #ccc !important;
    border-left: 1px solid #ccc !important;
    border-bottom: none !important;
    border-right: none !important;
    box-sizing: border-box !important;
    background-clip: padding-box !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
    vertical-align: middle !important;
  }
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] thead tr th:last-child,
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] tbody tr th:last-child,
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] tbody tr td:last-child {
    border-right: 1px solid #ccc !important;
  }
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] tbody tr:last-child th,
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] tbody tr:last-child td {
    border-bottom: 1px solid #ccc !important;
  }
  .table-01[data-column-variant="3"][data-layout-variant=fixed][data-padding-variant=small] thead:last-child tr:last-child th {
    border-bottom: 1px solid #ccc !important;
  }
  .button-01 {
    position: static !important;
    padding-right: 24px !important;
  }
  .button-01::after {
    position: relative !important;
    top: 0 !important;
    right: -15px;
    transform: translate(0%) !important;
  }
  .heading-underline {
    display: flex;
    flex-direction: column-reverse;
    position: static !important;
    align-items: center;
    gap: 20px;
  }
  .heading-underline::before {
    position: static;
  }
  .heading-03 {
    position: static !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 10px !important;
    padding-left: 0 !important;
  }
  .heading-03::before {
    position: static !important;
    flex: 0 0 auto !important;
  }
  [data-js=accordion] .body,
  [data-js=accordion] .faq-answer {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  [data-js=accordion] .body[data-state=closed],
  [data-js=accordion] .faq-answer[data-state=closed] {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  [data-js=accordion] .body[aria-hidden=true],
  [data-js=accordion] .faq-answer[aria-hidden=true] {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  [data-js=read-more] .content {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  [data-js=read-more] .button {
    display: none !important;
  }
  [data-js=tab] .body .content {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  [data-js=tab] .body .content[data-state=closed],
  [data-js=tab] .body .content[hidden] {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  .box-gallery-section {
    overflow: visible !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .box-gallery {
    overflow: visible !important;
  }
  .box-gallery .splide__track {
    overflow: visible !important;
    transform: none !important;
  }
  .box-gallery .splide__list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    transform: none !important;
    transition: none !important;
    width: 100% !important;
    overflow: visible !important;
  }
  .box-gallery .splide__slide--clone {
    display: none !important;
  }
  .box-gallery .splide__slide {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    position: static !important;
  }
  .box-gallery .splide__slide > img {
    width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    display: block !important;
  }
  .box-gallery > .controls {
    display: none !important;
  }
}