@charset "utf-8";

/* ==========================
  #common

  #font
  #layout
  #header
  #navigation
  #main
  #footer
============================= */

/*------------------------------
  common
--------------------------------*/
html {
    font-size: 62.5%;
}
body {
    font-size: 1.6rem;
    line-height: 1.4;
}
h1, h2, h3, h4, h5, h6 { line-height : 1.4; }

ol,
ul {
    list-style: none;
}

img     { max-width : 100%; }
.center { text-align: center; }
.block  { display : block; }
.inline_block  {
  display : inline-block;
  white-space: nowrap;
}
.nowrap  { white-space: nowrap;}

/* font */
.purple { color : #b7249e; }


.fs17 { font-size : 1.7rem; }
.fs20 { font-size : 2.0rem; }
.fs28 { font-size : 2.8rem; }
.fs30 { font-size : 3.0rem; }
.fs38 { font-size : 3.8rem; }

.b {font-weight: bold;}

/* flexbox */
.flex             { display : flex; }
.col2,.col3,.col4 { display : flex; }
.column           { flex-direction: column; }
.flex_wrap        { flex-wrap: wrap; }
.between          { justify-content: space-between; }
.justify_center   { justify-content: center; }
.align_center     { align-items: center; }
.align_end        { align-items :flex-end; }

/* table scroll */
.scroll { overflow: auto; }
.scroll::-webkit-scrollbar { height: 5px; }
.scroll::-webkit-scrollbar-track { background: #F1F1F1; }
.scroll::-webkit-scrollbar-thumb { background: #BCBCBC; }

/* width */
.w1-3 { width : calc(100%/3); }
.w20 { width : 20%; }
.w25 { width : 25%; }
.w30 { width : 30%; }
.w40 { width : 40%; }
.w50 { width : 50%; }
.w55 { width : 55%; }
.w60 { width : 60%; }
.w70 { width : 70%; }
.w80 { width : 80%; }
.w90 { width : 90%; }

/* margin */
.mt25 { margin-top : 25px !important; }
.mt40 { margin-top : 40px; }
.mt45 { margin-top : 45px; }
.mt50 { margin-top : 50px; }
.mt55 { margin-top : 55px !important; }
.mt60 { margin-top : 60px !important; }
.mt70 { margin-top : 70px !important; }
.mt80 { margin-top : 80px; }
.mt100 { margin-top : 100px; }

.mr10 { margin-right : 10px; }
.mr20 { margin-right : 20px; }
.mr50 { margin-right : 50px; }

.ml10 { margin-left : 10px; }
.ml45 { margin-left : 45px; }
.ml50 { margin-left : 50px; }

.mb15 { margin-bottom : 15px !important; }
.mb25 { margin-bottom : 25px !important; }
.mb50 { margin-bottom : 50px !important; }
.mb60 { margin-bottom : 60px !important; }
.mb90 { margin-bottom : 90px !important; }

.mt0 { margin-top : 0 !important;}
.mr0 { margin-right : 0 !important;}
.mb0 { margin-bottom : 0 !important;}
.ml0 { margin-left : 0 !important;}

/* padding */
.pt70 { padding-top : 70px; }
.pt80 { padding-top : 80px; }
.pt90 { padding-top : 90px; }

.pr10 { padding-right : 10px; }

.pl10 { padding-left : 10px; }

.pb35 { padding-bottom : 35px; }
.pb40 { padding-bottom : 40px; }
.pb70 { padding-bottom : 70px; }

/* dl */
dl {
  display:flex;
  flex-wrap: wrap;
  border: 1px solid #ccc;
  border-top: none;
}
dt {
  background: #ddd;
  width: 30%;
  padding: 10px;
  box-sizing: border-box;
  border-top: 1px solid #ccc;
}
dd {
  padding: 10px;
  margin: 0;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
  width: 70%;
  background: #ffffff;
  box-sizing: border-box;
}

@media screen and (max-width: 560px){
  dl      { flex-flow: column nowrap; }
  dt, dd  { width: 100%; }
  dd      { border-left : none; }
}

/* ---------------------------
  tablet 780px未満
------------------------------ */
@media screen and (max-width: 780px) {
  .col2{
    flex-direction: column;
  }
}
/* ---------------------------
  mobile 560px未満
------------------------------ */
@media screen and (max-width: 559px){
  .w1-3,.w20,.w25,.w30,.w40,.w50,.w55,.w60,.w70,.w80,.w90 {
    width : 100%;
  }
  .col3,.col4{
    flex-direction: column;
    align-items: center;
  }
}


/*------------------------------
  font
--------------------------------*/
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,700');
html,body#lp-hifu {
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic Medium",'ヒラギノ角ゴシック','Hiragino Sans', sans-serif !important;
    font-feature-settings: "pkna" 1;
    color : #333;
}

h1, h2, h3, h4, h5, h6, strong {
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "游ゴシック体", YuGothic, "Yu Gothic",'ヒラギノ角ゴシック','Hiragino Sans', sans-serif !important;
    font-weight: 700;
}

a {
  text-decoration: none;
  transition: all 1s ease;
}
a.opa:hover {
  text-decoration: none;
  opacity : 0.7;
}
p:not(:last-child){
  margin-bottom : 1.6em;
}

.serif {
  font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',sans-serif !important;
}

h2 {
  font-size: 5.6rem;
  /* font-weight : 500; */
}
/* 紫のタイトル */
h2.h2_title{
  background : #b7249e;
  text-align : center;
  color : #ffffff;
  padding : 7px 0;
}
/* h3 { font-weight : 500; } */

.pink { color : #d53b67; }
.underline_p {
  background : url('../imgs/hifu/img-underline.png') repeat-x;
  background-position : left 95%;
}
.underline_p2 {
  background : url('../imgs/hifu/img-underline2.png') repeat-x;
  background-position : left 90%;
}

/*------------------------------
  layout
--------------------------------*/
.content-box {
  max-width : 1000px;
  margin : 0 auto;
  /* border : 1px solid #f00; */
}
.content-box2 {
  padding : 0 calc(50% - 500px);
}
.content-box3 {
  max-width : 1200px;
  margin : 0 auto;
}

.w945 {
  max-width : 94.5%;
  margin : 0 auto;
}
.w980 {
  max-width : 98%;
  margin : 0 auto;
}

/*------------------------------
  header
--------------------------------*/
/* header {
  padding : 50px 0 ;
  background-image : url('../imgs/hifu//main-women01.png'),url('../imgs/hifu//mv_bg.png');
  background-repeat : no-repeat , repeat-x;
  background-position : calc(50% + 200px) bottom, top;
} */
header h1 { text-align: left;}
header h2 { font-size:0px;}

/*------------------------------
  navigation
--------------------------------*/
.navToggle { display : none; }

nav.main-nav {
  background : #241818;
  padding-bottom : 0;
}
nav.main-nav ul {
  max-width : 1000px;
  display : flex;
  color : #ffffff;
  margin : 0 auto;
  padding : 14px 0 10px ;
}
nav.main-nav ul li {
  border-left : 1px solid #ffffff;
  /*padding : 2px 14px;*/
  margin-right : 0;
  text-align: center;
  display : flex;
  justify-content: center;
  align-items: center;
}
nav.main-nav ul li:first-child{
  flex: 2.4;
}
nav.main-nav ul li:nth-child(2){
  flex: 2.4;
}
nav.main-nav ul li:nth-child(3){
  flex: 1.3;
}
nav.main-nav ul li:nth-child(4){
  flex: 1.3;
}
nav.main-nav ul li:nth-child(5){
  flex: 1;
}
nav.main-nav ul li:nth-child(6){
  flex: 1.2;
}
nav.main-nav ul li:nth-child(7){
  flex: 2;
}
nav.main-nav ul li:hover {
  border-bottom: none;
}
nav.main-nav ul li a {
  color : #ffffff;
}
nav.main-nav ul li:last-child {
  border-right : 1px solid #ffffff;
}
nav.main-nav ul a {
  text-decoration: none;
}
nav.main-nav ul a:hover {

}
/*------------------------------
  main
--------------------------------*/
/* #osusume */
#osusume {
  background : #fad3fc;
  background-image: url('../imgs/hifu//bg-recommended.png');
  background-repeat: no-repeat;
  background-position: left calc(50% - 450px) bottom 125px;
}
#osusume h2 { margin-top : 15px; }
#osusume div.col2 {
  align-items: center;
}
#osusume ul {
  width : 570px;
  background : #ffffff;
  font-size : 2.2rem;
  padding : 50px 0;
  margin : 0 0 0 50px;
  box-shadow:4px 4px 0px 0px #cccccc;
}
#osusume ul li {
  line-height : 6.2rem;
  border-bottom : 1px solid #ccc;
  padding : 0 60px 0 35px;
}
#osusume ul li:last-child { border-bottom : none; }
#osusume li::before {
  content : '●';
  color : #b7249e;
}
@media screen and (max-width: 360px){
  #osusume h2{
    font-size: 2.4rem;
  }
}

/* point */
#point h2 { margin-top : 20px; }
.point_list {
  color : #d53b67;
  margin : 0 10px;
}
.point_list li {
  height : 85px;
  line-height : 85px;
  background : url('../imgs/hifu//line01.png') repeat-x bottom;
}
.point_list li img {
  margin : 0 20px 0 5px;
  vertical-align: text-bottom;
}
.point_list li p { display : inline-block; }

/* tokucho */
#tokucho h3{
  font-size : 4.2rem;
}
#tokucho h3 span{
  font-size : 6rem;
}
#tokucho figure img{ width : 352px; }
#tokucho .col2 div.kouka {
  width : calc(100% - 352px);
  font-size : 1.7rem;
}
@media screen and (max-width: 600px){
  #point h2{
    font-size: 2.8rem;
  }
}

/* hifu_table */

#hifu_table {
  line-height: 1.2;
  text-align: center;
  font-size: 1.8rem;
  table-layout : fixed !important;
  /* width: 562px; */
  margin-right : 20px;
}
#hifu_table ,#hifu_table th ,#hifu_table td{
  border : 2px solid #ccc;
  font-weight: normal;
}
#hifu_table tbody th ,#hifu_table tbody td {
  padding : 10px 0;
  vertical-align: middle;
}
#hifu_table thead th:first-child{
  width : 80px;
}
#hifu_table thead th:not(:first-child) {
  background : #df863f;
  color : #fff;
  font-size : 2rem;
  white-space: nowrap;
  line-height: 1.6;
  width : 120px !important;
}
#hifu_table tbody th {
  background : #717071;
  color : #fff;
  text-align: center;
  width : 80px !important;
}
#hifu_table tbody th span {
  writing-mode: vertical-rl;
  white-space: nowrap;
  text-orientation: upright;
  text-align: left;
}
#hifu_table td {
  height : 120px;
  width : 120px !important;
  white-space: nowrap;
  background : #d9d6d7;
}
#hifu_table .hifu_tr th {
  background : #c53460;
}
#hifu_table .hifu_tr td {
  background : #fff;
  color : #c30d23;
}


.hikaku { text-align: center;}
.hikaku p{
  color : #df863f;
  background : url('../imgs/hifu//frame02.png') no-repeat center center;
  width : 265px;
  height : 216px;
  display : flex;
  flex-direction: column;
  justify-content : center;
  align-items: center;
  margin : 0 auto;
}

dl.shoujou, dl.shoujou dt, dl.shoujou dd {
  border : none;
}
dl.shoujou dt {
  background : #c17e46;
  border-bottom : 2px solid #c17e46;
  margin-bottom : 15px;
  padding : 0;
  line-height: 2.1;
  color : #ffffff;
  font-size : 2rem;
  text-align: center;
  width : 20%;
  min-width : 184px;
}
dl.shoujou dd {
  border-bottom : 2px solid #c17e46;
  margin-bottom : 15px;
  text-align : right;
  font-size : 1.8rem;
  line-height: 2.1;
  width : 80%;
  max-width : calc(100% - 184px);
  padding : 0;
}

/* caution */
.caution {
  border : 1px solid #727272;
  background : #ececec;
  border-radius : 18px;
  padding : 25px 40px;
  margin-top : 30px;
}
.caution h3 {}
.caution p {
  margin-bottom : 0;
  font-size : 1.7rem;
}
.caution ul {
  list-style: disc;
  padding-left: 2rem;
  font-size : 1.7rem;
}

/* price */
#price h3 {
  font-size : 3.3rem;
  /* font-weight : 700; */
  color : #64000c;
  padding-bottom : 20px;
  margin-bottom: 35px;
  border-bottom : 2px solid #cbbb84;
}
#price_list {
  margin : 0 auto;
}
#price_list ,#price_list th,#price_list td{
  border : 1px solid #ccc;
}
#price_list thead th {
  background : #cb9c2b;
  color : #ffffff;
  padding: 4px;
  font-size : 3rem;
  font-weight : normal;
}
#price_list tbody th {
  background : #f6f6f6;
  font-size : 2rem;
  font-weight : normal;
  text-align: left;
  padding-left : 48px;
  vertical-align: middle;
}
#price_list td {
  padding : 10px 25px 9px;
  font-size : 1.8rem;
  text-align: center;
}
#price_list td:last-child{
  text-align: right;
  color : #c73d42;
  font-size : 2.4rem;
}
#price_list + p {
  letter-spacing: 0.1em;
}

/* #flow */
#flow {
  margin : 0 10px;
}
#flow li {
  border : 1px solid #a7a7a7;
  background : #eaeaea;
  padding : 16px 24px 20px;
  margin-bottom : 23px;
  width : calc(50% - 9px);
  position : relative;
  line-height: 1.4;
}
#flow li p.step {
  position : relative;
  left : -25px;
  margin-bottom : 20px;
}
#flow li p.step > span:not(:last-child) {
  display : inline-block;
  background : #000;
  color : #ffffff;
  font-size : 2.5rem;
  padding : 0 24px;
}
#flow li p.step > span span,#flow li p.step > span:last-child{
  display : inline-block;
  font-size : 3.4rem;
  line-height: 1.4;
}
#flow li p.step > span:last-child{
  margin-left : 25px;
}
#flow li p:last-child {
  margin-top : 30px;
  font-size : 1.7rem;
}
#flow li:nth-child(n+3) p:last-child {
  margin-bottom : 6.5rem;
}

/* faq */
#faq dl { flex-direction: column; border : none;}
#faq dl dt,#faq dl dd{
  width : 100%;
  padding : 5px 13px;
  border : none;
}
#faq dl dt {
  background : #fdeaf4;
  font-weight: 700;
  font-size : 2.4rem;
}
#faq dl dt::before {
  content : 'Q';
  display : inline-block;
  background : #d53b67;
  color : #ffffff;
  border-radius: 50%;
  width : 3.8rem;
  height : 3.8rem;
  text-align : center;
  line-height: 3.8rem;
  margin-right : 1rem;
}
#faq dl dd {
  margin : 20px 0;
  font-size : 1.8rem;
  letter-spacing: 0.14em;
}
#faq dl dd::before {
  content : 'A.';
  color : #d53b67;
  font-weight : 700;
  display : inline-block;
  width : 3.8rem;
  text-align : center;
  font-size : 2.4rem;
}

/*------------------------------
  back-to-top
--------------------------------*/
#back-to-top{
  position : fixed;
  right : 20px;
  bottom : 20px;
  z-index :10;
  width : 32px;
  height : 32px;
  background : #fff;
  border-radius: 50%;
}
#back-to-top a {
  position : absolute;
  top : 0;
  left : 0;
  width : 100%;
  height : 100%;
  display : flex;
  justify-content: center;
  align-items: center;
  color : #333;
}
#back-to-top a:hover { text-decoration: none; opacity : 0.7;}

/*------------------------------
  クリニックのご案内
--------------------------------*/
#clinic_point { margin : 50px auto 0; max-width : 960px;}
#clinic_point li {
    background: #ffece8;
    padding: 20px 25px;
    margin-bottom: 10px;
}
#clinic_point li dl {
  display : block;
  border : none;
}
#clinic_point li dt, #clinic_point li dd {
  width : 100%;
  border : none;
  background : none;
}
#clinic_point li dt {
  color : #64000c;
  font-size : 2rem;
}
#clinic_point li dd {
  text-align: left;
}

#clinic_point + h4 { margin-top : 50px; }

.flx_row{flex-direction: row;}
@media screen and (max-width: 768px){
  #clinic_point{flex-direction: column;}
}


/*------------------------------
  footer
--------------------------------*/
/*--------------------------------------------------
MBクリニックのご案内　ここから
--------------------------------------------------*/

#aboutus {
  padding: 0 0 90px
}


.a_thumbs > div{
  width: 380px;
  height: auto;
}
.a_thumbs > div img {
  border: #c0c0c0 1px solid;
}
.catch.ttl-underline{
  padding-bottom: 6px;
  margin-bottom: 30px;
  font-size: 30px;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.3px;
  color: #64000C;
  border-bottom: 3px solid #CBBB84;
}

/*--------------------------------------------------
MBクリニックのご案内　ここまで
--------------------------------------------------*/
/*--------------------------------------------------
アクセスここから
--------------------------------------------------*/

#access .h-title {
  margin-bottom: 64px;
}

#access .inner {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 74px;
}

#access .inner .g_map {
  margin-bottom: 67px;
}

#access .inner .g_map iframe {
  width: 100%;
  height: 240px;
}

.access-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.access_pic {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  max-width: 495px;
  width: 100%;
}

.access_pic img {
  max-width: 238px;
  width: 100%;
}


#access .access_txt {
  line-height: 1.7;
  font-size: 18px;
  color: #8d6728;
}
@media screen and (max-width: 768px){
  #access .access_txt_arw{
    margin-left: 100px;
  }
}
/*--------------------------------------------------
アクセスここまで
--------------------------------------------------*/

/* =========================
  ハンバーガーメニュー
 =========================== */
 @media screen and (max-width: 900px){
  nav.main-nav{
    display: none;
  }
 }
 /* ----------------------------
   tablet 780px未満
 ---------------------------- */
@media screen and (max-width: 780px) {
  nav.main-nav{
    display: block;
  }
   /* 位置・大きさ */
  .navToggle {
    display: block;
    position: fixed;
    right:30px;
    top: 30px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 30;
    text-align: center;
  }
  /* 線の長さ・太さ・色 */
  .navToggle span {
    display: block;
    position: absolute; /* .navToggleに対して */
    width: 40px;
    border-bottom: solid 6px #333;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
    left: 0;
  }
  /* 線の位置 */
  .navToggle span:nth-child(1) {
    top: 0;
  }
  .navToggle span:nth-child(2) {
    top: 17px;
  }
  .navToggle span:nth-child(3) {
    top : 34px;
  }

  /* 最初のspanをマイナス45度に */
  .navToggle.active span {
    border-bottom: solid 6px #fff;
  }
  .navToggle.active span:nth-child(1) {
    top: 7.5px;
    left: 0px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  /* 2番目と3番目のspanを45度に */
  .navToggle.active span:nth-child(2),
  .navToggle.active span:nth-child(3) {
    top: 7px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }
}

 /* ----------------------------
   mobile 560px未満
 ---------------------------- */
 @media screen and (max-width: 559px){
   /* 位置・大きさ */
  .navToggle {
    right:15px;
    top: 15px;
    width: 20px;
    height: 20px;
  }
  /* 線の長さ・太さ・色 */
  .navToggle span {
    width: 20px;
    border-bottom: solid 3px #333;
  }
  /* 線の位置 */
  .navToggle span:nth-child(1) {
    top: 0;
  }
  .navToggle span:nth-child(2) {
    top: 8.5px;
  }
  .navToggle span:nth-child(3) {
    top : 17px;
  }

  /* 最初のspanをマイナス45度に */
  .navToggle.active span {
    border-bottom: solid 3px #fff;
  }
  .navToggle.active span:nth-child(1) {
    top: 7px;
    left: 0px;
  }

  /* 2番目と3番目のspanを45度に */
  .navToggle.active span:nth-child(2),
  .navToggle.active span:nth-child(3) {
    top: 7px;
  }
}
/* ハンバーガーメニューここまで */


/* ====================================
  tablet 960px未満
==================================== */
@media screen and (max-width: 980px) {
  /* point */
  #point .point_list { width : 70%; }
  /* downtime */
  #downtime .col2 >div {
    margin-right: 0;
    margin-left : 20px;
  }
}
/* ====================================
  tablet 780px未満
==================================== */
@media screen and (max-width: 780px) {
  .w945,.w980 { max-width : 100%; }

  .content-box,.content-box3 {
    padding-left : 30px;
    padding-right : 30px;
  }
  header{
    background-position : calc(50% + 100px) bottom ,top;
    background-size : 950px,auto;
  }

  /* main-nav */
  .navToggle { display : block; }
  nav.main-nav {
    position : fixed;
    top : -150%;
    /* top : 0; */
    width : 100vw;
    height : 100vh;
    z-index : 12;
    opacity: 0.5;
    transition: all 0.7s ease;
    background : rgba(36,24,24,0.9);
    /* display : none; */
  }
  nav.main-nav.active {
    display: block;
    top:0;
    opacity:1;
    transition: all 0.7s ease;
  }
  nav.main-nav ul { flex-direction: column; padding-top : 20%;}
  nav.main-nav ul li,nav.main-nav ul li:last-child { border : none; }
  nav.main-nav ul li { padding : 10px; }
  nav.main-nav ul li a { font-size : 2rem; }

  /* osusume */
  #osusume { background-position : center calc(50% + (-100px)); }
  #osusume ul { margin-left : 0; }

  /* point */
  #point .point_list {
    width : 80%;
    margin : 0 auto;
  }
  #point .col2 {
    padding-left : 0;
    padding-right : 0;
  }
  #point .col2 figure {
    margin : 30px auto 0;
  }

  /* tokucho */
  #tokucho .col2 figure { margin : 0 auto 30px;}
  #tokucho .col2 > div { width : 100%; }
  #tokucho .col2 > div.kouka { margin : 0 auto; width : 100%;}

  /* hifu_table */
  #hifu_table { margin : 0 auto; }
  #hifu_table tr th { width : 8rem; }
  .hikaku { margin-top : 30px; }

  /* downtime */
  #downtime .col2 { flex-direction: row;}

  /* price_list */
  #price_list.w90 { width : 100%; }
  #price_list tbody th { padding-left : 20px; }

  /* flow */
  #flow {
    margin : 0;
    flex-direction: row;
  }


  /* MBクリニックのご案内 */
  #clinic_point li { width : 100%;}
  .a_thumbs > div{ width : 100%; }
  .access-box { flex-direction: column;}
}
/* ==========================
  mobile 560px未満
============================= */
@media screen and (max-width: 559px){
  .fs30 { font-size : 2.4rem; }
  .fs38 { font-size : 3rem; }
  .mt45,.mt60,.mt70,.mt100 { margin-top : 40px !important; }
  .mb60 { margin-bottom : 40px !important; }

  /* header{
    padding : 0px 0 50px;
    height : 80vh;
    background-position : calc(50% + 80px) bottom ,top;
    background-size : 900px,auto;
  } */
  header figure { text-align : left; padding-left : 15px;}
  header figure img { max-width : 70%; }
  h2 {
    font-size : 3.2rem;
  }
  .content-box,.content-box3 {
    padding-left : 3%;
    padding-right : 3%;
  }

  nav.main-nav ul li a { font-size : 1.6rem; }

  /* osusume */
  #osusume ul { width : 100%; }
  #osusume ul li{
    line-height: normal;
    padding: 10px;
    text-indent: -2rem;
    padding-left: 3rem;
    font-size: 1.8rem;
  }

  /* point */
  #point .point_list {
    width : 100%;
    font-size : 2.2rem;
    white-space: normal;
  }
  #point .point_list li {
    line-height: normal;
    display : flex;
    align-items : center;
  }
  .point_list li img {
    margin: 0 15px 0 5px;
    max-width : 25px;
    max-height : 35px;
}

  /* tokucho */
  #tokucho h3 {font-size : 2.2rem;}
  #tokucho h3 span {
    font-size : 3.4rem;
  }
  #tokucho .col2 div.kouka { width : 100%; }

  #hifu_table {
    width: 562px;
  }

  /* downtime */
  #downtime .col2 { flex-direction: column;}
  #downtime .col2 > div { margin : 20px 0 0 0; }
  #downtime p.fs30 { font-size : 2.4rem;}
  #downtime figure + div { margin-top : 20px;}

  dl.shoujou { flex-flow : row wrap; }
  dl.shoujou dt { min-width : 150px; }
  dl.shoujou dd { max-width: calc(100% - 150px); }
  .caution { padding : 10px 15px; }

  /* price_list */
  #price_list thead th {
    font-size : 2.2rem;
  }
  #price_list tbody th {
    padding-left : 10px;
    font-size: 1.6rem;
  }
  #price_list td {
    padding: 10px 5px 9px;
    font-size: 1.6rem;
  }
  #price_list td:last-child {
    font-size : 2.2rem;
  }

  /* flow */
  #flow {
    flex-direction: column;
  }
  #flow li { width : 100%; }
  #flow li p:last-child {margin-top : 20px;}
  #flow li:nth-child(n+3) p:last-child { margin-bottom : 0;}

  /* faq */
  #faq dl dt { font-size : 2rem; }
  #faq dl dd {
    font-size : 1.6rem;
    letter-spacing: normal;
  }
  .access_pic img { width : 50%; }

}

@media screen and (max-width: 768px) {
  .spOnly {
    display: block;
  }
  #osusume div.col2 img {
    width: 100%;
    max-width: 240px;
  }
  nav.nav {
    position: relative;
    top: 0;
    padding: 4px 0;
    background: #241818;
  }
  nav.nav ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  nav.nav ul li {
    display: inline-block;
    width: 24%;
    margin: 4px 1% 4px 0;
    padding-right: 1%;
    border-right: 1px solid #fff;
  }
  nav.nav ul li a {
    display: flex;
    font-size: 2vw;
    color: #fff;
    align-items: center;
    justify-content: center;
    height: 6vw;
  }
  nav.nav ul li:nth-child(4n) {
    border-right: 0;
  }
  .btn-contant {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #cbbb84;
    z-index: 100;
  }
  .btn-link {
    display: flex;
  }
  .btn-link a {
    display: block;
    width: 100%;
    background: #64120f;
  }
  .btn-link a:last-child {
    background: url(../imgs/other/bg-btn-line.png) 0 0 / auto 100% repeat-x;
  }
  .btn-link a img {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 200px;
  }
  div#t-btn {
    bottom: 15.5vw;
  }
  footer {
    margin-bottom: 90px;
  }
  .sp-mv img {
    width: 100%;
  }
  #back-to-top {
    bottom: 100px;
  }
}
@media screen and (max-width: 400px) {
  footer {
    margin-bottom: 22%;
  }
}


@media screen and (max-width: 768px) {
  .serif .inline_block {
    font-size: 7vw;
  }
  .point_list li {
    height: auto;
  }
  .point_list li img {
    margin: 16px 20px 0 5px;
    vertical-align: top;
  }
  .point_list li p {
    display: inline-block;
    margin-top: 12px;
    white-space: normal;
    line-height: 1.4;
  }
}

 /* 水玉背景 */
.treatment-bg {
	position: relative;
	padding: 45px 0;
	background: url(../images/bg03.png) center center / cover no-repeat;
}

/* 院長プロフィール */
.profile_list ul li {
  text-indent:-5.5em;
  padding-left:5.5em;
}