@charset "utf-8";
@media screen and (max-width:1165px){
  header {
    background: #153a76;
    padding: 33px 0 0 20px;
}
  header img.logo {
    height: 50px;
  }
  .ndr-btns li.btn-tel a span.tel{
    font-size: 24px;
  }
  .ndr-btns li a {
    padding: 12px 15px;
}
.ndr-btns li.btn-web a span.web{
  font-size: 23px;
}
.ndr-btns li.btn-web a span.web i {
  font-size: 20px;
  font-style: normal;
}
}
@media screen and (max-width:1000px){
  .ndr-btns{
    display: none;
  }
  header img.logo {
    height: auto;
    width: 260px;
  }
  a.btn-menu{
    width: 40px;
  }
  header{
    padding: 10px 0 0 10px;
    height: 55px;
  }
  header .right-area{
    right: 0;
    top: 0;
    height: 55px;
    display: block;
    gap: 20px;
  }
  a.btn-menu {
    width: 49px;
  }
  body{
    padding: 55px 0 0 0;
  }
  #btns{
    display: none;
  }
  footer #btns{
    background: none;
    width: 100%;
    display: block;
    padding: 0;
    position: fixed;
    bottom: 8px;
    left: 0;
  }
  footer #btns li{
    width: 50%;
  }
  section#btns ul {
    width: 100%;
    gap:0;
  }
  section#btns ul li a{
    border-radius: 0;
      height: 65px;
      width: 100%;
      padding: 15px;
  }
  main {
    padding-bottom: 0px;
  }
  section#btns ul li a span {
    display: block;
    font-size: 9px;
    line-height: 1.4em;
  }
  section#btns ul li a span.top-tel, section#btns ul li a span.top-web {
    font-size: 18px;
  }
  section#btns ul li a span.top-tel::before {
    height: 13px;
    width: 13px;
  }
  section#btns ul li a span.top-web::before {
    height: 14px;
    width: 20px;
    margin-right: 10px;
  }
  section#btns ul li a span.top-web i {
    font-size: 15px;
  }
body.page .kv{
  height: 200px;
}
body.page .kv h1{
  font-size: 30px;
  text-align: center;
}
body.page main{
  max-width: 100%;
  padding: 0 25px;
}
}
@media screen and (max-width:575px){
  div.contentarea h3{
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 1rem;
  }
  div.contentarea p{
    margin-bottom: 30px;
  }
  div.caseimagea div.case-beforeafterblock{
    display: block;
  }
  div.contentarea{
    max-width: 100%;
  }
  main.subpage{
    margin: 50px 0;
  }
  #mv .mv-content{
    display: none;
  }
  section#about{
    padding: 20px;
  }
  section#about .about-content{
    display: block;
  }
  section#about .about-content p{
    width: 100%;
    font-size: 16px;
    margin-bottom: 20px;
  }
  section#about img {
    width: 100%;
    position: relative;
    right: 0;
    bottom: 0;
    z-index: 0;
    height: auto;
    margin-bottom: 20px;
  }
  section h2 {
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    color: #153a76;
    margin-bottom: 10px;
    line-height: 1.6em;
}
  section h2 span {
    font-size: 10px;
  }
  section#about h3{
    font-size: 20px;
  }
  section#reason .reason-block h3 {
    font-size: 20px;
    margin-bottom: 30px;
    line-height: 1.6em;
}
section#reason .reason-block {
  width: 100%;
  padding: 20px;
}
section#reason .reason-block p,
.reason-content ul li p{
  font-size: 16px;
  margin-bottom: 30px;
}
.reason-content ul{
  display: block;
}
.reason-content ul li {
  width: 100%;
}
.reason-content ul li img {
  margin-bottom: 15px;
}
.reason-content ul li h3 {
  font-size: 22px;
  margin-bottom: 15px;
}
.flow-content ul li {
  display: block;
  padding-bottom: 30px;
}
.flow-content ul li:last-child{
  padding-bottom: 0;
}
.flow-content .left {
  width:100%;
  position: relative;
  padding-left: 40px;
}
.flow-content .right {
  width: 100%;
  padding-left: 9.72222vw;
}
.flow-content .left h3{
  font-size: 22px;
  margin-bottom: 10px;
}
.flow-content .left p {
  font-size: 16px;
  margin-bottom: 20px;
}
.flow-content .right img {
  margin-bottom: 20px;
}
section#flow{
  padding: 20px 20px 40px;
}
.flow-content .left .num {
  width: 30px;
  height: 30px;
  border-radius: 30px;
  line-height: 30px;
  font-size: 20px;
  left: 0;
  top: -3px;
  padding-left: 2px;
}
.flow-content ul li::before {
  left: 13px;
  border-left: 3px dotted #edb332;
}
section#merit .merit-content{
  display: block;
}
section#merit .merit-content .merit {
  width: 100%;
  margin-bottom: 20px;
}
section#merit .merit-content .merit .merit-block{
  padding: 20px;
}
.merit-block p{
  font-size: 16px;
}
.merit-block h3 {
  font-size: 22px;
  padding-left: 82px;
  color: #153a76;
  line-height: 1.6em;
  margin-bottom: 20px;
}
section#merit .merit-content .merit .merit-block .icon-merit {
  position: absolute;
  width: 100px;
  height: auto;
  top: 20px;
  left: -14px;
}
section#merit .merit-content .merit:last-child h3 {
  padding-top: 20px;
  margin-bottom: 30px;
}
.faq-content p {
  padding-left: 35px;
  line-height: 1.6em;
  min-height: 6.25vw;
}
p.question {
  font-size: 16px;
  margin-bottom: 15px;
  color: #153a76;
}
p.answer {
  font-size: 14px;
  margin-top: 14px;
}
section#recommend .block01 h3 {
  font-size: 16px;
  margin-bottom: 14px;
  line-height: 1.6em;
}
section#recommend .block01 p{
  font-size: 16px;
}
section#recommend .block01 {
  align-items: flex-start;
  padding: 20px;
}
section#recommend .block01 img {
  width: 40%;
}
section#recommend .block01 .right-wrap, section#recommend .block01 .left-wrap {
  width: 60%;
}

.menu{
  width: 100%;
}
.pc{
  display: none;
}
.sp{
  display: block;
}
section#reason {
  padding: 40px 0 60px;
}
footer section#btns{
  display: block;
  z-index: 999;
}
p.copyright {
  background: #153a76;
  color: #fff;
  text-align: center;
  padding: 20px;
  font-size: 12px;
  margin-bottom: 70px;
}
.expert-content, .casestudy-content, .price-content{
  gap: 20px;
  flex-direction: column;
}

.expert-content img,
.casestudy-content img,
.price-content img{
  width: 100%;
}

.expert-content h3,
.casestudy-content h3,
.price-content h3{
  font-size: 22px;
  margin-bottom: 10px;
}
.expert-content p,
.casestudy-content p,
.price-content p{
    font-size: 16px;
    margin-bottom: 20px;
}
.content-right{
  width: 100%;
}

/* 費用コンテンツ */
section#price p{
  font-size: 16px;
}
section#price table tr th, section#price table tr td{
  font-size: 16px;
  display: block;
  width: 100%;
}
#doctor{
  background:none;
  padding: 0;
}
#doctor .doctor-content{
  margin: 0;
  width: 100%;
  background: none;
}
#doctor .doctor-content p{
  font-size: 16px;
  padding: 20px;
}
.doctor-content p img{
  width: 60%;
  margin: 30px 0;
}
.doctor-content p span {
  font-size: 34px;
}
.doctor-content p span rt {
  font-size: 12px;
}
.doctor-content p span span{
  font-size: 14px;
  padding-right:20px;
}
section#reason img.img-reason {
  width: 100%;
}

.pc_only {
  display: none !important;
}
section#clinic-info{
  padding: 35px 0;
}
.f_info1{
  display: block;
  margin-bottom: 6%;
}
.f_info1 .box_l {
  width: 100%;
  margin-bottom: 40px;
}
.f_info1 .box_r {
  width: 100%;
}
.com_cliname dd{
  font-size: 125%;
  letter-spacing: .06em;
}
.com_add{
  font-size: 100%;
        line-height: 1.5;
        letter-spacing: .15em;
        margin-top: 2em;
    margin-bottom: 2em;
}
.com_acslist > li {
  font-size: 88%;
  letter-spacing: .1em;
  padding-left: 5em;
}
.com_acslist > li::before {
  width: 4em;
  height: 4em;
}
.com_acslist > li {
  font-size: 88%;
  letter-spacing: .1em;
  padding-left: 5em;
}
.f_info1 {
  display: block;
}
.com_timetable {
  padding: 10px 10px;
}
.com_timetable table{
  font-size: 12px;
}
.com_timetable table .ft_alata{
  font-size: 10px;
}
.com_link2 a{
  padding-right: 0;
}
div.beforeafterbody{
  display: block;
  width: 100%;
  padding: 20px 20px 0 20px;
}
div.beforeafterblock{
  width: 100%;
}
.table_design07{
  margin-top: 10px;
  margin-bottom: 30px;
}
p.beforeaftertext{
  width: 100%;
  padding: 20px;
  font-size: 16px;
  margin-bottom: 0;
}
p.beforeafterundertext{
  width: 100%;
  padding: 20px;
  font-size: 16px;
  margin-top: 0;
  line-height: 1.4em;
        font-weight: 300;
}
}
@media only screen and (min-width: 960px) {
  .sp_tb {
      display: none !important;
  }
}