/* base-------------------------- */

html {
  font-size: 100%;
}

body {
  font-family: "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  font-size: 16px;
}

img {
  width: 100%;
  vertical-align: bottom;
  height: auto;
}

a {
  text-decoration: none;
}

.section-title {
  background: none;
  font-size: 60px;
  font-family: "Waseem", "Helvetica Neue",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  font-weight: normal;
  color: #38497f;
  text-align: center;
  margin-bottom: 0;
  padding: 0;
  z-index: 99;
}

.section-title span {
  color: #38497f;
  text-align: center;
  display: block;
  font-size: 20px;
}

.section-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px 48px;
  position: relative;
}

.section-subtitle {
  background: none;
  margin-bottom: 0;
  padding: 0;
  color: #38497f;
  font-size: 16px;
  font-weight: normal;
  text-align: center;
}

.pc-hide {
  display: none;
}


/* フッター---------------------- */

.footer {
  margin-top: 150px;
}

.footer-bg {
  width: 100%;
  background-color: #ebf0fd;
}

.footer-inner {
  max-width: 1100px;
  width: 80%;
  margin: 0 auto;
}

.footer-info-wrap {
  display: flex;
  justify-content: space-around;
  padding-top: 45px;
  padding-bottom: 45px;
}

.footer-info-heading {
  color: #38497f;
  font-size: 24px;
  padding-bottom: 25px;
}

.footer-infp-p {
  padding-bottom: 19px;
}

/* スケジュール表 */

.schedule-table {
  /*min-width: 450px;*/
  max-width: 100%;
}

.schedule-week {
  border-bottom: 2px solid #7994ea;
}

.schedule-time {
  border-right: 2px solid #7994ea;
  padding: 1.8rem 5px;
  text-align: center;
}

.scgedule-th {
  padding: 1.2rem;
  text-align: center;
}

.schedule-td {
  padding: 1.2rem;
  text-align: center;
}

.color-blue {
  color: #38497f;
}

/* ここまで */

.footer-address-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 65px;
  padding-bottom: 90px;
}

.footer-map {
  width: 54%;
  height: 384px;
}

.footer-addres {
  box-shadow: 0px 3px 6px #000;
  padding: 25px 50px 50px 70px;
  text-align: center;
}

.adress-heading {
  color: #38497f;
  font-family: "Waseem";
  font-size: 20px;
}

.adress-sub-heading {
  color: #38497f;
  font-size: 14px;
  padding-bottom: 35px;
}

.footer-address-p-wrap {
  margin: 0 auto;
  text-align: left;
}

.footer-address-p-wrap p {
  padding-bottom: 25px;
}

.footer-address-p-wrap p:last-child {
  padding-bottom: 0;
}

.footer-bottom {
  background-color: #5871c1;
  color: #fff;
  text-align: center;
}

.footer-nav ul {
  display: flex;
  justify-content: center;
}

.footer-nav a {
  display: block;
  color: #fff;
  padding: 35px;
}

small {
  display: block;
  padding-bottom: 15px;
}

.copylight {
  background: #5871c1;
  padding: 15px 0;
  text-align: center;
  color: #fff;
  font-size: 14px;
}

/* トップページ---------------------- */

/* ヘッダー------------------------- */

.header-wrap {
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}

@media screen and (min-width: 1025px) {
  .header-wrap {
    display: flex !important;
  }

  .header-wrap,
  .header-wrap a {
    opacity: 1 !important;
  }
}

.logo {
  width: 220px;
}

.nav-wrap {
  width: 68%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}

.nav-list {
  display: flex;
  justify-content: space-between;
}

.list-item {
  padding: 0 19px;
}

.list-item a {
  color: #1a1a1a;
}

.reservation-wrap {
  display: flex;
}

.reservation {
  width: 100px;
  font-size: 12px;
  padding-top: 8px;
  text-align: center;
}

.reserve-link {
  color: #fff;
  display: inline-block;
}

.reservation img {
  width: 45px;
  height: 45px;
}

.tel {
  background-color: #a5b3e0;
}

.online {
  background-color: #5871c1;
}

/* メインビジュアル------------------------- */

.mv img {
  height: 100vh;
  object-fit: cover;
}

.main-copy {
  color: #a5b3e0;
  position: absolute;
  top: 40%;
  left: 10%;
  z-index: 3;
}

.copy-en {
  font-size: 60px;
  font-family: "Waseem";
}

.copy-ja {
  font-size: 24px;
  font-family: "筑紫B丸ゴシック";
}

/* インフォメーション------------------- */

.info-wrap {
  max-width: 840px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  padding: 80px 0;
}

.info-table th {
  padding: 10px;
}

.info-table td {
  text-align: left;
  padding-left: 30px;
}

.info-p-mid {
  font-size: 20px;
  text-transform: uppercase;
}

.info-p-small {
  font-size: 14px;
  text-align: center;
}

/* features--------------------------- */

.feature {
  display: flex;
  background: linear-gradient(90deg,
      transparent 0%,
      transparent 40%,
      #ebf0fd 40%,
      #ebf0fd 100%);
  width: 100%;
  margin-top: 80px;
}

.feature-content {
  max-width: 550px;
  padding: 40px;
  padding-left: 0;
}

.feature-image-wrap {
  max-width: 55%;
  width: 200%;
  position: relative;
}

.feature-image img {
  width: 100%;
  object-fit: cover;
  margin: -80px;
  height: auto;
  transform: scale(-1, 1);
}

.feature-title {
  width: 50%;
  position: absolute;
  top: 0;
  left: 40%;
  text-align: center;
}

.feature-title .ccm-add-block {
  left: 60%;
  top: -30px;
  position: relative;
}

.feature-title-en {
  font-size: 300%;
  text-transform: uppercase;
}

.feature-item {
  display: flex;
  align-items: flex-start;
  padding: 20px 0;
  color: #38497f;
}

.feature-exp {
  max-width: 450px;
}

.feature-even {
  padding-left: 80px;
}

.number-circle {
  display: inline-block;
  height: 60px;
  width: 60px;
  border-radius: 50%;
  line-height: 60px;
  text-align: center;
  background-color: #fff;
}

.number {
  max-width: 60px;
  width: 15%;
}

.feature-heading {
  font-size: 30px;
  padding-left: 20px;
  padding-bottom: 12px;
}

.feature-heading span {
  background: #fff;
  border-radius: 50%;
  padding: 5px 19px;
  margin-right: 10px;
}


/* 診療内容----------------------------- */

.care {
  position: relative;
}

.content-inner,
.care-inner {
  max-width: 1520px;
  width: 80%;
  margin: 0 auto;
  padding-top: 80px;
}

.care-bg {
  position: absolute;
  left: 0;
  width: 100%;
  height: 35%;
  top: 390px;
  z-index: -1;
  background-color: #5871c1;
}

.care-content {
  position: relative;
  max-width: 860px;
  margin: 30px auto;
  text-align: center;
}

.care-item {
  display: inline-block;
  width: 22%;
  box-shadow: 0 3px 6px #5871c1;
  border-radius: 30px;
  text-align: center;
  background-color: #fff;
  margin: 15px 10px;
  vertical-align: top;
}

.care-image {
  width: 50%;
  margin-bottom: 40px;
}

.care-heading {
  padding: 25px 0 30px;
  color: #38497f;
}

.link-button a {
  width: 250px;
  margin: 80px 0 0 auto;
  border-bottom: 3px solid #5871c1;
  position: relative;
  display: block;
  text-align: center;
  color: #5871c1;
  font-size: 20px;
  text-transform: uppercase;
}

.link-button a::after {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
  left: 225px;
  width: 30px;
  height: 3px;
  background: #5871c1;
  transform: rotate(45deg);
}

.link-button a:hover {
  left: 0.5em;
}

/* -------------------------------- */
/* 下層ページ------------------------ */
/* -------------------------------- */

/* base---------------------------- */

.page-title {
  padding-top: 180px;
  color: #fff;
  position: relative;
}

.page-title-en {
  font-family: "Waseem";
  font-size: 45px;
  text-align: center;
  margin-top: 5.82vw;
}

.page-title-ja {
  font-size: 20px;
  text-align: center;
}

/* 診療内容------------------------- */

.sub-mv01 {
  background-image: url(../images/sub-mv01.jpg);
  background-size: cover;
  background-position: center;
  background-color: rgba(0, 0, 0, 0.4);
  width: 100%;
  height: 440px;
  position: relative;
  z-index: 0;
}

.sub-mv01::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: inherit;
  filter: brightness(75%);
  z-index: -1;
}

.medical-item-wrap {
  display: flex;
  align-items: flex-start;
  position: relative;
  padding-top: 100px;
}

.medical-img {
  width: 545px;
  height: 100%;
  z-index: -1;
}

.img-odd {
  margin: 80px 0 0 -16px;
  order: 2;
}

.medical-img img {
  border: 1px solid #cbcbcb;
}

.medical-content {
  width: 52%;
  height: auto;
  background-color: #fff;
  box-shadow: 0 3px 6px #000;
}

.content-even {
  margin: 80px 0 0 -16px;
}

.medical-heading {
  font-size: 20px;
  font-weight: bold;
  color: #38497f;
  padding: 60px 0 40px 0;
  text-align: center;
}

.medical-p {
  padding: 0 48px 48px 48px;
  line-height: 2.1;
}

.container {
  background: linear-gradient(180deg,
      transparent 0%,
      transparent 40%,
      #ebf0fd 40%,
      #ebf0fd 75%,
      transparent 75%,
      transparent 100%);
  position: relative;
  z-index: 0;
}

/* 院長挨拶------------------------- */

.sub-mv02 {
  background-image: url(../images/sub-mv02.jpg);
  background-size: cover;
  background-position: right 35% top 30%;
  width: 100%;
  height: 440px;
  position: relative;
  z-index: 0;
}

.sub-mv02::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: inherit;
  filter: brightness(75%);
  z-index: -1;
}

.greeting-heading {
  font-size: 20px;
  font-weight: bold;
  color: #38497f;
  margin-bottom: 0;
  padding-left: 0;
  padding-bottom: 20px;
  border: 0;
}

.greeting-p,
.about-sample-p {
  line-height: 2.1;
}

.about-sample {
  margin-top: 50px;
}

.about-sample-heading {
  font-size: 18px;
  color: #7994ea;
}

.docter-career-wrap {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
}

.career-heading {
  font-size: 20px;
  color: #38497f;
  padding: 25px 0;
}

.career-year {
  padding: 5px 20px 5px 0;
}

.career-bottom-p {
  padding-bottom: 10px;
}

.docter-img {
  width: 60%;
}

/* 院内紹介------------------------- */

.sub-mv03 {
  background-image: url(../images/sub-mv03.jpg);
  background-size: cover;
  background-position: right 35% top 45%;
  width: 100%;
  height: 440px;
  position: relative;
  z-index: 0;
}

.sub-mv03::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: inherit;
  filter: brightness(75%);
  z-index: -1;
}

.about-wrap {
  margin-top: 90px;
}

.about-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.about-item:nth-child(even) {
  flex-direction: row-reverse;
}

.about-item-image img {
  border-radius: 50%;
}

h2 {
  background-color: #38497f;
  margin-bottom: 16px;
  padding: 12px;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  h2 {
    padding: 8px;
    font-size: 20px;
  }
}

h3 {
  font-size: 20px;
  margin-bottom: 16px;
  padding-left: 8px;
  padding-bottom: 8px;
  font-weight: bold;
  border-left: 8px solid;
  border-bottom: 1px solid;
}

@media screen and (max-width: 767px) {
  h3 {
    font-size: 18px;
  }
}

h4 {
  color: #38497f;
  font-size: 20px;
  padding-bottom: 25px;
  font-weight: bold;
}

.about-item-content {
  max-width: 500px;
}

.odd {
  margin-left: 50px;
}

.even {
  margin-right: 50px;
}

/* アクセス------------------------- */

.sub-mv04 {
  background-image: url(../images/sub-mv04.jpg);
  background-size: cover;
  background-position: right 10% bottom 10%;
  width: 100%;
  height: 440px;
  position: relative;
  z-index: 0;
}

.sub-mv03::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: inherit;
  filter: brightness(75%);
  z-index: -1;
}

.access-address {
  font-size: 24px;
  padding-top: 30px;
  padding-bottom: 5px;
  text-align: center;
}

.fa-map-marker-alt {
  margin-right: 20px;
}

.access-wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 55px;
}

.main-map iframe {
  aspect-ratio: 16 / 9;
}

.access-howto {
  margin-right: 20px;
}

.access-image01 {
  width: 23%;
  margin-right: 20px;
}

.access-image02 {
  width: 45%;
}

.howto-heading {
  color: #38497f;
  font-size: 20px;
  padding-bottom: 20px;
}

.howto-p {
  padding-bottom: 30px;
}

/* ----------------------------------------------- */
/* メディアクエリ ------------------------------*/
/* ----------------------------------------------- */

@media screen and (max-width: 767px) {
  /* ------------------------------------- */
  /* sp base--------------------------------- */
  /* ------------------------------------- */

  .section-title {
    font-size: 40px;
  }

  .section-title span {
    font-size: 14px;
    color: #38497f;
    text-align: center;
  }

  .section-inner {
    padding: 0 2.6vw;
  }

  .section-subtitle {
    color: #38497f;
    text-align: center;
  }

  .pc-hide {
    display: block;
  }

  .sp-hide {
    display: none;
  }

  .page-title {
    padding-top: 100px;
    bottom: 37% !important;
  }

  .page-title-en {
    font-size: 40px;
  }

  .page-title-ja {
    font-size: 16px;
  }

  .sub-mv01,
  .sub-mv02,
  .sub-mv03,
  .sub-mv04 {
    height: 270px;
  }

  .schedule-time {
    border-right: 2px solid #7994ea;
    padding: 4px;
    text-align: center;
    font-size: 80%;
    white-space: nowrap;
  }

  .scgedule-th {
    padding: 8px;
  }

  .schedule-td {
    padding: 0;
  }

  /* ヘッダー ------------------------------*/

  .sp-header-logo {
    height: 75px;
    text-align: center;
  }

  .sp-logo {
    width: 200px;
    display: inline-block;
    margin-top: 10px;
  }

  .header-wrap {
    display: none;
    position: static;
    width: 100vw;
    height: calc(100vh - 75px);
    background-color: #ebf0fd;
    position: relative;
    z-index: 10;
  }

  .nav-wrap {
    width: 100%;
    flex-direction: column;
    justify-content: center;
  }

  .nav-list {
    flex-direction: column;
    text-align: center;
  }

  .list-item {
    padding: 15px 0;
  }

  .list-item a {
    color: #36497e;
  }

  .sp-reserve-wrap {
    width: 100%;
    display: flex;
    justify-content: space-around;
    margin-top: 60px;
    margin-bottom: 50px;
  }

  .sp-reserve {
    width: 35%;
    background-color: #36497e;
    color: #fff;
    border: 1px solid #36497e;
    padding: 10px;
    text-align: center;
    font-size: 11px;
  }

  .reserve-link img {
    width: 45px;
    height: 45px;
  }

  /* ハンバーガーメニュー */
  .burger-btn {
    display: block;
    position: absolute;
    top: 2vh;
    right: 4vw;
    cursor: pointer;
    z-index: 11;
    width: 46px;
    height: 46px;
  }

  .burger-btn .bar {
    display: block;
    height: 3px;
    width: 30px;
    background-color: #36497e;
    margin: 9px;
  }

  .bar-top {
    margin-bottom: 8px;
  }

  .bar-mid {
    margin-bottom: 8px;
  }

  .burger-btn.active .bar-top {
    transform: rotate(45deg) translate(9px, 8px);
    transition: 0.3s;
  }

  .burger-btn.active .bar-mid {
    opacity: 0;
    transition: 0.3s;
  }

  .burger-btn.active .bar-bottom {
    transform: rotate(-45deg) translate(9px, -8px);
    transition: 0.3s;
  }

  body.noscroll {
    overflow: hidden;
  }

  /* フッター ------------------------------*/

  .footer {
    margin-top: 80px;
  }

  .footer-inner {
    padding: 0 2.6vw;
    margin: 0 auto;
  }

  .footer-info-wrap {
    display: block;
    padding-top: 45px;
    padding-bottom: 45px;
    text-align: center;
  }

  .footer-info-heading {
    color: #38497f;
    font-size: 20px;
    padding-bottom: 25px;
  }

  .footer-infp-p {
    padding-bottom: 19px;
  }

  .footer-info {
    padding-bottom: 25px;
  }

  .footer-schedule {
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .footer-schedule::-webkit-scrollbar {
    display: none;
  }

  .schedule-table {
    margin: 0 auto;
  }

  .footer-address-wrap {
    display: block;
    padding: 25px 0 35px 0;
  }

  .footer-map {
    width: 98%;
    height: 230px;
    margin-bottom: 25px;
  }

  .footer-map iframe {
    aspect-ratio: 16/9;
    width: 100%;
    height: 100%;
  }

  .footer-addres {
    width: 230px;
    box-shadow: 0px 3px 6px #000;
    padding: 25px 30px;
    text-align: center;
    margin: 0 auto;
  }

  .adress-heading {
    color: #38497f;
    font-family: "Waseem";
    font-size: 16px;
  }

  .adress-sub-heading {
    color: #38497f;
    font-size: 10px;
    padding-bottom: 35px;
  }

  .footer-address-p-wrap {
    padding: 0 25px;
  }

  .footer-address-p-wrap p {
    padding-bottom: 16px;
  }

  .footer-address-p-wrap p:last-child {
    padding-bottom: 0;
  }

  .footer-bottom {
    /*height: 54px;*/
  }

  .footer-nav ul {
    display: none;
  }

  small {
    display: block;
    padding-top: 15px;
  }

  /* MV ------------------------------*/

  .main-copy {
    position: absolute;
    top: 70%;
    left: 10%;
  }

  .copy-en {
    font-size: 40px;
  }

  .copy-ja {
    font-size: 16px;
  }

  /* インフォメーション ------------------------------*/

  .info-wrap {
    display: block;
    text-align: center;
    padding: 30px 0;
  }

  .info-table-wrap {
    margin: 0 auto;
  }

  .info-table {
    margin: 0 auto;
  }

  /* features ------------------------------*/

  .feature {
    display: block;
    background: #ebf0fd;
    width: 100%;
    margin-top: 80px;
  }

  .feature-image-wrap {
    max-width: 95%;
    width: 200%;
    position: relative;
  }

  .feature-content {
    padding: 80px 10px 40px 10px;
    margin: 0 auto;
  }

  .feature-title {
    width: 50%;
    position: absolute;
    top: -10%;
    left: 40%;
    text-align: center;
  }

  .feature-title-en {
    font-size: 34px;
    text-transform: uppercase;
  }

  /* hospital care ------------------------------*/

  .care {
    position: relative;
  }

  .care-item {
    width: 41%;
    margin-bottom: 19px;
    min-height: 200px;
  }

  .care-image {
    width: 50%;
  }

  .care-bg {
    position: absolute;
    left: 0;
    width: 100%;
    height: 32%;
    top: 280px;
    z-index: -1;
    background-color: #5871c1;
  }

  .link-button a {
    width: 175px;
    margin: 80px 0 0 auto;
    font-size: 14px;
  }

  .link-button a::after {
    content: "";
    display: block;
    position: absolute;
    top: 45%;
    left: 149px;
    width: 30px;
    height: 3px;
    background: #5871c1;
    transform: rotate(45deg);
  }

  /* ------------------------------------- */
  /* 下層ページ--------------------------------- */
  /* ------------------------------------- */

  /* 診療内容--------------------------------- */
  .medicalcare {
    margin: 30px;
  }

  .medical-item-wrap {
    display: flex;
    flex-direction: column;
    margin: 0px;
  }

  .medical-img img {
    border-radius: 0;
  }

  .item-wrap-odd {
    display: block;
  }

  .medical-img {
    width: 100%;
  }

  .img-odd {
    margin: 0;
    position: relative;
    z-index: -1;
  }

  .medical-content {
    width: 100%;
    border-radius: 0;
  }

  .content-even {
    position: relative;
    margin: 0;
  }

  .medical-heading {
    font-size: 16px;
    padding: 13px 0;
    text-align: center;
  }

  .medical-p {
    font-size: 14px;
    padding: 0 9px 9px 9px;
    line-height: 2.1;
  }

  /* 院長挨拶--------------------------------- */

  .greeting-content {
    margin-top: 90px;
  }

  .greeting-heading {
    font-size: 18px;
    padding-bottom: 10px;
  }

  .greeting-p,
  .about-sample-p {
    line-height: 2.1;
  }

  .about-sample {
    margin-top: 35px;
  }

  .about-sample-heading {
    padding-bottom: 10px;
  }

  .docter-career-wrap {
    margin-top: 35px;
    flex-direction: column-reverse;
  }

  .career-heading {
    font-size: 18px;
    padding: 20px 0;
  }

  .docter-img {
    width: 100%;
  }

  /* 院内紹介--------------------------------- */

  .about-wrap {
    display: block;
  }

  .about-item {
    display: block;
  }

  .even,
  .odd {
    margin: 0 auto;
  }

  .about-item-content {
    padding-bottom: 20px;
  }

  h4 {
    font-size: 18px;
    text-align: center;
    padding: 20px 0;
  }

  /* アクセス--------------------------------- */

  .access-address {
    font-size: 18px;
    padding-top: 30px;
    padding-bottom: 5px;
    text-align: center;
  }

  .access-wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 55px;
  }

  .access-howto {
    margin-right: 0;
  }

  .howto-heading {
    font-size: 18px;
    padding-bottom: 10px;
  }

  .howto-p {
    padding-bottom: 30px;
  }
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
  /* ------------------------------------- */
  /* tablet base--------------------------------- */
  /* ------------------------------------- */

  .mv img {
    width: 100vw;
    height: auto;
  }

  .section-title {
    font-size: 48px;
  }

  .section-title span {
    font-size: 28px;
    color: #38497f;
    text-align: center;
  }

  .section-inner {
    width: 100%;
    padding: 0 2.6vw;
    box-sizing: border-box;
  }

  .medicalcare .section-inner {
    width: 48%;
    padding: 0 2.6vw;
    box-sizing: border-box;
  }

  .section-subtitle {
    color: #38497f;
    text-align: center;
    font-size: 28px;
  }

  .pc-hide {
    display: block;
  }

  .sp-hide {
    display: none;
  }

  .page-title {
    padding-top: 100px;
    bottom: 37% !important;
  }

  .page-title-en {
    font-size: 40px;
  }

  .page-title-ja {
    font-size: 16px;
  }

  .sub-mv01,
  .sub-mv02,
  .sub-mv03,
  .sub-mv04 {
    height: 270px;
  }

  .schedule-time {
    border-right: 2px solid #7994ea;
    padding: 8px;
    text-align: center;
    font-size: 20px;
  }

  .scgedule-th {
    padding: 8px;
    font-size: 20px;
  }

  .schedule-td {
    padding: 0;
    font-size: 20px;
  }

  /* ヘッダー ------------------------------*/

  .sp-header-logo {
    height: 75px;
    text-align: center;
  }

  .sp-logo {
    width: 200px;
    display: inline-block;
    margin-top: 20px;
  }

  .header-wrap {
    display: none;
    position: static;
    width: 100vw;
    height: calc(100vh - 75px);
    background-color: #ebf0fd;
    position: relative;
    z-index: 10;
  }

  .nav-wrap {
    width: 100%;
    flex-direction: column;
    justify-content: center;
  }

  .nav-list {
    flex-direction: column;
    text-align: center;
  }

  .list-item {
    padding: 15px 0;
  }

  .list-item a {
    color: #36497e;
    font-size: 32px;
  }

  .sp-reserve-wrap {
    width: 100%;
    display: flex;
    justify-content: space-around;
    margin-top: 60px;
    margin-bottom: 50px;
  }

  .sp-reserve {
    background-color: #36497e;
    color: #fff;
    width: 35%;
    border: 1px solid #36497e;
    padding: 10px;
    text-align: center;
    font-size: 11px;
  }

  .reserve-link {
    font-size: 20px;
  }

  .reserve-link img {
    width: 45px;
    height: 45px;
  }

  /* ハンバーガーメニュー */
  .burger-btn {
    display: block;
    position: absolute;
    top: 2vh;
    right: 4vw;
    cursor: pointer;
    z-index: 11;
    width: 46px;
    height: 46px;
  }

  .burger-btn .bar {
    display: block;
    height: 3px;
    width: 30px;
    background-color: #36497e;
    margin: 9px;
  }

  .bar-top {
    margin-bottom: 8px;
  }

  .bar-mid {
    margin-bottom: 8px;
  }

  .burger-btn.active .bar-top {
    transform: rotate(45deg) translate(9px, 8px);
    transition: 0.3s;
  }

  .burger-btn.active .bar-mid {
    opacity: 0;
    transition: 0.3s;
  }

  .burger-btn.active .bar-bottom {
    transform: rotate(-45deg) translate(9px, -8px);
    transition: 0.3s;
  }

  body.noscroll {
    overflow: hidden;
  }

  /* フッター ------------------------------*/

  .footer {
    margin-top: 80px;
  }

  .footer-inner {
    padding: 0 2.6vw;
    margin: 0 auto;
  }

  .footer-info-wrap {
    display: block;
    padding-top: 45px;
    padding-bottom: 45px;
    text-align: center;
  }

  .footer-info-heading {
    color: #38497f;
    font-size: 32px;
    padding-bottom: 25px;
  }

  .footer-infp-p {
    padding-bottom: 19px;
    font-size: 20px;
  }

  .footer-info {
    padding-bottom: 25px;
  }

  .footer-schedule {
    overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .footer-schedule::-webkit-scrollbar {
    display: none;
  }

  .schedule-table {
    margin: 0 auto;
  }

  .footer-address-wrap {
    display: block;
    padding: 25px 0 35px 0;
  }

  .footer-map {
    width: 100%;
    height: auto;
    margin-bottom: 25px;
  }

  .footer-map iframe {
    aspect-ratio: 16/9;
    width: 100%;
    height: 100%;
  }

  .footer-addres {
    width: 100%;
    box-shadow: 0px 3px 6px #000;
    padding: 25px 30px;
    text-align: center;
    margin: 0 auto;
    box-sizing: border-box;
  }

  .adress-heading {
    color: #38497f;
    font-family: "Waseem";
    font-size: 24px;
  }

  .adress-sub-heading {
    color: #38497f;
    font-size: 16px;
    padding-bottom: 35px;
  }

  .footer-address-p-wrap {
    padding: 0 25px;
  }

  .footer-address-p-wrap p {
    padding-bottom: 16px;
  }

  .footer-address-p-wrap p:last-child {
    padding-bottom: 0;
  }

  .footer-bottom {
    /*height: 54px;*/
  }

  .footer-nav ul {
    display: none;
  }

  small {
    display: block;
    padding-top: 15px;
  }

  /* MV ------------------------------*/

  .main-copy {
    position: absolute;
    top: 70%;
    left: 10%;
  }

  .copy-en {
    font-size: 40px;
  }

  .copy-ja {
    font-size: 16px;
  }

  /* インフォメーション ------------------------------*/

  .info-wrap {
    display: block;
    text-align: center;
    padding: 30px 0;
  }

  .info-table-wrap {
    margin: 0 auto;
  }

  .info-table {
    margin: 0 auto;
  }

  /* features ------------------------------*/

  .feature {
    display: block;
    background: #ebf0fd;
    width: 100%;
    margin-top: 80px;
  }

  .feature-image-wrap {
    max-width: 95%;
    width: 200%;
    position: relative;
  }

  .feature-content {
    padding: 80px 10px 40px 10px;
    margin: 0 auto;
  }

  .feature-title {
    width: 50%;
    position: absolute;
    top: -10%;
    left: 40%;
    text-align: center;
  }

  .feature-title-en {
    font-size: 48px;
    text-transform: uppercase;
  }

  .feature-image img {
    margin: -80px;
    width: 80%;
  }

  /* hospital care ------------------------------*/

  .care {
    position: relative;
  }

  .care-item {
    width: 28%;
    margin-bottom: 19px;
    min-height: 200px;
  }

  .care-image {
    width: 50%;
  }

  .care-bg {
    position: absolute;
    left: 0;
    width: 100%;
    height: 32%;
    top: 300px;
    z-index: -1;
    background-color: #5871c1;
  }

  .link-button a {
    width: 175px;
    margin: 80px 0 0 auto;
    font-size: 14px;
  }

  .link-button a::after {
    content: "";
    display: block;
    position: absolute;
    top: 45%;
    left: 149px;
    width: 30px;
    height: 3px;
    background: #5871c1;
    transform: rotate(45deg);
  }

  /* ------------------------------------- */
  /* 下層ページ--------------------------------- */
  /* ------------------------------------- */

  /* 診療内容--------------------------------- */

  .container {
    display: flex;
    flex-wrap: wrap;
  }

  .medicalcare {
    margin: 30px;
  }

  .medical-item-wrap {
    display: flex;
    flex-direction: column;
    margin: 0px;
  }

  .medical-img img {
    border-radius: 0;
  }

  .item-wrap-odd {
    display: block;
  }

  .medical-img {
    width: 100%;
  }

  .img-odd {
    margin: 0;
    position: relative;
    z-index: -1;
  }

  .medical-content {
    width: 100%;
    border-radius: 0;
  }

  .content-even {
    position: relative;
    margin: 0;
  }

  .medical-heading {
    font-size: 24px;
    padding: 16px 0;
    text-align: center;
  }

  .medical-p {
    font-size: 16px;
    padding: 0 12px 12px 12px;
    line-height: 1.8;
  }

  /* 院長挨拶--------------------------------- */

  .greeting-content {
    margin-top: 90px;
  }

  .greeting-heading {
    font-size: 18px;
    padding-bottom: 10px;
  }

  .greeting-p,
  .about-sample-p {
    line-height: 2.1;
  }

  .about-sample {
    margin-top: 35px;
  }

  .about-sample-heading {
    padding-bottom: 10px;
  }

  .docter-career-wrap {
    margin-top: 35px;
    flex-direction: column-reverse;
  }

  .career-heading {
    font-size: 18px;
    padding: 20px 0;
  }

  .docter-img {
    width: 100%;
  }

  /* 院内紹介--------------------------------- */

  .about-wrap {
    display: block;
  }

  .about-item {
    display: block;
  }

  .even,
  .odd {
    margin: 0 auto;
  }

  .about-item-content {
    padding-bottom: 20px;
  }

  h4 {
    padding: 20px 0;
    text-align: left;
  }

  /* アクセス--------------------------------- */

  .access-address {
    font-size: 18px;
    padding-top: 30px;
    padding-bottom: 5px;
    text-align: center;
  }

  .access-wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 55px;
  }

  .access-howto {
    margin-right: 0;
  }

  .howto-heading {
    font-size: 18px;
    padding-bottom: 10px;
  }

  .howto-p {
    padding-bottom: 30px;
  }
}


/*コンテンツ横並び*/
.content_left {
  float: left;
  width: 48%;
}

.content_right {
  float: right;
  width: 48%;
}

@media screen and (max-width: 767px) {
  .content_left {
    float: none;
    width: 100%;
  }

  .content_right {
    float: none;
    width: 100%;
  }

}

.monshin_btn {
  width: 300px;
}

.monshin_btn a {
  display: block;
  width: 100%;
  background-color: #fb772a;
  text-align: center;
  border-radius: 20px;
  color: #fff;
  padding: 5px 0;
}

.medical-content-1column {
  width: 1020px;
  margin-inline: auto;
}

@media screen and (max-width: 1024px) and (min-width: 768px) {
  .medical-content-1column {
    width: 100%;
    margin-inline: auto;
  }
}

@media screen and (max-width: 767px) {
  .medical-content-1column {
    width: 100%;
    margin-inline: auto;
  }
}

/* ------------------------------------- */
/* ConcreteCMS--------------------------------- */
/* ------------------------------------- */
.ccm-ui .tooltip-inner {
  background-color: #444;
}

.ccm-panel-detail {
  display: block !important;
}

.collapse:not(.show) {
  display: none;
}