@charset "UTF-8";

/* base */
body {
    font-family: 'Noto Sans JP', sans-serif;
}
*, *::before, *::after {
  box-sizing: border-box;
}
img {
  display: block;
}
a, a:link, a:visited, a:hover, a:active {
  text-decoration: none;
  color: inherit;
}
li {
  list-style-type: none;
}
.display-none {
  display: none !important;
}

.body {
    overflow: hidden;
}

/* header */
.header {
    position: relative;
}
.header-img-a {
    width: 100%;
}
.header-img-b {
    position: absolute;
    width: 222.62px;
    top: 31px;
    left: 63.9px;
}
.header-sec-a {
    position: absolute;
    display: block;
    width: 332px;
    top: 69px;
    right: 35px;
}
.header-img-c {
    width: 100%;
}
.header-img-d {
    position: absolute;
    width: 80px;
    top: -62px;
    right: 4px;
}

/* welcome */
.welcome {
    padding-bottom: 72px;
    position: relative;
    z-index: 20;
    background-color: #FFFFFF;
}
.welcome-sec-a {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: 0px;
}
.welcome-text-a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 100;
    font-size: 20px;
    letter-spacing: 1.4px;
    color: #544F4C;
    margin-right: 19.5px;
}
.welcome-img-a {
    width: 300px;
}
.welcome-img-b {
    width: 330px;
    margin: 30px auto 0;
}
.welcome-text-b {
    font-size: 18px;
    letter-spacing: 0.9px;
    line-height: 36px;
    color: #312D2A;
    max-width: 636px;
    width: 100%;
    padding: 0 29px;
    margin: 41px auto 0;
}
.welcome-img-c {
    display: block;
    width: 506px;
    margin: 51px auto 0;
}
.welcome-img-c img {
    width: 100%;
}
.welcome-sec-b {
    position: absolute;
    display: inline-block;
    bottom: 184px;
    right: calc(50% + 371.26px);
}
.welcome-img-1 {
    width: 197.34px;
}
.welcome-img-2 {
    position: absolute;
    width: 207.37px;
    bottom: 30.68px;
    right: 20.49px;
}
.welcome-sec-c {
    position: absolute;
    display: inline-block;
    bottom: 255.65px;
    left: calc(50% + 364.21px);
}
.welcome-img-3 {
    width: 206.56px;
}
.welcome-img-4 {
    position: absolute;
    width: 181.29px;
    bottom: 141.81px;
    right: 38.43px;
}

/* wave */
.wave {
    background-image: url(../images/wave-img-a.png);
    background-size: auto 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    position: relative;
    padding: 200px 0 150px;
}
.wave-img-b {
    position: absolute;
    z-index: 10;
    top: -0.37px;
    width: 100%;
    -webkit-filter: drop-shadow(0px 0px 50px #21444A1C);
    filter: drop-shadow(0px 0px 50px #21444A1C);
}
.wave-img-c {
    position: absolute;
    z-index: 10;
    bottom: -5.5px;
    width: 100%;
    -webkit-filter: drop-shadow(0px 0px 50px #21444A1C);
    filter: drop-shadow(0px 0px 50px #21444A1C);
}
.wave-sec-a {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding-right: 36.81px;
}
.wave-text-a {
    font-weight: 500;
    font-size: 22px;
    letter-spacing: 6.6px;
    line-height: 44px;
    color: #312D2A;
    padding-top: 65.16px;
}
.wave-img-d {
    width: 209.85px;
    margin-left: 66.65px;
    padding-top: 23.75px;
}
.wave-img-e {
    width: 280.34px;
    margin-left: 21.34px;
}


/* feature */
.feature {
    position: relative;
    z-index: 20;
    padding: 64.47px 0 135.3px;
    background-color: #FFFFFF;
}
.feature-sec-a {
    display: flex;
    align-items: center;
    padding-left: 3.75px;
}
.feature-img-a {
    width: 307px;
}
.feature-text-a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 100;
    font-size: 20px;
    letter-spacing: 1.4px;
    color: #544F4C;
    margin-left: 23px;
}
.feature-img-b {
    width: 403.13px;
    margin: 30.48px auto 0;
}
.feature-sec-b {
    display: flex;
    justify-content: center;
    margin-top: 91.11px;
}
.feature-sec-b > div:not(:last-child) {
    margin-right: 111.3px;
}
.feature-sec-b-2 {
    margin-top: 83.59px;
}
.feature-sec-d {
    position: relative;
    display: inline-block;
}
.feature-img-c {
    width: 250.5px;
}
.feature-img-d {
    position: absolute;
    width: 251.99px;
    top: 6.2px;
    left: 2.2px;
}
.feature-img-e {
    position: absolute;
    width: 112.41px;
    top: -26.4px;
    left: -27.8px;
}
.feature-text-b {
    font-weight: 500;
    font-size: 20px;
    line-height: 35px;
    color: #544F4C;
    margin-top: 19.29px;
    text-align: center;
}

/* program */
.program {
    background: linear-gradient(180deg, #EDFCFF 0%, #F7FEFF 100%);
    padding: 82.36px 0 530px;
    position: relative;
}
.program-img-a {
    position: absolute;
    width: 1279px;
    top: 158.47px;
    left: calc(50% - 639.5px);
    -webkit-filter: drop-shadow(0px 10px 20px #A9CBCC26);
    filter: drop-shadow(0px 10px 20px #A9CBCC26);
    z-index: 10;
}
.program-sec-d {
    position: relative;
    z-index: 20;
}
.program-text-a {
    font-family: “游ゴシック体“, YuGothic, “游ゴシック“, “Yu Gothic”, sans-serif;
    font-weight: bold;
    font-size: 51px;
    letter-spacing: 10.2px;
    color: #544F4C;
    text-align: center;
    margin-top: 176.53px;
}
.span-1 {
    font-size: 35px;
    letter-spacing: 7px;
}
.span-2 {
    font-size: 46px;
    letter-spacing: 9.2px;
}
.span-3 {
    font-size: 35px;
    letter-spacing: 3.5px;
}
.span-4 {
    font-size: 46px;
    letter-spacing: 4.6px;
}
.program-img-b {
    width: 671px;
    margin: 10.5px auto 0;
}
.program-sec-b {
    display: flex;
    justify-content: center;
    margin-top: 37.5px;
    align-items: flex-start;
}
.program-sec-c {
    text-align: center;
}
.program-sec-d > div:first-of-type {
    margin-top: 91.5px;
}
.program-sec-b > div:first-of-type {
    margin-right: 60px;
}
.program-sec-d > div:last-of-type > div {
    margin-right: 131px;
}
.program-sec-d > div:last-of-type {
    padding-right: 40px;
}
.program-img-c {
    width: 476px;
}
.program-text-b {
    font-weight: 500;
    font-size: 16px;
    line-height: 29px;
    color: #46310F;
    margin: 15.5px auto 0;
    /* padding-left: 46px; */
    display: inline-block;
    text-align: start;
}
.program-img-d {
    width: 364px;
    padding-top: 12px;
}
.program-img-e {
    position: absolute;
    z-index: 30;
    width: 1440px;
    left: calc(50% - 720px);
    top: 2097px;
}

@media screen and (min-width: 2600px) {
    .program-img-e {
        width: 100%;
        left: auto;
        top: 2000px;
    }
    .program {
        padding: 60px 0 950px;
    }
}
@media screen and (max-width: 2600px) and (min-width: 1950px) {
    .program-img-e {
        width: 100%;
        left: auto;
        top: 2000px;
    }
    .program {
        padding: 60px 0 750px;
    }
}
@media screen and (max-width: 1950px) and (min-width: 1440px) {
    .program-img-e {
        width: 100%;
        left: auto;
        top: 2000px;
    }
}
@media screen and (max-width: 1100px) and (min-width: 492px) {
    .program-img-e {
        width: 100%;
        left: auto;
        top: 2638.94px;
    }
}
@media screen and (max-width: 1100px) and (min-width: 926px) {
    .program {
        padding: 60px 0 350px;
    }
}
@media screen and (max-width: 926px) and (min-width: 754px) {
    .program {
        padding: 60px 0 300px;
    }
}
@media screen and (max-width: 754px) and (min-width: 606px) {
    .program {
        padding: 60px 0 245px;
    }
}
@media screen and (max-width: 606px) and (min-width: 492px) {
    .program {
        padding: 60px 0 200px;
    }
}
@media screen and (max-width: 492px) {
    .program-img-e {
        width: 492px;
        left: calc(50% - 246px);
        top: auto;
        bottom: 11px;
    }
    .program {
        padding: 60px 0 208.66px;
    }
}


/* hospital */
.hospital {
    background-color: #FFFEFA;
    padding: 181.2px 0 83.5px;
    position: relative;
}
.hospital-text-b {
    font-family: “游ゴシック体“, YuGothic, “游ゴシック“, “Yu Gothic”, sans-serif;
    font-weight: bold;
    font-size: 51px;
    letter-spacing: 10.2px;
    color: #544F4C;
    margin-top: 25px;
    padding-left: 332px;
}
.hospital-img-b {
    max-width: 1244px;
    width: 100%;
    margin: 60.28px auto 0;
}
.hospital-sec-b {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 101.72px;
    padding-right: 55px;
}
.hospital-img-c {
    width: 525.46px;
    margin-right: 97.3px;
}
.hospital-text-c {
    font-weight: 500;
    font-size: 24px;
    color: #46310F;
    padding-left: 4px;
}
.hospital-text-d {
    font-weight: 500;
    font-size: 16px;
    color: #46310F;
    line-height: 29px;
    margin-top: 30.5px;
}
.hospital-sec-b-2 {
    margin: 0%;
    padding: 0 0 0 55px;
}
.hospital-img-d {
    width: 589px;
    margin-left: 26px;
}
.hospital-img-1, .hospital-img-2 {
    position: absolute;
}
.hospital-img-1 {
    width: 228.65px;
    bottom: 746.7px;
    left: calc(50% + 386.6px);
}
.hospital-img-2 {
    width: 286.8px;
    bottom: 290px;
    right: calc(50% + 292px);
}


/* footer */
.footer {
    padding-top: 107.2px;
}
.footer-sec-a {
    display: flex;
    justify-content: center;
}
.footer-sec-d {
    display: flex;
    align-items: flex-start;
    padding-left: 15px;
}
.footer-img-a {
    width: 294.29px;
    margin-right: 41.52px;
}
.footer-img-b {
    width: 113.91px;
}
.footer-text-a {
    font-family: "Hiragino Sans", sans-serif;
    font-weight: 300;
    font-size: 16px;
    color: #333333;
    padding-left: 23px;
    margin-top: 29.5px;
}
.footer-text-a-2 {
    margin-top: 16px;
}
.footer-img-c {
    width: 506px;
    margin-top: 40px;
}
.footer-sec-e {
    margin-top: 12px;
    padding-left: 20px;
}
.footer-text-b {
    display: inline-block;
    font-family: "Hiragino Sans", sans-serif;
    font-weight: 300;
    font-size: 14px;
    color: #FFFFFF;
    background-color: #9B9B9B;
    height: 18px;
    line-height: 18px;
    padding: 0 6px;
    vertical-align: middle;
    margin-right: 10px;
}
.footer-text-c {
    display: inline-block;
    font-family: "Hiragino Sans", sans-serif;
    font-weight: 300;
    font-size: 15px;
    color: #333333;
    vertical-align: middle;
}
.footer-img-d {
    display: inline-block;
    width: 179px;
    vertical-align: middle;
    /* margin-left: 26.5px; */
}
.footer-sec-e p:nth-child(2) {
    margin-right: 20px;
}
.footer-sec-c {
    width: 488px;
    height: 441px;
    margin-left: 53px;
}
.footer-text-d {
    text-align: center;
    background-color: #FFCF74;
    height: 53px;
    font-family: "Hiragino Sans", sans-serif;
    font-weight: 300;
    font-size: 12px;
    line-height: 53px;
    color: #FFFFFF;
    margin-top: 100px;
}




/* smart phone */
.sp {
  display: none;
}
@media screen and (max-width: 1100px) {
  .sp {
    display: block;
  }
  .pc {
    display: none !important;
  }

  /* header */
  .header-img-b {
      width: 128.3px;
      top: 13px;
      left: 23px;
  }
  .header-sec-a {
      position: fixed;
      width: 69px;
      top: auto;
      right: 15px;
      bottom: 65px;
      z-index: 100;
  }
  .header-img-d {
      width: 29px;
      top: -10px;
      right: -2.4px;
  }

  /* welcome */
  .welcome {
      padding-bottom: 65px;
  }
  .welcome-sec-a {
      padding: 0%;
  }
  .welcome-text-a {
      font-size: 12px;
      letter-spacing: 0.84px;
      margin-right: 10px;
  }
  .welcome-img-a {
      width: 80px;
  }
  .welcome-img-b {
      width: 221.36px;
      margin: 26px auto 0;
  }
  .welcome-text-b {
      font-size: 16px;
      letter-spacing: 0.8px;
      margin: 26.7px auto 0;
  }
  .sp-welcome-sec-a {
      position: relative;
      width: 317px;
      margin: 34px auto 0;
      padding-right: 11px;
  }
  .sp-welcome-img-1 {
      width: 100%;
  }
  .sp-welcome-img-2 {
    position: absolute;
    width: 135.48px;
    bottom: 4.6px;
    left: 11.1px;
  }
  .sp-welcome-img-4 {
    position: absolute;
    width: 153.4px;
    top: -8px;
    right: 24.6px;
  }
  .sp-welcome-sec-b {
      padding: 0 23px;
  }
  .welcome-img-c {
      max-width: 329px;
      width: 100%;
      margin: 39.1px auto 0;
  }

  /* wave */
  .wave {
      background-image: url(../images/wave-img-a.png);
      padding: 90px 0 62px;
      background-position: 45% center;
  }
  .wave-sec-a {
      display: block;
      padding: 0%;
  }
  .wave-text-a {
      font-size: 18px;
      letter-spacing: 5.4px;
      line-height: 36px;
      padding: 0%;
      text-align: center;
  }
  .sp-wave-sec-a {
      display: flex;
      justify-content: center;
      align-items: flex-start;
      margin-top: 31px;
      padding-left: 17.6px;
  }
  .wave-img-d {
      width: 130.58px;
      margin: 0%;
      padding-top: 21px;
  }
  .wave-img-e {
      width: 174.44px;
      margin-left: 3.3px;
  }

  /* feature */
  .feature {
      padding: 42.4px 0 59px;
  }
  .feature-sec-a {
      padding: 0%;
  }
  .feature-text-a {
      font-size: 12px;
      letter-spacing: 0.84px;
      margin-left: 10px;
  }
  .feature-img-b {
      width: 263.6px;
      margin: 20px auto 0;
  }
  .feature-sec-b {
      display: flex;
      margin-top: 52.8px;
  }
  .feature-sec-b > div:not(:last-child) {
      margin-right: 39.5px;
  }
  .feature-sec-b-2 {
      margin-top: 46.5px;
  }
  .feature-img-c {
      width: 142.54px;
  }
  .feature-img-d {
      width: 143.39px;
      top: 3.5px;
      left: 3.4px;
  }
  .feature-img-e {
      width: 63.96px;
      top: -15px;
      left: -15.8px;
  }
  .feature-text-b {
      font-size: 12px;
      line-height: 19px;
      margin-top: 16.5px;
  }

  /* program */
  .program-text-a {
      font-size: 34px;
      letter-spacing: 6.8px;
      line-height: 37px;
      margin-top: 88px;
  }
  .span-1 {
      font-size: 27px;
      letter-spacing: 5.4px;
  }
  .span-2 {
      font-size: 31px;
      letter-spacing: 6.2px;
  }
  .span-3 {
      font-size: 27px;
      letter-spacing: 2.7px;
  }
  .span-4 {
      font-size: 31px;
      letter-spacing: 3.1px;
  }
  .program-img-b {
      width: 178.5px;
      margin: 7.3px auto 0;
  }
  .program-sec-b {
      display: block;
      margin: 0%;
  }
  .program-sec-d > div:first-of-type {
      margin-top: 0px;
  }
  .program-sec-b > div:first-of-type {
      margin-right: auto;
  }
  .program-sec-d > div:last-of-type > div {
      margin-right: auto;
  }
  .program-sec-d > div:last-of-type {
      padding-right: 0;
  }
  .program-sec-c {
      max-width: 335px;
      width: 100%;
      margin: 23.5px auto 0;
  }
  .program-sec-c-first {
      margin-top: 40px;
  }
  .program-img-c {
      width: 100%;
  }
  .program-text-b {
      margin: 13.5px auto 0;
      padding: 0 15px;
  }

  /* hospital */
  .hospital {
      padding: 47px 0 93.43px;
  }
  .hospital-text-b {
      font-size: 31px;
      letter-spacing: 6.2px;
      margin-top: 20px;
      padding: 0%;
      text-align: center;
  }
  .sp-hospital-sec-a {
      position: relative;
    max-width: 311.47px;
    width: 100%;
    margin: 30px auto 0;
  }
  .hospital-img-b {
      width: 100%;
      margin: 0;
  }
  .sp-hospital-img-1 {
      position: absolute;
      width: 108.16px;
      top: 113.6px;
      right: -24px;
  }
  .hospital-sec-b {
      display: block;
      margin: 0%;
      padding: 0%;
  }
  .hospital-text-c {
      padding: 0%;
      margin-top: 39.45px;
      text-align: center;
  }
  .hospital-text-d {
      margin: 13.5px auto 0;
      max-width: 618px;
      width: 100%;
      padding: 0 20px;
  }
  .sp-hospital-sec-b {
      position: relative;
      max-width: 312.23px;
      width: 100%;
      margin: 23.5px auto 0;
  }
  .hospital-img-c {
      width: 100%;
      margin: 0%;
  }
  .sp-hospital-img-2 {
      position: absolute;
      width: 127.41px;
      bottom: -37.8px;
      right: -13.2px;
  }
  .hospital-sec-b-2 {
      padding: 0%;
  }
  .sp-hospital-sec-c {
      position: relative;
      max-width: 356.79px;
      width: 100%;
      padding: 0 20px;
      margin: 23.5px auto 0;
  }
  .hospital-img-d {
      width: 100%;
      margin: 0%;
  }
  .sp-hospital-img-3 {
      position: absolute;
      width: 132.55px;
      bottom: -48.6px;
      left: 10.9px;
  }

  /* footer */
  .footer {
      padding-top: 26px;
  }
  .footer-sec-a {
      display: block;
  }
  .footer-sec-b {
      max-width: 375px;
      width: 100%;
      margin: 0 auto;
      padding: 0 20px;
  }
  .footer-sec-d {
      justify-content: space-between;
      padding: 0%;
  }
  .footer-img-a {
      width: 218.72px;
      margin: 0%;
  }
  .footer-img-b {
      width: 82.65px;
  }
  .footer-text-a {
      line-height: 27px;
      padding: 0%;
      margin-top: 15px;
  }
  .footer-text-a-2 {
      margin-top: 0%;
  }
  .footer-img-c {
      width: 100%;
      margin-top: 24px;
  }
  .footer-sec-e {
      margin-top: 20px;
      padding: 0%;
  }
  .footer-text-b {
      height: 20px;
      line-height: 20px;
      padding: 0 8px;
      margin-right: 6px;
  }
  .footer-text-c {
      font-size: 14px;
  }
  .footer-sec-e p:nth-child(2) {
      margin-right: 14.5px;
  }
  .footer-img-d {
      width: 213.35px;
      display: block;
      margin: 6.43px 0 0;
  }
  .footer-sec-c {
      width: 100%;
      height: 338.67px;
      margin: 42.6px 0 0;
  }
  .footer-text-d {
      background-color: #FFFFFF;
      height: 122.6px;
      line-height: 1;
      color: #333333;
      margin: 0%;
      padding-top: 31px;
  }

  /* sp fixed footer */
  .sp-fixed-footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 50px;
    background-color: #FFCF74;
    z-index: 150;
  }
  .sp-fixed-footer-sec-a {
    width: calc(100% / 3);
    float: left;
    border-right: 1px #FFFFFF solid;
    text-align: center;
    height: 50px;
    padding-top: 8px
  }
  .sp-fixed-footer-sec-a:last-child {
    border: none;
  }
  .sp-fixed-footer-img-a {
    height: 18px;
    display: inline-block;
  }
  .sp-fixed-footer-text-a {
    font-weight: 600;
    font-size: 12px;
    color: #FFFFFF;
    margin-top: 4.23px;
  }
}

@media screen and (max-width : 370px) {
    .feature-sec-b > div:not(:last-child) {
        margin-right: 14px;
    }
    .footer-img-b {
        display: none;
    }
    .sp-fixed-footer-text-a {
        font-size: 11px;
    }
}

body .program .background-book-2 {
    display: none;
}
@media screen and (max-width : 1100px) and (min-width : 730px){
    .program-img-a {
        width: 710px;
        top: 105.08px;
        left: calc(50% - 355px);
    }
}
@media screen and (max-width : 730px){
    body .program .background-book {
        display: none;
    }
    body .program .background-book-2 {
        display: block;
    }
    .program-img-a {
        width: 355px;
        top: 105.08px;
        left: calc(50% - 177.5px);
    }
}