@charset "UTF-8";

/************************************
** 768px以下
************************************/
@media (max-width: 768px) {
/* 768px以下 */

/**********************
 * 固定ページ
 **********************/
.page .article{
  margin: 0;
}

/**********************
 * 全体
 **********************/
.inner {
  max-width: 100%;
}
.box-shadow {
  width: 90%;
  border-radius: 10vw;
  padding: 10vw 5vw;
}
.home p {
  font-size: 3.8vw;
}

/* em */
em.em-ttl {
  font-size: 4.3vw;
  margin: 0 0 3vw;
}

/* em-heading */
em.em-heading i {
  font-size: 4.3vw;
  margin-bottom: 1vw;
}

.page .entry-header h1{
	font-size: 48px;
	margin: 50px 0 60px;
	padding: 0;
}
	
/* h2 */
h2.h2-ttl {
  font-size: 7.8vw;
  margin: 0 0 7vw;
}
.box-shadow h2.h2-ttl {
  margin-bottom: 10vw;
}

/* h3 */
h3.h3-ttl {
  font-size: 5vw;
  margin: 0 0 3vw;
}

/* PC SP */
.pc {
  display: none !important;
}
.sp{
  display: block !important;
}

/**********************
 * ヘッダー
 **********************/
#header{
  height: auto;
  width: 85%;
}
#header-in {
  flex-direction: row;
  align-items: center;
  background: #fff;
}
.header-logo{
  width: 50%;
  position: static;
  padding: 0vw 3vw 0 0;
  background: #fff;
}
.header-logo a{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
#header-in .site-ttl{
  width: 49%;
  position: static;
  padding: 3vw;
}
#header-in .site-ttl p{
  font-size: 3vw;
}

/* ボタン */
#header .btnMenu {
  width: 17vw;
  height: 17vw;
  border-radius: 0;
  top: 0;
  margin: 0;
}

/* 閉じる */
#header-container-in .closeBtn {
  width: 17vw;
  height: 17vw;
  top: 0px;
  right: 0;
  margin-right: 0;
}

/* グローバルナビゲーション */
.navWrap{
  flex-direction: column;
}
.navWrap .nav-logo{
  display: none;
}
.navWrap nav.nav{
  width: 100%;
}
.navWrap nav.nav ul li a{
  font-size: 5.7vw;;
  padding: 0;
}

/* ヘッダーコンタクト */
.header-contact{
  display: none;
}

#container{
  padding-top: 17vw;
}

/**********************
 * メインイメージ
 **********************/
.main_img{
  height: auto;
  flex-direction: column-reverse;
  padding: 3.3vw;
  padding-bottom: 77vw;
  margin: 0;
}
.main_img .txt-box{
  width: 100%;
  margin: 0 0 7vw;
}
.main_img .txt-box h2.symptoms {
  margin-bottom: 0;		
}
.main_img .txt-box h2.symptoms p{
  font-size: 5vw;
}
.main_img .txt-box .term p {
  font-size: 6vw;
}
.main_img .img-box{
  width: 100%;
  margin: 0 0 7vw;
}
.main_img .img-box figure img {
  border-radius: 40px 40px 50px 50px;
}
.main_img .img-box figure.img01{
  width: 90%;
  height: 100%;
}
.main_img .img-box figure.img02, .main_img .img-box figure.img03 {
  width: 45%;
  height: 85%;
}
.main_img .img-box figure.img02{
  bottom: -25px;
  top: auto;
  right: 0;
}
.main_img .img-box figure.img03{
  right: 0;
  bottom: 0;
}
.main_img .img-box figure.img02 img{
  border-radius: 30px;
}
.main_img .img-box figure.img03 img{
  border-radius: 0 0 40px 0;
}
.main-point{
  width: 100%;
  padding: 3vw;
  bottom: 16vw;
}
.main-point ul{
  left: auto;
  gap: 3vw 3vw;
  justify-content: center;
}
.main-point ul li {
  padding: 5vw 3vw 5vw;
  min-width: auto;
  width: 48%;
  font-size: 3vw;
}
.main-point ul li.point-l {
  width: 70%;
}
.main-point ul li div em {
  font-size: 4vw;
}
.main-point ul li strong{
  padding: 1vw 2.4vw;
  border-radius: 0 0 0 20px;
}
.main-point ul li strong small{
  font-size: 3.7vw;
}
.main-point ul li strong i{
  font-size: 5.3vw;
}
.main-badge {
  right: 3vw;
  bottom: 4vw;
}
.main-badge img{
  width: 43vw;
}

/* 固定ページのみ追加 */
.pga-main-point{
  bottom: 10vw;
}

/**********************
 * TOP　バナー
 **********************/
.top-bnr{
  margin: 15vw 0 0;
}
.top-bnr .inner {
  max-width: 100%;
}
.top-bnr ul li .bar-inner a {
  padding: 7vw;
  justify-content: center;
  text-align: center;
}
.top-bnr ul li .bar-inner a figure {
  width: auto;
}
.top-bnr ul li .bar-inner a figure .img img {
  width: auto;
  height: auto;
  right: 0;
  position: revert;
  transform: none;
}
.top-bnr ul li .bar-inner a .in em{
  justify-content: center;
}
.top-bnr ul li .bar-inner a .in h2 {
  font-size: 10vw;
}
.top-bnr ul li .store-bnr a .in h2 span {
  font-size: 17vw;
}
.top-bnr ul li .store-bnr a .in p.p-store{
  min-width: auto;
  font-size: 4vw;
  padding: 5vw;
  margin: 7vw 0 0;
}
.top-bnr ul li .badge-bnr a .in .icon img{
  width: 40%;
  margin: auto;
}
.top-bnr ul li .badge-bnr a figure .img img{
  width: 80%;
  margin: 5vw 0 0;
}
.top-bnr ul li .bar-inner a:before{
  display: none;
}

/**********************
 * TOP　特徴
 **********************/
.top-features {
  margin: 15vw 0 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
}
.top-features .txt-box {
  width: 100%;
}
.top-features .txt-box em.em-ttl{
  justify-content: center;
}
.top-features .txt-box h2.h2-ttl{
  text-align: center;
}
.top-features .img-box{
  width: 100%;
  position: static;
  padding: 5vw;
}
.top-features .img-box img {
  border-radius: 10vw;
}

/**********************
 * TOP　お悩み
 **********************/
.top-onayami{
  margin: 15vw 0 0;
}
.top-onayami .inner{
  flex-direction: column;
}
.top-onayami .img-box{
  width: 100%;
  min-height: auto;
  position: static;
  margin: 0 0 7vw;
  justify-content: center;
}
.top-onayami .img-box img {
  border-radius: 10vw;
  width: 47vw;
  height: 47vw;
}
.top-onayami .txt-box {
  width: 100%;
  padding: 0vw;
}
.top-onayami .txt-box h2.h2-ttl{
  text-align: center;
  margin-bottom: 30px;
}
.top-onayami .txt-box ul li {
  font-size: 4vw;
  padding: 5vw 10vw;
  margin: 0vw 2vw 5vw 2vw;
}
.top-onayami .ttl {
  bottom: -20vw;
  right: 11vw;
}
.top-onayami .ttl p {
  font-size: 6vw;
}

/**********************
 * TOP　お任せ
 **********************/
.top-omakase{
  margin: 15vw 0 0;
}

/* menu_box */
ul.menu_box{
  gap: 7vw 0;
}
ul.menu_box li{
  width: 100%;
}
ul.menu_box li a {
  padding: 4vw;
}
ul.menu_box li a img {
  width: 30vw;
  height: 30vw;
}
ul.menu_box li a p {
  font-size: 5vw;
  padding: 3vw;
  width: 37vw;
}
ul.menu_box li a .corner {
  width: 17vw;
  height: 17vw;
}
ul.menu_box li a .corner p{
  padding: 5vw;
  font-size: 3vw;
}

/* sub-Menu */
.sub-Menu{
  border-radius: 7vw;
  flex-direction: column;
}
.sub-Menu .txt-box{
  width: 100%;
  border-radius: 6vw 6vw 0 0;
  padding: 3vw;
}
.sub-Menu .txt-box p {
  font-size: 4.4vw;
}
.sub-Menu ul{
  width: 100%;
  padding: 3vw;
}
.sub-Menu ul li {
  font-size: 3.7vw;
}
.sub-Menu ul li::after{
  width: 4vw;
}
.sub-Menu .deco {
  bottom: auto;
  left: auto;
  right: -9vw;
  width: 18vw;
}

/**********************
 * TOP　症状
 **********************/
.top-symptom{
  margin: 15vw 0 0;
}

/**********************
 * TOP　施術メニュー
 **********************/
.top-treatment{
  margin: 15vw 0 0;
}
ul.treatment-menu{
  gap: 7vw;
  margin: 4vw auto 7vw;
}
ul.treatment-menu li{
  width: 100%;
  padding: 3vw;
}
ul.treatment-menu li a img {
  width: 27vw;
  height: 27vw;
}
ul.treatment-menu li a p {
  font-size: 3.7vw;
  padding: 3vw;
  width: 56vw;
}

/* btn01 */
.btn01 a{
  font-size: 4.7vw;
  padding: 3vw 3vw;
}

/**********************
 * TOP　bnr02
 **********************/
.top-bnr02{
  margin: 15vw 0 0;
}
.top-bnr02 ul li a{
  border-radius: 7vw;
}

/**********************
 * TOP　選ばれる理由
 **********************/
.top-reason{
  margin: 15vw 0 0;
  padding: 15vw 0px;
}
.top-reason-in{
  flex-direction: column-reverse;
  align-items: center;
}
.top-reason-in .box-shadow{
  width: 80%;
  padding: 10vw 4vw;
  backdrop-filter: none;
}
.top-reason-in .box-shadow ul{
  gap: 7vw 0;
  align-content: flex-end;
  margin: 0;
}
.top-reason-in .box-shadow ul li{
  border-radius: 7vw;
  font-size: 3.8vw;
  gap: 3vw;
  width: 95%;
}
.top-reason-in .box-shadow ul li:before{
  width: auto;
  font-size: 7vw;
}
.top-reason-deco{
  opacity: 1;
  transition: none;
  animation: none;
  width: 60vw;
  height: 60vw;
  position: relative;
  top: auto;
  margin-bottom: 10vw;
}
.top-reason-deco::before{
  width: 60vw;
  height: 60vw;
  box-shadow: 20px 17px 15px var(--color-sub);
  z-index: 1;
}

/* 固定ページ追加 */
.page-reason-deco{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0 3vw;
}
.top-reason-deco02{
  opacity: 1;
  transition: none;
  animation: none;
  width: 40vw;
  height: 40vw;
  position: relative;
  top: auto;
  margin-bottom: 10vw;
}
.top-reason-deco02::before{
  width: 40vw;
  height: 40vw;
  box-shadow: 20px 17px 15px rgba(62, 119, 198, 0.6);
  z-index: 1;
}
.page-reason-deco .top-reason-deco{
  width: 40vw;
  height: 40vw;
}
.page-reason-deco .top-reason-deco::before{
  width: 40vw;
  height: 40vw;
}
.page-reason{

}

/**********************
 * TOP　アクセス
 **********************/
.top-access{
  margin: 15vw 0 0;
}
.top-access ul{
  gap: 5vw 0;
}
.top-access ul li {
  padding: 5vw;
  width: 100%;
}
.access-txt p.ttl {
  font-size: 4.8vw;
  margin: 0 0 3vw;
}
.access-txt p.access {
  font-size: 3.8vw;
}
.access-txt div.txt-box {
  gap: 2vw;
  margin: 0 0 4vw;
}
.access-txt div.txt-box dl {
  font-size: 3.8vw;
  gap: 4vw;
}
.access-txt div.txt-box dl dt {
  font-size: 3.3vw;
}
.access-txt p.note {
  font-size: 3.4vw;
}
.access-btn,
.link-btn{
  margin: 7vw 0 0;
  gap: 3vw;
}
.access-btn div,
.link-btn div{
  width: 100%;
}
.access-btn div a,
.link-btn div a {
  padding: 3vw;
  gap: 3vw;
}
.access-btn div a p,
.link-btn div a p {
  font-size: 4.4vw;
}

/**********************
 * TOP　患者様の声
 **********************/
.top-voice{
  margin: 15vw 0 0;
}
.top-voice-in .item{
  margin: 0 auto 7vw;
  flex-direction: column;
}
.top-voice-in .item .img-box {
  width: 53%;
  margin: 0 0 4vw;
}
.top-voice-in .item .txt-box {
  width: 100%;
}
.top-voice-in .item .txt-box h3.h3-ttl{
  text-align: center;
}

/**********************
 * TOP　施術の流れ
 **********************/
.top-flow{
  margin: 15vw 0 0;
}
.top-flow-in .item{
  margin: 7vw 0;
  padding: 7vw 0;
  flex-direction: column;
  gap: 3vw;
}
.top-flow-in .item:first-child{
  margin-top: 0;
  padding-top: 0;
}
.top-flow-in .item-last{
  margin-bottom: 0;
  padding-bottom: 0;
}
.top-flow-in .num-box{
  width: auto;
  font-size: 15vw;
}
.top-flow-in .num-box small {
  font-size: 4.3vw;
}
.top-flow-in .txt-box {
  padding: 0;
}
.top-flow-in .txt-box h3.h3-ttl{
  text-align: center;
}
.top-flow-in .img-box {
  width: 70vw;
}

/**********************
 * TOP　ご挨拶
 **********************/
.top-greeting{
  margin: 15vw 0 0;
}
.top-greeting .inner{
  flex-direction: column;
  align-items: center;
}
.top-greeting .inner .img-box{
  width: 80%;
  min-height: auto;
  position: static;
  padding: 0;
  margin: 0 0 7vw;
}
.top-greeting .inner .img-box img{
  width: 100%;
  height: 250px;
}	
.top-greeting .inner .txt-box{
  width: 100%;
  padding: 0;
}
.top-greeting .inner .txt-box h3.h3-ttl{
  text-align: center;
  font-size: 25px;
  margin: 0 0 40px 0;
}
top-greeting .inner .txt-box .txt-personal {
  padding: 7vw;
  margin: 7vw 0 0;
}
.top-greeting .inner .txt-box .txt-personal p.p-02 {
  font-size: 3vw;
}
.top-greeting .inner .txt-box .txt-personal p.p-03 {
  font-size: 3vw;
}

/**********************
 * TOP　アクセス02
 **********************/
.top-access02{
  margin: 15vw 0 0;
}
.top-access02 ul{
  gap: 7vw;
}
.top-access02 .access-in{
  flex-direction: column;
}
.top-access02 .access-in .access-txt {
  width: 100%;
}
.top-access02 .access-in .access-txt p.area{
  font-size: 3vw;
}
.top-access02 .access-in .access-txt p.ttl{
  font-size: 3.8vw;
}
.top-access02 .access-in .access-map {
  width: 100%;
}
.top-access02 .access-in .access-txt p.ttl {
  font-size: 4.8vw;
}
.top-access02 .access-in .access-map{
  width: 100%;
  margin: 7vw 0 0;
}
.top-access02 .access-in .access-map {
  position: relative;
  padding-bottom: 75%; /*これが縦横比*/
  height: 0;
  overflow: hidden;
}
.top-access02 .access-in .access-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/**********************
 * フッター
 **********************/
#footer{
  margin: 15vw 0 0;
}
#footer-in{
  padding: 15vw 10vw;
}
.footer-txt h2 {
  font-size: 5.7vw;
}
.footer-bottom{
  font-size: 3.3vw;
  padding: 3vw 0 23vw;
}

/**********************
 * appeal
 **********************/
.appeal{
  margin: 15vw 0 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
}
.appeal .inner{
  width: 100%;
}
.appeal-deco-box{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4vw;
}
.appeal-deco{
  position: static;
  left: auto;
  bottom: auto;
  width: 40vw;
  height: 40vw;
}
.appeal-deco02{
  position: static;
  right: auto;
  bottom: auto;
  width: 40vw;
  height: 40vw;
}
.appeal-deco img,
.appeal-deco02 img {
  border-radius: 7vw;
}

/**********************
 * knowledge
 **********************/
.knowledge{
  margin: 15vw 0 0;
}
.knowledge .inner{
  flex-direction: column-reverse;
  align-items: center;
  gap: 7vw;
}
.knowledge .txt-box{
  width: 100%;
}
.knowledge .txt-box p {
  margin-bottom: 7vw;
}
.knowledge .img-box{
  width: 100%;
  position: static;
  margin: 0;
  width: 67vw;
  height: 67vw;
}
.knowledge .img-box img{
  position: static;
}

/**********************
 * check
 **********************/
.check{
  margin: 15vw 0 0;
}
.check h2.h2-ttl::before{
  width: 20vw;
  height: 24vw;
  left: -3vw;
  top: 70%;
}
.check h2.h2-ttl::after{
  width: 20vw;
  height: 24vw;
  right: -3vw;
  top: 70%;
}
.check-in ul{
  gap: 4vw;
}
.check-in ul li{
  padding: 7vw;
  font-size: 4vw;
}
.check-in ul li:before{
  width: 20vw;
  font-size: 10vw;
}
.check p.txt{
  font-size: 3.9vw;
  margin: 7vw 0 0;
}

/**********************
 * check02
 **********************/
.check02-in{
  flex-direction: column;
  overflow: hidden;
  padding: 10vw 5vw;
}
.check02-in::before {
  width: 100%;
  border-radius: 30px;
}
.check02-in .txt-box{
  width: 100%;
}
.check02-in .txt-box p {
  font-size: 7vw;
}
.check02-in ul.list{
  width: 100%;
  gap: 4vw;
}
.check02-in ul.list li {
  font-size: 3.7vw;
  padding: 4vw 3vw;
}
.check02-deco {
  width: 30vw;
  left: auto;
  right: -8vw;
  overflow: hidden;
}

/**********************
 * 下層ページ　症状のメインイメージ
 **********************/
p.main_symptom_img{
  max-width: 100%;
  margin: 0 auto 0;
}

/**********************
 * バナー　追加
 **********************/
.bnr_box{
  margin: 15vw auto;
  width: 93%;
}

/**********************
 * フッターポップアップ
 **********************/
.footer-popup ul {
  width: 100%;
  display: flex;
  justify-content: center;
  table-layout: fixed;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 999999999;
}

.footer-popup ul li {
  width: 60%;
}

input#sp-popup_tel:checked + #popuptel_wrap{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  opacity: 1;
  transition: all 0.3s ease;
  height: 100vh;
  z-index: 99999999999999999999999999;
}

input#sp-popup_tel:checked + #popuptel_wrap::before{
  background: #181818;
  opacity: 0.7;
  content: '';
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  z-index: -10;
}

div#popuptel_wrap div.popuptel_inner {
  background-color: #fff;
  border-radius: 8px;
  display: block;
  margin-bottom: 15vw;
  width: 84vw;
  height: auto;
  padding: 5vw 0;
  z-index: 0;
}

div#popuptel_wrap div.popuptel_inner > p{
  font-size: 5vw;
  line-height: 1.7;
  font-weight: bold;
  text-align: center;
  display: block;
}

div#popuptel_wrap div.popuptel_inner ul{
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  padding: 3.5vw 5vw;
  background: #ffebeb;
  margin: 3.5vw 0 4vw;
}

div#popuptel_wrap div.popuptel_inner ul li{
  width: 45%;
  margin: 0 auto;
  border-radius: 1.5vw;
  padding-bottom: 3vw;
}

div#popuptel_wrap div.popuptel_inner ul li:nth-child(1) {
  background: #e7453c;
}

div#popuptel_wrap div.popuptel_inner ul li:nth-child(2) {
  background: #19a7c9;
}

div#popuptel_wrap div.popuptel_inner ul li a{
  display: block;
  text-decoration: none;
  color: #fff;
  font-size: 3.75vw;
}

div#popuptel_wrap div.popuptel_inner ul li span{
  width: 9vw;
  background-color: #fff;
  height: 9vw;
  border-radius: 800px;
  text-align: center;
  display: flex;
  align-items: center;
  margin: 3vw auto;
}

div#popuptel_wrap div.popuptel_inner ul li span i{
  margin: 0 auto;
  font-size: 8.7vw;
}

div#popuptel_wrap div.popuptel_inner ul li:nth-child(1) span i {
  color: #e7453c;
}

div#popuptel_wrap div.popuptel_inner ul li:nth-child(2) span i {
  color: #19a7c9;
}

div#popuptel_wrap div.popuptel_inner ul li b{
  text-align: center;
  display: block;
}

div#popuptel_wrap div.popuptel_inner label{
  background-color: #898989;
  width: 80%;
  border-radius: 5000px;
  text-align: center;
  display: block;
  padding: 1.25vw;
  position: relative;
  color: #fff;
  max-width: 280px;
  margin: 0vw auto 0;
}

div#popuptel_wrap div.popuptel_inner label::before{
  border-left: 2px solid ;
  border-top: 2px solid ;
  border-color: #fff;
  content: "";
  height: 6px;
  position: absolute;
  right: 15px;
  top: 45%;
  -moz-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  width: 6px;
}

div#popuptel_wrap {
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  overflow: hidden;
  height: 0;
}

/**********************
 * 下層ページ はじめての方
 **********************/	
.beginner-content {
    flex-direction: column !important;
	width: 100%;	
}
.beginner-content .pic-box img {
	width: 90%;		
	margin: 0 auto;
}
.beginner-content .txt-box {
    padding: 90px 30px 30px !important;
    margin: -15% 0 0 !important;
}
.beginner-content .txt-box h3 {
	text-align: left;
	font-size: 24px;
    margin-bottom: 25px;	
}
/**********************
 * 下層ページ 料金表
 **********************/
.page-price h3 {
	font-size: 30px;
}
.page-price .price-lead {
    width: 90%;
}
.page-price .price-main {
	width: 90vw;
}
.page-price h4 {
    font-size: 24px;
}
.page-price .price-box {
	margin-bottom: 50px;
}
.page-price .price-box:last-child {
	margin-bottom: 0;
}
/**********************
 * 下層ページ 対応症状
 **********************/
.page-cases > .inner {
	padding: 0;
}
.page-cases .cases-txt {
	text-align: left;
}
.cases-list {
	gap: 5px 1.3333%;
}
.cases-list li {
	flex-basis: 48%;
}	
/**********************
 * 下層ページ 対応症状
 **********************/
.page-cases-detail > .inner {
	width: 90vw;
}
.page-cases-detail img {
	width: 90%;
}
/* 768px以下 終了 */
}
/* 768px以下 終了 */