@charset "UTF-8";
/* ブレイクポイント */
.section {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .section {
    margin-bottom: 230px;
  }
}

.section01 {
  margin-bottom: 70px;
}
@media (min-width: 768px) {
  .section01 {
    margin-bottom: 160px;
  }
}

.page-sec {
  margin-bottom: 100px;
}
@media (min-width: 992px) {
  .page-sec {
    margin-bottom: 140px;
  }
}

.section-titleBox {
  position: relative;
  z-index: 0;
}

.section-title01 {
  font-size: 2.4rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  letter-spacing: 0.04em;
  margin-bottom: 30px;
}
@media (max-width: 374px) {
  .section-title01 {
    font-size: 2rem;
  }
}
@media (min-width: 992px) {
  .section-title01 {
    font-size: 4rem;
    line-height: initial;
    margin-bottom: 48px;
  }
}

.title-en {
  position: absolute;
  content: "";
  color: #F3F4E6;
  font-size: 9rem;
  font-family: "Corinthia", cursive;
  line-height: 1;
  bottom: -14px;
  left: 3px;
  z-index: -1;
}
@media (min-width: 768px) {
  .title-en {
    bottom: -10px;
  }
}
@media (min-width: 1200px) {
  .title-en {
    font-size: 18rem;
    left: 0;
    bottom: -44px;
  }
}

.section-title02 {
  position: relative;
  border-bottom: 1px solid #DEDEDE;
  font-size: 2.1rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.04em;
  margin-bottom: 16px;
  padding-bottom: 10px;
}
@media (min-width: 768px) {
  .section-title02 {
    letter-spacing: initial;
  }
}
@media (min-width: 992px) {
  .section-title02 {
    font-size: 2.4rem;
    padding-bottom: 16px;
  }
}
@media (min-width: 1200px) {
  .section-title02 {
    font-size: 3.2rem;
    margin-bottom: 40px;
  }
}
.section-title02::before {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #989E23;
  left: 0;
  bottom: -2px;
  width: 11.4%;
}

.util-link01 {
  max-width: 350px;
  width: 100%;
}

.button01 {
  position: relative;
  background-color: #fff;
  border: 1px solid #172A88;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  color: #172A88;
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "Noto Sans JP", serif;
  padding: 11px 8px 11px 20px;
  letter-spacing: 0.05em;
  text-align: left;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  width: 100%;
}
@media (min-width: 768px) {
  .button01 {
    padding: 12px 8px 12px 26px;
  }
}
@media (min-width: 1200px) {
  .button01 {
    letter-spacing: 0.08em;
  }
}
.button01::after {
  position: absolute;
  content: "";
  background: url(../img/common/arrow-right.png) no-repeat center center/contain;
  width: 18px;
  height: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 20px;
}
@media (min-width: 768px) {
  .button01::after {
    right: 26px;
  }
}
.button01:hover {
  background-color: #172A88;
  color: #fff;
}
.button01:hover::after {
  background: url(../img/common/arrow-right-white.png) no-repeat center center/contain;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.util-link02 {
  width: 100%;
}

.button02 {
  position: relative;
  background-color: #172A88;
  border: 1px solid #172A88;
  color: #fff;
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  font-family: "Noto Sans JP", serif;
  padding: 11px 8px;
  letter-spacing: 0.05em;
  text-align: center;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  width: 100%;
}
@media (min-width: 768px) {
  .button02 {
    padding: 14.8px 8px;
  }
}
.button02::after {
  position: absolute;
  content: "";
  display: block;
  bottom: 5px;
  right: 5px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 20px 20px;
  border-color: transparent transparent #fff transparent;
  -webkit-transition: border-color 0.3s ease-in-out;
  transition: border-color 0.3s ease-in-out;
  margin-left: 10px;
}
.button02:hover {
  background-color: #fff;
  color: #172A88;
}
.button02:hover::after {
  border-color: transparent transparent #172A88 transparent;
}

@media (min-width: 768px) {
  .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.textBox .text:not(:last-child) {
  margin-bottom: 16px;
}

.lead-box {
  margin-bottom: 70px;
}
@media (min-width: 992px) {
  .lead-box {
    margin-bottom: 100px;
  }
}
.lead-box .lead:not(:last-child) {
  margin-bottom: 16px;
}

.top-visual {
  margin-bottom: 70px;
}
@media (min-width: 768px) {
  .top-visual {
    margin-bottom: 100px;
  }
}

.page-id-95 .top-visual {
  margin-bottom: 100px;
}
@media (min-width: 992px) {
  .page-id-95 .top-visual {
    margin-bottom: 165px;
  }
}

.p-lead-mb {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .p-lead-mb {
    margin-bottom: 30px;
  }
}

.box-small {
  padding: 30px 20px;
}
@media (min-width: 768px) {
  .box-small {
    padding: 30px;
  }
}

.box-large {
  padding: 40px 20px;
}
@media (min-width: 992px) {
  .box-large {
    padding: 80px;
  }
}

.text-note span {
  color: #172A88;
  font-weight: 600;
}

.text-check {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 16px 0 16px 32px;
}
@media (min-width: 768px) {
  .text-check {
    line-height: 1.4;
    padding: 20px 0 20px 40px;
  }
}
@media (min-width: 992px) {
  .text-check {
    font-size: 1.8rem;
  }
}
.text-check::before {
  position: absolute;
  content: "";
  background: url(../img/common/check-blue.png) no-repeat center center/contain;
  width: 20px;
  height: 20px;
  top: 18px;
  left: 0;
}
@media (min-width: 768px) {
  .text-check::before {
    top: 23px;
    width: 24px;
    height: 24px;
  }
}

.text-check:not(:last-child) {
  border-bottom: 1px dashed #AAAAAA;
}

.text-check:first-child {
  padding-top: 0;
}
.text-check:first-child::before {
  top: 2px;
}

.text-check:last-child {
  padding-bottom: 0;
}

.text-excl {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.4;
  padding: 16px 0 16px 32px;
}
@media (min-width: 768px) {
  .text-excl {
    padding: 20px 0 20px 40px;
  }
}
@media (min-width: 992px) {
  .text-excl {
    font-size: 1.8rem;
  }
}
.text-excl::before {
  position: absolute;
  content: "";
  background: url(../img/common/excl.png) no-repeat center center/contain;
  width: 20px;
  height: 20px;
  top: 23px;
  left: 0;
}
@media (min-width: 768px) {
  .text-excl::before {
    width: 24px;
    height: 24px;
  }
}

.text-excl:not(:last-child) {
  border-bottom: 1px dashed #AAAAAA;
}

.text-excl:first-child {
  padding-top: 0;
}
.text-excl:first-child::before {
  top: 2px;
}

.text-excl:last-child {
  padding-bottom: 0;
}

.text-circle {
  position: relative;
  font-size: 1.6rem;
  line-height: 1.4;
  padding-left: 18px;
}
@media (min-width: 768px) {
  .text-circle {
    padding-left: 28px;
  }
}
@media (min-width: 992px) {
  .text-circle {
    font-size: 1.8rem;
  }
}
.text-circle::before {
  position: absolute;
  content: "";
  background-color: #172A88;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  top: 8px;
  left: 0;
}
@media (min-width: 768px) {
  .text-circle::before {
    width: 12px;
    height: 12px;
  }
}

/* ログインユーザーのみに適用される管理バー（#wpadminbar）のスタイル */
html {
  margin-top: 0 !important;
}

#wpadminbar {
  top: auto !important; /* 上部固定を解除 */
  bottom: 0 !important; /* 下部に固定 */
  position: fixed; /* 念のため固定を明示 */
  /* z-indexが他の要素と競合する場合は調整してください */
}

/* 管理バーを下に移動した場合、body要素の下部に余白が必要になります */
/* SP表示のときに管理バーとフッターが重ならないように注意 */
body.logged-in {
  padding-top: 0 !important;
  padding-bottom: 32px !important; /* 管理バーの高さ(32px)分、ページ最下部に余白を追加 */
}

/* SP表示（管理バーが小さくなる 600px以下）の調整 */
@media screen and (max-width: 600px) {
  body.logged-in {
    padding-bottom: 46px !important; /* SP時の管理バーの高さ(46px)分に調整 */
  }
}
body.logged-in .footer {
  padding-bottom: 40px;
}
@media (min-width: 992px) {
  body.logged-in .footer {
    padding-bottom: 0px;
  }
}

/* header */
.header {
  position: fixed;
  background-color: #fff;
  width: 100%;
  top: 0;
  right: 0;
  left: 0;
  height: 60px;
  z-index: 20;
}
@media (min-width: 1200px) {
  .header {
    position: initial;
    height: initial;
  }
}

.inner-header {
  height: 60px;
  margin: auto;
  max-width: 1280px;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
}
@media (min-width: 1200px) {
  .inner-header {
    display: block;
    height: initial;
  }
}
@media (min-width: 1600px) {
  .inner-header {
    max-width: 1480px;
  }
}

.header__inner {
  height: 60px;
}

.header__top {
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 1200px) {
  .header__top {
    margin-top: 15px;
  }
}

.header__logo {
  max-width: 110px;
  width: 100%;
}
@media (max-width: 374px) {
  .header__logo {
    max-width: initial;
    width: 40vw;
  }
}
@media (min-width: 992px) {
  .header__logo {
    max-width: 165px;
  }
}
@media (min-width: 1600px) {
  .header__logo {
    max-width: 200px;
  }
}

.header .web-link {
  display: none;
  -webkit-box-shadow: initial;
          box-shadow: initial;
  margin-left: auto;
  margin-right: initial;
  max-width: 255px;
  padding: 15px 8px;
}
@media (min-width: 1200px) {
  .header .web-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.header .web-link img {
  width: 26px;
  height: 20px;
  margin-right: 8px;
}
.header .web-link-num {
  font-size: 1.6rem;
}

.header-box__bottom {
  display: none;
}
@media (min-width: 1200px) {
  .header-box__bottom {
    display: block;
    position: relative;
  }
  .header-box__bottom.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 20;
    background-color: #fff;
    width: 100%;
  }
}

@media (min-width: 1200px) {
  .header-nav {
    height: inherit;
  }
}

.header-nav__list {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header-nav__item-link {
  font-size: 1.11vw;
  font-weight: 500;
  display: block;
  line-height: 1.43;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  padding-top: 14px;
  padding-bottom: 14px;
}
@media (min-width: 1200px) {
  .header-nav__item-link {
    position: relative;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
}
@media (min-width: 1400px) {
  .header-nav__item-link {
    font-size: 1.6rem;
  }
}
@media (min-width: 1600px) {
  .header-nav__item-link {
    font-size: 0.8vw;
  }
}
.header-nav__item-link::after {
  position: absolute;
  content: "";
  left: 50%;
  bottom: 1px;
  width: 0;
  height: 1px;
  background-color: #172A88;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.header-nav__item-link:hover::after {
  width: 100%;
  left: 0;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.header-nav__item-link.arrow {
  position: relative;
}
.header-nav__item-link.arrow::before {
  position: absolute;
  content: "";
  background: url(../img/common/arrow-bottom.svg) no-repeat center center/contain;
  width: 12px;
  height: 9px;
  bottom: 17px;
  right: -16px;
}
.header-nav__item-link.arrow::before:hover {
  cursor: pointer;
}

.header-nav__item:first-child {
  padding-left: 0;
}

.header-nav__item:last-child {
  padding-right: 0;
}

/* プルダウンメニュー */
.nav-sub {
  position: absolute;
  background-color: #F2F6F8;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 2px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 50px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  opacity: 0.9;
  z-index: 1;
  visibility: hidden;
  opacity: 0;
  margin: 0 calc(50% - 50vw);
}

.nav-sub__item:not(:last-child) {
  padding-right: 60px;
}

.nav-sub__item a {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  height: initial;
  line-height: initial;
  padding: 25px 0;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.nav-sub__item a:hover {
  color: #172A88;
}

.header-nav__item {
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.header-nav__item:hover .nav-sub {
  visibility: visible;
  opacity: 0.9;
}

/* ドロワーメニュー */
.drawer-icon {
  position: fixed;
  background-color: #F5F8FA;
  top: 13px;
  right: 20px;
  z-index: 300;
  -webkit-transition: -webkit-transform 0.5s ease 0s;
  transition: -webkit-transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s, -webkit-transform 0.5s ease 0s;
  margin-left: auto;
  padding: 10px;
  width: 40px;
}
@media (min-width: 1200px) {
  .drawer-icon {
    display: none;
  }
}
@media (min-width: 1400px) {
  .drawer-icon.is-active .drawer-icon__bars {
    position: absolute;
    top: 20px;
    right: 50px;
  }
}
.drawer-icon.is-active .drawer-icon__bar1 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 8px;
  width: 20px;
}
.drawer-icon.is-active .drawer-icon__bar2 {
  display: none;
}
.drawer-icon.is-active .drawer-icon__bar3 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 8px;
}

.drawer-icon__bars {
  width: 20px;
  height: 14px;
  display: block;
  position: relative;
}
@media (min-width: 1400px) {
  .drawer-icon__bars {
    width: 0px;
  }
}

.drawer-icon__bar1,
.drawer-icon__bar2,
.drawer-icon__bar3 {
  position: absolute;
  height: 1px;
  top: 0;
  right: 0;
}

.drawer-icon__bar1 {
  background: #172A88;
  top: 0;
  width: 20px;
}

.drawer-icon__bar2 {
  background: #172A88;
  top: 7px;
  width: 20px;
}

.drawer-icon__bar3 {
  background: #172A88;
  top: 14px;
  width: 20px;
}

.drawer-content {
  background-color: #F5F8FA;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border-radius: 10px 0 0 10px;
  width: 85.5%;
  height: 100vh;
  position: fixed;
  top: 60px;
  right: 0;
  padding-right: 32px;
  padding-left: 32px;
  padding-bottom: 200px;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-transform: translateX(105%);
          transform: translateX(105%);
  -webkit-transition: -webkit-transform 0.5s ease 0s;
  transition: -webkit-transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s;
  transition: transform 0.5s ease 0s, -webkit-transform 0.5s ease 0s;
  z-index: 299;
}
.drawer-content.is-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.drawer-content__logo {
  max-width: 170px;
  width: 100%;
  margin: 10px 8px 0 20px;
}

.drawer-content__items {
  margin-top: 12px;
  margin-bottom: 30px;
  position: relative;
}
@media (min-width: 1200px) {
  .drawer-content__items {
    margin-left: 32px;
  }
}

.drawer-content__item {
  position: relative;
  border-bottom: 1px dashed #707070;
  font-weight: 600;
  padding: 16px 0px 16px 0;
}
.drawer-content__item .link {
  display: block;
  font-size: 1.6rem;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
  margin-right: 32px;
}

.drawer-accordion {
  position: absolute;
  width: 7px;
  height: 4px;
  right: 0;
  top: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.drawer-accordion .drawer-accordion-arrow {
  width: 8px;
  height: 8px;
  border: solid #172A88;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 3px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: border-color 0.2s ease, -webkit-transform 0.2s ease;
  transition: border-color 0.2s ease, -webkit-transform 0.2s ease;
  transition: transform 0.2s ease, border-color 0.2s ease;
  transition: transform 0.2s ease, border-color 0.2s ease, -webkit-transform 0.2s ease;
}
.drawer-accordion .drawer-accordion-arrow.is-open {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.drawer-nav {
  display: none;
}

.drawer-nav__link {
  position: relative;
  border-bottom: 1px dashed #707070;
  display: block;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  padding: 16px 0 16px 0;
  margin-left: 18px;
}

.drawer-nav__link:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.drawer-nav__link:nth-child(1) {
  border-top: 1px dashed #707070;
  padding-top: 16px;
  margin-top: 16px;
}

.web-sp {
  margin-bottom: 20px;
}

.drawer-contact-lead,
.drawer-contact-note {
  font-family: "Noto Serif JP", serif;
  line-height: 1.3;
}

.drawer-contact-lead {
  font-size: 1.4rem;
  margin-bottom: 8px;
}

.drawer-contact-note {
  font-size: 1.2rem;
  margin-top: 4px;
}

.drawer-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 298;
  display: none;
}
.drawer-background.is-active {
  display: block;
}

/* footer */
.footer {
  padding-bottom: 80px;
}
@media (min-width: 992px) {
  .footer {
    padding-bottom: 12px;
  }
}

.footer-inner {
  margin-bottom: 50px;
}
@media (min-width: 992px) {
  .footer-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-bottom: initial;
  }
}

.footer-nav {
  background-color: #172A88;
  display: none;
  padding-top: 40px;
  padding-bottom: 40px;
}
@media (min-width: 992px) {
  .footer-nav {
    display: block;
    padding-top: 52px;
    padding-bottom: 52px;
  }
}

.footer-nav-top {
  margin-bottom: 54px;
}

@media (min-width: 992px) {
  .footer-nav__lists {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media (min-width: 992px) {
  .footer-nav__link {
    color: #fff;
    display: inline-block;
    font-size: 1.4rem;
    font-weight: 600;
  }
}
@media (min-width: 1200px) {
  .footer-nav__link {
    font-size: 1.6rem;
  }
}

.footer-nav__link,
.footer-nav__child-link {
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.footer-nav__link:hover,
.footer-nav__child-link:hover {
  opacity: 0.8;
}

@media (min-width: 992px) {
  .footer-nav__child {
    margin-top: 10px;
  }
}

@media (min-width: 992px) {
  .footer-nav__child-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

@media (min-width: 992px) {
  .footer-nav__child-link {
    color: #fff;
    display: inline-block;
    font-size: 1.3rem;
    font-weight: 500;
  }
}
@media (min-width: 1200px) {
  .footer-nav__child-link {
    font-size: 1.4rem;
  }
}

@media (min-width: 992px) {
  .footer-nav__child-item:not(:last-child) {
    margin-bottom: 4px;
  }
}

@media (min-width: 768px) {
  .copyright {
    margin-top: 12px;
  }
}

.copyright__text {
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
}
@media (min-width: 768px) {
  .copyright__text {
    font-size: 1.4rem;
  }
}

/* bottom-contact */
.bottom-contact-pc {
  display: none;
}
@media (min-width: 992px) {
  .bottom-contact-pc {
    position: fixed;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
    bottom: 24px;
    right: 40px;
    z-index: 30;
  }
}
@media (min-width: 768px) {
  .bottom-contact-pc .bottom-contact-pc__img {
    -webkit-filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
            filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
    width: 130px;
    height: 120px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .bottom-contact-pc .bottom-contact-pc__img:hover {
    opacity: 0.8;
  }
}
@media (min-width: 768px) {
  .bottom-contact-pc .bottom-contact-pc__img-web {
    margin-right: 20px;
  }
}

.bottom-contact-sp {
  position: fixed;
  background-color: #DCE8F2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 30;
  padding: 9px 6px;
}
@media (min-width: 992px) {
  .bottom-contact-sp {
    display: none;
  }
}
.bottom-contact-sp .tel,
.bottom-contact-sp .web,
.bottom-contact-sp .line {
  width: 33%;
  height: 50px;
}
.bottom-contact-sp .tel img,
.bottom-contact-sp .web img,
.bottom-contact-sp .line img {
  margin: 0 auto;
  width: 21px;
  height: 16px;
}
.bottom-contact-sp .tel,
.bottom-contact-sp .web {
  margin-right: 6px;
}
.bottom-contact-sp .bottom-contact__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: inherit;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-right: 3px;
  padding-left: 3px;
}
.bottom-contact-sp .bottom-contact__link span {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: center;
}
@media (max-width: 374px) {
  .bottom-contact-sp .bottom-contact__link span {
    font-size: 3.7vw;
  }
}
.bottom-contact-sp .bottom-contact__link--tel {
  background-color: #fff;
  border: 1px solid #172A88;
  color: #172A88;
}
.bottom-contact-sp .bottom-contact__link--web {
  background-color: #172A88;
  border: 1px solid #172A88;
  color: #fff;
}
.bottom-contact-sp .bottom-contact__link--line {
  background-color: #fff;
  border: 1px solid #138756;
  color: #138756;
}

.rsv-common {
  background-color: #F5F8FA;
  padding: 18px 0;
}
@media (min-width: 768px) {
  .rsv-common {
    padding: 60px 0;
  }
}

@media (min-width: 992px) {
  .rsv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.rsv-boxes {
  position: relative;
  background-color: #fff;
  padding: 6px;
  z-index: 0;
}
@media (min-width: 992px) {
  .rsv-boxes {
    padding: 10px;
    width: 48%;
  }
}
.rsv-boxes::before {
  position: absolute;
  content: "";
  background: url(../img/common/cv-logo.png) no-repeat center center/contain;
  width: 82px;
  height: 144px;
  z-index: -1;
}
@media (min-width: 992px) {
  .rsv-boxes::before {
    width: 143px;
    height: 250px;
  }
}

@media (min-width: 992px) {
  .rsv-boxes.rsv-boxes-tel {
    margin-right: 4%;
  }
}
.rsv-boxes.rsv-boxes-tel::before {
  top: 0;
  left: 0;
}

.rsv-boxes.rsv-boxes-web::before {
  top: 0;
  right: 0;
}

.rsv-box {
  border: 1px solid #989E23;
  padding: 16px 34px;
  text-align: center;
}
@media (min-width: 992px) {
  .rsv-box {
    padding: 40px;
    height: 230px;
  }
}

@media (min-width: 992px) {
  .rsv-box.rsv-box-tel {
    padding-bottom: 46px;
  }
}

.rsv-box__head {
  font-size: 1.2rem;
  margin-bottom: 4px;
}
@media (min-width: 768px) {
  .rsv-box__head {
    font-size: 1.6rem;
    margin-bottom: initial;
  }
}

.rsv-box__main {
  font-size: 1.5rem;
  margin-bottom: 12px;
}
@media (min-width: 768px) {
  .rsv-box__main {
    font-size: 2rem;
    margin-bottom: 24px;
  }
}

.rsv-box__head,
.rsv-box__main {
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
}

.tel-link,
.web-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.tel-link img,
.web-link img {
  width: 18px;
  height: 18px;
  margin-right: 12px;
}
@media (min-width: 768px) {
  .tel-link img,
  .web-link img {
    width: 40px;
    height: 40px;
  }
}

.tel-link {
  line-height: 1.45;
  background-color: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border: 1px solid #172A88;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  padding: 12px 8px;
}
@media (min-width: 768px) {
  .tel-link {
    padding: 18px 8px;
  }
}
@media (min-width: 992px) {
  .tel-link {
    background-color: initial;
    -webkit-box-shadow: initial;
            box-shadow: initial;
    border: none;
    padding: initial;
    line-height: 1.45;
  }
}

.tel-link-num {
  color: #172A88;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 0.03em;
  font-size: 1.5rem;
}
@media (min-width: 992px) {
  .tel-link-num {
    font-size: 4.4rem;
  }
}

.web-link {
  background-color: #172A88;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  border: 1px solid #172A88;
  color: #fff;
  line-height: 1;
  margin: 0 auto;
  padding: 12px 8px;
  width: 100%;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
@media (min-width: 768px) {
  .web-link {
    padding: 18px 8px;
  }
}
@media (min-width: 1200px) {
  .web-link {
    max-width: 370px;
  }
}
.web-link:hover {
  opacity: 0.7;
}

.web-link-num {
  letter-spacing: 0.1em;
  font-size: 1.5rem;
}
@media (min-width: 992px) {
  .web-link-num {
    font-size: 2.2rem;
  }
}

.top-info {
  background-color: #fff;
  padding-top: 74px;
  padding-bottom: 14px;
}
@media (min-width: 768px) {
  .top-info {
    padding-top: 130px;
    padding-bottom: 100px;
  }
}

@media (min-width: 992px) {
  .info-contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (min-width: 992px) {
  .info-content {
    margin-right: 6.3%;
    width: 39.8%;
  }
}

.info-logo {
  margin-bottom: 28px;
  max-width: 185px;
  width: 100%;
}
@media (min-width: 768px) {
  .info-logo {
    margin-bottom: 16px;
    max-width: 230px;
  }
}

.info-item {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .info-item {
    margin-bottom: 24px;
  }
}

.info-row {
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.info-row:not(:last-child) {
  margin-bottom: 16px;
}

.info-row__title {
  font-size: 1.2rem;
  font-weight: 600;
  width: 67px;
}
@media (min-width: 768px) {
  .info-row__title {
    font-size: 1.4rem;
    width: 80px;
  }
}

.info-row__text {
  font-size: 1.5rem;
  width: calc(100% - 67px);
}
@media (min-width: 768px) {
  .info-row__text {
    font-size: 1.7rem;
    width: calc(100% - 80px);
  }
}

.schedule {
  margin-bottom: 14px;
  max-width: 100%;
  overflow-x: auto;
}
@media (min-width: 992px) {
  .schedule {
    margin-bottom: 30px;
  }
}
.schedule .info-row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.schedule-wrapper {
  margin-bottom: 14px;
}

.schedule__table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  font-size: 1rem;
}
.schedule__table thead tr {
  background-color: #989E23;
}
.schedule__table thead th {
  color: #fff;
  border-right: 1px solid #989E23;
}
.schedule__table th,
.schedule__table td {
  padding: 1em 0.5em 1em;
  border-bottom: 1px solid #D3D3D3;
}
.schedule__table th {
  font-size: 1.4rem;
  line-height: 1.428;
}
@media (min-width: 992px) {
  .schedule__table th {
    font-size: 1.6rem;
  }
}
.schedule__table td {
  font-size: 1.4rem;
  color: #172A88;
  padding: 1.14em 0.5em;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .schedule__table td {
    font-size: 1.6rem;
  }
}
.schedule__table .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #989E23;
  border-radius: 50%;
}
.schedule__table .time-title {
  text-align: left;
}
.schedule__table .time {
  color: #333;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.428;
  text-align: left;
}
@media (min-width: 768px) {
  .schedule__table .time {
    font-size: 1.6rem;
  }
}
.schedule__table .padding01 {
  padding-left: 1.1em;
}

.schedule__note {
  margin-top: 1px;
  font-size: 1.4rem;
}
@media (min-width: 768px) {
  .schedule__note {
    margin-top: 8px;
  }
}
.schedule__note .dot {
  position: relative;
  background-color: #172A88;
  border-radius: 50%;
  display: inline-block;
  margin-right: 6px;
  width: 12px;
  height: 12px;
  top: 1px;
}
@media (min-width: 1200px) {
  .schedule__note .dot {
    width: 16px;
    height: 16px;
    top: 3px;
  }
}

.access-map {
  width: 100%;
}
@media (min-width: 992px) {
  .access-map {
    width: 53.7%;
  }
}

.iframe-wrap {
  width: 100%;
  position: relative;
  aspect-ratio: 335/310;
}
.iframe-wrap iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 992px) {
  .iframe-wrap {
    aspect-ratio: 550/510;
  }
}

.single .top-visual,
.archive .top-visual {
  margin-bottom: 30px;
}

.single .breadcrumb-inner {
  max-width: 960px;
}

/*---------------------------------
  パンくずリスト
---------------------------------*/
/* breadcrumb */
.breadcrumb {
  margin-bottom: 80px;
}

.breadcrumb-inner {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

.breadcrumb-content {
  font-family: "Noto Serif JP", serif;
  line-height: 1.2;
}
.breadcrumb-content a {
  padding-right: 6px;
  padding-left: 6px;
}
@media (min-width: 992px) {
  .breadcrumb-content a {
    padding-right: 10px;
    padding-left: 10px;
  }
}
.breadcrumb-content .home {
  padding-left: 0;
}
.breadcrumb-content .current-item {
  padding-left: 6px;
}
@media (min-width: 992px) {
  .breadcrumb-content .current-item {
    padding-left: 10px;
  }
}

.breadcrumb-content span {
  position: relative;
  top: -1px;
  font-size: 1rem;
}
@media (min-width: 992px) {
  .breadcrumb-content span {
    top: -0.5px;
    font-size: 1.2rem;
  }
}
.breadcrumb-content span #text {
  font-size: 1rem;
}

/*---------------------------------
  一覧ページ ページネーション
---------------------------------*/
/* pagination */
.pagination {
  text-align: center;
}

.pagination a {
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}

.pagination a:hover {
  opacity: 0.6;
}

.pagination a.next,
.pagination a.prev {
  position: relative;
  background-color: initial;
  color: #989E23;
  font-size: 1.6rem;
  top: 3px;
}
@media (min-width: 768px) {
  .pagination a.next,
  .pagination a.prev {
    position: initial;
    top: initial;
  }
}

.pagination a.next:hover,
.pagination a.prev:hover {
  opacity: 0.6;
}

.page-numbers {
  background-color: #fff;
  border: 1px solid #989E23;
  border-radius: 50%;
  color: #989E23;
  display: inline-block;
  font-size: 1.8rem;
  font-family: "Noto Serif JP", serif;
  width: 48px;
  height: 48px;
  line-height: 44px;
  margin-right: 18px;
  text-align: center;
  text-decoration: none;
}
@media (min-width: 768px) {
  .page-numbers {
    font-size: 2rem;
  }
}

.page-numbers:last-child {
  margin-right: 0;
}

.page-numbers.current {
  background-color: #989E23;
  color: #fff;
}

.page-numbers.dots,
.page-numbers.next,
.page-numbers.prev {
  border: none;
  line-height: 40px;
  min-width: initial;
  width: auto;
}

.dots {
  background-color: initial;
}

/* -------------------------------
 著者情報
------------------------------- */
.author-boxes {
  margin-bottom: 50px;
}
@media (min-width: 992px) {
  .author-boxes {
    margin-bottom: 80px;
  }
}

@media (min-width: 768px) {
  .author-content__row {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 16px;
  }
}

.author-title {
  position: relative;
  font-size: 1.2rem;
  line-height: 1.4;
  margin-bottom: 6px;
  padding-left: 16px;
}
@media (min-width: 768px) {
  .author-title {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
}
.author-title::before {
  position: absolute;
  content: "";
  background: url(../img/common/author-arrow-bottom.png) no-repeat center center/contain;
  width: 12px;
  height: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media (min-width: 768px) {
  .author-title::before {
    width: 12px;
    height: 10px;
  }
}

.author {
  border: 1px solid #989E23;
  background-color: #fff;
  padding: 20px 18px;
}
@media (min-width: 768px) {
  .author {
    padding: 20px;
  }
}

.author-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .author-box {
    margin-bottom: initial;
  }
}

.author-content {
  width: calc(100% - 100px);
}
@media (min-width: 768px) {
  .author-content {
    border-bottom: none;
    width: initial;
  }
}

.author-image {
  position: relative;
  max-width: 100px;
  width: 100%;
  margin-right: 10px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .author-image {
    position: relative;
    margin-left: 0;
    margin-right: 20px;
    margin-bottom: initial;
    max-width: 140px;
    width: 100%;
  }
}

.author-image img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.author-content__name,
.author-content__company {
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
}

.author-content__name {
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  .author-content__name {
    font-size: 1.8rem;
    margin-right: 16px;
  }
}

.author-content__company {
  font-size: 1.4rem;
  line-height: 1.428;
  margin-bottom: 4px;
}
@media (min-width: 768px) {
  .author-content__company {
    font-size: 1.8rem;
    margin-right: 20px;
    margin-bottom: initial;
    line-height: initial;
  }
}

.author-content__bio {
  font-size: 1.2rem;
  line-height: 1.857;
}
@media (min-width: 768px) {
  .author-content__bio {
    font-size: 1.4rem;
  }
}

/*---------------------------------
  404
---------------------------------*/
.page-404 {
  margin-top: 60px;
  margin-bottom: 100px;
  padding-top: 80px;
  text-align: center;
}
@media (min-width: 992px) {
  .page-404 {
    margin-top: 100px;
  }
}

.page-404__title {
  color: #172A88;
  font-size: 2rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .page-404__title {
    font-size: 3rem;
  }
}

.page-404__link {
  text-decoration: underline;
  display: block;
  font-size: 1.6rem;
  margin-top: 40px;
  font-weight: 500;
}

.page-template-page .blog {
  margin-bottom: 160px;
}

/*---------------------------------
  下層ページFV テンプレートページ
---------------------------------*/
/* top-visual */
.top-visual {
  position: relative;
  margin-top: 60px;
}
@media (min-width: 1200px) {
  .top-visual {
    margin-top: initial;
  }
}

.top-visual__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 1200px) {
  .top-visual__inner {
    max-width: 1020px !important;
  }
}
@media (min-width: 1400px) {
  .top-visual__inner {
    max-width: 1120px !important;
  }
}
@media (min-width: 1600px) {
  .top-visual__inner {
    max-width: 1280px !important;
  }
}

.top-visual__contents {
  margin: 0 calc(50% - 50vw);
}
@media (min-width: 768px) {
  .top-visual__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.top-visual__content01 {
  position: relative;
}
@media (min-width: 768px) {
  .top-visual__content01 {
    width: 50%;
  }
}

@media (min-width: 768px) {
  .top-visual__content02 {
    width: 50%;
  }
}

.top-visual__title {
  position: absolute;
  font-size: 2.2rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  top: 18%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
  width: 90%;
}
@media (max-width: 374px) {
  .top-visual__title {
    font-size: 5.85vw;
  }
}
@media (min-width: 768px) {
  .top-visual__title {
    left: initial;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    text-align: initial;
  }
}
@media (min-width: 992px) {
  .top-visual__title {
    font-size: 3.2rem;
  }
}
@media (min-width: 1400px) {
  .top-visual__title {
    font-size: 4rem;
  }
}

.top-visual__title span {
  color: #989E23;
  font-size: 2rem;
  font-family: "Corinthia", cursive;
  font-weight: 600;
  line-height: 1;
  display: block;
}
@media (max-width: 374px) {
  .top-visual__title span {
    font-size: 5.3vw;
  }
}
@media (min-width: 992px) {
  .top-visual__title span {
    font-size: 2.4rem;
  }
}
@media (min-width: 1400px) {
  .top-visual__title span {
    font-size: 3rem;
  }
}

/*---------------------------------
  目次
---------------------------------*/
.toc-wrapper {
  margin: 0 auto 40px;
  max-width: 830px;
  width: 100%;
}
@media (min-width: 768px) {
  .toc-wrapper {
    margin-bottom: 100px;
  }
}

.toc-boxes {
  border: 5px solid #DCE4EA;
  padding: 30px;
}
@media (min-width: 768px) {
  .toc-boxes {
    padding: 55px 75px;
  }
}

.toc-box-lead {
  border-bottom: 1px solid #D0D0D0;
  font-size: 2rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 16px;
  padding-bottom: 12px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 992px) {
  .toc-box-lead {
    font-size: 2.4rem;
    margin-bottom: 28px;
  }
}
.toc-box-lead span {
  color: #B3B768;
  display: block;
  font-family: "Corinthia", cursive;
  font-weight: 700;
  font-size: 2.4 rem;
  font-weight: 500;
  line-height: 1;
  padding-left: 12px;
}
@media (min-width: 768px) {
  .toc-box-lead span {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 3rem;
    padding-left: 28px;
  }
}

.toc-item:not(:last-child) {
  margin-bottom: 20px;
}

.toc-item {
  display: block;
  font-size: 1.6rem;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
.toc-item:hover {
  color: #172A88;
}

.mark-text {
  position: relative;
}
.mark-text::before {
  position: absolute;
  content: "";
  background-color: #172A88;
  border-radius: 50%;
  width: 10px;
  height: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}

.page-note-box {
  background-color: #F4F7FC;
  padding: 32px 20px 22px;
}
@media (min-width: 768px) {
  .page-note-box {
    padding: 40px 50px 40px;
  }
}
.page-note-box p {
  font-family: "Noto Sans JP", serif;
}

.other-box {
  background-color: #F8F8F8;
  padding: 20px;
}
.other-box p {
  font-family: "Noto Sans JP", serif;
  font-size: 1.3rem;
}
@media (min-width: 768px) {
  .other-box p {
    font-size: 1.4rem;
  }
}

/*---------------------------------
  固定ページテンプレート01
---------------------------------*/
.blog__content > :first-child h2,
.blog__content div > :first-child h2 {
  margin-top: 0 !important;
}

.page-child .blog__content > :not(:first-child) h2,
.page-child .blog__content div > :not(:first-child) h2 {
  margin: 5.6rem 0 1.6rem !important;
}
@media (min-width: 768px) {
  .page-child .blog__content > :not(:first-child) h2,
  .page-child .blog__content div > :not(:first-child) h2 {
    margin: 8rem 0 2rem !important;
  }
}

.blog.page-child article p {
  font-size: 1.6rem;
}
@media (min-width: 768px) {
  .blog.page-child article p {
    font-size: 1.6rem;
  }
}
.blog.page-child article h2 {
  margin: 5.6rem 0 1.6rem;
}
@media (min-width: 768px) {
  .blog.page-child article h2 {
    margin: 8rem 0 2rem;
  }
}
@media (min-width: 768px) {
  .blog.page-child article li {
    font-size: 1.6rem;
  }
}
.blog.page-child .p-access-map {
  width: 100%;
}
.blog.page-child .p-iframe-wrap {
  aspect-ratio: 16/9;
  width: 100%;
  position: relative;
}
.blog.page-child .p-iframe-wrap iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.wp-block-button__link {
  font-family: "Noto Sans JP", sans-serif;
  text-decoration: none !important;
}

.custom-button .wp-block-button__link {
  position: relative;
  padding: 1.2em 3.23em;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.custom-button .wp-block-button__link::after {
  position: absolute;
  content: "";
  display: block;
  bottom: 5px;
  right: 5px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 20px 20px;
  border-color: transparent transparent #0088C4 transparent;
  -webkit-transition: border-color 0.3s ease-in-out;
  transition: border-color 0.3s ease-in-out;
  margin-left: 10px;
}
.custom-button .wp-block-button__link:hover {
  background-color: #172A88 !important;
  color: #fff !important;
}
.custom-button .wp-block-button__link:hover::after {
  border-color: transparent transparent #fff transparent;
}

/*---------------------------------
  トップページ
---------------------------------*/
/* main-visual */
.main-visual {
  position: relative;
  margin-top: 100px;
  margin-bottom: 80px;
  margin-bottom: 130px;
}
@media (min-width: 768px) {
  .main-visual {
    margin-top: 60px;
  }
}
@media (min-width: 992px) {
  .main-visual {
    margin-bottom: 130px;
  }
}
.main-visual::before {
  position: absolute;
  background: url(../img/index/fv-logo.webp) no-repeat center center/contain;
  content: "";
  width: 202px;
  aspect-ratio: 410/715;
  top: -44px;
  left: 20px;
}
@media (min-width: 768px) {
  .main-visual::before {
    width: 28.472vw;
    top: initial;
    left: 0;
  }
}
@media (min-width: 1600px) {
  .main-visual::before {
    width: 25.472vw;
  }
}

@media (min-width: 1600px) {
  .mv-inner {
    max-width: 1480px !important;
  }
}

@media (min-width: 768px) {
  .mv-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.mv {
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .mv {
    position: absolute;
    top: 35%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: initial;
    margin-bottom: initial;
    padding-right: initial;
    padding-left: initial;
    width: 90%;
  }
}
@media (min-width: 992px) {
  .mv {
    top: 42%;
  }
}
@media (min-width: 1600px) {
  .mv {
    top: 43%;
  }
}

.mv__title,
.mv__text,
.mv-bottom__item {
  font-family: "Noto Serif JP", serif;
}

.mv__title {
  font-size: 7.2vw;
  font-weight: 500;
  line-height: 1.44;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .mv__title {
    font-size: 2.639vw;
  }
}
@media (min-width: 1200px) {
  .mv__title {
    margin-bottom: 30px;
  }
}

.mv__text {
  color: #172A88;
  font-size: 5.333vw;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .mv__text {
    font-size: 1.527vw;
    line-height: 1.625;
    margin-bottom: 32px;
  }
}
@media (min-width: 1200px) {
  .mv__text {
    margin-bottom: 48px;
  }
}

.mv-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.mv-bottom__item:not(:last-child) {
  margin-right: 4px;
}
@media (min-width: 768px) {
  .mv-bottom__item:not(:last-child) {
    margin-right: 20px;
  }
}

.mv-bottom__item {
  position: relative;
  background-color: #989E23;
  color: #fff;
  font-size: 1.2rem;
  aspect-ratio: 165/66;
  line-height: 1.33;
  padding: 6px;
  width: 50%;
  text-align: center;
  z-index: 1;
}
@media (max-width: 374px) {
  .mv-bottom__item {
    font-size: 3vw;
  }
}
@media (min-width: 768px) {
  .mv-bottom__item {
    aspect-ratio: 300/120;
    line-height: 1.7;
    padding: 10px;
    width: 20.83vw;
  }
}
@media (min-width: 992px) {
  .mv-bottom__item {
    font-size: 1.4rem;
  }
}
@media (min-width: 1200px) {
  .mv-bottom__item {
    font-size: 1.25vw;
  }
}
.mv-bottom__item::before {
  position: absolute;
  content: "";
  border: 1px solid #fff;
  top: 6px;
  bottom: 6px;
  right: 6px;
  left: 6px;
  z-index: -1;
}
@media (min-width: 768px) {
  .mv-bottom__item::before {
    top: 10px;
    bottom: 10px;
    right: 10px;
    left: 10px;
  }
}

.mv-bottom__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media (min-width: 768px) {
  .mv-img {
    width: 55.55vw;
    aspect-ratio: 800/510;
    margin-left: auto;
    margin-right: calc(50% - 50vw);
    padding-right: 20px;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
  }
}
@media (min-width: 1600px) {
  .mv-img {
    width: 51.5vw;
  }
}

/* news-box */
.news-box {
  position: relative;
  background-color: #E9E8CA;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  margin-top: 8px;
  margin-right: 20px;
  margin-left: 20px;
  padding-bottom: 62px;
  padding-bottom: 0;
  z-index: 0;
}
@media (min-width: 768px) {
  .news-box {
    margin-top: 20px;
    padding-top: initial;
    padding-bottom: initial;
  }
}
.news-box .new-info__meta {
  margin-bottom: 4px;
}
@media (min-width: 768px) {
  .news-box .new-info__meta {
    margin-bottom: 0;
  }
}

.ticker-inner {
  position: relative;
  padding: 0 20px;
}
@media (min-width: 768px) {
  .ticker-inner {
    padding: 0 60px 0 170px;
  }
}
@media (min-width: 992px) {
  .ticker-inner {
    padding: 0 60px 0 220px;
  }
}

.top-news__slide {
  text-align: left;
  width: 100%;
  height: auto;
}
@media (min-width: 992px) {
  .top-news__slide {
    width: 80% !important;
    height: auto;
  }
}

.top-news__content {
  padding: 0px 0 44px 0;
  width: 100%;
  height: inherit;
}
@media (min-width: 992px) {
  .top-news__content {
    width: 80% !important;
    height: inherit;
  }
}

.top-news__link {
  display: block;
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  padding: 20px 0 32px 0;
  padding: 20px 0 20px 0;
}
@media (min-width: 992px) {
  .top-news__link {
    padding: 24px 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.top-news__link:hover {
  color: #172A88;
}

.top-news__title {
  font-size: 1.4rem;
  font-family: "Noto Serif JP", serif;
}

.top-news-link {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 178px;
  width: 100%;
  bottom: -55px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (min-width: 768px) {
  .top-news-link {
    bottom: -72px;
  }
}
@media (min-width: 992px) {
  .top-news-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    position: initial;
    bottom: initial;
    left: initial;
    -webkit-transform: initial;
            transform: initial;
    max-width: 210px;
  }
}

.top-news-button {
  background-color: #fff;
  border: 1px solid #989E23;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  color: #989E23;
  font-size: 1.4rem;
  padding: 7.5px 26px 7.5px 16px;
  width: 100%;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
@media (min-width: 768px) {
  .top-news-button {
    padding: 12px 26px 12px 30px;
  }
}
.top-news-button::after {
  position: absolute;
  content: "";
  background: url(../img/common/news-arrow.png) no-repeat center center/contain;
  width: 18px;
  height: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 16px;
}
@media (min-width: 768px) {
  .top-news-button::after {
    right: 26px;
  }
}
.top-news-button:hover {
  opacity: 0.8;
}

/* primary */
@media (min-width: 768px) {
  .top-primary {
    margin-bottom: 160px;
  }
}

.primary-box {
  position: relative;
  background-color: #F5F8FA;
  padding: 10px;
}
@media (min-width: 768px) {
  .primary-box {
    padding: 20px;
  }
}

.primary {
  border: 1px solid #fff;
  padding: 32px 10px;
}
@media (min-width: 768px) {
  .primary {
    padding: 40px;
  }
}
@media (min-width: 992px) {
  .primary {
    padding: 60px;
  }
}

.primary__title {
  font-family: "Noto Serif JP", serif;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.416;
  margin-bottom: 16px;
  text-align: center;
}
@media (min-width: 992px) {
  .primary__title {
    font-size: 3.2rem;
    line-height: 1.43;
    margin-bottom: 30px;
  }
}

.primary__contents {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .primary__contents {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.primary__contents-img {
  margin: 0 auto 16px;
  width: 70%;
}
@media (min-width: 768px) {
  .primary__contents-img {
    margin: initial;
    margin-right: 5.4%;
    width: 26.1%;
  }
}

@media (min-width: 768px) {
  .primary__contents-textBox {
    width: 68.6%;
  }
}

.primary__contents-text:not(:last-child) {
  margin-bottom: 12px;
}
@media (min-width: 768px) {
  .primary__contents-text:not(:last-child) {
    margin-bottom: 16px;
  }
}

.primary__contents-text {
  position: relative;
  font-weight: 500;
  padding-left: 28px;
}
@media (min-width: 768px) {
  .primary__contents-text {
    padding-left: 40px;
  }
}
@media (min-width: 1200px) {
  .primary__contents-text {
    font-size: 1.8rem;
  }
}
.primary__contents-text::before {
  position: absolute;
  content: "";
  background: url(../img/common/check.png) no-repeat center center/contain;
  width: 18px;
  height: 18px;
  top: 4px;
  left: 0;
}
@media (min-width: 768px) {
  .primary__contents-text::before {
    width: 24px;
    height: 24px;
  }
}

.primary__bottom {
  position: relative;
  margin-bottom: 64px;
}
@media (min-width: 768px) {
  .primary__bottom {
    margin-bottom: 100px;
  }
}
.primary__bottom::after {
  position: absolute;
  content: "";
  background: url(../img/common/arrow-bottom-green.png) no-repeat center center/contain;
  width: 80px;
  height: 24px;
  bottom: -44px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media (min-width: 768px) {
  .primary__bottom::after {
    width: 100px;
    height: 30px;
  }
}

.primary__bottom-text,
.primary__bottom-text span,
.primary__note-text,
.primary__note-text span {
  font-weight: 500;
}

.primary__bottom-text {
  line-height: 1.625;
}
@media (min-width: 768px) {
  .primary__bottom-text {
    text-align: center;
  }
}
@media (min-width: 1200px) {
  .primary__bottom-text {
    font-size: 2rem;
    line-height: 1.8;
  }
}
.primary__bottom-text span {
  display: inline;
  border-bottom: 2px dotted #989E23;
}
@media (min-width: 1200px) {
  .primary__bottom-text span {
    padding-bottom: 4px;
  }
}

.primary__note-text {
  color: #172A88;
  line-height: 1.625;
}
@media (min-width: 768px) {
  .primary__note-text {
    text-align: center;
  }
}
@media (min-width: 1200px) {
  .primary__note-text {
    font-size: 2.4rem;
    line-height: 1.8;
  }
}
.primary__note-text span {
  display: inline;
  border-bottom: 2px dotted #989E23;
}
@media (min-width: 1200px) {
  .primary__note-text span {
    padding-bottom: 4px;
  }
}

/* top-about */
.top-about.section {
  margin-bottom: 88px;
}
@media (min-width: 768px) {
  .top-about.section {
    margin-bottom: 160px;
  }
}

.top-about .title-en {
  bottom: 18px;
}
@media (min-width: 768px) {
  .top-about .title-en {
    bottom: -10px;
  }
}
@media (min-width: 1200px) {
  .top-about .title-en {
    bottom: -44px;
  }
}
.top-about .about-contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .top-about .about-contents {
    position: relative;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
        -ms-flex-direction: initial;
            flex-direction: initial;
  }
}
.top-about .about-content {
  display: contents;
}
@media (min-width: 768px) {
  .top-about .about-content {
    position: absolute;
    display: initial;
    left: 0;
    width: 55.56%;
  }
}
.top-about .about-imgBox {
  margin-bottom: 24px;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 768px) {
  .top-about .about-imgBox {
    margin-left: 50%;
    margin-right: calc(50% - 50vw);
    margin-bottom: initial;
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    width: 69.66%;
  }
}
.top-about .textBox {
  margin-bottom: 30px;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 768px) {
  .top-about .textBox {
    margin-bottom: 48px;
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}
.top-about .util-link01 {
  -webkit-box-ordinal-group: -1;
      -ms-flex-order: -2;
          order: -2;
}
@media (min-width: 768px) {
  .top-about .util-link01 {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}

/* attention */
.attention {
  border: 1px solid #989E23;
  padding: 20px 20px 34px;
}
@media (min-width: 768px) {
  .attention {
    padding: 40px 20px;
  }
}
@media (min-width: 992px) {
  .attention {
    padding: 80px;
  }
}
.attention .textBox {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .attention .textBox {
    margin-bottom: 48px;
  }
}

.attention__titleBox {
  margin-bottom: 16px;
  position: relative;
  padding-top: 32px;
}
@media (min-width: 768px) {
  .attention__titleBox {
    margin-bottom: 48px;
  }
}
.attention__titleBox::before {
  position: absolute;
  content: "";
  background: url(../img/index/attention.png) no-repeat center center/contain;
  width: 28px;
  height: 25px;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.attention__title {
  font-size: 2.4rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1.3;
  text-align: center;
}
@media (min-width: 768px) {
  .attention__title {
    font-size: 3rem;
  }
}
@media (min-width: 992px) {
  .attention__title {
    letter-spacing: 0.04em;
  }
}
@media (min-width: 1200px) {
  .attention__title {
    font-size: 4rem;
  }
}
.attention__title span {
  font-family: "Corinthia", cursive;
  color: #989E23;
  display: block;
  font-size: 2.4rem;
  letter-spacing: 0.04em;
}

.attention__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .attention__contents {
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
        -ms-flex-direction: initial;
            flex-direction: initial;
  }
}

@media (min-width: 768px) {
  .attention__content {
    margin-right: 5.5%;
    width: 57.5%;
  }
}

.attention__img {
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .attention__img {
    margin-bottom: initial;
    width: 37.1%;
  }
}

/* reason */
.top-reason .title-en {
  bottom: 25px;
}
@media (min-width: 768px) {
  .top-reason .title-en {
    bottom: -10px;
  }
}
@media (min-width: 1200px) {
  .top-reason .title-en {
    bottom: -44px;
  }
}

.reason {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .reason {
    margin-bottom: 100px;
  }
}

.reason-bg {
  background-color: #F5F8FA;
  padding: 30px 12px 20px;
}
@media (min-width: 768px) {
  .reason-bg {
    padding: 50px 40px;
  }
}
@media (min-width: 1200px) {
  .reason-bg {
    padding: 50px 80px 80px;
  }
}

.reason-title {
  color: #172A88;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.8rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .reason-title {
    font-size: 2.4rem;
    margin-bottom: 48px;
  }
}
@media (min-width: 992px) {
  .reason-title {
    font-size: 3.2rem;
  }
}
.reason-title::before, .reason-title::after {
  content: "";
  width: 10px;
  height: 1px;
  background: #172A88;
}
@media (min-width: 768px) {
  .reason-title::before, .reason-title::after {
    width: 50px;
  }
}
.reason-title::before {
  margin-right: 6px;
}
@media (min-width: 768px) {
  .reason-title::before {
    margin-right: 20px;
  }
}
.reason-title::after {
  margin-left: 6px;
}
@media (min-width: 768px) {
  .reason-title::after {
    margin-left: 20px;
  }
}
.reason-title span {
  line-height: 1;
}
@media (min-width: 768px) {
  .reason-title span {
    margin-bottom: 10px;
  }
}
@media (min-width: 992px) {
  .reason-title span {
    font-size: 4.8rem;
  }
}

@media (min-width: 768px) {
  .reason-box {
    position: relative;
    aspect-ratio: 1080/640;
    background: url(../img/index/reason_hoshino_akihiro.webp) no-repeat center center/cover;
    width: 100%;
  }
}

.reason-lists {
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .reason-lists {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    left: 0;
    margin-bottom: initial;
    width: initial;
    left: 6.48%;
  }
}
@media (min-width: 992px) {
  .reason-lists {
    width: 447px;
  }
}

.reason-list:not(:last-child) {
  margin-bottom: 6px;
}
@media (min-width: 768px) {
  .reason-list:not(:last-child) {
    margin-bottom: 12px;
  }
}

.reason-list {
  background-color: #3A63B1;
  border-radius: 2px;
  padding: 8px;
}
@media (min-width: 768px) {
  .reason-list {
    padding: 10px;
  }
}

.reason-listBox {
  border: 1px solid #fff;
  border-radius: 2px;
  padding: 11px 13px;
}
@media (min-width: 768px) {
  .reason-listBox {
    padding: 18px 10px 18px 30px;
  }
}

.reason-listBox-text {
  color: #fff;
  font-size: 1.3rem;
  font-weight: 500;
}
@media (min-width: 576px) {
  .reason-listBox-text {
    font-size: 1.4rem;
  }
}
@media (min-width: 1200px) {
  .reason-listBox-text {
    font-size: 1.8rem;
  }
}

/* top-feature */
.top-feature .reason-bg {
  padding: 30px 34px;
}
@media (max-width: 374px) {
  .top-feature .reason-bg {
    padding: 30px 10px;
  }
}
@media (min-width: 768px) {
  .top-feature .reason-bg {
    padding: 50px 40px;
  }
}
@media (min-width: 1200px) {
  .top-feature .reason-bg {
    padding: 50px 80px 80px;
  }
}
.top-feature .items {
  display: grid;
  grid-template-columns: 1fr;
  -webkit-column-gap: 24px;
     -moz-column-gap: 24px;
          column-gap: 24px;
  row-gap: 10px;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .top-feature .items {
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 24px;
       -moz-column-gap: 24px;
            column-gap: 24px;
    row-gap: 24px;
    margin-bottom: 48px;
  }
}
@media (min-width: 992px) {
  .top-feature .items {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.top-feature .item {
  position: relative;
}
.top-feature .item__box {
  position: absolute;
  background-color: rgba(255, 255, 255, 0.9);
  width: 84.3%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  padding: 8px;
}
@media (min-width: 768px) {
  .top-feature .item__box {
    padding: 10px;
  }
}
.top-feature .item__img {
  aspect-ratio: 266/133;
  width: 100%;
}
@media (min-width: 768px) {
  .top-feature .item__img {
    aspect-ratio: initial;
  }
}
.top-feature .item__content {
  border: 1px solid #172A88;
  padding: 14.5px 12px;
}
@media (min-width: 768px) {
  .top-feature .item__content {
    padding: 26px 16px;
  }
}
.top-feature .item__content-text {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}
@media (min-width: 768px) {
  .top-feature .item__content-text {
    font-size: 1.25vw;
  }
}
.top-feature .util-link01 {
  margin: 0 auto;
}

/* top-greeting */
.top-greeting {
  position: relative;
}
.top-greeting::after {
  position: absolute;
  content: "";
  background: url(../img/index/greeting_bg.webp) no-repeat center center/contain;
  width: 100%;
  aspect-ratio: 375/643;
  bottom: 170px;
  right: 0;
  z-index: -1;
}
@media (min-width: 576px) {
  .top-greeting::after {
    width: 50%;
  }
}
@media (min-width: 768px) {
  .top-greeting::after {
    width: 32.36%;
    aspect-ratio: 466/812;
    bottom: 64px;
  }
}
@media (min-width: 1200px) {
  .top-greeting::after {
    width: 40.36%;
    bottom: -88px;
  }
}
@media (min-width: 1400px) {
  .top-greeting::after {
    display: none;
  }
}

.greeting {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 768px) {
  .greeting {
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
        -ms-flex-direction: initial;
            flex-direction: initial;
  }
}
@media (min-width: 1400px) {
  .greeting {
    position: relative;
  }
  .greeting::after {
    position: absolute;
    content: "";
    background: url(../img/index/greeting_bg.webp) no-repeat center center/contain;
    width: 32.36%;
    aspect-ratio: 466/812;
    bottom: -80px;
    right: -181px;
  }
}
@media (min-width: 1400px) and (min-width: 1400px) {
  .greeting::after {
    width: 466px;
  }
}
.greeting .util-link01 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media (min-width: 768px) {
  .greeting .util-link01 {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}

.greeting__imgBox {
  display: contents;
}
@media (min-width: 768px) {
  .greeting__imgBox {
    display: initial;
    margin-right: 3.7%;
    width: 35.1%;
  }
}

.greeting__img {
  margin-bottom: 24px;
  width: 100%;
}
@media (min-width: 768px) {
  .greeting__img {
    margin-bottom: 50px;
  }
}

.greeting__content {
  position: relative;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .greeting__content {
    margin-bottom: initial;
    width: 61.1%;
  }
}

.greeting__textBox {
  margin-bottom: 18px;
}

.greeting__text:not(:last-child) {
  margin-bottom: 14px;
}

.greeting__row {
  text-align: right;
}

.greeting__row-clinic {
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .greeting__row-clinic {
    margin-bottom: initial;
  }
}
@media (min-width: 1200px) {
  .greeting__row-clinic {
    font-size: 1.8rem;
  }
}

.greeting__row-name {
  font-weight: 500;
}
@media (min-width: 1200px) {
  .greeting__row-name {
    font-size: 1.8rem;
  }
}
.greeting__row-name span {
  font-weight: 500;
  padding-right: 6px;
}

/* top-flow */
.top-flow .flow-lists {
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .top-flow .flow-lists {
    margin-bottom: 50px;
  }
}
.top-flow .util-link01 {
  margin: 0 auto;
}

/* top-faq */
@media (min-width: 992px) {
  .top-faq.section {
    margin-bottom: 160px;
  }
}

.top-faq .faq-items {
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .top-faq .faq-items {
    margin-bottom: 50px;
  }
}
.top-faq .util-link01 {
  margin: 0 auto;
}

/* -------------------------------
 治療の流れページ
------------------------------- */
.all-flow {
  margin-bottom: 120px;
}
@media (min-width: 992px) {
  .all-flow {
    margin-bottom: 160px;
  }
}

.flow-list:not(:last-child) {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .flow-list:not(:last-child) {
    margin-bottom: 40px;
  }
}

.flow-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #F5F8FA;
  padding: 24px 20px;
}
@media (min-width: 992px) {
  .flow-list {
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
        -ms-flex-direction: initial;
            flex-direction: initial;
    padding: 24px 30px 30px 24px;
  }
}

.flow-list__num {
  border-bottom: 1px solid #8F98C1;
  color: #172A88;
  font-size: 2rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 14px;
  padding-bottom: 16px;
  text-align: center;
}
@media (min-width: 992px) {
  .flow-list__num {
    border-bottom: initial;
    border-right: 1px solid #8F98C1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: initial;
    padding-bottom: initial;
    padding-right: 24px;
    text-align: initial;
  }
}
@media (min-width: 1200px) {
  .flow-list__num {
    font-size: 2.8rem;
  }
}
.flow-list__num span {
  padding-left: 12px;
}

.flow-list__content {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
@media (min-width: 992px) {
  .flow-list__content {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    padding-left: 24px;
    padding-right: 30px;
  }
}

.flow-list__content-title {
  color: #172A88;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.35;
  margin-bottom: 12px;
}
@media (min-width: 1200px) {
  .flow-list__content-title {
    font-size: 2.4rem;
  }
}

.flow-list__content-text:not(:last-child) {
  margin-bottom: 12px;
}

.flow-list__content-text {
  font-size: 1.5rem;
  line-height: 1.666;
}

.flow-list__img {
  margin: 0 auto 16px;
  max-width: 200px;
  width: 100%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}
@media (min-width: 992px) {
  .flow-list__img {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    margin: initial;
  }
}

.flow .flow-list {
  background-color: #F7F7F7;
}

/* day-flow */
.flow-item:not(:last-child) {
  margin-bottom: 50px;
}
@media (min-width: 768px) {
  .flow-item:not(:last-child) {
    margin-bottom: 60px;
  }
}

@media (min-width: 768px) {
  .flow-item__content {
    margin-right: 4.63%;
    width: 76.85%;
  }
}

@media (min-width: 768px) {
  .flow-item__num.only-pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.flow-item__num {
  color: #989E23;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.1;
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  .flow-item__num {
    font-size: 2.8rem;
  }
}
.flow-item__num::after {
  content: "";
  width: 50px;
  height: 1px;
  background-color: #989E23;
  margin-left: 10px;
}

.flow-item__text.text-large {
  color: #172A88;
  font-size: 1.7rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  .flow-item__text.text-large {
    font-size: 2rem;
  }
}

@media (min-width: 768px) {
  .flow-item__img {
    width: 18.52%;
  }
}

.content-sp {
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (min-width: 768px) {
  .content-sp {
    display: none;
  }
}
.content-sp .flow-item__num {
  font-size: 2.2rem;
}
.content-sp .flow-item__num::after {
  width: 30px;
  margin-left: 16px;
}
.content-sp .flow-item__img {
  margin-left: auto;
  width: 59%;
}

/*---------------------------------
  アクセスページ
---------------------------------*/
/* access */
.page-access .access__lead {
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .page-access .access__lead {
    font-size: 1.8rem;
    margin-bottom: 40px;
  }
}
.page-access .p-access-map {
  margin-bottom: 40px;
  width: 100%;
}
.page-access .p-iframe-wrap {
  position: relative;
  aspect-ratio: 335/330;
  width: 100%;
}
.page-access .p-iframe-wrap iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 768px) {
  .page-access .p-iframe-wrap {
    aspect-ratio: 1080/330;
  }
}
.page-access .access-boxes {
  background-color: #F7F7F7;
  padding: 24px 20px;
}
@media (min-width: 768px) {
  .page-access .access-boxes {
    padding: 40px 40px;
  }
}
.page-access .access-boxes__title {
  color: #172A88;
  font-size: 1.8rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  .page-access .access-boxes__title {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
}
.page-access .access-box__text:not(:last-child) {
  margin-bottom: 12px;
}
.page-access .access-box__text {
  position: relative;
  padding-left: 21px;
}
@media (min-width: 768px) {
  .page-access .access-box__text {
    padding-left: 33px;
  }
}
@media (min-width: 992px) {
  .page-access .access-box__text {
    font-size: 2rem;
  }
}
.page-access .access-box__text::before {
  position: absolute;
  content: "";
  background-color: #989E23;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  top: 10px;
  left: 0;
}
@media (min-width: 768px) {
  .page-access .access-box__text::before {
    width: 9px;
    height: 9px;
    top: 14px;
  }
}

/* -------------------------------
 クリニック概要ページ
------------------------------- */
/* clinic */
.page-schedule {
  background-color: #fff;
  max-width: 460px;
  width: 100%;
}

.clinic-info table {
  width: 100%;
}
@media (min-width: 768px) {
  .clinic-info table {
    border-spacing: 5px;
  }
}
.clinic-info th {
  background-color: #172A88;
  color: #fff;
  display: block;
  font-weight: 500;
  padding: 12px 24px;
  text-align: left;
}
@media (min-width: 768px) {
  .clinic-info th {
    display: inline-block;
    width: 19.7%;
  }
}
.clinic-info td {
  background-color: #fff;
  display: block;
  padding: 12px 24px;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .clinic-info td {
    display: inline-block;
    margin-bottom: 0;
    width: 80.3%;
  }
}

/* facility */
.facility-items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 24px;
  -webkit-column-gap: 24px;
     -moz-column-gap: 24px;
          column-gap: 24px;
}
@media (min-width: 576px) {
  .facility-items {
    grid-template-columns: 1fr 1fr;
    row-gap: 24px;
    -webkit-column-gap: 24px;
       -moz-column-gap: 24px;
            column-gap: 24px;
  }
}
@media (min-width: 768px) {
  .facility-items {
    grid-template-columns: 1fr 1fr;
    row-gap: 40px;
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
  }
}

/* -------------------------------
 よくある質問ページ
------------------------------- */
/* faq-box */
.faq .faq-box > .text:first-of-type {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .faq .faq-box > .text:first-of-type {
    margin-bottom: 100px;
  }
}

.faq-items__box:not(:last-child) {
  margin-bottom: 20px;
}

.faq-items__question {
  position: relative;
  background-color: #F8F8F0;
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.4;
  padding: 19px 16px 19px 46px;
}
@media (min-width: 992px) {
  .faq-items__question {
    font-size: 1.8rem;
    padding: 24px 48px 24px 62px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
.faq-items__question::before {
  position: absolute;
  content: "Q";
  color: #989E23;
  font-size: 2.2rem;
  font-family: "Noto Serif JP", serif;
  top: 13px;
  left: 16px;
}
@media (min-width: 992px) {
  .faq-items__question::before {
    font-size: 3rem;
    left: 20px;
    top: 13px;
  }
}
.faq-items__question.is-action {
  border: 1px solid #989E23;
}
.faq-items__question.is-open .faq-items__question-icon {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

@media (min-width: 768px) {
  .faq-items__question-icon {
    position: absolute;
    top: 40%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 20px;
    width: 10px;
    height: 10px;
    border: solid #989E23;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 3px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transition: border-color 0.2s ease, -webkit-transform 0.2s ease;
    transition: border-color 0.2s ease, -webkit-transform 0.2s ease;
    transition: transform 0.2s ease, border-color 0.2s ease;
    transition: transform 0.2s ease, border-color 0.2s ease, -webkit-transform 0.2s ease;
  }
}

.faq-items__answer {
  position: relative;
  display: none;
}
.faq-items__answer::before {
  position: absolute;
  content: "A";
  color: #989E23;
  font-size: 2.2rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1.2;
  top: 14px;
  left: 16px;
}
@media (min-width: 992px) {
  .faq-items__answer::before {
    font-size: 3rem;
    top: 24px;
    left: 20px;
  }
}

.faq-items__answer-content {
  position: relative;
  font-size: 1.5rem;
  padding: 12px 16px 20px 46px;
}
@media (min-width: 992px) {
  .faq-items__answer-content {
    font-size: 1.6rem;
    padding: 24px 48px 32px 62px;
  }
}

.faq-items__answer-content a {
  text-decoration: underline;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.faq-items__answer-content a:hover {
  opacity: 0.7;
}

.faq-items__answer-content a {
  color: #3D8EDF;
  text-decoration: underline;
}

.faq-items__answer .textBox {
  margin-top: 16px;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .faq-items__answer .textBox {
    margin-top: 24px;
    margin-bottom: 24px;
  }
}

.faq-note:not(:last-child) {
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .faq-note:not(:last-child) {
    margin-bottom: 6px;
  }
}

.faq-note {
  position: relative;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.3;
  padding-left: 14px;
}
@media (min-width: 768px) {
  .faq-note {
    padding-left: 20px;
  }
}
.faq-note::before {
  position: absolute;
  content: "";
  background-color: #989E23;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  top: 6px;
  left: 0;
}
@media (min-width: 768px) {
  .faq-note::before {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

/*---------------------------------
  院長紹介 ページ
---------------------------------*/
/* page-doctor */
.doctor-item {
  margin-bottom: 60px;
}
@media (min-width: 768px) {
  .doctor-item {
    margin-bottom: 100px;
  }
}

.doctor-item__imgBox {
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .doctor-item__imgBox {
    margin-bottom: initial;
    margin-right: 4.6%;
    width: 39.8%;
  }
}

.doctor-item__img {
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .doctor-item__img {
    margin-bottom: 10px;
  }
}

.doctor-item__nameBox {
  border-top: 1px solid #989E23;
  border-bottom: 1px solid #989E23;
  padding: 4px 0;
  text-align: center;
}

.doctor-item__name {
  border-top: 1px solid #DEDEDE;
  border-bottom: 1px solid #DEDEDE;
  font-family: "Noto Serif JP", serif;
  padding: 6.5px 0;
}
.doctor-item__name span {
  display: block;
  font-size: 1.8rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  padding-top: 3px;
}
@media (min-width: 768px) {
  .doctor-item__name span {
    font-size: 2rem;
    padding-top: initial;
  }
}

@media (min-width: 768px) {
  .doctor-item__content {
    width: 55.5%;
  }
}

.doctor-item__text:not(:last-child) {
  margin-bottom: 12px;
}

/* profile-boxes */
@media (min-width: 768px) {
  .profile-boxes .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.profile-boxes .row01,
.profile-boxes .row02 {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .profile-boxes .row01,
  .profile-boxes .row02 {
    margin-bottom: 48px;
  }
}
.profile-boxes .row01 .doctor-boxes01 {
  background-color: #F8F8F0;
}
.profile-boxes .row01 .doctor-boxes02 {
  background-color: #F7F7F7;
}
.profile-boxes .row02 .doctor-boxes01 {
  background-color: #F8F8F0;
}
@media (min-width: 768px) {
  .profile-boxes .row02 .doctor-boxes01 {
    background-color: #F7F7F7;
  }
}
.profile-boxes .row02 .doctor-boxes02 {
  background-color: #F7F7F7;
}
@media (min-width: 768px) {
  .profile-boxes .row02 .doctor-boxes02 {
    background-color: #F8F8F0;
  }
}

.doctor-boxes {
  position: relative;
  padding: 10px;
  z-index: 0;
}
@media (min-width: 768px) {
  .doctor-boxes {
    padding: 20px;
    width: 48.5%;
  }
}
.doctor-boxes::before {
  position: absolute;
  content: "";
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
  z-index: -1;
}
@media (min-width: 768px) {
  .doctor-boxes::before {
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
  }
}

.doctor-boxes:not(:last-child) {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .doctor-boxes:not(:last-child) {
    margin-bottom: initial;
    margin-right: 3%;
  }
}

.doctor-boxes03 {
  background-color: #F8F8F0;
  width: 100%;
}
.doctor-boxes03 .profile-text {
  position: relative;
  font-weight: 400;
  padding-left: 14px;
}
@media (min-width: 992px) {
  .doctor-boxes03 .profile-text {
    padding-left: 22px;
  }
}
.doctor-boxes03 .profile-text::before {
  position: absolute;
  content: "";
  background-color: #989E23;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  top: 8px;
  left: 0;
}
@media (min-width: 992px) {
  .doctor-boxes03 .profile-text::before {
    top: 11px;
  }
}

.doctor-box {
  padding: 20px 10px;
}
@media (min-width: 768px) {
  .doctor-box {
    padding: 20px 30px 30px;
  }
}

.doctor-box__title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #172A88;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 2rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  .doctor-box__title {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }
}
.doctor-box__title::before, .doctor-box__title::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  background: #172A88;
}
.doctor-box__title::before {
  margin-right: 16px;
}
@media (min-width: 768px) {
  .doctor-box__title::before {
    margin-right: 30px;
  }
}
.doctor-box__title::after {
  margin-left: 16px;
}
@media (min-width: 768px) {
  .doctor-box__title::after {
    margin-left: 30px;
  }
}

/* career */
.career .career-row:not(:last-child) {
  margin-bottom: 16px;
}
.career .profile-text {
  margin-bottom: 0;
}

.year {
  color: #8D8D8D;
  font-size: 1.4rem;
  font-weight: 600;
}
@media (min-width: 992px) {
  .year {
    font-size: 1.6rem;
  }
}

.profile-text {
  font-size: 1.4rem;
  font-weight: 500;
}
@media (min-width: 992px) {
  .profile-text {
    font-size: 1.6rem;
  }
}

.profile-text:not(:last-child) {
  margin-bottom: 16px;
}

@media (min-width: 768px) {
  .academic .profile-textBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (min-width: 768px) {
  .academic .list:first-child {
    margin-right: 72px;
  }
}

.book .profile-text:not(:last-child) {
  margin-bottom: 10px;
}

.book-img {
  width: 29%;
  float: right;
  margin-left: 2%;
}
@media (min-width: 768px) {
  .book-img {
    margin-left: 40px;
    width: 20.43%;
  }
}

.career-note {
  margin-top: 35px;
}
@media (min-width: 768px) {
  .career-note {
    margin-top: 40px;
  }
}

.doctor-career:not(:first-child) {
  margin-top: 16px;
}
@media (min-width: 768px) {
  .doctor-career:not(:first-child) {
    margin-top: 24px;
  }
}

.career-toggle__button {
  color: #172A88;
  font-size: 2rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  text-decoration: underline;
  cursor: pointer;
}
.career-toggle__button:hover {
  opacity: 0.8;
}
@media (min-width: 992px) {
  .career-toggle__button {
    font-size: 2.4rem;
  }
}

.career-boxes {
  margin-top: 16px;
}

.career-box__close::before {
  position: absolute;
  content: "";
  background: url(../img/common/close.png) no-repeat center center/contain;
  cursor: pointer;
  width: 30px;
  height: 30px;
  top: -13px;
  right: 8px;
}

.career-note .doctor-career:nth-child(odd) .doctor-boxes {
  background-color: #F7F7F7;
}
.career-note .doctor-career:nth-child(even) .doctor-boxes {
  background-color: #F8F8F0;
}
.career-note .list:not(:last-child) {
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .career-note .list:not(:last-child) {
    margin-bottom: 56px;
  }
}
.career-note .list-title {
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 12px;
}
@media (min-width: 768px) {
  .career-note .list-title {
    font-size: 2rem;
  }
}
.career-note .profile-text {
  line-height: 1.5;
}

/*---------------------------------
  受診予約ページ
---------------------------------*/
/* rsv-contents */
.rsv-item:not(:last-child) {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .rsv-item:not(:last-child) {
    margin-bottom: 140px;
  }
}

.rsv-item01 .boxes {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .rsv-item01 .boxes {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 80px;
  }
}
.rsv-item01 .box {
  background-color: #F4F7FC;
  padding: 30px 20px;
}
@media (min-width: 768px) {
  .rsv-item01 .box {
    padding: 40px 32px;
    width: 49%;
  }
}
@media (min-width: 992px) {
  .rsv-item01 .box {
    padding: 50px 55px;
  }
}
.rsv-item01 .box01 {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .rsv-item01 .box01 {
    margin-right: 2%;
    margin-bottom: initial;
  }
}
.rsv-item01 .box01 .box__top {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .rsv-item01 .box01 .box__top {
    margin-bottom: 28px;
  }
}
.rsv-item01 .box01 .rsv-link {
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .rsv-item01 .box01 .rsv-link {
    margin-bottom: 18px;
  }
}
.rsv-item01 .box01 .rsv-button {
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  padding: 9px 8px;
}
.rsv-item01 .box02 .box__top {
  margin-bottom: 20px;
}
.rsv-item01 .box02 .tel-pc {
  display: none;
}
@media (min-width: 768px) {
  .rsv-item01 .box02 .tel-pc {
    display: block;
  }
}
.rsv-item01 .box02 .tel-pc::before {
  width: 20px;
  height: 26px;
  top: 56%;
}

.rsv-item__lead {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .rsv-item__lead {
    margin-bottom: 48px;
    font-size: 1.5rem;
    line-height: 1.85;
  }
}

.box__top {
  border-bottom: 1px solid #B9C4DE;
  padding-bottom: 18px;
}
@media (min-width: 768px) {
  .box__top {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.box__top .child-title-h3 {
  margin-bottom: 0;
}

.title-eng {
  color: #172A88;
  font-size: 1.4rem;
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: italic;
  letter-spacing: 0.1em;
  padding-left: 27px;
}
@media (min-width: 768px) {
  .title-eng {
    font-size: 1.8rem;
    padding-left: initial;
  }
}
@media (min-width: 992px) {
  .title-eng {
    font-size: 2rem;
  }
}

.rsv-item__text {
  font-size: 1.3rem;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .rsv-item__text {
    font-size: 1.5rem;
    margin-bottom: 24px;
  }
}

.rsv-item__text-tel {
  font-size: 1.3rem;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .rsv-item__text-tel {
    font-size: 1.5rem;
  }
}

.rsv-item__note {
  font-size: 1.3rem;
}
@media (min-width: 768px) {
  .rsv-item__note {
    font-size: 1.4rem;
  }
}

/* rsv-item02 */
.rsv-item02 .box {
  background-color: #F4F7FC;
  padding: 32px 20px;
}
@media (min-width: 768px) {
  .rsv-item02 .box {
    padding: 40px 50px 50px;
  }
}

.box-lead {
  border-bottom: 1px solid #B9C4DE;
  font-size: 1.4rem;
  margin-bottom: 20px;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .box-lead {
    font-size: 1.6rem;
    margin-bottom: 28px;
    padding-bottom: 16px;
  }
}

.rsv-contents .link-tel-sp {
  margin-bottom: 8px;
}
.rsv-contents .button-tel-sp {
  padding: 10.5px 8px;
}
.rsv-contents .text-note {
  margin: auto;
  max-width: 300px;
  width: 100%;
}
@media (min-width: 576px) {
  .rsv-contents .text-note {
    max-width: initial;
    margin: initial;
    width: initial;
  }
}

/*---------------------------------
  鼠径ヘルニアとはページ
---------------------------------*/
/* about-hernia */
.about-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 768px) {
  .about-item {
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
        -ms-flex-direction: initial;
            flex-direction: initial;
  }
}

.about-item__content {
  display: contents;
}
@media (min-width: 768px) {
  .about-item__content {
    display: initial;
    margin-right: 3.7%;
    width: 64.81%;
  }
}

.about-item__img {
  margin-bottom: 20px;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 768px) {
  .about-item__img {
    margin-bottom: initial;
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    width: 31.48%;
  }
}

/* cause */
.cause .lead {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .cause .lead {
    margin-bottom: 40px;
  }
}

.cause-item__content {
  background-color: #F7F7F7;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .cause-item__content {
    margin-bottom: initial;
    margin-right: 3.7%;
    width: 46.3%;
  }
}

@media (min-width: 768px) {
  .cause-item__img {
    width: 50%;
  }
}

.cause .text-check,
.symptoms .text-check {
  font-weight: 500;
}

/* symptoms */
.symptoms-content {
  background-color: #F8F8F0;
}

.symptoms-content01 {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .symptoms-content01 {
    margin-bottom: 48px;
  }
}

@media (min-width: 768px) {
  .symptoms-content02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media (min-width: 768px) {
  .symptoms-content02 .item {
    width: 48%;
  }
}
@media (min-width: 768px) {
  .symptoms-content02 .item:not(:last-child) {
    margin-right: 4%;
  }
}
.symptoms-content02 .item:first-child .text-excl:last-child {
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .symptoms-content02 .item:first-child .text-excl:last-child {
    padding-bottom: initial;
  }
}
.symptoms-content02 .item .text-excl:last-child::before {
  top: 18px;
}
@media (min-width: 768px) {
  .symptoms-content02 .item .text-excl:last-child::before {
    top: 23px;
  }
}
.symptoms-content02 .item:last-child .text-excl:first-child {
  padding-top: 20px;
}
@media (min-width: 768px) {
  .symptoms-content02 .item:last-child .text-excl:first-child {
    padding-top: initial;
  }
}
.symptoms-content02 .item:last-child .text-excl:first-child::before {
  top: 21px;
}
@media (min-width: 768px) {
  .symptoms-content02 .item:last-child .text-excl:first-child::before {
    top: 2px;
  }
}

/* types-hernia */
.types-hernia .medical-list {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .types-hernia .medical-list {
    margin-bottom: 48px;
  }
}
.types-hernia .util-link01 {
  margin: 30px auto 0;
}
@media (min-width: 768px) {
  .types-hernia .util-link01 {
    margin: 60px auto 0;
  }
}

.medical-list {
  background-color: #F7F7F7;
}

@media (min-width: 768px) {
  .medical-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.medical-item:last-child {
  border-bottom: none;
}

.medical-item__title {
  background-color: #F7F7F7;
  padding: 16px 20px 6px 20px;
  position: relative;
}
@media (min-width: 768px) {
  .medical-item__title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 217px;
            flex: 0 0 217px;
    border-right: 10px solid #fff;
    padding: 20px 26px;
  }
}
@media (min-width: 768px) {
  .medical-item__title::after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 30px;
    right: 30px;
    border-bottom: 1px dotted #AAA;
  }
}

.medical-item:first-child .medical-item__title {
  padding-top: 30px;
}

@media (min-width: 768px) {
  .medical-item:last-child .medical-item__title {
    padding-bottom: 30px;
  }
}

.medical-item:last-child .medical-item__title::after {
  display: none;
}

.medical-item__title-text,
.medical-item__content {
  line-height: 1.4;
}

.medical-item__title-text {
  position: relative;
  font-weight: 500;
  padding-left: 20px;
}
@media (min-width: 768px) {
  .medical-item__title-text {
    font-size: 1.8rem;
    padding-left: 26px;
  }
}
.medical-item__title-text::before {
  position: absolute;
  content: "";
  background: url(../img/common/arrow-right-blue.png) no-repeat center center/contain;
  width: 14px;
  height: 10px;
  top: 6px;
  left: 0;
}
@media (min-width: 768px) {
  .medical-item__title-text::before {
    width: 18px;
    height: 14px;
    top: 8px;
  }
}

.medical-item__content {
  position: relative;
  padding: 0 20px 16px 39px;
}
@media (min-width: 768px) {
  .medical-item__content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 20px 30px 20px 20px;
  }
}
@media (min-width: 1200px) {
  .medical-item__content {
    font-size: 1.8rem;
  }
}
.medical-item__content::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 20px;
  right: 30px;
  border-bottom: 1px dashed #AAA;
}

@media (min-width: 768px) {
  .medical-item:first-child .medical-item__content {
    padding-top: 30px;
  }
}

.medical-item:last-child .medical-item__content {
  padding-bottom: 30px;
}
.medical-item:last-child .medical-item__content::after {
  display: none;
}

/* inspection */
.inspection .medical-list02:nth-of-type(1),
.inspection .medical-list02:nth-of-type(2) {
  margin-bottom: 32px;
}
@media (min-width: 768px) {
  .inspection .medical-list02:nth-of-type(1),
  .inspection .medical-list02:nth-of-type(2) {
    margin-bottom: 48px;
  }
}
.inspection .medical-list02:nth-of-type(3) {
  margin-bottom: 30px;
}
.inspection .p-lead-mb:nth-of-type(4) {
  margin-bottom: 0;
}

.medical-list02 {
  background-color: #F8F8F0;
  padding: 30px 20px 30px;
}
@media (min-width: 768px) {
  .medical-list02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: initial;
  }
}

.medical-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  padding-bottom: 10px;
}
@media (min-width: 768px) {
  .medical-list-item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 217px;
            flex: 0 0 217px;
    border-right: 10px solid #fff;
    padding-bottom: initial;
    padding-left: 20px;
  }
}
@media (min-width: 992px) {
  .medical-list-item {
    font-size: 1.8rem;
  }
}

@media (min-width: 768px) {
  .medical-list__contents {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media (min-width: 768px) {
  .medical-list__content {
    -webkit-box-flex: initial;
        -ms-flex: initial;
            flex: initial;
  }
}

.medical-list02 .medical-item__content {
  padding: 0 0 16px 0;
}
@media (min-width: 768px) {
  .medical-list02 .medical-item__content {
    padding: 20px 30px 20px 20px;
  }
}
.medical-list02 .medical-item__content::after {
  display: none;
}
@media (min-width: 768px) {
  .medical-list02 .medical-item__content::after {
    display: block;
    content: "";
    position: absolute;
    bottom: 0;
    left: 20px;
    right: 30px;
    border-bottom: 1px dashed #AAA;
  }
}
@media (min-width: 768px) {
  .medical-list02 .medical-item__content:first-child {
    padding-top: 30px;
  }
}
.medical-list02 .medical-item__content:last-child {
  padding-bottom: 0;
}
@media (min-width: 768px) {
  .medical-list02 .medical-item__content:last-child {
    padding-bottom: 30px;
  }
}
.medical-list02 .medical-item__content:last-child::after {
  display: none;
}

/* treatment */
.treatment-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 768px) {
  .treatment-item {
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
        -ms-flex-direction: initial;
            flex-direction: initial;
  }
}

.treatment-item__content {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .treatment-item__content {
    margin-bottom: initial;
    margin-right: 3.7%;
    width: 46.3%;
  }
}

.treatment-item__text:not(:last-child) {
  margin-bottom: 16px;
}

.treatment-item__imgBox {
  display: contents;
}
@media (min-width: 768px) {
  .treatment-item__imgBox {
    display: initial;
    width: 50%;
  }
}

.treatment-item__img {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .treatment-item__img {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    margin-bottom: 50px;
  }
}

/* cost */
.about-hernia .cost-sec {
  margin-bottom: 0;
}
.about-hernia .cost-sec .cost__text {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .about-hernia .cost-sec .cost__text {
    margin-bottom: 48px;
  }
}
.about-hernia .util-link01 {
  max-width: 390px;
}

/*---------------------------------
  鼠径ヘルニアの種類ページ
---------------------------------*/
/* types-hernia */
.page-types-hernia .text:nth-of-type(1) {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .page-types-hernia .text:nth-of-type(1) {
    margin-bottom: 100px;
  }
}

.page-types-hernia .hernia-box:nth-child(odd) .box-large {
  background-color: #F8F8F0;
}
.page-types-hernia .hernia-box:nth-child(even) .box-large {
  background-color: #F7F7F7;
}
.page-types-hernia .hernia-box:not(:last-child) {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .page-types-hernia .hernia-box:not(:last-child) {
    margin-bottom: 100px;
  }
}
.page-types-hernia .box-large {
  padding: 20px 10px 10px;
}
@media (min-width: 768px) {
  .page-types-hernia .box-large {
    padding: 40px 20px;
  }
}
@media (min-width: 992px) {
  .page-types-hernia .box-large {
    padding: 80px;
  }
}
.page-types-hernia .box-small {
  background-color: #fff;
  padding: 20px 10px;
}
@media (min-width: 768px) {
  .page-types-hernia .box-small {
    padding: 30px;
  }
}
@media (min-width: 768px) {
  .page-types-hernia .medical-item__title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 247px;
            flex: 0 0 247px;
  }
}

/*---------------------------------
  鼠径ヘルニアの手術ページ
---------------------------------*/
/* surgery */
.surgery .inner > .text:first-of-type {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .surgery .inner > .text:first-of-type {
    margin-bottom: 100px;
  }
}

.method-item {
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .method-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    margin-bottom: 48px;
  }
}

@media (min-width: 768px) {
  .method-item__content {
    margin-right: 6.3%;
    width: 56.45%;
  }
}

.method-item__text:not(:last-child) {
  margin-bottom: 16px;
}

.method-item__img {
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .method-item__img {
    margin-bottom: initial;
    width: 37%;
  }
}

/* merit-demerit */
.merit .title,
.demerit .title {
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  padding-left: 30px;
  margin-bottom: 14px;
}
@media (min-width: 768px) {
  .merit .title,
  .demerit .title {
    font-size: 2.4rem;
    margin-bottom: 22px;
    padding-left: 40px;
  }
}
.merit .title::before,
.demerit .title::before {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media (min-width: 768px) {
  .merit .title::before,
  .demerit .title::before {
    width: 24px;
    height: 24px;
  }
}

.merit,
.demerit {
  padding: 20px 10px;
}
@media (min-width: 768px) {
  .merit,
  .demerit {
    padding: 30px;
  }
}

.merit {
  background-color: #F8F8F0;
  margin-bottom: 48px;
}
.merit .title::before {
  background: url(../img/common/excl-green.png) no-repeat center center/contain;
}
.merit .text-circle::before {
  background-color: #989E23;
}

.demerit {
  background-color: #F7F7F7;
}
.demerit .title::before {
  background: url(../img/common/excl.png) no-repeat center center/contain;
}

.merit-content {
  border-bottom: 1px dashed #aaa;
  padding: 16px 0;
}
@media (min-width: 768px) {
  .merit-content {
    padding: 20px 0;
  }
}

.merit-content:first-child {
  padding-top: 0;
}

.merit-content:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/*---------------------------------
  治療費用ページ
---------------------------------*/
/* page-cost */
.page-cost .inner > .text:first-of-type {
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .page-cost .inner > .text:first-of-type {
    margin-bottom: 100px;
  }
}

.cost01 > .text:first-of-type {
  margin-bottom: 40px;
}

.cost-box {
  background-color: #F7F7F7;
  padding: 24px 10px;
}
@media (min-width: 768px) {
  .cost-box {
    padding: 45px;
  }
}

.cost-box.cost-box01 {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .cost-box.cost-box01 {
    margin-bottom: 80px;
  }
}

.cost-box__title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #172A88;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1.7rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 1.41;
  margin-bottom: 12px;
}
@media (min-width: 768px) {
  .cost-box__title {
    line-height: initial;
    margin-bottom: 20px;
  }
}
@media (min-width: 992px) {
  .cost-box__title {
    font-size: 2.4rem;
    font-family: "Noto Serif JP", serif;
  }
}
.cost-box__title::before, .cost-box__title::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  background: #172A88;
}
@media (min-width: 768px) {
  .cost-box__title::before, .cost-box__title::after {
    -webkit-box-flex: initial;
        -ms-flex-positive: initial;
            flex-grow: initial;
    width: 50px;
  }
}
.cost-box__title::before {
  margin-right: 10px;
}
@media (min-width: 768px) {
  .cost-box__title::before {
    margin-right: 20px;
  }
}
.cost-box__title::after {
  margin-left: 10px;
}
@media (min-width: 768px) {
  .cost-box__title::after {
    margin-left: 20px;
  }
}

.cost-box__text {
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .cost-box__text {
    margin-bottom: 20px;
  }
}
.cost-box__text span {
  color: #172A88;
  font-weight: 600;
}

.cost-box__bottom {
  background-color: #fff;
  padding: 20px 15px 24px;
}
@media (min-width: 768px) {
  .cost-box__bottom {
    padding: 30px;
  }
}

.cost-box__bottom-item:not(:last-of-type) {
  margin-bottom: 30px;
}

.cost-box__bottom-title {
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  .cost-box__bottom-title {
    font-size: 1.8rem;
    margin-bottom: 12px;
  }
}

.cost-box__bottom-text:not(:last-child) {
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .cost-box__bottom-text:not(:last-child) {
    margin-bottom: 0;
  }
}

.cost-box__bottom-item02 {
  counter-reset: number 0;
}

.cost-box__bottom-item02 .cost-box__bottom-text {
  position: relative;
  padding-left: 23px;
}
.cost-box__bottom-item02 .cost-box__bottom-text::before {
  position: absolute;
  font-size: 1.6rem;
  font-weight: 600;
  top: 0;
  left: 0;
  counter-increment: number 1;
  content: counter(number) " ";
}
@media (min-width: 768px) {
  .cost-box__bottom-item02 .cost-box__bottom-text::before {
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

.cost-box__bottom-item03 .cost-box__bottom-text,
.cost-box__bottom-item04 .cost-box__bottom-text {
  position: relative;
  padding-left: 20px;
}
@media (min-width: 768px) {
  .cost-box__bottom-item03 .cost-box__bottom-text,
  .cost-box__bottom-item04 .cost-box__bottom-text {
    padding-left: 23px;
  }
}
.cost-box__bottom-item03 .cost-box__bottom-text::before,
.cost-box__bottom-item04 .cost-box__bottom-text::before {
  position: absolute;
  content: "";
  background-color: #989E23;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  top: 11px;
  left: 0;
}
@media (min-width: 768px) {
  .cost-box__bottom-item03 .cost-box__bottom-text::before,
  .cost-box__bottom-item04 .cost-box__bottom-text::before {
    width: 9px;
    height: 9px;
  }
}

.cost-box__bottom-item03 .cost-box__bottom-text:last-child {
  padding-left: 0;
  margin-top: 16px;
}
.cost-box__bottom-item03 .cost-box__bottom-text:last-child::before {
  display: none;
}

.cost-box__bottom-item03,
.cost-box__bottom-item04 {
  margin-bottom: 14px;
}

.text-square {
  position: relative;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  margin-bottom: 16px;
  padding-left: 20px;
}
@media (min-width: 992px) {
  .text-square {
    font-size: 2rem;
  }
}
.text-square::before {
  position: absolute;
  content: "";
  background-color: #333;
  width: 8px;
  height: 8px;
  top: 12px;
  left: 0;
}
@media (min-width: 768px) {
  .text-square::before {
    width: 10px;
    height: 10px;
    top: 14px;
  }
}

/* cost-table-box */
.cost-table-box01 {
  border-bottom: 1px dashed #C6C6C6;
  margin-bottom: 30px;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  .cost-table-box01 {
    margin-bottom: 48px;
    padding-bottom: 48px;
  }
}

.cost-table-box01 .cost-table {
  width: 403px;
}
.cost-table-box01 .cost-table th:first-child {
  width: 150px;
}
@media (min-width: 576px) {
  .cost-table-box01 .cost-table th:first-child {
    width: initial;
  }
}
.cost-table-box01 .cost-table td {
  height: 60px;
}

.cost-table-box02 .cost-table {
  width: 463px;
}

@media (min-width: 768px) {
  .cost-table-box01 .cost-table,
  .cost-table-box02 .cost-table {
    width: 525px;
  }
  .cost-table-box01 .cost-table table,
  .cost-table-box02 .cost-table table {
    table-layout: fixed;
  }
}

.cost-table-box03 {
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .cost-table-box03 {
    margin-bottom: 80px;
  }
}
.cost-table-box03 .cost-table {
  width: 1005px;
}
@media (min-width: 768px) {
  .cost-table-box03 .cost-table {
    width: 1080px;
  }
}
.cost-table-box03 .cost-table table {
  width: 100%;
}
.cost-table-box03 .cost-table table th,
.cost-table-box03 .cost-table table td {
  line-height: 1.4;
}
.cost-table-box03 .cost-table table th {
  vertical-align: middle;
  padding: 7px 10px;
}
.cost-table-box03 .cost-table table .col-width-s {
  width: 63px;
}
@media (min-width: 768px) {
  .cost-table-box03 .cost-table table .col-width-s {
    width: 80px;
  }
}
.cost-table-box03 .cost-table table .col-width-m {
  width: 210px;
}
.cost-table-box03 .cost-table table .col-width-l {
  width: 221px;
}
@media (min-width: 768px) {
  .cost-table-box03 .cost-table table .col-width-l {
    width: 265px;
  }
}

.cost-table table {
  border-spacing: 4px;
  width: 100%;
}
.cost-table table th,
.cost-table table td {
  font-weight: 500;
  letter-spacing: 0.05em;
}
.cost-table table th {
  background-color: #3A63B1;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  padding: 9px 4px;
  text-align: center;
}
@media (min-width: 576px) {
  .cost-table table th {
    padding: 12.5px 8px;
  }
}
@media (min-width: 992px) {
  .cost-table table th {
    font-size: 2rem;
  }
}
.cost-table table td {
  background-color: #F8F8F0;
  padding: 15px 4px;
  text-align: center;
  vertical-align: middle;
  height: 90px;
}
@media (min-width: 576px) {
  .cost-table table td {
    padding: 15px;
  }
}
@media (min-width: 992px) {
  .cost-table table td {
    font-size: 1.8rem;
  }
}
.cost-table table td p {
  line-height: 1.4;
}

.cost-notes {
  margin-top: 16px;
}
@media (min-width: 768px) {
  .cost-notes {
    margin-top: 20px;
  }
}

.cost-notes__note:not(:last-child) {
  margin-bottom: 14px;
}

.cost-notes__note {
  line-height: 1.5;
}

.cost-notes__note span {
  font-weight: 600;
}

/*---------------------------------
  当院の特徴ページ
---------------------------------*/
/* feature-top */
.feature-top {
  margin-bottom: 80px;
}
@media (min-width: 768px) {
  .feature-top {
    margin-bottom: 170px;
  }
}

.feature-box {
  background-color: #F3F4E6;
  padding: 36px 20px 20px;
}
@media (min-width: 768px) {
  .feature-box {
    padding: 52px 40px 64px;
  }
}
@media (min-width: 992px) {
  .feature-box {
    padding: 52px 80px 64px;
  }
}

.feature-box__top {
  position: relative;
  margin-bottom: 12px;
  text-align: center;
}
@media (min-width: 768px) {
  .feature-box__top {
    margin-bottom: 40px;
  }
}

.feature-box__title-en {
  position: absolute;
  color: #E5E6CF;
  font-size: 5.6rem;
  font-family: "Corinthia", cursive;
  font-weight: 600;
  bottom: 55px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  text-align: center;
  width: 104%;
}
@media (max-width: 374px) {
  .feature-box__title-en {
    font-size: 14vw;
  }
}
@media (min-width: 768px) {
  .feature-box__title-en {
    bottom: 38px;
    width: 100%;
  }
}
@media (min-width: 992px) {
  .feature-box__title-en {
    font-size: 12rem;
    bottom: 4px;
  }
}

.feature-box__title {
  color: #172A88;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2.2rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.41;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (max-width: 374px) {
  .feature-box__title {
    font-size: 6vw;
  }
}
@media (min-width: 992px) {
  .feature-box__title {
    font-size: 2.8rem;
    line-height: initial;
  }
}
@media (min-width: 1200px) {
  .feature-box__title {
    font-size: 3.2rem;
  }
}
@media (min-width: 768px) {
  .feature-box__title::before, .feature-box__title::after {
    content: "";
    width: 50px;
    height: 1px;
    background-color: #172A88;
  }
}
@media (min-width: 768px) {
  .feature-box__title::before {
    margin-right: 24px;
  }
}
@media (min-width: 768px) {
  .feature-box__title::after {
    margin-left: 24px;
  }
}

.feature-top .feature-content {
  background-color: #fff;
  padding: 20px;
}
@media (min-width: 768px) {
  .feature-top .feature-content {
    padding: 30px;
  }
}
.feature-top .feature-content__title,
.feature-top .feature-content__text {
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  text-align: center;
}
.feature-top .feature-content__title {
  font-size: 2rem;
  line-height: 1.45;
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  .feature-top .feature-content__title {
    font-size: 2.4rem;
    line-height: initial;
    margin-bottom: 20px;
  }
}
.feature-top .feature-content__title span {
  display: none;
}
@media (min-width: 768px) {
  .feature-top .feature-content__title span {
    display: inline-block;
    margin-right: 4px;
    margin-left: 4px;
  }
}
.feature-top .feature-content__text {
  font-size: 1.4rem;
}
@media (min-width: 992px) {
  .feature-top .feature-content__text {
    font-size: 2rem;
  }
}

/* feature-main */
.feature-main {
  margin-bottom: 320px;
}
@media (min-width: 768px) {
  .feature-main {
    margin-bottom: 160px;
  }
}
@media (min-width: 992px) {
  .feature-main {
    margin-bottom: 200px;
  }
}
@media (min-width: 1200px) {
  .feature-main {
    margin-bottom: 300px;
  }
}
@media (min-width: 1400px) {
  .feature-main {
    margin-bottom: 400px;
  }
}

.feature-item {
  position: relative;
  background-color: #f7f7f7;
  padding-top: 40px;
  padding-bottom: 42px;
}
@media (min-width: 768px) {
  .feature-item {
    max-height: initial;
    margin-bottom: initial;
    padding-top: 56px;
    padding-bottom: 56px;
  }
}
@media (min-width: 992px) {
  .feature-item {
    min-height: 400px;
    padding-top: 80px;
    padding-bottom: initial;
  }
}

.feature-item:not(:last-child) {
  margin-bottom: 266px;
}
@media (min-width: 768px) {
  .feature-item:not(:last-child) {
    margin-bottom: 148px;
  }
}
@media (min-width: 992px) {
  .feature-item:not(:last-child) {
    margin-bottom: 160px;
  }
}
@media (min-width: 1200px) {
  .feature-item:not(:last-child) {
    margin-bottom: 240px;
  }
}
@media (min-width: 1400px) {
  .feature-item:not(:last-child) {
    margin-bottom: 316px !important;
  }
}

/* 数字（はみ出し要素） */
.feature-item__number {
  position: absolute;
  color: #E5E6CF;
  font-family: "Corinthia", cursive;
  top: -80px;
  font-size: 8rem;
  font-weight: 600;
  line-height: 1;
  z-index: 2;
}
@media (min-width: 768px) {
  .feature-item__number {
    font-size: 13rem;
    top: -128px;
  }
}
@media (min-width: 992px) {
  .feature-item__number {
    font-size: 18rem;
    top: -180px;
  }
}

.feature-item__body {
  position: relative;
}
@media (min-width: 768px) {
  .feature-item__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.feature-item__content {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .feature-item__content {
    width: 50%;
  }
}
@media (min-width: 1200px) {
  .feature-item__content {
    width: 45%;
  }
}

.feature-item:nth-child(odd) {
  margin-left: 10px;
  padding-left: 10px;
  padding-right: 20px;
}
@media (min-width: 768px) {
  .feature-item:nth-child(odd) {
    margin-left: initial;
    padding-left: 40px;
    padding-right: 56px;
  }
}
@media (min-width: 1400px) {
  .feature-item:nth-child(odd) {
    padding-left: 60px;
    padding-right: 76px;
  }
}
.feature-item:nth-child(odd)::before {
  position: absolute;
  content: "";
  background-color: #E5E5E6;
  width: 100%;
  height: 100%;
  top: 10px;
  left: -10px;
  z-index: -1;
}
@media (min-width: 768px) {
  .feature-item:nth-child(odd)::before {
    top: 20px;
    left: -20px;
  }
}
.feature-item:nth-child(odd) .feature-item__number {
  left: 10px;
}
@media (min-width: 768px) {
  .feature-item:nth-child(odd) .feature-item__number {
    left: 0;
  }
}
@media (min-width: 768px) {
  .feature-item:nth-child(odd) .feature-item__content {
    margin-right: 50px;
  }
}
.feature-item:nth-child(odd) .feature-item__image-container {
  margin-right: calc(50% - 50vw);
  right: -5px;
}
@media (min-width: 768px) {
  .feature-item:nth-child(odd) .feature-item__image-container {
    right: -8px;
  }
}
@media (min-width: 1600px) {
  .feature-item:nth-child(odd) .feature-item__image-container {
    margin-right: initial;
    right: -178px;
  }
}

.feature-item:nth-child(even) {
  margin-right: 10px;
  padding-right: 10px;
  padding-left: 20px;
}
@media (min-width: 768px) {
  .feature-item:nth-child(even) {
    margin-right: initial;
    padding-right: 40px;
    padding-left: 56px;
  }
}
@media (min-width: 1400px) {
  .feature-item:nth-child(even) {
    padding-right: 60px;
    padding-left: 76px;
  }
}
.feature-item:nth-child(even)::before {
  position: absolute;
  content: "";
  background-color: #E5E5E6;
  width: 100%;
  height: 100%;
  top: 10px;
  right: -10px;
  z-index: -1;
}
@media (min-width: 768px) {
  .feature-item:nth-child(even)::before {
    top: 20px;
    right: -20px;
  }
}
.feature-item:nth-child(even) .feature-item__number {
  right: 10px;
}
@media (min-width: 768px) {
  .feature-item:nth-child(even) .feature-item__number {
    right: 0;
  }
}
@media (min-width: 768px) {
  .feature-item:nth-child(even) .feature-item__body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
@media (min-width: 768px) {
  .feature-item:nth-child(even) .feature-item__content {
    margin-left: 50px;
  }
}
.feature-item:nth-child(even) .feature-item__image-container {
  margin-left: calc(50% - 50vw);
  left: -5px;
}
@media (min-width: 768px) {
  .feature-item:nth-child(even) .feature-item__image-container {
    left: -8px;
  }
}
@media (min-width: 1600px) {
  .feature-item:nth-child(even) .feature-item__image-container {
    margin-left: initial;
    left: -178px;
  }
}

.feature-item__heading {
  color: #172A88;
  font-size: 2rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.43;
  margin-bottom: 16px;
}
@media (min-width: 992px) {
  .feature-item__heading {
    font-size: 3.2rem;
    margin-bottom: 40px;
  }
}

.feature-item__description {
  font-size: 1.6rem;
}

.feature-item__link {
  color: #0068B4;
  display: inline-block;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  margin-top: 16px;
  text-decoration: underline;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
@media (min-width: 992px) {
  .feature-item__link {
    margin-top: 40px;
  }
}
.feature-item__link:hover {
  opacity: 0.7;
}

.feature-item__image-container {
  position: absolute;
  width: 325px;
  z-index: 3;
}
@media (min-width: 768px) {
  .feature-item__image-container {
    top: -20px;
    width: 50%;
  }
}
@media (min-width: 1200px) {
  .feature-item__image-container {
    width: 58.42%;
  }
}
@media (min-width: 1400px) {
  .feature-item__image-container {
    width: 66.42%;
  }
}
.feature-item__image-container .feature-item__image {
  position: absolute;
  top: 18px;
}
@media (min-width: 768px) {
  .feature-item__image-container .feature-item__image {
    position: initial;
    top: initial;
  }
}

/* feature-bottom */
@media (min-width: 992px) {
  .feature-bottom .feature-box {
    padding-top: 72px;
  }
}
.feature-bottom .feature-box__title-en {
  bottom: 56px;
}
@media (min-width: 768px) {
  .feature-bottom .feature-box__title-en {
    bottom: 38px;
  }
}
@media (min-width: 992px) {
  .feature-bottom .feature-box__title-en {
    bottom: 22px;
  }
}
.feature-bottom .feature-box__top {
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .feature-bottom .feature-box__top {
    margin-bottom: 56px;
  }
}

.feature-list:not(:last-child) {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .feature-list:not(:last-child) {
    margin-bottom: 40px;
  }
}

.feature-list {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px;
}
@media (min-width: 768px) {
  .feature-list {
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
        -ms-flex-direction: initial;
            flex-direction: initial;
    padding: 32px;
  }
}
@media (min-width: 992px) {
  .feature-list {
    padding: 50px;
  }
}

.feature-list__box {
  display: contents;
}
@media (min-width: 768px) {
  .feature-list__box {
    display: initial;
    margin-right: 5%;
    width: 57.2%;
  }
}

.feature-list__num {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  color: #AAAAAA;
  display: block;
  font-size: 3rem;
  font-weight: 600;
  font-family: "Corinthia", cursive;
  line-height: 1;
  margin-bottom: 6px;
}
@media (min-width: 768px) {
  .feature-list__num {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}
@media (min-width: 992px) {
  .feature-list__num {
    font-size: 3.6rem;
  }
}

.feature-list__title {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  color: #989E23;
  font-size: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  line-height: 1.4;
  margin-bottom: 16px;
}
@media (min-width: 768px) {
  .feature-list__title {
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
  }
}
@media (min-width: 992px) {
  .feature-list__title {
    font-size: 2.4rem;
    line-height: 1.45;
    margin-bottom: 20px;
  }
}
@media (min-width: 768px) {
  .feature-list__title::after {
    content: "";
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    height: 1px;
    background-color: #989E23;
    margin-left: 4%;
  }
}

.feature-list__text:not(:last-child) {
  margin-bottom: 16px;
}

.feature-list__text {
  position: relative;
  font-size: 1.5rem;
  padding-left: 18px;
}
@media (min-width: 768px) {
  .feature-list__text {
    padding-left: 24px;
  }
}
@media (min-width: 992px) {
  .feature-list__text {
    font-size: 1.6rem;
  }
}
.feature-list__text::before {
  position: absolute;
  content: "";
  background-color: #989E23;
  border-radius: 50%;
  width: 6px;
  height: 6px;
  top: 11px;
  left: 0;
}
@media (min-width: 768px) {
  .feature-list__text::before {
    width: 8px;
    height: 8px;
  }
}

.feature-list:nth-child(2) .feature-list__textBox .feature-list__text:last-child::before {
  display: none;
}

.feature-list__img {
  margin-bottom: 16px;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media (min-width: 768px) {
  .feature-list__img {
    margin-bottom: initial;
    -webkit-box-ordinal-group: initial;
        -ms-flex-order: initial;
            order: initial;
    width: 37.7%;
  }
}

.article-inner {
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

.archive-link-box {
  margin-bottom: 100px;
}
@media (min-width: 992px) {
  .archive-link-box {
    margin-bottom: 140px;
  }
}

.archive-link {
  margin: 0 auto;
  width: 100%;
}
@media (min-width: 768px) {
  .archive-link {
    max-width: 325px;
    width: 100%;
  }
}

.archive-button {
  background-color: #172A88;
  border-radius: 2px;
  display: block;
  color: #fff;
  font-size: 1.4rem;
  width: 100%;
  padding: 14px 0;
  text-align: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media (min-width: 768px) {
  .archive-button {
    font-size: 1.6rem;
    padding: 16px 0;
  }
}
.archive-button:hover {
  opacity: 0.7;
}

/*---------------------------------
  お知らせ 一覧ページ
---------------------------------*/
.new-info {
  padding-bottom: 100px;
}
@media (min-width: 992px) {
  .new-info {
    padding-bottom: 180px;
  }
}

.new-info__contents {
  margin-bottom: 56px;
}
@media (min-width: 992px) {
  .new-info__contents {
    margin-bottom: 80px;
  }
}

.new-info__item:not(:last-child) {
  margin-bottom: 24px;
}

.new-info__item {
  position: relative;
  background-color: #F7F7F7;
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 1px 6px rgba(0, 0, 0, 0.16);
  display: block;
  padding: 20px 16px;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media (min-width: 768px) {
  .new-info__item {
    padding: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (min-width: 992px) {
  .new-info__item::after {
    position: absolute;
    content: "";
    background: url(../img/common/news-arrow.png) no-repeat center center/contain;
    width: 20px;
    height: 6px;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 20px;
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
  }
}
.new-info__item:hover {
  background-color: #F3F4E6;
}

.new-info__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 8px;
}
@media (max-width: 374px) {
  .new-info__meta {
    margin-bottom: 6px;
  }
}
@media (max-width: 374px) {
  .new-info__meta {
    display: block;
  }
}
@media (min-width: 768px) {
  .new-info__meta {
    margin-bottom: 0;
  }
}

.new-info__time {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #868686;
  font-size: 1.4rem;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  margin-right: 24px;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .new-info__time {
    margin-right: 28px;
    font-size: 1.6rem;
  }
}

.new-info__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.new-info__tag:not(:last-child) {
  margin-right: 14px;
}
@media (min-width: 768px) {
  .new-info__tag:not(:last-child) {
    margin-right: 28px;
  }
}

.new-info__category:not(:last-child) {
  margin-right: 4px;
}

.new-info__category {
  margin-bottom: 3px;
}

.new-info__text {
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  width: 100%;
  line-height: 1.46;
  letter-spacing: 0.05em;
}
@media (min-width: 992px) {
  .new-info__text {
    font-size: 1.6rem;
    line-height: initial;
  }
}

/*---------------------------------
  お知らせ 医療ブログ 詳細ページ
---------------------------------*/
/* news */
.news {
  margin-bottom: 70px;
}
@media (min-width: 768px) {
  .news {
    margin-bottom: 160px;
  }
}

.news__contents {
  margin-bottom: 8rem;
}

.news__row {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 30px;
}
.blog__row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 4px;
}

.news__row,
.blog__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.news__meta-row,
.blog__meta-row {
  margin-bottom: 28px;
}

.news__meta,
.blog__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.news__meta {
  margin-bottom: 24px;
}
@media (min-width: 768px) {
  .news__meta {
    margin-bottom: 28px;
  }
}

.blog__category,
.news__category,
.new-info__category {
  background-color: #fff;
  border: 1px solid #989E23;
  color: #989E23 !important;
  font-size: 1.2rem;
  font-weight: 500;
  padding: 8px 10px;
  white-space: nowrap;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.blog__category:hover,
.news__category:hover,
.new-info__category:hover {
  opacity: 0.7;
}
@media (min-width: 768px) {
  .blog__category,
  .news__category,
  .new-info__category {
    padding: 8px 10px;
  }
}

@media (min-width: 768px) {
  .new-info__category {
    font-size: 1.4rem;
    padding: 10px;
  }
}

.news__category:not(:last-child),
.blog__category:not(:last-child) {
  margin-right: 4px;
}
@media (min-width: 768px) {
  .news__category:not(:last-child),
  .blog__category:not(:last-child) {
    margin-right: 8px;
  }
}

.news__row-time,
.blog__row-time {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}

.news__date,
.blog__date {
  font-size: 1.4rem;
}

.news__date:first-child,
.blog__date:first-child {
  margin-right: 8px;
}
@media (min-width: 992px) {
  .news__date:first-child,
  .blog__date:first-child {
    margin-right: 12px;
  }
}

@media (min-width: 992px) {
  .news__date-icon,
  .blog__date-icon {
    padding-right: 4px;
  }
}
.news__date-icon .fa-clock,
.news__date-icon .fa-arrows-rotate,
.blog__date-icon .fa-clock,
.blog__date-icon .fa-arrows-rotate {
  color: #989898;
}

.news__date-time,
.blog__date-time {
  font-size: 1.2rem;
}
@media (min-width: 768px) {
  .news__date-time,
  .blog__date-time {
    font-size: 1.4rem;
  }
}

.news__title,
.blog__title {
  position: relative;
  border-bottom: 1px solid #D3D3D3;
  font-size: 1.8rem;
  font-weight: 400;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  margin-bottom: 28px;
  padding-bottom: 12px;
}
@media (min-width: 768px) {
  .news__title,
  .blog__title {
    font-size: 2.2rem;
    margin-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .news__title,
  .blog__title {
    font-size: 3rem;
  }
}

.news-thumbnail img,
.blog-thumbnail img {
  margin-bottom: 20px !important;
}
@media (min-width: 992px) {
  .news-thumbnail img,
  .blog-thumbnail img {
    margin-bottom: 50px !important;
  }
}

.news article h2,
.news article h3,
.news article h4,
.news article h5,
.news article h6,
.blog article h2,
.blog article h3,
.blog article h4,
.blog article h5,
.blog article h6 {
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  margin: 4rem 0 1.6rem;
}
@media (min-width: 768px) {
  .news article h2,
  .news article h3,
  .news article h4,
  .news article h5,
  .news article h6,
  .blog article h2,
  .blog article h3,
  .blog article h4,
  .blog article h5,
  .blog article h6 {
    margin: 5.6rem 0 2rem;
  }
}

.news article h2,
.blog article h2 {
  position: relative;
  border-bottom: 1px solid #DEDEDE;
  font-size: 2.1rem;
  padding: 0 8px 16px 0;
}
@media (min-width: 992px) {
  .news article h2,
  .blog article h2 {
    font-size: 2.4rem;
  }
}
@media (min-width: 1200px) {
  .news article h2,
  .blog article h2 {
    font-size: 3rem;
    margin-bottom: 40px;
  }
}
.news article h2::before,
.blog article h2::before {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #989E23;
  left: 0;
  bottom: -2px;
  width: 11.4%;
}

.news article h3,
.blog article h3 {
  color: #172A88;
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 1.2rem;
}
@media (min-width: 768px) {
  .news article h3,
  .blog article h3 {
    margin-bottom: 2rem;
  }
}
@media (min-width: 992px) {
  .news article h3,
  .blog article h3 {
    font-size: 2.2rem;
  }
}
@media (min-width: 1200px) {
  .news article h3,
  .blog article h3 {
    font-size: 2.4rem;
  }
}

.news article h4,
.blog article h4 {
  border-bottom: 1px solid #DEDEDE;
  font-size: 1.8rem;
  font-weight: 600;
  padding-bottom: 8px;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .news article h4,
  .blog article h4 {
    margin-top: 40px;
    margin-bottom: 1.6rem;
  }
}
@media (min-width: 992px) {
  .news article h4,
  .blog article h4 {
    font-size: 2rem;
  }
}
@media (min-width: 1200px) {
  .news article h4,
  .blog article h4 {
    font-size: 2.2rem;
  }
}

.news article h5,
.blog article h5 {
  font-size: 1.7rem;
  font-weight: 600;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .news article h5,
  .blog article h5 {
    margin-top: 30px;
  }
}
@media (min-width: 1200px) {
  .news article h5,
  .blog article h5 {
    font-size: 2rem;
  }
}

.news article p,
.blog article p {
  font-size: 1.4rem;
  line-height: 1.75;
  margin-bottom: 1.6rem;
}

.news article .news__content a,
.blog article .blog__content a {
  color: #172A88;
  font-style: initial;
}

blockquote {
  position: relative;
  margin: 40px 0;
  padding: 16px 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #F7F7F7;
  margin: 16px 0 16px;
}
@media (min-width: 992px) {
  blockquote {
    padding: 24px 30px;
    margin-top: 24px;
    margin-bottom: 24px;
  }
}

blockquote p {
  border-left: 2px solid #172A88;
  font-size: 1.3rem;
  padding-left: 12px;
  margin-bottom: 7px !important;
  line-height: 1.7;
  letter-spacing: 0 !important;
}
@media (min-width: 768px) {
  blockquote p {
    font-size: 1.5rem;
    padding-left: 20px;
  }
}

blockquote a {
  font-size: 1.6rem !important;
}

blockquote cite {
  display: block;
  text-align: right;
  color: #172A88;
  font-size: 0.9em;
  margin-bottom: 8px;
  font-style: initial;
}

.wp-block-media-text .wp-block-media-text__content {
  padding: 0;
}
@media (min-width: 768px) {
  .wp-block-media-text .wp-block-media-text__content {
    padding: 0 5%;
  }
}

@media (min-width: 768px) {
  .wp-block-media-text img {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

.wp-block-table {
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
}

/*---------------------------------
  医療ブログ 一覧ページ
---------------------------------*/
.archive .blog__category,
.archive .news__category {
  padding-top: 5px;
  padding-bottom: 5px;
}

.blog-archive {
  padding-bottom: 100px;
}
@media (min-width: 992px) {
  .blog-archive {
    padding-bottom: 180px;
  }
}

.blog-cards {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: 50px;
  row-gap: 24px;
}
@media (min-width: 576px) {
  .blog-cards {
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 24px;
       -moz-column-gap: 24px;
            column-gap: 24px;
  }
}
@media (min-width: 768px) {
  .blog-cards {
    grid-template-columns: 1fr 1fr 1fr;
    -webkit-column-gap: 24px;
       -moz-column-gap: 24px;
            column-gap: 24px;
    row-gap: 30px;
  }
}
@media (min-width: 992px) {
  .blog-cards {
    margin-bottom: 70px;
  }
}

.blog-card {
  background-color: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.blog-card__date {
  line-height: 1;
  margin-bottom: 6px;
}
@media (min-width: 768px) {
  .blog-card__date {
    margin-bottom: 8px;
  }
}

.blog-card__time {
  font-size: 1.4rem;
  font-family: "Noto Serif JP", serif;
  display: block;
  margin-right: 12px;
}
@media (min-width: 768px) {
  .blog-card__time {
    margin-right: 18px;
  }
}

.blog-card__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 3px;
}

.blog-card__tag .blog__category:not(:last-child) {
  margin-right: 3px;
}

.blog .blog__content a {
  color: #0074D9;
}

.blog-link {
  display: block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .blog-link {
    padding-top: initial;
    padding-bottom: initial;
  }
}
.blog-link:hover {
  opacity: 0.7;
}

.blog-contents__row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .blog-contents__row {
    margin-bottom: 12px;
  }
}

.blog-contents__img {
  position: relative;
  overflow: hidden;
  height: 0;
  padding-top: 52.5%;
  width: 100%;
}
.blog-contents__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  top: 0;
}

.blog-contents__title {
  font-size: 1.4rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .blog-contents__title {
    font-size: 1.6rem;
  }
}

.blog-contents__text {
  line-height: 1.5;
  margin-bottom: 12px;
}
@media (min-width: 768px) {
  .blog-contents__text {
    font-size: 1.6rem;
  }
}

.blog-contents__content {
  padding: 16px;
}
@media (min-width: 768px) {
  .blog-contents__content {
    padding: 20px 16px 24px;
  }
}

/*---------------------------------
  医療ブログ 詳細ページ
---------------------------------*/
.blog {
  margin-bottom: 50px;
}
@media (min-width: 768px) {
  .blog {
    margin-bottom: 88px;
  }
}

.blog article p {
  letter-spacing: 0.02em;
}

.news article ol,
.blog article ol {
  padding-left: 1.8rem;
}

.news article ol li,
.blog article ol li {
  list-style-type: decimal;
}

.news article ul,
.blog article ul {
  margin-bottom: 1.6rem;
  padding-left: 8px;
  list-style-type: disc !important;
}

.news article ul li,
.blog article ul li {
  font-size: 1.4rem;
  list-style-type: none;
  line-height: 2;
}
.news article ul li::before,
.blog article ul li::before {
  position: relative;
  content: "";
  border-radius: 50%;
  top: -1px;
  left: -8px;
  display: inline-block;
  width: 8px;
  height: 8px;
  background-color: #989E23;
}
@media (min-width: 768px) {
  .news article ul li::before,
  .blog article ul li::before {
    top: -1.5px;
    width: 9px;
    height: 9px;
  }
}

.news article li,
.blog article li {
  font-size: 1.4rem;
  font-weight: 400;
}

.news article a,
.blog article a {
  color: #172A88;
  font-style: initial;
}

.blog article a,
.news article a {
  text-decoration: underline;
}

.wp-block-image figcaption {
  font-size: 1.4rem !important;
}

.wp-block-image {
  margin: 0 0 1.4rem 0;
}
@media (min-width: 992px) {
  .wp-block-image {
    margin: 0 0 3.2rem 0;
  }
}

.wp-block-image :where(figcaption) {
  margin-bottom: initial;
  margin-top: 0.8em;
}

/*---------------------------------
  関連記事
---------------------------------*/
.related-box {
  background-color: #fff;
  padding: 40px 16px;
}
@media (min-width: 768px) {
  .related-box {
    padding: 40px;
  }
}
@media (min-width: 992px) {
  .related-box {
    padding: 60px;
  }
}

.related-posts__title {
  position: relative;
  border-bottom: 1px solid #DEDEDE;
  font-size: 2.1rem;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 20px;
  padding: 0 8px 8px 0;
}
@media (min-width: 992px) {
  .related-posts__title {
    font-size: 2.4rem;
    margin-bottom: 40px;
  }
}
@media (min-width: 1200px) {
  .related-posts__title {
    font-size: 3rem;
    margin-bottom: 40px;
  }
}
.related-posts__title::before {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #989E23;
  left: 0;
  bottom: -2px;
  width: 11.4%;
}

.related-posts {
  margin-bottom: 100px;
}
@media (min-width: 992px) {
  .related-posts {
    margin-bottom: 140px;
  }
}
.related-posts .blog-cards {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: 50px;
  row-gap: 24px;
}
@media (min-width: 576px) {
  .related-posts .blog-cards {
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 24px;
       -moz-column-gap: 24px;
            column-gap: 24px;
  }
}
@media (min-width: 768px) {
  .related-posts .blog-cards {
    grid-template-columns: 1fr 1fr 1fr;
    -webkit-column-gap: 24px;
       -moz-column-gap: 24px;
            column-gap: 24px;
    row-gap: 30px;
  }
}
@media (min-width: 992px) {
  .related-posts .blog-cards {
    margin-bottom: 70px;
  }
}
.related-posts .blog-card {
  background-color: #fff;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.related-posts .blog-card__date {
  line-height: 1;
  margin-bottom: 6px;
}
@media (min-width: 768px) {
  .related-posts .blog-card__date {
    margin-bottom: 8px;
  }
}
.related-posts .blog-card__time {
  font-size: 1.4rem;
  font-family: "Noto Serif JP", serif;
  display: block;
  margin-right: 12px;
}
@media (min-width: 768px) {
  .related-posts .blog-card__time {
    margin-right: 18px;
  }
}
.related-posts .blog-card__tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 3px;
}
.related-posts .blog-card__tag .blog__category:not(:last-child) {
  margin-right: 3px;
}
.related-posts .blog .blog__content a {
  color: #0074D9;
}
.related-posts .blog-link {
  display: block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (min-width: 768px) {
  .related-posts .blog-link {
    padding-top: initial;
    padding-bottom: initial;
  }
}
.related-posts .blog-link:hover {
  opacity: 0.7;
}
.related-posts .blog-contents__row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 8px;
}
@media (min-width: 768px) {
  .related-posts .blog-contents__row {
    margin-bottom: 12px;
  }
}
.related-posts .blog-contents__img {
  position: relative;
  overflow: hidden;
  height: 0;
  padding-top: 52.5%;
  width: 100%;
}
.related-posts .blog-contents__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  top: 0;
}
.related-posts .blog-contents__title {
  font-size: 1.4rem;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
}
@media (min-width: 768px) {
  .related-posts .blog-contents__title {
    font-size: 1.6rem;
  }
}
.related-posts .blog-contents__text {
  line-height: 1.5;
  margin-bottom: 12px;
}
@media (min-width: 768px) {
  .related-posts .blog-contents__text {
    font-size: 1.6rem;
  }
}
.related-posts .blog-contents__content {
  padding: 16px;
}
@media (min-width: 768px) {
  .related-posts .blog-contents__content {
    padding: 20px 16px 24px;
  }
}

.news__meta a,
.blog__meta a {
  text-decoration: initial !important;
}

/*---------------------------------
  投稿ページ youtube
---------------------------------*/
.wp-block-embed.wp-block-embed-youtube {
  margin-top: 32px;
  margin-bottom: 32px;
}

.wp-has-aspect-ratio {
  position: relative;
}

.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
  margin: auto;
  padding-top: 56.25%;
  position: relative;
  width: 100%;
}
.wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.wp-block-embed > figcaption {
  color: inherit;
  display: block !important;
  font-size: 1em;
  line-height: 1.4;
  margin-bottom: 0;
  margin-top: 0.75em;
  opacity: 0.8;
  text-align: center;
}

.single .column-archive {
  margin-bottom: 70px;
}
@media (min-width: 768px) {
  .single .column-archive {
    margin-bottom: 120px;
  }
}

.column-archive .util-link01 {
  margin: auto;
}

.single-news .column-archive {
  margin-bottom: 0;
}
.single-news .news__contents {
  margin-bottom: 50px;
}
@media (min-width: 768px) {
  .single-news .news__contents {
    margin-bottom: 70px;
  }
}

.single .blog__content > :first-child h2,
.single .blog__content div > :first-child h2 {
  margin: 4rem 0 1.6rem !important;
}
@media (min-width: 768px) {
  .single .blog__content > :first-child h2,
  .single .blog__content div > :first-child h2 {
    margin: 5.6rem 0 2rem !important;
  }
}

html {
  font-size: 62.5%;
}

body {
  color: #333;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
}
@media (max-width: 374px) {
  body {
    font-size: 1.4rem;
  }
}
@media (min-width: 992px) {
  body {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}

body.fixed {
  width: 100%;
  height: 100%;
  position: fixed;
}

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

.inner {
  max-width: 1120px;
  width: 100%;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

.inner01 {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

.inner02 {
  max-width: 1080px;
  width: 100%;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

.only-pc {
  display: none;
}
@media (min-width: 768px) {
  .only-pc {
    display: block;
  }
}

@media (min-width: 768px) {
  .only-sp {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */