html{
font-size:14px;
font-family:  "Josefin Sans", "Noto Sans JP", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
}

body{
margin:0;
line-height:1.6;
color:#333;
text-align:center;
}
@media screen and (max-width: 640px) {
html{
font-size: 2.6666666667vw;
}
}

* ul,li{
margin:0;
padding:0;
list-style:none;
}
* dl,dt,dd{
margin:0;
padding:0;
list-style:none;
}
* figure,figcaption{
margin:0;
padding:0;
}
* p{
margin:0;
padding:0;
}
* img{
border:0;
vertical-align:bottom;
max-width: 100%;
}
*{
  box-sizing: border-box;
}
* a:hover img{
filter: alpha(opacity=75);
moz-opacity: 0.75;
opacity: 0.75;
}
a{
text-decoration:none;
color:#333;
transition : all 0.3s ease 0s;
}
a:hover{
text-decoration:none;
color:#da5e9a;
}
a:focus, *:focus { outline:none; }

* table{
border-collapse:collapse;
}
h1,h2,h3,h4,h5,j6{
margin:0; padding:0;
font-weight:normal;
}
*, *:before, *:after {
-webkit-box-sizing: border-box;
box-sizing: border-box
}
.img_pc{
display:inline-block;
}
.img_sp{
display:none;
}
.br_pc{
display:block;
}
.br_sp{
display:none;
}
@media screen and (max-width: 640px) {
.img_pc{
display:none;
}
.img_sp{
display:inline-block;
}
.br_pc{
display:none;
}
.br_sp{
display:block;
}
}
/* ヘッダー */
.header{
position: relative;
left: 0;
top: 0;
z-index:10;
width:100%;
}
.header_inner {
position: relative;
padding: 15px;
}
.logo{
/*
position: absolute;
top: 0;
left: 0;
padding: 10px 15px
*/
}
.title{
font-size: 2rem;
font-weight: 600;
}
.sp_nav{
display:none;
}
@media only screen and (max-width: 768px) {
.header{
margin-bottom:0;
}
.logo img{
width:160px;
height:auto;
}
.header_inner{
padding:0;
height:64px;
}
.header_inner h1{
font-size:1rem;
}
.header_inner .telbox .tel{
display:none;
}
.header_inner .telbox .eigyo{
font-weight:bold;
font-size:1.2rem;
margin-top:.5rem;
}
.nav {
position: fixed;
right: -320px; /* 右から出てくる */
top: 0;
width: 300px; /* スマホに収まるサイズ */
height: 100vh;
padding-top: 72px;
background-color: #fff;
transition: all .6s;
z-index: 200;
overflow-y: auto; /* メニューが多くなったらスクロールできるように */
}
.hamburger {
position: fixed;
right:0;
top: 0;
cursor: pointer;
z-index: 300;
width:60px;
height:64px;
background:#da5e9a;
padding:4px 10px 0;
}
.hamburger .btn{
width: 40px;
height: 40px;
position:relative;
}
.hamburger .menu::before{
content:"MENU";
display:block;
margin-top:-2px;
font-weight:600;
color:#fff;
}
.nav-open .hamburger .menu::before {
content: "CLOSE";
}
.nav_list {
margin: 0;
padding: 0;
list-style: none;
position:relative;
}
/*
.nav_list::after{
content:"";
display:block;
height:47px;
width:200px;
background:url(/img/common/logo.svg) no-repeat;
background-size:200px 47px;
position:relative;
margin:4.8rem auto 0;
filter: brightness(0) opacity(40%);
}
*/
.nav_item {
text-align: center;
padding: 0 14px;
}
.nav_item a {
display: block;
padding: 8px 0;
border-bottom: 1px solid #eee;
text-decoration: none;
color: #333;
text-align:left;
font-size:1.2rem;
}
.nav_item a span{
font-size:1.8rem;
font-weight:500;
color:#333;
}
.nav_list li:last-child{
margin-top:16px;
}
.nav_list li:last-child a{
background:#da5e9a;
border:none;
text-align:center;
padding:13px 0 8px;
}
.nav_list li:last-child a span{
color:#fff;
}
.nav_item.home a::before{
content:"HOME";
}
.nav_item.sch a::before{
content:"SCHEDULE";
}
.nav_item.cast a::before{
content:"CAST";
}
.nav_item.system a::before{
content:"SYSTEM";
}
.nav_item.rec a::before{
content:"RECRUIT";
}

.nav_item a:hover {
background-color: #eee;
}
.hamburger_border {
position: absolute;
left: 6px;
width: 28px;
height: 2px;
background-color: #fff;
transition: all .6s;
}
.hamburger_border_top {
top: 12px;
}
.hamburger_border_center {
top: 19px;
}
.hamburger_border_bottom {
top: 26px;
}
.black_bg {
position: fixed;
left: 0;
top: 0;
width: 100vw;
height: 100vh;
z-index: 100;
background-color: #333;
opacity: 0;
visibility: hidden;
transition: all .6s;
cursor: pointer;
}

/* 表示された時用のCSS */
.nav-open .nav {
right: 0;
}
.nav-open .black_bg {
opacity: .8;
visibility: visible;
}
.nav-open .hamburger_border_top {
transform: rotate(45deg);
top: 20px;
}
.nav-open .hamburger_border_center {
width: 0;
left: 50%;
}
.nav-open .hamburger_border_bottom {
transform: rotate(-45deg);
top: 20px;
}
.sp_nav{
display:block;
}
.sp_nav ul{
display:flex;
}
.sp_nav ul li{
width : calc(100% / 5) ;
position:relative;
}
.sp_nav ul li:not(:last-child)::after{
content:"";
position:absolute;
top:10%;
right:0;
height:80%;
width:1px;
border-left:1px dotted rgba(0,0,0,.3);
}
.sp_nav ul li a{
display:block;
color:#262626;
font-weight:bold;
font-size:.8rem;
line-height:1.2;
padding:1rem 0;
}
.sp_nav ul li a span{
font-family: 'Jost', sans-serif;
display:block;
font-size:1.3rem;
color:#00c6c1;
}
}
/* spナビここまで */
@media only screen and (min-width: 769px) {
#header{
position:relative;
transition: top 0.5s ease;
}
#header.is-minus:not(.is-show) {
top: -72px;
}
#header.is-show{
position: fixed;
top:0;
width: 100%;
height: 72px;
background:rgba(255,255,255,.65);
backdrop-filter: blur(10px);
z-index:99;
}
#header.is-show{
top:0;
}
.header_inner{
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
margin:auto;
padding:0 0 0 40px;
position:relative;
}
.header_inner h1{
/*
font-size:11px;
position:absolute;
top:12px;
right:0;
*/
}
.header_inner .logo img{
width:200px;
}
.nav_list{
text-align:center;
display:flex;
margin:auto;
}
.nav_list li{
display:block;
text-align:center;
position:relative;
}
.nav_list li a{
display:block;
padding:0 20px;
height:72px;
line-height:72px;
transition : all 0.3s ease 0s;
}
.nav_list li:last-child a{
background:#da5e9a;
color:#fff;
}
.nav_list li a span{
font-family: 'Jost', sans-serif;
font-weight:400 !important;
font-size:17px;
display:block;
white-space:nowrap;
text-indent:1px;
letter-spacing:1px;
}
}
/* pcナビここまで */

/* パンくず */
.breadcrumb ul{
width:980px;
font-size:11px;
display:flex;
margin:0 auto 10px;
}
.breadcrumb ul li:not(:last-child)::after{
content:">";
margin:0 3px;
}
@media screen and (max-width: 640px) {
.breadcrumb ul{
width:100%;
padding:0 10px;
margin-bottom:1rem;
}
}
/* カバー */
.cover_wrap{
display:flex;
justify-content:space-between;
align-items:center;
padding:172px 0 100px;
margin-bottom:100px;
position:relative;
margin-top:-72px;
}
.cover_wrap::before{
content:"";
display:block;
width:40%;
height:100%;
background:#f5f5ee;
position:absolute;top:0;
left:0;
z-index:-2;
}
.cover_wrap .txt{
text-align:left;
padding:0 0 0 4%;
width:34%;
position:relative;
z-index:9;
}
.cover_wrap .txt .shopname{
font-size:5.6rem;
}
.cover_wrap .txt dt{
font-size:2rem;
}
.cover_wrap .img{
width:66%;
}
@media screen and (max-width: 640px) {
.cover_wrap{
flex-direction:column;
gap:32px 0;
padding:100px 0 60px;
margin-bottom:48px;
}
.cover_wrap .img{
order:-1;
width: 82%;
}
.cover_wrap .txt{
width:100%;
}
.cover_wrap .txt .shopname{
font-size:3.8rem;
line-height:1;
letter-spacing:3px;
margin-bottom:8px;
}
.cover_wrap .txt dd{
font-size:1.2rem;
}
}
/* TOP見出し */
h2.top_ttl{
letter-spacing:3px;
margin-bottom:32px;
}
h2.top_ttl::after{
content:"";
display:block;
width:32px;
height:1px;
background:#333;
margin:8px auto 0;
}
h2.top_ttl strong{
font-size:2.4rem;
font-weight:400;
display:block;
line-height:1;
}
h2.top_ttl span{
font-size:15px;
}
@media screen and (max-width: 640px) {
h2.top_ttl span{
font-size:1.4rem;
letter-spacing:1px;
}
}
/* コンセプト */
.concept_wrap{
margin-bottom:100px;
}
.concept_txt{
font-size:16px;
margin-bottom:48px;
}
.concept_txt dt{
font-size:18px;
margin-bottom:16px;
}
.tictok_img{
margin-bottom:48px;
}
.concept_img{
display:flex;
justify-content:center;
gap:0 80px;
margin-bottom:48px;
}
.concept_img .img_b{
padding-top:100px;
}
.concept_list{
display:flex;
justify-content:space-between;
width:1110px;
margin:0 auto 48px;
}
.concept_list li{
width:calc(100% / 3 - 20px);
text-align:left;
}
.concept_list li figcaption{
margin-top:16px;
font-size:15px;
}
.concept_wrap .coupon{
margin-bottom:48px;
}
.event_list{
width:1110px;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
margin:auto;
gap:30px;
}
.event_list li{
width:calc(100% / 2 - 15px);
}
@media screen and (max-width: 640px) {
.concept_wrap{
margin-bottom:48px;
padding:0 16px;
}
.concept_txt{
padding:0 16px;
text-align:left;
font-size:1.4rem;
}
.concept_txt dt{
font-size:1.7rem;
font-weight:bold;
}
.tictok_img{
}
.concept_img{
gap:0 16px;
}
.concept_list{
padding:0 16px;
width:100%;
flex-direction:column;
gap:24px 0;
}
.concept_list li{
width:100%;
}
.concept_list li figcaption{
margin-top:8px;
}
.coupon{
}
.event_list{
width:100%;
gap:16px 10px;
}
.event_list li{
width:calc(100% / 2 - 5px);
}
}
/* システム */
.system_wrap{
margin-bottom:100px;
}
.system_table{
width:1110px;
text-align:left;
margin:0 auto 48px;
}
.system_table > div{
display:flex;
border-bottom:1px solid #ccc;
}
.system_table dt,
.system_table dd{
padding:16px;
}
.system_table dt{
width:360px;
font-size:16px;
font-weight:500;
}
.system_table dt.job_name{
width:100%;
border-bottom:2px solid #ccc;
margin-bottom:6px;
position:relative;
}
.system_table dt.job_name::after{
content:"";
display:block;
height:2px;
width:200px;
background:#333;
position:absolute;
bottom:-2px;
left:0;
}
.system_table dd{
flex-grow:1;
font-size:16px;
}
.system_table dd strong{
font-size:30px;
font-weight:500;
}
.system_table dd strong.orange{
font-size:1.1em;
font-weight:500;
color:#f90;
}
@media screen and (max-width: 640px) {
.system_wrap{
margin-bottom:48px;
padding:0 16px;
}
.system_table{
width:100%;
}
.system_table > div{
flex-direction:column;
}
.system_table > div:not(:first-child){
margin-top:20px;
}
.system_table dt{
width:100%;
padding:0px;
font-size:1.7rem;
}
.system_table dd{
padding:10px 0 20px;
font-size:1.5rem;
line-height:1.4;
}
.system_table dt.job_name{
padding-bottom:8px;
}
}
.luxury_wrap{
width:1110px;
margin:auto;
text-align:left;
}
.luxury_wrap .ttl{
font-size:2rem;
font-weight:400;
margin-bottom:16px;
letter-spacing:2px;
}
.luxury_box{
display:flex;
gap:0 30px;
}
.luxury_box dt{
font-size:18px;
margin-bottom:8px;
}
.luxury_box dd{
font-size:16px;
}
@media screen and (max-width: 640px) {
.luxury_wrap{
width:100%;
}
.luxury_box{
flex-direction:column;
gap:16px 0;
}
.luxury_box .img{
width:100%;
}
.luxury_box dd{
font-size:1.5rem;
line-height:1.4;
}
}
/* メニュー */
.menu_wrap{
margin-bottom:100px;
}
.menu_img{
margin-bottom:48px;
}
.menu_list{
text-align:left;
width:800px;
margin:auto;
}
.menu_list dl{
background:#f5f5ee;
font-size:18px;
padding:16px;
line-height:1.3;
}
.menu_list dl:not(:last-child){
margin-bottom:24px;
}
.menu_list dl dt{
}
.menu_list dl dt strong{
font-size:20px;
font-weight:500;
}
.menu_list dl dt span{
font-size:14px;
display:block;
}
.menu_list dl dd{
display:none;
background:#fff;
margin-top:16px;
}
.menu_list dl dd .subttl{
font-size: 1.2rem;
font-weight: bold;
padding:20px 16px 14px;
border-bottom: 2px solid #2b2b2b;
}
.menu_list dl dd ul{
display:flex;
justify-content:space-between;
padding:16px;
border-bottom: 2px dotted #ccc;
}
.menu_list dl dd ul li > p{
font-size:14px;
}
.menu_caution{
padding:16px;
font-size:14px;
}
.menu_list dl dd .what{
display:flex;
padding:16px;
gap:0 24px;
}
.menu_list dl dd .what .img{
min-width:140px;
width:140px;
}
.menu_list dl dd .what .ttl{
font-size:16px;
margin-bottom:4px;
}
.menu_list dl dd .what .text{
font-size:14px;
}
@media screen and (max-width: 640px) {
.menu_wrap{
margin-bottom:48px;
}
.menu_img{
padding:0 24px;
}
.menu_list{
width:100%;
padding:0 16px;
}
.menu_list dl{
line-height:1.4;
}
.menu_list dl:not(:last-child) {
margin-bottom:16px;
}
.menu_list dl dt strong{
font-size:1.6rem;
}
.menu_list dl dt span{
font-size:1.2rem;
}
.menu_list dl dd .subttl{
font-size:1.6rem;
padding: 20px 8px 14px;
}
.menu_list dl dd ul{
font-size:1.4rem;
padding:10px 8px;
}
.menu_list dl dd ul .price{
font-size:1.5rem;
font-weight:600;
}
.menu_caution,
.menu_list dl dd ul li > p{
font-size:1.2rem;
}
.menu_list dl dd .what{
padding:10px 8px;
gap:0 10px;
}
.menu_list dl dd .what .img {
min-width: 90px;
width: 90px;
}
.menu_list dl dd .what .ttl{
font-size:1.4rem;
}
.menu_list dl dd .what .text{
font-size:1.2rem;
}
}
/* ウィジェット */
.widget_wrap{
margin-bottom:100px;
}
.widget_box{
width:480px;
margin:auto;
}
@media screen and (max-width: 640px) {
.widget_wrap{
margin-bottom:48px;
padding:0 16px;
}
.widget_box{
width:100%;
}
}
/* アクセス */
.access_wrap{
padding-bottom:100px;
position:relative;
}
.access_wrap::before{
content:"";
display:block;
width:100%;
height:400px;
background:#f5f5ee;
position:absolute;
bottom:0;
left:0;
z-index:-1;
}
.access_box{
width:1110px;
margin:auto;
display:flex;
justify-content:space-between;
margin-bottom:48px;
}
.access_box > div{
width:calc(100% / 2 - 15px);
}
.access_txt{
text-align:left;
}
.access_txt h3.top_ttl{
font-size:2.4rem;
letter-spacing:2px;
margin-bottom:24px;
}
.access_txt h3.top_ttl::after{
content:"";
display:block;
width:32px;
height:1px;
background:#333;
margin-top:8px;
}
.access_txt dl > div{
display:flex;
align-items:center;
padding:16px 0;
border-bottom:1px solid #ccc;
}
.access_txt dl > div dt{
font-size:18px;
width:160px;
}
.access_txt dl > div dd{
flex-grow:1;
font-size:16px;
}
.googlemap{
width:1110px;
margin:0 auto;
}
.googlemap_caution{
text-align:left;
margin-top:18px;
}
.googlemap_caution::before{
content:"・";
color:#da5e9a;
}
@media screen and (max-width: 640px) {
.access_wrap{
margin-bottom:48px;
padding:0 16px;
}
.access_box{
width:100%;
flex-direction:column;
}
.access_box > div{
width:100%;
padding:10px 0;
}
.access_txt dl > div dt{
width:120px;
}
.googlemap{
width:100%;
}
}
/* 共通ページタイトル */
.page_ttl_box{
margin-bottom:48px;
position:relative;
}
.page_ttl_box .img img{
width:100%;
height:360px;
object-fit:cover;
}
.page_ttl_box .txt{
width:480px;
padding:32px 0;
background:#fff;
margin:-80px auto 0;
position:relative;
}
.page_ttl_box .txt strong{
font-weight:400;
font-size:2.8rem;
display:block;
letter-spacing:3px;
text-indent:3px;
}
.page_ttl_box .txt span{
display:block;
font-size:15px;
letter-spacing:2px;
text-indent:2px;
}
.page_ttl_box .txt span em{
display:block;
font-style:normal;
font-size:16px;
}
@media screen and (max-width: 640px) {
.page_ttl_box{
margin-bottom:24px;
}
.page_ttl_box .img img{
height:200px;
}
.page_ttl_box .txt{
width:80%;
line-height:1.3;
}
}
/* 共通ボタン */
.contact_btn ul{
width:1110px;
margin:0 auto 100px;
display:flex;
justify-content:space-between;
}
.contact_btn ul li{
width:calc(100% / 2 - 15px);
}
@media screen and (min-width: 640px) {
.contact_btn ul li.tel a{
pointer-events:none;
}
}
@media screen and (max-width: 640px) {
.contact_btn{
padding:0 16px;
}
.contact_btn ul{
width:100%;
flex-direction:column;
margin-bottom:48px;
}
.contact_btn ul li{
width:100%;
}
.contact_btn ul li:first-child{
margin-bottom:16px;
}
}
/* ギャラリー */
.gallery_list{
width:1110px;
display:flex;
flex-wrap:wrap;
gap:48px 30px;
margin:0 auto 100px;
}
.gallery_list li{
width:calc(100% / 2 - 15px);
}
@media screen and (max-width: 640px) {
.gallery_wrap{
padding:0 24px;
}
.gallery_list{
width:100%;
flex-direction:column;
margin-bottom:48px;
gap:24px 0;
}
.gallery_list li{
width:100%;
}
}
/* フロアレディ求人 */
.recruit_wrap{
margin-bottom:100px;
}
.recruit_box{
width:1110px;
margin:auto;
}
.rec_cover{
display:flex;
justify-content:space-between;
margin-bottom:48px;
}
.rec_cover li{
width:calc(100% / 2 - 15px);
}
.rec_txt{
text-align:left;
font-size:16px;
margin-bottom:64px;
}
.rec_txt dt{
font-size:20px;
font-weight:bold;
margin-bottom:24px;
}
.rec_txt .red{
color:#f00;
}
.rec_photo_list{
text-align:left;
display:flex;
gap:0 30px;
margin-bottom:48px;
}
.rec_photo_list > div{
width:calc(100% / 3 - 20px);
}
.rec_photo_list > div .img{
margin-bottom:20px;
}
.rec_photo_list > div dt{
font-size:18px;
font-weight:600;
margin-bottom:4px;
}
.rec_img{
margin-bottom:64px;
}
@media screen and (max-width: 640px) {
.recruit_wrap{
margin-bottom:48px;
}
.recruit_box{
width:100%;
padding:0 16px;
}
.rec_cover{
flex-direction:column;
}
.rec_cover li{
width:100%;
}
.rec_cover li:first-child{
margin-bottom:24px;
}
.rec_txt{
line-height:1.4;
padding:0 8px;
}
.rec_txt dt{
font-size:1.8rem;
}
.rec_txt dd{
font-size:1.4rem;
}
.rec_photo_list{
flex-direction:column;
padding:0 8px;
gap:24px 0;
}
.rec_photo_list > div{
width:100%;
}
.rec_photo_list > div dt{
font-size:1.6rem;
}
.rec_photo_list > div dd{
font-size:1.4rem;
}
}
/* WORK */
.work_wrap{
margin-bottom:100px;
}
.work_box{
width:1110px;
margin:auto;
}
.work_img{
margin-bottom:48px;
}
.photo_txt{
display:flex;
text-align:left;
gap:0 30px;
margin-bottom:48px;
}
.photo_txt .img{
min-width:340px;
}
.photo_txt dt{
font-size:20px;
font-weight:600;
margin-bottom:24px;
}
.photo_txt dd{
font-size:16px;
}
.photo_txt dd .orange{
font-size:1.4em;
font-weight:600;
color:#f90;
}
@media screen and (max-width: 640px) {
.work_wrap{
margin-bottom:48px;
}
.work_box{
width:100%;
padding:0 16px;
}
.photo_txt{
flex-direction:column;
gap:24px 0;
}
.photo_txt dt{
font-size:1.6rem;
margin-bottom:16px;
}
.photo_txt dd{
font-size:1.4rem;
}
.photo_txt dd .orange {
font-size: 1.5em;
}
}
/* SALARY */
.salary_wrap{
margin-bottom:100px;
}
.salary_box{
width:1110px;
margin:auto;
}
.job_list{
display:flex;
justify-content:space-between;
}
.job_list > div{
width:calc(100% / 4 - 15px);
text-align:left;
}
.job_list > div .img{
margin-bottom:16px;
}
.job_list > div dt{
font-size:18px;
font-weight:600;
margin-bottom:3px;
}
.job_list > div dd{
font-size:16px;
}
.job_list > div dd .orange{
color:#f90;
font-weight:500;
font-size:1.1em;
}
@media screen and (max-width: 640px) {
.salary_wrap{
margin-bottom:48px;
}
.salary_box{
width:100%;
padding:0 16px;
}
.job_list{
flex-direction:column;
padding:0 8px;
gap:24px 0;
}
.job_list > div{
width:100%;
}
.job_list > div dt{
font-size:1.6rem;
}
.job_list > div dd{
font-size:1.4rem;
line-height:1.4;
}
}
/* INFO */
.info_wrap{
margin-bottom:100px;
}
.info_box{
width:1110px;
margin:auto;
}
.info_img{
margin-bottom:48px;
}
.info_img p:first-child{
margin-bottom:24px;
}
.info_img img{
width:880px;
}
.info_txt{
text-align:left;
font-size:16px;
margin-bottom:64px;
}
.info_mens_txt{
text-align:left;
font-size:16px;
}
@media screen and (max-width: 640px) {
.info_wrap{
margin-bottom:48px;
}
.info_box{
width:100%;
padding:0 16px;
}
.info_img p:first-child{
margin-bottom:16px;
}
.info_txt{
font-size:1.5rem;
}
.info_mens_txt{
font-size:1.5rem;
}
}
/* MENS */
.mens_wrap{
margin-bottom:100px;
}
.mens_box{
width:1110px;
margin:auto;
}
.mens_txt{
font-size:17px;
margin-bottom:48px;
}
.mens_img{
margin-bottom:48px;
}
.mens_slide ul{
display:flex;
margin-bottom:48px;
}
.mens_slide ul li{
width:calc(100% / 2);
}
.attention_txt{
text-align:left;
font-size:16px;
margin-bottom:64px;
}
.two_column{
display:flex;
justify-content:space-between;
margin-bottom:64px;
}
.two_column > div{
width:calc(100% / 2 - 15px);
}
.two_column > div .img{
margin-bottom:20px;
}
.two_column > div dl{
text-align:left;
}
.two_column > div dl dt{
font-size:20px;
font-weight:600;
margin-bottom:4px;
}
.two_column > div dl dd{
font-size:16px;
}
.treatment_box{
border:1px solid #da5e9a;
position:relative;
margin-top:80px;
}
.treatment_box .ttl{
display:inline-block;
font-size:22px;
letter-spacing:3px;
text-indent:3px;
line-height:1;
padding:0 24px;
background:#fff;
transform: translateY(-50%);
}
.treatment_box .txt{
font-size:16px;
text-align:left;
padding:32px;
}
@media screen and (max-width: 640px) {
.mens_wrap{
margin-bottom:48px;
}
.mens_box{
width:100%;
padding:0 16px;
}
.mens_txt{
font-size:1.7rem;
}
.mens_slide ul{
flex-direction:column;
}
.mens_slide ul li{
width:100%;
}
.mens_slide ul li:first-child{
margin-bottom:16px;
}
.two_column{
flex-direction:column;
}
.two_column > div{
width:100%;
}
.two_column > div dl dt{
font-size:1.7rem;
}
.two_column > div dl dd{
font-size:1.4rem;
line-height:1.4;
}
.treatment_box .txt{
padding:24px;
font-size:1.5rem;
}
}
/* お問い合わせ */
.contact_wrap{
margin-bottom:100px;
}
.contact_box{
width:1110px;
margin:auto;
}
@media screen and (max-width: 640px) {
.contact_wrap{
margin-bottom:48px;
}
.contact_box{
width:100%;
padding:0 24px;
}
}
/* 404ページ */
.notfound_wrap{
margin-top:50px;
}
.notfound_box{
color:#777;
}
.notfound_box dl{
line-height:1.1;
margin-bottom:24px;
}
.notfound_box dt{
font-size:100px;
font-weight:700;
}
.notfound_box dd.en{
font-size:32px;
font-weight:700;
letter-spacing:2px;
text-indent:2px;
margin-bottom:16px;
}
.notfound_box dd.txt{
line-height:1.8;
}
.notfound_box dd.txt span{
display:block;
font-size:22px;
}
.notfound_box dd.btn{
margin-top:32px;
}
.notfound_box dd.btn a{
display:inline-block;
font-size:16px;
font-weight:700;
padding:12px 64px 14px;
border:1px solid #00c6c1;
border-radius:100px;
color:#00c6c1;
}
.notfound_box dd.btn a:hover{
color:#ffff;
background:#00c6c1;
}
@media screen and (max-width: 640px) {
.notfound_box dd.txt{
font-size:1.3rem;
}
}

/* フォーム関係 */
.form_wrap{
padding:24px;
background:#fff;
border-radius:16px;
}
.form_wrap > dl{
display:flex;
align-items:center;
text-align:left;
border-bottom:1px solid #dedede;
}
.form_wrap > dl:last-of-type{
border:none;
}
.form_wrap > dl dt{
width:25%;
font-weight:bold;
padding:20px 0;
font-size:15px;
position:relative;
}
.form_wrap > dl dt.required::after{
content:"必須";
background:#d0483e;
color:#fff;
display:inline-block;
padding:0 6px;
border-radius:1px;
font-size:12px;
font-weight:normal;
position:absolute;
top:0;
bottom:0;
right:0;
margin:auto;
height:20px;
line-height:20px;
}
.form_wrap > dl dt.nini::after{
content:"任意";
background:#ccc;
color:#fff;
display:inline-block;
padding:0 6px;
border-radius:1px;
font-size:12px;
font-weight:normal;
position:absolute;
top:0;
bottom:0;
right:0;
margin:auto;
height:20px;
line-height:21px;
}
.form_wrap > dl dd{
width:75%;
padding:20px 0 20px 16px;
}
.form_wrap > dl dd .custom_txt{
margin:0 10px;
}

/* Firefoxのボタンの点線を消す */
input[type="button"]::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner {
border: 0px;
}
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="number"],
button,
textarea{
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
font-family:'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS P Gothic', sans-serif;
font-size:15px;
}
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="email"],
input[type="number"],
textarea{
padding:7px;
border:1px solid #ccc;
background:#fff;
border-radius: 2px;
box-sizing:border-box;
}
select {
-moz-appearance: none;
-webkit-appearance: none;
-o-appearance: none;
-ms-appearance: none;
appearance: none;
border-radius: 0;
border: 0;
margin: 0;
padding: 0;
background: none transparent;
vertical-align: middle;
font-size: inherit;
color: inherit;
box-sizing: content-box;
}
select::-ms-expand {
display: none;
}
.input_01{
width:100%;
}
.textarea_01{
width:100%;
min-height:300px;
}
.form_btn{
margin:32px auto;
}
.form_btn .btn{
background:#000;
font-size:22px;
font-weight:bold;
border-radius:100px;
height:60px;
line-height:62px;
color:#fff;
letter-spacing:.2rem;
text-indent:.2rem;
min-width:400px;
cursor:pointer;
border:none;
}

/* プルダウン */
.custom {
overflow: hidden;
display: inline-block;
*display: inline;
*zoom: 1;
position: relative;
border-radius: 1px;
border: 1px solid #ccc;
 /* box-shadow: 0 2px 0 #AAA; */
background-color: white;
vertical-align:bottom;
}
.custom > select {
width: 130%;
padding: 0.6em 5em 0.6em 0.6em;
font-size:15px;
}
.custom:after{
position: absolute;
top: 0;
bottom: 0;
right: 0;
width: 2.4em;
display: block;
content: "";
background:url(/img/common/select.png) center no-repeat;
background-size:10px 10px;
 /*
  border-left:1px solid #dedede;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGFBMVEUAAAAZJCYWISIYIyQYIiUWIiIYIyQYIiXh0rToAAAACHRSTlMA/hTRqiinvwFkb0sAAABCSURBVHjajchBDsAgDAPBOJDw/x+XVN0icQGfPGs3i+2GEqeiLCXWLENzvdzrDfP2ls/NjfKbgimYglfBq2Dm+LwHguMA235EdKYAAAAASUVORK5CYII=") center no-repeat;
 */
pointer-events: none;
}
/* ラジオボタン */
.radio{
position: absolute;
opacity: 0;
z-index: -1;
}
.radio + .radio-icon:before {
content: "";
display:inline-block;
width:20px;
height:20px;
background:url(/img/common/radio.png) no-repeat;
background-size:20px 20px;
position:relative;
top:5px;
}
.radio:checked + .radio-icon:before {
background:url(/img/common/radio_on.png) no-repeat;
background-size:20px 20px;
}
.radio_txt{
display:inline-block;
line-height:2;
padding-right:16px;
width : calc(100% / 4 - 8px) ;
}

/* チェックボックス */
.checkbox {
display: none;
}
.checkbox + .checkbox-icon:before {
content: "";
display:inline-block;
width:20px;
height:20px;
background:url(/img/common/checkbox.png) no-repeat;
background-size:20px 20px;
position:relative;
top:5px;
margin-right:5px;
}
.checkbox:checked + .checkbox-icon:before {
background:url(/img/common/checkbox_on.png) no-repeat;
background-size:20px 20px;
margin-right:5px;
}
.checkbox-icon{
white-space: nowrap;
}
.checkbox_txt{
display:inline-block;
line-height:2;
padding-right:16px;
width : calc(100% / 4 - 8px) ;
}
@media only screen and (max-width: 640px) {
.form_wrap{
padding:2rem .6rem;
}
.form_wrap > dl{
display:block;
/*
padding-bottom:2.2rem;
*/
margin-bottom:2rem;
border-bottom:none;
}
.form_wrap > dl dt{
width:100%;
padding:0;
margin-bottom:.7rem;
font-size:1.6rem;
}
.form_wrap > dl dt.required::after{
font-size:1rem;
font-weight:bold;
position:relative;
height:16px;
line-height:16px;
margin-left:7px;
top:-2px;
}
.form_wrap > dl dd{
width:100%;
padding:0;
font-size:1.4rem;
}
.checkbox_txt,
.radio_txt{
width:100%;
padding-right:0;
}
.form_btn{
margin-bottom:0;
}
.form_btn .btn{
min-width:100%;
font-size:2rem;
}
}



/* フッター */
#footer{
padding:50px;
background:#f5f5ee;
}
.footer_wrap{
display:flex;
justify-content:space-between;
width:1110px;
margin:0 auto 48px;
text-align:left;
}
.footer_wrap > div{
width:calc(100% / 3 - 36px);
}
#footer .logo img{
width:306px;
height:auto;
margin-bottom:20px;
}
.footer_wrap .logobox .add{
font-size:16px;
}
.footer_wrap .ttl{
font-size:1.6rem;
font-weight:400;
line-height:1;
border-bottom:1px solid #ccc;
margin-bottom:16px;
padding:12px 0;
}
.footer_sitemanu ul{
display:flex;
flex-wrap:wrap;
gap:8px 0;
}
.footer_sitemanu ul li{
width:50%;
padding:0;
font-size:16px;
}
.footer_contact dt{
font-size:16px;
margin-bottom:4px;
}
.footer_contact .telbox dd{
font-size:24px;
}
.footer_contact .mailbox{
margin-top:20px;
}
.footer_contact .mailbox .btn a{
display:block;
text-align:center;
background:#da5e9a;
color:#fff;
font-size:22px;
padding:14px 0 10px;
}

#footer .footnav{
display:flex;
justify-content:center;
flex-wrap:wrap;
margin:0 auto 20px;
max-width:800px;
}
#footer .footnav li:not(:last-child)::after{
content:"｜";
color:#d9d9d9;
}
#footer .copyright{
font-size:13px;
}
.sp_tel {
display:none; 	
}
@media screen and (max-width: 640px) {
#footer{
padding:50px 24px;
}
.footer_wrap{
width:100%;
flex-direction:column;
}
#footer .logo img{
width:24rem;
}
.footer_wrap > div{
width:100%;
}
.footer_wrap .logobox{
text-align:center;
}
.footer_wrap .logobox .add{
font-size:1.4rem;
line-height:1.4;
}
.footer_wrap .ttl{
font-size:1.8rem;
}
.footer_contact{
margin-top:20px;
}
.footer_contact .telbox dd small{
font-size:1.5rem;
}
.footer_contact .mailbox .btn a{
font-size:1.8rem;
width:70%;
margin:auto;
}
#footer .copyright{
font-size:1.2rem;
}
.sp_tel {
display: block;
width: 88px;
height: 88px;
position: fixed;
bottom:-10px;
left: -5px;
z-index: 9998;
}
.sp_tel a {
display: flex;
flex-direction:column;
justify-content:center;
width: 88px;
height: 88px;
border-radius: 100px;
border: 2px solid #fff;
text-align: center;
color: #fff;
background: #000;
font-weight: bold;
box-sizing: border-box;
line-height: 1.2;
font-size: 15px;
font-weight: bold;
text-decoration: none;
}
.sp_tel a::before {
content: "";
display: block;
width: 24px;
height: 24px;
background: url(/img/common/icon_tel.png) no-repeat;
background-size: auto;
background-size: 24px 24px;
margin: 0 auto 4px;
}


/* reCAPTCHAバッジ非表示 */
.grecaptcha-badge { visibility: hidden; }
.reCaptcha_txt{
font-size:11px;
color:#aaa;
text-align:center;
}
.reCaptcha_txt a{
color:#87b9ee;
}
@media only screen and (max-width: 640px) {
.reCaptcha_txt{
margin-top:1.6rem;
}
}