body{
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", sans-serif;
}
a{
  text-decoration: none;
}
a, a:active, a:focus {
   outline: none;
}
img{
  max-width: 100%;
}
/*common*/
.font-midashi{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: bold;
}
.font-oswald {
  font-family: 'Oswald', sans-serif;
  font-weight: normal;
  -moz-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-deg, 0deg);
    -webkit-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-deg, 0deg);
    -o-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
    -ms-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
    transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
}
.txt-i {
  -moz-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-deg, 0deg);
    -webkit-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-deg, 0deg);
    -o-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
    -ms-transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
    transform: scale(1) rotate(0deg) translate(0px, 0px) skew(-5deg, 0deg);
}
  .title-01{
  text-align: center;
  line-height: 1.8;
  margin-bottom: 76px;
  font-weight: normal;
}
.title-01 span{
  display: block;
  transform: none;
}
.m-width{
  width: 70%;
  margin: 0 auto;
  max-width: 880px;
}
.line-title{
  color: #fff;
  text-align: center;
  margin-bottom: 40px;
  position: relative;
}
.line-title:after{
  position: absolute;
  top: calc(50% - 2px);
  content: "";
  width: 100%;
  height: 4px;
  display: block;
  background: #000;
}
.line-title span{
  background: #000;
  width: 280px;
  padding: 14px 0;
  display: inline-block;
  border-radius: 30px;
  position: relative;
  z-index: 2;
  font-weight: bold;
}
/*font*/
.mb-100 {
  margin-bottom: 100px;
}
.font-10{
  font-size: 10px;
}
.font-11{
  font-size: 11px;
}
.font-12{
  font-size: 12px;
}
.font-13{
  font-size: 13px;
}
.font-14{
  font-size: 14px;
}
.font-15{
  font-size: 15px;
}
.font-16{
  font-size: 16px;
}
.font-17{
  font-size: 17px;
}
.font-18{
  font-size: 18px;
}
.font-24{
  font-size: 24px;
}
.font-25{
  font-size: 25px;
}
.font-9-eng{
  font-size: 9px;
}
.font-10-eng{
  font-size: 10px;
}
.font-14-eng{
  font-size: 14px;
}
.font-16-eng{
  font-size: 16px;
}
.font-19-eng{
  font-size: 19px;
}
.font-22-eng{
  font-size: 22px;
}
.font-24-eng{
  font-size: 24px;
}
.font-30-eng{
  font-size: 30px;
}
.font-32-eng{
  font-size: 32px;
}
.font-35-eng{
  font-size: 35px;
}
.font-42-eng{
  font-size: 42px;
}
.font-44-eng {
  font-size: 44px;
}
.font-48-eng{
  font-size: 48px;
}
.font-55-eng{
  font-size: 55px;
}
.font-91-eng{
  font-size: 91px;
}
.font-m-12 {
  font-size: 12px;
}
.font-m-14{
  font-size: 14px;
}
.font-m-16{
  font-size: 16px;
}
.font-m-17{
  font-size: 17px;
}
.font-m-18 {
  font-size: 18px;
}
.font-m-20 {
  font-size: 20px;
}
.font-m-21{
  font-size: 21px;
}
.font-m-22 {
  font-size: 22px;
}
.font-m-23{
  font-size: 23px;
}
.font-m-24 {
  font-size: 24px;
}
.font-m-25 {
  font-size: 25px;
}
.font-m-26 {
  font-size: 26px;
}
.font-m-27{
  font-size: 27px;
}
.font-m-28 {
  font-size: 28px;
}
.font-m-29 {
  font-size: 29px;
}
.font-m-30 {
  font-size: 30px;
}
.font-m-31 {
  font-size: 31px;
}
.font-m-32 {
  font-size: 32px;
}
.font-m-33 {
  font-size: 33px;
}
.font-m-34 {
  font-size: 34px;
}
.font-m-35{
  font-size: 35px;
}
.font-m-36 {
  font-size: 36px;
}
.font-m-38 {
  font-size: 38px;
}
.font-m-39 {
  font-size: 38px;
}
.font-m-40 {
  font-size: 40px;
}
.font-m-42 {
  font-size: 42px;
}
.font-m-46 {
  font-size: 46px;
}
.font-m-47 {
  font-size: 47px;
}
.font-m-48{
  font-size: 48px;
}
.font-m-53 {
  font-size: 53px;
}
.font-m-54 {
  font-size: 54px;
}
.font-m-56{
  font-size: 56px;
}
.font-m-58 {
  font-size: 58px;
}
.font-m-60 {
  font-size: 60px;
}
.font-m-62 {
  font-size: 62px;
}
.font-m-82 {
  font-size: 82px;
}
.font-16-eng {
  font-size: 16px;
}
.font-28-eng {
  font-size: 28px;
}
.font-38-eng {
    font-size: 38px;
}
.font-51-eng {
    font-size: 51px;
}
.font-60-eng{
  font-size: 60px;
}
.font-72-eng {
  font-size: 72px;
}
.font-87-eng {
  font-size: 87px;
}
.font-94-eng {
  font-size: 94px;
}
.font-102-eng {
  font-size: 102px;
}
.font-104-eng {
  
  font-size: 104px;
}
/*font*/
/*line-height*/
.line-hei1 {
  line-height: 1;
}
.line-hei1_375 {
  line-height: 1.375;
}
.line-hei1_5 {
  line-height: 1.5;
}
.line-hei1_75 {
  line-height: 1.75;
}
.line-hei1_8 {
  line-height: 1.8;
}
.mb-100 {
  margin-bottom: 100px;
}
/*margin*/
.container{
  width: 87%;
  max-width: 1080px;
  margin: 0 auto;
}
.main-width{
  width: 1280px;
  margin: 0 auto;/*
  padding-top: 23px;
  padding-bottom: 23px;*/
}
.sp-only{
  display: none;
}
img{
  max-width: 100%;
}
.clearfix:after{
  content: "";
  display: block;
  clear: both;
}
/*header*/
.fix-menu, .fix-menu-tel{
  display: none;
}
header{
  background: #00aafa;
    position: fixed;
    top: 0;
    transition: .5s;
    width: 100%;
    z-index: 999;
}
header.hide{
  transform: translateY(-100%);
}
header.menu-active {
  transform: translateY(0);
}
.header-inner{
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: calc(100vw / 1920 * 1110);
  position: relative;
  z-index: 8;
  padding: 0;
}
.menu-list{
  display: flex;
  align-items: center;
}
.menu-list > li > a{
  color: #000000;
  position: relative;
}
.menu-list > li > a:after {
  content: '';
  border-bottom: 2px solid #fff;
  width: 0;
  left: 0;
  bottom: -5px;
  position: absolute;
  transition: all 2s ease;
}
.menu-list > li > a:hover:after{
  left: 0;
    width: 100%;
}
header.inView .menu-list > li a.top-menu:after,header.sub-header .menu-list > li a.top-menu:after {
  border-bottom: 2px solid #00aafa;
}
header.inView,header.sub-header{
  /*background: #fff;*/
}
header.sub-header{
  background: #fff;
}
/*header.inView .menu-list li a.top-menu:hover{
  border-bottom: 2px solid #00aafa;
  padding-bottom: 5px;
}*/
.menu-list > li{
  /*margin-right: 27px;*/
  padding: 0 13.5px;
}
.menu-list > li:last-child{
  /*margin-left: 10px;*/
  padding-left: 10px;
  padding-right: 0;
}
.menu-list > li:nth-child(6){
  /*margin-right: 42px;*/
  padding-right: 29px;
  letter-spacing: 1px;
}
.menu-list > li:nth-child(7){
  /*margin-right: 10px;*/
  padding-right: 0;
  letter-spacing: 1px;
}
.menu-list > li:nth-child(-n+6){
  padding-top: 26px;
  padding-bottom: 26px;
}
.menu-list > li:nth-child(7),
.menu-list > li:nth-child(8){
  /*padding-bottom: 23px;*/
}
.header-inner + .subMenuGnav {
  display: none;
}
.blue-text{
  color: #00aafa;
}
.yellow-text{
  color: #ff0;
}
.white-text{
  color: #fff;
}
.text-center{
  text-align: center;
}
.font-bold{
  font-weight: bold;
}
.white-link{
  width: calc(100vw / 1920 * 220);
  background: #fff;
  padding: calc(100vw / 1920 * 8);
  border-radius: calc(100vw / 1920 * 50);
  display: inline-block;
  box-sizing: border-box;
  color: #000;
  border: calc(100vw / 1920 * 2) solid #00aafa;
}
.white-link:hover {
  background: #000000;
  color: #ffffff;
  transition: all 0.4s;
}
.white-border-link{
  border: calc(100vw / 1920 * 2) solid #fff;
  background: #00aafa;
  padding: calc(100vw / 1920 * 14) calc(100vw / 1920 * 18);
  border-radius: calc(100vw / 1920 * 50);
  display: inline-block;
  display: inline-block;
}
.white-border-link:after,.white-link:after {
  border-bottom: none !important;
}
.white-border-link:hover{
  background: #fff;
  color: #000;
  transition: all 0.4s;
}
header.inView .white-border-link,header.sub-header .white-border-link{
  background: #00aafa;
}
header.inView .white-border-link:hover,header.sub-header .white-border-link:hover {
  background: #000;
  color: #00aafa;
}
header .header-counseling-link{
  display: block;
  width: calc(100vw / 1920 * 200);
}
.logo {
    width: 16.712%;
    max-width: calc(100vw / 1920 * 202);
    /*padding-left: 7px;*/
}
.logo img{
  width: 100%;
}
.message-img{
  display: inline-block;
  width: 10.62%;
  min-width: 15px;
  margin-right:  16px;
}
.message-img img{
  vertical-align: -6px;
}
/*header*/
/*footer*/
.black-bg{
  background: #000;
  padding-top: 82px;
}
.footer-menu{
  padding-bottom: 85px;
}
.footer-menu li{
  float: left;
  width: 30.92592592592593%;
  margin-right: 3.611111111111111%;
  position: relative;
  margin-bottom: 7px;
}
.footer-menu li:nth-child(3n){
  margin-right: 0;
}
.footer-menu li a{
  color: #fff;
  display: block;
  padding: 24px 0;
  border-bottom: 1px solid #fff;
}
.footer-menu li a:hover{
  opacity: 0.7;
}
.footer-menu li:after{
  content: "";
    position: absolute;
    background: url(../img/common/link_arrow.png) #00aafa no-repeat center;
    background-size: 6px;
    width: 30px;
    border-radius: 50%;
    height: 30px;
    top: 25%;
    right: 0;
    background-position: center;
}
.clinic-link ul li{
  width: 18.88888888888889%;
  text-align: center;
  display: inline-block;
  float: left;
  margin-bottom: 1.388888888888889%;
  margin-right: 1.388888888888889%;
  position: relative;
}
@keyframes arrow {
    0% {
      right: 15px;
    }
    100% {
      right: 5px;
    }
  }
.clinic-link ul li:after{
  content: "";
  position: absolute;
  background: url(../img/common/link_arrow.png)no-repeat;
  width: 10px;
  height: 14px;
  background-size: contain;
  right: 15px;
  top: 36%;
}
.clinic-link ul li:hover:after {
  animation: arrow .4s;
}
.clinic-link ul li a{
  background: #00aafa;
  display: block;
  color: #000;
  padding: 22px 0;
  font-weight: bold;
  border-radius: 5px;
}
.clinic-link ul li:nth-of-type(5n+0){
  margin-right: 0;
}
.clinic-link ul li:nth-child(16),.clinic-link ul li:nth-child(17),.clinic-link ul li:nth-child(18){
  margin-bottom: 0;
}
.wt-title{
  color: #fff;
  font-weight: normal;
  text-align: center;
  padding-bottom: 38px;
}
.clinic-link{
  padding-bottom: 100px;
}
.copy-right{
  text-align: right;
}
.bg-white{
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 60px 0;
}
.bg-white-link ul{
  margin-bottom: 24px;
}
.bg-white-link li{
  float: left;
}
.bg-white-link li:not(:last-child){
  border-right: 1px solid #000;
  padding-right: 5px;
  margin-right: 5px;
}
.bg-white-link a{
  color: #000;
  letter-spacing: 1px;
}
.bg-white-link a:hover{
  opacity: 0.7;
}
.ft-logo{
  width: 22.22222222222222%;
    max-width: 240px;
}
/*footer*/
/*common*/
.flex {
  display: flex;
  justify-content: space-between;
}
.sp {
  display: none;
}
.txt-center {
  text-align: center;
}
.txt-right {
  text-align: right;
}
.txt-blue {
  color: #00aafa;
}
.txt-lgray {
  color: #898989;
}
.txt-bold {
  font-weight: bold;
}
/*start button*/
.btn {
  width: 299px;
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
  padding-left: 11px;
  margin-top: 60px;
}
.btn-shadow {
  width: 288px;
  height: 64px;
  background: rgba(0,147,248,0.9);
  position: absolute;
  bottom: 0;
  bottom: -9px;
  right: -11px;
  border-radius: 50px;
}
.btn a {
  width: 100%;
    background: #fff;
    text-align: center;
    display: block;
    border: 4px solid #00aafa;
    box-sizing: border-box;
    padding: 24px 0;
    color: #000;
    border-radius: 50px;
    position: relative;
    transition: all .2s;
}
.btn a:before {
  content: "";
  width: 15px;
  height: 15px;
  background: url(../img/top/right-arr.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 7%;
}
.btn a:hover {
  background: #000;
  color: #fff;
}
.btn a:hover:before {
  background: url(../img/top/arr-blue.png) no-repeat;
  background-size: contain;
}
.btn.blue a {
  background: #00aafa;
    border-color: #fff;
}
.btn.blue .btn-shadow {
  background: rgba(0,147,248,0.4);
}
.btn.blue a:hover {
    background: #fff;
    color: #00aafa;
    border-color: #00aafa;
}
/*breadcrumb*/
.breadcrumb ul {
  display: flex;
  justify-content: flex-start;
}
.breadcrumb ul li {
  padding: 15px 0;
  margin-right: 26px;
  display: flex;
  font-size: 13px;
  font-weight: bold;
  /*font-family: 'Noto Sans JP', sans-serif;*/
}
.breadcrumb ul li span {
  display: block;
}
.breadcrumb ul li a {
  position: relative;
  font-weight: bold;
  color: #00a9fa;
  vertical-align: top;
}
.breadcrumb ul li:last-child a{
  color: #000000;
}
.breadcrumb ul li a:after {
  content: '';
    width: 6px;
    height: 8px;
    background: url(../img/common/bc-arr.png) no-repeat;
    background-size: contain;
    position: absolute;
    right: -18px;
    top: 50%;
    transform: translateY(-50%);
}
#slide-clinic1 ul,#slide-clinic2 ul{
  /*display: none;*/
}
.row-animated {
-webkit-animation-name: slideInDown;
  animation-name: slideInDown;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
}
#slide-clinic1 ul.row-animated,#slide-clinic2 ul.row-animated{
  display: block;
}
/*the animation definition*/
@-webkit-keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
  }
}
@keyframes slideInDown {
  0% {
    -webkit-transform: translate3d(0, -100%, 0);
    -ms-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
  }
}
#slide-clinic1 .height-add{
  height: 292px;
}
#slide-clinic2 .height-add{
  height: 73px;
}
/*social*/
.social-sec{
  background: #00aafa;
}
.social-inner{
  display: flex;
  justify-content: space-between;
  padding-top: 80px;
  padding-bottom: 100px;
}
.social-block{
  width: 31.01851851851852%;
  margin-right: 3.703703703703704%;
}
.social-block .social-title {
  font-family: 'Oswald', 'Noto Sans JP';
  transform: none;
}
.social-inner .social-block:last-child{
  margin-right: 0;
}
.social-show{
  width: 100%;
  margin-top: 22px;
}
.social-show iframe {
  border-radius: 5px;
}
.twitter-icon,.instagram-icon,.facebook-icon{
  display: inline-block;
  width: 48px;
  margin-right: 15px;
}
/*social*/
@media screen and (max-width: 1280px) and (min-width: 768px) {
  .main-visual,#banner-gp,.swiper-blue-slider-sec,
  .gray-bg,.faq-sec,.news-sec,.social-sec,#reasons,#fav-section,#price-menus,
  #more-promotion-sec,.black-bg,.about-main-visual,.breadcrumb,#original-system,
  .max-width {
    width: 1280px;
  }
}

.period_gray_link {
  margin-top: calc(13px + (32 - 13) * ((100vw - 320px) / (767 - 320)));
}
.period_gray_link a {
  color: #969696;
  text-decoration: underline;
}
.period_change {
  margin-top: 6%;
}
@media screen and (max-width: 767px) {
  :root {
    --viewport: 750;
    --mensBlue: #009FE8;
  }

  .pc-only{
    display: none;
  }
  .sp-only{
    display: block;
  }
  header{
    position: fixed;
    top: 0;
    width: 100%;
  }
   .overlay {
    background-color: rgba(0, 0, 0, 0.7);
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1000;
  }
  .main-width{
    width: 100%;
    padding: 0;
  }
  .container{
    width: 85%;
  }
  /*common*/
  .m-width{
    width: 85%;
  }
  .title-01 {
      margin-bottom: calc(35px + (70 - 35) * ((100vw - 320px) / (767 - 320)));
      line-height: 1.6;
  }
  .line-title span{
    width: calc(175px + (400 - 175) * ((100vw - 320px) / (767 - 320)));
    padding: calc(8px + (15 - 8) * ((100vw - 320px) / (767 - 320))) 0;
      border-radius: calc(18px + (30 - 18) * ((100vw - 320px) / (767 - 320)));
  }
  .line-title:after {
      top: calc(50% - calc(1px + (2 - 1) * ((100vw - 320px) / (767 - 320))));
      height: calc(3px + (6 - 3) * ((100vw - 320px) / (767 - 320)));
  }
  .line-title {
      margin-bottom: calc(20px + (40 - 20) * ((100vw - 320px) / (767 - 320)));
  }
  /*font*/
    .font-16-sp{
    font-size: calc(7px + (16 - 7) * ((100vw - 320px) / (767 - 320)));
  }
  .font-18-sp{
    font-size: calc(9px + (18 - 9) * ((100vw - 320px) / (767 - 320)));
  }
  .font-20-sp {
    font-size: calc(9px + (20 - 9) * ((100vw - 320px) / (767 - 320)));
  }
  .font-22-sp{
    font-size: calc(9.5px + (22 - 9.5) * ((100vw - 320px) / (767 - 320)));
  }
  .font-23-sp {
    font-size: calc(10px + (23 - 10) * ((100vw - 320px) / (767 - 320))); 
  }
  .font-24-sp{
    font-size: calc(11px + (25 - 11) * ((100vw - 320px) / (767 - 320)));
  }
  .font-25-sp{
    font-size: calc(11px + (26 - 11) * ((100vw - 320px) / (767 - 320)));
  }
  .font-26-sp{
    font-size: calc(11px + (26 - 11) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-27-sp {
    font-size: calc(12px + (27 - 12) * ((100vw - 320px) / (767 - 320)));
  }
  .font-28-sp{
    font-size: calc(13px + (28 - 13) * ((100vw - 320px) / (767 - 320)));
  }
  .font-30-sp {
    font-size: calc(12px + (30 - 12) * ((100vw - 320px) / (767 - 320)));
  }
  .font-31-sp {
    font-size: calc(13px + (31 - 13) * ((100vw - 320px) / (767 - 320)));
  }
  .font-32-sp{
    font-size: calc(14px + (32 - 14) * ((100vw - 320px) / (767 - 320)));
  }
  .font-40-sp {
    font-size: calc(13px + (40 - 13) * ((100vw - 320px) / (767 - 320))); 
  }
  .font-48-sp {
    font-size: calc(21px + (48 - 21) * ((100vw - 320px) / (767 - 320)));
  }

  .font-m-21-sp{
    font-size: calc(9px + (21 - 9) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-35-sp{
    font-size: calc(15px + (35 - 15) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-22-sp{
    font-size: calc(9px + (22 - 9) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-24-sp {
    font-size: calc(11px + (24 - 11) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-26-sp {
    font-size: calc(11px + (27 - 11) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-28-sp{
    font-size: calc(13px + (29 - 13) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-29-sp{
    font-size: calc(14px + (29 - 14) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-30-sp{
    font-size: calc(13px + (30 - 13) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-31-sp{
    font-size: calc(13px + (31 - 13) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-32-sp {
    font-size: calc(13px + (33 - 13) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-33-sp {
    font-size: calc(13px + (33 - 13) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-34-sp{
    font-size: calc(14px + (34 - 14) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-36-sp {
    font-size: calc(15px + (36 - 15) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-38-sp{
    font-size: calc(17px + (38 - 17) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-40-sp {
    font-size: calc(17px + (40 - 17) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-41-sp {
    font-size: calc(17px + (41 - 17) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-42-sp {
    font-size: calc(18px + (43 - 18) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-44-sp{
    font-size: calc(20px + (44 - 20) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-46-sp {
    font-size: calc(21px + (47 - 21) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-48-sp {
    font-size: calc(22px + (48 - 22) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-49-sp{
    font-size: calc(20px + (49 - 20) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-50-sp {
    font-size: calc(20px + (50 - 20) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-52-sp {
    font-size: calc(22px + (52 - 22) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-54-sp {
    font-size: calc(23px + (54 - 23) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-55-sp {
    font-size: calc(23px + (55 - 23) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-56-sp{
    font-size: calc(25px + (56 - 25) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-58-sp {
      font-size: calc(24px + (58 - 24) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-60-sp {
    font-size: calc(24px + (60 - 24) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-63-sp {
    font-size: calc(26px + (64 - 26) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-65-sp {
    font-size: calc(32px + (65 - 32) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-66-sp{
    font-size: calc(31px + (66 - 31) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-68-sp {
    font-size: calc(35px + (68 - 35) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-74-sp {
    font-size: calc(30px + (74 - 30) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-75-sp {
    font-size: calc(30px + (75 - 30) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-77-sp {
    font-size: calc(31px + (77 - 31) * ((100vw - 320px) / (767 - 320)));
  }
  .font-m-82-sp {
    font-size: calc(32px + (82 - 32) * ((100vw - 320px) / (767 - 320)));
  }
  .font-42-eng-sp{
    font-size: calc(18px + (42 - 18) * ((100vw - 320px) / (767 - 320)));
  }
  .font-18-eng-sp{
    font-size: calc(9px + (18 - 9) * ((100vw - 320px) / (767 - 320)));
  }
  .font-20-eng-sp{
    font-size: calc(9px + (20 - 9) * ((100vw - 320px) / (767 - 320)));
  }
  .font-26-eng-sp{
    font-size: calc(12px + (26 - 12) * ((100vw - 320px) / (767 - 320)));
  }
  .font-28-eng-sp{
    font-size: calc(12px + (28 - 12) * ((100vw - 320px) / (767 - 320)));
  }
  .font-32-eng-sp{
    font-size: calc(14px + (32 - 14) * ((100vw - 320px) / (767 - 320)));
  }
  .font-36-eng-sp{
    font-size: calc(16px + (36 - 16) * ((100vw - 320px) / (767 - 320)));
  }
  .font-38-eng-sp {
    font-size: calc(16px + (38 - 16) * ((100vw - 320px) / (767 - 320)));
  }
  .font-40-eng-sp {
    font-size: calc(10px + (40 - 10) * ((100vw - 320px) / (767 - 320)));
  }
  .font-45-eng-sp {
    font-size: calc(18px + (45 - 18) * ((100vw - 320px) / (767 - 320)));
  }
  .font-50-eng-sp{
    font-size: calc(23px + (50 - 23) * ((100vw - 320px) / (767 - 320)));
  }
  .font-60-eng-sp {
    font-size: calc(24px + (60 - 24) * ((100vw - 320px) / (767 - 320)));
  }
  .font-62-eng-sp{
    font-size: calc(28px + (62 - 28) * ((100vw - 320px) / (767 - 320)));
  }
  .font-70-eng-sp {
    font-size: calc(36px + (70 - 36) * ((100vw - 320px) / (767 - 320)));
  }
  .font-75-eng-sp {
    font-size: calc(32px + (75 - 32) * ((100vw - 320px) / (767 - 320)));
  }
  .font-80-eng-sp{
    font-size: calc(37px + (80 - 37) * ((100vw - 320px) / (767 - 320)));
  }
  .font-110-eng-sp {
    font-size: calc(43px + (110 - 43) * ((100vw - 320px) / (767 - 320)));
  }
  .font-120-eng-sp{
    font-size: calc(53px + (120 - 53) * ((100vw - 320px) / (767 - 320)));
  }
  .font-134-eng-sp {
    font-size: calc(57px + (134 - 57) * ((100vw - 320px) / (767 - 320)));
  }
  .font-135-eng-sp {
    font-size: calc(57px + (135 - 57) * ((100vw - 320px) / (767 - 320)));
  }
  .font-150-eng-sp {
    font-size: calc(61px + (150 - 61) * ((100vw - 320px) / (767 - 320)));
  }
  /*font*/
  #reasons .font-14-sp {
      font-size: calc(10px + (25.5 - 10) * ((100vw - 320px) / (767 - 320)));
  }
  #reasons .font-16-sp {
      font-size: calc(11px + (26 - 11) * ((100vw - 320px) / (767 - 320)));
  }
  #reasons .font-m-38-sp {
    font-size: calc(21px + (50 - 21) * ((100vw - 320px) / (767 - 320)));
  }
  #reasons .font-m-36-sp {
    font-size: 36px;
  }
  #reasons .font-m-25-sp {
    font-size: calc(14px + (33 - 14) * ((100vw - 320px) / (767 - 320)));
  }
  #reasons .font-m-20-sp {
    font-size: calc(11px + (25 - 11) * ((100vw - 320px) / (767 - 320)));
  }
  #reasons .font-m-30-sp {
    font-size: calc(16px + (39 - 16) * ((100vw - 320px) / (767 - 320)));
  }
  #reasons .font-18-sp{
    font-size: calc(9px + (18 - 9) * ((100vw - 320px) / (767 - 320)));
  }
  #reasons .font-22-sp{
    font-size: calc(10px + (22 - 10) * ((100vw - 320px) / (767 - 320)));
  }
  #reasons .font-24-sp{
    font-size: calc(11px + (24 - 11) * ((100vw - 320px) / (767 - 320)));
  }
  #reasons .font-26-sp{
    font-size: calc(12px + (26 - 12) * ((100vw - 320px) / (767 - 320)));
  }
  #reasons .font-32-sp{
    font-size: calc(14px + (32 - 14) * ((100vw - 320px) / (767 - 320)));
  }
  .logo{
    /*width: 39%;*/
    width: 70%;
    max-width: none;
    padding-left: calc(4px + (12 - 4) * ((100vw - 320px) / (767 - 320)));
  }
  .sp-header{
    width: 100%;
    text-align: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
  .sp-header .btn_header_counseling{
    width: 80%;
  }
  #btn_tel{
    position: fixed;
    bottom: 22vw;
    z-index: 999;
    width: 8vw;
  }
  .fix-menu-tel.active{
    display: block;
  }
  .white-link{
    border: calc(1.5px + (3 - 1.5) * ((100vw - 320px) / (767 - 320))) solid #00aafa;
    width: calc(140px + (330 - 140) * ((100vw - 320px) / (767 - 320)));
    text-align: center;
    padding: calc(7px + (16 - 7) * ((100vw - 320px) / (767 - 320))) 0;
  }
  .tel-link{
    display: inline-block;
    width: calc(30px + (71 - 30) * ((100vw - 320px) / (767 - 320)));
    margin-right: calc(4px + (9 - 4) * ((100vw - 320px) / (767 - 320)));
  }
  .header-inner{
    padding: calc(10px + (20 - 10) * ((100vw - 320px) / (767 - 320))) 0;
    width: 95%;
  }
  .message-img {
    margin-right: 5px;
  }
  .message-img img {
      vertical-align: calc(-4px + (-9 + 4) * ((100vw - 320px) / (767 - 320)));
  }
  #menu span{
    position: relative;
    width: calc(25px + (50 - 25) * ((100vw - 320px) / (767 - 320)));
    height: calc(25px + (50 - 25) * ((100vw - 320px) / (767 - 320)));
    margin: 0 auto;
    display: block;
  }

  #menu span:before{
    top: calc(3px + (6 - 3) * ((100vw - 320px) / (767 - 320)));
  }
  #menu.close span:before{
    -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      top: calc(12px + (24 - 12) * ((100vw - 320px) / (767 - 320)));
  }
  #menu i{
    top: calc(12px + (24 - 12) * ((100vw - 320px) / (767 - 320)));
  }
  #menu.close i{
    opacity: 0;
  }
  #menu span:after{
    bottom: calc(3px + (6 - 3) * ((100vw - 320px) / (767 - 320)));
  }
  #menu.close span:after{
    -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
      bottom: calc(12px + (24 - 12) * ((100vw - 320px) / (767 - 320)));
  }
  #menu i, #menu span:before, #menu span:after {
      content: " ";
      position: absolute;
      left: 0;
      width: 100%;
      height: calc(1.5px + (3 - 1.5) * ((100vw - 320px) / (767 - 320)));
      background-color: #00aafa;
      -webkit-transition: all .4s ease-out;
      transition: all .4s ease-out;
  }
  .sp-menu {
      overflow-y: scroll;
      background: #fff;
      position: fixed;
      right: -100vw;
      top: 0;
      -webkit-transition: all 0.5s ease;
      transition: all 0.5s ease;
      z-index: 1001;
      height: 100vh;
      right: -100vw;
      width: 90vw;
  }
  .sp-menu.menu-show {
    bottom: 0;
    right: 0;
    top: 0;
  }
  .sp-menu-inner{
    padding: calc(100vw / var(--viewport) * 33) calc(100vw / var(--viewport) * 42) calc(100vw / var(--viewport) * 170);
    box-sizing: border-box;
  }
  .sp-menu-inner .btn_counseling {
    color: #000;
    background: var(--mensBlue);
    border: calc(2px + (6 - 2) * ((100vw - 320px) / (767 - 320))) solid #00aafa;
    border-radius: calc(40px + (80 - 40) * ((100vw - 320px) / (767 - 320)));
    display: block;
    padding: calc(9px + (16 - 9) * ((100vw - 320px) / (767 - 320))) 0;
    text-align: center;
    line-height: 1.3;
    position: relative;
    font-weight: bold;
    margin-bottom: calc(100vw / var(--viewport) * 26);
  }
  .sp-menu-inner .btn_counseling span {
    color: #fff;
    font-size: calc(100vw / var(--viewport) * 30);
  }
  .sp-menu-inner .flex {
    justify-content: space-between;
  }
  .sp-menu-inner .flex .black-btn {
    width: 49%;
  }
  .sp-menu-inner .flex .black-btn:after {
    content: none;
  }
  .yellow-btn{
    background: #ffff00;
    border: calc(2px + (6 - 2) * ((100vw - 320px) / (767 - 320))) solid #00aafa;
    border-radius: calc(40px + (80 - 40) * ((100vw - 320px) / (767 - 320)));
    display: block;
    padding: calc(9px + (16 - 9) * ((100vw - 320px) / (767 - 320))) 0;
    text-align: center;
    line-height: 1.3;
    position: relative;
    font-weight: bold;
    color: #000000;
  }
  .yellow-btn:after{
    position: absolute;
    content: "";
    background: url(../img/common/link_arrow.png)no-repeat;
    width: calc(10px + (20 - 10) * ((100vw - 320px) / (767 - 320)));
    height: calc(10px + (20 - 10) * ((100vw - 320px) / (767 - 320)));
    right: calc(13px + (26 - 13) * ((100vw - 320px) / (767 - 320)));
    background-size: contain;
    top: 40%;
  }
  .yellow-btn span{
    color: #00aafa;
  }
  .blue-btn{
    background: #00aafa;
    display: block;
    border-radius: calc(20px + (40 - 20) * ((100vw - 320px) / (767 - 320)));
    padding: calc(13px + (26 - 13) * ((100vw - 320px) / (767 - 320))) 0;
    text-align: center;
    position: relative;
    margin: calc(10px + (20 - 10) * ((100vw - 320px) / (767 - 320))) 0;
    font-weight: bold;
    color: #000000;
  }
  .blue-btn:after{
    position: absolute;
    content: "";
    background: url(../img/common/link_arrow.png)no-repeat;
    width: calc(8px + (16 - 8) * ((100vw - 320px) / (767 - 320)));
    height: calc(8px + (16 - 8) * ((100vw - 320px) / (767 - 320)));
    right: calc(10px + (20 - 10) * ((100vw - 320px) / (767 - 320)));
    background-size: contain;
    top: 40%;
  }
  .black-btn{
    background: #000;
    color: #fff;
    border-radius: calc(20px + (40 - 20) * ((100vw - 320px) / (767 - 320)));
    text-align: center;
    padding: calc(13px + (26 - 13) * ((100vw - 320px) / (767 - 320))) 0;
    display: block;
    position: relative;
    font-weight: bold;
  }
  .black-btn:after{
    position: absolute;
    content: "";
    background: url(../img/common/blue_link_arrow.png)no-repeat;
    width: calc(8px + (16 - 8) * ((100vw - 320px) / (767 - 320)));
    height: calc(8px + (16 - 8) * ((100vw - 320px) / (767 - 320)));
    right: calc(10px + (20 - 10) * ((100vw - 320px) / (767 - 320)));
    background-size: contain;
    top: 40%;
  }
  .sp-menu-inner > ul{
    margin-top: calc(100vw / var(--viewport) * 60);
  }
  .sp-menu-inner .ttl_acco {
    text-align: center;
  }
  .sp-menu-inner .ttl_acco.bb-none a {
    border-color: transparent;
  }
  .sp-menu ul li.ttl_acco:after {
    content: "";
    width: calc(100vw / var(--viewport) * 50);
    height: calc(100vw / var(--viewport) * 50);
    background: url(../img/common/aco_plus.png) center center no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
  }
  .sp-menu ul li.ttl_acco.active:after {
    background: url(../img/common/aco_minus.png) center center no-repeat;
    background-size: 100% auto;
  }
  .sp-menu ul li.ttl_acco a {
    color: var(--mensBlue);
  }
  .sp-menu ul li{
    position: relative;
  }
  .sp-menu ul li a{
    color: #000;
    padding: calc(15px + (40 - 15) * ((100vw - 320px) / (767 - 320))) 0;
    display: block;
    position: relative;
    font-weight: bold;
    border-bottom: 2px solid #000;
  }
  .sp-menu ul li a.target_link:after{
    position: absolute;
    content: "";
    background: url(../img/common/target_link_icon.png)no-repeat;
    width: calc(12px + (26 - 12) * ((100vw - 320px) / (767 - 320)));
    height: calc(12px + (26 - 12) * ((100vw - 320px) / (767 - 320)));
    background-size: contain;
    right: calc(8px + (16 - 8) * ((100vw - 320px) / (767 - 320)));
    top: 35%;
  }
  .fix-menu{
    position: fixed;
    width: 100%;
    bottom: 0;
    background: rgba(255,255,255,0.9);
    z-index: 1002;
  }
  .fix-menu.active{
    display: block;
  }
  .fix-menu ul{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .fix-menu ul li{
    width: 25%;
    text-align: center;
  }
  .fix-menu ul li a{
    display: block;
    color: #000;
    padding: calc(10px + (20 - 10) * ((100vw - 320px) / (767 - 320))) 0;
    font-weight: bold;
  }
  .fix-menu ul li a .icon{
    width: calc(22px + (52 - 22) * ((100vw - 320px) / (767 - 320)));
    margin: 0 auto;
    padding-bottom: calc(7px + (14 - 7) * ((100vw - 320px) / (767 - 320)));
  }
  .footer-menu li{
    width: 100%;
    float: none;
  }
  .footer-menu li a{
    padding: calc(17px + (32 - 17) * ((100vw - 320px) / (767 - 320))) 0;
    border-bottom: calc(0.5px + (2 - 0.5) * ((100vw - 320px) / (767 - 320))) solid #646464;
  }
  .footer-menu li:after{
    width: calc(20px + (45 - 20) * ((100vw - 320px) / (767 - 320)));
      height: calc(20px + (45 - 20) * ((100vw - 320px) / (767 - 320)));
  }
  .footer-menu {
      padding-bottom: calc(45px + (90 - 45) * ((100vw - 320px) / (767 - 320)));
  }
  .clinic-link ul li{
    width: 48.5%;
    margin-right: 0;
    border-radius: calc(3px + (6 - 3) * ((100vw - 320px) / (767 - 320)));
    margin-bottom: 3%;
  }
  .clinic-link ul li:nth-of-type(odd){
    margin-right: 3%;
  }
  .black-bg {
      padding-top: calc(45px + (90 - 45) * ((100vw - 320px) / (767 - 320)));
  }
  .clinic-link ul li:nth-child(16), .clinic-link ul li:nth-child(17), .clinic-link ul li:nth-child(18){
    margin-bottom: 3%;
  }
  .clinic-link ul li a {
      padding: calc(11px + (24 - 11) * ((100vw - 320px) / (767 - 320))) 0;
      border-radius: calc(2.5px + (5 - 2.5) * ((100vw - 320px) / (767 - 320)));
  }
  .wt-title{
    padding-bottom: calc(20px + (50 - 20) * ((100vw - 320px) / (767 - 320)));
  }
  .clinic-link ul li:after{
    width: calc(7px + (12 - 7) * ((100vw - 320px) / (767 - 320)));
      height: calc(9px + (16 - 9) * ((100vw - 320px) / (767 - 320)));
      right: calc(6px + (18 - 6) * ((100vw - 320px) / (767 - 320)));
      top: 38%;
  }
  .clinic-link {
      padding-bottom: calc(40px + (80 - 40) * ((100vw - 320px) / (767 - 320)));
  }
  .bg-white{
    display: block;
    padding-top: calc(40px + (80 - 40) * ((100vw - 320px) / (767 - 320)));
      padding-bottom: calc(80px + (160 - 80) * ((100vw - 320px) / (767 - 320)));
  }
  .ft-logo {
      width: 60%;
      max-width: 380px;
      margin: 0 auto;
  }
  .copy-right{
    text-align: center;
  }
  .bg-white-link ul {
      margin-bottom: calc(25px + (50 - 25) * ((100vw - 320px) / (767 - 320)));
      text-align: center;
      margin-top: calc(40px + (100 - 40) * ((100vw - 320px) / (767 - 320)));
	  line-height: 1.5;
  }
  .bg-white-link li {
      float: none;
      display: inline-block;
  }
  .bg-white-link li:first-child{
    border:none;
    padding: 0;
    margin: 0;
  }
  .mb-100 {
      margin-bottom: calc(67px + (152 - 67) * ((100vw - 320px) / (767 - 320)));
  }
  /*start button*/
  .btn {
      width: calc(216px + (520 - 216) * ((100vw - 320px) / (767 - 320)));
      padding-left: 0;
      margin-top: calc(35px + (85 - 35) * ((100vw - 320px) / (767 - 320)));
  }
  .btn-shadow {
      width: calc(216px + (520 - 216) * ((100vw - 320px) / (767 - 320)));
      height: calc(55px + (118 - 55) * ((100vw - 320px) / (767 - 320)));
      bottom: calc(-8px + (-15 + 8) * ((100vw - 320px) / (767 - 320)));
      right: calc(-4px + (-10 + 4) * ((100vw - 320px) / (767 - 320)));
      border-radius: 70px;
  }
  .btn a {
      border: calc(3px + (6 - 3) * ((100vw - 320px) / (767 - 320))) solid #00aafa;
      padding: calc(17px + (43 - 17) * ((100vw - 320px) / (767 - 320)));
      border-radius: 70px;
  }
  .btn a:before {
      content: "";
      width: calc(7px + (18 - 7) * ((100vw - 320px) / (767 - 320)));
      height: calc(9px + (26 - 9) * ((100vw - 320px) / (767 - 320)));
      right: 4%;
  }
  /*end button*/
  /*breadcrumb*/
  .breadcrumb ul li {
    padding: calc(10px + (25 - 10) * ((100vw - 320px) / (767 - 320))) 0;
    margin-right: calc(19px + (50 - 19) * ((100vw - 320px) / (767 - 320)));
    font-size: calc(11px + (26 - 11) * ((100vw - 320px) / (767 - 320)));
    line-height: 1.5em;
  }
  .breadcrumb ul li:last-child{
    margin-right: 0;
  }
  .breadcrumb ul li span{
    vertical-align: calc(-4px + (0 + 4) * ((100vw - 320px) / (767 - 320)));
  }
  .breadcrumb ul li a:after {
      width: calc(6px + (19 - 6) * ((100vw - 320px) / (767 - 320)));
      height: calc(8px + (19 - 8) * ((100vw - 320px) / (767 - 320)));
      right: calc(-15px + (-40 + 15) * ((100vw - 320px) / (767 - 320)));
  }
  .breadcrumb ul {
    width: 90%;
  }
  #slide-clinic1 .height-add{
    height: calc(409px + (922 - 409) * ((100vw - 320px) / (767 - 320)));
  }
  #slide-clinic2 .height-add{
    height: calc(123px + (277 - 123) * ((100vw - 320px) / (767 - 320)));
  }
  .icon_topic i img {
  width: calc(47/750 * 100vw);
  height: calc(53/750 * 100vw);
  }

}
@media screen and (min-width: 768px) {
  .main-visual,
  .about-main-visual,
  .price-main-visual,
  .price-bust-main-visual,
  .knowledge-main-visual,
  .masui_main_visual,
  .form-main-visual,
  .main_visual_con,
  .qa_single .breadcrumb {
    margin-top: calc(100vw / 1920 * 65) !important;
  }
  #page-form .header-inner,
  .input-form .header-inner {
    /*padding: 13px 0;*/
    padding: 0;
    height: calc(100vw / 1920 * 65);
  }
}


body.no-scroll {
  overflow:hidden;
}
@supports (-webkit-touch-callout: none) {
  .sp-menu {
    height: -webkit-fill-available;
  }
}
.sp-menu a.target_link:after,
.sp-menu a.target_link_white:after {
  content: "";
  width: calc(12px + (26 - 12) * ((100vw - 320px) / (767 - 320)));
  height: calc(12px + (26 - 12) * ((100vw - 320px) / (767 - 320)));  background-size: contain;
  position: absolute;
  top: 35%;
  right: calc(8px + (16 - 8) * ((100vw - 320px) / (767 - 320)));
}
.sp-menu a.target_link:after {
  background: url(<?php echo $path; ?>/img/common/target_link_icon.png)no-repeat;
  background-size: contain;
}
.sp-menu a.target_link_white:after {
  background: url(<?php echo $path; ?>/img/common/target_link_icon_white.png)no-repeat;
  background-size: contain;
}
.sp-menu .title {
  text-align: center;
  background: #fff;
  border-radius: 5px;
}
.sp-menu ul.ul_under li:first-child {
  border-top: 1px solid #464646;
  border-bottom: none;
  margin-top: calc(15px + (30 - 15) * ((100vw - 320px) / (767 - 320)));
  margin-bottom: 0;
}
.sp-menu .ttl_acco {
  position: relative;
}
.sp-menu .ttl_hige {
  margin-top: calc(100vw / var(--viewport) * 30);
}
.sp-menu .body_acco {
  font-weight: bold;
  display: none;
}
.sp-menu ul li.body_acco .ttl_acco {
  color: #00aafa;
  padding: calc(15px + (40 - 15) * ((100vw - 320px) / (767 - 320))) 0;
  border-top: 1px dotted #464646;
}
.sp-menu ul li.body_acco .ttl_acco:nth-child(2) {
  border-top: none;
}
.sp-menu ul li.body_acco,
.sp-menu ul li.body_acco li {
  border: none;
}
.sp-menu .body_acco a {
  padding-left: calc(100vw / var(--viewport) * 38);
}
.sp-menu ul.sub li {
  text-align: center;
  background: #fff;
  width: 48%;
  float: left;
  border-radius: 5px;
  margin-bottom: 4%;
}
.sp-menu ul.sub li:nth-child(2n) {
  float: right;
}
.sp-menu ul.sub li a {
  padding: 4vw 0;
  position: relative;
}
.sp-menu ul.sub li.pt a {
  padding: 2.03vw 0;
}
.sp-menu ul.sub li a span {
  color: #00aafa;
  font-size: 2.2vw;
  line-height: 1.8;
  display: block;
}
.sub-menu {
  display: none;
}
.arrow-triangle {
  display: inline-block;
    width: 0;
    height: 0;
  margin-top: calc(23/750*100vw);
    border-top: 20px solid #222;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
}
.ttl-ellipse {
  display: block;
    max-width: 100%;
    padding: 10px 0;
  margin-top: calc(38.6/750*100vw);
    margin-bottom: calc(31.9/750*100vw);
    font-weight: bold;
    text-align: center;
    color: #fff;
    border-radius: 25px;
    background: #00a9f8;
}
.mlr-auto {
  margin: 0 auto;
}
.arrow-triangle-area {
  margin: 0 auto; 
}
.icon_topic {
  line-height: 1;
}
.icon_topic span {
  vertical-align: bottom;
}
.txt-bg-yellow {
  background: #FFFF00;
  margin: 0 1%;
  padding: 0 2% 1%;
}
@media screen and (max-width:767px) {
  .sp-menu {
    height: 100%;
  }
  .sp-menu .yellow-btn {
    margin-bottom: calc(100vw / var(--viewport) * 26);
  }
  .sp-menu .btn_contact {
    display: block;
    margin: calc(100vw / var(--viewport) * 60) 0 calc(100vw / var(--viewport) * 60);
  }
  .sp-menu .btn_recruit {
    text-align: center;
  }
  .sp-menu .btn_recruit a {
    color: #222;
    text-decoration: none;
    position: relative;
  }
  .sp-menu .btn_recruit a:after {
    content: "";
    background: #222;
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    margin: 0 auto;
  }
  .sp-menu .btn_recruit .rotate {
    transform: rotate(90deg);
    display: inline-block;
  }
}
@media screen and (min-width:768px) {
  header {
    font-weight: bold;
  }
  body.index header {
    position: absolute;
  }
  body.index header.hidden {
    background: #fff;
    position: fixed;
    top: calc(100vw / 1920 * -90);
  }
  body.index header.hidden.active {
    position: fixed;
    top: 0;
  }
  .header-inner {
    height: calc(100vw / 1920 * 65);
    align-items: center;
  }
  .header-inner li {
    font-size: calc(100vw / 1920 * 12);
    margin-left: calc(100vw / 1920 * 14);
  }
  .header-inner .btn_menu {
    width: calc(100vw / 1920 * 40);
    /*margin-right: calc(100vw / 1920 * 15);*/
    cursor: pointer;
  }
  .header-inner .white-border-link {
    color: #222;
  }
  .header-inner .black-link {
    width: calc(100vw / 1920 * 117);
    background: #000;
    padding: calc(100vw / 1920 * 12.694) 0;
    border-radius: calc(100vw / 1920 * 50);
    display: inline-block;
    box-sizing: border-box;
    color: #fff;
    border: calc(100vw / 1920 * 2) solid #000;
  }
  .header-inner .black-link:hover {
    background: #fff;
    color: #000;
    transition: all 0.4s;
  }
  .menu-list {
    display: block;
  }
  .menu-list ul {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
  }
  .menu-list li a:after {
    transition: all .5s ease;
  }
  .overlay {
    background-color: rgba(0, 0, 0, 0.6);
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 3;
  }
  .header-inner + .subMenuGnav {
    background: #EEF0F5;
    padding: calc(100vw / 1920 * 20) calc(100vw / 1920 * 56);
    display: none;
    font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック", "Yu Gothic", sans-serif;
  }
  .subMenuGnav .inner {
    width: calc(100vw / 1920 * 1110);
    display: table;
    margin: 0 auto;
  }
  .subMenuGnav__contentsArea{
    display: flex;
    justify-content: flex-start;
  }
  .subMenuGnav__row01{
    width: calc(100vw / 1920 * 345);
  }
  .subMenuMain{
    width: calc(100vw / 1920 * 300);
    font-size: calc(100vw / 1920 * 16);
    color: #000;
  }
  .subMenuMain a{
    position: relative;
    line-height: calc(100vw / 1920 * 74);
  }
  .subMenuMain a:after{
    content: "";
    position: absolute;
    width: 0;
    /*width: 100%;*/
    left: 0;
    bottom: calc(100vw / 1920 * 6);
    height: calc(100vw / 1920 * 1.4);
    background: #000;
    transition: .6s;
  }
  .subMenuMain a:hover:after{
    width: 100%;
    /*width: 0;*/
  }
  .subMenuMain--Plan{
    width: calc(100vw / 1920 * 450);
    position: relative;
    line-height: calc(100vw / 1920 * 66);
  }
  .subMenuMain--Plan a:after{
    content: none;
  }
  .subMenuMain a{
    display: block;
    color: #000;
    position: relative;
    transition: .3s;
  }
  .subMenuMain a:before{
    content: "→";
    position: absolute;
    right: 0;
    /*right: 6%;
    transition: .3s;*/
  }
  .subMenuMain a:hover{
    opacity: 0.5;
  }
  .subMenuMain a:hover:before{
    right: 0;
  }
  .subMenuSmall{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: calc(100vw / 1920 * 450);
  }
  .subMenuSmall li{
    font-size: calc(100vw / 1920 * 14);
    font-weight: normal;
    position: relative;
    line-height: calc(100vw / 1920 * 50);
    color: #000;
    width: calc(100vw / 1920 * 210);
  }
  .subMenuSmall a{
    transition: .3s;
  }
  .subMenuSmall a:hover{
    opacity: 0.5;
  }
  .subMenuSmall li:before{
    content: "→";
    position: absolute;
    right: 0;
    /*transition: .3s;*/
  }
  .subMenuSmall li:hover:before{
    right: 0;
  }
  .subMenuSmall li:after{
    content: "";
    position: absolute;
    bottom: 0;
    width: 0;
    height: calc(100vw / 1920 * 1);
    background: #000;
    transition: .6s;
  }
  .subMenuSmall li:hover:after{
    width: 100%;
  }
  .subMenuSmall li a{
    display: block;
    color: #000;
  }
  .subMenuGnav__right a:hover{
      opacity: .8;
  }
  .subMenuGnav__right .link_center{
    font-size: calc(100vw / 1920 * 16);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #009FE8;
    text-align: center;
    position: relative;
    padding: calc(100vw / 1920 * 26) 0;
    background: rgba(255,255,255,.8);
    border-radius: 4px;
  }
  .subMenuGnav__right .link_center:before{
    content: "";
    background: url(/img/common/ico_spmenu_hige.png);
    background-size: cover;
    width: calc(100vw / 1920 * 50);
    height: calc(100vw / 1920 * 50);
    position: absolute;
    left: 2%;
  }
  .subMenuGnav__right .link_center:after{
    content: "";
    background: url(/img/common/ico_spmenu_arrow.png) center center no-repeat;
    background-size: contain;
    width: calc(100vw / 1920 * 34);
    height: calc(100vw / 1920 * 34);
    position: absolute;
    right: 3%;
  }
  .subMenuGnav__right{
    margin-left: auto;
    width: calc(100vw / 1920 * 280);
  }
  .subMenuGnav__skin{
    background: rgba(255,255,255,.8);
    border-radius: calc(100vw / 1920 * 4);
    margin-top: calc(100vw / 1920 * 20);
    padding: calc(100vw / 1920 * 20);
  }
  .subMenuGnav__skin__headline{
    display: block;
    text-align: center;
    font-size: calc(100vw / 1920 * 16);
    font-weight: normal;
    height: calc(100vw / 1920 * 40);
  }
  .subMenuGnav__skin__link{
    color: #000;
    display: block;
    font-size: calc(100vw / 1920 * 15);
    font-weight: normal;
    height: calc(100vw / 1920 * 30);
    position: relative;
  }
  .subMenuGnav__skin__link:before{
   content: "→";
    position: absolute;
    right: 0;
  }
  .subMenuGnav__skin ul li{
    padding: calc(100vw / 1920 * 8) 0;
    border-bottom: calc(100vw / 1920 * 1) solid #000;
  }
  .subMenuGnav__skin ul li:first-of-type{
    border-top: calc(100vw / 1920 * 1) solid #000;
  }
  

  .period_gray_link {
  margin-top: 20px;
  }
  .period_change {
  margin-top: 20px;
  padding-right: 4.5%;
  }
  .arrow-triangle-area {
  margin: 0 23px; 
  }
  .arrow-triangle {
  margin-top: 75px;
    border-top: 20px solid transparent;
    border-left: 20px solid #222;
  border-right: 0;
    border-bottom: 20px solid transparent;
  }
  .ttl-ellipse {
  margin: 0 auto 22px;
  padding: 10px 0;
  }
  .txt-bg-yellow {
  margin: 0 5px;
  padding: 0 10px 2px;
  }
  .flex_pc {
  display: flex;
  flex-wrap: wrap;
  }
}

.social-show {
  height: auto !important;
}
.social-show img {
  width: 100%;
  height: auto;
  border-radius: 1.33vw;
}
.social-show .btn {
  width: 78.67vw;
  margin: 6.27% auto 0;
}
.social-show .btn a {
  padding: calc(10px + (28 - 10) * ((100vw - 320px) / (767 - 320)));
}
.btn.black a {
    color: #fff;
    border-color: #000;
    background: #000;
}
.btn.black a:hover {
    color: #000;
    background: #fff;
}
.btn.black a:before {
    background: url(../img/top/arr-blue.png) no-repeat;
    background-size: contain;
}
.btn.black a:hover:before {
    background: url(../img/top/right-arr.png) no-repeat;
    background-size: contain;
}
@media screen and (min-width:768px) {
  .social-show img {
    border-radius: 5px;
  }
  .btn.black {
    width: 300px;
    margin: 30px auto 0;
  }
  .btn.black a {
    line-height: 38px;
    padding: 0;
  }
}

.bnr_skin {
    width: calc(100vw / var(--viewport) * 329);
    position: fixed;
    left: 0;
    bottom: calc(100vw / var(--viewport) * 159);
    z-index: 2;
    cursor: pointer;
    display: none;
}
#price .bnr_skin,
#price-bust .bnr_skin,
#discount .bnr_skin {
    display: none !important;
}
.overlay_skin {
    background-color: rgba(0, 0, 0, 0.6);
    bottom: 0;
    display: none;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1003;
}
.overlay_skin .inner {
    color: #fff;
    text-align: center;
    background: #333;
    border-radius: calc(100vw / var(--viewport) * 20);
    width: calc(100vw / var(--viewport) * 686);
    position: fixed;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
    z-index: 1004;
    padding: calc(100vw / var(--viewport) * 40) calc(100vw / var(--viewport) * 65) 0;
    box-sizing: border-box;
}
.overlay_skin .inner .title {
    width: calc(100vw / var(--viewport) * 527);
    margin: 0 0 0 calc(100vw / var(--viewport) * 57);
    position: relative;
    z-index: 1;
}
.overlay_skin .inner .boxes {
    flex-wrap: wrap;
    margin-top: calc(100vw / var(--viewport) * -18);
}
.overlay_skin .inner .boxes .box {
    color: #fff;
    font-weight: bold;
    text-align: center;
    width: 100%;
    background: rgba(0, 0, 0, .8);
    padding: calc(100vw / var(--viewport) * 40) 0;
}
.overlay_skin .inner .boxes .box .sub {
    font-size: calc(100vw / var(--viewport) * 20);
    line-height: 1.5;
}
.overlay_skin .inner .boxes .box .midashi {
    font-size: calc(100vw / var(--viewport) * 32);
    line-height: 1.2;
    margin-top: calc(100vw / var(--viewport) * 10);
}
.overlay_skin .inner .boxes .box .midashi_trial {
    color: #16AAFA;
    font-size: calc(100vw / var(--viewport) * 18);
}
.overlay_skin .inner .boxes .box .priceBox .price {
    color: #16AAFA;
    font-size: calc(100vw / var(--viewport) * 96);
    font-weight: normal;
    transform: none;
}
.overlay_skin .inner .boxes .box .priceBox .yen {
    font-size: calc(100vw / var(--viewport) * 36);
    width: auto;
    margin: 0;
}
.overlay_skin .inner .boxes .box .other {
    font-size: calc(100vw / var(--viewport) * 14);
    width: calc(100vw / var(--viewport) * 440);
    height: calc(100vw / var(--viewport) * 28);
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff;
    border-radius: calc(100vw / var(--viewport) * 8);
    margin: calc(100vw / var(--viewport) * 24) auto 0;
}
.overlay_skin .inner .boxes .button {
    font-size: calc(100vw / var(--viewport) * 20);
    margin: calc(100vw / var(--viewport) * 20) 0 calc(100vw / var(--viewport) * 40);
}
.overlay_skin .inner .boxes .button a {
    color: #fff;
    width: calc(100vw / var(--viewport) * 320);
    height: calc(100vw / var(--viewport) * 56);
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #fff;
    border-radius: 50vw;
    margin: 0 auto;
}
.overlay_skin .inner .btn_close {
  width: calc(100vw / var(--viewport) * 54);
  height: calc(100vw / var(--viewport) * 4);
  background: #fff;
  position: absolute;
  top: calc(100vw / var(--viewport) * -22);
  right: 0;
  transform: rotate(45deg);
}
.overlay_skin .inner .btn_close:after {
  content: "";
  width: calc(100vw / var(--viewport) * 54);
  height: calc(100vw / var(--viewport) * 4);
  background: #fff;
  display: block;
  transform: rotate(-90deg);
}

@media screen and (max-width:767px) {
  .overlay_skin .inner .boxes {
    width: auto;
    flex-direction: column;
  }
  .overlay_skin .inner .boxes .priceBox {
    width: calc(100vw / var(--viewport) * 440);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: calc(100vw / var(--viewport) * 24) auto 0;
  }
  .overlay_skin .inner .boxes .box .midashi_trial.sp {
    line-height: 1.5;
    white-space: nowrap;
    height: calc(100vw / var(--viewport) * 78);
    display: flex !important;
    align-items: center;
    padding: 0 calc(100vw / var(--viewport) * 16);
    margin-right: calc(100vw / var(--viewport) * 16);
    border-right: 1px solid #16AAFA;
  }
  .overlay_skin .inner .boxes .box .priceBox .yen {
    margin: calc(100vw / var(--viewport) * 56) 0 0;
  }
}

@media screen and (min-width:768px) {
  .bnr_skin {
    width: 200px;
    bottom: 113px;
  }
  .bnr_skin:hover {
    transition: all 0.4s;
    opacity: 0.8;
  }

  .overlay_skin .inner {
    border-radius: 20px;
    width: calc(100vw / var(--w120) * 880);
    padding: calc(100vw / var(--w120) * 30) calc(100vw / var(--w120) * 68);
  }
  .overlay_skin .inner .title {
    width: calc(100vw / var(--w120) * 576);
    margin-left: calc(100vw / var(--w120)* 160);
  }
  .overlay_skin .inner .title img {
    width: 100%;
  }
  .overlay_skin .inner .boxes {
    width: calc(100vw / var(--w120) * 744);
    margin-top: calc(100vw / var(--w120) * -10);
  }
  .overlay_skin .inner .boxes .pc_box {
    width: 48.39%;
  }
  .overlay_skin .inner .boxes .box {
    width: 100%;
    padding: calc(100vw / var(--w120) * 32) 0;
  }
  .overlay_skin .inner .boxes .box .sub {
    font-size: calc(100vw / var(--w120) * 16);
  }
  .overlay_skin .inner .boxes .box .midashi {
    font-size: calc(100vw / var(--w120) * 32);
    margin-top: calc(100vw / var(--w120) * 10);
  }
  .overlay_skin .inner .boxes .box .midashi_trial {
    font-size: calc(100vw / var(--w120) * 12);
    margin-top: calc(100vw / var(--w120) * 10);
  }
  .overlay_skin .inner .boxes .box .priceBox {
    margin-top: calc(100vw / var(--w120) * 20);
  }
  .overlay_skin .inner .boxes .pc_box:nth-child(1) .box .priceBox {
    padding-right: calc(100vw / var(--w120) * 62);
  }
  .overlay_skin .inner .boxes .box .priceBox .price {
    font-size: calc(100vw / var(--w120) * 72);
  }
  .overlay_skin .inner .boxes .box .priceBox .yen {
    font-size: calc(100vw / var(--w120) * 36);
  }
  .overlay_skin .inner .boxes .box .other {
    font-size: calc(100vw / var(--w120) * 12);
    line-height: 1.4;
    width: calc(100vw / var(--w120) * 58);
    height: calc(100vw / var(--w120) * 58);
    border-radius: calc(100vw / var(--w120) * 8);
    margin: 0;
    position: absolute;
    transform: translate(calc(100vw / var(--w120) * 278), calc(100vw / var(--w120) * -64));
  }
  .overlay_skin .inner .boxes .button {
    font-size: calc(100vw / var(--w120) * 16);
    margin: calc(100vw / var(--w120) * 37) 0 0;
  }
  .overlay_skin .inner .boxes .button a {
    width: calc(100vw / var(--w120) * 320);
    height: calc(100vw / var(--w120) * 56);
  }
  .overlay_skin .inner .btn_close {
    width: calc(100vw / var(--w120) * 32);
    height: calc(100vw / var(--w120) * 3);
    top: calc(100vw / var(--w120) * -28);
  }
  .overlay_skin .inner .btn_close:after {
    content: "";
    width: calc(100vw / var(--w120) * 32);
    height: calc(100vw / var(--w120) * 3);
  }
  @media screen and (min-width:1297px) {
    .overlay_skin .inner {
      width: 880px;
      padding: 30px 68px;
    }
    .overlay_skin .inner .title {
      width: 576px;
      margin-left: 160px;
    }
    .overlay_skin .inner .boxes {
      width: 744px;
      margin-top: -10px;
    }
    .overlay_skin .inner .boxes .box {
      padding: 32px 0;
    }
    .overlay_skin .inner .boxes .box .sub {
      font-size: 16px;
    }
    .overlay_skin .inner .boxes .box .midashi {
      font-size: 32px;
      margin-top: 10px;
    }
    .overlay_skin .inner .boxes .box .midashi_trial {
      font-size: 12px;
      margin-top: 10px;
    }
    .overlay_skin .inner .boxes .box .priceBox {
      margin-top: 20px;
    }
    .overlay_skin .inner .boxes .box:nth-child(1) .priceBox {
      padding-right: 62px;
    }
    .overlay_skin .inner .boxes .box .priceBox .price {
      font-size: 72px;
    }
    .overlay_skin .inner .boxes .box .priceBox .yen {
      font-size: 36px;
    }
    .overlay_skin .inner .boxes .box .other {
      font-size: 12px;
      width: 58px;
      height: 58px;
      border-radius: 8px;
      transform: translate(278px, -64px);
    }
    .overlay_skin .inner .boxes .button {
      font-size: 16px;
      margin: 37px 0 0;
    }
    .overlay_skin .inner .boxes .button a {
      width: 320px;
      height: 56px;
    }
    .overlay_skin .inner .btn_close {
      width: 32px;
      height: 3px;
      top: -28px;
    }
    .overlay_skin .inner .btn_close:after {
      width: 32px;
      height: 3px;
    }
  }
}

.btn_counseling_cta{
  width: calc(100vw / var(--viewport) * 520);
  margin: 6vw auto 0;
  animation: scaleChange 2s infinite;
  transition: all .4s;
}
.btn_counseling_cta a{
  display: block;
}
@media screen and (min-width:768px) {
  .btn_counseling_cta{
    width: 288px;
    margin: 80px auto 0;
  }
}
@-webkit-keyframes scaleChange {
  0% {
    scale: 1.05;
  }
  50% {
    scale: 0.95;
  }
  100% {
    scale: 1.05;
  }
}
@keyframes scaleChange {
  0% {
    scale: 1.05;
  }
  50% {
    scale: 0.95;
  }
  100% {
    scale: 1.05;
  }
}

/*add sp-menu*/
@media screen and (max-width: 767px){
  .sp-menu{
    font-family: "Hiragino Kaku Gothic ProN",  "Hiragino Sans",  "游ゴシック",  "Yu Gothic",  sans-serif;
  }
  .sp-menu ul li.menu-epilation li{
    border-bottom: 2px solid #000;
  }
  .sp-menu ul li.menu-epilation a{
    border-bottom: none;
    padding: calc(15px + (40 - 15) * ((100vw - 320px) / (767 - 320))) 4%;
  }
  .sp-menu ul li.bb-none{
    border-bottom: none;
  }
  .sp-menu ul li a.link_center{
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--mensBlue);
    text-align: center;
  }
  .sp-menu ul li a.link_center:before{
    content: "";
    background: url(/img/common/ico_spmenu_hige.png);
    background-size: cover;
    width: calc(100vw / var(--viewport) * 84);
    height: calc(100vw / var(--viewport) * 84);
    position: absolute;
    left: 2%;
  }
  .sp-menu ul li a.link_center:after{
    content: "";
    background: url(/img/common/ico_spmenu_arrow.png) center center no-repeat;
    background-size: contain;
    width: calc(100vw / var(--viewport) * 59);
    height: calc(100vw / var(--viewport) * 59);
    position: absolute;
    right: 4%;
  }
  .sp-menu-inner .target_link{
    display: block;
    margin-bottom: calc(100vw / var(--viewport) * 26);
  }
  .sp-menu-inner .flex .black-btn:first-of-type{
    width: 34%;
  }
  .sp-menu-inner .flex .black-btn{
    width: 62%;
  }
  .sp-menu ul li.ttl_acco.ttl_acco-plans a{
    color: #000;
    text-align: left;
    border-color: #000;
  }
  .sp-menu ul li.ttl_acco:after{
    right: 4%;
  }
  .sp-menu ul li.ttl_acco.ttl_acco-plans:after {
    content: "";
    width: 0;
    height: 0;
    border-left: calc(100vw / var(--viewport) * 20) solid transparent;
    border-right: calc(100vw / var(--viewport) * 20) solid transparent;
    border-top: calc(100vw / var(--viewport) * 30) solid #000;
    transition: all .4s;
    right: 5%;
  }
  .sp-menu ul li.ttl_acco.ttl_acco-plans.active:after{
    transform: rotate(180deg);
    top: 33%;
  }
  .sp-menu .body_acco.body_acco-plans li, .sp-menu .body_acco.body_acco-plans li a{
    font-weight: normal;
    border-bottom: none;
  }
}

.footer-links {
  padding-bottom: calc(45px + (90 - 45) * ((100vw - 320px) / (767 - 320)));
}
.footer-links * {
  color: #fff;
}
.footer-links .midashi,
.footer-links a {
  font-weight: bold;
  display: block;
  padding: calc(100vw / var(--viewport) * 17) 0;
}
.footer-links .midashi a {
  padding: 0;
}
.footer-links li a {
  font-weight: normal;
  margin-left: 3em;
  position: relative;
}
.footer-links li a:before {
  content: "";
  background: #00aafa;
  display: block;
  width: 1em;
  height: 2px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2em;
}
@media screen and (min-width:768px) {
  .footer-links {
    padding-bottom: 85px;
  }
  .footer-links .pc_flex {
    display: flex;
    justify-content: space-between;
  }
  .footer-links .midashi,
  .footer-links a {
    padding: 5px 0;
  }
  .footer-links a:hover {
    text-decoration: underline;
  }
}

/*cp時調整*/
.badge:after{
    content: none !important;
}