/*reset*/
* {margin: 0;padding: 0;box-sizing: border-box;}
a {text-decoration : none}
ul, ol {list-style : none}
img {vertical-align : middle;max-width:100%;}
h1, h2, h3, h4, h5, h6 {font-weight: normal;font-size: 1em;}
.grecaptcha-badge { visibility: hidden; }

/*common class*/
.bold {font-weight: 600;}
.purple{color:#aa6380;}
.fs12{font-size:12px !important;}
.fs14{font-size:14px !important;}
.fs16{font-size:16px !important;}
.fs18{font-size:18px !important;}
.fs21{font-size:21px !important;}
.fs24{font-size:24px !important;}
.fs30{font-size:30px !important;}
.fs36{font-size:36px !important;}
.fs48{font-size:48px !important;}

.tac {text-align: center !important;}
.tar {text-align: right !important;}
.tal {text-align: left !important;}
.fl {float: left;}
.fr {float: right;}
.mb20 {margin-bottom:20px !important;}
.mb40 {margin-bottom:40px !important;}
.mb80 {margin-bottom:80px !important;}

.serif{
font-family: "Noto Serif JP","游明朝", "ＭＳ 明朝", serif;
}

.pc_show{display:block;}
.sp_show{display:none;}

.cf:after {
    content:" ";
    display:block;
    clear:both;
}


.aligncenter{
display:block;
margin:0 auto 25px auto;
}
.alignleft{
float:left;
margin:0 25px 25px 0;
}
.alignright{
float:right;
margin:0 0px 25px 25px;
}
.img_border{border:1px solid #c3c2c0;}
.img_corner{border-radius:5px;}

.flex{
display:flex;
justify-content: space-between;
gap:20px;
align-items:flex-start;
}
.flex_rev{
display:flex;
flex-direction: row-reverse;
justify-content: space-between;
gap:20px;
align-items:flex-start;
}
.col2{
width:48%;
}
.col3{
width:30%;
}

.wrapper_l{
max-width:1060px;
margin:0 auto;
}
.wrapper_s{
max-width:860px;
margin:0 auto;
}

.section_gray{
background:#f3f3f2;
}
.section_white{
background:#fff;
}
.separator_white{
background:#fff;
padding-bottom:40px;
line-height:0;
}
.separator_gray{
background:#f3f3f2;
padding-bottom:40px;
line-height:0;
}
.separator_white img,.separator_gray img{width:100%;}

.list_col2{
display:grid;
grid-template-columns: 1fr 1fr;
gap:40px;
}
.list_col2 li{
max-width:450px;
margin:0 auto;
}
.list_col2 .title{
font-size:24px;
font-weight:600;
text-align:center;
margin-bottom:20px;
}
.list_col2 .title2{
font-size:24px;
font-weight:600;
text-align:center;
margin-bottom:20px;
color:#aa6380;
border-bottom:dotted 2px #aa6380;
}
.bullet_list li{
margin-left:1em;
padding-left:1px;
list-style:disc;
margin-bottom:20px;
}

.circle_number_list_col2{
display:grid;
grid-template-columns: 1fr 1fr;
gap:40px;
/*align-items: start;*/
}
.circle_number_list_col2 li{
position: relative;
border:double 6px #c3c2c0;
border-radius:5px;
background:#fff;
padding:10px 20px 20px 20px;
}
.circle_number_list_col2 .title{
font-weight:600;
font-size:24px;
border-bottom:3px dotted #aa6380;
margin-bottom:10px;
padding-right:60px;
}
.circle_number_list_col2 .number{
position:absolute;
top:-25px;
right:-25px;
}
.circle_number_list_col2 .image{
border:none;
background:none;
/*display:flex;
align-items:center;
justify-content:center;*/
text-align:center;
padding:0;
}
.circle_number_list_col2 .image img{
border-radius:5px;
margin-bottom:0 !important;
}
.circle_number_list_col2 p:last-child{
margin-bottom:0px;
}

.treatment_list .title{
font-size:24px;
font-weight:600;
margin-bottom:20px;
text-align:center;
}
.treatment_list ul{
display:grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
justify-items: center;
margin-bottom:40px;
}

.treatment_list li{
text-align:center;
}
.treatment_list a{
color:#333;
font-size:18px;
}
.treatment_list img{
margin-bottom:10px;
}

.faq dt{
border:#d4d4d4 2px solid;
background-image:url("images/faq_down.png");
background-position: right 20px top 17px;
background-repeat:no-repeat;
background-color:#fff;
cursor: pointer;
margin-bottom:10px;
}
.faq dt p{
background:url("images/faq_q.png") 20px 14px no-repeat;
font-weight:600;
font-size:18px;
padding:5px 50px;
margin-bottom:0px;
}
.faq dd{
display:none;
background:url("images/faq_a.png") 20px 5px no-repeat;
padding:0px 20px 20px 50px;
}


.bordertable, .bordertable2{
width:100%;
border:1px solid #c3c2c0;
border-collapse:collapse;
}
.bordertable td, .bordertable2 td{
padding:5px 10px;
border:1px solid #c3c2c0;
}
.bordertable th, .bordertable2 th{
padding:5px 10px;
border:1px solid #c3c2c0;
text-align:left;
font-weight:normal;
}

.nobordertable{
border:none;
border-collapse:collapse;
}
.nobordertable td{
padding:5px;
border:none;
vertical-align:top;
}

.table_50p{width:50%;}
.bg_white{background:#fff;}

.process th{
background:url("images/arrow_purple_bottom.png") right 20px center no-repeat;
width:25%;
vertical-align:top;

}
.process td{
vertical-align:top;

}
.price th{
background:background:#aaa;
text-align:center;
font-weight:600;
}
.price td{
text-align:center;
}

.flex300{
display:flex;
justify-content: space-between;
gap:20px;
align-items:flex-start;
}
.flex300 .left{
width:300px;
}
.flex300 .right{
width:calc(100% - 300px);
margin-top:-6px;
}
.flex300 .title{
font-size:24px;
font-weight:600;
margin-bottom:10px;
border-bottom:2px dotted #aa6380;
}
.flex300 img,.flex150 img{
border-radius:5px;
}

.flex150{
display:flex;
justify-content: space-between;
gap:20px;
align-items:flex-start;
}
.flex150 .left{
width:150px;
}
.flex150 .right{
width:calc(100% - 150px);
}

.purple_btn{
background:#aa6380;
border: double 8px #fff;
border-radius:10px;
padding:10px 20px;
color:#fff;
font-size:18px;
font-weight:bold;
}
.purple_title{
border:#aa6380 2px solid;
background:#fff;
padding:5px 0px;
text-align:center;
color:#aa6380;
font-size:18px;
font-weight:bold;
}
.youtube iframe{
width:100%;
max-width:640px;
margin:0 auto;
height: auto;
aspect-ratio: 16 / 9;
}
.wp-pagenavi a, .wp-pagenavi span{border:none;}

/*recruit*/
.inpage{
display:grid;
gap:20px;
grid-template-columns:1fr 1fr 1fr 1fr
}
.inpage li{
border:1px solid #c3c2c0;
padding:5px;
text-align:center;
}
.recruit{
width:100%;
border:1px solid #c3c2c0;
border-collapse:collapse;
}
.recruit td{
padding:5px 10px;
border:1px solid #c3c2c0;
}
.recruit th{
padding:5px 10px;
border:1px solid #c3c2c0;
text-align:left;
vertical-align:top;
background:#ddd;
}
.form_list li{
margin-left:1em;
padding-bottom:20px;
list-style:square;
}
.form_list .require{
color:#c00;
font-size:12px;
padding-left:5px;
}
.form_list .text-s{
width:200px;
padding:5px 10px;
border:1px solid #c3c2c0;
font-size:18px;
}
.form_list .text-l{
width:300px;
padding:5px 10px;
border:1px solid #c3c2c0;
font-size:18px;
}
.form_list textarea{
width:400px;
padding:5px 10px;
border:1px solid #c3c2c0;
font-size:18px;
height:200px;
}
.submit{
background:#aa6380;
border: double 8px #fff;
border-radius:10px;
padding:10px 20px;
color:#fff;
font-size:18px;
font-weight:bold;
}
.submit:disabled{
background:#bbb;
border: double 8px #fff;
border-radius:10px;
padding:10px 20px;
color:#fff;
font-size:18px;
font-weight:bold;
}
.privacy dt{
font-weight:bold;
}
.privacy dd{
padding-left:2em;
margin-bottom:20px;
}


/*tag*/
html {
font-family: "Noto Sans JP","メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", sans-serif;
font-size : 15px;
line-height : 1.8;
color: #333;
height:100vh;
}
body{height:100vh;}
a{color:#aa6380;}
a:hover{color:#d6b2c4;}
p{margin-bottom:1em;}
section{padding-bottom:80px;}

h2{
color:#fff;
font-weight:600;
text-shadow: 0px 0px 13px rgba(0, 0, 0, 0.8);
}
h3{
background:url("images/h3_bg.png") center bottom no-repeat;
font-size:40px;
color:#aa6380;
font-family: "Noto Serif JP","游明朝", "ＭＳ 明朝", serif;
text-align:center;
padding-bottom:20px;
font-weight:600;
}
.h3_text{
font-family: "Noto Serif JP","游明朝", "ＭＳ 明朝", serif;
font-size:24px;
text-align:center;
font-weight:600;
}
h4{
font-size:24px;
font-weight:600;
padding-bottom:10px;
text-align:center;
}
h4 span{
border-bottom:#878581 2px solid;
}
/*page header*/
.subheader{
background-size:cover;
background-position:center center;
background-repeat: no-repeat;
height:150px;
margin-bottom:40px;
}
.subheader h2{
font-size:36px;
padding-top:5px;
}
#treatment .subheader{background-image: url("images/subheader_treatment.jpg")}
#clinic .subheader{background-image: url("images/subheader_clinic.jpg")}
#recruit .subheader{background-image: url("images/subheader_recruit.jpg")}
#notfound .subheader{background-image: url("images/subheader_notfound.png")}
#information .subheader{background-image: url("images/subheader_information.jpg")}

.pagetitle .wrapper_s{
height:260px;
background-size:cover;
background-position:center center;
background-repeat: no-repeat;
padding:10px 20px;
}
.pagetitle .eng{
font-size:48px;
}
.pagetitle .jpn{
font-size:21px;
font-weight:normal;
}
.pagetitle .dammy{background-image:url("images/pagetitle_dammy.png")}

.pagetitle .trm01{background-image:url("images/pagetitle_trm01.jpg")}
.pagetitle .trm02{background-image:url("images/pagetitle_trm02.jpg")}
.pagetitle .trm03{background-image:url("images/pagetitle_trm03.jpg")}
.pagetitle .trm04{background-image:url("images/pagetitle_trm04.jpg")}
.pagetitle .trm05{background-image:url("images/pagetitle_trm05.jpg")}
.pagetitle .trm06{background-image:url("images/pagetitle_trm06.jpg")}
.pagetitle .trm07{background-image:url("images/pagetitle_trm07.jpg")}
.pagetitle .trm08{background-image:url("images/pagetitle_trm08.jpg")}
.pagetitle .trm09{background-image:url("images/pagetitle_trm09.jpg")}
.pagetitle .trm10{background-image:url("images/pagetitle_trm10.jpg")}
.pagetitle .trm11{background-image:url("images/pagetitle_trm11.jpg")}
.pagetitle .trm12{background-image:url("images/pagetitle_trm12.jpg")}
.pagetitle .trm13{background-image:url("images/pagetitle_trm13.jpg")}
.pagetitle .trm14{background-image:url("images/pagetitle_trm14.jpg")}

.pagetitle .clinic{background-image:url("images/pagetitle_clinic.jpg")}
.pagetitle .staff{background-image:url("images/pagetitle_staff.jpg")}
.pagetitle .guide{background-image:url("images/pagetitle_guide.jpg")}
.pagetitle .qa{background-image:url("images/pagetitle_qa.jpg")}

.pagetitle .recruit{background-image:url("images/pagetitle_recruit.jpg")}
.pagetitle .guideline{background-image:url("images/pagetitle_guideline.jpg")}
.pagetitle .entry{background-image:url("images/pagetitle_entry.jpg")}


/*header nav footer*/
header{
padding:5px 30px 0px 50px;
border-bottom:2px solid #aa6380;
position:fixed;
width:100%;
left:0px;
top:0px;
background:#fff;
z-index:5;
}
header .text{
font-size:12px;
font-weight:normal;
margin-bottom:5px;
}
header .wrap{
display:flex;
justify-content: space-between;
}
header h1{
margin-bottom:20px;
}
nav{
display:flex;
align-items: end;
}
nav > ul{
display:flex;
justify-content: right;
}
nav > ul > li{
padding:15px 20px;
position:relative;
}
nav > ul > li.sub:hover{
padding:12px 17px;
color:#555555;
background:#f3f3f2;
border-top:2px solid #aa6380;
border-left:2px solid #aa6380;
border-right:2px solid #aa6380;
}
nav > ul > li > .border{
height:10px;
background:#f3f3f2;
position:absolute;
bottom:-5px;
z-index:15;
width:100%;
left:0px;
}
nav > ul > li > a{
font-size:18px;
font-weight:bold;
color:#555555;
display:block;
}
nav > ul > li >a:hover{
color:#555555;
}

nav > ul > li > .submenu{
display:none;
position:fixed;
width:100%;
background:#f3f3f2;
left:0px;
margin-top:-2px;
border-top:2px solid #aa6380;
border-bottom:2px solid #aa6380;
padding:20px;
}
nav > ul > li > .submenu .title{
font-weight:600;
font-size:18px;
margin-bottom:10px;
}
nav > ul > li > .submenu ul{
display:grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
margin-bottom:10px;
}
nav > ul > li > .submenu ul.three{
grid-template-columns: 1fr 1fr 1fr;
}
nav > ul > li > .submenu ul > li a{
background-repeat:no-repeat;
background-position:left center;
height:30px;
display:flex;
align-items:center;
margin-bottom:10px;
font-size:18px;
}
nav > ul > li > .submenu ul > li.trm01 a{background-image:url("images/nav_icon_trm01.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.trm02 a{background-image:url("images/nav_icon_trm02.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.trm03 a{background-image:url("images/nav_icon_trm03.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.trm04 a{background-image:url("images/nav_icon_trm04.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.trm05 a{background-image:url("images/nav_icon_trm05.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.trm06 a{background-image:url("images/nav_icon_trm06.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.trm07 a{background-image:url("images/nav_icon_trm07.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.trm08 a{background-image:url("images/nav_icon_trm08.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.trm09 a{background-image:url("images/nav_icon_trm09.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.trm10 a{background-image:url("images/nav_icon_trm10.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.trm11 a{background-image:url("images/nav_icon_trm11.png");padding-left:40px;}

nav > ul > li > .submenu ul > li.cli01 a{background-image:url("images/nav_icon_trm_blank.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.cli02 a{background-image:url("images/nav_icon_trm_blank.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.cli03 a{background-image:url("images/nav_icon_trm_blank.png");padding-left:40px;}

nav > ul > li > .submenu ul > li.rec01 a{background-image:url("images/nav_icon_trm_blank.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.rec02 a{background-image:url("images/nav_icon_trm_blank.png");padding-left:40px;}
nav > ul > li > .submenu ul > li.rec03 a{background-image:url("images/nav_icon_trm_blank.png");padding-left:40px;}

.spnav{display:none;}
nav > ul > li > .submenu ul > li > a{
color:#555555;
}
footer a{color:#333;}
footer a:hover{color:#888;}
footer .bg img{width:100%;}

footer .row1{
background:#f3f3f2;
padding-bottom:40px;
}
footer .row1 .flex{
align-items: stretch;
}
footer .row1 .text{
flex: 1;
width:calc(100% - 550px);
margin-top:-12px;
}
footer .row1 .gmap{
flex: 1;
height: auto;
width:500px;
}
footer .row1 iframe{
width:100%;
height:100%;
}
footer .row2{
background: #d5d4d3;
padding:40px 0px;
}
footer .row2 .col{
width:25%;
}
footer .row2 .title{
font-weight:600;
}
footer .row2 li{
list-style:disc;
margin-left:1em;
}
#cvlink{
position:fixed;
width:100%;
bottom:0px;
left:0px;
border-top:2px solid #fff;
z-index;5;
}
#cvlink ul{
display:flex;
background:#fff;
gap:2px;
}
#cvlink li{
width:50%;
text-align:center;
}

#cvlink a{
display:flex;
height:80px;
color:#fff;
align-items:center;
line-height:1.2;
justify-content:center;
}
#cvlink .tel a{background:#878581;}
#cvlink .reserve a{background:#aa6380;}
#cvlink .tel strong{font-size:36px;}
#cvlink .reserve strong{font-size:30px;}

#cvlink .wrap{
display:inline-block;
padding-left:70px;
height:80px;
}
#cvlink .tel .wrap{background:#878581 url("images/cvlink_tel.png") left center no-repeat;}
#cvlink .reserve .wrap{background:#aa6380 url("images/cvlink_reserve.png") left center no-repeat;}
#cvlink .wrap2{
display:flex;
height:80px;
align-items:center;
}


@media screen and (max-width : 1060px) {
header{padding:5px 0px 0px 20px;}
.wrapper_l{margin-left:20px;margin-right:20px;}
}

/*bleak point 900*********************************************************/
@media screen and (max-width : 900px) {
/*common*/
.fs12{font-size:10px !important;}
.fs14{font-size:12px !important;}
.fs16{font-size:14px !important;}
.fs18{font-size:16px !important;}
.fs21{font-size:18px !important;}
.fs24{font-size:21px !important;}
.fs30{font-size:27px !important;}
.fs36{font-size:32px !important;}
.fs48{font-size:42px !important;}

.aligncenter, .alignleft, .alignright{
float:none;
display:block;
margin:0 auto 25px auto;
}

.pc_show{display:none;}
.sp_show{display:block;}
.flex,.flex_rev{display:block;}
.col2,.col3{width:100%;margin-bottom:50px;}
.col2:last-child, .col3:last-child{margin-bottom:0px;}

.wrapper_s{margin-left:20px;margin-right:20px;}
.w50per{width:100%;}

.list_col2{
grid-template-columns: 1fr;
}
.list_col2 .title,.list_col2 .title2{
font-size:18px;
}

.circle_number_list_col2{
grid-template-columns: 1fr;
}
.circle_number_list_col2 li{
padding:10px 20px 20px 20px;
}
.circle_number_list_col2 .number{
width:60px;
top:-20px;
right:-12px;
}
.circle_number_list_col2 .title{
font-size:21px;
padding-right:20px;
}

.treatment_list ul{
display:grid;
grid-template-columns: 1fr 1fr;
gap:20px 10px;
}
.treatment_list ul:last-child{
width:100%;
}
.treatment_list a{
font-size:14px;
}

.process th{
background:none;
}
.flex300,.flex150{
display:block;
}
.flex300 .left,.flex150 .left{
width:100%;
margin-bottom:20px;
text-align:center;
}
.flex300 .right,.flex150 .right{
width:100%;
}
.flex300 .title{
text-align:center;
font-size:21px;
}

h3{
background:url("images/h3_bg.png") center bottom no-repeat;
background-size:contain;
font-size:27px;
padding-bottom:20px;

}
.h3_text{
font-family: "Noto Serif JP","游明朝", "ＭＳ 明朝", serif;
font-size:18px;
text-align:center;
font-weight:600;
}
h4{
font-size:21px;
}
/*page*/
.subheader{
height:70px;
margin-bottom:40px;
}
.subheader h2{
font-size:18px;
padding-top:5px;
}
.pagetitle .wrapper_s{
height:130px;
background-size:cover;
background-position:center center;
background-repeat: no-repeat;
padding:10px 20px;
}
.pagetitle .eng{
font-size:24px;
}
.pagetitle .jpn{
font-size:16px;
font-weight:normal;
}

.form_list .text-s,.form_list .text-l, .form_list textarea {width:100%;}
header{padding:20px 20px 0px 20px;}
header .text{display:none;}

.inpage{
grid-template-columns:1fr 1fr;
}

nav{
display:none;
position:fixed;
overflow: auto;
-webkit-overflow-scrolling: touch;
height:100%;
background:#f3f3f2;
left:0px;
width:100%;
padding:0px 20px 100px 20px;
}
nav > ul{
display:block;
}
nav > ul > li{
padding:0px;
position:relative;
}
nav > ul > li:hover{
padding:0px;
color:#555555;
background:none;
border:none;
}
nav > ul > li.sub:hover{
padding:0px;
color:#555555;
background:#f3f3f2;
border:none;
}
nav > ul > li > a{
font-size:18px;
font-weight:bold;
color:#555555;
display:block;
}
nav > ul > li >a:hover{
color:#555555;
}

nav > ul > li > .submenu{
display:block;
position:static;
background:none;
margin-top:0px;
border:none;
padding:5px 0px 20px 20px;
}
nav > ul > li > .submenu .wrapper_l{
margin-left:0px;
margin-right:0px;
}
nav > ul > li > .submenu ul,nav > ul > li > .submenu ul.three{
grid-template-columns: 1fr;
}
nav > ul > li > .submenu ul > li{
font-size:16px;
}
.spnav{display:block;padding-top:10px;padding-left:20px;}
.spnav .open{display:block;}
.spnav .close{display:none;}


footer a{color:#333;}
footer .bg img{width:100%;}

footer .row1{
background:#f3f3f2;
padding-bottom:40px;
}
footer .row1 .text{
width:100%;
max-width:500px;
margin:0 auto;
}
footer .row1 .gmap{
width:100%;
max-width:500px;
margin:0 auto;
}
footer .row1 iframe{
width:100%;
height:300px;
}
footer .row2{display:none;}

#cvlink a{
display:flex;
height:60px;
color:#fff;
align-items:center;
line-height:1.0;
justify-content:center;
}
#cvlink .tel strong{font-size:24px;}
#cvlink .tel .time{font-size:10px;}
#cvlink .reserve strong{font-size:20px;}

#cvlink .wrap{
display:inline-block;
padding-left:36px;
height:60px;
}
#cvlink .tel .wrap,#cvlink .reserve .wrap{background-size:30px;}
#cvlink .wrap2{
display:flex;
height:60px;
align-items:center;
}

}

@media screen and (max-width : 480px) {

#cvlink .tel strong{font-size:18px;}
#cvlink .tel .time{font-size:8px;}
#cvlink .reserve strong{font-size:15px;}

}
