

/*　top
------------------------------------------------------------------------------------------------*/


.top-slide{
  width: 100%;
}
.top-slide .ttl_top{
  position: absolute;
  width: 51.5em;
  top: 14.56em;
  left: 50%;
  margin-left: -25.75em;
  z-index: 1;
}
.top-slide .swiper-container{
  z-index: 0;
}
.slide-img{
  width: 100%;
  height: 37em;
}
.slide-00{
  background: url(../images/top/slider_0_pc.jpg);
  background-size: cover;
}
.slide-01{
  background: url(../images/top/slider_1_pc.jpg);
  background-size: cover;
}
.slide-02{
  background: url(../images/top/slider_2_pc.jpg);
  background-size: cover;
}
.slide-03{
  background: url(../images/top/slider_3_pc.jpg);
  background-size: cover;
}
@keyframes zoomup {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
  animation: zoomup 10s linear 0s 1 normal both;  
}



.top-news{
  position: relative;
}
.top-news:after{
  content: '';
  width: 27%;
  height: 30em;
  background-color: #F7F7F7;
  position: absolute;
  top: 5em;
  left: 0;
}
.top-news .top-news-box{
  background-color: #fff;
  padding: 1em;
  border-radius: 0.5em;
  overflow: hidden;
  margin-top: -5em;
  position: relative;
  z-index: 1;
  box-shadow: 0 0 20px #0000001A;
}
.top-news ul{
  float: left;
  padding: 0.5em 0.8em;
}
.top-news ul li{
  display: block;
  overflow: hidden;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  border-bottom: 1px solid #EDEDED;
}
.top-news ul li:last-child{
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}
.top-news ul li span.day{
  display: inline-block;
  font-size: 125%;
  margin-right: 1em;
  float: left;
}
.top-news ul li p{
  display: inline-block;
  float: left;
  font-size: 112.5%;
  font-family: 'Poppins', sans-serif;
  color: #000;
}
.news-bnr{
  width: 30em;
  float: right;
}


.top-concept .content{
  position: relative;
}
.top-concept h2.h2-01{
  padding-top: 1em;
}
.top-concept h3{
  font-size: 144%;
  margin-bottom: 1.7em;
}
.top-concept p{
  display: block;
  width: 28em;
}
.top-concept .top-sec-01-img{
  display: block;
  width: 53.75em;
  position: absolute;
  right: -15em;
  top: 0em;
}


.h2-right{
  width: 60%;
  float: right;
  padding-top: 1em;
}
.h2-left{
  width: 40%;
  float: left;
}


.top-menu{
  background-color: inherit;
}
.top-menu ul li{
  display: block;
  margin-bottom: 9em;
}
.top-menu ul li:last-child{
  margin-bottom: 2.5em;
}
.top-menu .li-right{
  width: 25em;
  float: right;
}
.top-menu .li-left{
  width: 25em;
  float: left;
}
.top-menu .img_2,
.top-menu .img_3,
.doctor-01 .doctor-img-01{
  width: 41.25em;
  padding-right: 2.5em;
  padding-bottom: 2.5em;
  position: relative;
}
.top-menu .img_2 img,
.top-menu .img_3 img,
.doctor-01 .doctor-img-01 img{
  display: block;
}
.top-menu .img_2{ float: left; }
.top-menu .img_3{ float: right; }

.top-menu .img_2:after,
.top-menu .img_3:after,
.doctor-01 .doctor-img-01:after{
  content: '';
  display: block;
  width: 39em;
  height: 23em;
  background-color: #F7F7F7;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}
.top-menu .h3-num{
  font-size: 137.5%;
  margin-bottom: 0.8em;
  position: relative;
  padding-left: 2em;
  margin-top: 0.5em;
}
.top-menu .h3-num:before{
  content: '';
  display: inline-block;
  width: 1.5em;
  height: 1px;
  background-color: #002c6e;
  margin-right: 0.5em;
  position: absolute;
  top: 0.8em;
  left: 0;
}
.top-menu h3{
  font-size: 187.5%;
  margin-bottom: 0.7em;
}
.top-menu h3 span{
  font-size: 46%;
}


a.details-btn{
  display: block;
  width: 100%;
  line-height: 3.75em;
  color: #002c6e;
  font-weight: bold;
  border: 1px solid;
  text-align: center;
  text-decoration: none;
  margin-top: 2em;
  position: relative;
}
a.details-btn:after{
  font-family: "Font Awesome 5 Free";
  content: '\f054';
  line-height: 3.75em;
  position: absolute;
  right: 0.7em;
  top: 0;
}


.top-service{
  text-align: center;
  background-color: #F7F7F7;
}
.top-service .service_txt{
  display: inline-block;
  width: 42.5em;
  margin: 6em 0 2em;
}
.top-service-text-01{
  display: block;
  font-size: 200%;
  margin-bottom: 0.2em;
}
.top-service-text-01 .big{ font-size: 156%; }
.top-service-text-02{ font-size: 125%; }


img.ob{
  display: block;
  width: 100%;
}


.top-price .content{
  width: 60em;
}
.top-price h2,
.top-price .h2-btm{
  text-align: center;
}
.top-price h3{
  font-size: 175%;
  margin-bottom: 1em;
}
.top-price h3 span{
  font-size: 78.5%;
}
.top-price dl{
  margin-bottom: 3em;
}
.top-price dl dt{
  display: block;
  width: 60%;
  float: left;
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 1px solid #CCCCCC;
  font-weight: bold;
}
.top-price dl dt span{
  font-weight: normal;
  margin-left: 1em;
}
.top-price dl dd{
  display: block;
  width: 40%;
  float: right;
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 1px solid #CCCCCC;
  text-align: right;
}

.top-price dl dt:before{
  content: '〇 ';
  color: #002c6e;
}

.top-price .top-price-box{
  width: 100%;
  border: 3px solid #002c6e;
  padding: 1.5em;
  margin-bottom: 3em;
}
.top-price .top-price-box .h4-left{
  display: inline-block;
  background-color: #002c6e;
  color: #fff;
  font-size: 112.5%;
  font-weight: bold;
  padding: 0 0.2em;
  margin-right: 0.8em;
  margin-bottom: 1em;
}
.top-price .top-price-box h4{
  display: inline-block;
  font-size: 125%;
  margin-bottom: 1em;
}
.top-price .top-price-box p{
  font-size: 87.5%;
}
.top-price .top-price-box span.small{
  display: block;
  font-size: 75%;
  color: #6E6E6E;
  margin-top: 0.5em;
}


.top-doctor{
  position: relative;
  background-color: inherit;
}
.top-doctor:after{
  content: '';
  width: 50%;
  height: 100%;
  background-color: #F7F7F7;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
.top-doctor .top-doctor-01{
  width: 100%;
  height: 25.62em;
  background: url(../images/top/img_docter_pc.jpg) no-repeat;
  background-size: cover;
  position: relative;
  margin-bottom: 5em;
}
.top-doctor .top-doctor-02{
  width: 100%;
  height: 25em;
  background: url(../images/top/img_official_pc.jpg) no-repeat;
  background-size: cover;
  position: relative;
  margin-bottom: 6.25em;
}
.top-doctor .white-box{
  background-color: #f3f3f3;
  position: absolute;
}
.top-doctor-01 .white-box{
  width: 24em;
  padding: 2.5em;
  top: 5.5em;
  left: 4.4em;
}
.top-doctor-02 .white-box{
  padding: 1.2em;
  bottom: 1em;
  right: 22em;
}
.top-doctor .h3-top,
.doctor-h3-wrap .h3-top{
  font-size: 87.5%;
}
.top-doctor h3,
.doctor-h3-wrap h3{
  font-size: 187.5%;
}
.top-doctor h3 span,
.doctor-h3-wrap h3 span{
  font-size: 38%;
  color: #B7B7B7;
  margin-left: 1em;
}
.top-doctor-03 .left-box,
.top-doctor-03 .right-box{
  width: 50%;
  float: left;
}
.top-doctor-03 .left-box{
  padding: 0 4em 0 1.5em;
}
.top-doctor-03 .right-box{
  padding-left: 3.3em;
}
.top-doctor-03 .logo_tgc{
  display: block;
  width: 28.5em;
  margin-bottom: 2em;
}
.top-doctor-tel{
  font-size: 237.5%;
  font-weight: bold;
}
.top-doctor-03 p{
  margin-bottom: 0.8em;
}
.border-small{
  font-size: 87.5%;
  border-top: 1px solid #CCCCCC;
  padding-top: 0.8em;
  margin-top: 1.2em;
}


.map iframe{
  display: block;
  width: 100%;
  height: 18.75em;
}


/*　glp-1
------------------------------------------------------------------------------------------------*/


.glp-1-01,
.ems-01{
  position: relative;
}
.glp-1-01:before,
.ems-01:before{
  content: '';
  display: block;
  width: 50%;
  height: 12.5em;
  background: #F7F7F7;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}
.glp-1-01 .content,
.ems-01 .content{
  position: relative;
  z-index: 1;
}
.glp-1-01 .h2-01,
.ems-01 .h2-01{
  font-size: 494%;
  text-align: center;
  line-height: 1.1;
}
.glp-1-01 .h2-btm,
.ems-01 .h2-btm{
  font-size: 100%;
  text-align: center;
  margin-bottom: 4.37em;
}
.glp-1-01 .text-01{
  display: inline-block;
  background: #05111F;
  color: #fff;
  font-size: 125%;
  text-align: center;
  font-weight: bold;
  line-height: 1.4;
  padding: 0.4em 0.8em;
  margin-right: 1.2em;
  float: left;
}
.glp-1-01 .text-02{
  display: inline-block;
  text-align: center;
  font-weight: bold;
  float: left;
}
.glp-1-01 .movie{
  padding: 3em 0 4em;
}
.glp-1-01 .left-box-01{
  width: 25em;
  float: left;
  padding-top: 4.5em;
}
.glp-1-01 img.media{
  display: block;
  width: 40em;
  float: right;
}
.glp-1-01 img.tv{
  display: block;
  width: 100%;
  padding: 4em 0;
}
.glp-1-01 .left-box-02{
  width: 40em;
  float: left;
  padding-top: 2em;
}
.glp-1-01 img.life{
  display: block;
  width: 29em;
  float: right;
}
.glp-1-01 ul{
  margin: 1.5em 0 2em;
}
.glp-1-01 ul li{
  display: block;
  margin-left: 2.2em;
  font-size: 112.5%;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
  padding-bottom: 0.3em;
  margin-bottom: 0.3em;
  position: relative;
}
.glp-1-01 ul li:before{
  content: '';
  display: block;
  width: 1.4em;
  height: 1.7em;
  background: url(../images/glp-1/icon_check_1.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  left: -2.2em;
  top: 0;
}


.glp-1-02{
  background: #F7F7F7;
  text-align: center;
}
.glp-1-02 .h2-02-wrap,
.ems-01 .h2-02-wrap{
  background-image: url(../images/glp-1/kakko_left.svg),url(../images/glp-1/kakko_right.svg);
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-position: left,right;
  margin-bottom: 1.5em;
  text-align: center;
}
.glp-1-02 .text-01{
  display: inline-block;
  background: #05111F;
  color: #fff;
  font-size: 150%;
  font-weight: bold;
  line-height: 1.4;
  padding: 0 0.2em;
  margin-right: 0.5em;
}
.glp-1-02 .text-02,
.ems-01 .text-03{
  display: inline-block;
  font-size: 187.5%;
  font-weight: bold;
}
.glp-1-02 .h2-02,
.ems-01 .h2-02{
  display: inline-block;
  font-size: 212.5%;
}
.glp-1-02 .h2-02-btm,
.ems-01 .h2-02-btm{
  margin-bottom: 3em;
}
.glp-1-02 ul li{
  display: block;
  width: calc( 94% / 3 );
  float: left;
}
.glp-1-02 ul li:first-child{ margin-right: 3%; }
.glp-1-02 ul li:last-child{ margin-left: 3%; }

.glp-1-02 .box-01{
  background: #fff;
  margin-top: 1.5em;
  padding: 2em;
}
.glp-1-02 .text-03{
  font-weight: bold;
  padding: 0.2em 0 0.5em;
}
.glp-1-02 .box-01 p{
  font-size: 112.5%;
}
.glp-1-02 .box-01 p span.small{
  font-size: 77.77%;
  margin-top: 1em;
}
.glp-1-02 img.img_usa{
  display: block;
  width: 33em;
  margin: 2em auto 1em;
}


.result{
  padding: 0;
}
.result.glp-1 .result-01{
  background: url(../images/glp-1/result_bg.jpg) center center no-repeat;
  background-size: cover;
  padding: 4em 0;
}
.result.ems .result-01{
  background: url(../images/emsculpt/result_bg.jpg) center center no-repeat;
  background-size: cover;
  padding: 4em 0;
}
.result .result-01 img.result_txt{
  display: block;
  width: 47em;
  margin: 0 auto;
}
.result .result-02{
  padding: 4em 0;
}
.result .result-02 p,
.ems-02 .text-02,
.price-02 .text-02,
.price-01 .text-01{
  display: block;
  font-size: 68.7%;
  color: #6E6E6E;
  margin-top: 1em;
}
.result .result-03 .content{
  position: relative;
  padding-top: 1em;
  height: 38em;
}
.result .result-03 img.result-03_img{
  display: block;
  width: auto;
  height: 100%;
  position: absolute;
  left: 50%;
  top: 0;
}
.result .result-03 .result-03_txt{
  display: block;
  width: 35em;
}


.support{
  background: url(../images/glp-1/support_bg_pc.jpg) center center no-repeat;
  background-size: cover;
  background-attachment:fixed;
  text-align: center;
}
.support .h2-btm{
  font-size: 137.5%;
  color: #2D2D2D;
}
.support ul li{
  display: block;
  margin-bottom: 1em;
}
.support ul li.li-1{
  width: 100%;
}
.support ul li.li-2,
.support ul li.li-3{
  width: calc( 98% / 2 );
  float: left;
}
.support ul li.li-2{
  margin-right: 2%;
}
.support .top-price,
.price-01 .top-price{
  background: #fff;
  margin-top: 3em;
  padding: 3em 8.75em 4em;
  text-align: left;
}
.price-01 .top-price{
  margin-top: 0;
}
.support .top-price dl {
  margin-bottom: 1.5em;
}
.support .top-price .top-price-box{
  margin-bottom: 0;
}


.telemedicine .left-box-01{
  width: 28em;
  float: left;
}
.telemedicine img.img-telemedicine{
  display: block;
  width: 40em;
  float: right;
}
.telemedicine .text-01{
  font-size: 125%;
}
.telemedicine h2.h2-01{
  margin-bottom: 0.5em;
}
.tele_flow{
  display: block;
  width: 100%;
  margin-top: 4em;
}




/*　emsculpt
------------------------------------------------------------------------------------------------*/
.ems-01{
  padding-bottom: 31em;
  background: url(../images/emsculpt/img_ems_4_pc.jpg) center bottom no-repeat;
  background-size: auto 31em;
  background-color: #fff;
}
.ems-01 .left-box{
  width: 41em;
  float: left;
}
.ems-01 img.img_ems_1{
  display: block;
  width: 28em;
  float: right;
}
.ems-01 img.logo_ems{
  display: block;
  width: 32em;
  margin-bottom: 1.5em;
}
.ems-01 .text-01{
  margin: 1em 0 3.5em;
  color: #6E6E6E;
}
.ems-01 .text-02{
  margin: 2em 0 1em;
}
.ems-01 img.img_ems_2{
  display: block;
  margin-top: 4em;
}
.ems-01 img.img_ems_3{
  display: block;
  margin: 2em 0 4em;
}
.ems-01 .h2-02-btm{
  text-align: center;
  margin-bottom: 1em;
}
.ems-01 .text-04{
  text-align: center;
}


.result.ems{
  padding-bottom: 6em;
}
.result.ems .result-04 .text-01{
  margin-bottom: 0.8em;
  text-align: center;
}
.result.ems .ng_list{
  display: block;
  margin: 2em 0;
}


.support.ems .text-01{
  margin-top: 1.5em;
}
.support.ems h4.text-02{
  display: block;
  text-align: center;
  padding-left: 2em;
  position: relative;
  margin: 1.8em 0 0.5em;
}
.support.ems h4.text-02:before{
  content: '';
  display: block;
  width: 1.5em;
  height: 1.5em;
  background: url(../images/glp-1/icon_check_2.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  top: 0;
  margin-left: -8.5em;
}
.support.ems .top-price-box{
  margin-top: 3em;
}
.support.ems img.img_ems_6{
  display: block;
  margin-bottom: 1em;
}


.ems-02 .text-01,
.price-02 .text-01{
  font-size: 2.75em;
  text-align: center;
  margin-bottom: 1.2em;
}
.ems-02 .text-01 span.span-01,
.price-02 .text-01 span.span-01{
  display: inline-block;
  background-color: #2D2D2D;
  color: #fff;
  margin-right: 0.3em;
}
.ems-02 .text-01 span.span-02,
.price-02 .text-01 span.span-02{
  font-weight: normal;
}
.ems-02 .left-box{
  width: 26em;
  float: left;
  margin-top: 10em;
}
.ems-02 .img_ems_5{
  display: block;
  width: 40em;
  float: right;
  margin-top: 4em;
}


.step.ems ul,
.step.ems ul li.li-03{
  margin-bottom: 0;
}


.ems-03{
  text-align: center;
  padding-bottom: 0;
}
.ems-03 img{
  display: block;
}
.ems-03 .line_1{
  margin-bottom: 1.5em;
}
.ems-03 .line_2{
  margin-bottom: 4em;
}
.ems-03 .present{
  margin-bottom: 3em;
}
.ems-03 ol{
  margin-bottom: 3em;
}
.ems-03 ol li{
  display: block;
  margin-bottom: 2em;
  text-align: left;
}
.ems-03 ol li p{
  display: block;
  background-color: #F5F5F5;
  padding: 1.5em;
  margin-bottom: 2em;
}
.ems-03 ol li p:before{
  font-family: 'Poppins', sans-serif;
  font-size: 150%;
  color: #1AAF1C;
  margin-right: 0.6em;
}
.ems-03 ol li.li-01 p:before{ content: 'Step.1'; }
.ems-03 ol li.li-02 p:before{ content: 'Step.2'; }
.ems-03 ol li.li-03 p:before{ content: 'Step.3'; }
.ems-03 ol li.li-04 p:before{ content: 'Step.4'; }

.ems-03 img.btn_line{
  width: 25em;
  margin: 0 auto;
}
.ems-03 ol li.li-02 img,
.ems-03 ol li.li-03 img{
  width: 44em;
  margin: 0 auto;
}
.ems-03 .box-01{
  background-color: #F5F5F5;
  margin-top: 2em;
  padding: 1.5em 4% 2em;
}
.ems-03 .box-01 .btn_ems_tel{
  display: block;
  width: 27em;
  margin: 1.5em auto 0;
}




/*　doctor
------------------------------------------------------------------------------------------------*/

.doctor-h3-wrap{
  margin-bottom: 1.8em;
}
.doctor-01{
  background-color: inherit;
}
.doctor-01 hr{
  margin: 4em 0;
  border-top: 1px solid #ccc;
}
.doctor-01 .doctor-img-01{
  width: 34.37em;
  padding-right: 1.75em;
  padding-bottom: 1.75em;
  margin: -6em 0 0 4em;
  float: right;
}
.doctor-01 .doctor-img-01:after{
  width: 32.62em;
  height: 22.62em;
  bottom: 0;
}




/*　price
------------------------------------------------------------------------------------------------*/

.price-01{
  background-color: #F7F7F7;
}
.price-01 img.price-img-01{
  display: block;
}
.price-01 .glp-1_img,
.price-01 .ems_img{
  display: block;
  margin: -1.5em auto 2.5em;
}
.price-01 .brand{
  display: block;
  width: 14em;
  margin-top: 0.6em;
}
.price-02 p{
  margin-top: 4em;
}




/*　access
------------------------------------------------------------------------------------------------*/

.access-01 .left-box,
.access-01 .right-box{
  width: 50%;
  float: left;
}
.access-01 .left-box{ padding-right: 2em; }
.access-01 .right-box{ padding-left: 2em; }

.access-01 .right-box iframe{
  width: 100%;
  height: 21.5em;
}
.access-01 .left-box img.logo_tgc{
  display: block;
  width: 22em;
  margin-bottom: 2em;
}
.access-01 .left-box p{
  margin-bottom: 1em;
}




/*　reservation
------------------------------------------------------------------------------------------------*/

.title-wrap-reservation{
  width: 100%;
  background: url(../images/reservation/bg_reservation_pc.jpg) center center no-repeat;
  background-size: cover;
}
.title-wrap-reservation h1{
  display: block;
  margin: 0 auto;
  width: 46.5em;
  padding: 2em 0 1em;
}
.title-wrap-reservation h1 img{
  display: block;
}


.reservation-01{
  background-color: #F7F7F7;
}
.reservation-01 .white-box{
  background-color: #fff;
  padding: 3em 9.37em;
}

.reservation-01 img{
  display: block;
}


img.form-step{
  margin-bottom: 3em;
}


.reservation-01 .left-box{
  float: left;
}
.reservation-01 .right-box{
  float: right;
  width: 70%;
}
.reservation-01 dl.form-01 dt{
  font-weight: bold;
  padding-bottom: 0.6em;
}
.reservation-01 dl.form-01 dd{
  padding-bottom: 1.5em;
}
.reservation-01 input,
.reservation-01 select,
.reservation-01 textarea{
  display: block;
  font-family: 'Poppins', sans-serif;
  font-size: 100%;
  padding: 1em 1.2em;
  border: 1px solid #CCCCCC;
  border-radius: 0.4em;
  -webkit-appearance: none;
}
.reservation-01 input,
.reservation-01 textarea{
  width: 100%;
}
.reservation-01 textarea{
  height: 12rem;
}
.reservation-01 input::placeholder{
  color: #CCCCCC;
}

.reservation-01 .select-wrap{
  display: inline-block;
  position: relative;
}
.reservation-01 .select-wrap::before {
  font-family: "Font Awesome 5 Free";
  content: '\f078';
  line-height: 3.6em;
  position: absolute;
  right: 0.7em;
  top: 0;
  font-weight: bold;
}
.reservation-01 select {
  cursor: pointer;
  appearance: none;
  padding-right: 5em;
}

.reservation-01 button{
  border: none;
  display: block;
  font-size: 112.5%;
  margin: 2.5em auto 4em;
  width: 18.75em;
  line-height: 4.37em;
  background-color: #002c6e;
  color: #fff;
  font-weight: bold;
  border-radius: 0.4em;
  transition: 0.3s;
}
.reservation-01 button:hover{
  cursor: pointer;
  opacity: 0.7;
}

.reservation-01 hr{
  margin: 0 0 2em;
}

.reservation-01 .red-box{
  background-color: #FCF0F1;
  margin: 1.5em 0 2em;
  padding: 1.5em;
  border-radius: 0.5em;
}
.reservation-01 .red-box h4{
  display: block;
  margin: 1em 0 0.5em;
}
.reservation-01 .red-box h3{
  display: block;
  margin-bottom: 0.6em;
}

.reservation-01 img.banner_ems{
  margin: 3em 0;
}


.reservation-01 dl.form-02 dt{
  font-weight: bold;
  position: relative;
  padding-left: 3.8em;
  padding-bottom: 0.8em;
}
.reservation-01 dl.form-02 dt:before{
  font-size: 78%;
  display: inline-block;
  background-color: #05111F;
  color: #fff;
  font-weight: bold;
  padding: 0 0.8em;
  border-radius: 0.4em;
  position: absolute;
  left: 0;
  top: 0.15em;
}
.reservation-01 dl.form-02 dt.dt-01:before{ content: 'Step.1'; }
.reservation-01 dl.form-02 dt.dt-02:before{ content: 'Step.2'; }
.reservation-01 dl.form-02 dt.dt-03:before{ content: 'Step.3'; }

.reservation-01 dl.form-02 dd{
  padding-bottom: 4em;
}


dl.form-02 dd{
  position: relative;
}
.radio-input{
  width: inherit !important;
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 3em;
  opacity: 0;
  pointer-events: none;
}
.radio-input + label{
  display: inline-block;
  width: 8em;
  padding: 1em 1em 1em 2.5em;
  margin-right: 0.8em;
  position:relative;
  border: 1px solid #CCCCCC;
  border-radius: 0.4em;
}
.radio-input + label::before{
  content: "";
  display: block;
  position: absolute;
  top: 1.3em;
  left: 0.8em;
  width: 1em;
  height: 1em;
  border: 0.1em solid #CCC;
  border-radius: 50%;
  background: #fff;
}
.radio-input:checked + label{
  background: #EFF5F8;
}
.radio-input:checked + label::after{
  content: "";
  display: block;
  position: absolute;
  top: 1.5em;
  left: 1em;
  width: 0.7em;
  height: 0.7em;
  background: #347DF7;
  border-radius: 50%;
}


.checkbox-input{
  width: inherit !important;
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
}
.checkbox-parts{
  display: block;
  padding: 1em 1em 1em 3em;
  position:relative;
  border: 1px solid #CCCCCC;
  border-radius: 0.4em;
  margin: 1.2em 0;
}
.checkbox-parts::before{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0.8em;
  margin-top: -0.6em;
  width: 1.2em;
  height: 1.2em;
  border: 0.1em solid #CCCCCC;
  border-radius: 0.3em;
}
.checkbox-input:checked + .checkbox-parts{
  background: #EFF5F8;
}
.checkbox-input:checked + .checkbox-parts::before{
  background: #347DF7;
  border: 0.1em solid #EFF5F8;
}
.checkbox-input:checked + .checkbox-parts::after{
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 1.25em;
  margin-top: -0.45em;
  width: 0.3em;
  height: 0.7em;
  transform: rotate(40deg);
  border-bottom: 0.15em solid #fff;
  border-right: 0.15em solid #fff;
}


.reservation-01 .txt_line{
  margin: 3em 0;
  border: 5px solid #1AAF1C;
  border-radius: 0.7em;
}
.reservation-01 .text-check{
  display: block;
  padding-left: 2em;
  position: relative;
  margin: 2.5em auto 0.5em;
  font-weight: bold;
}
.reservation-01 .text-check:before{
  content: '';
  display: block;
  width: 1em;
  height: 1.6em;
  background: url(../images/reservation/icon_check.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  top: 0;
  margin-left: -11.2em;
}

.reservation-01 a.tel-01{
  display: block;
  width: 19.5em;
  margin: 2em auto 4em;
  padding: 1em 0 0.8em;
  text-align: center;
  color: #2D2D2D;
  font-weight: bold;
  line-height: 1.4;
  border: 1px solid #CCCCCC;
  border-radius: 0.4em;
}
.reservation-01 a.tel-01 span{
  font-weight: normal;
}

ol.form-ol{
  margin: 1.5em 0 2em;
}
ol.form-ol li{
  display: block;
  width: 100%;
}
ol.form-ol li h4{
  display: block;
  padding: 1em 1em 1em 2.2em;
  position: relative;
  border-bottom: 1px solid #CCCCCC;
}
ol.form-ol li h4:before{
  font-size: 90%;
  display: block;
  width: 1.6em;
  height: 1.6em;
  background-color: #002c6e;
  color: #fff;
  text-align: center;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 1em;
}
ol.form-ol li.li-01 h4:before{ content: '1'; }
ol.form-ol li.li-02 h4:before{ content: '2'; }
ol.form-ol li.li-03 h4:before{ content: '3'; }
ol.form-ol li.li-04 h4:before{ content: '4'; }

ol.form-ol p{
  margin: 1.5em 0;
}
.tabs #tab-1_content iframe{
  width: 100%;
  height: 21.5em;
}
.tabs #tab-2_content iframe{
  width: 100%;
  height: 32em;
}

.tabs {
  width: 100%;
}
.tabs .tab_item {
  display: inline-block;
}
.tabs .tab_item.item-1{
  border-right: 1px solid #ccc;
  padding-right: 1em;
  margin-right: 1em;
}
.tabs .tab_item:hover {
  opacity: 0.7;
}
.tabs input[name="tab_item"] {
  display: none;
}
.tabs .tab_content {
  display: none;
  padding: 2em 0;
  clear: both;
  overflow: hidden;
}
#tab-1:checked ~ #tab-1_content,
#tab-2:checked ~ #tab-2_content {
  display: block;
}
.tabs input:checked + .tab_item {
  font-weight: bold;
  color: #002c6e;
}

.gray-box{
  background-color: #F5F5F5;
  padding: 1.5em 1em;
  margin: 2em 0;
}
.gray-box img{
  width: 26.8em;
  margin: 1em auto 0;
}

.reservation-01 img.stop{
  display: block;
  margin: 3em 0 2em;
}

ol.form-ol .left-box{
  float: left;
  width: 31em;
  margin: 3em 0;
}
ol.form-ol .img_app{
  float: right;
  width: 17em;
  margin: 3em 0;
}



.calender-wrap,
.freeday-title,
.freeday-wrap{
  text-align: center;
}
.calender-wrap .month,
.freeday-title{
  position: relative;
  font-size: 125%;
  font-weight: bold;
  line-height: 3em;
}
.calender-wrap .month .prev-month,
.calender-wrap .month .next-month{
  font-size: 70%;
  display: inline-block;
  position: absolute;
  top: 0;
  cursor: pointer;
}
.calender-wrap .month .prev-month{ left: 0; }
.calender-wrap .month .next-month{ right: 0; }

.calender ul.week,
.calender ul.day{
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.calender ul.week li,
.calender ul.day li{
  display: block;
  width: calc( 100% / 7 );
  font-weight: bold;
  line-height: 4em;
  float: left;
}
.calender ul.week li{
  border-bottom: 3px solid #ddd;
}
.calender ul li.sun{ color: red; }
.calender ul li.sat{ color: blue; }

.calender ul.week li.select{
  border-bottom: 3px solid red;
}
.calender ul.day li{
  color: #ddd;
  border-bottom: 1px solid #ddd;
  position: relative;
}
.radio-day{
  width: inherit !important;
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
}
.radio-day + label{
  display: block;
  width: 100%;
  color: #2D2D2D;
  position: relative;
}
.calender ul li.sun .radio-day + label{ color: red; }
.calender ul li.sat .radio-day + label{ color: blue; }

.radio-day + label span{
  position: relative;
  z-index: 1;
}
.radio-day:checked + label{
  color: #fff !important;
}
.radio-day:checked + label:before{
  content: '';
  display: block;
  width: 1.8em;
  height: 1.8em;
  border-radius: 50%;
  background: red;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -0.9em;
  margin-top: -0.9em;
  z-index: 0;
}


.freeday-title{
  margin-top: 2em;
}
.freeday-wrap{
  position: relative;
  width: 85%;
  margin: 0 auto;
}
.freeday-wrap .prev-freeday,
.freeday-wrap .next-freeday{
  display: inline-block;
  position: absolute;
  top: 0.5em;
  cursor: pointer;
}
.freeday-wrap .prev-freeday{ left: -2em; }
.freeday-wrap .next-freeday{ right: -2em; }

ul.freeday{
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;

  margin-bottom: 1em;
}
ul.freeday li{
  font-size: 90%;
  display: block;
  width: calc( 92% / 3 );
  font-weight: bold;
  line-height: 3em;
  float: left;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
ul.freeday li.freeday-top{
  border-right: 0;
  background-color: #fff;
}
ul.freeday li.freeday-top.brown{
  background-color: brown;
  color: #fff;
}
ul.freeday li.time{
  background-color: #fff;
  border-bottom: 0;
  width: 8%;
  font-size: 85%;
  text-align: left;
}
ul.freeday li{
  background-color: #FCF0F1;
}
ul.freeday li.free{
  background-color: #fff;
}

.freeday-wrap p{
  text-align: left;
}


#contact-thanks h2{
  font-size: 150%;
  margin-bottom: 0.5em;
}




/*　privacy , tokutei
------------------------------------------------------------------------------------------------*/
.privacy,
.tokutei{
  background: #F7F7F7
}
.privacy .white-box,
.tokutei .white-box{
  background: #fff;
  padding: 3em 4.4em;
}
.privacy h2,
.tokutei h2{
  margin-bottom: 0.8em;
  font-size:30px;
}
.tokutei dl{
  overflow: hidden;

    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
}
.tokutei dt{
  width: 20%;
  padding: 1em 0;
  float: left;
  border-bottom: 1px solid #ddd;
}
.tokutei dd{
  width: 80%;
  padding: 1em 0;
  float: left;
  border-bottom: 1px solid #ddd;
}






/*　PC
------------------------------------------------------------------------------------------------*/
@media (min-width: 769px){



/*　タブレット
------------------------------------------------------------------------------------------------*/
@media (max-width: 1240px){



}/*　タブレットここまで */
}/*　PCここまで */



/*　スマホ
------------------------------------------------------------------------------------------------*/
@media (max-width: 768px){


/*　top SP
------------------------------------------------------------------------------------------------*/
.slide-img{
  width: 100%;
  height: 34em;
}
.slide-00{
  background: url(../images/top/slider_0_sp.jpg);
  background-size: cover;
}
.slide-01{
  background: url(../images/top/slider_1_sp.jpg);
  background-size: cover;
}
.slide-02{
  background: url(../images/top/slider_2_sp.jpg);
  background-size: cover;
}
.slide-03{
  background: url(../images/top/slider_3_sp.jpg);
  background-size: cover;
}
.top-slide .ttl_top {
    width: 23em;
    top: 9em;
    left: 8%;
    margin-left: inherit;
}
.top-news .top-news-box{
  padding: 0.8em 1em;
  margin-top: -6em;
}
.top-news ul{
  padding: 0;
  margin-bottom: 1em;
}
.top-news ul li{
  padding-bottom: 0.8em;
  margin-bottom: 0.8em;
}
.top-news ul li span.day,
.top-news ul li p{
  font-size: 85%;
}
.top-news ul li p{
  font-family: inherit;
}
.top-news::after{
  width: 50%;
  height: 24em;
  top: 6em;
}


.top-concept{
  padding: 3.33em 0 0;
  background-color: inherit;
}
.top-concept .top-sec-01-img{
  width: 100%;
  position: inherit;
  right: inherit;
  top: inherit;
}
.top-concept h2.h2-01{
  padding-top: 0;
}
.top-concept p{
  width: 100%;
}
.top-concept h3 {
  font-size: 140%;
  margin-bottom: 1em;
  text-align: center;
  font-weight: bold;
  margin-top: 0;
}
.top-concept .top-sec-01-img{
  margin-top: 3em;
}


.h2-left,
.h2-right,
.top-menu .img_2,
.top-menu .img_3,
.top-menu .li-right,
.top-menu .li-left,
.doctor-01 .doctor-img-01{
  width: 100%;
  float: inherit;
}
.h2-right{
  padding-top: 0;
}


.top-menu ul li,
.top-menu ul li:last-child{
  margin-bottom: 4em;
}
.top-menu .img_2,
.top-menu .img_3,
.doctor-01 .doctor-img-01{
  padding-right: 1em;
  padding-bottom: 1em;
  margin: 0em 0;
}
.top-menu .img_2::after,
.top-menu .img_3::after,
.doctor-01 .doctor-img-01::after {
  width: 95%;
  height: 14em;
  bottom: 0;
}
.top-menu .h3-num{
  font-size: 120%;
  margin-bottom: 0.2em;
  margin-top: 0;
}
.top-menu h3 {
  font-size: 160%;
  margin-bottom: 0.5em;
  text-align: center;
  font-weight: bold;
}
.top-menu h3 span{
  font-size: 66%;
  display: block;
}


a.details-btn{
  width: 70%;
  margin: 1.5em auto;
}


.top-service ul{
  width: 96%;
  margin: -3em auto 0;
  position: relative;
  z-index: 1;
}
.top-service ul li{
  display: block;
  width: 100%;
  background-color: #fff;
  padding: 1.3em;
  box-shadow: 0 0 1em #0000000D;
  margin-bottom: 1.33em;
}
.top-service ul li h3{
  font-size: 120%;
  color: #002c6e;
  margin: 1em 0 0.5em;
}
.top-service ul li p{
  font-size: 93%;
  margin-bottom: 0.8em;
}
.top-service .service_txt{
  width: 90%;
  margin: 4em 0 2em;
}
.top-service-text-01{
  font-size: 133%;
  margin-bottom: 0.5em;
}
.top-service-text-02{
  font-size: 100%;
}
.service_img{
  display: block;
  width: 90%;
  margin: 1.5em auto 6em;
}


.top-price .content{
  width: 100%;
  text-align: center;
  margin-bottom: 4.6em;
}
.top-price h3{
  font-size: 133%;
  display: inline-block;
  border: 1px solid;
  padding: 0.2em 1em;
  border-radius: 1em;
  margin-bottom: 1.4em;
}
.top-price dl dt,
.top-price dl dd{
  width: 100%;
  float: inherit;
}
.top-price dl dt{
  border-bottom: 0;
  margin-bottom: 0;
}
.top-price dl dd{
  text-align: center;
  padding-bottom: 2em;
  margin-bottom: 2em;
}
.top-price dl dt span{
  display: block;
}
.top-price .top-price-box{
  padding: 1.5em 4%;
}
.top-price .top-price-box .h4-left{
  font-size: 120%;
  margin-right: 0;
  margin-bottom: 0.8em;
}
.top-price .top-price-box h4{
  font-size: 133%;
  margin-bottom: 0.5em;
}
.top-price .top-price-box p{
  font-size: 100%;
  text-align: left;
}
.top-price .top-price-box span.small {
  font-size: 80%;
  text-align: left;
  margin-top: 1em;
}
.top-price h3 span{
  font-size: 65%;
}
.top-price p{
  text-align: left;
}


.top-doctor::after{
  height: 38vw;
}
.top-doctor .top-doctor-01,
.top-doctor .top-doctor-02{
    width: 100%;
    height: auto;
    background: none;
    background-size: cover;
    position: inherit;
    margin-bottom: 4em;
}
.top-doctor .white-box{
  width: 100%;
  padding: 0;
  position: inherit;
  text-align: center;
  margin-top: 2em;
  padding-bottom: 1em;
}
.top-doctor .h3-top,
.doctor-h3-wrap .h3-top{
  font-size: 80%;
  margin-top: 1em;
}
.top-doctor h3,
.doctor-h3-wrap h3{
  font-size: 160%;
}
.top-doctor h3 span,
.doctor-h3-wrap h3 span{
  display: block;
  font-size: 40%;
  margin-left: 0;
}

.top-doctor-03{
  background-color: #F7F7F7;
  padding: 2em 0;
}
.top-doctor-03 .left-box,
.top-doctor-03 .right-box{
  padding: 0;
}
.top-doctor-03 .logo_tgc{
  width: 80%;
  margin: 0 auto 1.5em;
}
.top-doctor-tel{
  font-size: 200%;
  margin-top: 0.6em;
}
.top-doctor-03 p{
  font-size: 93%;
}
.top-doctor-03 p.border-small{
  font-size: 80%;
  padding-top: 1.5em;
  margin-top: 1.5em;
}



/*　glp-1 SP
------------------------------------------------------------------------------------------------*/
.glp-1-01::before,
.ems-01::before{
  height: 8.5em;
}


.glp-1-01 .h2-01,
.ems-01 .h2-01{
  font-size: 233%;
}
.glp-1-01 .h2-btm,
.ems-01 .h2-btm{
  font-size: 93%;
  margin-bottom: 3.5em;
}
.glp-1-01 .text-01{
  display: block;
  width: 100%;
  font-size: 106%;
  padding: 0.2em 0;
  margin-bottom: 0.8em;
}
.glp-1-01 .movie {
    padding: 3em 0;
}
.glp-1-01 .left-box-01{
  padding-top: 0;
}
.glp-1-01 img.media {
    width: 100%;
    float: inherit;
    margin-top: 2em;
}
.glp-1-01 img.tv{
  padding: 1em 0 0;
}
.glp-1-01 .left-box-02 {
    padding-top: 1em;
}
.glp-1-01 ul li{
  font-size: 106%;
}
.glp-1-01 img.life {
    width: 100%;
    float: inherit;
    margin: 2em 0;
}


.glp-1-02 .h2-02-wrap,
.ems-01 .h2-02-wrap{
  background: none;
}
.glp-1-02 .sugoi {
    width: 6.8em;
    display: block;
    margin: 0 auto 0.5em;
}
.glp-1-02 .text-02,
.ems-01 .text-03{
  font-size: 120%;
}
.glp-1-02 .h2-02,
.ems-01 .h2-02{
  font-size: 173%;
}
.glp-1-02 .h2-02-btm,
.ems-01 .h2-02-btm{
  text-align: left;
}
.glp-1-02 ul li {
    display: block;
    width: 100%;
    float: inherit;
    margin-bottom: 1em;
}
.glp-1-02 ul li:first-child{ margin-right: 0; }
.glp-1-02 ul li:last-child{ margin-left: 0; }

.glp-1-02 .h2-02-btm{
  margin-bottom: 2.5em;
}
.glp-1-02 .box-01 {
    margin-top: 2.5em;
    padding: 1.5em 1em 0.5em;
}
.glp-1-02 .box-01 p{
  font-size: 93%;
  text-align: left;
}


.result.glp-1 .result-01,
.result.ems .result-01 {
    background: none;
    padding: 0;
}
.result .result-02 {
    padding: 1em 0;
}
.result .result-03{
  padding-bottom: 3em;
}
.result .result-03 img.result-03_img {
    display: block;
    width: 100%;
    height: auto;
    position: inherit;
    left: inherit;
    top: inherit;
    margin-bottom: 1.5em;
}
.result .result-03 .result-03_txt {
    width: 90%;
    margin: 0 auto;
}


.support{
  padding-bottom: 0;
  background: none;
}
.support::before {
  content:"";
  display:block;
  width:100%;
  height:100vh;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  background: url(../images/glp-1/support_bg_sp.jpg) center top no-repeat #e9f1f4;
  background-size: cover;
}
.support .h2-btm {
    font-size: 120%;
    margin-top: 0.5em;
}
.support ul li.li-2 {
    margin-right: 0;
}
.support ul li.li-2, .support ul li.li-3 {
    width: 100%;
    float: inherit;
}
.support .top-price,
.price-01 .top-price{
    background: #fff;
    margin-top: 0;
    padding: 2em 4%;
    text-align: center;
}


.telemedicine .text-01 {
    font-size: 120%;
    text-align: center;
    margin-bottom: 0.5em;
}
.telemedicine img.img-telemedicine {
    width: 100%;
    float: inherit;
    margin: 2em 0;
}
.tele_flow{
  margin-top: 3em;
}



/*　emsculpt SP
------------------------------------------------------------------------------------------------*/
.ems-01{
  padding-bottom: 13em;
  background: url(../images/emsculpt/img_ems_4_sp.jpg) center bottom no-repeat;
  background-size: auto 13em;
  background-color: #fff;
}
.ems-01 img.logo_ems {
    width: 65%;
    margin: 0 auto 1.5em;
}
.ems-01 h3 {
    text-align: center;
}
.ems-01 .text-01 {
    margin: 1em auto 2em;
    width: 80%;
}
.ems-01 img.img_ems_1 {
    width: 70%;
    float: inherit;
    margin: 0 auto 2em;
}
.ems-01 .text-02{
  font-size: 160%;
  margin: 1.5em 0 1em;
}
.ems-01 .text-04{
  text-align: left;
}


.result.ems {
  padding-bottom: 3em;
}
.result.ems .result-04{
  padding-top: 2em;
}


.support.ems{
  padding-bottom: 2em;
}
.support.ems .text-01 {
  text-align: left;
}
.support.ems h4.text-02{
  padding-left: 1em;
}
.support.ems h4.text-02::before{
  width: 1.2em;
  margin-left: -8.7em;
}
.support.ems .top-price{
  margin-top: 2em;
}
.support.ems .top-price-box {
  margin-top: 2em;
}
.support.ems .top-price .top-price-box h4{
  font-size: 115%;
}


.ems-02 .text-01,
.price-02 .text-01{
  font-size: 120%;
}
.ems-02 .left-box {
    margin-top: 3em;
}
.ems-02 .img_ems_5 {
    width: 100%;
    float: inherit;
    margin-top: 2em;
}


.ems-03 ol li p {
  padding: 0.5em 4% 1em;
  margin-bottom: 1.5em;
}
.ems-03 ol li p::before {
    margin-right: 0;
    margin-bottom: 0.2em;
    display: block;
}
.ems-03 .box-01 .btn_ems_tel{
  width: 100%;
}



/*　doctor SP
------------------------------------------------------------------------------------------------*/

.doctor-01{
  padding-bottom: 6em;
}
.doctor-h3-wrap{
  margin-bottom: 1.8em;
}
.doctor-01 hr{
  margin: 3em 0;
}
.doctor-h3-wrap{
  text-align: center;
}
h2.h2-04{
  font-size: 200%;
}
h2.h2-04 span {
  font-size: 46%;
}
.doctor-01 .doctor-img-01{
  margin: 1.5em 0;
}
.doctor-01 .doctor-img-01::after {
  height: 15.7em;
}




/*　price SP
------------------------------------------------------------------------------------------------*/

.price-01 .glp-1_img,
.price-01 .ems_img{
  margin: -1em auto 2em;
}
.price-01 .brand{
  margin-top: 1.5em;
}
.price-02 p{
  margin-top: 2em;
}




/*　access SP
------------------------------------------------------------------------------------------------*/

.access-01 .left-box{ padding-right: 0; }

.access-01 .left-box img.logo_tgc{
  width: 80%;
  margin: 0 auto 1.5em;
}
.access-01 .left-box p{
  margin-bottom: 1em;
}




/*　reservation SP
------------------------------------------------------------------------------------------------*/

.title-wrap-reservation {
  background: none;
}
.title-wrap-reservation h1{
  width: 100%;
  padding: 0;
}

.reservation-head{
  width: 100%;
  background-color: #05111F;
  color: #fff;
  font-weight: bold;
  font-size: 100%;
  padding: 0.4em 0;
}

.reservation-01{
  background-color: #fff;
}
.reservation-01 .white-box{
  padding: 0;
}

.reservation-01 dl.form-01{
  margin-top: 2em;
}
.reservation-01 dl.form-01{
  font-size: 100%;
}
.reservation-01 input,
.reservation-01 select{
  font-size: 100%;
}
.reservation-01 textarea{
  height: 10rem;
}
.reservation-01 .select-wrap::before {
  right: 1em;
  top: 50%;
  margin-top: -0.5em;
  line-height: 1;
}
.reservation-01 button {
    margin: 1.5em auto 3.5em;
    width: 100%;
    line-height: 3.5em;
}

.reservation-01 hr {
    margin: 0 0 1.5em;
}

.reservation-01 .red-box {
  padding: 1.4em 1em;
  margin-bottom: 1.5em;
}
.reservation-01 .red-box h4{
  font-size: 106%;
}
.reservation-01 .red-box .f14{
  font-size: 93%;
}

.reservation-01 dl.form-02{
  margin-bottom: 3em;
}
.reservation-01 dl.form-02 dt{
  font-size: 120%;
  padding-left: 0;
  padding-top: 2.1em;
}
.reservation-01 dl.form-02 dt::before {
  font-size: 100%;
  padding: 0 0.5em;
  top: 0;
}
.reservation-01 dl.form-02 dd{
  padding-bottom: 2.5em;
}

.radio-input + label {
    display: block;
    width: 42%;
    padding: 0.6em 1em 0.6em 2.5em;
    margin-right: 0;
    font-size: 120%;
    margin-bottom: 0.6em;
}
.radio-input + label::before {
    top: 0.9em;
}
.radio-input:checked + label::after {
    top: 1.15em;
    left: 1.05em;
    width: 0.7em;
    height: 0.7em;
}

.reservation-01 .txt_line{
  padding: 1.5em 0;
  margin: 3em 0 2em;
}
.reservation-01 .txt_line img.txt_line-img{
  padding: 0 2em;
}
.reservation-01 .txt_line a.btn_line img{
  display: block;
  width: 100%;
  margin-top: 1em;
}

.reservation-01 .text-check{
  padding-left: 0;
  padding-top: 2.2em;
  margin: 2em auto 0.5em;
}
.reservation-01 .text-check::before {
    width: 1.8em;
    height: 1.8em;
    margin-left: -0.9em;
}
.reservation-01 a.tel-01 {
    width: 19em;
    margin: 1.5em auto 3em;
    padding: 0.6em 0 0.5em;
}
.reservation-01 a.tel-01 span{
  font-size: 150%;
}
.reservation-01 .red-box h3{
  font-size: 106%;
}

ol.form-ol li h4{
  font-size: 106%;
  padding: 1em 0 1em 2.5em;
}
ol.form-ol li h4::before {
    font-size: 106%;
    top: 50%;
    margin-top: -0.8em;
}

.tabs #tab-1_content iframe {
    height: 15em;
}
.tabs #tab-2_content iframe {
    height: 15em;
}
.tabs .tab_content{
  padding: 2em 0 0;
}

.gray-box{
  padding: 1em;
}

.reservation-01 img.stop {
    margin: 2em 0 1em;
}
ol.form-ol .img_app {
    float: inherit;
    width: 50%;
    margin: 2em auto;
}
ol.form-ol .left-box {
    margin: 2em 0;
}

.reservation-01 .appli-btn{
  background-color: #f1f1f1;
  padding: 0.6em 3% 0;
}
.reservation-01 .appli-btn img{
  width: 48%;
  margin: 0 1%;
  float: left;
}


.calender-wrap .month{
    line-height: 2em;
    margin-top: 0.5em;
}
.calender ul.week li, .calender ul.day li {
    line-height: 3em;
}
.freeday-wrap {
    width: 90%;
}
.freeday-wrap .prev-freeday { left: -1em; }
.freeday-wrap .next-freeday { right: -1em; }

ul.freeday li {
    width: calc( 85% / 3 );
    line-height: 2.5em;
}
ul.freeday li.time {
    width: 15%;
}




/*　privacy , tokutei
------------------------------------------------------------------------------------------------*/

.privacy .white-box,
.tokutei .white-box{
  background: #fff;
  padding: 1.5em 4%;
}
.privacy h2,
.tokutei h2{
  margin-bottom: 0.8em;
  font-size:5vw;
}
.tokutei dl{
  font-size: 85%;
}
.tokutei dt{
  width: 30%;
}
.tokutei dd{
  width: 70%;
}




}/*　スマホここまで */

