@charset "UTF-8";
/*###################################################################
※※※※ 直接編集禁止 ※※※※
このCSSファイルはSassから生成されていますので直接編集しないようご注意ください。
  編集は拡張子「.scss」ファイルを編集して当ファイルにコンパイルしてください。もしくは別途cssファイルを作成して読み込ませてください。
###################################################################*/
/*###################################################################
  variables-css（setting）
###################################################################*/
:root {
  --base: #fff;
  --main: #4b8bd8;
  --main-l: #99cdfa;
  --text: #333;
}

/*###################################################################
  base（共通設定）
###################################################################*/
/*----------------------------------
  html
----------------------------------*/
html {
  scroll-behavior: smooth;
}

[id] {
  scroll-margin-top: 150px;
}
@media (max-width: 768px) {
  [id] {
    scroll-margin-top: 50px;
  }
}

body {
  min-height: 100vh;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  color: var(--text);
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

main {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

img {
  width: 100%;
  height: auto;
}

.red{
	color: red;
}

.mb20{
	margin-bottom: 20px;
}

.mb50{
	margin-bottom: 50px;
}

/*###################################################################
  animation（共通設定）
###################################################################*/
/*----------------------------------
  背景色が伸びて出現
----------------------------------*/
@-webkit-keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes bgLRextendAnime {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.001% {
    -webkit-transform-origin: right;
            transform-origin: right;
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
@keyframes bgLRextendAnime {
  0% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  50% {
    -webkit-transform-origin: left;
            transform-origin: left;
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50.001% {
    -webkit-transform-origin: right;
            transform-origin: right;
  }
  100% {
    -webkit-transform-origin: right;
            transform-origin: right;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
}
/*###################################################################
  header（module）
###################################################################*/
.header-pc {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
  background-color: var(--base);
  -webkit-box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.41);
          box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.41);
}
@media (max-width: 768px) {
  .header-pc {
    display: none;
  }
}
.header-pc__inner {
  max-width: 1054px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}

@media (max-width: 768px) {
  .header-nav {
    display: none;
  }
}
.header-nav__items {
  height: 120px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  padding-top: 49px;
}
.header-nav__item {
  position: relative;
}
.header-nav__item.current::after {
  content: "";
  width: 15px;
  aspect-ratio: 15/23;
  position: absolute;
  bottom: -3px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
  background: url(../images/icon-current.svg) no-repeat 0 0/contain;
}
.header-nav__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  font-size: 20px;
}
.header-nav__link_clinic::after {
  content: "";
  width: 0.975rem;
  aspect-ratio: 15.6/8.51;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  background: url(../images/icon-menu.svg) no-repeat 0 0/contain;
}
.header-nav__link_treatment::after {
  content: "";
  width: 0.975rem;
  aspect-ratio: 15.6/8.51;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  background: url(../images/icon-menu.svg) no-repeat 0 0/contain;
}
.header-nav__sub-items {
  width: 164px;
  position: absolute;
  top: 23px;
  left: 0;
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  padding-top: 10px;
}
.header-nav__sub-link {
  height: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: var(--base);
  padding-left: 8px;
}

@media (hover: hover) and (pointer: fine) {
  .header-nav__link {
    -webkit-transition: color 0.5s;
    transition: color 0.5s;
  }
  .header-nav__link:hover, .header-nav__link:focus {
    color: var(--main);
  }
  .header-nav__link:hover + .header-nav__sub-items, .header-nav__link:focus + .header-nav__sub-items {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
  .header-nav__sub-items:hover, .header-nav__sub-items:focus {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
  .header-nav__sub-link:hover, .header-nav__sub-link:focus {
    color: var(--main);
  }
}
.header-sp {
  position: relative;
  z-index: 10;
  background-color: var(--base);
}
@media (min-width: 769px) {
  .header-sp {
    display: none;
  }
}
.header-sp_sticky {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.header-sp__inner {
  height: 69px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 8px 9px 0 15px;
}
.header-sp__logo {
  max-width: 248px;
}

/*###################################################################
  footer（module）
###################################################################*/
.footer {
  background-color: var(--main);
}
.footer_pos {
  margin-top: clamp(4.625rem, -7.7708333333rem + 41.3194444444vw, 12.0625rem);
}
.footer__top {
  position: relative;
}
.footer__inner {
  max-width: 1268px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 83px 30px 68px;
}
@media (max-width: 768px) {
  .footer__inner {
    padding: 83px clamp(1.25rem, -1.914556962rem + 12.6582278481vw, 1.875rem) 115px;
  }
}
.footer__logo {
  max-width: 414px;
  display: block;
  margin-inline: auto;
}
.footer__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: clamp(3.125rem, -1.875rem + 16.6666666667vw, 6.125rem);
}
@media (max-width: 1350px) {
  .footer__main {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 78px;
  }
}
.footer__group {
  max-width: 629px;
  width: 100%;
}
.footer__group-top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media (max-width: 768px) {
  .footer__group-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 24px;
  }
}
.footer__box {
  max-width: 360px;
  width: 100%;
  color: var(--base);
}
.footer__tel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 11px;
     -moz-column-gap: 11px;
          column-gap: 11px;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: clamp(2.875rem, 1.6091772152rem + 5.0632911392vw, 3.125rem);
}
.footer__tel::before {
  content: "";
  width: 35px;
  aspect-ratio: 1/1;
  background: url(../images/icon-tel-w.svg) no-repeat 0 0/contain;
}
.footer__address {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-size: clamp(1.0625rem, 0.7460443038rem + 1.2658227848vw, 1.125rem);
  line-height: 1.75;
  margin-top: clamp(0.9375rem, -0.625rem + 5.2083333333vw, 1.875rem);
}
.footer__web {
  max-width: 233px;
  width: 100%;
  height: clamp(6.4375rem, 1.75rem + 15.625vw, 9.25rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 15px;
  position: relative;
  background-color: var(--main-l);
}
@media (max-width: 768px) {
  .footer__web {
    max-width: 334px;
  }
}
.footer__web::after {
  content: "";
  width: 24px;
  aspect-ratio: 1/1;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  position: absolute;
  right: 4px;
  bottom: 4px;
  background-color: var(--base);
}
.footer__web-text-top {
  font-size: 1.4375rem;
  letter-spacing: 0.1em;
}
.footer__web-text-bottom {
  font-size: 2.1875rem;
  letter-spacing: 0.1em;
}
.footer__group-bottom {
  max-width: 550px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  color: var(--base);
  font-size: 1.125rem;
  line-height: 1.5;
  margin-top: clamp(1.4375rem, 0.7083333333rem + 2.4305555556vw, 1.875rem);
}
@media (max-width: 768px) {
  .footer__group-bottom {
    max-width: 284px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 3px;
    margin-inline: auto;
  }
}
.footer__car-text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
.footer__car-text::before {
  content: "";
  width: 42px;
  aspect-ratio: 1/1;
  background: url(../images/icon-car-footer.svg) no-repeat 0 0/contain;
}
.footer__train-text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  white-space: pre-line;
}
.footer__train-text::before {
  content: "";
  width: 42px;
  aspect-ratio: 1/1;
  background: url(../images/icon-train-footer.svg) no-repeat 0 0/contain;
}
.footer__info {
  max-width: 594px;
  width: 100%;
}
.footer__table-wrapper {
  background-color: var(--base);
  padding-right: 15px;
  padding-left: 9px;
}
.footer__info-text {
  color: var(--base);
  font-size: clamp(1rem, 0.7916666667rem + 0.6944444444vw, 1.125rem);
  line-height: 1.75;
  white-space: pre-line;
  margin-top: clamp(0.875rem, 0.1458333333rem + 2.4305555556vw, 1.3125rem);
  margin-left: clamp(0rem, -2.9166666667rem + 9.7222222222vw, 1.75rem);
}
.footer__info-note {
  font-size: clamp(1rem, 0.5833333333rem + 1.3888888889vw, 1.25rem);
}
.footer__bnr{
	margin: 50px auto 0;
	display: flex;
	width:100%;
	 justify-content:space-evenly;
}
.footer__bnr_left,.footer__bnr_right{
	width: 40%;
}
@media (max-width: 768px) {
  .footer__bnr {
    width: 100%;
    display: block;
  }
  .footer__bnr_left,.footer__bnr_right{
	width: 100%;
	margin-bottom: 20px;
  }
}
.footer__menu {
  max-width: 858px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 31px;
  margin-top: clamp(4.125rem, -6.6041666667rem + 35.7638888889vw, 10.5625rem);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .footer__menu {
    max-width: clamp(21.625rem, 16rem + 18.75vw, 25rem);
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.footer__gmap {
  width: 100%;
  height: 552px;
}
.footer__copy {
  height: 76px;
  display: grid;
  place-items: center;
  color: var(--base);
}

.footer-table {
  width: 100%;
  background-color: var(--base);
  font-size: clamp(0.8rem, 0.2583333333rem + 1.8055555556vw, 1.125rem);
}
.footer-table__tr-top {
  border-bottom: 1px solid var(--main);
}
.footer-table__th {
  text-align: center;
  letter-spacing: 0.08em;
}
.footer-table__th-text {
  padding-top: 9px;
  padding-bottom: clamp(0.5625rem, -0.2708333333rem + 2.7777777778vw, 1.0625rem);
}
.footer-table__th-top {
  padding-top: 9px;
}
.footer-table__left {
  width: 24.1%;
}
@media (max-width: 460px) {
  .footer-table__left {
    width: 25.5%;
  }
}
.footer-table__am {
  padding-top: clamp(0.75rem, 0.3333333333rem + 1.3888888889vw, 1rem);
  padding-bottom: clamp(0.5625rem, -0.4791666667rem + 3.4722222222vw, 1.1875rem);
}
.footer-table__pm {
  padding-top: 16px;
  padding-bottom: clamp(0.75rem, 0.125rem + 2.0833333333vw, 1.125rem);
}
.footer-table__td {
  color: var(--main);
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.08em;
}
.footer-table__holiday {
  width: 13%;
}
.footer-table__sat {
  background-color: #e0f1ff;
}

.footer-nav__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
}
@media (max-width: 768px) {
  .footer-nav__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 34px;
  }
}
@media (max-width: 768px) {
  .footer-nav__items_2 {
    row-gap: 37px;
  }
}
.footer-nav__link {
  color: var(--base);
  font-size: 1.25rem;
}
.footer-nav__link_2 {
  font-size: 1.125rem;
}

.footer-page-top {
  width: 61px;
  aspect-ratio: 1/1;
  position: absolute;
  right: 20px;
  bottom: 4px;
  z-index: 5;
  background-color: var(--main-l);
  color: var(--base);
  font-size: 1.1875rem;
  font-weight: 900;
  text-align: center;
  border-radius: 50%;
  border: 3px solid var(--base);
  padding-top: 28px;
}
@media (max-width: 768px) {
  .footer-page-top {
    bottom: 20px;
  }
}
.footer-page-top::before {
  content: "";
  width: 15px;
  height: 3px;
  position: absolute;
  top: 15px;
  left: 15px;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
  background-color: var(--base);
}
.footer-page-top::after {
  content: "";
  width: 15px;
  height: 3px;
  position: absolute;
  top: 15px;
  right: 15px;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
  background-color: var(--base);
}

/*###################################################################
  c-and（module）
###################################################################*/
.c-and__inner {
  max-width: 1378px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .c-and__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.c-and__body {
  min-height: 370px;
  background-color: #e7f2ff;
  outline: 1px solid var(--base);
  outline-offset: -22px;
  padding: 50px 37px 52px;
}
.c-and__main {
  max-width: 1280px;
  margin-inline: auto;
}
.c-and__title {
  font-size: clamp(1.75rem, 1.25rem + 2vw, 2.5rem);
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.14em;
  border-bottom: 1px solid var(--text);
  padding-bottom: 20px;
}
.c-and__text {
  max-width: 1246px;
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.14em;
  white-space: pre-line;
  margin-top: 40px;
  margin-inline: auto;
}

/*###################################################################
  c-col（module）
###################################################################*/
.c-col__inner {
  max-width: 1400px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: clamp(4.6875rem, -5.7156385281rem + 21.645021645vw, 7.8125rem);
}
@media (max-width: 600px) {
  .c-col__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.c-col__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media (max-width: 1000px) {
  .c-col__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 30px;
  }
}
.c-col__item-r {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media (max-width: 1000px) {
  .c-col__item-r {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 30px;
  }
}
.c-col__main {
  max-width: 640px;
  width: 100%;
  font-weight: 900;
}
.c-col__main_long {
  max-width: 670px;
}
.c-col__title {
  color: var(--main);
  font-size: clamp(1.375rem, 0.9583333333rem + 1.6666666667vw, 2rem);
  line-height: 1.75;
  letter-spacing: 0.14em;
  white-space: pre-line;
}
.c-col__title_root2 {
  white-space: nowrap;
}
.c-col__text {
  line-height: 2.5;
  letter-spacing: 0.1em;
  white-space: pre-line;
  margin-top: clamp(1.25rem, 0.4166666667rem + 3.3333333333vw, 2.5rem);
}
.c-col__img {
  max-width: 678px;
  width: 100%;
}

/*###################################################################
  c-consult（module）
###################################################################*/
.c-consult__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 600px) {
  .c-consult__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.c-consult__title {
  color: var(--main);
  font-size: clamp(2.25rem, 0.8333333333rem + 5.6666666667vw, 4.375rem);
  text-align: center;
  letter-spacing: 0.1em;
}
.c-consult__body {
  min-height: 340px;
  -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.47);
          box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.47);
  outline: 2px solid var(--main);
  outline-offset: calc(clamp(0.625rem, 0.375rem + 1vw, 1rem) * -1);
  margin-top: calc(clamp(0.25rem, 0.0416666667rem + 0.8333333333vw, 0.5625rem) * -1);
  padding: 37px clamp(1.25rem, 0.5833333333rem + 2.6666666667vw, 2.25rem) 46px;
}
@media (max-width: 900px) {
  .c-consult__body {
    padding-bottom: 60px;
  }
}
.c-consult__subtitle {
  max-width: 1193px;
  min-height: clamp(3.25rem, 2.75rem + 2vw, 4rem);
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
  font-size: clamp(1.3125rem, 0.9375rem + 1.5vw, 1.875rem);
  font-weight: 900;
  letter-spacing: 0.1em;
  margin-inline: auto;
}
.c-consult__main {
  max-width: 854px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 57px;
     -moz-column-gap: 57px;
          column-gap: 57px;
  margin-top: clamp(1.875rem, 1.0416666667rem + 3.3333333333vw, 3.125rem);
  margin-inline: auto;
}
@media (max-width: 900px) {
  .c-consult__main {
    max-width: 500px;
    grid-template-columns: 1fr;
    row-gap: 8px;
  }
}
.c-consult__main_child {
  max-width: 910px;
}
@media (max-width: 900px) {
  .c-consult__main_child {
    max-width: 500px;
  }
}
.c-consult__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 8px;
}
.c-consult__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(0.625rem, 0.4166666667rem + 0.8333333333vw, 0.9375rem);
     -moz-column-gap: clamp(0.625rem, 0.4166666667rem + 0.8333333333vw, 0.9375rem);
          column-gap: clamp(0.625rem, 0.4166666667rem + 0.8333333333vw, 0.9375rem);
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.c-consult__item::before {
  content: "";
  min-width: 32px;
  max-width: 32px;
  aspect-ratio: 26/22;
  background: url(../images/icon-check-main.svg) no-repeat 0 0/contain;
  margin-top: 5px;
}
@media (max-width: 768px) {
  .c-consult__item::before {
    min-width: 26px;
    max-width: 26px;
    margin-top: 6px;
  }
}

/*###################################################################
  c-faq（module）
###################################################################*/
.c-faq__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .c-faq__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.c-faq__title {
  font-size: 40px;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.14em;
}
.c-faq__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 29px;
  margin-top: 59px;
}
.c-faq__details[open=true] .c-faq__icon::after {
  -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
          transform: rotate(0deg);
}
.c-faq__summary {
  display: grid;
  grid-template-columns: clamp(3rem, 1.7916666667rem + 4.8333333333vw, 4.8125rem) 1fr;
  position: relative;
  background-color: #7eb2f0;
  color: var(--base);
  padding-right: 50px;
  cursor: pointer;
}
.c-faq__summary::-webkit-details-marker {
  /* Safari-デフォルトの三角形を削除*/
  display: none;
}
.c-faq__q {
  display: grid;
  place-items: center;
  background-color: var(--main);
  font-size: clamp(1.875rem, 1.4583333333rem + 1.6666666667vw, 2.5rem);
  letter-spacing: 0.14em;
}
.c-faq__question {
  font-size: clamp(1.125rem, 0.875rem + 1vw, 1.5rem);
  line-height: 1.75;
  letter-spacing: 0.14em;
  padding: clamp(0.75rem, 0.4166666667rem + 1.3333333333vw, 1.25rem) 0 clamp(0.75rem, 0.4166666667rem + 1.3333333333vw, 1.25rem) clamp(0.9375rem, 0.3541666667rem + 2.3333333333vw, 1.8125rem);
}
.c-faq__icon {
  width: 17px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: 18px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-faq__icon::before {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #005fd1;
}
.c-faq__icon::after {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%) rotate(90deg);
      -ms-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  -webkit-transition: -webkit-transform 0.4s;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
  background-color: #005fd1;
}
.c-faq__answer {
  background-color: #d2eefc;
  padding: clamp(1.25rem, 0.4166666667rem + 3.3333333333vw, 2.5rem) clamp(0.625rem, 0.4166666667rem + 0.8333333333vw, 0.9375rem) clamp(1.5625rem, 0.4375rem + 4.5vw, 3.25rem);
}
.c-faq__answer-text {
  max-width: 1171px;
  font-size: clamp(1rem, 0.6666666667rem + 1.3333333333vw, 1.5rem);
  line-height: 1.75;
  letter-spacing: 0.14em;
  margin-inline: auto;
}
.c-faq__answer-text_implant3 {
  font-size: clamp(1rem, 0.8641304348rem + 0.5434782609vw, 1.125rem);
  white-space: pre-line;
}

/*###################################################################
  c-dpearl（module）
###################################################################*/
.c-dpearl .c-link-more{
	width: 300px;
    height: 66px;
    display: grid;
    place-items: center;
    position: relative;
    background-color: var(--base);
    color: var(--main);
    font-size: 1.25rem;
    letter-spacing: 0.08em;
    outline: 1px solid var(--main);
    outline-offset: -7px;
}


/*###################################################################
  c-link（module）
###################################################################*/
.c-link-more {
  width: 273px;
  height: 66px;
  display: grid;
  place-items: center;
  position: relative;
  background-color: var(--base);
  color: var(--main);
  font-size: 1.25rem;
  letter-spacing: 0.08em;
  outline: 1px solid var(--main);
  outline-offset: -7px;
}
.c-link-more::after {
  content: "";
  width: 7px;
  aspect-ratio: 7/9;
  position: absolute;
  top: 50%;
  right: 24px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background-color: var(--main);
}

/*###################################################################
  c-risk（module）
###################################################################*/
.c-risk__inner {
  max-width: 1056px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .c-risk__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.c-risk__title {
  font-size: clamp(1.75rem, 0.8333333333rem + 3.6666666667vw, 3.125rem);
  text-align: center;
  letter-spacing: 0.1em;
}
.c-risk__body {
  background-color: #e6e6e6;
  margin-top: 17px;
  padding: 38px clamp(0.875rem, 0.468495935rem + 1.6260162602vw, 1.25rem) 46px;
}
.c-risk__list-items {
  max-width: 860px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 18px;
  margin-inline: auto;
}
.c-risk__list-items_correction4 {
  row-gap: 12px;
}
.c-risk__list-item {
  line-height: 1.75;
  letter-spacing: 0.1em;
  text-indent: -1em;
  padding-left: 1em;
}

.c-risk-2__inner {
  max-width: 1056px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .c-risk-2__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.c-risk-2__title {
  font-size: clamp(1.75rem, 0.8333333333rem + 3.6666666667vw, 3.125rem);
  text-align: center;
  letter-spacing: 0.1em;
}
.c-risk-2__body {
  background-color: #e6e6e6;
  margin-top: 15px;
  padding: 38px clamp(0.875rem, 0.468495935rem + 1.6260162602vw, 1.25rem) 61px;
}
.c-risk-2__blocks {
  max-width: 990px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 56px;
  margin-inline: auto;
}
.c-risk-2__block-title {
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.c-risk-2__list-items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 12px;
  margin-top: 12px;
}
.c-risk-2__list-item {
  line-height: 1.75;
  letter-spacing: 0.1em;
  text-indent: -1em;
  padding-left: 1em;
}

/*###################################################################
  c-type（module）
###################################################################*/
.c-type {
  background-color: #e7f2ff;
}
.c-type__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 55px 30px 69px;
}
@media (max-width: 768px) {
  .c-type__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.c-type__title {
  font-size: clamp(2.125rem, 1.0380434783rem + 4.347826087vw, 3.125rem);
  letter-spacing: 0.14em;
  text-align: center;
}
.c-type__subtitle {
  position: relative;
  font-size: clamp(1.875rem, 1.1956521739rem + 2.7173913043vw, 2.5rem);
  letter-spacing: 0.14em;
  margin-top: clamp(5rem, -2.3369565217rem + 29.347826087vw, 11.75rem);
  padding-bottom: 15px;
}
.c-type__subtitle::after {
  content: "";
  width: 222px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: var(--main);
}
.c-type__items {
  margin-top: clamp(0.9375rem, -0.8288043478rem + 7.0652173913vw, 2.5625rem);
}
.c-type__items_implant2 {
  margin-top: 3px;
}
.c-type__item {
  display: grid;
  grid-template-columns: 1fr clamp(17.5rem, 7.7359894921rem + 20.3152364273vw, 24.75rem);
  gap: 40px clamp(1.25rem, 0.4082749562rem + 1.7513134851vw, 1.875rem);
  padding: 37px 0;
}
@media (max-width: 768px) {
  .c-type__item {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}
.c-type__item:not(:last-of-type) {
  border-bottom: 1px solid var(--text);
}
.c-type__item-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
     -moz-column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
          column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
  font-size: clamp(1.375rem, 1.0416666667rem + 1.3333333333vw, 1.875rem);
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.c-type__item-title::before {
  content: "";
  min-width: clamp(1.5rem, 1.0833333333rem + 1.6666666667vw, 2.125rem);
  aspect-ratio: 1/1;
  background: url(../images/icon-c-type.svg) no-repeat 0 0/contain;
  margin-top: clamp(0.5625rem, 0.5208333333rem + 0.1666666667vw, 0.625rem);
}
.c-type__text {
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.14em;
  margin-top: 14px;
}
.c-type__img {
  max-width: 396px;
  width: 100%;
}

.c-type-bn {
  background-color: #e7f2ff;
}
.c-type-bn__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 65px 30px 115px;
}
@media (max-width: 768px) {
  .c-type-bn__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.c-type-bn__title {
  font-size: clamp(1.75rem, 1.2744565217rem + 1.902173913vw, 2.1875rem);
  letter-spacing: 0.1em;
  text-align: center;
}
.c-type-bn__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: clamp(4.375rem, 2.4048913043rem + 7.8804347826vw, 6.1875rem);
  margin-top: clamp(3.125rem, -2.785326087rem + 23.6413043478vw, 8.5625rem);
}
.c-type-bn__item {
  display: grid;
  grid-template-columns: 1fr clamp(17.5rem, 7.7359894921rem + 20.3152364273vw, 24.75rem);
  gap: 40px clamp(1.25rem, 0.4082749562rem + 1.7513134851vw, 1.875rem);
}
@media (max-width: 768px) {
  .c-type-bn__item {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}
.c-type-bn__item-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
     -moz-column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
          column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
  font-size: clamp(1.375rem, 1.0416666667rem + 1.3333333333vw, 1.875rem);
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.c-type-bn__item-title::before {
  content: "";
  min-width: clamp(1.5rem, 1.0833333333rem + 1.6666666667vw, 2.125rem);
  aspect-ratio: 1/1;
  background: url(../images/icon-c-type.svg) no-repeat 0 0/contain;
  margin-top: clamp(0.5625rem, 0.5208333333rem + 0.1666666667vw, 0.625rem);
}
.c-type-bn__text {
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.14em;
  margin-top: 14px;
}
.c-type-bn__img {
  max-width: 396px;
  width: 100%;
}

.c-type-in {
  background-color: #e7f2ff;
}
.c-type-in__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 46px 30px 53px;
}
@media (max-width: 768px) {
  .c-type-in__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.c-type-in__title {
  font-size: clamp(1.9375rem, 0.6467391304rem + 5.1630434783vw, 3.125rem);
  letter-spacing: 0.14em;
  text-align: center;
}
.c-type-in__items {
  margin-top: clamp(1.25rem, -1.1956521739rem + 9.7826086957vw, 3.5rem);
}
.c-type-in__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 6px;
  padding-top: 46px;
  padding-bottom: 46px;
}
.c-type-in__item:not(:last-of-type) {
  border-bottom: 1px solid var(--text);
}
.c-type-in__item-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
     -moz-column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
          column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
  font-size: clamp(1.375rem, 1.0416666667rem + 1.3333333333vw, 1.875rem);
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.c-type-in__item-title::before {
  content: "";
  min-width: clamp(1.5rem, 1.0833333333rem + 1.6666666667vw, 2.125rem);
  aspect-ratio: 1/1;
  background: url(../images/icon-c-type.svg) no-repeat 0 0/contain;
  margin-top: clamp(0.5625rem, 0.5208333333rem + 0.1666666667vw, 0.625rem);
}
.c-type-in__text {
  max-width: 1250px;
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.14em;
  margin-top: 14px;
}

.c-type-wbg__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .c-type-wbg__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.c-type-wbg__items {
  margin-top: clamp(0.9375rem, -0.8288043478rem + 7.0652173913vw, 2.5625rem);
}
.c-type-wbg__item {
  display: grid;
  grid-template-columns: 1fr clamp(17.5rem, 7.7359894921rem + 20.3152364273vw, 24.75rem);
  gap: 40px clamp(1.25rem, 0.4082749562rem + 1.7513134851vw, 1.875rem);
  padding: 37px 0;
}
@media (max-width: 768px) {
  .c-type-wbg__item {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}
.c-type-wbg__item:not(:last-of-type) {
  border-bottom: 1px solid var(--text);
}
.c-type-wbg__item-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
     -moz-column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
          column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
  font-size: clamp(1.375rem, 1.0416666667rem + 1.3333333333vw, 1.875rem);
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.c-type-wbg__item-title::before {
  content: "";
  min-width: clamp(1.5rem, 1.0833333333rem + 1.6666666667vw, 2.125rem);
  aspect-ratio: 1/1;
  background: url(../images/icon-c-type.svg) no-repeat 0 0/contain;
  margin-top: clamp(0.5625rem, 0.5208333333rem + 0.1666666667vw, 0.625rem);
}
.c-type-wbg__text {
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.14em;
  margin-top: 14px;
}
.c-type-wbg__img {
  max-width: 396px;
  width: 100%;
}

.c-type-wbg-2__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .c-type-wbg-2__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.c-type-wbg-2__title {
  font-size: clamp(1.75rem, 1.2744565217rem + 1.902173913vw, 2.1875rem);
  line-height: 1.75;
  letter-spacing: 0.1em;
  text-align: center;
}
.c-type-wbg-2__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: clamp(4.375rem, 2.3369565217rem + 8.152173913vw, 6.25rem);
  margin-top: clamp(3.125rem, -3.0570652174rem + 24.7282608696vw, 8.8125rem);
}
.c-type-wbg-2__item {
  display: grid;
  grid-template-columns: 1fr clamp(17.5rem, 7.7359894921rem + 20.3152364273vw, 24.75rem);
  gap: 40px clamp(1.25rem, 0.4082749562rem + 1.7513134851vw, 1.875rem);
}
@media (max-width: 768px) {
  .c-type-wbg-2__item {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}
.c-type-wbg-2__item-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
     -moz-column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
          column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
  font-size: clamp(1.375rem, 1.0416666667rem + 1.3333333333vw, 1.875rem);
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.c-type-wbg-2__item-title::before {
  content: "";
  min-width: clamp(1.5rem, 1.0833333333rem + 1.6666666667vw, 2.125rem);
  aspect-ratio: 1/1;
  background: url(../images/icon-c-type.svg) no-repeat 0 0/contain;
  margin-top: clamp(0.5625rem, 0.5208333333rem + 0.1666666667vw, 0.625rem);
}
.c-type-wbg-2__text {
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.14em;
  white-space: pre-line;
  margin-top: 14px;
}
.c-type-wbg-2__img {
  max-width: 396px;
  width: 100%;
}

/*###################################################################
  br（module）
###################################################################*/
.br-mv-tel {
  display: none;
}
@media (max-width: 1500px) {
  .br-mv-tel {
    display: block;
  }
}
@media (max-width: 768px) {
  .br-mv-tel {
    display: none;
  }
}
.br-1400-b {
  display: none;
}
@media (max-width: 1400px) {
  .br-1400-b {
    display: block;
  }
}
.br-1000-b {
  display: none;
}
@media (max-width: 1000px) {
  .br-1000-b {
    display: block;
  }
}
.br-900-b {
  display: none;
}
@media (max-width: 900px) {
  .br-900-b {
    display: block;
  }
}
.br-800-b {
  display: none;
}
@media (max-width: 800px) {
  .br-800-b {
    display: block;
  }
}
.br-700-b {
  display: none;
}
@media (max-width: 700px) {
  .br-700-b {
    display: block;
  }
}
.br-sp-b {
  display: none;
}
@media (max-width: 768px) {
  .br-sp-b {
    display: block;
  }
}
.br-600-b {
  display: none;
}
@media (max-width: 600px) {
  .br-600-b {
    display: block;
  }
}
.br-500-b {
  display: none;
}
@media (max-width: 500px) {
  .br-500-b {
    display: block;
  }
}
@media (max-width: 1000px) {
  .br-1000-n {
    display: none;
  }
}

/*###################################################################
  lower（module）
###################################################################*/
.lower-mv {
  display: grid;
  grid-template-columns: 24.1666666667% 1fr;
  position: relative;
  overflow: hidden;
  padding-top: 26px;
}
@media (min-width: 1921px) {
  .lower-mv {
    grid-template-columns: 464px 1fr;
  }
}
@media (max-width: 768px) {
  .lower-mv {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-top: 0;
  }
}
.lower-mv__title {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  top: calc(50% + clamp(-0.5rem, -4.4230769231rem + 13.0769230769vw, 3.75rem));
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: clamp(1.9375rem, 0.2644230769rem + 5.5769230769vw, 3.75rem);
  letter-spacing: 0.1em;
  -webkit-text-stroke: clamp(0.3125rem, 0.0240384615rem + 0.9615384615vw, 0.625rem) var(--base);
  paint-order: stroke;
}
.lower-mv__info {
  position: relative;
  padding: 5px 7px 0 clamp(0.875rem, 0.4088263822rem + 0.9699321048vw, 1.5rem);
}
@media (max-width: 768px) {
  .lower-mv__info {
    display: none;
  }
}
.lower-mv__info-inner {
  max-width: 414px;
  margin-inline: auto;
}
.lower-mv__tel {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(0.3125rem, 0.0327958293rem + 0.5819592629vw, 0.6875rem);
     -moz-column-gap: clamp(0.3125rem, 0.0327958293rem + 0.5819592629vw, 0.6875rem);
          column-gap: clamp(0.3125rem, 0.0327958293rem + 0.5819592629vw, 0.6875rem);
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: clamp(1.25rem, -0.1485208535rem + 2.9097963143vw, 3.125rem);
  margin-top: clamp(1.125rem, -0.3667555771rem + 3.1037827352vw, 3.125rem);
}
.lower-mv__tel::before {
  content: "";
  width: clamp(1.125rem, 0.3325048497rem + 1.6488845781vw, 2.1875rem);
  aspect-ratio: 1/1;
  background: url(../images/icon-tel-b.svg) no-repeat 0 0/contain;
}
@media (max-width: 768px) {
  .lower-mv__tel::before {
    width: 35px;
  }
}
.lower-mv__address {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: clamp(0.6875rem, 0.3611784675rem + 0.6789524733vw, 1.125rem);
  line-height: 1.75;
  margin-top: 15px;
}
.lower-mv__address-bottom {
  text-align: right;
}
.lower-mv__img {
  min-height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 768px) {
  .lower-mv__img {
    min-height: 259px;
  }
}
.lower-mv__reservation {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

.top-reservation {
  max-width: clamp(21.875rem, 10.7334505335rem + 23.1813773036vw, 36.8125rem);
  width: 100%;
  height: clamp(4.875rem, 1.6117846751rem + 6.7895247333vw, 9.25rem);
  display: grid;
  grid-template-columns: clamp(13.75rem, 7.3634214355rem + 13.2880698351vw, 22.3125rem) clamp(8.4375rem, 3.9156159069rem + 9.4083414161vw, 14.5rem);
}
@media (max-width: 768px) {
  .top-reservation {
    display: none;
  }
}
.top-reservation__tel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: clamp(0.3125rem, -0.0604388943rem + 0.7759456838vw, 0.8125rem);
  background: url(../images/header-tel-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/header-tel-bg.webp) 1x, url(../images/header-tel-bg@2x.webp) 2x);
  background-image: image-set(url(../images/header-tel-bg.webp) 1x, url(../images/header-tel-bg@2x.webp) 2x);
}
.top-reservation__tel-text {
  font-size: clamp(1rem, 0.6736784675rem + 0.6789524733vw, 1.4375rem);
  letter-spacing: 0.1em;
}
.top-reservation__tel-number {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-column-gap: clamp(0.375rem, 0.1885305529rem + 0.3879728419vw, 0.625rem);
     -moz-column-gap: clamp(0.375rem, 0.1885305529rem + 0.3879728419vw, 0.625rem);
          column-gap: clamp(0.375rem, 0.1885305529rem + 0.3879728419vw, 0.625rem);
  font-size: clamp(1.375rem, 0.7689742968rem + 1.2609117362vw, 2.1875rem);
  letter-spacing: 0.1em;
}
.top-reservation__tel-number::before {
  content: "";
  width: clamp(1.0625rem, 0.7827958293rem + 0.5819592629vw, 1.4375rem);
  aspect-ratio: 1/1;
  background: url(../images/icon-tel-b.svg) no-repeat 0 0/contain;
}
.top-reservation__web {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: clamp(0.3125rem, -0.0604388943rem + 0.7759456838vw, 0.8125rem);
  position: relative;
  background-color: var(--main);
  color: var(--base);
}
.top-reservation__web::after {
  content: "";
  width: clamp(0.875rem, 0.4088263822rem + 0.9699321048vw, 1.5rem);
  aspect-ratio: 1/1;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  position: absolute;
  right: 4px;
  bottom: 4px;
  background-color: var(--base);
}
.top-reservation__web-text-top {
  font-size: clamp(1rem, 0.6736784675rem + 0.6789524733vw, 1.4375rem);
  letter-spacing: 0.1em;
}
.top-reservation__web-text-bottom {
  font-size: clamp(1.375rem, 0.7689742968rem + 1.2609117362vw, 2.1875rem);
  letter-spacing: 0.1em;
}

/*###################################################################
  hamburger（module）
###################################################################*/
.hamburger {
  width: 40px;
  height: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  position: relative;
  z-index: 30;
  background-color: var(--main);
  padding-bottom: 8px;
}
@media (min-width: 769px) {
  .hamburger {
    display: none;
  }
}
.hamburger[aria-expanded=true] .hamburger__line {
  background-color: transparent;
}
.hamburger[aria-expanded=true] .hamburger__line::before {
  -webkit-transform: translateY(-6px) rotate(150deg);
      -ms-transform: translateY(-6px) rotate(150deg);
          transform: translateY(-6px) rotate(150deg);
}
.hamburger[aria-expanded=true] .hamburger__line::after {
  -webkit-transform: translateY(4px) rotate(-150deg);
      -ms-transform: translateY(4px) rotate(-150deg);
          transform: translateY(4px) rotate(-150deg);
}
.hamburger__line {
  width: 16px;
  height: 1px;
  display: inline-block;
  position: absolute;
  top: calc(50% - 7px);
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
  background-color: var(--base);
}
.hamburger__line::before {
  content: "";
  width: 100%;
  height: 1px;
  display: inline-block;
  position: absolute;
  top: 5px;
  left: 0;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  background-color: var(--base);
}
.hamburger__line::after {
  content: "";
  width: 100%;
  height: 1px;
  display: inline-block;
  position: absolute;
  bottom: 5px;
  left: 0;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  background-color: var(--base);
}
.hamburger__menu {
  color: var(--base);
  font-size: 0.5625rem;
  font-weight: bold;
}

@media (hover: hover) and (pointer: fine) {
  .hamburger {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .hamburger:hover, .hamburger:focus {
    opacity: 0.7;
  }
}
/*###################################################################
  drawer（module）
###################################################################*/
.drawer {
  width: 350px;
  height: 100vh;
  -webkit-transform: translateX(350px);
      -ms-transform: translateX(350px);
          transform: translateX(350px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  background-color: var(--base);
  z-index: 15;
  overflow: auto;
  overscroll-behavior-y: contain;
  visibility: hidden;
}
.drawer[aria-hidden=false] {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  visibility: visible;
}
.drawer_position {
  position: fixed;
  top: 0;
  right: 0;
}
.drawer__inner {
  padding-bottom: 100px;
}
.drawer__top {
  width: 100%;
  height: 69px;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: var(--base);
  z-index: 1;
}
.drawer__item {
  border-bottom: 1px solid var(--text);
}
.drawer__item:first-of-type {
  border-top: 1px solid var(--text);
}
.drawer__link {
  height: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  letter-spacing: 0.06em;
  padding-right: 20px;
  padding-left: 20px;
}
.drawer__details[open=true] .drawer__summary::after {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}
.drawer__summary {
  height: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  letter-spacing: 0.06em;
  padding-right: 20px;
  padding-left: 20px;
  cursor: pointer;
}
.drawer__summary::after {
  content: "";
  width: 0.975rem;
  aspect-ratio: 15.6/8.51;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  background: url(../images/icon-menu.svg) no-repeat 0 0/contain;
}
.drawer__summary::-webkit-details-marker {
  /* Safari-デフォルトの三角形を削除*/
  display: none;
}
.drawer__sub-items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow: hidden;
}
.drawer__sub-link {
  height: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  letter-spacing: 0.06em;
  padding-left: 40px;
}

.is-drawer-active {
  overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
  .drawer__link {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .drawer__link:hover, .drawer__link:focus {
    background-color: var(--main-l);
  }
  .drawer__summary {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .drawer__summary:hover {
    background-color: var(--main-l);
  }
  .drawer__sub-link {
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
  }
  .drawer__sub-link:hover, .drawer__sub-link:focus {
    background-color: var(--main-l);
  }
}
.drawer-bg {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  background-color: #000;
  visibility: hidden;
  opacity: 0;
  z-index: 5;
}

.is-drawer-active {
  height: 100%;
  overflow: hidden;
}
.is-drawer-active .drawer-bg {
  visibility: visible;
  opacity: 0.8;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/*###################################################################
  hover（module）
###################################################################*/
@media (hover: hover) and (pointer: fine) {
  .op {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op:hover, .op:focus {
    opacity: 0.7;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-fn {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-fn:hover {
    opacity: 0.7;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-im {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-im:hover, .op-im:focus {
    opacity: 0.7 !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  .op-fnim {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .op-fnim:hover {
    opacity: 0.7 !important;
  }
}
/*###################################################################
  WordPressテスト環境用設定
###################################################################*/
/*###################################################################
  top（page）
###################################################################*/
.top-mv {
  display: grid;
  grid-template-columns: 24.1666666667% 1fr;
  position: relative;
  overflow: hidden;
  padding-top: 26px;
}
@media (min-width: 1921px) {
  .top-mv {
    grid-template-columns: 464px 1fr;
  }
}
@media (max-width: 768px) {
  .top-mv {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-top: 0;
  }
}
.top-mv__info {
  position: relative;
  padding: 5px 7px 0 clamp(0.875rem, 0.4088263822rem + 0.9699321048vw, 1.5rem);
}
@media (max-width: 768px) {
  .top-mv__info {
    padding: 0;
  }
}
.top-mv__info-inner {
  max-width: 414px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-mv__info-inner {
    max-width: 361px;
  }
}
@media (max-width: 768px) {
  .top-mv__logo {
    display: none;
  }
}
.top-mv__tel {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(0.3125rem, 0.0327958293rem + 0.5819592629vw, 0.6875rem);
     -moz-column-gap: clamp(0.3125rem, 0.0327958293rem + 0.5819592629vw, 0.6875rem);
          column-gap: clamp(0.3125rem, 0.0327958293rem + 0.5819592629vw, 0.6875rem);
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: clamp(1.25rem, -0.1485208535rem + 2.9097963143vw, 3.125rem);
  margin-top: clamp(1.125rem, -0.3667555771rem + 3.1037827352vw, 3.125rem);
}
@media (max-width: 768px) {
  .top-mv__tel {
    font-size: 3.125rem;
    -webkit-column-gap: 11px;
       -moz-column-gap: 11px;
            column-gap: 11px;
    margin-top: clamp(0.3125rem, -1.0416666667rem + 4.5138888889vw, 1.125rem);
  }
}
.top-mv__tel::before {
  content: "";
  width: clamp(1.125rem, 0.3325048497rem + 1.6488845781vw, 2.1875rem);
  aspect-ratio: 1/1;
  background: url(../images/icon-tel-b.svg) no-repeat 0 0/contain;
}
@media (max-width: 768px) {
  .top-mv__tel::before {
    width: 35px;
  }
}
.top-mv__address {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: clamp(0.6875rem, 0.3611784675rem + 0.6789524733vw, 1.125rem);
  line-height: 1.75;
  margin-top: 15px;
}
@media (max-width: 768px) {
  .top-mv__address {
    font-size: 1.125rem;
    margin-top: clamp(0.125rem, -1.2291666667rem + 4.5138888889vw, 0.9375rem);
  }
}
.top-mv__address-bottom {
  text-align: right;
}
.top-mv__catch-pc {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: absolute;
  bottom: clamp(7.5rem, 7.1736784675rem + 0.6789524733vw, 7.9375rem);
  left: 50px;
  z-index: 3;
  font-size: clamp(1.625rem, 0.154140414rem + 3.0603060306vw, 3.75rem);
  line-height: 1.75;
  letter-spacing: 0.1em;
  white-space: pre-line;
  -webkit-text-stroke: clamp(0.3125rem, 0.0961971197rem + 0.4500450045vw, 0.625rem) var(--base);
  paint-order: stroke;
}
@media (max-width: 768px) {
  .top-mv__catch-pc {
    display: none;
  }
}
.top-mv__main {
  overflow: hidden;
  position: relative;
}
@media (max-width: 768px) {
  .top-mv__main {
    padding-left: 6.25%;
  }
}
@media (max-width: 479px) {
  .top-mv__main {
    padding-left: clamp(0.9375rem, -3.809335443rem + 18.9873417722vw, 1.875rem);
  }
}
.top-mv__catch-sp {
  display: none;
}
@media (max-width: 768px) {
  .top-mv__catch-sp {
    display: block;
    position: absolute;
    top: calc(50% - 84px);
    bottom: inherit;
    left: clamp(2.25rem, -4.0791139241rem + 25.3164556962vw, 3.5rem);
    z-index: 3;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    font-size: clamp(1.625rem, 0.042721519rem + 6.3291139241vw, 1.9375rem);
    line-height: 1.75;
    letter-spacing: 0.1em;
    white-space: pre-line;
    -webkit-text-stroke: 5px var(--base);
    paint-order: stroke;
  }
}
.top-mv__img {
  min-height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-mv__balloon {
  max-width: clamp(34.0625rem, 12.7117483026rem + 44.4228903977vw, 62.6875rem);
  width: 100%;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  -webkit-column-gap: clamp(0.3125rem, -0.0604388943rem + 0.7759456838vw, 0.8125rem);
     -moz-column-gap: clamp(0.3125rem, -0.0604388943rem + 0.7759456838vw, 0.8125rem);
          column-gap: clamp(0.3125rem, -0.0604388943rem + 0.7759456838vw, 0.8125rem);
  position: absolute;
  right: clamp(0.625rem, -0.3073472357rem + 1.9398642095vw, 1.875rem);
  bottom: 13px;
  z-index: 1;
}
@media (max-width: 768px) {
  .top-mv__balloon {
    max-width: clamp(26.1875rem, 13.0625rem + 43.75vw, 34.0625rem);
    -webkit-column-gap: clamp(0.0625rem, -1.2033227848rem + 5.0632911392vw, 0.3125rem);
       -moz-column-gap: clamp(0.0625rem, -1.2033227848rem + 5.0632911392vw, 0.3125rem);
            column-gap: clamp(0.0625rem, -1.2033227848rem + 5.0632911392vw, 0.3125rem);
    right: inherit;
    bottom: 32px;
    left: calc(50% + 7px);
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media (max-width: 479px) {
  .top-mv__balloon {
    max-width: clamp(23.75rem, 11.4082278481rem + 49.3670886076vw, 26.1875rem);
  }
}
.top-mv__balloon-item {
  max-width: 190px;
  width: 100%;
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  background-color: var(--base);
  font-size: clamp(0.875rem, 0.2689742968rem + 1.2609117362vw, 1.6875rem);
  line-height: 1.5555555556;
  text-align: center;
  border-radius: 50%;
}
@media (max-width: 768px) {
  .top-mv__balloon-item {
    font-size: clamp(0.6875rem, 0.375rem + 1.0416666667vw, 0.875rem);
  }
}
@media (max-width: 479px) {
  .top-mv__balloon-item {
    font-size: clamp(0.625rem, 0.3085443038rem + 1.2658227848vw, 0.6875rem);
  }
}
.top-mv__balloon-item:nth-of-type(odd) {
  border: clamp(0.1875rem, 0.0942652764rem + 0.193986421vw, 0.3125rem) solid var(--main);
  outline: 1px solid var(--main);
  outline-offset: calc(clamp(0.4375rem, 0.2976479146rem + 0.2909796314vw, 0.625rem) * -1);
}
@media (max-width: 768px) {
  .top-mv__balloon-item:nth-of-type(odd) {
    border: clamp(0.125rem, 0.0208333333rem + 0.3472222222vw, 0.1875rem) solid var(--main);
    outline-offset: calc(clamp(0.3125rem, 0.1041666667rem + 0.6944444444vw, 0.4375rem) * -1);
  }
}
.top-mv__balloon-item:nth-of-type(even) {
  border: clamp(0.1875rem, 0.0942652764rem + 0.193986421vw, 0.3125rem) solid var(--main-l);
  outline: 1px solid var(--main-l);
  outline-offset: calc(clamp(0.4375rem, 0.2976479146rem + 0.2909796314vw, 0.625rem) * -1);
}
@media (max-width: 768px) {
  .top-mv__balloon-item:nth-of-type(even) {
    border: clamp(0.125rem, 0.0208333333rem + 0.3472222222vw, 0.1875rem) solid var(--main-l);
    outline-offset: calc(clamp(0.3125rem, 0.1041666667rem + 0.6944444444vw, 0.4375rem) * -1);
  }
}
.top-mv__reservation {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

.top-reservation {
  max-width: clamp(21.875rem, 10.7334505335rem + 23.1813773036vw, 36.8125rem);
  width: 100%;
  height: clamp(4.875rem, 1.6117846751rem + 6.7895247333vw, 9.25rem);
  display: grid;
  grid-template-columns: clamp(13.75rem, 7.3634214355rem + 13.2880698351vw, 22.3125rem) clamp(8.4375rem, 3.9156159069rem + 9.4083414161vw, 14.5rem);
}
@media (max-width: 768px) {
  .top-reservation {
    display: none;
  }
}
.top-reservation__tel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: clamp(0.3125rem, -0.0604388943rem + 0.7759456838vw, 0.8125rem);
  background: url(../images/header-tel-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/header-tel-bg.webp) 1x, url(../images/header-tel-bg@2x.webp) 2x);
  background-image: image-set(url(../images/header-tel-bg.webp) 1x, url(../images/header-tel-bg@2x.webp) 2x);
}
.top-reservation__tel-text {
  font-size: clamp(1rem, 0.6736784675rem + 0.6789524733vw, 1.4375rem);
  letter-spacing: 0.1em;
}
.top-reservation__tel-number {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-column-gap: clamp(0.375rem, 0.1885305529rem + 0.3879728419vw, 0.625rem);
     -moz-column-gap: clamp(0.375rem, 0.1885305529rem + 0.3879728419vw, 0.625rem);
          column-gap: clamp(0.375rem, 0.1885305529rem + 0.3879728419vw, 0.625rem);
  font-size: clamp(1.375rem, 0.7689742968rem + 1.2609117362vw, 2.1875rem);
  letter-spacing: 0.1em;
}
.top-reservation__tel-number::before {
  content: "";
  width: clamp(1.0625rem, 0.7827958293rem + 0.5819592629vw, 1.4375rem);
  aspect-ratio: 1/1;
  background: url(../images/icon-tel-b.svg) no-repeat 0 0/contain;
}
.top-reservation__web {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: clamp(0.3125rem, -0.0604388943rem + 0.7759456838vw, 0.8125rem);
  position: relative;
  background-color: var(--main);
  color: var(--base);
}
.top-reservation__web::after {
  content: "";
  width: clamp(0.875rem, 0.4088263822rem + 0.9699321048vw, 1.5rem);
  aspect-ratio: 1/1;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  position: absolute;
  right: 4px;
  bottom: 4px;
  background-color: var(--base);
}
.top-reservation__web-text-top {
  font-size: clamp(1rem, 0.6736784675rem + 0.6789524733vw, 1.4375rem);
  letter-spacing: 0.1em;
}
.top-reservation__web-text-bottom {
  font-size: clamp(1.375rem, 0.7689742968rem + 1.2609117362vw, 2.1875rem);
  letter-spacing: 0.1em;
}

.top-news_pos {
  margin-top: clamp(1.1875rem, -4.125rem + 17.7083333333vw, 4.375rem);
}
.top-news__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.top-news__body {
  min-height: 391px;
  display: grid;
  grid-template-columns: clamp(9.375rem, -7.3520881671rem + 34.8027842227vw, 18.75rem) 1fr;
  background-color: var(--main-l);
  padding: 37px clamp(0.625rem, -0.4901392111rem + 2.3201856148vw, 1.25rem) 40px;
}
@media (max-width: 768px) {
  .top-news__body {
    grid-template-columns: 1fr;
    row-gap: 34px;
    padding: 68px 10px 38px;
  }
}
.top-news__title-area {
  display: grid;
  place-items: center;
  border-right: 2px solid var(--base);
}
@media (max-width: 768px) {
  .top-news__title-area {
    width: 314px;
    border-right: none;
    border-bottom: 2px solid var(--base);
    margin-inline: auto;
    padding-bottom: 43px;
  }
}
.top-news__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 20px;
  color: var(--base);
}
.top-news__jp {
  font-size: 1.5rem;
}
.top-news__en {
  font-size: 2.5rem;
  letter-spacing: 0.08em;
}
.top-news__en::first-letter {
  color: var(--main);
}
.top-news__main {
  display: grid;
  place-items: center;
  padding: 0 20px;
}
@media (max-width: 768px) {
  .top-news__main {
    padding: 0 35px;
  }
}
.top-news__items {
  max-width: 773px;
  width: 100%;
}
.top-news__post:not(:last-of-type) {
  border-bottom: 2px dashed var(--base);
}
.top-news__post-link {
  display: grid;
  grid-template-columns: clamp(7.1875rem, 2.0578596288rem + 10.6728538283vw, 10.0625rem) 1fr;
  line-height: 1.75;
  padding: 15px 0;
}
@media (max-width: 768px) {
  .top-news__post-link {
    grid-template-columns: 1fr;
    padding: 0.78125rem 0;
  }
}
.top-news__time {
  letter-spacing: 0.08em;
}
.top-news__post-title {
  letter-spacing: 0.08em;
}
.top-news__link-button {
  margin-top: 30px;
  margin-inline: auto;
}
.top-news__no-post {
  font-size: 1.25rem;
}

.top-overview {
  background: url(../images/top-overview-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-overview-bg.webp) 1x, url(../images/top-overview-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-overview-bg.webp) 1x, url(../images/top-overview-bg@2x.webp) 2x);
}
.top-overview_pos {
  margin-top: 64px;
}
.top-overview__inner {
  max-width: 1234px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 144px 30px 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 59px;
     -moz-column-gap: 59px;
          column-gap: 59px;
}
@media (max-width: 1280px) {
  .top-overview__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 72px;
  }
}
@media (max-width: 768px) {
  .top-overview__inner {
    padding: clamp(4.875rem, -2rem + 22.9166666667vw, 9rem) clamp(1.25rem, 0.2083333333rem + 3.4722222222vw, 1.875rem) 100px;
  }
}
.top-overview__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: clamp(2.5rem, -0.664556962rem + 12.6582278481vw, 3.125rem);
  letter-spacing: 0.08em;
  margin-inline: auto;
}
.top-overview__title::after {
  content: "";
  width: 95%;
  height: 1px;
  position: absolute;
  bottom: -18px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: var(--text);
}

.top-info {
  max-width: 594px;
  width: 100%;
}
.top-info__table-wrapper {
  background-color: var(--base);
  margin-top: clamp(4.4375rem, -0.25rem + 15.625vw, 7.25rem);
  padding-right: 15px;
  padding-left: 9px;
}
.top-info__text {
  font-size: clamp(1rem, 0.7916666667rem + 0.6944444444vw, 1.125rem);
  line-height: 1.75;
  white-space: pre-line;
  margin-top: clamp(0.375rem, -0.9791666667rem + 4.5138888889vw, 1.1875rem);
  margin-left: clamp(0.9375rem, 0.2083333333rem + 2.4305555556vw, 1.375rem);
}
.top-info__blue {
  color: var(--main);
  font-size: 1.25rem;
  font-weight: 900;
}

.top-table {
  width: 100%;
  background-color: var(--base);
  font-size: clamp(0.82875rem, 0.335rem + 1.6458333333vw, 1.125rem);
}
.top-table__tr-top {
  border-bottom: 1px solid var(--main);
}
.top-table__th {
  text-align: center;
  letter-spacing: 0.08em;
}
.top-table__th-text {
  padding-top: clamp(0.375rem, 0.0625rem + 1.0416666667vw, 0.5625rem);
  padding-bottom: clamp(0.75rem, 0.2291666667rem + 1.7361111111vw, 1.0625rem);
}
.top-table__th-top {
  padding-top: clamp(0.375rem, 0.0625rem + 1.0416666667vw, 0.5625rem);
}
.top-table__left {
  width: 24.1%;
}
@media (max-width: 470px) {
  .top-table__left {
    width: 26.1%;
  }
}
.top-table__am {
  padding-top: clamp(0.6875rem, 0.1666666667rem + 1.7361111111vw, 1rem);
  padding-bottom: clamp(0.6875rem, -0.1458333333rem + 2.7777777778vw, 1.1875rem);
}
.top-table__pm {
  padding-top: 16px;
  padding-bottom: clamp(0.875rem, 0.4583333333rem + 1.3888888889vw, 1.125rem);
}
.top-table__td {
  color: var(--main);
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.08em;
}
.top-table__holiday {
  width: 13%;
}
.top-table__sat {
  background-color: #e0f1ff;
}

.top-access {
  max-width: 563px;
  width: 100%;
}
.top-access__address {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.125rem;
  line-height: 1.75;
  margin-top: clamp(3.625rem, -2rem + 18.75vw, 7rem);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-access__address {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.top-access__bottom {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  margin-top: clamp(1.375rem, 0.5416666667rem + 2.7777777778vw, 1.875rem);
}
.top-access__card {
  max-width: 267px;
  width: 100%;
  height: clamp(9.25rem, 3.9375rem + 17.7083333333vw, 12.4375rem);
  display: grid;
  place-items: center;
  background-color: var(--base);
  outline: 1px solid var(--main);
  outline-offset: calc(clamp(0.4375rem, 0.0208333333rem + 1.3888888889vw, 0.6875rem) * -1);
}
.top-access__card-main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.top-access__card-main_car {
  row-gap: 13px;
}
.top-access__card-main_train {
  row-gap: 1px;
}
.top-access__card-img {
  max-width: clamp(3.6325rem, 1.5616666667rem + 6.9027777778vw, 4.875rem);
}
.top-access__car-text {
  font-size: clamp(0.9375rem, 0rem + 3.125vw, 1.5rem);
  line-height: 1.75;
}
.top-access__train-text {
  font-size: clamp(0.9375rem, 0.4166666667rem + 1.7361111111vw, 1.25rem);
  line-height: 1.75;
  text-align: center;
  white-space: pre-line;
}
@media (max-width: 479px) {
  .top-access__train-text {
    font-size: clamp(0.8125rem, 0.1795886076rem + 2.5316455696vw, 0.9375rem);
  }
}

.top-concept__img {
  height: 872px;
  position: relative;
  background: url(../images/top-concept-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-concept-bg.webp) 1x, url(../images/top-concept-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-concept-bg.webp) 1x, url(../images/top-concept-bg@2x.webp) 2x);
  background-attachment: fixed;
}
@media (max-width: 768px) {
  .top-concept__img {
    height: inherit;
    aspect-ratio: 480/331;
    background: url(../images/top-concept-bg_sp.webp) no-repeat 0 0/contain;
    background-image: -webkit-image-set(url(../images/top-concept-bg_sp.webp) 1x, url(../images/top-concept-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-concept-bg_sp.webp) 1x, url(../images/top-concept-bg_sp@2x.webp) 2x);
    background-attachment: inherit;
  }
}
.top-concept__img::after {
  content: "";
  max-width: clamp(42.375rem, 9.0792563601rem + 69.2759295499vw, 64.5rem);
  width: 100%;
  height: clamp(1.0625rem, -15.5819610778rem + 44.3113772455vw, 5.6875rem);
  position: absolute;
  bottom: -1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: var(--base);
}
@media (max-width: 768px) {
  .top-concept__img::after {
    max-width: clamp(26.1875rem, -32.0681137725rem + 155.0898203593vw, 42.375rem);
  }
}
.top-concept__title {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: clamp(0.9375rem, -0.8333333333rem + 5.9027777778vw, 2rem);
  position: absolute;
  bottom: 197px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (max-width: 768px) {
  .top-concept__title {
    bottom: clamp(1.0625rem, -10.5rem + 38.5416666667vw, 8rem);
  }
}
.top-concept__jp {
  font-size: 40px;
  letter-spacing: 0.08em;
  -webkit-text-stroke: 7px rgba(255, 255, 255, 0.63);
  paint-order: stroke;
}
.top-concept__en {
  font-size: 50px;
  font-weight: 900;
  letter-spacing: 0.14em;
  -webkit-text-stroke: 7px rgba(255, 255, 255, 0.63);
  paint-order: stroke;
}
.top-concept__main {
  position: relative;
  margin-top: -12px;
}
.top-concept__main::before {
  content: "";
  width: clamp(4.875rem, -13.7719447139rem + 38.7972841901vw, 29.875rem);
  height: 644px;
  position: absolute;
  top: 69px;
  left: 0;
  background-image: -webkit-repeating-linear-gradient(315deg, #35a4ca, #35a4ca 6px, #80c9ed 6px, #80c9ed 12px);
  background-image: repeating-linear-gradient(135deg, #35a4ca, #35a4ca 6px, #80c9ed 6px, #80c9ed 12px);
}
@media (min-width: 1921px) {
  .top-concept__main::before {
    width: 24.8958333333%;
  }
}
@media (max-width: 768px) {
  .top-concept__main::before {
    content: none;
  }
}
.top-concept__main-inner {
  max-width: 735px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-bottom: clamp(6.125rem, -5.9583333333rem + 40.2777777778vw, 13.375rem);
}
@media (max-width: 768px) {
  .top-concept__main-inner {
    padding-top: 18px;
  }
}
.top-concept__subtitle {
  position: relative;
  font-size: clamp(1.75rem, -0.4651898734rem + 8.8607594937vw, 2.1875rem);
  line-height: 1.75;
  text-align: center;
  letter-spacing: 0.08em;
}
.top-concept__subtitle::after {
  content: "";
  width: 1px;
  height: 40px;
  position: absolute;
  bottom: -49px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: var(--main);
}
.top-concept__text {
  max-width: clamp(33.75rem, 23.8741438356rem + 20.5479452055vw, 40.3125rem);
  font-size: 1.125rem;
  line-height: 2.7777777778;
  text-align: justify;
  white-space: pre-line;
  margin-top: clamp(4.4375rem, 3.7083333333rem + 2.4305555556vw, 4.875rem);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-concept__text {
    line-height: 2.2222222222;
  }
}

.top-about {
  position: relative;
}
@media (max-width: 768px) {
  .top-about::before {
    content: "";
    width: 96px;
    height: 235px;
    position: absolute;
    top: -9px;
    left: 0;
    z-index: -1;
    background-image: -webkit-repeating-linear-gradient(315deg, #35a4ca, #35a4ca 6px, #80c9ed 6px, #80c9ed 12px);
    background-image: repeating-linear-gradient(135deg, #35a4ca, #35a4ca 6px, #80c9ed 6px, #80c9ed 12px);
  }
}
.top-about::after {
  content: "";
  width: clamp(5.75rem, -13.083414161rem + 39.185257032vw, 31rem);
  height: 807px;
  position: absolute;
  top: -317px;
  right: 0;
  z-index: -1;
  background-image: -webkit-repeating-linear-gradient(315deg, #35a4ca, #35a4ca 6px, #80c9ed 6px, #80c9ed 12px);
  background-image: repeating-linear-gradient(135deg, #35a4ca, #35a4ca 6px, #80c9ed 6px, #80c9ed 12px);
}
@media (min-width: 1921px) {
  .top-about::after {
    width: 25.8333333333%;
  }
}
@media (max-width: 768px) {
  .top-about::after {
    height: 217px;
    top: 125px;
  }
}
.top-about__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.top-about__jp {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
  font-size: clamp(1.75rem, 1.3338744589rem + 0.8658008658vw, 1.875rem);
  letter-spacing: 0.14em;
  margin-top: clamp(1.0625rem, -2.375rem + 11.4583333333vw, 3.125rem);
}
@media (max-width: 768px) {
  .top-about__jp {
    font-size: clamp(1.375rem, 0.75rem + 2.0833333333vw, 1.75rem);
  }
}
@media (max-width: 479px) {
  .top-about__jp {
    font-size: clamp(1.1875rem, 0.2381329114rem + 3.7974683544vw, 1.375rem);
  }
}
.top-about__en {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  font-size: 3.125rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  margin-top: 42px;
}
.top-about__logo {
  max-width: 135px;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.top-about__item-01 {
  margin-top: clamp(5.6875rem, 2.9791666667rem + 9.0277777778vw, 7.3125rem);
}
.top-about__item-02 {
  margin-top: clamp(3rem, -2.3125rem + 17.7083333333vw, 6.1875rem);
}
.top-about__item-03 {
  margin-top: 22px;
}
@media (max-width: 768px) {
  .top-about__item-03 {
    margin-top: -218px;
  }
}
.top-about__item-04 {
  margin-top: clamp(7.125rem, -2.2211538462rem + 31.1538461538vw, 17.25rem);
}
.top-about__number {
  max-width: clamp(11.25rem, -0.1344949917rem + 18.1969949917vw, 18.0625rem);
}
@media (max-width: 768px) {
  .top-about__number {
    max-width: clamp(8.4375rem, 3.75rem + 15.625vw, 11.25rem);
  }
}

.top-about-01 {
  max-width: 1583px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media (max-width: 1000px) {
  .top-about-01 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.top-about-01__main {
  max-width: 742px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: clamp(0rem, -6.4755843072rem + 10.3505843072vw, 3.875rem);
}
@media (max-width: 1000px) {
  .top-about-01__number {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    margin-top: 42px;
  }
}
.top-about-01__title {
  font-size: clamp(2.125rem, 0.4538814691rem + 2.6711185309vw, 3.125rem);
  letter-spacing: 0.14em;
  line-height: 1.5;
  white-space: pre-line;
  margin-top: clamp(2.75rem, -2.472245409rem + 8.347245409vw, 5.875rem);
}
@media (max-width: 1000px) {
  .top-about-01__title {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 0;
    font-size: clamp(1.75rem, 1.125rem + 2.0833333333vw, 2.125rem);
  }
}
@media (max-width: 768px) {
  .top-about-01__title {
    line-height: 1.4;
  }
}
@media (max-width: 479px) {
  .top-about-01__title {
    font-size: clamp(1.375rem, -0.5237341772rem + 7.5949367089vw, 1.75rem);
  }
}
.top-about-01__s {
  font-size: clamp(1.5rem, 0.2466611018rem + 2.0033388982vw, 2.25rem);
  letter-spacing: 0.14em;
}
@media (max-width: 768px) {
  .top-about-01__s {
    font-size: clamp(1.25rem, 0.8333333333rem + 1.3888888889vw, 1.5rem);
  }
}
@media (max-width: 479px) {
  .top-about-01__s {
    font-size: clamp(1rem, -0.2658227848rem + 5.0632911392vw, 1.25rem);
  }
}
.top-about-01__text {
  max-width: 662px;
  line-height: 2.5;
  margin-top: clamp(2.5rem, -0.7377921536rem + 5.1752921536vw, 4.4375rem);
  margin-inline: auto;
}
@media (max-width: 1000px) {
  .top-about-01__text {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
}
@media (max-width: 768px) {
  .top-about-01__text {
    margin-top: clamp(1.875rem, 0.8333333333rem + 3.4722222222vw, 2.5rem);
  }
}
.top-about-01__img {
  max-width: clamp(25rem, -11.8690525876rem + 58.9315525876vw, 47.0625rem);
  width: 100%;
}
@media (max-width: 1000px) {
  .top-about-01__img {
    max-width: 753px;
  }
}

.top-about-02 {
  overflow: hidden;
  background: url(../images/top-about-02-bg.webp) no-repeat center center/100% 100%;
  background-image: -webkit-image-set(url(../images/top-about-02-bg.webp) 1x, url(../images/top-about-02-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-about-02-bg.webp) 1x, url(../images/top-about-02-bg@2x.webp) 2x);
  padding-top: 149px;
  padding-bottom: 355px;
}
@media (max-width: 1000px) {
  .top-about-02 {
    padding-top: 340px;
  }
}
@media (max-width: 768px) {
  .top-about-02 {
    background: url(../images/top-about-02-bg_sp.webp) no-repeat center center/100% 100%;
    background-image: -webkit-image-set(url(../images/top-about-02-bg_sp.webp) 1x, url(../images/top-about-02-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-about-02-bg_sp.webp) 1x, url(../images/top-about-02-bg_sp@2x.webp) 2x);
    padding-top: 134px;
  }
}
.top-about-02__top {
  max-width: 1616px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media (max-width: 1000px) {
  .top-about-02__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 16px;
  }
}
@media (max-width: 768px) {
  .top-about-02__top {
    padding: 0 clamp(1.25rem, 0.2083333333rem + 3.4722222222vw, 1.875rem);
  }
}
.top-about-02__main {
  max-width: 742px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: clamp(0rem, -6.4755843072rem + 10.3505843072vw, 3.875rem);
}
@media (max-width: 1000px) {
  .top-about-02__number {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    margin-top: clamp(1.8125rem, 0.4583333333rem + 4.5138888889vw, 2.625rem);
  }
}
.top-about-02__title {
  font-size: clamp(2.3125rem, 0.9547161937rem + 2.1702838063vw, 3.125rem);
  letter-spacing: 0.14em;
  line-height: 1.5;
  white-space: pre-line;
  margin-top: clamp(2.75rem, -0.3833472454rem + 5.0083472454vw, 4.625rem);
}
@media (max-width: 1000px) {
  .top-about-02__title {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    margin-top: 0;
  }
}
@media (max-width: 768px) {
  .top-about-02__title {
    line-height: 1.4;
  }
}
@media (max-width: 479px) {
  .top-about-02__title {
    font-size: clamp(1.875rem, -0.3401898734rem + 8.8607594937vw, 2.3125rem);
  }
}
.top-about-02__s {
  font-size: clamp(1.625rem, 0.5805509182rem + 1.6694490818vw, 2.25rem);
  letter-spacing: 0.14em;
}
@media (max-width: 479px) {
  .top-about-02__s {
    font-size: clamp(1.3125rem, -0.269778481rem + 6.3291139241vw, 1.625rem);
  }
}
.top-about-02__text {
  max-width: 662px;
  line-height: 2.5;
  margin-top: clamp(2.5rem, 0.3066569282rem + 3.5058430718vw, 3.8125rem);
  margin-inline: auto;
}
@media (max-width: 1000px) {
  .top-about-02__text {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
}
@media (max-width: 768px) {
  .top-about-02__text {
    margin-top: clamp(1.875rem, 0.8333333333rem + 3.4722222222vw, 2.5rem);
  }
}
.top-about-02__time {
  max-width: 640px;
  width: 100%;
  height: clamp(8.5rem, 7.7708333333rem + 2.4305555556vw, 8.9375rem);
  display: grid;
  place-items: center;
  font-size: clamp(1.25rem, 0.7277754591rem + 0.8347245409vw, 1.5625rem);
  line-height: 1.5;
  letter-spacing: 0.14em;
  white-space: pre-line;
  border: 2px solid var(--text);
  margin-top: clamp(1.25rem, -1.5357142857rem + 9.2857142857vw, 3.6875rem);
}
@media (max-width: 1000px) {
  .top-about-02__time {
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
    font-size: clamp(1.125rem, 0.9166666667rem + 0.6944444444vw, 1.25rem);
  }
}
@media (max-width: 768px) {
  .top-about-02__time {
    font-size: clamp(1rem, 0.3670886076rem + 2.5316455696vw, 1.125rem);
    line-height: 2.1;
  }
}
.top-about-02__img {
  max-width: clamp(25rem, -11.8690525876rem + 58.9315525876vw, 47.0625rem);
  width: 100%;
}
@media (max-width: 1000px) {
  .top-about-02__img {
    max-width: 753px;
  }
}
@media (max-width: 768px) {
  .top-about-02__img {
    max-width: inherit;
    width: 100vw;
    margin-inline: calc(50% - 50vi);
  }
}
.top-about-02__bottom {
  max-width: 1595px;
  min-height: 705px;
  background: url(../images/top-about-banner-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-about-banner-bg.webp) 1x, url(../images/top-about-banner-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-about-banner-bg.webp) 1x, url(../images/top-about-banner-bg@2x.webp) 2x);
  margin-top: 104px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .top-about-02__bottom {
    background: url(../images/top-about-banner-bg_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-about-banner-bg_sp.webp) 1x, url(../images/top-about-banner-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-about-banner-bg_sp.webp) 1x, url(../images/top-about-banner-bg_sp@2x.webp) 2x);
    margin-top: 126px;
  }
}
.top-about-02__bottom-inner {
  max-width: 1431px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 100px 30px 100px;
  display: grid;
  grid-template-columns: 244px 1fr;
  -webkit-column-gap: 46px;
     -moz-column-gap: 46px;
          column-gap: 46px;
}
@media (max-width: 1500px) {
  .top-about-02__bottom-inner {
    max-width: 1141px;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1280px) {
  .top-about-02__bottom-inner {
    justify-items: center;
    padding: clamp(3.1875rem, -0.3125rem + 11.6666666667vw, 6.25rem) clamp(0.9375rem, -0.1339285714rem + 3.5714285714vw, 1.875rem) clamp(5.3125rem, 4.2410714286rem + 3.5714285714vw, 6.25rem);
  }
}
.top-about-02__vertical-text {
  color: var(--base);
  font-size: clamp(2rem, -0.5316455696rem + 10.1265822785vw, 2.5rem);
  font-weight: 400;
  line-height: 1.75;
  white-space: pre-line;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media (max-width: 1500px) {
  .top-about-02__vertical-text {
    -webkit-writing-mode: inherit;
        -ms-writing-mode: inherit;
            writing-mode: inherit;
  }
}
.top-about-02__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: clamp(1.5625rem, 0.2053571429rem + 4.5238095238vw, 2.75rem);
     -moz-column-gap: clamp(1.5625rem, 0.2053571429rem + 4.5238095238vw, 2.75rem);
          column-gap: clamp(1.5625rem, 0.2053571429rem + 4.5238095238vw, 2.75rem);
  margin-top: 72px;
}
@media (max-width: 1280px) {
  .top-about-02__items {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    row-gap: 14px;
  }
}
@media (max-width: 768px) {
  .top-about-02__items {
    margin-top: 79px;
  }
}
.top-about-02__item {
  max-width: clamp(12.4375rem, 1.7232142857rem + 35.7142857143vw, 21.8125rem);
  width: 100%;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  row-gap: 30px;
  position: relative;
  background-color: var(--main-l);
  font-size: clamp(0.924375rem, 0.1236607143rem + 2.669047619vw, 1.625rem);
  line-height: 1.3846153846;
  text-align: center;
  border-radius: 50%;
  padding-bottom: clamp(1.75rem, 0.1785714286rem + 5.2380952381vw, 3.125rem);
}
.top-about-02__item::after {
  content: "";
  width: 93%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: var(--base);
  border: 3px solid var(--main);
  border-radius: 50%;
  outline: 3px solid var(--main);
  outline-offset: calc(clamp(0.5rem, 0.0833333333rem + 1.3888888889vw, 0.75rem) * -1);
}
@media (max-width: 768px) {
  .top-about-02__item::after {
    width: 95%;
  }
}
.top-about-02__item-text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: clamp(1.3125rem, 0.3839285714rem + 3.0952380952vw, 2.125rem);
  position: relative;
  z-index: 1;
  white-space: pre-line;
}
.top-about-02__item-text_1::before {
  content: "";
  width: clamp(2.1875rem, 0.3303571429rem + 6.1904761905vw, 3.8125rem);
  aspect-ratio: 61/47;
  background: url(../images/icon-top-about-car.svg) no-repeat 0 0/contain;
}
.top-about-02__item-text_2::before {
  content: "";
  width: clamp(1.6875rem, 0.2589285714rem + 4.7619047619vw, 2.9375rem);
  aspect-ratio: 47/65;
  background: url(../images/icon-top-about-train.svg) no-repeat 0 0/contain;
}
.top-about-02__item-text_3::before {
  content: "";
  width: clamp(2.1875rem, 0.3303571429rem + 6.1904761905vw, 3.8125rem);
  aspect-ratio: 61/64;
  background: url(../images/icon-top-about-table.svg) no-repeat 0 0/contain;
}

.top-about-03__inner {
  max-width: 1756px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  position: relative;
}
@media (max-width: 1000px) {
  .top-about-03__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-left: clamp(1.25rem, 0.6730769231rem + 1.9230769231vw, 1.875rem);
  }
}
.top-about-03__main {
  max-width: clamp(40rem, -34.6208541927rem + 119.2740926158vw, 99.5625rem);
  position: relative;
  z-index: 0;
  background-color: #d5f2ff;
  outline: 2px solid var(--main);
  outline-offset: calc(clamp(1.25rem, 0.310387985rem + 1.5018773467vw, 2rem) * -1);
  padding: clamp(4.25rem, 0.0217459324rem + 6.7584480601vw, 7.625rem) 30px clamp(4.5625rem, -0.7619680851rem + 8.5106382979vw, 8.8125rem) clamp(3.125rem, 1.3240769712rem + 2.8785982478vw, 4.5625rem);
}
@media (max-width: 1000px) {
  .top-about-03__main {
    max-width: clamp(26.25rem, 13.5576923077rem + 42.3076923077vw, 40rem);
    margin-top: clamp(16.875rem, 7.0673076923rem + 32.6923076923vw, 27.5rem);
    margin-left: auto;
    padding: clamp(14.25rem, 11.9423076923rem + 7.6923076923vw, 16.75rem) clamp(1.5625rem, 0.6971153846rem + 2.8846153846vw, 2.5rem) clamp(4.1875rem, 3.8413461538rem + 1.1538461538vw, 4.5625rem);
  }
}
@media (max-width: 479px) {
  .top-about-03__main {
    margin-top: clamp(13.6875rem, -2.4517405063rem + 64.5569620253vw, 16.875rem);
    padding-top: clamp(11rem, -5.4556962025rem + 65.8227848101vw, 14.25rem);
    padding-bottom: clamp(3.125rem, -2.2547468354rem + 21.5189873418vw, 4.1875rem);
  }
}
.top-about-03__main::after {
  content: "";
  max-width: 1249px;
  width: 78.4055241682%;
  aspect-ratio: 1249/579;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
  background-color: var(--main-l);
}
@media (max-width: 768px) {
  .top-about-03__main::after {
    width: 100%;
    aspect-ratio: 420/329;
  }
}
.top-about-03__box {
  max-width: clamp(30rem, 3.3776595745rem + 42.5531914894vw, 51.25rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 1000px) {
  .top-about-03__box {
    max-width: 100%;
  }
}
.top-about-03__title {
  font-size: clamp(2rem, 0.5905819775rem + 2.25281602vw, 3.125rem);
  letter-spacing: 0.14em;
  line-height: 1.5;
  text-align: center;
  margin-top: clamp(1.8125rem, 0.5432692308rem + 4.2307692308vw, 3.1875rem);
}
@media (max-width: 479px) {
  .top-about-03__title {
    font-size: clamp(1.5625rem, -0.6526898734rem + 8.8607594937vw, 2rem);
  }
}
.top-about-03__s {
  font-size: clamp(1.5625rem, 0.93609199rem + 1.0012515645vw, 2.0625rem);
  letter-spacing: 0.14em;
}
@media (max-width: 479px) {
  .top-about-03__s {
    font-size: clamp(1.3125rem, 0.0466772152rem + 5.0632911392vw, 1.5625rem);
  }
}
.top-about-03__text {
  max-width: 690px;
  line-height: 2.5;
  white-space: pre-line;
  margin-top: clamp(1.0625rem, -0.1490384615rem + 4.0384615385vw, 2.375rem);
  margin-inline: auto;
}
@media (max-width: 1000px) {
  .top-about-03__text {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
}
.top-about-03__img {
  max-width: clamp(25rem, -2.6402534418rem + 44.1802252816vw, 47.0625rem);
  width: 100%;
  position: absolute;
  top: calc(clamp(3.5rem, 2.4037859825rem + 1.7521902378vw, 4.375rem) * -1);
  right: clamp(1.75rem, -4.0442740926rem + 9.2615769712vw, 6.375rem);
}
@media (max-width: 1000px) {
  .top-about-03__img {
    max-width: clamp(27.5rem, 15.3846153846rem + 40.3846153846vw, 40.625rem);
    top: 0;
    right: inherit;
    left: clamp(1.25rem, 0.6730769231rem + 1.9230769231vw, 1.875rem);
  }
}
@media (max-width: 479px) {
  .top-about-03__img {
    max-width: clamp(21.875rem, 6.0522151899rem + 63.2911392405vw, 25rem);
  }
}

.top-about-04__inner {
  max-width: 1709px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  position: relative;
  padding-top: 35px;
}
@media (max-width: 1000px) {
  .top-about-04__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-right: clamp(1.25rem, 0.6730769231rem + 1.9230769231vw, 1.875rem);
  }
}
.top-about-04__main {
  max-width: clamp(40rem, -34.6208541927rem + 119.2740926158vw, 99.5625rem);
  position: relative;
  z-index: 0;
  background-color: #e6f5db;
  outline: 2px solid var(--main);
  outline-offset: calc(clamp(1.25rem, 0.310387985rem + 1.5018773467vw, 2rem) * -1);
  margin-left: auto;
  padding: clamp(4.25rem, 0.0217459324rem + 6.7584480601vw, 7.625rem) 30px clamp(4.5625rem, -0.7619680851rem + 8.5106382979vw, 8.8125rem) clamp(3.125rem, 1.3240769712rem + 2.8785982478vw, 4.5625rem);
}
@media (max-width: 1000px) {
  .top-about-04__main {
    max-width: clamp(26.25rem, 13.5576923077rem + 42.3076923077vw, 40rem);
    margin-top: clamp(18.5625rem, 10.3125rem + 27.5vw, 27.5rem);
    margin-right: auto;
    margin-left: initial;
    padding: clamp(10rem, 5.6730769231rem + 14.4230769231vw, 14.6875rem) clamp(2.1875rem, 1.8990384615rem + 0.9615384615vw, 2.5rem) clamp(3rem, 1.5576923077rem + 4.8076923077vw, 4.5625rem);
  }
}
@media (max-width: 479px) {
  .top-about-04__main {
    margin-top: clamp(13.6875rem, -10.9960443038rem + 98.7341772152vw, 18.5625rem);
    padding-top: clamp(8.75rem, 2.4208860759rem + 25.3164556962vw, 10rem);
    padding-bottom: clamp(2.5rem, -0.0316455696rem + 10.1265822785vw, 3rem);
  }
}
.top-about-04__main::after {
  content: "";
  max-width: 1249px;
  width: 78.4055241682%;
  aspect-ratio: 1249/579;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
  background-color: #c7dfb5;
}
@media (max-width: 768px) {
  .top-about-04__main::after {
    width: 100%;
    aspect-ratio: 420/246;
  }
}
.top-about-04__box {
  max-width: clamp(35rem, 10.3351846058rem + 39.4242803504vw, 54.6875rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
}
@media (max-width: 1000px) {
  .top-about-04__box {
    max-width: 100%;
  }
}
.top-about-04__title {
  font-size: clamp(2rem, 0.5905819775rem + 2.25281602vw, 3.125rem);
  letter-spacing: 0.14em;
  line-height: 1.75;
  text-align: center;
  margin-top: clamp(2.4375rem, 1.7451923077rem + 2.3076923077vw, 3.1875rem);
}
@media (max-width: 1000px) {
  .top-about-04__title {
    font-size: clamp(2.5rem, 1.5506329114rem + 3.7974683544vw, 2.6875rem);
  }
}
@media (max-width: 479px) {
  .top-about-04__title {
    margin-top: clamp(1.1875rem, -5.1416139241rem + 25.3164556962vw, 2.4375rem);
  }
}
.top-about-04__text {
  max-width: clamp(28.125rem, 9.2398962804rem + 30.1859799714vw, 41.3125rem);
  line-height: 2.5;
  white-space: pre-line;
  margin-top: clamp(0.25rem, -1.7115384615rem + 6.5384615385vw, 2.375rem);
  margin-inline: auto;
}
@media (max-width: 1000px) {
  .top-about-04__text {
    max-width: clamp(22.0625rem, 4.9448529412rem + 57.0588235294vw, 28.125rem);
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
  }
}
.top-about-04__img {
  max-width: clamp(25rem, -2.6402534418rem + 44.1802252816vw, 47.0625rem);
  width: 100%;
  position: absolute;
  top: calc(clamp(3.5rem, 2.4037859825rem + 1.7521902378vw, 4.375rem) * -1);
  left: clamp(1.875rem, -2.2421316166rem + 6.5808297568vw, 4.75rem);
}
@media (max-width: 1000px) {
  .top-about-04__img {
    max-width: clamp(27.5rem, 15.3846153846rem + 40.3846153846vw, 40.625rem);
    top: 0;
    right: clamp(1.25rem, 0.6730769231rem + 1.9230769231vw, 1.875rem);
    left: inherit;
  }
}
@media (max-width: 479px) {
  .top-about-04__img {
    max-width: clamp(21.875rem, -6.6060126582rem + 113.9240506329vw, 27.5rem);
  }
}

.top-gallery_pos {
  margin-top: 227px;
}
.top-gallery__wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.top-gallery__slide:nth-of-type(odd) {
  margin-top: 99px;
}
.top-gallery__img {
  aspect-ratio: 640/419;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-staff {
  overflow: hidden;
}
.top-staff__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  padding-top: clamp(12.75rem, 6.6923076923rem + 20.1923076923vw, 19.3125rem);
}
@media (max-width: 1000px) {
  .top-staff__inner {
    max-width: 768px;
    padding-right: 0;
    padding-left: 0;
  }
}
.top-staff__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  position: relative;
  z-index: 0;
  background-color: #d5f2ff;
  padding-bottom: 116px;
}
@media (max-width: 1000px) {
  .top-staff__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 30px clamp(5.6875rem, 4.2451923077rem + 4.8076923077vw, 7.25rem);
  }
}
.top-staff__body::before {
  content: "";
  width: 100%;
  height: clamp(10.0625rem, -5.9759615385rem + 53.4615384615vw, 27.4375rem);
  position: absolute;
  bottom: 62px;
  left: 0;
  z-index: -1;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
          clip-path: polygon(0 0, 0% 100%, 100% 100%);
  background-color: var(--main-l);
}
.top-staff__body::after {
  content: "";
  width: 100%;
  height: 62px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  background-color: var(--main);
}
.top-staff__group-1 {
  width: 100%;
  margin-top: -125px;
  margin-top: calc(clamp(6.25rem, 4.8076923077rem + 4.8076923077vw, 7.8125rem) * -1);
}
.top-staff__director {
  position: relative;
}
.top-staff__jp {
  width: clamp(17.73375rem, 14.3149038462rem + 11.3961538462vw, 21.4375rem);
  height: clamp(8.875rem, 3.4971346705rem + 8.5959885387vw, 10.75rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  right: 25px;
  z-index: 1;
  bottom: calc(clamp(2rem, -4.9912249284rem + 11.1747851003vw, 4.4375rem) * -1);
  background-color: var(--main);
  color: var(--base);
  font-size: clamp(2.12rem, 1.7115384615rem + 1.3615384615vw, 2.5625rem);
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.14em;
}
@media (max-width: 1000px) {
  .top-staff__jp {
    right: 0;
    bottom: -64px;
  }
}
.top-staff__s {
  font-size: clamp(1.39625rem, 1.1274038462rem + 0.8961538462vw, 1.6875rem);
  letter-spacing: 0.14em;
}
.top-staff__main {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 1000px) {
  .top-staff__main {
    position: relative;
  }
}
.top-staff__en {
  color: var(--main);
  font-size: 3.75rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media (max-width: 1000px) {
  .top-staff__en {
    position: absolute;
    top: -17px;
    left: -7px;
  }
}
.top-staff__img-main {
  max-width: 516px;
}
.top-staff__img-sub-1 {
  max-width: 409px;
}
@media (max-width: 1000px) {
  .top-staff__img-sub-1 {
    max-width: 600px;
    margin-top: 67px;
    margin-inline: auto;
  }
}
.top-staff__group-2 {
  width: 100%;
  margin-top: 59px;
}
@media (max-width: 1000px) {
  .top-staff__group-2 {
    margin-top: 0;
  }
}
.top-staff__img-sub-2 {
  max-width: 496px;
  margin-right: 45px;
  margin-left: auto;
}
@media (max-width: 1000px) {
  .top-staff__img-sub-2 {
    display: none;
  }
}
.top-staff__text {
  max-width: 615px;
  line-height: 2.3125;
  letter-spacing: 0.08em;
  white-space: pre-line;
  margin-top: 64px;
  margin-inline: auto;
  padding: 0 20px;
}
@media (max-width: 1000px) {
  .top-staff__text {
    padding: 0;
  }
}
.top-staff__link-button {
  margin-top: 54px;
  margin-inline: auto;
}
@media (max-width: 1000px) {
  .top-staff__link-button {
    margin-top: 61px;
  }
}

.top-medical {
  max-width: 1920px;
  overflow: hidden;
}
.top-medical_pos {
  margin-top: clamp(5.6875rem, -1.0625rem + 22.5vw, 13rem);
  margin-inline: auto;
}
.top-medical__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.top-medical__jp {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
  font-size: 1.875rem;
  letter-spacing: 0.14em;
  margin-top: 20px;
}
.top-medical__en {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  font-size: clamp(3.875rem, 1.3433544304rem + 10.1265822785vw, 4.375rem);
  font-weight: 900;
  letter-spacing: 0.14em;
  margin-top: 68px;
}
.top-medical__logo {
  max-width: 135px;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.top-medical__top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 59px;
  margin-top: 144px;
}
@media (max-width: 1000px) {
  .top-medical__top {
    margin-top: 216px;
    row-gap: 71px;
  }
}
.top-medical__top-item {
  min-height: 718px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  outline: 3px solid var(--main);
  outline-offset: -34px;
}
@media (max-width: 1000px) {
  .top-medical__top-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.top-medical__top-item_even {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  outline-color: var(--main-l);
}
@media (max-width: 1000px) {
  .top-medical__top-item_even {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.top-medical__top-img {
  max-width: 960px;
  width: 100%;
  padding: 22px 34px;
}
@media (max-width: 1000px) {
  .top-medical__top-img {
    max-width: 100%;
    aspect-ratio: 480/369;
  }
}
.top-medical__top-img_1 {
  background: url(../images/top-mediical-1.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-mediical-1.webp) 1x, url(../images/top-mediical-1@2x.webp) 2x);
  background-image: image-set(url(../images/top-mediical-1.webp) 1x, url(../images/top-mediical-1@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-medical__top-img_1 {
    background: url(../images/top-mediical-1_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-mediical-1_sp.webp) 1x, url(../images/top-mediical-1_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-mediical-1_sp.webp) 1x, url(../images/top-mediical-1_sp@2x.webp) 2x);
  }
}
.top-medical__top-img_2 {
  background: url(../images/top-mediical-2.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-mediical-2.webp) 1x, url(../images/top-mediical-2@2x.webp) 2x);
  background-image: image-set(url(../images/top-mediical-2.webp) 1x, url(../images/top-mediical-2@2x.webp) 2x);
  padding-right: 22px;
}
@media (max-width: 768px) {
  .top-medical__top-img_2 {
    background: url(../images/top-mediical-2_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-mediical-2_sp.webp) 1x, url(../images/top-mediical-2_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-mediical-2_sp.webp) 1x, url(../images/top-mediical-2_sp@2x.webp) 2x);
  }
}
.top-medical__top-img_3 {
  background: url(../images/top-mediical-3.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-mediical-3.webp) 1x, url(../images/top-mediical-3@2x.webp) 2x);
  background-image: image-set(url(../images/top-mediical-3.webp) 1x, url(../images/top-mediical-3@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-medical__top-img_3 {
    background: url(../images/top-mediical-3_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-mediical-3_sp.webp) 1x, url(../images/top-mediical-3_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-mediical-3_sp.webp) 1x, url(../images/top-mediical-3_sp@2x.webp) 2x);
  }
}
.top-medical__top-en {
  color: var(--main);
  font-size: clamp(3.1875rem, 0.051121372rem + 5.0131926121vw, 4.375rem);
  letter-spacing: 0.14em;
  white-space: nowrap;
}
@media (max-width: 1000px) {
  .top-medical__top-en {
    font-size: clamp(3.125rem, 1.0416666667rem + 6.9444444444vw, 4.375rem);
  }
}
@media (max-width: 479px) {
  .top-medical__top-en {
    font-size: clamp(2.5rem, -0.664556962rem + 12.6582278481vw, 3.125rem);
  }
}
.top-medical__top-en_even {
  text-align: right;
}
.top-medical__top-main {
  max-width: 960px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: var(--main-l);
  padding: 64px 54px 64px 20px;
}
@media (max-width: 1000px) {
  .top-medical__top-main {
    max-width: 100%;
    padding: clamp(2.25rem, -0.6666666667rem + 9.7222222222vw, 4rem) 44px 86px 44px;
  }
}
.top-medical__top-main_even {
  background-color: var(--main);
  color: var(--base);
  padding-right: 20px;
  padding-left: 54px;
}
@media (max-width: 1000px) {
  .top-medical__top-main_even {
    padding-right: 44px;
    padding-left: 44px;
  }
}
.top-medical__top-main-inner {
  max-width: 646px;
  margin-inline: auto;
}
.top-medical__top-main-inner_even {
  max-width: 715px;
}
.top-medical__top-cat {
  font-size: 2.5rem;
  text-align: center;
  letter-spacing: 0.14em;
}
@media (max-width: 479px) {
  .top-medical__top-cat {
    font-size: clamp(2.375rem, 1.7420886076rem + 2.5316455696vw, 2.5rem);
  }
}
.top-medical__top-text {
  font-size: 1.125rem;
  line-height: 2.2777777778;
  letter-spacing: 0.14em;
  white-space: pre-line;
  margin-top: clamp(1.5625rem, -3.5416666667rem + 17.0138888889vw, 4.625rem);
}
.top-medical__top-text_even {
  margin-top: 37px;
}
.top-medical__more {
  margin-top: clamp(2.8125rem, 0.4166666667rem + 7.9861111111vw, 4.25rem);
  margin-inline: auto;
}
.top-medical__bottom {
  margin-top: clamp(4.4375rem, 4.0336538462rem + 1.3461538462vw, 4.875rem);
}

.top-medical-link {
  background: url(../images/top-mediical-bg.webp) no-repeat center center/cover;
  background-image: -webkit-image-set(url(../images/top-mediical-bg.webp) 1x, url(../images/top-mediical-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-mediical-bg.webp) 1x, url(../images/top-mediical-bg@2x.webp) 2x);
}
@media (max-width: 768px) {
  .top-medical-link {
    background: url(../images/top-mediical-bg_sp.webp) no-repeat center center/cover;
    background-image: -webkit-image-set(url(../images/top-mediical-bg_sp.webp) 1x, url(../images/top-mediical-bg_sp@2x.webp) 2x);
    background-image: image-set(url(../images/top-mediical-bg_sp.webp) 1x, url(../images/top-mediical-bg_sp@2x.webp) 2x);
  }
}
.top-medical-link__items {
  max-width: 1305px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 61px 30px 56px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 40px;
}
@media (max-width: 1680px) {
  .top-medical-link__items {
    margin-inline: auto;
  }
}
@media (max-width: 1280px) {
  .top-medical-link__items {
    max-width: 870px;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(1.1875rem, -0.78125rem + 5.25vw, 2.5rem) clamp(1rem, -0.3125rem + 3.5vw, 1.875rem);
  }
}
@media (max-width: 1000px) {
  .top-medical-link__items {
    -webkit-column-gap: clamp(0.625rem, -1.2737341772rem + 7.5949367089vw, 1rem);
       -moz-column-gap: clamp(0.625rem, -1.2737341772rem + 7.5949367089vw, 1rem);
            column-gap: clamp(0.625rem, -1.2737341772rem + 7.5949367089vw, 1rem);
    padding: 80px clamp(0.75rem, -4.9462025316rem + 22.7848101266vw, 1.875rem) 84px;
  }
}
.top-medical-link__item {
  position: relative;
  background-color: #fff;
}
.top-medical-link__item::after {
  width: 1px;
  height: 90%;
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: var(--text);
}
.top-medical-link__item_1::after {
  content: "";
}
@media (max-width: 1280px) {
  .top-medical-link__item_1::after {
    content: none;
  }
}
.top-medical-link__item_2::after {
  content: "";
}
@media (max-width: 1280px) {
  .top-medical-link__item_2::after {
    content: none;
  }
}
.top-medical-link__item_3::after {
  content: "";
}
@media (max-width: 1680px) {
  .top-medical-link__item_3::after {
    content: none;
  }
}
@media (max-width: 1680px) {
  .top-medical-link__item_4::after {
    content: "";
  }
}
@media (max-width: 1280px) {
  .top-medical-link__item_4::after {
    content: none;
  }
}
.top-medical-link__item_5::after {
  content: "";
}
@media (max-width: 1280px) {
  .top-medical-link__item_5::after {
    content: none;
  }
}
.top-medical-link__item_6::after {
  content: "";
}
@media (max-width: 1680px) {
  .top-medical-link__item_6::after {
    content: none;
  }
}
.top-medical-link__item_7::after {
  content: "";
}
@media (max-width: 1280px) {
  .top-medical-link__item_7::after {
    content: none;
  }
}
@media (max-width: 1680px) {
  .top-medical-link__item_8::after {
    content: "";
  }
}
@media (max-width: 1280px) {
  .top-medical-link__item_8::after {
    content: none;
  }
}
.top-medical-link__item_9 {
  grid-area: 3/2/4/3;
}
@media (max-width: 1680px) {
  .top-medical-link__item_9 {
    grid-area: inherit;
  }
}
.top-medical-link__item_9::after {
  content: "";
}
@media (max-width: 1680px) {
  .top-medical-link__item_9::after {
    content: none;
  }
}
.top-medical-link__item_10 {
  grid-area: 3/3/4/4;
}
@media (max-width: 1680px) {
  .top-medical-link__item_10 {
    grid-area: 4/2/5/3;
  }
}
@media (max-width: 1280px) {
  .top-medical-link__item_10 {
    grid-area: inherit;
  }
}
.top-medical-link__link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: clamp(1.625rem, -0.4519230769rem + 6.9230769231vw, 3.875rem);
  padding-bottom: clamp(1.4375rem, 0.2259615385rem + 4.0384615385vw, 2.75rem);
}
.top-medical-link__img {
  max-width: clamp(5.375rem, 1.625rem + 12.5vw, 9.4375rem);
}
.top-medical-link__cat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  font-size: clamp(1.08125rem, 0.0024038462rem + 3.5961538462vw, 2.25rem);
  letter-spacing: 0.14em;
  margin-top: clamp(0rem, -0.2884615385rem + 0.9615384615vw, 0.3125rem);
}
@media (max-width: 479px) {
  .top-medical-link__cat {
    font-size: clamp(0.9375rem, 0.2096518987rem + 2.9113924051vw, 1.08125rem);
  }
}
.top-medical-link__cat::before {
  content: "";
  width: clamp(0.9625rem, 0.0048076923rem + 3.1923076923vw, 2rem);
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  right: calc(clamp(1.4375rem, -0.1201923077rem + 5.1923076923vw, 3.125rem) * -1);
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: var(--main);
  border-radius: 50%;
}
.top-medical-link__cat::after {
  content: "";
  width: clamp(0.45125rem, 0.0024038462rem + 1.4961538462vw, 0.9375rem);
  aspect-ratio: 15/17.31;
  position: absolute;
  top: 50%;
  right: calc(clamp(1.25rem, -0.1346153846rem + 4.6153846154vw, 2.75rem) * -1);
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%);
  background-color: var(--base);
}
.top-medical-link__cat_l::before {
  background-color: var(--main-l);
}
.top-medical-link__box {
  max-width: clamp(10.125rem, -2.3035714286rem + 41.4285714286vw, 21rem);
  width: 100%;
  height: clamp(3.4375rem, 0.0336538462rem + 11.3461538462vw, 7.125rem);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: var(--main);
  margin-top: clamp(1.1875rem, -0.2548076923rem + 4.8076923077vw, 2.75rem);
  padding-left: clamp(0.625rem, 0.0480769231rem + 1.9230769231vw, 1.25rem);
}
.top-medical-link__box_l {
  background-color: var(--main-l);
}
.top-medical-link__text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-column-gap: clamp(0.25rem, -0.0961538462rem + 1.1538461538vw, 0.625rem);
     -moz-column-gap: clamp(0.25rem, -0.0961538462rem + 1.1538461538vw, 0.625rem);
          column-gap: clamp(0.25rem, -0.0961538462rem + 1.1538461538vw, 0.625rem);
  color: var(--base);
  font-size: clamp(0.71875rem, -0.0024038462rem + 2.4038461538vw, 1.5rem);
  line-height: 1.75;
  letter-spacing: 0.14em;
  white-space: pre-line;
}
.top-medical-link__text::before {
  content: "";
  width: clamp(0.6875rem, -0.0625rem + 2.5vw, 1.5rem);
  aspect-ratio: 24/20;
  background: url(../images/icon-check.svg) no-repeat 0 0/contain;
}
@media (max-width: 768px) {
  .top-medical-link__text_9 {
    line-height: 1.37;
  }
}

.top-flow {
  overflow: hidden;
  padding-bottom: 59px;
}
.top-flow_pos {
  margin-top: clamp(6.375rem, 3.2019230769rem + 10.5769230769vw, 9.8125rem);
}
.top-flow__inner {
  max-width: 1607px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.top-flow__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.top-flow__jp {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
  font-size: 1.875rem;
  letter-spacing: 0.14em;
  margin-top: 20px;
}
.top-flow__en {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  font-size: 4.375rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  margin-top: 68px;
}
.top-flow__logo {
  max-width: 135px;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
.top-flow__items {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  position: relative;
  gap: 22px clamp(1.125rem, 0.5833333333rem + 1.8055555556vw, 1.9375rem);
  margin-top: clamp(2.4375rem, 1.2836538462rem + 3.8461538462vw, 3.6875rem);
}
@media (max-width: 1350px) {
  .top-flow__items {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 479px) {
  .top-flow__items {
    -webkit-column-gap: clamp(0.625rem, 0.1634615385rem + 1.5384615385vw, 1.125rem);
       -moz-column-gap: clamp(0.625rem, 0.1634615385rem + 1.5384615385vw, 1.125rem);
            column-gap: clamp(0.625rem, 0.1634615385rem + 1.5384615385vw, 1.125rem);
  }
}
.top-flow__items::before {
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: -1;
  background-color: var(--main);
}
@media (max-width: 1350px) {
  .top-flow__items::before {
    width: 68.5%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}
@media (max-width: 768px) {
  .top-flow__items::before {
    width: 69.2%;
  }
}
@media (max-width: 500px) {
  .top-flow__items::before {
    width: 69.9%;
  }
}
@media (max-width: 479px) {
  .top-flow__items::before {
    width: clamp(14.6875rem, -1.7681962025rem + 65.8227848101vw, 17.9375rem);
  }
}
.top-flow__item {
  height: clamp(3.3125rem, 0.8317307692rem + 8.2692307692vw, 6rem);
  display: grid;
  place-items: center;
  position: relative;
  background-color: var(--base);
  border: 1px solid var(--main);
  cursor: pointer;
}
.top-flow__item::after {
  width: 31px;
  height: 1px;
  position: absolute;
  top: 50%;
  right: -31px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: -1;
  background-color: var(--main);
}
.top-flow__item_active {
  background-color: var(--main);
  color: var(--base);
  cursor: inherit;
}
.top-flow__item_1::after {
  content: "";
}
.top-flow__item_2::after {
  content: "";
}
@media (max-width: 1350px) {
  .top-flow__item_3::before {
    content: "";
    width: 1px;
    height: 11px;
    position: absolute;
    bottom: -11px;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: -1;
    background-color: var(--main);
  }
}
@media (max-width: 1350px) {
  .top-flow__item_4::before {
    content: "";
    width: 1px;
    height: 11px;
    position: absolute;
    top: -11px;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: -1;
    background-color: var(--main);
  }
}
.top-flow__item_4::after {
  content: "";
}
.top-flow__item_5::after {
  content: "";
}
.top-flow__item-text {
  font-size: clamp(0.875rem, 0.4134615385rem + 1.5384615385vw, 1.375rem);
  line-height: 1.75;
  text-align: center;
  letter-spacing: 0.14em;
  white-space: pre-line;
}
@media (max-width: 479px) {
  .top-flow__item-text {
    font-size: clamp(0.75rem, 0.1170886076rem + 2.5316455696vw, 0.875rem);
  }
}
.top-flow__slider {
  position: relative;
  margin-top: clamp(2.8125rem, 1.0240384615rem + 5.9615384615vw, 4.75rem);
}
.top-flow__swiper {
  max-width: clamp(40.625rem, 3.482035284rem + 77.2805507745vw, 68.6875rem);
  overflow: visible;
}
@media (max-width: 768px) {
  .top-flow__swiper {
    max-width: 100%;
  }
}
.top-flow__img {
  aspect-ratio: 1099/567;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-flow__description {
  padding: 13px 15px 20px;
}
@media (max-width: 768px) {
  .top-flow__description {
    padding: 28px 27px 20px;
  }
}
.top-flow__subtitle {
  font-size: 2.1875rem;
  line-height: 1.2857142857;
}
.top-flow__text {
  font-size: 1.125rem;
  line-height: 2.2222222222;
  white-space: pre-line;
  margin-top: 14px;
}
.top-flow__prev {
  top: clamp(12rem, 4.6375860585rem + 15.3184165232vw, 17.5625rem);
}
@media (max-width: 768px) {
  .top-flow__prev {
    top: clamp(6.375rem, 0.2608695652rem + 24.4565217391vw, 12rem);
  }
}
.top-flow__next {
  top: clamp(12rem, 4.6375860585rem + 15.3184165232vw, 17.5625rem);
}
@media (max-width: 768px) {
  .top-flow__next {
    top: clamp(6.375rem, 0.2608695652rem + 24.4565217391vw, 12rem);
  }
}
.top-flow__pagination {
  bottom: -60px !important;
}
.top-flow .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: var(--main-l);
  opacity: 1;
  margin: 0 7px !important;
}
.top-flow .swiper-pagination-bullet-active {
  background-color: var(--main);
}

.top-short {
  max-width: 1920px;
}
.top-short_pos {
  margin-top: clamp(5.5rem, -4.2977493917rem + 20.6812652068vw, 16.125rem);
  margin-inline: auto;
}
.top-short__body {
  position: relative;
  outline: 1px solid var(--main);
  outline-offset: calc(clamp(1.75rem, 1.0576923077rem + 2.3076923077vw, 2.5rem) * -1);
}
@media (max-width: 1000px) {
  .top-short__body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    position: relative;
  }
}
.top-short__main {
  max-width: 1009px;
  min-height: 718px;
  width: 100%;
  background-color: var(--main-l);
  padding: 21px 60px 70px 42px;
}
@media (max-width: 1000px) {
  .top-short__main {
    margin-top: calc(clamp(3.0625rem, -2.6490384615rem + 19.0384615385vw, 9.25rem) * -1);
    padding: 21px 42px clamp(4.125rem, 3.8942307692rem + 0.7692307692vw, 4.375rem) 42px;
  }
}
.top-short__main_r {
  margin-left: auto;
}
.top-short__en {
  font-size: clamp(3.5rem, 2.5257230256rem + 1.5572858732vw, 4.375rem);
  letter-spacing: 0.14em;
}
@media (max-width: 1000px) {
  .top-short__en {
    position: absolute;
    top: clamp(1rem, 0.3076923077rem + 2.3076923077vw, 1.75rem);
    left: clamp(1.9375rem, 1.4182692308rem + 1.7307692308vw, 2.5rem);
    z-index: 3;
    font-size: clamp(3.0625rem, 1.8509615385rem + 4.0384615385vw, 4.375rem);
  }
}
@media (max-width: 479px) {
  .top-short__en {
    font-size: clamp(2.625rem, 0.4098101266rem + 8.8607594937vw, 3.0625rem);
  }
}
.top-short__en_r {
  font-size: clamp(3.3125rem, 2.1294493882rem + 1.8909899889vw, 4.375rem);
  text-align: right;
}
@media (max-width: 1000px) {
  .top-short__en_r {
    position: absolute;
    top: clamp(1rem, 0.3076923077rem + 2.3076923077vw, 1.75rem);
    left: clamp(1.9375rem, 1.4182692308rem + 1.7307692308vw, 2.5rem);
    z-index: 3;
    font-size: clamp(3.0625rem, 1.8509615385rem + 4.0384615385vw, 4.375rem);
  }
}
@media (max-width: 479px) {
  .top-short__en_r {
    font-size: clamp(2.375rem, -1.1060126582rem + 13.9240506329vw, 3.0625rem);
  }
}
.top-short__box {
  max-width: clamp(27.1875rem, 2.9001668521rem + 38.8209121246vw, 49rem);
  margin-top: 39px;
  margin-right: auto;
  margin-left: clamp(0.625rem, -2.1586484983rem + 4.4493882091vw, 3.125rem);
}
@media (max-width: 1000px) {
  .top-short__box {
    max-width: 784px;
    margin-top: clamp(5.625rem, 0.4326923077rem + 17.3076923077vw, 11.25rem);
    margin-left: auto;
  }
}
.top-short__box_r {
  margin-right: clamp(0.625rem, -2.1586484983rem + 4.4493882091vw, 3.125rem);
  margin-left: auto;
}
.top-short__title {
  font-size: clamp(2.375rem, 2.2358175751rem + 0.2224694105vw, 2.5rem);
  text-align: center;
  letter-spacing: 0.14em;
}
@media (max-width: 1000px) {
  .top-short__title {
    font-size: clamp(2.125rem, 1.8942307692rem + 0.7692307692vw, 2.375rem);
  }
}
@media (max-width: 479px) {
  .top-short__title {
    font-size: clamp(1.6875rem, -0.5276898734rem + 8.8607594937vw, 2.125rem);
  }
}
.top-short__text {
  font-size: 1.125rem;
  line-height: 2.2777777778;
  letter-spacing: 0.14em;
  white-space: pre-line;
  margin-top: 38px;
}
.top-short__more {
  margin-top: clamp(2.3125rem, 0.8701923077rem + 4.8076923077vw, 3.875rem);
  margin-inline: auto;
}
.top-short__img {
  max-width: clamp(31.25rem, -3.1280589544rem + 54.9499443826vw, 62.125rem);
  width: 100%;
  position: absolute;
  top: -51px;
  right: 0;
}
@media (max-width: 1000px) {
  .top-short__img {
    max-width: 100%;
    position: static;
    z-index: 1;
    padding-right: 40px;
    padding-left: 40px;
  }
}
.top-short__img_r {
  right: inherit;
  left: 0;
}

/*###################################################################
  first（page）
###################################################################*/
.first-main_pos {
  margin-top: clamp(2.0625rem, -1.8958333333rem + 13.1944444444vw, 4.4375rem);
}
.first-main__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.first-main__title-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: clamp(1.3125rem, -1.9166666667rem + 10.7638888889vw, 3.25rem);
}
.first-main__logo {
  max-width: clamp(5.625rem, 0.9375rem + 15.625vw, 8.4375rem);
}
.first-main__title {
  color: var(--main);
  font-size: clamp(2.1875rem, 1.6666666667rem + 1.7361111111vw, 2.5rem);
  font-weight: 900;
}
.first-main__top {
  max-width: 1089px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: clamp(1.4375rem, 0.1875rem + 4.1666666667vw, 2.1875rem);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .first-main__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.first-main__top-text {
  max-width: 679px;
  width: 100%;
  font-size: clamp(1rem, 0.7916666667rem + 0.6944444444vw, 1.125rem);
  line-height: 1.75;
  letter-spacing: 0.1em;
  white-space: pre-line;
  margin-top: clamp(0.75rem, -1.5416666667rem + 7.6388888889vw, 2.125rem);
}
.first-main__top-img {
  max-width: 301px;
  width: 100%;
}
.first-main__trouble {
  margin-top: 66px;
}
@media (max-width: 600px) {
  .first-main__trouble {
    margin-top: 81px;
  }
}
.first-main__trouble-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.625rem;
  line-height: 1.75;
  letter-spacing: 0.1em;
  margin-inline: auto;
}
.first-main__trouble-hr {
  border-width: 1px;
  border-color: var(--main);
  margin-top: 27px;
}
@media (max-width: 600px) {
  .first-main__trouble-hr {
    margin-top: 33px;
  }
}
.first-main__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.first-main__items_short {
  margin-top: 24px;
}
@media (max-width: 600px) {
  .first-main__items_short {
    margin-top: 7px;
  }
}
.first-main__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 61px;
  padding-top: 30px;
  padding-bottom: 30px;
}
.first-main__item:not(:last-of-type) {
  border-bottom: 1px dashed var(--main);
}
.first-main__question {
  max-width: 1174px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 19px;
     -moz-column-gap: 19px;
          column-gap: 19px;
  margin-left: 17px;
}
@media (max-width: 600px) {
  .first-main__question {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 0;
  }
}
.first-main__q-icon {
  min-width: 76px;
}
.first-main__answer {
  max-width: 1174px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 46px;
     -moz-column-gap: 46px;
          column-gap: 46px;
  margin-left: 20px;
}
@media (max-width: 600px) {
  .first-main__answer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 0;
  }
}
.first-main__a-icon {
  min-width: 48px;
}
.first-main__item-text {
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.1em;
  white-space: pre-line;
  margin-top: 23px;
}
.first-main__short {
  margin-top: clamp(4.5625rem, 1.3333333333rem + 10.7638888889vw, 6.5rem);
}
.first-main__short-title {
  color: var(--main);
  font-size: clamp(1.875rem, 1.1956521739rem + 2.7173913043vw, 2.5rem);
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.1em;
}
.first-main__short-text {
  max-width: 1114px;
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.1em;
  white-space: pre-line;
  margin-top: 49px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .first-main__short-text {
    margin-top: 58px;
  }
}
.first-main__short-subtitle {
  font-size: clamp(1.4375rem, 0.4881329114rem + 3.7974683544vw, 1.625rem);
  letter-spacing: 0.1em;
  margin-top: 74px;
}
@media (max-width: 600px) {
  .first-main__short-subtitle {
    text-align: center;
    margin-top: 124px;
  }
}
.first-main__short-subtitle_bottom {
  margin-top: clamp(4.125rem, -10.4583333333rem + 48.6111111111vw, 12.875rem);
}
.first-main__short-hr {
  border-width: 1px;
  border-color: var(--main);
  margin-top: 22px;
}
@media (max-width: 600px) {
  .first-main__short-hr {
    margin-top: 39px;
  }
}
.first-main__short-hr_difficult {
  margin-top: 26px;
}
.first-main__difficult {
  max-width: 1155px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: clamp(2.0625rem, -2.8333333333rem + 16.3194444444vw, 5rem);
  font-size: 1.125rem;
  margin-top: 55px;
  margin-left: clamp(0rem, -8.5210573477rem + 13.6200716846vw, 2.375rem);
}
.first-main__difficult-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
  letter-spacing: 0.1em;
}
.first-main__difficult-title::before {
  content: "";
  width: 18px;
  aspect-ratio: 1/1;
  background-color: var(--main);
  border-radius: 50%;
}
.first-main__difficult-text {
  line-height: 1.75;
  letter-spacing: 0.1em;
  margin-top: 30px;
}

/*###################################################################
  clinic（page）
###################################################################*/
.clinic-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: clamp(1rem, -1.7083333333rem + 9.0277777778vw, 2.625rem);
}
.clinic-title__logo {
  max-width: clamp(5.3125rem, 0.1041666667rem + 17.3611111111vw, 8.4375rem);
}
.clinic-title__jp {
  font-size: clamp(2.5rem, 1.4583333333rem + 3.4722222222vw, 3.125rem);
  letter-spacing: 0.1em;
}

.clinic-greeting_pos {
  margin-top: clamp(1.625rem, -4.4166666667rem + 20.1388888889vw, 5.25rem);
}
.clinic-greeting__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.clinic-greeting__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: clamp(1.625rem, 0.4791666667rem + 3.8194444444vw, 2.3125rem);
}
@media (max-width: 1280px) {
  .clinic-greeting__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 43px;
  }
}
.clinic-greeting__box {
  max-width: 674px;
  width: 100%;
}
.clinic-greeting__text {
  max-width: 640px;
  line-height: 2.3125;
  letter-spacing: 0.08em;
  white-space: pre-line;
}
.clinic-greeting__name {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(0.3125rem, -0.2083333333rem + 1.7361111111vw, 0.625rem);
     -moz-column-gap: clamp(0.3125rem, -0.2083333333rem + 1.7361111111vw, 0.625rem);
          column-gap: clamp(0.3125rem, -0.2083333333rem + 1.7361111111vw, 0.625rem);
  margin-top: clamp(1.625rem, -3.6875rem + 17.7083333333vw, 4.8125rem);
}
@media (max-width: 479px) {
  .clinic-greeting__name {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 8px;
  }
}
.clinic-greeting__job {
  width: clamp(9.125rem, 0.2708333333rem + 29.5138888889vw, 14.4375rem);
  height: clamp(2.875rem, 0.0625rem + 9.375vw, 4.5625rem);
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
  font-size: clamp(1.0625rem, 0.0208333333rem + 3.4722222222vw, 1.6875rem);
  font-weight: 900;
  letter-spacing: 0.14em;
}
.clinic-greeting__jp {
  color: var(--main);
  font-size: clamp(1.625rem, 0.1666666667rem + 4.8611111111vw, 2.5rem);
  font-weight: 900;
  letter-spacing: 0.14em;
}
.clinic-greeting__en {
  color: var(--main);
  font-size: clamp(1.125rem, -0.125rem + 4.1666666667vw, 1.875rem);
  letter-spacing: 0.16em;
}
.clinic-greeting__img {
  max-width: clamp(22.375rem, 6.0208333333rem + 54.5138888889vw, 32.1875rem);
  width: 100%;
}

.clinic-staff_pos {
  margin-top: 72px;
}
.clinic-staff__top {
  position: relative;
}
.clinic-staff__top::before {
  content: "";
  width: clamp(3.75rem, -8.370514064rem + 25.2182347236vw, 20rem);
  height: clamp(18.875rem, -16.75rem + 118.75vw, 40.25rem);
  position: absolute;
  top: clamp(0.5rem, -5.3333333333rem + 19.4444444444vw, 4rem);
  left: 0;
  z-index: -1;
  background-image: -webkit-repeating-linear-gradient(315deg, #35a4ca, #35a4ca 6px, #80c9ed 6px, #80c9ed 12px);
  background-image: repeating-linear-gradient(135deg, #35a4ca, #35a4ca 6px, #80c9ed 6px, #80c9ed 12px);
}
@media (min-width: 1921px) {
  .clinic-staff__top::before {
    width: 16.6666666667%;
  }
}
.clinic-staff__top::after {
  content: "";
  width: clamp(3.125rem, -9.4616876819rem + 26.1881668283vw, 20rem);
  height: 644px;
  position: absolute;
  bottom: 50px;
  right: 0;
  z-index: -1;
  background-image: -webkit-repeating-linear-gradient(315deg, #35a4ca, #35a4ca 6px, #80c9ed 6px, #80c9ed 12px);
  background-image: repeating-linear-gradient(135deg, #35a4ca, #35a4ca 6px, #80c9ed 6px, #80c9ed 12px);
}
@media (min-width: 1921px) {
  .clinic-staff__top::after {
    width: 16.6666666667%;
  }
}
@media (max-width: 768px) {
  .clinic-staff__top::after {
    width: clamp(1.875rem, -0.2083333333rem + 6.9444444444vw, 3.125rem);
    bottom: 101px;
  }
}
.clinic-staff__top-inner {
  max-width: 1056px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  position: relative;
  z-index: 1;
  padding-bottom: clamp(3.375rem, -4.9583333333rem + 27.7777777778vw, 8.375rem);
}
.clinic-staff__top-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: clamp(1.25rem, -11.25rem + 41.6666666667vw, 8.75rem);
}
@media (max-width: 768px) {
  .clinic-staff__top-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 50px;
  }
}
.clinic-staff__staff {
  max-width: 445px;
  width: 100%;
}
.clinic-staff__name {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 5px;
}
@media (max-width: 768px) {
  .clinic-staff__name {
    margin-top: 43px;
  }
}
.clinic-staff__job {
  width: 222px;
  height: 63px;
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
  font-size: 1.875rem;
  letter-spacing: 0.1em;
}
.clinic-staff__jp {
  color: var(--main);
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  margin-top: 22px;
}
.clinic-staff__en {
  color: var(--main);
  font-size: 1.625rem;
  letter-spacing: 0.1em;
  margin-top: 5px;
}
.clinic-staff__top-text {
  max-width: 415px;
  line-height: 1.75;
  letter-spacing: 0.1em;
  white-space: pre-line;
  margin-top: clamp(1.3125rem, 0.0625rem + 4.1666666667vw, 2.0625rem);
  margin-inline: auto;
}
.clinic-staff__set-img {
  max-width: 1340px;
  margin-inline: auto;
  padding: 0 30px;
}
@media (max-width: 768px) {
  .clinic-staff__set-img {
    padding: 0;
  }
}
.clinic-staff__02 {
  margin-top: -10px;
}
@media (max-width: 768px) {
  .clinic-staff__02 {
    margin-top: 8px;
  }
}
.clinic-staff__03 {
  margin-top: -203px;
}
@media (max-width: 1000px) {
  .clinic-staff__03 {
    margin-top: -251px;
  }
}

.clinic-staff-02 {
  padding-top: clamp(3.5rem, -4.625rem + 27.0833333333vw, 8.375rem);
}
@media (max-width: 1000px) {
  .clinic-staff-02__top {
    row-gap: 44px;
  }
}
.clinic-staff-02__main {
  margin-top: clamp(0rem, -5.7444699499rem + 9.1819699499vw, 3.4375rem);
}
@media (max-width: 1000px) {
  .clinic-staff-02__img {
    max-width: clamp(31.25rem, -12.2351190476rem + 90.4761904762vw, 44.3125rem);
  }
}
@media (max-width: 768px) {
  .clinic-staff-02__img {
    max-width: clamp(19.5625rem, 0.0833333333rem + 64.9305555556vw, 31.25rem);
  }
}
@media (max-width: 768px) {
  .clinic-staff-02__bottom {
    margin-top: 107px;
  }
}

.clinic-staff-03__main {
  padding-top: 82px;
  padding-bottom: 169px;
}
@media (max-width: 1000px) {
  .clinic-staff-03__main {
    margin-top: clamp(2.5rem, -0.9615384615rem + 11.5384615385vw, 6.25rem);
    margin-right: auto;
    padding-top: clamp(18.5rem, 13.8269230769rem + 15.5769230769vw, 23.5625rem);
    padding-bottom: clamp(6rem, 5.7692307692rem + 0.7692307692vw, 6.25rem);
  }
}
.clinic-staff-03__title {
  margin-top: 0;
}
.clinic-staff-03__img {
  max-width: clamp(25rem, 0.0502254509rem + 39.879759519vw, 37.4375rem);
  top: -55px;
}
@media (max-width: 1000px) {
  .clinic-staff-03__img {
    max-width: clamp(22.3125rem, 14.0625rem + 27.5vw, 31.25rem);
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.clinic-staff-03__sub-img {
  max-width: clamp(13.875rem, 5.3942307692rem + 28.2692307692vw, 23.0625rem);
  position: absolute;
  left: 18px;
  bottom: calc(clamp(5.6875rem, 2.2836538462rem + 11.3461538462vw, 9.375rem) * -1);
}
@media (max-width: 1000px) {
  .clinic-staff-03__sub-img {
    left: 47px;
  }
}

.clinic-time_pos {
  margin-top: clamp(9.125rem, 3.5rem + 18.75vw, 12.5rem);
}
.clinic-time__bg {
  background: url(../images/top-overview-bg.webp) repeat center center/100%;
  background-image: -webkit-image-set(url(../images/top-overview-bg.webp) 1x, url(../images/top-overview-bg@2x.webp) 2x);
  background-image: image-set(url(../images/top-overview-bg.webp) 1x, url(../images/top-overview-bg@2x.webp) 2x);
  margin-top: 36px;
}
@media (max-width: 768px) {
  .clinic-time__bg {
    margin-top: 54px;
  }
}
.clinic-time__inner {
  max-width: 1432px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 100px 30px 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media (max-width: 1150px) {
  .clinic-time__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 61px;
    padding: clamp(3.6875rem, -0.5833333333rem + 14.2361111111vw, 6.25rem) clamp(1.25rem, -1.914556962rem + 12.6582278481vw, 1.875rem) 100px;
  }
}
.clinic-time__main {
  max-width: 594px;
  width: 100%;
}
.clinic-time__top {
  max-width: 414px;
  margin-inline: auto;
}
.clinic-time__tel {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 11px;
     -moz-column-gap: 11px;
          column-gap: 11px;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: clamp(2.875rem, 1.6091772152rem + 5.0632911392vw, 3.125rem);
  margin-top: clamp(1.5625rem, 1.25rem + 1.0416666667vw, 1.75rem);
}
.clinic-time__tel::before {
  content: "";
  width: 35px;
  aspect-ratio: 1/1;
  background: url(../images/icon-tel-b.svg) no-repeat 0 0/contain;
}
.clinic-time__address {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  font-size: 1.125rem;
  line-height: 1.75;
  margin-top: 15px;
}
.clinic-time__table-wrapper {
  margin-top: 63px;
}
.clinic-time__note {
  font-size: clamp(1rem, 0.5833333333rem + 1.3888888889vw, 1.25rem);
}
.clinic-time__img {
  max-width: 770px;
  width: 100%;
}

.clinic-accsess {
  overflow: hidden;
}
.clinic-accsess_pos {
  margin-top: clamp(2.625rem, -2.6875rem + 17.7083333333vw, 5.8125rem);
}
.clinic-accsess__inner {
  max-width: 1196px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.clinic-accsess__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: clamp(4.8125rem, 3.0416666667rem + 5.9027777778vw, 5.875rem);
}
@media (max-width: 900px) {
  .clinic-accsess__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 30px;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.clinic-accsess__map {
  max-width: 640px;
  width: 100%;
}
@media (max-width: 900px) {
  .clinic-accsess__map {
    max-width: inherit;
    width: 100vw;
    margin-inline: calc(50% - 50vi);
  }
}
.clinic-accsess__gmap {
  width: 100%;
  height: clamp(18.75rem, 8.75rem + 33.3333333333vw, 24.75rem);
}
.clinic-accsess__box {
  max-width: 463px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 52px;
  margin-top: 25px;
}
.clinic-accsess__car {
  height: 122px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid var(--main);
  padding-left: clamp(1.25rem, -4.1297468354rem + 21.5189873418vw, 2.3125rem);
}
.clinic-accsess__car-text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 45px;
     -moz-column-gap: 45px;
          column-gap: 45px;
  font-size: 1.5rem;
}
.clinic-accsess__car-text::before {
  content: "";
  width: 78px;
  aspect-ratio: 1/1;
  background: url(../images/icon-car-access.svg) no-repeat 0 0/contain;
}
.clinic-accsess__train {
  height: 143px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid var(--main);
  padding-left: clamp(1.25rem, -4.1297468354rem + 21.5189873418vw, 2.3125rem);
}
.clinic-accsess__train-text {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  font-size: clamp(1.0625rem, 0.1131329114rem + 3.7974683544vw, 1.25rem);
  white-space: pre-line;
}
.clinic-accsess__train-text::before {
  content: "";
  width: 78px;
  aspect-ratio: 1/1;
  background: url(../images/icon-train-access.svg) no-repeat 0 0/contain;
}

.clinic-in_pos {
  margin-top: clamp(3.5625rem, -6.125rem + 32.2916666667vw, 9.375rem);
}
.clinic-in__inner {
  max-width: 1442px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.clinic-in__body {
  margin-top: 38px;
  padding: 0 clamp(1.875rem, -1.572521097rem + 7.1729957806vw, 5.0625rem);
}
@media (max-width: 768px) {
  .clinic-in__body {
    padding: 0;
  }
}
.clinic-in__slider {
  position: relative;
}
.clinic-in__img {
  aspect-ratio: 1280/702;
  -o-object-fit: cover;
     object-fit: cover;
}
.clinic-in__button::after {
  font-size: clamp(3.125rem, 1.0970464135rem + 4.2194092827vw, 5rem);
}
@media (max-width: 768px) {
  .clinic-in__button::after {
    font-size: clamp(2.1875rem, 0.625rem + 5.2083333333vw, 3.125rem);
  }
}
.clinic-in__prev {
  left: calc(clamp(2.5rem, 0.6748417722rem + 3.7974683544vw, 4.1875rem) * -1);
}
@media (max-width: 768px) {
  .clinic-in__prev {
    left: -2px;
  }
}
.clinic-in__next {
  right: calc(clamp(2.5rem, 0.6748417722rem + 3.7974683544vw, 4.1875rem) * -1);
}
@media (max-width: 768px) {
  .clinic-in__next {
    right: -2px;
  }
}
.clinic-in__items {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(0.625rem, -0.4565752461rem + 2.2503516174vw, 1.625rem);
  margin-top: clamp(1.875rem, -3.4375rem + 17.7083333333vw, 5.0625rem);
}
.clinic-in__item {
  cursor: pointer;
}
.clinic-in__thumbnail {
  aspect-ratio: 1280/702;
  -o-object-fit: cover;
     object-fit: cover;
}

.clinic-info_pos {
  margin-top: clamp(3.5rem, -3.0625rem + 21.875vw, 7.4375rem);
}
.clinic-info__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.clinic-info__jp {
  font-size: clamp(2.125rem, 0.2262658228rem + 7.5949367089vw, 2.5rem);
}
.clinic-info__note {
  font-size: clamp(1.375rem, 0.5416666667rem + 2.7777777778vw, 1.875rem);
  text-align: center;
  letter-spacing: 0.1em;
  margin-top: clamp(2.125rem, 1.6041666667rem + 1.7361111111vw, 2.4375rem);
}
@media (max-width: 479px) {
  .clinic-info__note {
    font-size: clamp(1.1875rem, 0.2381329114rem + 3.7974683544vw, 1.375rem);
  }
}
.clinic-info__body {
  min-height: 393px;
  display: grid;
  place-items: center;
  border: 2px solid var(--main);
  margin-top: clamp(2.75rem, -2.4583333333rem + 17.3611111111vw, 5.875rem);
  padding: clamp(1.6875rem, 1.375rem + 1.0416666667vw, 1.875rem) clamp(0.9375rem, 0.4166666667rem + 1.7361111111vw, 1.25rem) 36px;
}
.clinic-info__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: clamp(1.5625rem, 1.0416666667rem + 1.7361111111vw, 1.875rem);
}
.clinic-info__item {
  max-width: 1185px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
  line-height: 1.75;
  letter-spacing: 0.1em;
  white-space: pre-line;
}
@media (max-width: 768px) {
  .clinic-info__item {
    -webkit-column-gap: clamp(0.625rem, -4.4382911392rem + 20.253164557vw, 1.625rem);
       -moz-column-gap: clamp(0.625rem, -4.4382911392rem + 20.253164557vw, 1.625rem);
            column-gap: clamp(0.625rem, -4.4382911392rem + 20.253164557vw, 1.625rem);
  }
}
.clinic-info__item::before {
  content: "";
  min-width: 26px;
  aspect-ratio: 26/22;
  background: url(../images/icon-check-main.svg) no-repeat 0 0/contain;
  margin-top: 4px;
}

/*###################################################################
  medical（page）
###################################################################*/
.medical-title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 28px;
}
.medical-title__logo {
  width: 90px;
}
.medical-title__jp {
  font-size: clamp(2.5rem, 1.4583333333rem + 3.4722222222vw, 3.125rem);
  font-weight: 900;
  letter-spacing: 0.1em;
}
.medical-title__jp_long {
  text-align: center;
}
.medical-title__jp_s {
  font-size: clamp(2.1875rem, 1.6666666667rem + 1.7361111111vw, 2.5rem);
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.14em;
}

.medical-general {
  font-weight: 900;
}
.medical-general_pos {
  margin-top: 89px;
}
.medical-general__top {
  max-width: 1370px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  margin-top: 97px;
}
@media (max-width: 600px) {
  .medical-general__top {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.medical-general__subtitle {
  color: var(--main);
  font-size: clamp(2rem, 1.7961956522rem + 0.8152173913vw, 2.1875rem);
  text-align: center;
  letter-spacing: 0.14em;
}
.medical-general__top-body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: 69px;
}
@media (max-width: 1000px) {
  .medical-general__top-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 50px;
  }
}
.medical-general__top-item {
  max-width: 640px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
@media (max-width: 600px) {
  .medical-general__top-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 30px;
  }
}
.medical-general__top-img {
  max-width: 300px;
  width: 100%;
}
.medical-general__top-text {
  max-width: 310px;
  width: 100%;
  font-size: 1.125rem;
  line-height: 1.8333333333;
  letter-spacing: 0.14em;
}
@media (max-width: 600px) {
  .medical-general__top-text {
    max-width: 100%;
  }
}
.medical-general__bottom {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  margin-top: 92px;
}
@media (max-width: 768px) {
  .medical-general__bottom {
    max-width: 600px;
  }
}
.medical-general__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 77px;
  margin-top: 41px;
}
.medical-general__item-title {
  font-size: 1.5rem;
  letter-spacing: 0.14em;
  border-bottom: 1px solid var(--main);
  padding-bottom: 21px;
}
.medical-general__item-body {
  display: grid;
  grid-template-columns: 206px 1fr;
  -webkit-column-gap: 32px;
     -moz-column-gap: 32px;
          column-gap: 32px;
  margin-top: 19px;
}
@media (max-width: 768px) {
  .medical-general__item-body {
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: 20px;
  }
}
.medical-general__item-img {
  max-width: 206px;
}
.medical-general__text-box {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 40px;
  margin-top: 19px;
}
.medical-general__box-item {
  display: grid;
  grid-template-columns: clamp(5.375rem, -3.1555735931rem + 17.7489177489vw, 7.9375rem) 1fr;
  -webkit-column-gap: clamp(1.125rem, -1.3717532468rem + 5.1948051948vw, 1.875rem);
     -moz-column-gap: clamp(1.125rem, -1.3717532468rem + 5.1948051948vw, 1.875rem);
          column-gap: clamp(1.125rem, -1.3717532468rem + 5.1948051948vw, 1.875rem);
}
@media (max-width: 600px) {
  .medical-general__box-item {
    grid-template-columns: 1fr;
    row-gap: 15px;
  }
}
.medical-general__symptom {
  max-width: 127px;
  height: clamp(3.125rem, -1.4523809524rem + 9.5238095238vw, 4.5rem);
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
  font-size: 1.5rem;
  letter-spacing: 0.14em;
  margin-top: 8px;
}
.medical-general__treatment {
  max-width: 127px;
  height: clamp(3.125rem, -1.4523809524rem + 9.5238095238vw, 4.5rem);
  display: grid;
  place-items: center;
  background-color: #b5d7ff;
  color: var(--main);
  font-size: 1.5rem;
  letter-spacing: 0.14em;
  margin-top: 8px;
}
.medical-general__item-text {
  font-size: 1.125rem;
  line-height: 1.8333333333;
  letter-spacing: 0.14em;
}

.medical-root_pos {
  margin-top: clamp(7.5rem, 2rem + 22vw, 15.75rem);
}
.medical-root__col {
  margin-top: clamp(3.125rem, 0.4166666667rem + 10.8333333333vw, 7.1875rem);
}
.medical-root__consult {
  margin-top: 97px;
}

.medical-root2_pos {
  margin-top: clamp(7.5rem, 5.625rem + 7.5vw, 10.3125rem);
}
.medical-root2__col {
  margin-top: 62px;
}
.medical-root2__risk {
  margin-top: clamp(3.75rem, 0.7689701897rem + 11.9241192412vw, 6.5rem);
}

.medical-periodontal_pos {
  margin-top: clamp(7.5rem, 2.75rem + 19vw, 14.625rem);
}
.medical-periodontal__col {
  margin-top: clamp(3.875rem, 1.5rem + 9.5vw, 7.4375rem);
}
.medical-periodontal__bottom {
  margin-top: clamp(5.625rem, 0.5298913043rem + 20.3804347826vw, 10.3125rem);
}
.medical-periodontal__bottom-inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 600px) {
  .medical-periodontal__bottom-inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.medical-periodontal__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 58px;
}
.medical-periodontal__item {
  font-weight: 900;
}
.medical-periodontal__item-title {
  font-size: clamp(1.25rem, 0.7065217391rem + 2.1739130435vw, 1.75rem);
  letter-spacing: 0.14em;
  border-bottom: 2px solid var(--main);
  padding-bottom: clamp(0.9375rem, 0.1902173913rem + 2.9891304348vw, 1.625rem);
}
.medical-periodontal__item-text {
  letter-spacing: 0.14em;
  line-height: 2.0625;
  white-space: pre-line;
  margin-top: 33px;
}

.medical-surgery_pos {
  margin-top: clamp(7.5rem, 1.6666666667rem + 23.3333333333vw, 16.25rem);
}
.medical-surgery__col {
  margin-top: clamp(3.875rem, 2.125rem + 7vw, 6.5rem);
}
.medical-surgery__consult {
  margin-top: 97px;
}

.medical-surgery2_pos {
  margin-top: 82px;
}
.medical-surgery2__col {
  margin-top: clamp(3.875rem, 2.125rem + 7vw, 6.5rem);
}
.medical-surgery2__consult {
  margin-top: 97px;
}
.medical-surgery2__type {
  margin-top: clamp(6.25rem, 2.5416666667rem + 14.8333333333vw, 11.8125rem);
}

.medical-correction_pos {
  margin-top: clamp(7.5rem, 4.625rem + 11.5vw, 11.8125rem);
}
.medical-correction__col {
  margin-top: clamp(3.875rem, 2.125rem + 7vw, 6.5rem);
}
.medical-correction__consult {
  margin-top: 97px;
}

.medical-correction2_pos {
  margin-top: clamp(7.5rem, 5.5rem + 8vw, 10.5rem);
}
.medical-correction2__col {
  margin-top: clamp(3.875rem, 2.125rem + 7vw, 6.5rem);
}
.medical-correction2__type {
  margin-top: clamp(6.25rem, 2.5416666667rem + 14.8333333333vw, 11.8125rem);
}

.medical-correction3_pos {
  margin-top: clamp(7.5rem, 6.9583333333rem + 2.1666666667vw, 8.3125rem);
}
.medical-correction3__inner {
  max-width: 1505px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  margin-top: clamp(2.5rem, 1.1413043478rem + 5.4347826087vw, 3.75rem);
}
@media (max-width: 768px) {
  .medical-correction3__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.medical-correction3__top-text {
  max-width: 1075px;
  font-size: 1.125rem;
  font-weight: 900;
  line-height: 2.1666666667;
  letter-spacing: 0.14em;
  white-space: pre-line;
  margin-inline: auto;
}
.medical-correction3__figure-wrapper {
  overflow: auto;
  margin-top: clamp(2.1875rem, -0.8016304348rem + 11.9565217391vw, 4.9375rem);
}
.medical-correction3__figure {
  min-width: 768px;
}
.medical-correction3__bottom {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: 64px;
}
@media (max-width: 1000px) {
  .medical-correction3__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 40px;
  }
}
.medical-correction3__item {
  max-width: 726px;
  width: 100%;
}
.medical-correction3__item-title {
  min-height: clamp(5.75rem, 4.3233695652rem + 5.7065217391vw, 7.0625rem);
  display: grid;
  place-items: center;
  color: var(--base);
  font-size: clamp(1.625rem, 0.88679941rem + 1.1799410029vw, 1.875rem);
  line-height: 1.75;
  text-align: center;
  letter-spacing: 0.08em;
  white-space: pre-line;
}
@media (max-width: 768px) {
  .medical-correction3__item-title {
    font-size: clamp(1.3125rem, 0.972826087rem + 1.3586956522vw, 1.625rem);
  }
}
.medical-correction3__item-title_1 {
  background-color: #005fd1;
}
.medical-correction3__item-title_2 {
  background-color: #b38d50;
}
.medical-correction3__item-text-wrapper {
  display: grid;
  place-items: center;
  padding: 30px 15px 34px;
}
.medical-correction3__item-text-wrapper_1 {
  background-color: #eee;
}
.medical-correction3__item-text-wrapper_2 {
  background-color: #fbf1e2;
}
.medical-correction3__item-text {
  max-width: 618px;
  font-size: clamp(1rem, 0.7282608696rem + 1.0869565217vw, 1.25rem);
  line-height: 2.1;
  letter-spacing: 0.08em;
}

.medical-correction4_pos {
  margin-top: clamp(7.5rem, 7.4166666667rem + 0.3333333333vw, 7.625rem);
}
.medical-correction4__flow {
  margin-top: clamp(2.5rem, 0.1222826087rem + 9.5108695652vw, 4.6875rem);
}
.medical-correction4__items {
  max-width: 1506px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 63px;
}
@media (max-width: 768px) {
  .medical-correction4__items {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.medical-correction4__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  position: relative;
  z-index: 0;
  background-color: #e7f2ff;
  font-weight: 900;
  outline: 1px solid #005fd1;
  outline-offset: calc(clamp(0.875rem, 0.2403846154rem + 2.1153846154vw, 1.5625rem) * -1);
  padding: 39px clamp(2.5rem, -0.5090180361rem + 4.8096192385vw, 4rem) 39px 45px;
}
@media (max-width: 1000px) {
  .medical-correction4__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 30px;
    padding: 39px clamp(1.5625rem, 0.7291666667rem + 3.3333333333vw, 2.8125rem) 50px clamp(1.5625rem, 0.7291666667rem + 3.3333333333vw, 2.8125rem);
  }
}
.medical-correction4__item::before {
  content: "";
  width: 38.379814077%;
  aspect-ratio: 578/245;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  background-color: #c1dcfb;
}
@media (max-width: 1000px) {
  .medical-correction4__item::before {
    width: clamp(22.5rem, 13.4166666667rem + 36.3333333333vw, 36.125rem);
  }
}
.medical-correction4__item:not(:last-of-type)::after {
  content: "";
  width: 49px;
  aspect-ratio: 49/23;
  position: absolute;
  left: 50%;
  bottom: -45px;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
          clip-path: polygon(100% 0, 0 0, 50% 100%);
  background-color: #005fd1;
}
.medical-correction4__main {
  max-width: 817px;
  width: 100%;
}
.medical-correction4__main-top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
     -moz-column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
          column-gap: clamp(0.75rem, 0rem + 3vw, 1.875rem);
}
.medical-correction4__number {
  width: clamp(2.8125rem, 1.6041666667rem + 4.8333333333vw, 4.625rem);
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  background-color: #005fd1;
  color: var(--base);
  font-size: clamp(1.625rem, 0.625rem + 4vw, 3.125rem);
  letter-spacing: 0.02em;
}
.medical-correction4__item-title {
  font-size: clamp(1.75rem, 1.25rem + 2vw, 2.5rem);
  letter-spacing: 0.02em;
}
.medical-correction4__item-text {
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.02em;
  margin-top: clamp(1.5625rem, 0.3541666667rem + 4.8333333333vw, 3.375rem);
}
.medical-correction4__img {
  max-width: clamp(23.75rem, 15.9767034068rem + 12.4248496994vw, 27.625rem);
  width: 100%;
}
@media (max-width: 1000px) {
  .medical-correction4__img {
    max-width: 442px;
    margin-inline: auto;
  }
}
.medical-correction4__risk {
  margin-top: clamp(3.75rem, -2.3475609756rem + 24.3902439024vw, 9.375rem);
}

.medical-child_pos {
  margin-top: clamp(7.5rem, 5.8333333333rem + 6.6666666667vw, 10rem);
}
.medical-child__col {
  margin-top: clamp(3.875rem, 0.4583333333rem + 13.6666666667vw, 9rem);
}
.medical-child__consult {
  margin-top: 97px;
}

.medical-child2_pos {
  margin-top: 105px;
}
.medical-child2__col {
  margin-top: clamp(3.875rem, 0.4166666667rem + 13.8333333333vw, 9.0625rem);
}
.medical-child2__bottom {
  position: relative;
  z-index: 0;
  background-color: #e4f6ff;
  font-weight: 900;
  margin-top: clamp(3.875rem, 1.4166666667rem + 9.8333333333vw, 7.5625rem);
}
.medical-child2__bottom::after {
  content: "";
  width: clamp(25rem, 1.6666666667rem + 93.3333333333vw, 60rem);
  aspect-ratio: 960/531;
  position: absolute;
  bottom: 43px;
  left: 0;
  z-index: -1;
  -webkit-clip-path: polygon(100% 100%, 0 0, 0 100%);
          clip-path: polygon(100% 100%, 0 0, 0 100%);
  background-color: #d2eefc;
}
.medical-child2__bottom-inner {
  max-width: 1300px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 36px 30px 83px;
}
@media (max-width: 768px) {
  .medical-child2__bottom-inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-bottom: clamp(3.4375rem, 1.535326087rem + 7.6086956522vw, 5.1875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.medical-child2__title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: clamp(1.375rem, 0.152173913rem + 4.8913043478vw, 2.5rem);
  line-height: 1.75;
  letter-spacing: 0.1em;
  margin-inline: auto;
}
@media (max-width: 1000px) {
  .medical-child2__title {
    text-align: center;
  }
}
@media (max-width: 1000px) {
  .medical-child2__deco {
    font-size: clamp(2.6875rem, 0.3097826087rem + 9.5108695652vw, 4.875rem);
    font-weight: 400;
  }
}
.medical-child2__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: clamp(3.125rem, 1.0190217391rem + 8.4239130435vw, 5.0625rem);
}
@media (max-width: 768px) {
  .medical-child2__items {
    max-width: 600px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 20px;
    margin-inline: auto;
  }
}
.medical-child2__item {
  max-width: 384px;
}
@media (max-width: 768px) {
  .medical-child2__item {
    max-width: clamp(10.3125rem, 2.5rem + 31.25vw, 17.5rem);
  }
}
.medical-child2__text {
  max-width: 1111px;
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
  margin-top: clamp(1.875rem, 0.1766304348rem + 6.7934782609vw, 3.4375rem);
  margin-inline: auto;
}
.medical-child2__blank {
  height: 43px;
  background-color: #7eb2f0;
}

.medical-child3_pos {
  margin-top: 84px;
}
.medical-child3__type {
  margin-top: clamp(3.125rem, 0.7916666667rem + 9.3333333333vw, 6.625rem);
}

.medical-whitening_pos {
  margin-top: clamp(7.5rem, 2.4166666667rem + 20.3333333333vw, 15.125rem);
}
.medical-whitening__col {
  margin-top: clamp(3.875rem, 1.5416666667rem + 9.3333333333vw, 7.375rem);
}
.medical-whitening__consult {
  margin-top: 97px;
}
.medical-whitening__type {
  margin-top: clamp(3.125rem, -1.25rem + 17.5vw, 9.6875rem);
}
.medical-whitening__type2 {
  margin-top: clamp(3.125rem, -0.75rem + 15.5vw, 8.9375rem);
}
.medical-whitening__risk {
  margin-top: clamp(3.125rem, 1.9583333333rem + 4.6666666667vw, 4.875rem);
}

.medical-cosmetic_pos {
  margin-top: clamp(7.5rem, 5rem + 10vw, 11.25rem);
}
.medical-cosmetic__col {
  margin-top: clamp(3.875rem, 1.875rem + 8vw, 6.875rem);
}
.medical-cosmetic__consult {
  margin-top: 97px;
}

.medical-cosmetic2_pos {
  margin-top: clamp(7.5rem, 5.4583333333rem + 8.1666666667vw, 10.5625rem);
}
.medical-cosmetic2__col {
  margin-top: clamp(3.875rem, 2.5833333333rem + 5.1666666667vw, 5.8125rem);
}
.medical-cosmetic2__type {
  margin-top: clamp(3.125rem, -1.25rem + 17.5vw, 9.6875rem);
}

.medical-maternity_pos {
  margin-top: clamp(7.5rem, 3.25rem + 17vw, 13.875rem);
}
.medical-maternity__col {
  margin-top: clamp(3.875rem, 1.875rem + 8vw, 6.875rem);
}
.medical-maternity__consult {
  margin-top: 97px;
}

.medical-maternity2_pos {
  margin-top: clamp(7.5rem, 5.3333333333rem + 8.6666666667vw, 10.75rem);
}
.medical-maternity2__type {
  margin-top: clamp(3.125rem, 2.8333333333rem + 1.1666666667vw, 3.5625rem);
}
.medical-maternity2__faq {
  margin-top: clamp(5rem, 2.625rem + 9.5vw, 8.5625rem);
}

.medical-false_pos {
  margin-top: clamp(7.5rem, 3.7916666667rem + 14.8333333333vw, 13.0625rem);
}
.medical-false__col {
  margin-top: clamp(3.875rem, 0.5rem + 13.5vw, 8.9375rem);
}
.medical-false__consult {
  margin-top: 97px;
}

.medical-false2_pos {
  margin-top: 103px;
}
.medical-false2__col {
  margin-top: clamp(3.875rem, 0.4166666667rem + 13.8333333333vw, 9.0625rem);
}
.medical-false2__block {
  margin-top: clamp(3.875rem, 0.0416666667rem + 15.3333333333vw, 9.625rem);
}
.medical-false2__block-inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .medical-false2__block-inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.medical-false2__table-wrapper {
  overflow: auto;
}
.medical-false2__table {
  width: 100%;
  min-width: 640px;
  font-size: clamp(1rem, 0.326619965rem + 1.4010507881vw, 1.5rem);
  line-height: 1.6666666667;
  text-align: center;
}
.medical-false2__tr-top {
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
}
.medical-false2__tr {
  border-bottom: 1px solid #333;
}
.medical-false2__th-top {
  width: 33.3333333333%;
  text-align: center;
  padding: 21px 0;
}
.medical-false2__th-top_l {
  background-color: #7eb2f0;
}
.medical-false2__th-top_d {
  background-color: #005fd1;
  color: var(--base);
}
.medical-false2__th-top_blank {
  border-right: 1px solid #333;
  border-left: 1px solid #333;
}
@media (max-width: 768px) {
  .medical-false2__th-top_blank {
    width: 20%;
  }
}
.medical-false2__th-top_right {
  border-right: 1px solid #333;
}
.medical-false2__th {
  background-color: #7eb2f0;
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid #333;
  border-left: 1px solid #333;
}
.medical-false2__td {
  vertical-align: middle;
  white-space: pre-line;
  padding: clamp(1.25rem, 0.3241024518rem + 1.9264448336vw, 1.9375rem) 0;
}
.medical-false2__td_2 {
  background-color: #efefef;
  border-right: 1px solid #333;
}
.medical-false2__type {
  background-color: #d2eefc;
  margin-top: clamp(5.625rem, 0.25rem + 21.5vw, 13.6875rem);
}
.medical-false2__risk {
  margin-top: clamp(4.375rem, 0.7916666667rem + 14.3333333333vw, 9.75rem);
}

.medical-prevention_pos {
  margin-top: clamp(7.5rem, 5rem + 10vw, 11.25rem);
}
.medical-prevention__col {
  margin-top: clamp(3.875rem, 1.9166666667rem + 7.8333333333vw, 6.8125rem);
}
.medical-prevention__consult {
  margin-top: 97px;
}

.medical-prevention2_pos {
  margin-top: clamp(7.5rem, 5.4583333333rem + 8.1666666667vw, 10.5625rem);
}
.medical-prevention2__col {
  margin-top: clamp(3.875rem, 2.5833333333rem + 5.1666666667vw, 5.8125rem);
}
.medical-prevention2__and {
  margin-top: clamp(4.375rem, 0.7916666667rem + 14.3333333333vw, 9.75rem);
}
.medical-prevention2__col2 {
  margin-top: clamp(3.875rem, 0.5rem + 13.5vw, 8.9375rem);
}
.medical-prevention2__bottom {
  position: relative;
  z-index: 0;
  background-color: #e7f2ff;
  margin-top: clamp(3.875rem, 0.9583333333rem + 11.6666666667vw, 8.25rem);
}
.medical-prevention2__bottom::after {
  content: "";
  width: 33.8541666667%;
  aspect-ratio: 650/469;
  background-color: #cfe4fd;
  position: absolute;
  bottom: 94px;
  left: 0;
  z-index: -1;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
          clip-path: polygon(0 0, 0% 100%, 100% 100%);
}
@media (max-width: 768px) {
  .medical-prevention2__bottom::after {
    width: 400px;
  }
}
.medical-prevention2__bottom-inner {
  max-width: 1738px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding: 126px 30px 153px;
}
@media (max-width: 768px) {
  .medical-prevention2__bottom-inner {
    padding-top: clamp(4.375rem, 0.5706521739rem + 15.2173913043vw, 7.875rem);
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.medical-prevention2__bottom-title {
  font-size: 2.5rem;
  text-align: center;
  letter-spacing: 0.14em;
}
.medical-prevention2__subtitle {
  max-width: 1280px;
  height: 103px;
  display: grid;
  place-items: center;
  font-size: clamp(1.75rem, 1.2744565217rem + 1.902173913vw, 2.1875rem);
  text-align: center;
  letter-spacing: 0.14em;
  border-top: 1px solid var(--text);
  border-bottom: 1px solid var(--text);
  margin-top: 76px;
  margin-inline: auto;
}
.medical-prevention2__subtitle_2 {
  margin-top: clamp(7.5rem, 2.3369565217rem + 20.652173913vw, 12.25rem);
}
.medical-prevention2__text {
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.14em;
  margin-top: clamp(2.875rem, 0.6331521739rem + 8.9673913043vw, 4.9375rem);
  margin-inline: auto;
}
.medical-prevention2__text_1 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.medical-prevention2__text_2 {
  max-width: 1052px;
}
.medical-prevention2__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 23px;
     -moz-column-gap: 23px;
          column-gap: 23px;
  margin-top: 72px;
}
@media (max-width: 1200px) {
  .medical-prevention2__items {
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
    row-gap: 30px;
  }
}
@media (max-width: 768px) {
  .medical-prevention2__items {
    grid-template-columns: 1fr;
  }
}
.medical-prevention2__item {
  max-width: 564px;
  background-color: var(--base);
}
.medical-prevention2__img {
  aspect-ratio: 565/349;
  -o-object-fit: cover;
     object-fit: cover;
}
.medical-prevention2__item-title {
  height: clamp(4.375rem, 2.4048913043rem + 7.8804347826vw, 6.1875rem);
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
  font-size: clamp(1.875rem, 1.4673913043rem + 1.6304347826vw, 2.25rem);
  letter-spacing: 0.1em;
}
.medical-prevention2__item-title_2 {
  background-color: #4972a4;
}
.medical-prevention2__item-text {
  min-height: 181px;
  font-size: clamp(1rem, 0.8641304348rem + 0.5434782609vw, 1.125rem);
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
  padding: 10px 20px 11px;
}
.medical-prevention2__blank {
  height: 93px;
  background-color: var(--main);
}

.medical-prevention3_pos {
  margin-top: clamp(7.5rem, 7.375rem + 0.5vw, 7.6875rem);
}
.medical-prevention3__inner {
  max-width: 1284px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .medical-prevention3__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.medical-prevention3__text {
  max-width: 1075px;
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.14em;
  margin-top: 47px;
  margin-inline: auto;
}
.medical-prevention3__img-wrapper {
  overflow: auto;
  margin-top: clamp(3.4375rem, 1.2635869565rem + 8.6956521739vw, 5.4375rem);
}
.medical-prevention3__img {
  min-width: 712px;
}

.medical-prevention4_pos {
  margin-top: clamp(7.5rem, 4.875rem + 10.5vw, 11.4375rem);
}
.medical-prevention4__col {
  margin-top: clamp(3.875rem, 0.5rem + 13.5vw, 8.9375rem);
}

.medical-implant_pos {
  margin-top: clamp(7.5rem, -1.25rem + 35vw, 20.625rem);
}
.medical-implant__col {
  margin-top: clamp(3.875rem, 2rem + 7.5vw, 6.6875rem);
}
.medical-implant__consult {
  margin-top: 97px;
}

.medical-implant2_pos {
  margin-top: clamp(7.5rem, 5.5rem + 8vw, 10.5rem);
}
.medical-implant2__col {
  margin-top: clamp(3.875rem, 2.5833333333rem + 5.1666666667vw, 5.8125rem);
}
.medical-implant2__and {
  margin-top: clamp(4.375rem, 0.7916666667rem + 14.3333333333vw, 9.75rem);
}
.medical-implant2__col2 {
  margin-top: clamp(3.875rem, 0.5rem + 13.5vw, 8.9375rem);
}
.medical-implant2__type {
  margin-top: clamp(5.625rem, 1rem + 18.5vw, 12.5625rem);
}

.medical-implant3_pos {
  margin-top: clamp(7.5rem, 5.4583333333rem + 8.1666666667vw, 10.5625rem);
}
.medical-implant3__inner {
  max-width: 1272px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
@media (max-width: 768px) {
  .medical-implant3__inner {
    padding-right: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
    padding-left: clamp(1.25rem, 0.0839552239rem + 3.7313432836vw, 1.875rem);
  }
}
.medical-implant3__text {
  font-size: 1.125rem;
  line-height: 2.2222222222;
  letter-spacing: 0.1em;
  white-space: pre-line;
  margin-top: clamp(3.125rem, 1.0869565217rem + 8.152173913vw, 5rem);
}
.medical-implant3__col {
  margin-top: clamp(3.875rem, 1.5416666667rem + 9.3333333333vw, 7.375rem);
}
.medical-implant3__and {
  margin-top: clamp(4.375rem, 2.625rem + 7vw, 7rem);
}
.medical-implant3__faq {
  margin-top: clamp(5rem, 1.5rem + 14vw, 10.25rem);
}

/*###################################################################
  price（page）
###################################################################*/
.price-main_pos {
  margin-top: clamp(1.5625rem, -5.1041666667rem + 22.2222222222vw, 5.5625rem);
}
.price-main__inner {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.price-main__title-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: clamp(1.375rem, 0.9583333333rem + 1.3888888889vw, 1.625rem);
}
.price-main__logo {
  max-width: 90px;
}
.price-main__title {
  font-size: clamp(2.5rem, 1.4583333333rem + 3.4722222222vw, 3.125rem);
  font-weight: 900;
}
.price-main__top-text {
  font-size: clamp(1rem, 0.7916666667rem + 0.6944444444vw, 1.125rem);
  line-height: 1.75;
  letter-spacing: 0.14em;
  white-space: pre-line;
  margin-top: clamp(1.75rem, -7.4166666667rem + 30.5555555556vw, 7.25rem);
}
.price-main__block {
  max-width: 1280px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  margin-top: clamp(6.25rem, -1.5625rem + 26.0416666667vw, 10.9375rem);
}
.price-main__block-title {
  color: var(--main);
  font-size: 2.5rem;
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.14em;
}
.price-main__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 72px;
  margin-top: 70px;
}
@media (max-width: 768px) {
  .price-main__items {
    row-gap: 74px;
    margin-top: 73px;
  }
}
.price-main__item-title {
  font-size: 1.625rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  border-bottom: 2px solid var(--main);
  padding-bottom: 26px;
}
.price-main__item-inner {
  max-width: 1122px;
  margin-inline: auto;
  margin-top: 26px;
}
@media (max-width: 768px) {
  .price-main__item-inner {
    margin-top: 45px;
  }
}
.price-main__note {
  font-size: 1.125rem;
  font-weight: 900;
  line-height: 1.75;
  letter-spacing: 0.14em;
  text-indent: -1em;
  padding-left: 1em;
}
.price-main__blank {
  height: 1.96875rem;
}
.price-main__dl {
  display: grid;
  grid-template-columns: 475px 1fr;
  font-size: 1.125rem;
  font-weight: 900;
  line-height: 1.8888888889;
  border: 2px solid #a4a4a4;
  margin-top: 13px;
}
@media (max-width: 768px) {
  .price-main__dl {
    grid-template-columns: 1fr;
  }
}
.price-main__dt {
  background-color: #b5d7ff;
  letter-spacing: 0.14em;
  padding: 1.09375rem 10px 1.09375rem 25px;
}
.price-main__dt:not(:last-of-type) {
  border-bottom: 1px solid #a4a4a4;
}
.price-main__dt_ls-100 {
  letter-spacing: 0.1em;
}
.price-main__dt_ls-60 {
  letter-spacing: 0.06em;
}
.price-main__dd {
  text-align: left;
  letter-spacing: 0.14em;
  padding: 15px;
}
@media (max-width: 768px) {
  .price-main__dd {
    padding-right: clamp(1.0625rem, -1.5416666667rem + 8.6805555556vw, 2.625rem);
  }
}
.price-main__dd:not(:last-of-type) {
  border-bottom: 1px solid #a4a4a4;
}
.price-main__dd_ls-60 {
  letter-spacing: 0.06em;
}
.price-main__loan-title {
  color: var(--main);
  font-size: clamp(2.1875rem, 1.6666666667rem + 1.7361111111vw, 2.5rem);
  font-weight: 900;
  text-align: center;
  letter-spacing: 0.14em;
}
@media (max-width: 768px) {
  .price-main__loan-title {
    font-size: clamp(1.875rem, 0.292721519rem + 6.3291139241vw, 2.1875rem);
    letter-spacing: 0;
  }
}
.price-main__loan-inner {
  max-width: 1075px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: clamp(2.3125rem, -3rem + 17.7083333333vw, 5.5rem);
  margin-inline: auto;
}
@media (max-width: 1000px) {
  .price-main__loan-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    row-gap: 51px;
  }
}
.price-main__loan-img {
  max-width: 400px;
  width: 100%;
  margin-top: 20px;
}
.price-main__loan-text {
  max-width: 529px;
  font-size: 1.125rem;
  line-height: 1.75;
  letter-spacing: 0.14em;
}

/*###################################################################
  news（page）
###################################################################*/
.news-list-box_pos {
  margin-top: clamp(4.6875rem, -9.8768939394rem + 30.303030303vw, 9.0625rem);
}
.news-list-box__inner {
  max-width: 1519px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  display: grid;
  grid-template-columns: 1fr clamp(17.5rem, -1.177322547rem + 29.8538622129vw, 26.4375rem);
  -webkit-box-align: start;
  -webkit-align-items: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 151px clamp(1.875rem, -5.7004175365rem + 12.108559499vw, 5.5rem);
}
@media (max-width: 1000px) {
  .news-list-box__inner {
    max-width: 800px;
    grid-template-columns: 1fr;
  }
}

.news-list__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: clamp(5.625rem, -5.6103896104rem + 23.3766233766vw, 9rem);
}
.news-list__post-title {
  min-height: 78px;
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
  font-size: clamp(1.875rem, 1.0913361169rem + 1.2526096033vw, 2.25rem);
  line-height: 1.5;
  font-weight: 900;
  padding: 12px 10px;
}
.news-list__body {
  display: grid;
  grid-template-columns: clamp(13.75rem, 5.9133611691rem + 12.5260960334vw, 17.5rem) 1fr;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .news-list__body {
    max-width: 500px;
    grid-template-columns: 1fr;
    row-gap: 15px;
    margin-top: 0;
    margin-inline: auto;
  }
}
.news-list__thumbnail {
  max-width: 280px;
  margin-top: 32px;
}
@media (max-width: 768px) {
  .news-list__thumbnail {
    max-width: 100%;
    margin-top: 26px;
  }
}
.news-list__thumbnail img {
  aspect-ratio: 280/244;
  -o-object-fit: cover;
     object-fit: cover;
}
.news-list__main {
  max-width: 676px;
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-left: auto;
}
.news-list__top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
  font-weight: 900;
}
@media (max-width: 768px) {
  .news-list__top {
    -webkit-box-pack: start;
    -webkit-justify-content: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}
.news-list__category {
  min-width: 92px;
  height: 34px;
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
  padding: 0 15px;
}
.news-list__date {
  font-size: 1.25rem;
}
.news-list__excerpt {
  font-size: 1.25rem;
  line-height: 1.75;
  margin-top: 54px;
}
@media (max-width: 768px) {
  .news-list__excerpt {
    margin-top: 12px;
  }
}
.news-list__post-link {
  width: 180px;
  height: 49px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  background-color: var(--main);
  color: var(--base);
  font-size: 1.25rem;
  margin-top: auto;
  margin-left: auto;
}
@media (max-width: 768px) {
  .news-list__post-link {
    margin-top: 26px;
  }
}
.news-list__arrow {
  font-size: 1rem;
  font-weight: 900;
}
.news-list__no-post {
  font-size: 1.25rem;
  font-weight: 900;
  text-align: center;
}
.news-list__pagination {
  font-size: 1.25rem;
  margin-top: 150px;
}
@media (max-width: 768px) {
  .news-list__pagination {
    margin-top: 80px;
  }
}
.news-list__pagination ul.page-numbers {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(1.125rem, -0.875rem + 8vw, 2.125rem);
  margin-inline: auto;
}
.news-list__pagination ul.page-numbers li {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
.news-list__pagination .page-numbers.current {
  color: var(--main);
}

@media (hover: hover) and (pointer: fine) {
  .news-list__pagination a {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .news-list__pagination a:hover, .news-list__pagination a:focus {
    opacity: 0.7;
  }
}
.news-aside {
  max-width: 423px;
  min-width: 280px;
  width: 100%;
  position: -webkit-sticky;
  position: sticky;
  top: 120px;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.75;
}
@media (max-width: 1000px) {
  .news-aside {
    max-width: 100%;
  }
}
.news-aside_news-post {
  max-width: clamp(17.5rem, -6.1053759894rem + 37.7308707124vw, 26.4375rem);
}
@media (max-width: 1000px) {
  .news-aside_news-post {
    max-width: 100%;
    margin-top: 151px;
  }
}
.news-aside__title {
  height: 64px;
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
}
.news-aside__items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 20px;
  margin-top: 18px;
  padding-left: clamp(0rem, -6.2418831169rem + 12.987012987vw, 1.875rem);
}

@media (hover: hover) and (pointer: fine) {
  .news-aside__category-link {
    -webkit-transition: color 0.5s;
    transition: color 0.5s;
  }
  .news-aside__category-link:hover, .news-aside__category-link:focus {
    color: var(--main);
  }
}
.news-post-box_pos {
  margin-top: clamp(4.6875rem, -9.8768939394rem + 30.303030303vw, 9.0625rem);
}
.news-post-box__inner {
  max-width: 1350px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
}
@media (max-width: 1000px) {
  .news-post-box__inner {
    max-width: 800px;
    display: block;
  }
}

.news-post {
  max-width: clamp(39.4375rem, 4.9373350923rem + 55.1451187335vw, 52.5rem);
}
@media (max-width: 1000px) {
  .news-post {
    max-width: 800px;
  }
}
.news-post__bg {
  border: 1px solid #75778d;
  padding: 50px 20px 100px;
}
.news-post__top {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 20px;
     -moz-column-gap: 20px;
          column-gap: 20px;
}
.news-post__category {
  min-width: 92px;
  height: 34px;
  display: grid;
  place-items: center;
  background-color: var(--main);
  color: var(--base);
  padding: 0 15px;
}
.news-post__date {
  display: block;
  font-size: 1.25rem;
  font-weight: 900;
}
@media (max-width: 768px) {
  .news-post__date {
    font-size: 1.125rem;
  }
}
.news-post__title {
  font-size: 1.5rem;
  line-height: 1.75;
  word-break: break-all;
  margin-top: 10px;
}
@media (max-width: 768px) {
  .news-post__title {
    font-size: 1.375rem;
    margin-top: 10px;
  }
}
.news-post__thumbnail {
  margin-top: 40px;
}
.news-post__editor {
  margin-top: 40px;
}

.news-post-pager {
  background-color: var(--base);
  border: 1px solid #75778d;
}
.news-post-pager_pos {
  max-width: 840px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 20px;
  padding-left: 20px;
  margin-top: 80px;
}
@media (max-width: 768px) {
  .news-post-pager_pos {
    margin-top: 60px;
  }
}
.news-post-pager__nav {
  height: 70px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--main);
  font-size: clamp(1rem, 0.1071428571rem + 3.8095238095vw, 1.25rem);
  padding-right: clamp(0rem, -4.4642857143rem + 19.0476190476vw, 1.25rem);
  padding-left: clamp(0rem, -4.4642857143rem + 19.0476190476vw, 1.25rem);
}
.news-post-pager__blank {
  min-width: 106px;
  min-width: clamp(5.4375rem, 0.5267857143rem + 20.9523809524vw, 6.8125rem);
}

@media (hover: hover) and (pointer: fine) {
  .news-post-pager__link {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  .news-post-pager__link:hover, .news-post-pager__link:focus {
    opacity: 0.7;
  }
}
/*###################################################################
  page-404（page）
###################################################################*/
.page-404_pos {
  margin-top: 100px;
}
.page-404__inner {
  max-width: 1000px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-inline: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.page-404__title {
  font-size: 1.5rem;
  line-height: 1.5;
}
.page-404__text {
  line-height: 1.75;
  white-space: pre-line;
  margin-top: 80px;
}
.page-404__button-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 100px;
}
.page-404__button {
  margin: 54px auto 0;
}

/*###################################################################
  js-（js制御用）
###################################################################*/