@media screen and (max-width: 767px) {
  .l-page {
    padding-top: 17.3vw;
  }
}

.p-page-hdr {
  background: var(--accent);
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-page-hdr {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding: 20px 80px;
    min-height: 210px;
  }
}
@media screen and (max-width: 767px) {
  .p-page-hdr {
    padding: 8vw var(--sp-pad);
    margin-top: -20px;
  }
}
.p-page-hdr__ttl {
  font-weight: 500;
  font-size: 4rem;
  letter-spacing: 3px;
}
@media screen and (max-width: 767px) {
  .p-page-hdr__ttl {
    font-size: 7vw;
  }
}
.p-page-hdr__en {
  font-size: 1.5rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-page-hdr__en {
    font-size: 3.2vw;
  }
}

.p-page-hdr-images {
  background: 50% 50%/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-page-hdr-images {
    height: 410px;
    padding-top: 160px;
  }
}
@media screen and (max-width: 767px) {
  .p-page-hdr-images {
    padding: 15.0923076923vw 5.4102564103vw 14.2923076923vw 5.4102564103vw;
  }
}

.p-page-hdr-images .p-page-hdr__inner {
  text-align: center;
  color: #fff;
}

.p-page-hdr-images .p-page-hdr__ttl {
  /*font-weight: normal;*/
  text-shadow: 0px 0px 10px rgba(129, 129, 128, 1);
}
.p-page-hdr-images .p-page-hdr__en {
  text-shadow: 0px 0px 10px rgba(129, 129, 128, 1);
}

.p-page-hdr-images.is-about {
  background-image: url("../../img/page/about/bg.jpg");
}
.p-page-hdr-images.is-outline {
  background-image: url("../../img/page/about/outline/bg.jpg");
}
.p-page-hdr-images.is-facility {
  background-image: url("../../img/page/about/facility/bg.jpg");
}
.p-page-hdr-images.is-service {
  background-image: url("../../img/page/service/bg.jpg");
}
.p-page-hdr-images.is-price {
  background-image: url("../../img/page/price/bg.jpg");
}
.p-page-hdr-images.is-recruit {
  background-image: url("../../img/page/recruit/bg.jpg");
}
.p-page-hdr-images.is-privacy {
  background-image: url("../../img/page/privacy/bg.jpg");
}
.p-page-hdr-images.is-countermeasure {
  background-image: url("../../img/page/countermeasure/bg.jpg");
}
.p-page-hdr-images.is-sitemap {
  background-image: url("../../img/page/sitemap/bg.jpg");
}


/******************************
 * util other
 ******************************/
@media screen and (min-width: 768px) {
  .u-pc-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .u-pc-row.is-cewnter {
    justify-content: center;
  }
  .u-pc-row.is-btween {
    justify-content: space-between;
  }
  .u-pc-row.is-align-c {
    align-items: center;
  }
}


/******************************
 * 当院について
 ******************************/
 
 /*ごあいさつ*/
 .u-fix-w-s .dr dt {
   color: #fff;
   background-color: #22475C;
   border-radius: 6px;
   display: inline-block;
   padding: 6px 12px 3px 12px;
   line-height: 1.1;
   font-size: 1.5rem;
 }
 
 .u-fix-w-s .dr dd {
   font-size: 3.1rem;
   letter-spacing: 4px;
   font-weight: 500;
 }
 .u-fix-w-s .dr dd small {
   font-size: 1.5rem;
   letter-spacing: 0;
 }
 
 .u-fix-w-s .dr-profile dl dt {
   color: #22475C;
   font-weight: bold;
   margin-bottom: 10px;
 }
 
@media screen and (max-width: 767px) {
  .u-fix-w-s .dr dt {
   padding: 6px 12px 6px 12px;
 }
 .u-fix-w-s .dr dd {
   font-size: 2.9rem;
   line-height: 1.8;
 }
}
 
 /*先生に聞きたい！Q＆A*/
 .u-col-3-u.qa dl {
   margin-bottom: 50px;
 }
 
 .u-col-3-u.qa dt {
   font-size: 1.9rem;
   color: #fff;
   font-weight: 500;
   background-color: #A88A6C;
   border-radius: 100px;
   padding: 7px 4px 8px 15px;
   margin-bottom: 10px;
 }
 
.u-col-3-u.qa dt span {
   background-color: #E77627;
   width: 30px;
   height: 30px;
   border-radius: 50%;
   display: inline-block;
   text-align: center;
   line-height: 1.5;
}

@media screen and (max-width: 767px) {
 .u-col-3-u.qa dl {
   margin-bottom: 40px;
 }
}

/*========================================
  アクセス
========================================*/
.p-map iframe {
  width: 100%;
  height: 596px;
}
@media screen and (max-width: 767px) {
  .p-map iframe {
    height: 116.9vw;
  }
}

/*========================================
  診療案内
========================================*/

table.price-a th {
  width: 180px;
}
table.price-b th {
  width: 300px;
}
table.price-c th {
  width: 190px;
}
table.price-d th {
  width: 160px;
}
table.price-e th {
  width: 220px;
}
table.price-f th {
  width: 170px;
}


/*========================================
  初診の方
========================================*/

.p-list-step {
  margin-top: 50px;
}

.p-list-step .p-btn-b {
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .p-list-step {
  }
}
.p-list-step__item {
  position: relative;
  background: #eee;
  padding: 1.875em;
  border-radius: 10px;
  list-style: none;
}
.p-list-step__item.way1 {
  padding: 1.475em 1.875em;
}
.p-list-step__item:not(:last-child) {
  margin-bottom: 40px;
}
.p-list-step__item:not(:last-child)::after {
  position: absolute;
  left: 50%;
  bottom: -26px;
  transform: translateX(-50%);
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 48px 74px 0 74px;
  border-color: #eee transparent transparent transparent;
}
.p-list-step__count {
  color: #22475C;
}
.p-list-step__ttl {
  margin-bottom: 0.8em;
  font-weight: bold;
  text-indent: -1.2em;
  margin-left: 1.2em;
}

@media screen and (min-width: 768px) {
  .p-list-step__ttl {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-list-step__ttl {
    margin-bottom: 0.8em;
    font-size: 5.358974359vw;
  }

  .p-list-step__item {
    padding: 1.4em;
  }
  .p-list-step__item.way1 {
    padding: 1.4em;
  }
}
.p-list-step__txt {
  font-weight: bold;
  text-indent: -1.2em;
  margin-left: 1.2em;
}
@media screen and (min-width: 768px) {
  .p-list-step__txt {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 767px) {
  .p-list-step__txt {
    font-size: 4.358974359vw;
  }
}

.set-col {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
.set-col.is-col2 {
  justify-content: space-between;
}


/*========================================
  健康サポート
========================================*/
.support-menu {
  background-color: #eee;
  border-radius: 10px;
  padding: 42px;
}

@media screen and (max-width: 767px) {
  .support-menu {
    padding: 25px;
  }
}


/*========================================
  お知らせ
========================================*/

.under-news {
  border-top: 4px solid var(--accent);
  padding-top: 30px;
}
.under-news h2 {
  font-size: 2.7rem;
  font-weight: 500;
  padding-bottom: 50px;
  color: #22475C;
}
.under-news .time {
  font-size: 1.5rem;
  color: #555;
}

@media screen and (max-width: 767px) {
  .under-news h2 {
    font-size: 2.4rem;
  }
}

.under-news-list dl {
  border-top: 1px solid #ccc;
}
.under-news-list dl:last-child {
  border-bottom: 1px solid #ccc;
}

.under-news-list dl dt {
  width: 130px;
  display: inline-block;
  padding: 30px 0;
  color: #22475C;
}
.under-news-list dl dd {
  display: inline-block;
  padding: 30px 0;
}

@media screen and (max-width: 767px) {
  .under-news-list dl dt {
    display: block;
    padding-bottom: 0;
  }
  .under-news-list dl dd {
    display: block;
    padding-top: 0;
  }
}


/*========================================
  サイトマップ
========================================*/
.sitemap dl dt {
  font-weight: 500;
}

.sitemap dl dd {
  margin-left: 14px;
}

.sitemap dl dt a {
  display: block;
  width: 100%;
  background-color: #eee;
  padding: 8px 14px 6px 14px;
  border-radius: 10px;
}

.sitemap dl dt a:hover {
  text-decoration: underline;
}
.sitemap dl dd a:hover {
  text-decoration: underline;
}

.sitemap ul {
  margin-left: 14px;
}
.sitemap ul li:hover {
  text-decoration: underline;
}