.section-hero .box {
  position: relative;
  z-index: 0;
  width: 100%; }
  .section-hero .box .img {
    width: 91.666vw;
    border-top-right-radius: 6.166vw;
    border-bottom-right-radius: 6.166vw;
    overflow: hidden; }
    @media screen and (max-width: 640px) {
      .section-hero .box .img {
        width: 95.312vw; } }
    .section-hero .box .img img {
      width: 100%; }
  .section-hero .box .txt {
    position: absolute;
    top: 50%;
    left: 3.333vw;
    z-index: 1;
    transform: translateY(-50%);
    font-size: 3.666vw;
    font-weight: bold;
    color: #040000;
    mix-blend-mode: overlay; }
    @media screen and (max-width: 640px) {
      .section-hero .box .txt {
        font-size: 3.75vw; } }
.section-introduction {
  padding: 30px 0; }
  @media screen and (max-width: 1200px) {
    .section-introduction {
      padding: 2.5vw 0; } }
  @media screen and (max-width: 640px) {
    .section-introduction {
      padding: 1.562vw 0; } }
  .section-introduction h2 {
    font-size: 23px;
    font-weight: bold;
    text-align: center;
    color: #895024; }
    @media screen and (max-width: 1200px) {
      .section-introduction h2 {
        font-size: 1.916vw; } }
    @media screen and (max-width: 640px) {
      .section-introduction h2 {
        font-size: 5vw; } }
  .section-introduction .box-1 {
    display: grid;
    grid-template-columns: 370px 1fr;
    gap: 30px;
    width: 100%;
    max-width: 940px;
    margin: 40px auto 0; }
    @media screen and (max-width: 1200px) {
      .section-introduction .box-1 {
        grid-template-columns: 30.833vw 1fr;
        gap: 2.5vw;
        max-width: 78.333vw;
        margin-top: 3.333vw; } }
    @media screen and (max-width: 640px) {
      .section-introduction .box-1 {
        grid-template-columns: 1fr;
        gap: 3.125vw;
        max-width: 84.375vw;
        margin-top: 1.562vw; } }
    .section-introduction .box-1 .col-img .img {
      text-align: center; }
      @media screen and (max-width: 640px) {
        .section-introduction .box-1 .col-img .img img {
          width: 78.125vw; } }
    .section-introduction .box-1 .col-img .txt {
      margin-top: 20px;
      font-family: "Noto Serif JP", serif; }
      @media screen and (max-width: 1200px) {
        .section-introduction .box-1 .col-img .txt {
          margin-top: 1.666vw; } }
      @media screen and (max-width: 640px) {
        .section-introduction .box-1 .col-img .txt {
          margin-top: 3.125vw; } }
      .section-introduction .box-1 .col-img .txt .txt-1 {
        text-align: center;
        -webkit-text-stroke: 0.2px rgba(44, 44, 44, 0.3);
        font-size: 16px; }
        @media screen and (max-width: 1200px) {
          .section-introduction .box-1 .col-img .txt .txt-1 {
            font-size: 1.333vw; } }
        @media screen and (max-width: 640px) {
          .section-introduction .box-1 .col-img .txt .txt-1 {
            font-size: 3.281vw; } }
      .section-introduction .box-1 .col-img .txt .txt-2 {
        display: flex;
        justify-content: end;
        margin-top: 5px; }
        @media screen and (max-width: 1200px) {
          .section-introduction .box-1 .col-img .txt .txt-2 {
            margin-top: 0.416vw; } }
        @media screen and (max-width: 640px) {
          .section-introduction .box-1 .col-img .txt .txt-2 {
            margin-top: 1.562vw;
            padding: 0 3.125vw; } }
      .section-introduction .box-1 .col-img .txt .name {
        font-size: 24px;
        line-height: 1.2;
        -webkit-text-stroke: 0.2px rgba(44, 44, 44, 0.3); }
        @media screen and (max-width: 1200px) {
          .section-introduction .box-1 .col-img .txt .name {
            font-size: 2vw; } }
        @media screen and (max-width: 640px) {
          .section-introduction .box-1 .col-img .txt .name {
            font-size: 5vw; } }
      .section-introduction .box-1 .col-img .txt .en {
        font-size: 18px;
        line-height: 1.2;
        color: rgba(66, 119, 162, 0.5);
        -webkit-text-stroke: 0.2px rgba(66, 119, 162, 0.3); }
        @media screen and (max-width: 1200px) {
          .section-introduction .box-1 .col-img .txt .en {
            font-size: 1.5vw; } }
        @media screen and (max-width: 640px) {
          .section-introduction .box-1 .col-img .txt .en {
            font-size: 3.75vw; } }
    .section-introduction .box-1 .col-txt {
      font-size: 14px; }
      @media screen and (max-width: 1200px) {
        .section-introduction .box-1 .col-txt {
          font-size: 1.166vw; } }
      @media screen and (max-width: 640px) {
        .section-introduction .box-1 .col-txt {
          font-size: 3.437vw;
          line-height: 1.4; } }
  .section-introduction .box-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 80px;
    width: 100%;
    max-width: 940px;
    margin: 70px auto 0; }
    @media screen and (max-width: 1200px) {
      .section-introduction .box-2 {
        gap: 6.666vw;
        max-width: 78.333vw;
        margin-top: 5.833vw; } }
    @media screen and (max-width: 640px) {
      .section-introduction .box-2 {
        grid-template-columns: 1fr;
        max-width: 84.375vw;
        margin-top: 4.687vw; } }
    .section-introduction .box-2 .col h3 {
      border-bottom: 1px solid #2c2c2c;
      padding: 0 0 5px 30px;
      font-size: 18px; }
      @media screen and (max-width: 1200px) {
        .section-introduction .box-2 .col h3 {
          padding: 0 0 0.416vw 2.5vw;
          font-size: 1.5vw; } }
      @media screen and (max-width: 640px) {
        .section-introduction .box-2 .col h3 {
          width: 68.75vw;
          padding: 0 0 0.781vw 6.25vw;
          font-size: 3.593vw; } }
    .section-introduction .box-2 .col ul {
      padding: 15px 0 0 30px; }
      @media screen and (max-width: 1200px) {
        .section-introduction .box-2 .col ul {
          padding: 1.25vw 0 0 2.5vw; } }
      @media screen and (max-width: 640px) {
        .section-introduction .box-2 .col ul {
          padding: 1.562vw 0 0 6.25vw; } }
    .section-introduction .box-2 .col li {
      font-size: 16px; }
      @media screen and (max-width: 1200px) {
        .section-introduction .box-2 .col li {
          font-size: 1.333vw; } }
      @media screen and (max-width: 640px) {
        .section-introduction .box-2 .col li {
          margin-right: -4.687vw;
          font-size: 3.437vw; } }
.section-hospital {
  padding: 60px 0; }
  @media screen and (max-width: 1200px) {
    .section-hospital {
      padding: 5vw 0; } }
  @media screen and (max-width: 640px) {
    .section-hospital {
      padding: 4.687vw 0; } }
  .section-hospital h2 {
    font-size: 23px;
    font-weight: bold;
    text-align: center;
    color: #895024; }
    @media screen and (max-width: 1200px) {
      .section-hospital h2 {
        font-size: 1.916vw; } }
    @media screen and (max-width: 640px) {
      .section-hospital h2 {
        font-size: 5vw; } }
  .section-hospital .box {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto; }
    @media screen and (max-width: 1200px) {
      .section-hospital .box {
        max-width: 91.666vw; } }
    @media screen and (max-width: 640px) {
      .section-hospital .box {
        max-width: 93.75vw; } }
    .section-hospital .box .button-prev, .section-hospital .box .button-next {
      display: flex;
      justify-content: center;
      align-items: center;
      position: absolute;
      z-index: 10;
      top: 50%;
      transform: translateY(-50%);
      background-color: transparent;
      border: none;
      width: 24px;
      height: 28px;
      margin: 0;
      padding: 0;
      appearance: none;
      cursor: pointer; }
      @media screen and (max-width: 1200px) {
        .section-hospital .box .button-prev, .section-hospital .box .button-next {
          width: 2vw;
          height: 2.333vw; } }
      @media screen and (max-width: 640px) {
        .section-hospital .box .button-prev, .section-hospital .box .button-next {
          width: 4.843vw;
          height: 5.625vw; } }
      .section-hospital .box .button-prev.swiper-button-disabled, .section-hospital .box .button-next.swiper-button-disabled {
        opacity: 0.4;
        cursor: default; }
      .section-hospital .box .button-prev img, .section-hospital .box .button-next img {
        width: 100%; }
    .section-hospital .box .button-prev {
      left: 13px; }
      @media screen and (max-width: 1200px) {
        .section-hospital .box .button-prev {
          left: 1.083vw; } }
      @media screen and (max-width: 640px) {
        .section-hospital .box .button-prev {
          left: 13px; } }
    .section-hospital .box .button-next {
      right: 13px; }
      @media screen and (max-width: 1200px) {
        .section-hospital .box .button-next {
          right: 1.083vw; } }
      @media screen and (max-width: 640px) {
        .section-hospital .box .button-next {
          right: 2.031vw; } }
    .section-hospital .box .img-main {
      position: relative;
      width: 900px;
      margin: 20px auto 0;
      padding: 0 50px; }
      @media screen and (max-width: 1200px) {
        .section-hospital .box .img-main {
          width: 75vw;
          margin-top: 1.666vw;
          padding: 0 4.166vw; } }
      @media screen and (max-width: 640px) {
        .section-hospital .box .img-main {
          width: 82.812vw;
          padding: 0; } }
      .section-hospital .box .img-main .swiper-slide .txt {
        padding: 20px 30px;
        font-size: 14px; }
        @media screen and (max-width: 1200px) {
          .section-hospital .box .img-main .swiper-slide .txt {
            padding: 1.666vw 2.5vw;
            font-size: 1.166vw; } }
        @media screen and (max-width: 640px) {
          .section-hospital .box .img-main .swiper-slide .txt {
            padding: 1.562vw;
            font-size: 3.437vw;
            line-height: 1.3; } }
        .section-hospital .box .img-main .swiper-slide .txt h3 {
          font-size: 18px;
          font-weight: bold; }
          @media screen and (max-width: 1200px) {
            .section-hospital .box .img-main .swiper-slide .txt h3 {
              font-size: 1.5vw; } }
          @media screen and (max-width: 640px) {
            .section-hospital .box .img-main .swiper-slide .txt h3 {
              font-size: 3.75vw;
              line-height: 1.8; } }
      .section-hospital .box .img-main .button-prev, .section-hospital .box .img-main .button-next {
        top: 253px; }
        @media screen and (max-width: 1200px) {
          .section-hospital .box .img-main .button-prev, .section-hospital .box .img-main .button-next {
            top: 21.083vw; } }
        @media screen and (max-width: 640px) {
          .section-hospital .box .img-main .button-prev, .section-hospital .box .img-main .button-next {
            top: 25.468vw; } }
    .section-hospital .box .img-thumbnail {
      position: relative;
      padding: 0 50px; }
      @media screen and (max-width: 1200px) {
        .section-hospital .box .img-thumbnail {
          padding: 0 4.166vw; } }
      @media screen and (max-width: 640px) {
        .section-hospital .box .img-thumbnail {
          padding: 0 3.125vw; } }
      .section-hospital .box .img-thumbnail .swiper-slide {
        position: relative;
        z-index: 0;
        cursor: pointer; }
        .section-hospital .box .img-thumbnail .swiper-slide::after {
          content: "";
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          border: 2px solid transparent; }
        .section-hospital .box .img-thumbnail .swiper-slide.swiper-slide-thumb-active::after {
          border-color: #447caa; }
        .section-hospital .box .img-thumbnail .swiper-slide img {
          width: 100%; }
      .section-hospital .box .img-thumbnail .button-prev, .section-hospital .box .img-thumbnail .button-next {
        width: 24px;
        height: 28px; }
        @media screen and (max-width: 1200px) {
          .section-hospital .box .img-thumbnail .button-prev, .section-hospital .box .img-thumbnail .button-next {
            width: 2vw;
            height: 2.333vw; } }
.section-facilities {
  padding: 30px 0; }
  @media screen and (max-width: 1200px) {
    .section-facilities {
      padding: 2.5vw 0; } }
  @media screen and (max-width: 640px) {
    .section-facilities {
      padding: 6.25vw 0; } }
  .section-facilities h2 {
    font-size: 23px;
    font-weight: bold;
    text-align: center;
    color: #895024; }
    @media screen and (max-width: 1200px) {
      .section-facilities h2 {
        font-size: 1.916vw; } }
    @media screen and (max-width: 640px) {
      .section-facilities h2 {
        font-size: 5vw; } }
  .section-facilities .box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    width: 100%;
    max-width: 1080px;
    margin: 20px auto 0; }
    @media screen and (max-width: 1200px) {
      .section-facilities .box {
        gap: 1.25vw;
        max-width: 90vw;
        margin-top: 1.666vw; } }
    @media screen and (max-width: 640px) {
      .section-facilities .box {
        grid-template-columns: 1fr;
        gap: 12.5vw;
        max-width: 84.375vw; } }
    .section-facilities .box .col .img img {
      width: 100%; }
    .section-facilities .box .col .txt {
      margin-top: 10px; }
      @media screen and (max-width: 1200px) {
        .section-facilities .box .col .txt {
          margin-top: 0.833vw; } }
      @media screen and (max-width: 640px) {
        .section-facilities .box .col .txt {
          margin-top: 1.562vw; } }
      .section-facilities .box .col .txt h3 {
        font-size: 18px;
        font-weight: 500;
        text-align: center; }
        @media screen and (max-width: 1200px) {
          .section-facilities .box .col .txt h3 {
            font-size: 1.5vw; } }
        @media screen and (max-width: 640px) {
          .section-facilities .box .col .txt h3 {
            font-size: 5vw; } }
      .section-facilities .box .col .txt .txt-1 {
        display: flex;
        justify-content: center;
        margin-top: 5px;
        font-size: 14px; }
        @media screen and (max-width: 1200px) {
          .section-facilities .box .col .txt .txt-1 {
            margin-top: 0.416vw;
            font-size: 1.166vw; } }
        @media screen and (max-width: 640px) {
          .section-facilities .box .col .txt .txt-1 {
            margin-top: 1.562vw;
            font-size: 4.218vw;
            line-height: 1.3; } }
    .section-facilities .box .m-top {
      margin-top: 30px; }
      @media screen and (max-width: 640px) {
        .section-facilities .box .m-top {
          margin-top: 0; } }
    .section-facilities .box .link-1 {
      margin-top: 30px;
      text-align: center; }
      @media screen and (max-width: 1200px) {
        .section-facilities .box .link-1 {
          margin-top: 2.5vw; } }
      @media screen and (max-width: 640px) {
        .section-facilities .box .link-1 {
          margin-top: 4.687vw; } }
      .section-facilities .box .link-1 a {
        background-color: #895024;
        border-radius: 20px;
        padding: 5px 30px;
        font-size: 16px;
        color: #fff;
        line-height: 1; }
        @media screen and (max-width: 1200px) {
          .section-facilities .box .link-1 a {
            border-radius: 1.666vw;
            padding: 0.416vw 0.86vw;
            font-size: 1.666vw; } }
        @media screen and (max-width: 640px) {
          .section-facilities .box .link-1 a {
            border-radius: 6.25vw;
            padding: 0.781vw 3.375vw;
            font-size: 4.687vw; } }
