:root {
  --ttl: #2E5995;
  --bg1: #F5F7FC; }

@media only screen and (max-width: 767px) {
  .header__logo {
    margin: 0 auto;
    max-width: 350px;
    width: 90%;
    left: 5%;
    position: absolute;
    top: 97px;
    z-index: 1; } }
#main {
  background: none;
  margin-bottom: 0;
  max-width: inherit; }
  #main:before, #main:after {
    display: none; }

.title-common {
  color: #89A6CE;
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 32px;
  line-height: 1.75; }

.title-common small {
  font-family: "Spectral", serif;
  font-weight: 300;
  font-size: 12px;
  line-height: 1.6;
  color: var(--ttl);
  letter-spacing: 0.16em;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 0 15px; }

.title-common small:after {
  content: "";
  height: 0.5px;
  width: 15px;
  background: var(--ttl); }

@media screen and (max-width: 980px) {
  .title-common small {
    display: block;
    margin-bottom: 7px; }

  .title-common small:after {
    display: block;
    margin-top: 15px; } }
@media screen and (max-width: 767px) {
  .title-common {
    font-size: 32px;
    letter-spacing: 0.07em; } }
@media screen and (max-width: 767px) and (max-width: 374px) {
  .title-common {
    font-size: 27px; } }
.deco {
  mix-blend-mode: color-burn; }

.ttl-en {
  font-family: "Spectral", serif;
  font-weight: 200;
  font-size: 64px;
  line-height: 1;
  letter-spacing: 0.16em;
  color: var(--ttl);
  margin-bottom: 32px; }
  .ttl-en:first-letter, .ttl-en span {
    color: #5f84b7; }
  @media screen and (max-width: 767px) {
    .ttl-en {
      font-size: 40px;
      margin-bottom: 16px; } }

.ttl-jp {
  font-family: "Noto Serif", serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1;
  letter-spacing: 0.16em;
  color: #2e5995; }
  @media screen and (max-width: 767px) {
    .ttl-jp {
      font-size: 20px; } }

@media screen and (min-width: 768px) and (max-width: 1000px) {
  .ttl-en {
    font-size: 58px;
    margin-bottom: 25px; }

  .ttl-jp {
    font-size: 21px; } }
.inner {
  box-sizing: border-box;
  position: relative;
  padding: 0 133px; }
  @media screen and (min-width: 768px) and (max-width: 1366px) {
    .inner {
      max-width: 1160px;
      margin: 0 auto;
      padding: 0 30px; } }
  @media screen and (max-width: 767px) {
    .inner {
      padding: 0 20px; } }

#mainimage {
  position: relative;
  padding: 215px 60px 0;
  color: #282828;
  z-index: 0;
  box-sizing: border-box; }
  #mainimage p {
    margin-bottom: 0; }
  #mainimage .main-img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1; }
    #mainimage .main-img img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  #mainimage .mark {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    pointer-events: none;
    z-index: 0;
    width: 1610px; }
  #mainimage .mainimage-inner {
    position: relative;
    margin-bottom: 47px;
    padding-top: 26px;
    padding-left: 73px; }
  #mainimage .kv-txt1, #mainimage .kv-txt2 {
    position: absolute;
    top: 0;
    height: 100%;
    text-align: center;
    line-height: 1;
    font-size: 12px;
    letter-spacing: 0.48em; }
  #mainimage .kv-txt1 {
    left: 0;
    writing-mode: sideways-lr; }
  #mainimage .kv-txt2 {
    right: 0;
    writing-mode: sideways-rl; }
  #mainimage .kv-txt3 {
    font-size: 64px;
    line-height: 1.5;
    letter-spacing: 0.64em;
    color: #053864; }
    #mainimage .kv-txt3 span {
      color: #212121; }
  #mainimage .kv-txt4 {
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.42em;
    margin: 30px 0 47px !important;
    font-weight: 400; }
  #mainimage .kv-txt5 {
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0.36em;
    color: #053864; }
  #mainimage .scroll {
    display: block;
    margin: 0 auto;
    width: 148px;
    transform: translateY(13px); }
  @media screen and (max-width: 767px) {
    #mainimage {
      padding: 211px 15px 0; }
      #mainimage .mainimage-inner {
        position: relative;
        margin-bottom: 13px;
        padding-top: 0;
        padding-left: 30px; }
      #mainimage .kv-txt1, #mainimage .kv-txt2 {
        font-size: 2.5vw; }
      #mainimage .kv-txt3 {
        font-size: 12vw;
        letter-spacing: 0.32em; }
      #mainimage .kv-txt4 {
        font-size: 5.4vw;
        line-height: 1.9;
        letter-spacing: 0.28em;
        margin: 5vw 0 3vw !important; }
      #mainimage .kv-txt5 {
        font-size: 3vw;
        line-height: 2; }
      #mainimage .scroll {
        width: 120px;
        transform: translateY(13px); }
      #mainimage .mainimage-deco {
        position: absolute;
        width: 25.6%;
        left: 20px;
        bottom: -16vw; } }

.content-top .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: inherit; }

.content-top .elementor-column-gap-default > .elementor-row > .elementor-column > .elementor-element-populated > .elementor-widget-wrap {
  padding: 0; }

.top-item {
  position: relative;
  z-index: 0; }
  .top-item:before {
    content: "";
    position: absolute;
    z-index: -1;
    background: var(--bg1); }

.item-info {
  background: rgba(255, 255, 255, 0.9);
  box-sizing: border-box; }
  .item-info .txt2 {
    line-height: 40px; }
  @media screen and (max-width: 767px) {
    .item-info .txt2 {
      line-height: 32px; } }

.item-inner {
  position: relative; }

#philosophy {
  margin-top: 66px;
  margin-bottom: 127px; }
  #philosophy:before {
    height: 306px;
    width: calc(100% - 200px);
    left: 0;
    top: 32px; }
  #philosophy .inner {
    align-items: center;
    margin-bottom: 40px; }
  #philosophy .philosophy-deco1 {
    position: absolute;
    top: -62px;
    right: 30px;
    z-index: -1;
    width: 16%; }
  #philosophy .txt1 {
    margin: 5px 0 0 30px; }
  #philosophy .item-inner {
    justify-content: flex-start;
    align-items: center; }
  #philosophy .philosophy-img2 {
    width: 182px;
    position: relative;
    z-index: 1; }
  #philosophy .item-info {
    width: calc(100% - 650px);
    display: flex;
    align-items: center;
    padding: 30px 30px 30px 75px;
    min-height: 326px; }
  #philosophy .title-common {
    letter-spacing: 0.08em;
    margin-bottom: 22px; }
  #philosophy .philosophy-img1 {
    position: absolute;
    right: 25px;
    top: -40px;
    width: 508px; }
  #philosophy .philosophy-deco2 {
    position: absolute;
    width: 25.8%;
    left: 9.7%;
    bottom: -70px;
    margin-bottom: 0; }
  #philosophy .philosophy-deco3 {
    position: absolute;
    margin-bottom: 0;
    bottom: -117px;
    right: 21%;
    width: 13.8%; }
  @media screen and (min-width: 768px) and (max-width: 1366px) {
    #philosophy .item-info {
      width: calc(66% - 182px);
      justify-content: center;
      padding-left: 30px; }
    #philosophy .philosophy-img1 {
      width: 37.2%; }
    #philosophy .philosophy-deco1 {
      top: -5vw; }
    #philosophy .philosophy-deco3 {
      bottom: -5vw; } }
  @media screen and (min-width: 768px) and (max-width: 980px) {
    #philosophy .title-common small {
      margin-right: 10%; }
    #philosophy .philosophy-img2 {
      width: 150px; }
    #philosophy .philosophy-img1 {
      right: -9%; }
    #philosophy .item-info {
      width: calc(77% - 150px); }
    #philosophy .philosophy-deco3 {
      right: 10%;
      bottom: -3vw; } }
  @media screen and (max-width: 767px) {
    #philosophy {
      margin-top: 70px;
      margin-bottom: 5px; }
      #philosophy:before {
        width: calc(100% - 20px);
        left: 0;
        top: 20px; }
      #philosophy .inner {
        margin-bottom: 25px; }
      #philosophy .philosophy-deco1 {
        top: -10vw;
        right: -10%;
        width: 29%; }
      #philosophy .txt1 {
        margin: 30px 0 0 0; }
      #philosophy .item-inner {
        justify-content: flex-start;
        align-items: center; }
      #philosophy .philosophy-img2 {
        width: 10.3%;
        position: absolute;
        z-index: 0;
        top: 0;
        left: 0;
        margin-bottom: 0; }
      #philosophy .item-info {
        width: calc(100% - 60px);
        margin: 0 0 0 20px;
        display: block;
        padding: 20px 20px 40px;
        min-height: inherit;
        position: relative;
        z-index: 1; }
      #philosophy .title-common {
        letter-spacing: 0.07em; }
      #philosophy .philosophy-img1 {
        right: auto;
        left: 45.6%;
        top: -10vw;
        width: 75.3%; }
      #philosophy .philosophy-deco2 {
        position: relative;
        left: 7%;
        bottom: 4vw;
        width: 44%; }
      #philosophy .philosophy-deco3 {
        bottom: 0;
        right: 0;
        width: 39%;
        z-index: 2; } }

#feature {
  margin-bottom: 64px; }
  #feature .inner {
    margin-bottom: 23px; }
  #feature .item-inner {
    padding: 50px 0;
    z-index: 0;
    align-items: center; }
    #feature .item-inner:before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      background: var(--bg1);
      height: 100%;
      width: calc(50% - 50px);
      z-index: -1; }
  #feature .feature-img1 {
    width: 480px;
    position: relative;
    z-index: 1;
    margin-bottom: 0; }
  #feature .feature-deco1 {
    position: absolute;
    width: 372px;
    top: -80px;
    right: 210px; }
  #feature .feature-deco2 {
    position: absolute;
    z-index: 0;
    width: 215px;
    left: 372px;
    bottom: -42px;
    opacity: 0.2; }
  #feature .feature-img2 {
    width: 210px;
    margin-bottom: 0; }
  #feature .item-info {
    background: none;
    width: calc(100% - 690px);
    padding: 0 50px 10px; }
  #feature .title-common {
    margin-bottom: 30px;
    letter-spacing: 0; }
  @media screen and (min-width: 768px) and (max-width: 1366px) {
    #feature .item-inner:before {
      width: calc(50% - 50px); } }
  @media screen and (max-width: 1200px) and (min-width: 768px) {
    #feature .feature-img1 {
      width: 410px; }
    #feature .feature-img2 {
      width: 180px; }
    #feature .item-info {
      width: calc(100% - 590px);
      padding: 0 30px 10px; }
    #feature .feature-deco1 {
      right: 120px;
      width: 290px; }
    #feature .feature-deco2 {
      width: 195px;
      left: 310px; } }
  @media screen and (max-width: 1100px) {
    #feature .item-inner {
      flex-wrap: wrap;
      justify-content: center; }
      #feature .item-inner:before {
        display: none; }
    #feature .item-info {
      order: 2;
      width: 100%;
      margin-top: 50px;
      position: relative; }
      #feature .item-info:before {
        content: "";
        position: absolute;
        top: 10px;
        left: -18%;
        background: var(--bg1);
        height: 100%;
        width: 100%;
        z-index: -1; }
    #feature .feature-deco1 {
      top: auto;
      bottom: 0;
      width: 200px;
      right: 8vw;
      z-index: -1; }
    #feature .feature-deco2 {
      bottom: auto;
      left: auto;
      top: 275px;
      right: 190px;
      width: 135px; } }
  @media screen and (max-width: 767px) {
    #feature {
      margin-bottom: 0; }
      #feature .item-inner {
        padding: 14px 0 65px; }
      #feature .feature-img1 {
        width: 76.9%; }
      #feature .feature-img2 {
        width: 23.1%; }
      #feature .item-info {
        margin-top: 43px;
        padding: 0 20px 30px;
        z-index: 1; }
      #feature .title-common {
        font-size: 28px;
        margin-right: -20px;
        margin-bottom: 20px; }
      #feature .feature-deco1 {
        bottom: 9vw;
        width: 47%;
        right: 0vw; }
      #feature .feature-deco2 {
        top: 56vw;
        right: 12%;
        width: 25.6%; } }

.feature2 {
  margin-bottom: 85px; }
  .feature2 .item-inner {
    padding: 0 50px;
    justify-content: flex-end; }
  .feature2 .feature-img3 {
    order: 2;
    width: 54.2%;
    position: relative;
    z-index: 1; }
  .feature2 .item-info {
    background: none;
    width: 447px;
    z-index: 0;
    position: relative;
    margin: 20px 45px 0 0;
    padding-bottom: 50px; }
    .feature2 .item-info:before {
      content: "";
      position: absolute;
      top: 58px;
      right: 104px;
      background: var(--bg1);
      height: calc(100% - 70px);
      width: 150%;
      z-index: -1; }
  .feature2 .title-common {
    margin-bottom: 31px; }
    .feature2 .title-common small {
      margin-bottom: 7px; }
  .feature2 .feature-deco3 {
    position: absolute;
    width: 84%;
    top: -20px;
    left: -25%; }
  .feature2 .feature-deco4 {
    position: absolute;
    width: 64.2%;
    bottom: -14px;
    right: -31%; }
  @media screen and (max-width: 1000px) and (min-width: 768px) {
    .feature2 .item-inner {
      padding: 0 30px;
      display: block; }
    .feature2 .feature-img3 {
      width: 100%;
      max-width: 600px;
      margin: 0 auto 50px; }
    .feature2 .item-info {
      margin-right: 0;
      width: 100%; }
      .feature2 .item-info:before {
        top: 10px;
        height: calc(100% - 10px); }
    .feature2 .feature-deco3 {
      width: 33%;
      left: auto;
      right: 0;
      top: -50px; }
    .feature2 .feature-deco4 {
      width: 30%;
      bottom: -97px;
      right: 0; } }
  @media screen and (max-width: 767px) {
    .feature2 .item-inner {
      padding: 0; }
    .feature2 .feature-img3 {
      width: 100%; }
    .feature2 .item-info {
      width: 100%;
      margin: 45px 0 0 0;
      padding: 0 20px 35px; }
      .feature2 .item-info:before {
        top: 10px;
        right: 0;
        background: var(--bg1);
        height: calc(100% - 10px);
        width: 82%; }
    .feature2 .title-common {
      margin-bottom: 25px;
      margin-right: -20px;
      font-size: 28px;
      letter-spacing: 0; }
      .feature2 .title-common small {
        margin-bottom: 7px; }
    .feature2 .feature-deco3 {
      width: 183px;
      top: -67px;
      left: auto;
      right: -12px; }
    .feature2 .feature-deco4 {
      width: 148px;
      bottom: -51px;
      right: 0;
      margin-bottom: 0; } }

.feature3 {
  margin-bottom: 95px; }
  .feature3 .item-inner {
    justify-content: flex-start; }
    .feature3 .item-inner:before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      background: var(--bg1);
      height: 100%;
      width: calc(50% - 384px);
      z-index: -1; }
  .feature3 .feature-img4 {
    width: calc(50% + 53px);
    gap: 25px; }
    .feature3 .feature-img4 p {
      margin-bottom: 0; }
  .feature3 .item-info {
    width: 477px;
    margin: 17px 0 0 50px;
    background: none;
    padding-right: 30px; }
  .feature3 .title-common {
    margin-bottom: 31px; }
    .feature3 .title-common small {
      margin-bottom: 9px; }
  .feature3 .feature-deco4 {
    position: absolute;
    width: 334px;
    top: -70px;
    left: calc(50% - 57px);
    z-index: -1; }
  @media screen and (max-width: 1000px) {
    .feature3 .item-inner {
      padding: 0 30px;
      display: block; }
      .feature3 .item-inner:before {
        display: none; }
    .feature3 .feature-img4 {
      width: 100%;
      max-width: 600px;
      margin: 0 auto 50px; }
    .feature3 .item-info {
      margin: 0;
      width: 100%;
      position: relative;
      padding-bottom: 50px; }
      .feature3 .item-info:before {
        content: "";
        position: absolute;
        left: -30px;
        background: var(--bg1);
        z-index: -1;
        top: 10px;
        height: calc(100% - 10px);
        width: 82%; } }
  @media screen and (max-width: 767px) {
    .feature3 {
      margin-bottom: 48px; }
      .feature3 .item-inner {
        padding: 0; }
      .feature3 .feature-img4 {
        margin-bottom: 35px; }
      .feature3 .item-info {
        padding: 0 20px 40px; }
        .feature3 .item-info:before {
          left: 0; }
      .feature3 .title-common {
        font-size: 28px;
        letter-spacing: 0;
        margin-bottom: 20px; }
      .feature3 .feature-deco4 {
        width: 171px;
        top: -4px;
        left: auto;
        right: 0; } }

.feature4 {
  margin-bottom: 195px; }
  .feature4 .item-inner {
    justify-content: flex-end; }
    .feature4 .item-inner:before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      background: var(--bg1);
      height: 100%;
      width: calc(50% - 384px);
      z-index: -1; }
  .feature4 .feature-img {
    order: 2;
    width: calc(50% + 53px);
    margin-bottom: 0; }
  .feature4 .item-info {
    width: 447px;
    margin: 17px 50px 0 0;
    background: none; }
  .feature4 .title-common {
    margin-bottom: 31px; }
    .feature4 .title-common small {
      margin-bottom: 9px; }
  .feature4 .feature-deco1 {
    position: absolute;
    width: 464px;
    top: -87px;
    right: calc(50% + 200px);
    z-index: -1; }
  .feature4 .feature-deco2 {
    position: absolute;
    width: 138px;
    bottom: -82px;
    right: calc(50% + 517px);
    z-index: -1; }
  @media screen and (max-width: 1180px) {
    .feature4 .item-inner {
      padding: 0 30px; } }
  @media screen and (max-width: 1000px) {
    .feature4 .item-inner {
      padding: 0 30px;
      display: block; }
      .feature4 .item-inner:before {
        display: none; }
    .feature4 .feature-img {
      width: 100%;
      max-width: 600px;
      margin: 0 auto 50px; }
    .feature4 .item-info {
      margin: 0;
      width: 100%;
      position: relative;
      padding-bottom: 50px; }
      .feature4 .item-info:before {
        content: "";
        position: absolute;
        right: -30px;
        background: var(--bg1);
        z-index: -1;
        top: 10px;
        height: calc(100% - 10px);
        width: 82%; }
    .feature4 .feature-deco1 {
      width: 244px;
      right: -120px;
      top: auto;
      bottom: -100px; }
    .feature4 .feature-deco2 {
      right: auto;
      left: -65px;
      bottom: auto;
      top: 28px;
      width: 114px; } }
  @media screen and (max-width: 767px) {
    .feature4 {
      margin-bottom: 90px; }
      .feature4 .item-inner {
        padding: 0; }
      .feature4 .feature-img {
        margin-bottom: 35px; }
      .feature4 .item-info {
        padding: 0 20px 40px; }
        .feature4 .item-info:before {
          right: 0; }
      .feature4 .title-common {
        font-size: 28px;
        letter-spacing: 0;
        margin-bottom: 20px; }
      .feature4 .feature-deco1 {
        right: -58px;
        width: 190px;
        bottom: -89px; }
      .feature4 .feature-deco2 {
        left: -25px;
        width: 90px; } }

.group-item {
  margin: 0 auto;
  max-width: 1160px;
  padding: 0 30px; }
  .group-item .item {
    width: calc((100% - 30px) / 3);
    box-sizing: border-box;
    padding: 10px 10px 44px;
    background: #F4F5F7;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
    position: relative; }
    .group-item .item .item-info {
      background: none;
      color: #5D5F68; }
  .group-item .item-info {
    margin: 0 10px 0 20px; }
  .group-item h3 {
    color: #5F84B7;
    font-weight: 400;
    font-family: "Noto Serif", serif;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    font-size: 24px;
    line-height: 1.5;
    margin-bottom: 12px; }
    .group-item h3 small {
      font-family: "Spectral", serif;
      font-weight: 200;
      font-size: 12px;
      color: #89a6ce; }
  .group-item .item-link {
    position: absolute;
    bottom: 20px;
    right: 20px; }
    .group-item .item-link a {
      display: inline-flex;
      justify-content: flex-end;
      align-items: center;
      font-family: "Spectral", serif;
      font-size: 15px;
      line-height: 1;
      color: #2e5995; }
      .group-item .item-link a i {
        display: block;
        width: 24px;
        margin-left: 12px; }
  @media screen and (max-width: 980px) and (min-width: 768px) {
    .group-item .item-info {
      margin: 0; }
    .group-item h3 {
      font-size: 21px; } }
  @media screen and (max-width: 767px) {
    .group-item {
      padding: 0 20px; }
      .group-item .item {
        width: 100%;
        margin-bottom: 40px; } }

#medical {
  background: url("../img/menu.jpg") no-repeat center/cover;
  padding-bottom: 96px; }
  #medical .medical-inner {
    padding: 112px 30px 96px; }
  #medical .tit {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: -moz-max-content;
    width: max-content;
    font-size: 165px;
    font-weight: 700;
    color: rgba(244, 245, 247, 0.8);
    line-height: 1;
    text-transform: uppercase; }
  #medical h2 {
    position: absolute;
    z-index: 1;
    top: -65px;
    left: calc(50% - 550px); }
  #medical .medical-deco1 {
    position: absolute;
    width: 138px;
    top: -24px;
    left: calc(50% - 653px); }
  #medical .medical-deco2 {
    position: absolute;
    width: 139px;
    bottom: -37px;
    right: calc(50% - 653px); }
  @media screen and (max-width: 1150px) and (min-width: 768px) {
    #medical h2 {
      left: 30px; }
    #medical .group-item {
      padding: 0; } }
  @media screen and (max-width: 767px) {
    #medical {
      background: url("../img/menu_bg_sp_01.jpg") no-repeat top center/100% auto, url("../img/menu_bg_sp_02.jpg") no-repeat bottom center/100% auto #E2E7F0;
      padding-bottom: 0; }
      #medical .medical-inner {
        padding: 90px 0 20px; }
      #medical .tit {
        font-size: 72px; }
      #medical h2 {
        top: -28px;
        left: 20px; }
      #medical .medical-deco2 {
        width: 93px;
        bottom: -21px;
        right: auto;
        left: 0; } }

#greeting {
  margin: 114px 0 93px; }
  #greeting .df-pc {
    justify-content: flex-end;
    align-items: flex-start; }
  #greeting .greeting-img {
    order: 2;
    width: calc(50% + 110px);
    margin-left: 50px;
    position: relative;
    z-index: 1;
    align-items: center; }
    #greeting .greeting-img p {
      margin-bottom: 0; }
    #greeting .greeting-img .greeting-img1 {
      width: calc(59.8% - 68px); }
    #greeting .greeting-img .greeting-img2 {
      width: calc(40.2% - 68px); }
  #greeting .greeting-info {
    box-sizing: border-box;
    padding-left: 30px;
    width: 417px;
    position: relative;
    z-index: 0; }
    #greeting .greeting-info:before {
      content: "";
      position: absolute;
      z-index: -1;
      top: 32px;
      bottom: 60px;
      left: -20px;
      width: 400%;
      background: #F5F7FC; }
  #greeting .greeting-txt1 {
    color: #2E5995;
    line-height: 32px;
    letter-spacing: 4px;
    padding-bottom: 100px; }
    #greeting .greeting-txt1 p:nth-child(2) {
      margin-top: 20px;
      letter-spacing: 6px; }
    #greeting .greeting-txt1 .txt-latin {
      color: #5D5F68;
      font-size: 11px;
      display: inline-block;
      margin-top: 30px;
      letter-spacing: 1px;
      transform: translateX(-2px); }
    #greeting .greeting-txt1 .txt-span {
      display: inline-block;
      margin: 12px 0; }
  #greeting h3 {
    color: #5F84B7;
    font-size: 22px;
    line-height: 2;
    margin: 55px 0 15px; }
  #greeting .btn-link {
    margin-top: 40px; }
  #greeting .greeting-deco1 {
    position: absolute;
    top: -67px;
    left: calc(50% - 683px); }
  #greeting .greeting-deco2 {
    position: absolute;
    bottom: -57px;
    right: -50px; }
  #greeting .greeting-deco3 {
    position: absolute;
    top: -23px;
    right: 11.7%; }
  @media screen and (max-width: 1000px) {
    #greeting .df-pc {
      display: block; }
    #greeting .greeting-img {
      width: 100%;
      margin-left: 0; }
    #greeting .greeting-info {
      width: 100%;
      margin-top: 50px;
      padding: 0 30px; }
      #greeting .greeting-info:before {
        bottom: 25px;
        width: 90%; }
    #greeting h3 {
      margin-top: 40px; } }
  @media screen and (max-width: 767px) {
    #greeting {
      margin-bottom: 60px; }
      #greeting .greeting-img {
        align-items: flex-start; }
        #greeting .greeting-img .greeting-img1 {
          width: calc(100% - 124px); }
      #greeting .greeting-info {
        margin-top: 25px; }
      #greeting .greeting-txt1 {
        line-height: 32px;
        padding-bottom: 0;
        margin-right: 30px;
        letter-spacing: 3px; }
        #greeting .greeting-txt1 .txt-latin {
          margin-top: 20px; }
      #greeting h3 {
        font-size: 19px;
        margin: 35px -10px 16px 0; }
      #greeting .btn-link {
        margin-top: 30px; }
      #greeting .greeting-deco1 {
        top: -100px;
        left: auto;
        right: 36px;
        width: 278px; }
      #greeting .greeting-deco2 {
        bottom: -38px;
        right: -18px;
        width: 154px; }
      #greeting .greeting-deco3 {
        top: 72vw;
        right: -20px;
        width: 323px; }
        #greeting .greeting-deco3 img {
          width: 100% !important;
          height: auto;
          max-width: inherit; } }

#ministory {
  position: relative;
  z-index: 0;
  padding: 0 50px;
  margin: 0 auto;
  max-width: 1200px;
  box-sizing: border-box; }
  #ministory:before {
    content: "";
    position: absolute;
    top: 32px;
    left: 0;
    width: 100%;
    background: url("../img/ministory_bg1.jpg") no-repeat top right, url("../img/ministory_bg2.jpg") no-repeat bottom left #e3e7f0;
    height: calc(100% - 168px); }
  #ministory .inner {
    padding: 0; }
  #ministory h2 {
    margin-bottom: 64px; }
  #ministory .df {
    flex-wrap: wrap;
    justify-content: flex-start;
    padding-bottom: 78px;
    position: relative; }
  #ministory .ministory-item {
    width: calc((100% - 60px) / 4);
    margin-bottom: 20px;
    background: #fff;
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.04);
    margin-left: 20px;
    box-sizing: border-box;
    padding: 20px;
    font-size: 12px;
    color: #5D5F68;
    line-height: 1.5; }
    #ministory .ministory-item p {
      margin-bottom: 0; }
    #ministory .ministory-item:nth-child(4n + 2) {
      margin-left: 0; }
    #ministory .ministory-item .ministory-txt {
      margin: 13px 0 10px; }
    #ministory .ministory-item .ministory-date {
      color: #2e5995; }
  #ministory .ministory_bnr {
    background: url("../img/ministory_bnr.jpg") no-repeat center/cover;
    color: #fff;
    box-sizing: border-box;
    padding: 50px 30px;
    text-align: center; }
    #ministory .ministory_bnr h3 {
      text-align: center;
      line-height: 1;
      overflow: hidden;
      max-width: 960px;
      margin: 0 auto; }
      #ministory .ministory_bnr h3 span {
        display: inline-block;
        font-size: 32px;
        line-height: 1;
        letter-spacing: 0.16em;
        padding: 0 20px 0 25px;
        position: relative; }
        #ministory .ministory_bnr h3 span:before, #ministory .ministory_bnr h3 span:after {
          content: "";
          position: absolute;
          top: 50%;
          height: 1px;
          width: 100%;
          background: #fff; }
        #ministory .ministory_bnr h3 span:before {
          left: 100%; }
        #ministory .ministory_bnr h3 span:after {
          right: 100%; }
    #ministory .ministory_bnr .ministory-txt2 {
      font-weight: 200;
      line-height: 1;
      letter-spacing: 0.16em;
      margin: 22px 0 40px; }
  #ministory .ministory-deco1 {
    position: absolute;
    top: -182px;
    right: -130px;
    margin-bottom: 0; }
  #ministory .ministory-deco2 {
    position: absolute;
    bottom: -145px;
    left: -133px;
    margin-bottom: 0; }
  @media screen and (max-width: 1000px) {
    #ministory {
      padding: 0 30px; }
      #ministory .ministory-item {
        width: calc((100% - 40px) / 3); }
        #ministory .ministory-item:nth-child(4n + 2) {
          margin-left: 20px; }
        #ministory .ministory-item:nth-child(3n + 2) {
          margin-left: 0; } }
  @media screen and (max-width: 767px) {
    #ministory {
      padding: 0 20px; }
      #ministory h2 {
        margin-bottom: 35px; }
      #ministory .ttl-jp {
        line-height: 2; }
      #ministory:before {
        top: 60px;
        background: url("../img/ministory_bg1.jpg") no-repeat top right/200px auto, url("../img/ministory_bg2.jpg") no-repeat bottom left/200px auto #e3e7f0;
        height: calc(100% - 230px); }
      #ministory .df {
        justify-content: space-between;
        padding-bottom: 20px; }
      #ministory .ministory-item {
        width: calc(50% - 10px);
        margin-left: 0 !important;
        padding: 12px;
        font-size: 12px;
        line-height: 16px; }
        #ministory .ministory-item .ministory-txt {
          margin: 8px 0; }
      #ministory .ministory-deco1 {
        width: 190px;
        top: -225px;
        right: -25px; }
      #ministory .ministory-deco2 {
        width: 100px;
        bottom: -78px;
        left: -34px;
        margin-bottom: 0; }
      #ministory .ministory_bnr {
        background: url("../img/ministory_bnr_sp.jpg") no-repeat center/cover;
        padding: 40px 14px; }
        #ministory .ministory_bnr h3 span {
          font-size: 24px;
          padding: 0 10px 0 12px; }
        #ministory .ministory_bnr .ministory-txt2 {
          margin: 20px 0 30px; }
        #ministory .ministory_bnr .ministory-txt3 {
          font-size: 15px;
          line-height: 28px; } }

#support {
  margin-top: 128px; }
  #support .inner {
    align-items: center;
    padding: 0 30px;
    max-width: 1160px;
    margin: 0 auto 60px; }
  #support h2 {
    margin-right: 20px;
    width: 580px; }
  #support .txt1 {
    text-align: right;
    max-width: 450px; }
  #support .support-inner {
    position: relative;
    z-index: 0;
    padding: 0 30px 160px; }
    #support .support-inner:before {
      content: "";
      position: absolute;
      top: 130px;
      bottom: 0;
      left: 0;
      width: 100%;
      background: url("../img/ministory_bg1.jpg") no-repeat top right, url("../img/ministory_bg2.jpg") no-repeat bottom left #e3e7f0;
      z-index: -1; }
  #support .group-item {
    max-width: 1000px;
    padding: 0; }
  #support .item {
    margin-bottom: 40px; }
  #support .group2 {
    padding-top: 40px;
    border-top: 1px solid #abbdd6; }
    #support .group2 .item {
      padding: 20px; }
  #support .txt2 {
    justify-content: flex-start;
    align-items: center;
    color: #2e5995;
    font-size: 20px;
    border-bottom: 1px solid #89a6ce;
    padding-bottom: 12px;
    margin-bottom: 14px;
    line-height: 1.5; }
    #support .txt2 i {
      line-height: 1;
      display: block;
      margin-right: 16px; }
  #support .txt3 {
    font-size: 15px;
    line-height: 28px; }
  @media screen and (max-width: 767px) {
    #support {
      margin-top: 75px; }
      #support .inner {
        padding: 0 20px;
        margin-bottom: 35px; }
      #support .ttl-en {
        letter-spacing: 0.14em; }
      #support .txt1 {
        text-align: left;
        margin-top: 30px; }
      #support .support-inner {
        padding: 0 20px 28px; } }

#slide_top li {
  margin: 0 5px; }
@media screen and (min-width: 768px) {
  #slide_top {
    transform: translateY(-50%); } }
@media screen and (max-width: 767px) {
  #slide_top {
    margin-bottom: 90px; } }

.sec_category {
  max-width: 1200px;
  margin: 0 auto 100px;
  background: #F5F7FC;
  box-sizing: border-box;
  padding: 0 50px; }
  .sec_category h2 {
    justify-content: flex-start;
    align-items: center;
    transform: translateY(-50%); }
  .sec_category .ttl-en {
    margin-bottom: 0;
    margin-right: 30px; }
  .sec_category .text-link {
    font-size: 16px;
    font-family: "Noto Serif", serif; }
  @media screen and (min-width: 768px) {
    .sec_category .text-link {
      position: absolute;
      top: 0;
      right: 0;
      transform: translateY(-50%); } }
  @media screen and (max-width: 1000px) {
    .sec_category {
      padding: 0 30px; } }
  @media screen and (max-width: 767px) {
    .sec_category {
      padding: 0 20px; }
      .sec_category .ttl-en {
        margin-right: 25px; }
      .sec_category .text-link {
        position: absolute;
        bottom: 0;
        right: 0;
        transform: translateY(50%); } }

.post-box {
  margin-top: 0; }
  .post-box dl dt {
    color: #2e5995;
    font-family: "Noto Serif", serif; }
  .post-box dl dd a {
    display: block;
    line-height: 1.5; }

#news .post-box dl {
  justify-content: flex-start;
  padding-left: 32px;
  padding-right: 50px;
  padding-top: 0;
  position: relative; }
  #news .post-box dl:after {
    content: "";
    position: absolute;
    top: 9px;
    right: 32px;
    background: url("../img/news_arrow.png") no-repeat center;
    width: 12px;
    height: 10px; }
  #news .post-box dl:not(:last-child) {
    border-bottom: 1px solid #E6E6E6;
    margin-bottom: 40px;
    padding-bottom: 25px; }
  #news .post-box dl dt {
    margin-bottom: 0;
    font-size: 16px;
    line-height: 1.5;
    width: 130px; }
  #news .post-box dl dd {
    width: calc(100% - 130px);
    line-height: 1.5; }
@media screen and (max-width: 767px) {
  #news .post-box {
    padding-bottom: 20px; }
    #news .post-box dl {
      padding-left: 0;
      padding-right: 20px; }
      #news .post-box dl:after {
        right: 0;
        top: 40px; }
      #news .post-box dl dd {
        width: 100%;
        margin-top: 10px; } }

#column .thumb-img {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
  background: #fff;
  padding: 10px;
  width: 100%; }
  #column .thumb-img a {
    padding-top: 64.8%;
    display: block;
    position: relative; }
    #column .thumb-img a img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100% !important;
      max-width: inherit;
      height: 100%;
      object-fit: cover; }
#column dl {
  display: block !important;
  margin-top: 10px; }
  #column dl dt {
    font-size: 16px; }
  #column dl dd a {
    line-height: 28px; }
@media screen and (min-width: 768px) {
  #column .post-box__content {
    display: flex;
    justify-content: flex-start; }
  #column .post-item {
    width: calc((100% - 32px) / 3);
    margin-left: 20px; }
    #column .post-item:nth-child(3n + 1) {
      margin-left: 0; } }
@media screen and (max-width: 767px) {
  #column .post-item + .post-item {
    margin-top: 20px; } }

#clinic {
  margin: 0 auto;
  max-width: 1266px;
  position: relative;
  z-index: 0; }
  #clinic:before, #clinic:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%; }
  #clinic:before {
    top: 106px;
    background: #F5F7FC;
    z-index: -1; }
  #clinic:after {
    height: 140px;
    background: #E0E9F4; }
  #clinic .inner {
    padding: 0 30px 30px;
    margin: 0 auto;
    max-width: 1160px;
    position: relative;
    z-index: 1;
    box-sizing: border-box; }
  #clinic .clinic-deco1, #clinic .clinic-deco2 {
    position: absolute;
    margin-bottom: 0; }
  #clinic .clinic-deco1 {
    width: 138px;
    top: 58px;
    left: calc(50% + 360px);
    z-index: 1; }
  #clinic .clinic-deco2 {
    width: 181px;
    bottom: -10px;
    left: -63px; }
  #clinic .clinic--inner {
    position: relative;
    justify-content: flex-start; }
  #clinic h2 {
    margin-bottom: 60px; }
    #clinic h2 .ttl-en em {
      font-style: normal;
      font-size: 32px; }
  #clinic h3 {
    color: #2e5995;
    font-size: 18px;
    letter-spacing: 0.16em;
    line-height: 24px;
    margin-bottom: 20px;
    font-weight: 400; }
  #clinic .time-tb {
    width: 100%;
    border-top: 1px solid #ABBDD6;
    border-collapse: collapse;
    color: #5F84B7;
    margin: 0 0 24px;
    font-family: "Noto Serif", serif; }
    #clinic .time-tb th, #clinic .time-tb td {
      border-collapse: collapse; }
    #clinic .time-tb thead tr th {
      border-bottom: 1px solid #ABBDD6;
      line-height: 1.5;
      padding: 8px 0;
      text-align: center;
      font-weight: 500; }
      #clinic .time-tb thead tr th:first-child {
        width: 132px;
        border-right: 1px solid #ABBDD6; }
    #clinic .time-tb tbody tr {
      border-bottom: 1px solid #ABBDD6; }
      #clinic .time-tb tbody tr th {
        border-right: 1px solid #ABBDD6;
        text-align: center;
        line-height: 24px;
        padding: 16px 0; }
      #clinic .time-tb tbody tr td {
        text-align: center;
        line-height: 1.5;
        padding: 16px 0; }
  #clinic .clinic-box {
    background: #F8FBFF; }
    #clinic .clinic-box .clinic-ttl {
      color: #fff;
      background: #5f84b7;
      line-height: 42px;
      padding: 0 20px; }
      #clinic .clinic-box .clinic-ttl span {
        font-size: 20px;
        display: inline-block;
        margin-right: 5px; }
    #clinic .clinic-box .box-inner {
      padding: 0 20px 24px;
      font-size: 15px;
      line-height: 28px; }
    #clinic .clinic-box .clinic-txt1 {
      margin-bottom: 15px; }
    #clinic .clinic-box .clinic-txt2 {
      padding-top: 15px;
      border-top: 1px solid #5f84b7;
      font-weight: 500;
      color: #2e5995; }
  #clinic .clinic-box2 {
    background: #F8FBFF;
    padding: 20px 30px;
    margin-bottom: 24px;
    line-height: 24px;
    font-size: 14px; }
    #clinic .clinic-box2 li {
      border-bottom: 1px solid #ABBDD6;
      padding: 10px; }
      #clinic .clinic-box2 li i {
        width: 25px; }
      #clinic .clinic-box2 li span, #clinic .clinic-box2 li h1 {
        display: block;
        width: calc(100% - 45px); }
  #clinic .gmap {
    width: 100%;
    height: 200px; }
    #clinic .gmap iframe {
      width: 100%;
      height: 100%; }
  #clinic .map-link {
    position: absolute;
    bottom: -43px;
    right: 0; }
    #clinic .map-link a {
      font-size: 16px;
      font-family: "Noto Serif", serif; }
  @media screen and (min-width: 768px) {
    #clinic .clinic-img {
      position: absolute;
      bottom: 0;
      left: calc(50% + 446px);
      width: 550px; }
    #clinic .col:nth-child(1) {
      width: 41%; }
    #clinic .col:nth-child(2) {
      position: relative;
      width: 40.5%;
      margin-left: 50px; } }
  @media screen and (max-width: 1000px) and (min-width: 768px) {
    #clinic:before {
      top: 90px; }
    #clinic .col:nth-child(1) {
      width: 42%; }
    #clinic .col:nth-child(2) {
      margin-left: 30px;
      width: 41.5%; }
    #clinic .clinic-img {
      left: 92%; } }
  @media screen and (max-width: 767px) {
    #clinic:after {
      height: 411px; }
    #clinic .inner {
      padding: 0; }
    #clinic .clinic-deco1 {
      top: -40px;
      left: auto;
      right: -23px; }
    #clinic .clinic-deco2 {
      width: 129px;
      bottom: -90px;
      left: -10px; }
    #clinic h2 {
      margin: 35px 20px 55px; }
      #clinic h2 .ttl-en em {
        font-size: 32px; }
    #clinic .ttl-en {
      letter-spacing: 0.14em;
      margin-bottom: 23px; }
    #clinic .col {
      margin: 0 20px 40px; }
    #clinic .time-tb thead tr th:first-child {
      width: 105px; }
    #clinic .time-tb tbody tr th {
      font-size: 15px; }
    #clinic .clinic-box .box-inner {
      line-height: 24px; }
    #clinic .clinic-box2 {
      padding: 20px; }
      #clinic .clinic-box2 li {
        padding: 10px 0; }
        #clinic .clinic-box2 li i {
          width: 22px; }
        #clinic .clinic-box2 li span {
          width: calc(100% - 36px); }
    #clinic .map-link {
      position: static;
      text-align: right;
      margin-top: 15px; } }
