@charset "utf-8";

/*========================
 見出し
=========================*/
#page-ttl {
    background-color: #d7f4ff;
}
#page-ttl h2 {
    height: 300px;
    line-height: 1.4;
    letter-spacing: 2px;
    text-align: center;
    background: url(../img/pages/menu-bg.png) no-repeat center center;
    background-size: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-shadow: 2px 2px 0 #edf7ff, -2px -2px 0 #edf7ff, -2px 2px 0 #edf7ff, 2px -2px 0 #edf7ff, 0px 2px 0 #edf7ff, 0 -2px 0 #edf7ff, -2px 0 0 #edf7ff, 2px 0 0 #edf7ff;
}
#page-ttl h2 .ja {
    display: block;
    font-size: 28px;
    font-weight: bold;
    font-family: "Zen Maru Gothic", sans-serif;
}
#page-ttl h2 .en {
    display: block;
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    color: #105a75;
    font-family: "Cabin", sans-serif;
}

/*========================
 下層ページ
=========================*/
/*===== #front-bnr =====*/
#front-bnr {
  padding: 60px 0 0;
}

/*===== [初めての方へ] =====*/
#first #about {
  padding: 80px 0;
}
#first #about h3 {
  font-size: 21px;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  border-top: 1px solid #056f93;
  border-bottom: 1px solid #056f93;
  padding: 10px 0;
  margin-bottom: 20px;
}
#first #about h3 span {
  display: block;
  font-size: 18px;
}
#first #about .box01 {
  background: url(../img/pages/first-img01.png) no-repeat top right;
  background-size: 100%;
  padding-top: 15px;
  text-shadow: 0 0 8px #fff;
  padding-bottom: 20px;
}
#first #about .box01 .txt {
  width: 50%;
  line-height: 1.8;
  margin-bottom: 25px;
  font-weight: bold;
}
#first #about .box01 .text {
  line-height: 1.8;
}
#first #about .box01 .sbox {
  margin-bottom: 25px;
}
#first #about .box01 .sbox h4 {
  line-height: 1.4;
  font-size: 17px;
  border-top: 1px solid #c03a6c;
  border-bottom: 1px solid #c03a6c;
  padding: 10px 0;
  font-weight: bold;
  background-color: #ffffff63;
  margin-bottom: 10px;
}
#first #about .box01 .sbox .text {
  font-weight: bold;
  font-size: 14px;
}
/*--- [#front] ---*/
#first #front {
    padding: 80px 0;
}
#first #front h3 {
    line-height: 1.4;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: #2695bc;
    margin-bottom: 35px;
}
#first #front .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
#first #front .box .img {
    width: 45%;
}
#first #front .box .text-box {
    width: 50%;
}
#first #front .box .text-box .text {
    line-height: 1.8;
    font-size: 16px;
}
/*--- [#flow] ---*/
#first #flow {
    padding: 80px 0;
    background-color: #daf1f5;
}
#first #flow .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background-color: #fff;
    border-radius: 10px;
    padding: 3%;
    margin-bottom: 15px;
}
#first #flow .box .icon {
    width: 70px;
}
#first #flow .box .text-box {
    width: calc(97% - 70px);
}
#first #flow .box .text-box h4 {
    line-height: 1.4;
    font-size: 24px;
    font-weight: bold;
    color: #2891b7;
    margin-bottom: 10px;
}
#first #flow .box .text-box .text {
    margin-bottom: 0;
}
#first #flow .memo {
    background-color: #0aa9c4;
    border-radius: 10px;
    padding: 3% 3% 2%;
    margin-top: 35px;
}
#first #flow .memo h4 {
    line-height: 1.4;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 25px;
    border-bottom: 1px dashed #fff;
    padding-bottom: 7px;
}
#first #flow .memo ul {
    line-height: 1.4;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    list-style-type: disc;
    margin-left: 30px;
}
#first #flow .memo ul li {
    margin-bottom: 10px;
}
#first #flow .memo ul li span {
    color: #ffe72c;
}
/*--- [#yoyaku] ---*/
#first #yoyaku {
    padding: 80px 0;
}
#first #yoyaku ul {
    width: 100%;
    max-width: 780px;
    margin: 0 auto;
}
#first #yoyaku ul li a {
    display: block;
    margin-bottom: 15px;
}
#first #yoyaku ul li.tel {
  max-width: 500px;
  margin: 0 auto;
}
#first #yoyaku ul li .text-box .text {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 0;
}
/*--- [#faq] ---*/
#first #faq {
    padding: 80px 0;
    background-color: #daf1f5;
}
#first #faq dl {
    background-color: #fff;
    border-radius: 10px;
    line-height: 1.4;
    padding: 2%;
    margin-bottom: 15px;
}
#first #faq dl dt {
    font-size: 18px;
    font-weight: bold;
    color: #02849a;
    padding-bottom: 5px;
    border-bottom: 1px dashed #02849a;
    margin-bottom: 10px;
}
#first #faq dl dd {
    line-height: 1.8;
}
#first #faq dl dd span {
    font-weight: bold;
    color: #c87402;
}

/*===== [料金] =====*/
#price {
}
/*--- [#access] ---*/
#price #access {
    padding: 80px 0;
}
#price #access .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 15px;
}
#price #access .box .img {
    width: 45%;
}
#price #access .box table {
    width: 50%;
    line-height: 1.4;
}
#price #access .box table tr {
    border-bottom: 1px solid #a1a1a1;
}
#price #access .box table tr th {
    font-weight: bold;
    padding: 7px 2%;
}
#price #access .box table tr td {
    padding: 7px 2%;
}
#price #access table.time {
    width: 100%;
    line-height: 1.4;
    margin-bottom: 15px;
    text-align: center;
}
#price #access table.time tr {
}
#price #access table.time tr th {
    background-color: #36a6ce;
    border: 1px solid #02849a;
    color: #fff;
    padding: 8px 2%;
}
#price #access table.time tr td {
    background-color: #fff;
    border: 1px solid #02849a;
    padding: 8px 2%;
}
#price #access .text {
}
#price #access .gmap {
    width: 100%;
}
#price #access .gmap iframe {
    width: 100%;
    height: 350px;
}

/*--- [#price-list] ---*/
#price #price-list {
    padding: 60px 0;
}
#price #price-list .price-box {
    margin-bottom: 30px;
}
#price #price-list .price-box .sub-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
#price #price-list .price-box .sub-box .img {
    width: 35%;
}
#price #price-list .price-box .sub-box .txt-box {
    width: 60%;
}
#price #price-list .price-box table {
    width: 100%;
    line-height: 1.4;
    margin-bottom: 30px;
}
#price #price-list .price-box table tr {
}
#price #price-list .price-box table tr th {
    text-align: center;
    background-color: #e2e0e0;
    border: 1px solid #a7a7a7;
    padding: 15px 2%;
    vertical-align: middle;
}
#price #price-list .price-box table tr td {
    background-color: #fff;
    border: 1px solid #a7a7a7;
    text-align: center;
    padding: 15px 2%;
    vertical-align: middle;
}
#price #price-list .price-box table tr td.hx {
    text-align: center;
    background-color: #f3f3f3;
}
#price #price-list .konpon-box {
}
#price #price-list .konpon-box .front-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 30px;
}
#price #price-list .konpon-box .front-box .txt01 {
    width: 45%;
    background-color: #fff;
    border: 3px solid #36a6ce;
    border-radius: 10px;
    line-height: 1.4;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #36a6ce;
    padding: 20px 3%;
}
#price #price-list .konpon-box .front-box .or {
    width: 10%;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    color: #36a6ce;
}
#price #price-list .konpon-box .front-box .txt02 {
    width: 45%;
    background-color: #6fc1df;
    border: 3px solid #36a6ce;
    border-radius: 10px;
    line-height: 1.4;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #fff;
    padding: 20px 3%;
}
#price #price-list .konpon-box .box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 25px;
}
#price #price-list .min-hx {
    width: 100%;
    line-height: 1.4;
    font-size: 18px;
    font-weight: bold;
    border-bottom: 1px dashed #36a6ce;
    padding-bottom: 5px;
    margin-bottom: 15px;
}
#price #price-list .konpon-box .box .img {
    width: 35%;
}
#price #price-list .konpon-box .box .text-box {
    width: 60%;
}
#price #price-list .konpon-box .time-box {
}
#price #price-list .konpon-box .time-box .sbox {
    background-color: #d9f5ff;
    padding: 3% 3% 1%;
    margin-bottom: 15px;
}

/*===== [メニュー詳細] =====*/
#menu-page {
}
/*--- [#nayami] ---*/
#menu-page #nayami {
    padding: 60px 0 0;
}
#menu-page #nayami .box {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}
#menu-page #nayami .box h3 {
    line-height: 1.4;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 17px;
    letter-spacing: 2px;
}
#menu-page #nayami .box h3 span {
    color: #c71212;
    font-size: 35px;
}
#menu-page #nayami .box ul {
    border: 3px solid #000;
    border-radius: 15px;
    padding: 4%;
    line-height: 1.4;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 15px;
}
#menu-page #nayami .box ul li {
    background: url(../img/common/icon-check.png) no-repeat left top;
    padding: 2px 0 7px 35px;
    border-bottom: 2px dashed #5a5a5a;
    margin-bottom: 15px;
}
#menu-page #nayami .box ul li.last {
    margin-bottom: 0;
}
/*--- [#tbl-cnt] ---*/
#menu-page #tbl-cnt {
    padding: 60px 0;
}
#menu-page #tbl-cnt .box {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    border: 1px solid #36a6ce;
    background-color: #fff;
}
#menu-page #tbl-cnt .ttl {
    background-color: #36a6ce;
    line-height: 1.4;
    text-align: center;
    color: #fff;
    padding: 5px 2%;
}
#menu-page #tbl-cnt ul {
    line-height: 1.4;
    padding: 3%;
}
#menu-page #tbl-cnt ul li {
    font-size: 16px;
    background: url(../img/common/icon01.png) no-repeat left top;
    border-bottom: 1px solid #d4d4d4;
    padding: 2px 0 6px 30px;
    margin-bottom: 6px;
}
#menu-page #tbl-cnt ul li.last {
    margin-bottom: 0;
}
#menu-page #tbl-cnt ul li a {
}
/*--- [.cnt-box] ---*/
#menu-page .cnt-box {
    padding: 60px 0;
}
#menu-page .cnt-box .box {
}
#menu-page #cnt01 {
    background-color: #e8f8fe;
}
#menu-page #cnt02 {
}
#menu-page #cnt03 {
    background-color: #e8f8fe;
}
#menu-page #cnt04 {
}
#menu-page #cnt05 {
    background-color: #e8f8fe;
}

/*===== [メニュー一覧] =====*/
#menu {
}
#menu #menu-list {
    padding: 60px 0;
}
#menu #menu-list .list {
    display: flex;
    flex-wrap: wrap;
}
#menu #menu-list .list .box {
    width: 25%;
    padding: 0 1%;
    margin-bottom: 25px;
}
#menu #menu-list .list .box a {
    text-decoration: none;
}
#menu #menu-list .list .box a .img {
    margin-bottom: 15px;
}
#menu #menu-list .list .box a .txt {
    background: url(../img/common/icon03.png) no-repeat right 5px;
    background-size: 10px;
    padding: 2px 20px 2px 20px;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
}

/*===== [料金] =====*/
#price-page {
}
/*--- [料金表] ---*/
#price-page #price {
    padding: 60px 0;
}
#price-page #price .price-box {
    margin-bottom: 35px;
}
#price-page #price .price-box .price-list {
    width: 100%;
    line-height: 1.4;
}
#price-page #price .price-box .price-list tr {
}
#price-page #price .price-box .price-list tr th {
    border: 1px solid #0068b6;
    background-color: #3489c9;
    color: #fff;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    padding: 15px 2%;
}
#price-page #price .price-box .price-list tr td {
    border: 1px solid #0068b6;
    background-color: #fff;
    vertical-align: middle;
    text-align: center;
    padding: 15px 2%;
}

/*===== [患者様の声] =====*/
#voice {
}
#voice #voice-list {
    padding: 60px 0;
}
#voice #voice-list .list {
}
#voice #voice-list .list .box {
    border: 3px solid #36a6ce;
    background-color: #fff;
    padding: 3%;
    margin-bottom: 25px;
}
#voice #voice-list .list .box .ttl {
    width: 67%;
    float: right;
    line-height: 1.4;
    font-size: 18px;
    font-weight: bold;
    color: #02849a;
    background-color: #d7f4ff;
    padding: 10px 2%;
    margin-bottom: 15px;
}
#voice #voice-list .list .box .img {
    width: 30%;
    float: left;
}
#voice #voice-list .list .box .text-box {
    width: 67%;
    float: right;
    font-size: 14px;
}
#voice #voice-list .link {
    width: 232px;
    margin: 40px auto 0;
}
#voice #voice-list .link a {
    display: block;
    line-height: 1.4;
    text-decoration: none;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    background: #36a6ce;
    border-radius: 100px;
    padding: 10px 15px;
}
#voice #voice-list .link a span {
    display: block;
    padding: 5px 0;
    text-align: center;
}

/*===== [ブログ] =====*/
#blog {
}
/*--- [詳細] ---*/
#blog #blog-page {
    padding: 60px 0;
}
#blog #blog-page .blog-box {
}
#blog #blog-page .blog-box .day {
    color: #02849a;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 5px;
}
#blog #blog-page .blog-box .ttl {
    line-height: 1.4;
    font-size: 22px;
    font-weight: bold;
    padding-bottom: 10px;
    border-bottom: 1px solid #d3d3d3;
    margin-bottom: 20px;
}
#blog #blog-page .blog-box .box {
}
#blog #blog-page .blog-box .box .img {
    width: 100%;
    max-width: 640px;
    margin: 0 auto 20px;
}
#blog #blog-page .blog-box .box .text-box {
}
#blog #blog-page .blog-box .box .text-box p {
}
#blog #blog-page .link {
    width: 232px;
    margin: 40px auto 0;
}
#blog #blog-page .link a {
    display: block;
    line-height: 1.4;
    text-decoration: none;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    background: #36a6ce;
    background-size: 15px;
    border-radius: 100px;
    padding: 10px 15px;
}
#blog #blog-page .link a span {
    display: block;
    padding: 5px 0;
    text-align: center;
}
/*--- [一覧] ---*/
#blog #blog-list {
    padding: 60px 0;
}
#blog #blog-list .list {
    display: flex;
    flex-wrap: wrap;
}
#blog #blog-list .list .box {
    width: 25%;
    padding: 0 1%;
    margin-bottom: 25px;
}
#blog #blog-list .list .box a {
    text-decoration: none;
}
#blog #blog-list .list .box a .img {
    margin-bottom: 10px;
}
#blog #blog-list .list .box a .day {
    line-height: 1.4;
    color: #02849a;
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 1px;
    margin-bottom: 5px;
}
#blog #blog-list .list .box a .ttl {
    line-height: 1.4;
    font-size: 14px;
}

/*=========================
 ▼スタッフ紹介
==========================*/
#staff {
  margin: 80px 0;
}
#staff .staff-box {
  padding: 20px;
  border: 1px solid #3b3b3b;
  margin-bottom: 30px;
}
#staff .staff-box .box {
  padding-bottom: 10px;
}
#staff .staff-box .box .left {
  width: 38%;
  float: left;
  margin-bottom: 10px;
}
#staff .staff-box .box table {
  width: 57%;
  float: right;
}  
#staff .staff-box .box table a {
  color: #1abbe4;
}
#staff .staff-box .box table tr {
  border-bottom: 1px #6d4432 dashed;
  line-height: 1.4;
}
#staff .staff-box .box table th {
  color: #6d4432;
  font-weight: bold;
  width: 27%;
  padding: 10px 2%;
}
#staff .staff-box .box table td {
  padding: 10px 2%;
}
#staff .staff-box .text-box .hx {
  font-weight: bold;
  color: #36a6ce;
  border-bottom: 1px dashed #643200;
  margin-bottom: 10px;
  padding-bottom: 8px;
  font-size: 18px;
}

/* #writer */
#writer {
  max-width: 800px;
  margin: 60px auto 80px;
}
#writer .writer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 4%;
  border: 2px solid #36a6ce;
  border-radius: 20px;
}
#writer .writer-inner .hx {
  font-weight: bold;
  margin-bottom: 10px;
  line-height: 1.4;
  font-size: 20px;
}
#writer .writer-inner figure {
  width: 20%;
}
#writer .writer-inner .box {
  width: 75%;
  font-size: 18px;
}
#writer .writer-inner .box .name {
  border-bottom: 2px solid #eee;
  margin-bottom: 10px;
  padding-bottom: 5px;
}
#writer .writer-inner .box .link {
  text-align: right;
}
#writer .writer-inner .box .link a {
  color: #0d67d6;
}
#writer .writer-inner .box .name a {
  color: #0d67d6;
}

/*===============================================
    ■tablet 画面の横幅が768pxまで
===============================================*/
@media screen and (max-width: 768px) {
/*===== [見出し] =====*/
  #page-ttl h2 {
    height: 200px;
    background-size: 150px;
  }
/*===== [初めての方へ] =====*/
  #first #front .box {
    align-items: flex-start;
  }
/*===== [メニュー] =====*/
  #menu #menu-list .list .box {
    width: calc(100% / 3);
  }
}

/*===============================================
    ■smart 画面の横幅が480pxまで
===============================================*/
@media screen and (max-width: 480px) {
/*===== [見出し] =====*/
  #page-ttl h2 {
    height: 150px;
    background-size: 100px;
  }
  #page-ttl h2 .ja {
    font-size: 20px;
  }
  #page-ttl h2 .en {
    font-size: 13px;
  }
/*===== [初めての方へ] =====*/
  #first #about {
    padding: 40px 0;
  }
  #first #about h3 {
    font-size: 16px;
  }
  #first #about .box01 {
    padding-bottom: 0px;
  }
  #first #front {
    padding: 40px 0;
  }
  #first #front h3 {
    font-size: 20px;
    margin-bottom: 20px;
  }
  #first #front .box .img {
    width: 90%;
    max-width: 640px;
    margin: 0 auto 15px;
  }
  #first #front .box .text-box {
    width: 100%;
  }
  #first #flow {
    padding: 40px 0;
  }
  #first #flow .box {
    padding: 5%;
    flex-direction: column;
  }
  #first #flow .box .icon {
    width: 50px;
    margin: 0 auto 15px;
  }
  #first #flow .box .text-box {
    width: 100%;
  }
  #first #flow .box .text-box h4 {
    font-size: 20px;
    text-align: center;
  }
  #first #yoyaku {
    padding: 40px 0;
  }
  #first #yoyaku ul li {
    width: 85%;
    margin: 0 auto 15px;
  }
  #first #faq {
    padding: 40px 0 80px;
  }
  #first #faq dl {
    padding: 4%;
  }
/*===== [料金] =====*/
  #price #access {
    padding: 10px 0 40px;
  }
  #price #access .box .img {
    width: 90%;
    max-width: 600px;
    margin: 0 auto 15px;
  }
  #price #access .box table {
    width: 100%;
  }
  #price #price-list {
    padding: 30px 0;
  }
  #price #price-list .price-box .sub-box .img {
    width: 100%;
    margin-bottom: 15px;
  }
  #price #price-list .price-box .sub-box .txt-box {
    width: 100%;
  }
  #price #price-list .konpon-box .front-box {
    flex-direction: column;
  }
  #price #price-list .konpon-box .front-box .txt01,
  #price #price-list .konpon-box .front-box .txt02 {
    width: 90%;
    margin-bottom: 10px;
  }
  #price #price-list .konpon-box .front-box .or {
    margin-bottom: 10px;
  }
  #price #price-list .konpon-box .box .img {
    width: 100%;
    margin-bottom: 15px;
  }
  #price #price-list .konpon-box .box .text-box {
    width: 100%;
  }
/*===== [メニュー詳細] =====*/
  #menu-page #nayami {
    padding: 30px 0 0;
  }
  #menu-page #nayami .box h3 {
    font-size: 22px;
    letter-spacing: 0;
  }
  #menu-page #nayami .box h3 span {
    font-size: 22px;
  }
  #menu-page #tbl-cnt {
    padding: 40px 0;
  }
  #menu-page .cnt-box {
    padding: 40px 0;
  }
/*===== [メニュー] =====*/
  #menu #menu-list {
    padding: 30px 0;
  }
  #menu #menu-list .list .box {
    width: 50%;
  }
  #menu #menu-list .list .box a .img {
    margin-bottom: 8px;
  }
  #menu #menu-list .list .box a .txt {
    background: none;
    background-size: auto;
    padding: 0;
    font-size: 13px;
  }
/*===== [料金・アクセス] =====*/
  #price-page #price {
    padding: 30px 0;
  }
/*===== [患者様の声] =====*/
  #voice #voice-list {
    padding: 30px 0;
  }
  #voice #voice-list .list .box .ttl {
    width: 100%;
    float: none;
  }
  #voice #voice-list .list .box .img {
    float: none;
    width: 90%;
    max-width: 640px;
    margin: 0 auto 15px;
  }
  #voice #voice-list .list .box .text-box {
    width: 100%;
    float: none;
  }
/*===== [ブログ] =====*/
/*--- [詳細] ---*/
  #blog #blog-page {
    padding: 30px 0;
  }
/*--- [一覧] ---*/
  #blog #blog-list {
    padding: 30px 0;
  }
  #blog #blog-list .list .box {
    width: 50%;
  }
/*--------------- #staff -------------*/
  #staff {
    margin: 40px 0 80px;
  }
  #staff .staff-box {
    padding: 20px;
    border: 1px solid #3b3b3b;
    margin-bottom: 30px;
  }
  #staff .staff-box .box {
    margin-bottom: 20px;
  }
  #staff .staff-box .box .left {
    width: 70%;
    float: none;
    margin: 0 auto 10px;
  }
  #staff .staff-box .box table {
    width: 100%;
    float: none;
  }  
  #staff .staff-box .box table th {
    width: 30%;
  }
  #staff .staff-box .text-box .hx {
    font-size: 16px;
  }
/* #writer */
  #writer {
    padding: 0 2%;
    margin: 40px auto 80px;
  }
  #writer .writer-inner {
    display: block;
  }
  #writer .writer-inner figure {
    width: 50%;
    margin: 0 auto 10px;
  }
  #writer .writer-inner .box {
    width: auto;
  }
/*===== #front-bnr =====*/
  #front-bnr {
    padding: 30px 0 0;
  }
}