@charset "utf-8";
/* 
00 404.html
00 index.html
------------------------
------------------------
01 about系（about.html / terms.html / privacy.html）
02 linkkit.html
03 inquiry/
04 symptom/
05 consult/
06 entry/
07 search/
08 list/

--------------------------------------------
--------------------------------------------
30 s/xxxx (基本掲載) -> s/temp/temp_basic.html


/* 00 404.html
------------------------------------------------- */
#nf{
	padding: 10px 20px;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}
#nf > div{
	max-width: 480px;
	text-align: center;
}
#nf > div p{
	line-height: 1.8;
	padding: 30px 0;
}

/* 00 index.html
-------------------------------------------------------------*/
#indMain{
	min-height: calc(100vh - 180px);
	/*min-height: calc(100vh - 60px);*/
	/*padding: 0 10px 10px;*/
	padding: 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
}
#indinner{
	width: 100%;
	max-width: 960px;
	padding: 25px 10px;
	background-image: url(../img/ind/main_img.jpg);
	background-position: 50% 0;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 10px;

	display: -webkit-flex;;
	display: flex;
	flex-flow: column;
	justify-content: flex-end;

	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#wrapper section #indinner h2{
	padding: 5%;
	flex: 1 1 auto;
	display: -webkit-flex;
	display: flex;
	align-items: flex-end;
}
#indinner h2 img{
	min-width: 97px;
	max-width: 194px;
	width: 20vw;
	height: auto;
}

#searchInd{
	background: rgba(249,238,235,.95);
	border-radius: 10px;
}
#searchInd .btn{padding: 15px 30px;}
#searchInd .btn button{
	padding: 10px 20px;
	border-radius: 2em;
	font-size: 1.29rem;
	background: #ef8e92;
}
#searchInd ul{font-family: 'Zen Old Mincho', serif;}
#searchInd ul li{border-bottom: 1px solid #fff;}
#searchInd ul{
	border-radius: 5px;
	overflow: hidden;
}
#searchInd ul li dl{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	overflow: hidden;
	justify-content: center;
	align-items: center;
	color: #6a3f34;
	font-weight: bold;
}
#searchInd ul li dl dt{
	padding: 10px;
	flex: 0 0 7em;
	line-height: 20px;

	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	gap :3px;
}

#searchInd ul li dl dt::before{
	content: '';
	width: 18px;
	height: 19px;
	-webkit-background-size: contain;
	background-size: contain;

}
#searchInd ul li#srchArea dl dt::before{background-image: url(../img/icon/srch_location.png);}
#searchInd ul li#srchPT   dl dt::before{background-image: url(../img/icon/srch_point.png);}
#searchInd ul li dl dd{
	min-width: 0;
	padding: 10px 30px 10px 10px;
	flex: 1 1 0;
	background: rgba(250,210,199,.35);
	position: relative;
}
#searchInd ul li dl dd::after{
	content: '';
	width: 8px;
	height: 8px;
	margin-top: -5px;
	border-width: 1px 1px 0 0;
	border-style: solid;
	border-color: #000;
	transform: rotate(45deg);
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
}
#searchInd ul li dl dd div{
	white-space: nowrap;
	position: relative;
	overflow: hidden;
}
.ticker {
	display: inline-block;
	white-space: nowrap;
	will-change: transform;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

/* banner ----------------------------------- */
#ind_bb{
	max-width: 750px;
	margin: 0 auto;
	text-align: center;
	overflow: hidden;
}
#ind_bb a{
	display: block;
	background: #fff;
}
#ind_bb dt img{
	width: 100%;
	height: auto;
}
#ind_bb dd{margin: 5px 0;}
#ind_bb dd p{font-weight: bold;}
#ind_bb dd div.flx{
	justify-content: center;
	font-weight: normal;
}
#ind_bb_func{
	height: 30px;
	position: relative;
}

.swp_func{
	width: 100%;
	padding: 0 10px;
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	position: absolute;
	top: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.swp_func li{
	width: 2em;
	height: 2em;
	border-radius: 1.5em;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border: 1px solid #4c4c4c;
	cursor: pointer;
	text-indent: -9999px;
}
.swp_prev::before,
.swp_next::before{
	content: '';
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-style: solid;
	border-color: #000;
	display: block;
	position: absolute;
	top: 50%;
	display: block;
}
.swp_prev::before{
	border-width: 1px 0 0 1px;
	transform: rotate(-45deg);
	left: 22px;
}
.swp_next::before{
	border-width: 0 1px 1px 0;
	transform: rotate(-45deg);
	right: 22px;
}

.pagination{
	line-height: 30px;
	text-align: center;
}
.pagination span.swiper-pagination-bullet{
	width: 10px;
	height: 10px;
	margin:0 5px !important;
	background: #ddd;
	opacity: 1;
}
.pagination span.swiper-pagination-bullet-active{background: #ec9b85;}

#ind_tb{padding: 5px 8px;}
#ind_tb p{
	margin: 10px 0;
	text-align: center;
	font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif;
	display: block;
	color: #bda77a;
	font-weight: normal;
	font-size: .72rem;
}
#ind_tb ul{
	padding: 2px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	align-items: center;
}
#ind_tb ul li.s_card{padding: 7px;}
#ind_tb ul li.s_card a{
	color: #333;
	background: #fff;
	display: block;
}
#ind_tb ul li.s_card dl{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap: 10px;
}
#ind_tb ul li.s_card dl dt{flex:0 0 50%;}
#ind_tb ul li.s_card dl dd{
	padding: 5px 0;
	line-height: 1.4;
	font-weight: bold;
}
#ind_tb ul li.s_card dl dd div{font-weight: normal;}

/* 気になる症状 ----------------------------------- */
#symptoms{
	padding: 20px 15px;
	background: #f9f2ec;
	border-top: 1px solid #dcd2c9;
}

#symptoms h2{
	margin: 10px 0;
	font-family: 'Zen Old Mincho', serif;
	font-weight: 700;
	font-size: 1.58rem;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 3px;
}
#symptoms h2::before{
	width: 50px;
	height: 50px;
	content: '';
	background-image: url(../img/ind/symptoms_illust.png);
	-webkit-background-size: contain;
	background-size: contain;
}
#symptoms h2 div{text-align: center;}
#symptoms h2 span{
	font-family: ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif;
	display: block;
	color: #bda77a;
	font-weight: normal;
	font-size: .72rem;
}
/*#symptoms h2 span{display: none;}*/

#symptoms ul{
	padding: 25px 8px;
	background: #fff;
	border-radius: 10px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	gap :5px;
}
#symptoms ul li a{
	font-size: .86rem;
	color: #2581dc;
}

/* 新着掲載店情報 ----------------------------------- */
#nslwrap{
	padding: 25px 8px;
	background: #e9ecf5;
}
#ind_newshoplist{
	padding: 3px 0;
	position: relative;
	overflow: hidden;
}
.swpFunc {
	padding: 0 5px;
	width: 100%;
	z-index: 100;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	position: absolute;
	top: calc(50% - 10px);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.swpFunc li {
	width: 24px;
	height: 24px;
	cursor: pointer;
	display: block;
	z-index: 999;
	background: rgba(148, 148, 148, .75);
	border-radius: 20px;
	text-indent: -9999px;
	position: relative;
}
.swpFunc li::before{
	content: '';
	width: 8px;
	height: 8px;
	margin-top: -5px;
	border-style: solid;
	border-color: #fff;
	display: block;
	position: absolute;
	top: 50%;
}
.swpFunc li.swpPrev::before{
	border-width: 1px 0 0 1px;
	transform: rotate(-45deg);
	left: 7px;
}
.swpFunc li.swpNext::before{
	border-width: 0 1px 1px 0;
	transform: rotate(-45deg);
	right: 7px;
}
.swpFunc li::after{
	content: '';
	width: 11px;
	height: 1px;
	margin-top: -1px;
	background: #fff;
	display: block;
	position: absolute;
	top: 50%;
}
.swpFunc li.swpPrev::after{left: 7px;}
.swpFunc li.swpNext::after{right: 7px;}

#ind_rc{overflow: hidden;}
#ind_recommend{padding: 25px 8px;}
/*#ind_recommend ul li{margin: 10px 0;}*/
#ind_rc.dest .swiper-wrapper{
	flex-flow: column nowrap;
	align-items: center;
	gap :5px;
}

/* スタッフからのメッセージ ----------------------------------- */
#ind_message{
	padding: 25px 8px;
	margin-bottom: 25px;
	background: #e1efed;
}
#ind_message ul li{margin: 10px 0;}
#ind_message ul li a{
	padding: 20px 25px 20px 10px;
	border: 1px solid #c0c1c1;
	border-radius: 7px;
	background: #fff;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	position: relative;
}
.staffImage {flex: 0 0 75px;}
.staffImage img{
	width: 75px;
	height: auto;
}
.staffInfo {
	padding-left: 10px;
	flex: 1 1 auto;
}
.messageShop {font-weight: bold; margin: 0;}
.staffName {
	font-size: .86rem;
	font-weight: bold;
	margin: 2px 0;
}
.mes_set > div{
	line-height: 1.5;
	font-size: .86rem;
	overflow-wrap: anywhere;
	word-break: keep-all;
}

/* 口コミありのお店 ----------------------------------- */
#revwrap{padding: 0 8px 25px;}
#revAvailable{
	margin-bottom: 15px;
	border-width: 1px 0;
	border-style: solid;
	border-color: #d1ccda;
}
#revAvailable li:not(:last-child){border-bottom: 1px dashed #d1ccda;}
#revAvailable li{
	padding: 12px 8px;
}
#revAvailable li dl{flex: 1 1 auto;}
#revAvailable li dl dt{
	font-weight: bold;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap :5px;
}
#revAvailable li dl dt::before{
	content: '';
	width: 18px;
	height: 18px;
	margin-top: 3px;
	background-image: url(../img/icon/icn_reviews.png);
	background-repeat: no-repeat;
	background-size: contain;
	flex:0 0 18px;
	display: block;
}
#revAvailable li dl dd{
	font-size: .86rem;
	padding: 3px 0 3px 20px;
}
#revAvailable li dl dd div{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 5px;
}
#revAvailable li dl dd p{padding: 3px 5px;}

/* 最新情報 ----------------------------------- */
#newInfo{
	padding: 25px 8px;
	background: #f9eeeb;
}
#newInfo ul{
	padding: 0 10px;
	border: 1px solid #a7a7b8;
	border-radius: 7px;
	background: #fff;
}
#newInfo ul li:not(:last-child){border-bottom: 1px dashed #d5d0dd;}
#newInfo ul li{padding: 12px 0px;}
#newInfo ul li.arR::after{
	border-color: #d1ccda;
	right: 3px;
}
#newInfo ul dl{padding-right: 15px;}
#newInfo ul dl dt{
	font-weight: bold;
}
#newInfo ul dl dt span{
	padding: 0 7px;
	margin-right: 3px;
	border-radius: 3px;
	background-color: #6bb1f3;
	font-weight: normal;
	font-size: .72rem;
	color: #fff;
}
#newInfo ul dl dt span.iconUPD{background: #f197b3;}
#newInfo ul dl dt span.iconNRC{background: #6bb1f3;}
#newInfo ul dl dd{
	padding: 3px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 5px;
}

/* NEWOPEN ----------------------------------- */
#newOpen{padding: 25px 8px;}
#newOpen ul li{
	padding: 0 10px;
	margin: 7px 0;
	border: 1px solid #a9a9ba;
	border-radius: 7px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 5px;
}
#newOpen ul li::before{
	width: 32px;
	height: 24px;
	content: '';
	background-image: url(../img/icon/icn_newopen.png);
	background-position: 0 0;
	background-size: contain;
	display: block;
	flex:0 0 32px;
}
#newOpen ul li dl{
	padding: 10px 25px 10px 0;
	flex: 1 1 auto;
}
#newOpen ul li dl dt{font-weight: bold;}
#newOpen ul li dl dd{
	padding: 3px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 5px;
}

/* 最近見た店舗 ----------------------------------- */
#histarget{
	padding: 25px 8px;
	background: #eeece9;
	border-width: 1px 0;
	border-style: solid;
	border-color: #bbb;
}
#history{
	overflow: hidden;
	position: relative;
}

/* おすすめコンテンツ ----------------------------------- */
#useful{padding: 25px 8px 0;}
#useful ul{
	margin: 0 -8px;
	border-bottom: 1px solid #d1ccda;
}
#useful ul li{
	border-top: 1px solid #d1ccda;
	background: #fff;
}
#useful ul li a{
	padding: 20px 10px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 5px;
}
#useful ul li a dl{flex: 1 1 auto;}
#useful ul li a dl dt{font-weight: bold;}
#useful ul li a dl dd{font-size: .86rem;}
#useful ul li a span{flex: 0 0 70px;}
#useful ul li a span img{
	width: 100%;
	height: auto;
}

/* 01 about系（about.html / terms.html / privacy.html）
-------------------------------------------------------------*/
.co_mark{
	margin-top: 15px;
	text-align: right;
}

#about dd{padding: 0 0 15px;}

#terms{line-height: 1.6;}
#terms h3{font-size: 1rem;}
#terms dl dt{
	padding: 3px 0;
	margin-bottom: 7px;
	font-weight: bold;
	font-size: 1rem;
	border-bottom: 1px solid #aba59c;
}
#terms dl dd{
	margin-bottom: 15px;
	font-size: .86rem;
}

.termlists{margin: 10px 0;}
.termlists li{
	padding: 5px 0 5px 14px;
	border-bottom: 1px dashed #949494;
	position: relative;
}
.termlists li::before{
	content: "";
	position: absolute;
	left: 0;
	top: calc(0.2em + 7px);
	width: 8px;
	height: 8px;
	background: #949494;
	display: block;
}

#terms dl dd h4{font-size: 1rem;}

.decimal_list{
	margin: 10px 0;
	counter-reset: listnum;
}
.decimal_list li{
	padding: 5px 0;
	border-bottom: 1px dashed #949494;
	position: relative;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
}
.decimal_list li::before{
	content: "";
	counter-increment: listnum;
	content: counter(listnum) ".";
	display: block;
	flex: 0 0 1.3em;
}
.decimal_list li div{flex: 1;}
#aboutlist li{margin: 10px auto;}

/* 掲載ガイドライン：NG例・OK例 */
.gl_compare {
	display: block;
	gap: 20px;
	margin: 15px 0 20px;
}
.gl_compare_box {
	flex: 1;
	min-width: 0;
	background: #f7f7f7;
	border: 1px solid #e5e5e5;
}
.gl_compare_box + .gl_compare_box {
	margin-top: 12px;
}
.gl_compare_box > p {
	margin: 0;
	padding: 8px 10px;
	text-align: center;
	font-weight: bold;
	color: #fff;
}
.gl_compare_ng > p {
	background: #999;
}
.gl_compare_ok > p {
	background: #4bc8b5;
}
.gl_compare_box ul {
	margin: 0;
	padding: 8px 15px 12px;
	list-style: none;
}
.gl_compare_box li {
	padding: 8px 4px;
	border-bottom: 1px solid #ddd;
}
.gl_compare_box li:last-child {
	border-bottom: none;
}
.gl_compare_note {
	font-size: 0.92em;
}

/* 02 linkkit.html
------------------------------------------------- */
.numbullet_list{counter-reset: bulletnum;}
.numbullet_list li{
	padding: 5px 0;
	border-bottom: 1px dashed #949494;
	position: relative;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	gap: 3px;
}
.numbullet_list li::before{
	width: 1.6em;
	height: 1.6em;
	content: "";
	counter-increment: bulletnum;
	content: counter(bulletnum);
	display: block;
	flex: 0 0 1.6em;
	color: #fff;
	text-align: center;
	font-weight: bold;

	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #9c8982;
	border-radius: 3px;
}
.numbullet_list li div{flex: 1;}

#makebanner dl{
	margin: 20px 10px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 5px;
	padding: 10px 5px;
	background: #f1eee7;
	border-radius: 5px;
}
#makebanner dl dd button{
	height: 100%;
	padding: 0 5px;
	background: #819ed5;
	border: 1px solid #9291e1;
	border-radius: 5px;
	color: #fff;
	cursor: pointer;
}

#linkkitInfo h3{
	padding: 10px;
	margin-bottom: 20px;
	border: 1px solid #d1ccda;
	text-align: center;
	font-size: .79rem;
	font-weight: normal;
	display: inline-block;
}
#linkkitInfo dl{margin-bottom:20px;}
#linkkitInfo dl dt{
	padding: 3px 8px;
	background: #aba69e;
	font-weight: bold;
	color: #fff;
}
#linkkitInfo dl dd{
	padding: 5px 10px;
	margin-bottom: 15px;
}

#linkkitInfo ul {
	padding: 10px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 5px;
}
#linkkitInfo ul li a{
	padding: 5px 20px;
	background: #eaf0fc;
	border-radius: 5px;
	font-weight: bold;
	text-decoration: underline;
	display: block;
}

/* ajax/load_linkkit.php
------------------------------------*/
#linkkitBox h4{
	padding-top: 7px;
	border-top: 1px solid #ddd;
}
#linkkitBox > p{padding: 3px 0;}
#linkkitBox dl dt{
	display:block;
	margin-bottom:5px;
}
#linkkitBox pre {
	padding: 10px 5px;
	background:#f5f5f7;
	border: 1px solid #ddd;
	display:block;
	overflow: auto;
	white-space: pre-wrap;
	word-wrap: break-word;
}
#linkkitBox img{
	max-width:100%;
	height:auto;
}

.clipbox{
	padding: 10px 0;
	margin-bottom: 10px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 5px;
}
.clipbox button{
	padding: 5px 5px 5px 25px;
	background: #819ed5;
	border: none;
	border-radius: 5px;
	color: #fff;
	position: relative;
	cursor: pointer;
}
.clipbox button::before{
	content: '';
	width: 11px;
	height: 13px;
	background-image: url(../img/icon/icn_clipboard.png);
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top: 50%;
	left: 8px;
	margin-top: -6px;
}

/* 03 inquiry/
------------------------------------------------- */
#announce{
	padding: 10px;
	margin: 15px 0;
	border: 1px solid #999;
	border-radius: 7px;
}

#contactForm{margin: 0 -8px;}
#contactForm form{padding: 0 8px;}
#contactForm h3{
	padding: 5px;
	margin-bottom: 15px;
	background: #424242;
	color: #fff;
	font-weight: bold;
	font-size: 1.15rem;
	text-align: center;
}

.forms{margin: 25px 0;}
.forms dt{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 5px;
}
.forms dd{
	padding: 8px 0 12px;
	margin-bottom: 15px;
	border-bottom: 1px dashed #949494;
}

.forms_chk{margin: 25px 0px;}
.forms_chk dt{font-weight: bold; font-size: 1rem;}


#setting h3{
	margin-bottom: 5px;
	font-size: 1rem;
}
#setting p span{
	color: #ff3838;
	font-weight: bold;
}
#setting ul{
	margin: 10px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
}
#setting ul li{
	padding: 2px;
	flex:1 1 33%;
}
#setting ul li a{
	padding: 5px;
	text-align: center;
	text-decoration: none;
	border: 1px solid #a1a1a1;
	border-radius: 5px;
	display: block;
	position: relative;
	background: #fff;
	cursor: pointer;
}

#complete{padding: 15px 8px;}
#complete h3{
	margin-bottom: 10px;
	font-size: 1rem;
}

/* 04 symptom/
------------------------------------------------- */
.caution{
	margin: 25px 0;
	font-size: .86rem;
}
.caution h3{
	padding: 7px 0;
	margin-bottom: 15px;
	font-size: 1rem;
	text-align: center;
	border-width: 1px 0;
	border-style: solid;
	border-color: #bbb;
}
#symptom_list{
	margin: 10px 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, auto);
	gap: 6px;
}
#symptom_list li a{
	padding: 10px;
	display: block;
	background: #f8f3ec;
	border: 1px solid #b5b0a8;
	border-radius: 5px;
}
#symptom dl dt{
	padding: 3px 0;
	margin-bottom: 7px;
	font-weight: bold;
	font-size: 1rem;
	border-bottom: 1px solid #aba59c;
}
#symptom dl dd{
	margin-bottom: 15px;
	font-size: .86rem;
}
.example{border: 2px solid #9c8982;}
.example dt{
	background: #9c8982;
	color: #fff;
	font-weight: bold;
	font-size: 1.15rem;
	text-align: center;
}
.example dd{
	padding: 10px;
	font-size: .86rem;
}
.example dd ul li::before{
	content: '・';
	color: #e68e76;
}

/* 05 consult/
------------------------------------------------- */
#cnsl_tgt{margin: 25px 0;}
#consulttab{
	padding: 10px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, auto);
	gap: 6px 0;
}
#consulttab li:nth-child(3n+1) a{border-left: 1px solid #000;}
#consulttab li a{
	width: 100%;
	text-align: center;
	border-width: 0 1px 0 0;
	border-style: solid;
	border-color: #000;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	white-space: nowrap;
}
#consulttab li.act a{color: #0d68ff;}
#histab,
#cnsltab{
	width: 100%;
	margin: 7px auto;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap :5px;
}
#histab li,
#cnsltab li{
	flex: 1 1 auto;
	align-items: center;
}
#histab li a,
#cnsltab li a{
	height: 100%;
	padding: 3px 0;
	text-align: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	background: #fff;
	border-radius: 5px;
	border: 1px solid #454546;
	display: block;
}
#histab li.act a,
#cnsltab li.act a{
	background: #ef8e92;
	color: #fff;
	border: none;
}

#cnsllist{
	padding: 10px;
	background: #f9ede9;
}
.cnslcard,
.cnslanswer{
	padding: 10px;
	margin: 10px 0;
	border: 1px solid #c3c1c1;
	border-radius: 8px;
	background: #fff;
}
.cnslcard dl dt{color: #0d68ff;}
.cnslcard dl dd{
	overflow-wrap: anywhere;
	word-break: keep-all;
}
.cnslcard ul{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	gap: 5px;
}
.cnslcard ul li{
	padding: 0 5px;
	background: #64a0f1;
	color: #fff;
	font-size: .86rem;
}
.cnslcard ul li span{
	padding: 0 3px;
	font-weight: bold;
}
.cnslcard ul li.cnsl_age{
	padding: 3px 0;
	background: none;
}
.cnsl_age{
	display: -webkit-flex;
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: .86rem;
}
.cnsl_age::before{
	width: 20px;
	height: 20px;
	content: '';
	background-image: url(../img/icon/icn_human.png);
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
}
.cnslcard .flx{
	margin-top: 5px;
	justify-content: space-between;
	align-items: center;
}

#cnslhead{
	padding: 10px;
	margin: 0 -8px;
	background: #f9ede9;
}
#cnslhead .cnslcard{margin: 0;}
#cnslhead .cnslcard > div{
	padding: 0 0 5px;
	margin-bottom: 5px;
	border-bottom: 1px dashed #949494;
	justify-content: space-between;
}
#cnslhead .cnslcard > div span{padding-left: 10px;}
#cnslhead .cnslcard ul{
	margin: 10px 0;
	justify-content: flex-start;
}
#cnslhead .cnslcard p a{text-decoration: underline;}
#resNum{padding: 5px 0;}
#resNum span{font-size: 1.34rem; font-weight: bold;}

.cnslanswer dt{font-weight: bold;}
.cnslanswer > dl dd{
	padding: 5px 0 10px;
	overflow-wrap: anywhere;
	word-break: keep-all;
}
.cnslanswer .card_body{
	padding: 10px 0;
	border-top: 1px dashed #949494;
}
.cnslanswer .card_body.free dl dt{font-size: 1rem;}
.cnslanswer .card_body .btn{margin-top: 5px;}
.cnslanswer .card_body .btn a{
	padding: 0 3px;
	border-radius: 5px;
	font-size: .86rem;
}

#cnslcategory{margin-top: 30px;}
#cnslcategory ul li{border-bottom: 1px solid #d1ccda;}
#cnslcategory ul li a{
	padding: 10px;
	display: block;
	font-size: 1rem;
}

#cnslposted{
	padding: 30px 0;
	text-align: center;
}
#consult_q textarea{height: 16em;}

#cnslform{
	padding: 15px 0;
	border-top: 1px solid #949494;
}
#cnslform dl{
	padding: 0 5px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	flex:1;
}
#cnslform > dl dt{
	padding-top: 10px;
	margin-top: 5px;
	border-top: 1px dashed #949494;
}
#cnslform dl dt{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 5px;
}
#cnslform dl dd{padding: 5px 0 10px;}


/* 06 entry/
------------------------------------------------- */
#planinfo{padding: 15px 0;}
#planinfo .holder{margin: 20px 0;}
#planinfo .notes{font-weight: bold;}
#planinfo .notes span{color: #ff3838;}

#entry{
	margin: 0 -8px;
	font-size: .86rem;
}
#entry h3{
	padding: 5px;
	margin-bottom: 15px;
	background: #424242;
	color: #fff;
	font-weight: bold;
	font-size: 1.15rem;
	text-align: center;
}
.entryinner{padding: 15px 8px;}

.plan,
.banner{margin: 15px 0;}

#entry table{
	width: 100%;
	border-collapse: collapse;
}
#entry table th,
#entry table td{
	padding: 3px 5px;
	border: 1px solid #727272;
}
#entry table caption{
	border-width: 1px 1px 0;
	border-style: solid;
	border-color: #727272;
	padding: 5px 0;

	color: #fff;
	font-size: 1.15rem;
	font-weight: bold;
}
#entry table th{
	font-weight: normal;
	text-align: left;
	white-space: nowrap;
}
#entry table td{
	font-size: 1rem;
	font-weight: bold;
	text-align: right;
}
#entry table td span{
	font-size: .86rem;
	font-weight: normal;
	display: block;
}

.plan table caption{background: #75c9c9;}
.plan table th{background: #e0f5f5;}
.banner table caption{
	background: #e290bc;
	text-align: left;
	padding: 4px 10px !important;
}
.banner table caption span{font-weight: normal; font-size: .86rem; display: block;}
.banner table th{background: #fde8f3;}

.opt_notes{
	padding: 5px;
	border: 2px solid #e69dc4;
	background: #fde8f3;
}

#entry .btn.edge{margin: 15px auto;}

/* entry/xxxx
-------------------------------------- */
#flow{
	padding: 25px 15px;
	background: #fff;
	border-radius: 10px;
	text-align: center;
}
#flow > p span{
	color: #ff3838;
	font-weight: bold;
}
#flow ol{
	padding: 5px 15px;
	margin: 15px 0;
	border: 1px solid #818181;
	border-radius: 8px;
	counter-reset: flownum;
}
#flow ol li{
	padding: 5px 10px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
}
#flow ol li:not(:first-child){border-top: 1px dashed #bbb;}
#flow ol li::before{
	content: "";
	counter-increment: flownum;
	content: counter(flownum) ".";
	display: block;
	flex: 0 0 1.3em;
	font-weight: bold;
}
#flow h4{font-size: 1.15rem;}

#entryhead{
	margin: 0 -8px;
	padding: 10px 10px 25px;
	background: #ebe5df;
}
#entryForm{margin: 0 -8px;}
#entryForm form,
#entryForm .formcaps{padding: 0 8px;}
#entryForm h3{
	padding: 5px;
	margin-bottom: 15px;
	background: #6e5f58;
	color: #fff;
	font-weight: bold;
	font-size: 1.15rem;
	text-align: center;
}
#entryForm .formcaps dl{margin: 20px 0;}
#entryForm .formcaps dl dt{font-weight: bold;}

#signup_agency #entryhead{background: #e4e3e9;}
#signup_agency #entryForm h3{background: #998bd9;}

.howtofind div{padding: 3px 0;}
.howtofind ul{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap :3px;
}
.howtofind ul li:first-child{flex:0 0 7em;}
.howtofind ul li:last-child{flex:1 1 auto;}
#chkBox{
	padding: 10px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 5px;
}
#chkBox > div{display: inline-block;}

#fp_notice{margin-bottom: 20px;}
#fp_notice h4{
	background: #9c8982;
	color: #fff;
	font-size: 1rem;
}
#fp_notice dl{margin: 5px 0; text-align: left;}
#fp_notice dl dt{color: #ff3838; font-weight: bold;}


/* entry/rules.html
-------------------------------------- */
#rules > li{
	padding: 5px 0;
	border-bottom: 1px dashed #949494;
	font-size: .86rem;
}
#rules > li:last-child{border: none;}
#rules > li > span{
	font-size: 1.15rem;
	font-weight: bold;
	display: block;
	text-indent: -.4em;
}
#rules > li > ul > li > span{font-weight: bold;}
#rules > li > ul{padding-top: 10px;}
#rules a{text-decoration: underline;}


/* 07 search/
------------------------------------------------- */
#resNum{padding: 5px 0;}
#resNum span{font-size: 1.34rem; font-weight: bold;}

ul#condTB{border-color: #a1a1a1;}
ul#condTB li dl dt{
	background: #f9e4df;
	border-bottom: 1px solid #a1a1a1;
	border-right: 1px solid #a1a1a1;
	padding: 3px 5px;
	font-size: 1rem;
	color: #333;
	font-weight: bold;
	white-space: nowrap;
}
ul#condTB li dl dd{
	border-bottom: 1px solid #a1a1a1;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 3px 5px;
	font-size: 1rem;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
ul#condTB li dl dd span:not(:last-child):after{content: ',';}

ul#condTB li dl dd p{flex:0 0 auto;}
ul#condTB li dl dd p a{
	padding: 2px 3px;
	border-radius: 4px;
	position: relative;
	display: flex;
	align-items: center;
	background: #e8edf2;
	font-size: .86rem;
	color: #696e74;
}
ul#condTB li dl dd p a::after{
	content: '';
	width: 6px;
	height: 6px;
	margin-top: -2px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #696e74;
	transform: rotate(135deg);
	display: block;
}
ul#condTB li dl dd div,
.ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* banner表示
---------------------------------------*/
#pickup_salon{margin: 15px 0;}
#pickup_salon h2{
	margin-bottom: 15px;
	text-align: center;
}
#bbanner a{
	display: block;
	background: #fff;
}
#bbanner dt img{
	width: 100%;
	height: auto;
}
#bbanner dd{margin: 5px 0;}
#bbanner dd p{font-weight: bold; text-align: center;}
#bbanner dd div.flx{
	justify-content: center;
	font-weight: normal;
}

#tbanner p{
	margin: 10px 0;
	text-align: center;
	font-size: .72rem;
}
#tbanner{
	padding: 2px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	align-items: center;
}
#tbanner li.s_card{padding: 7px;}
#tbanner li.s_card a{
	color: #333;
	background: #fff;
	display: block;
}
#tbanner li.s_card dl{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap: 10px;
}
#tbanner li.s_card dl dt{flex:0 0 50%;}
#tbanner li.s_card dl dd{
	padding: 5px 0;
	line-height: 1.4;
}
#shopList{
	margin: 0 -8px;
	border-bottom: 1px solid #949494
}

/* 検索一覧 shopcard (有料)
---------------------------------------*/
.card,
.freecard{margin: 10px 0;}
.card > a,
.freecard > a{
	text-decoration: none;
	display: block;
}
.card a.dis{
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	tap-highlight-color: rgba(0,0,0,0);
}
.recommendShop{
	padding: 5px 10px;
	border-top: 1px solid #949494;
	background: #f9ede9;
}
.recommendShop dt{
	font-size: 1.17rem;
	font-weight: bold;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 5px;
}
.recommendShop dt::before{
	content: '';
	width: 39px;
	height: 15px;
	content: '';
	background-image: url(../img/icon/icn_recommend.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	-webkit-background-size: contain;
	display: block;
}
.freecard .recommendShop dt::before{display: none;}

.recommendShop dd{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	gap: 5px;
}
.cardinfo{
	padding: 10px;
	font-size: .86rem;
}
.cardinfo .flx{padding: 0;}

.icn_prm{
	padding: 1px 5px 1px 20px;
	border-radius: 5px;
	border: 2px solid #e1d983;
	color: #75431a;
	background-color: #fdf8bf; 
	background-image: url(../img/icon/icn_premium.png);
	-webkit-background-size: 13px 10px;
	background-size: 13px 10px;
	background-position: 3px 50%;
	background-repeat: no-repeat;
}
.icn_review a{color: #fff;}

.recimg{
	margin: 5px 0;
	text-align: center;
}
.recimg img{
	width: 100%;
	max-width: 750px;
	height: auto;
}

.cardintro{
	margin: 10px 0;
	font-size: .86rem;
	line-height: 1.2;
	overflow-wrap: anywhere;
	word-break: keep-all;
}
.powerpush{
	margin: 5px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap :3px;
}
.powerpush li{
	padding: 1px 3px;
	white-space: nowrap;
	color: #fff;
	background: #4bc8b5;
}
.powerpush li.dis{
	color: #bbb;
	border: 1px solid #ddd;
	background: #fff !important;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.powerpush li.icn_newopen{background: #f6ae7e;}
.powerpush li.icn_review{background: #fe875e;}

#detTrt .powerpush li{background: #da5eb3;}

.cardSalary{
	width: 80%;
	padding: 5px 15px;
	margin: 5px auto;
	border-radius: 3em;
	background: #eaf0fc;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.cardSalary dd.salarycaps{
	padding: 5px 10px;
	background: #ff8dba;
	border-radius: 2rem;
	color: #fff;
}
.cardSalary dd span{
	font-size: 1.34rem;
	font-weight: bold;
}
.cardCond{
	margin: 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
}
.cardCond li dl{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	gap: 5px;
}
.cardCond li dl dt{
	margin-top: 1px;
	font-weight: bold;
	flex:0 0 7em;
	font-size: .72rem;
}
.cardCond li dl dd{
	flex: 1;
	overflow-wrap: anywhere;
	word-break: keep-all;
}

.recFunc{margin-top: 10px;}
.recFunc ul{
	width: 100%;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap: 2px;
}
.recFunc ul li{flex:1 0 25%;}
.recFunc ul li a{
	padding: 5px;
	border-radius: 5px;
	border: 1px solid #4c4c4c;
	background-color: #fff;
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
	align-items: center;
	gap: 3px;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1;
	white-space: nowrap;
}
.recFunc ul li a::before{
	width: 30px;
	height: 30px;
	content: '';
	display: block;
	background-position: 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	background-repeat: no-repeat;
}
.recFunc ul li.rfLine a::before{background-image: url(../img/icon/icn_line.png);}
.recFunc ul li.rfMail a::before{background-image: url(../img/icon/icn_mail.png);}
.recFunc ul li.rfAdd a::before{background-image: url(../img/icon/icn_fav.png);}
.recFunc ul li.rfAdd a.already::before{background-image: url(../img/icon/icn_fav_on.png);}
.recFunc ul li.rfAdd a.already{color: #d678af;}
.recFunc ul li.rfDet{flex:2 1 50%;}
.recFunc ul li.rfDet a{
	background-color: #ef8e92;
	border: none;
	color: #fff;
}
.recFunc ul li.rfDet a{
	height: 100%;
	flex-flow: row nowrap;
	justify-content: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.recFunc ul li.rfDet a::before{display: none;}
.recFunc ul li.rfDet a::after{
	content: '';
	width: 8px;
	height: 8px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #fff;
	transform: rotate(135deg);
	display: block;
}

/* 有料登録が無い場合
---------------------------------------*/
#invitation{
	position:relative;
	background:#fff;
	margin: 10px 5px;
	border-radius: 10px;
}
#invitation::after{
	content:'';
	width:66px;
	height:111px;
	background-image: url(../img/other/invitation_illust.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	position:absolute;
	top: 40px;
	right: 10px;
}
#invitation h3{
	padding: 3px;
	background:#61d0d2;
	border-radius: 10px 10px 0 0;
	color: #fff;
	font-size: 1rem;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	gap :3px;
}
#invitation h3::before{
	content:'';
	width:27px;
	height:23px;
	background-image: url(../img/icon/icn_hogunavi.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
}

#invitationInner{
	padding: 5px;
	border-width: 0 2px 2px;
	border-radius: 0 0 8px 8px;
	border-style: solid;
	border-color: #ddd;
	font-size: .86rem;
}
#invitationInner dl{
	margin-bottom: 5px;
	display:flex;
	flex-flow:row nowrap;
	align-items: flex-start;
	gap :3px;
}
#invitationInner dl dt{
	padding: 0 2px;
	flex: 0 1 4em;
	background: #949494;
	border-radius: 4px;
	line-height: 1.6;
	font-size: 11px;
	font-weight: bold;
	text-align:center;
	color: #fff;
	white-space: nowrap;
}
#invitationInner dl dd{
	line-height: 1.4;
	width: calc(100% - 130px);
	margin: auto 0;
}
#invitationInner p{
	background: #e0f5f5;
	padding: 3px;
	text-align: center;
}

#nhood_wrap{margin: 0 -8px;}
#nhood_wrap h4{
	margin: 15px 0;
	font-size: 1rem;
	text-align: center;
}
#neighbour{
	position:relative;
	background:#fff;
	margin: 30px 5px;
	border-radius: 10px;
}
#neighbour h3{
	padding: 3px;
	background: #c9756d;
	border-radius: 10px 10px 0 0;
	color: #fff;
	font-size: 1rem;
	text-align: center;
}
#neighbourInner{
	padding: 5px;
	border-width: 0 2px 2px;
	border-radius: 0 0 8px 8px;
	border-style: solid;
	border-color: #ddd;
	font-size: .86rem;
}
#neighbourInner p{
	margin-bottom: 5px;
	text-align: center;
}
#neighbourInner dl{
	display:flex;
	flex-flow:row nowrap;
	align-items: flex-start;
	gap :3px;
}
#neighbourInner dl dt{
	padding: 0 2px;
	flex: 0 1 4em;
	background: #949494;
	border-radius: 4px;
	line-height: 1.6;
	font-size: 11px;
	font-weight: bold;
	text-align:center;
	color: #fff;
	white-space: nowrap;
}
#neighbourInner dl dd{
	line-height: 1.4;
	margin: auto 0;
}
#neighbourInner p{
	background:#f4e5e4;
	padding: 3px;
	text-align: center;
}



/* 08 list/
------------------------------------------------- */
#favlist{
	padding: 25px 10px;
	margin: 0 -8px;
	background: #f9ede9;
}
#fav_hd{font-weight: bold;}

.fav_card{
	padding: 10px;
	margin: 10px 0;
	border: 1px solid #c3c1c1;
	background: #fff;
	border-radius: 8px;
}

.favinner,
.favfunc {
	display: flex;
	gap: 4px;
}
.favinner > .holder {
	flex: 0 0 150px;
	margin: 0;
}
.fav_card .forsp {font-size: .86rem;}
.favinfo {flex: 1;}
.favinfo > .fav_catch {font-size: .86rem;}
.favinner {flex-flow: row nowrap;}
.favinfo {display: contents;}
/*.favinfo > .fav_catch {
	flex: 0 0 100%;
	order: -1;
}*/
.favinfo > .fav_detail {flex: 1;}
/* .favinner,
.favfunc{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap: 4px;
}
.favinner > p{flex: 0 0 150px;}
.favinner > div p{font-size: .86rem;} */

.favfunc{
	padding: 8px 0;
	margin-top: 8px;
	border-top: 1px dashed #949495;
}
.favfunc li{flex: 1;}
.favfunc li.det a,
.favfunc li.del span{
	padding: 5px;
	display: block;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #ef8e92;
	border-radius: 5px;
	background: #ef8e92;
	color: #fff;
	text-align: center;
	cursor: pointer;
}
.favfunc li.det a.arR::after{border-color: #fff;}
.favfunc li.del span{
	background: #fff;
	border: 1px solid #4c4c4c;
	color: #424242;
}
#no_browsing{
	padding: 25px 10px;
	border: 1px solid #d1ccda;
	background: #fff;
}
#trending{
	padding: 25px 0;
	background: #fff;
}
#trending h3{
	margin-bottom: 20px;
	font-size: 1.15rem;
	font-weight: normal;
	text-align: center;
}

/* 30 s/xxxx (基本掲載) -> s/temp/temp_basic.html
------------------------------------------------- */
#shopdetail{padding: 0 8px;}
#detinner{margin: 0 -8px;}

#hdcaps{
	padding: 5px 8px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
#hdcaps p{
	text-align: right;
	flex: 1 1 auto;
}
#hdcaps .icn_newopen{
	padding: 0 3px;
	background: #f6ae7e;
	color: #fff;
}
#hdinfo{
	padding: 10px 10px 20px;
	margin-bottom: 15px;
	background: #f9ede9;
}
#hdinfo .btn a{
	padding: 5px 0;
	margin-top: 8px;
	background: #fb9a83;
	font-size: 1rem;
	font-weight: bold;
}
#hdfunc{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
#hdfunc h2{font-size: 1.15rem;}

.fav{
	background: #fff;
	border-radius: 1.5em;
}
.fav p{
	width: 31px;
	height: 31px;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.fav p span{
	width: 17px;
	height: 16px;
	content: '';
	background-image: url(../img/icon/fav_off.png);
	-webkit-background-size: contain;
	background-size: contain;
	text-indent: -9999px;
	display: block;
}
.fav p.already span{background-image: url(../img/icon/fav_on.png);}

/* 当店のイチオシポイント ---------------------------------------*/
#thumbsbox{padding: 15px 0;}
#thumbsbox dt{
	text-align: center;
	font-size: 1.15rem;
	font-weight: bold;
}
#thumbs{
	position: relative;
	overflow: hidden;
	padding-top: 10px;
	margin-bottom: -15px;
}
.thumb{
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	font-size: .86rem;
}
.thumb img{
	width: 100%;
	height: auto;
	max-width: 750px;
	aspect-ratio: 21 / 16;
}
.thumb.swiper-slide span{
	display: block;
	padding: 5px 0;
	line-height: 1.2;
	min-height: 2.4em;
	overflow-wrap: anywhere;
	word-break: keep-all;
}
/*
.thumb.swiper-slide-active span{
	display: block;
	padding: 5px 0;
	margin: 0 -20px;
	line-height: 1.2;
	min-height: 2.4em;
}
*/

/* 切替tab ---------------------------------------*/
#contTabs{margin-bottom: 15px;}
#contTabs::after{
	width: 100%;
	height: 2px;
	content: '';
	display: block;
	background: #757575;
}
#contTabs ul{
	padding: 0 10px;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	gap: 5px;
	position: relative;
	bottom: -2px;
}
#contTabs ul li{flex:1;}
#contTabs ul li a{
	text-align: center;
	display: block;

	font-size: 1rem;
	font-weight: bold;
	color: #949494;
	border: 1px solid #757575;
	border-radius: 8px 8px 0 0;
	padding: 10px 5px;
	position: relative;
	white-space: nowrap;
}
#contTabs ul li a.act{
	color: #424242;
	border-width: 2px 2px 0 2px;
	border-style: solid;
	border-color: #757575;
	position: relative;
}
#contTabs ul li a.act::after{
	width: 100%;
	height: 3px;
	background: #fff;
	content: '';
	display: block;
	position: absolute;;
	left: 0;
	bottom: 0;
}
.tabcont{margin-bottom: 20px}

/* 詳細コンテンツ共通 ---------------------------------------*/
.c_set h4{
	padding: 10px;
	background: #f1eee7;
	overflow-wrap: anywhere;
	word-break: keep-all;
}
.c_set .c_cont{padding: 15px 8px;}
.reclist{font-size: .86rem;}
.reclist dt{
	color: #707070;
	font-weight: bold;
}
.reclist dd{
	padding: 0 0 7px;
	margin-bottom: 10px;
	border-bottom: 1px dashed #bbb;
	overflow-wrap: anywhere;
	word-break: keep-all;
}
.appendix{
	padding: 10px 0;
	text-align: center;
}
.appendix img{
	width: 100%;
	max-width: 700px;
	height: auto;
}

#notice_for_fp{
	padding: 10px;
	margin-bottom: 20px;
}
#notice_for_fp dl{
	padding: 15px;
	border: 2px solid #ef9d9f;
	border-radius: 10px;
}
#notice_for_fp dl dt{
	margin-top: 10px;
	font-weight: bold;
	border-bottom: 1px solid #aaa;
}
#notice_for_fp dl dd{padding: 10px 0;}


/* 店舗紹介文 ---------------------*/
#readfirst{
	max-height: 9em;
	overflow: hidden;
	overflow-wrap: anywhere;
	word-break: keep-all;
}
#readmore{
	padding: 15px 0;
	cursor: pointer;
	overflow: hidden;
	text-align: center;

	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
}
#readfirst > div{display: none;}

.morearrow{
	display: -webkit-flex;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}
.morearrow:before{
	content: '';
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #000;
	transform: rotate(-135deg);
	display: block;
}

.disp #readfirst,
.disp #readfirst > div{display: inline;}
/*.disp .morearrow{transform: rotate(180deg);}*/
.disp #readmore{display: none;}


/* 設備・対応内容 ---------------------*/
.facility{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	gap :10px;
	font-size: .86rem;
}

/* 施術情報 ---------------------*/
#medicalinfo{padding: 10px 0;}


/* 募集要項 追加画像
---------------------------------------*/
.conceal {
	overflow: hidden;
	position: relative;
	transition: all 1s;
	/*transition: height 0.6s ease;*/
}
.conceal::before {
	content: "";
	width: 100%;
	height: 60px;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, #fff 100%);
	background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, #fff 100%);
}

#view_extra{
	margin: 10px 0;
	overflow: hidden;
	text-align: center;
}
#view_extra label{padding: 10px 0;}
#trigger {display: none;}
#trigger:checked ~ .morearrow {transform: rotate(180deg);}
#extra_images{margin: 10px 0;}
#extra_images:has(#trigger:checked) .conceal {height: auto !important;}
#extra_images:has(#trigger:checked) .conceal::before {display: none;}
#extra_images:has(#trigger:checked) .morearrow::before{
	margin-top: 5px;
	transform: rotate(45deg);
}



/* スタッフ ---------------------*/
#stfWrap{
	width: 100%;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	gap :8px;
}
#stfWrap p{flex:0 0 150px;}
#stfWrap #stfinfo{display: contents;}
#stfWrap #stfinfo ul{flex: 1;}
#stfComment{
	flex: 1 1 100%;
	font-size: .86rem;
	overflow-wrap: anywhere;
	word-break: keep-all;
}

/* お問合せ ---------------------*/
#contacts p{text-align: center;}
#contacts ul li{margin: 8px auto;}
#contacts li a{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	gap: 5px;
}
#contacts li a::before{
	content:'';
	width:37px;
	height:37px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	display: block;
}
#contacts li#detTel a::before{background-image: url(../img/icon/det_phone.png);}
#contacts li#detLine a::before{background-image: url(../img/icon/det_line.png);}
#contacts li#detMail a::before{background-image: url(../img/icon/det_mail.png);}
#contacts li a span{
	min-width: 130px;
	text-align: left;
}

/* 応募・相談フォーム ---------------------*/
#toggleForm{
	padding: 15px 0;
	background: #40bfa9;
	position: relative;
	color: #fff;
	text-align: center;
	font-size: 1.15rem;
	font-weight: bold;
	cursor: pointer;
}
#toggleForm::before {
	content: '';
	position: absolute;
	width: 12px;
	height: 2px;
	background-color: currentColor;
	top: 50%;
	right: 10px;
}
#toggleForm::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	width: 12px;
	height: 2px;
	background-color: currentColor;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

#inqformBox{
	padding: 20px 8px;
	background: #eeece9;
}
#inqformBox .forms{margin: 0;}
#inqformBox .forms dt{
	font-size: 1rem;
	font-weight: bold;
}
#inqformBox .forms dd{border-bottom: 1px solid #aba59c;}
#inqformBox .forms .det_formlist li{padding: 3px 0;}
#inqformBox label input:checked + .cb:before{background: #40bfa9;}
#inqformBox label input:checked + .rb:before{background: #f6f8fc; border: 1px solid #40bfa9;}
#inqformBox label input:checked + .rb:after{background: #40bfa9;}
#inqformBox .forms dd input#ageBox{width: 4em;}

/* このページをシェア ---------------------*/
#detSNS{
	margin: 15px 0 0;
	text-align: center;
}
#detSNS dd{
	padding: 15px 0 35px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	gap: 10px;
}
#detSNS dd div,
#detSNS dd a{
	width: 30px;
	height: 30px;
	padding: 10px;
	border: 1px solid #424242;
	border-radius: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
#detSNS dd div img,
#detSNS dd a img{
	width: 25px;
	height: 25px;
}

/* フローティング要素（TEL/MAIL/検討中リスト） ---------------------------------------*/
#flm-wrapper {display: contents;}
#flm-placeholder {height: 0;}
#flm{
	width: 100vw;
	margin: 0 -8px;
	position: sticky;
	bottom: 0;
	left: 0;
	z-index: 999;
	background: rgba(239,142,146,0.85);
}
#detfunc{
	width: 100%;
	display: flex;
	flex-flow: row nowrap;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	gap: 4px;
}
#detfunc li{flex:1;}
#detfunc li:not(:first-child){border-left: 1px solid #fff;}
#detfunc li a{
	padding: 8px 0 5px;
	border-radius: 5px;
	font-size: .79rem;
	text-decoration: none;
	text-align: center;
	color: #fff;
	border-radius: 8px;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
	align-items: center;
	gap :3px;
}
#detfunc li a::before{
	width: 33px;
	height: 33px;
	content: '';
	display: block;
	background-position: 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	background-repeat: no-repeat;
}
#detfunc li#fltTEL a::before{background-image: url(../img/icon/flt_phone.png);}
#detfunc li#fltFORM a::before{background-image: url(../img/icon/flt_form.png);}
#detfunc li#fltLINE a::before{background-image: url(../img/icon/flt_line.png);}
#detfunc li#fltMAIL a::before{background-image: url(../img/icon/flt_mail.png);}

/* クチコミ ---------------------------------------*/
#reviewlist{
	padding: 15px 10px;
	background: #f9ede9;
}
#reviewlist ol li{
	padding: 8px;
	margin: 10px 0;
	border-radius: 5px;
	background: #fff;
	border: 1px solid #c3c1c1;
}
#reviewlist ol li dl dt{
	padding: 3px 0;
	border-bottom: 1px dashed #949494;
	font-size: .86rem;
	overflow-wrap: anywhere;
	word-break: keep-all;
}
#reviewlist ol li dl dd{
	padding: 4px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 7px;
	overflow-wrap: anywhere;
	word-break: keep-all;
}
#reviewlist ol li dl dd a{
	padding: 0 10px;
	display: inline-block;
	text-decoration: none;
	color: #949494;
}
#reviewlist .forms{margin: 0;}
#reviewlist .forms dd{border: none;}
#reviewlist #kuchikomiBtn{
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid #949494;
}
#reviewlist .flx li{flex: 1;}

#reviewlist ol li dl.review_reply{
	padding: 8px;
	margin-top: 10px;
	border-radius: 8px;
	background: #f1eee7;
	color: #424242;
	font-size: .86rem;
}
#reviewlist ol li dl.review_reply dt{
	padding: 0;
	border: none;
	font-weight: bold;
	color: #424242;
}
#reviewlist ol li dl.review_reply dd{
	padding: 0;
	display: block;
	color: #424242;
}

.repbox{font-size: .86rem;}
#reportlist{padding: 0 10px 25px;}
#reportlist .forms dt{font-weight: bold;}
#reportlist .forms dd > ul li{padding: 3px 0;}
#reportlist .flx li{flex: 1;}

#report_target{
	padding: 10px;
	border: 1px solid #424242;
	border-radius: 8px;
}
#report_target dt{
	font-weight: bold;
	font-size: 1rem;
}
#report_target dd:not(:last-child){
	padding: 5px 0;
	margin-bottom: 5px;
	font-size: .86rem;
	border-bottom: 1px dashed #424242;
}

.replist{padding: 3px 0;}
.replist li{
	padding: 0 !important;
	list-style: inside disc;
}

#advicelist{
	padding: 10px;
	background: #f9ede9;
	font-size: .86rem;
}
#advicelist .cnslcard > div{
	padding: 0 0 5px;
	margin-bottom: 5px;
	border-bottom: 1px dashed #949494;
	justify-content: space-between;
}
#advicelist .cnslcard > div span{padding-left: 10px;}
#advicelist .cnslcard ul{
	margin: 10px 0;
	justify-content: flex-start;
}
#advicelist .cnslcard p a{text-decoration: underline;}

.cnslcard dl.advice_answer{
	padding: 8px;
	margin-top: 10px;
	border-radius: 8px;
	background: #f1eee7;
	color: #424242;
}
.cnslcard dl.advice_answer dt{
	font-weight: bold;
	color: #424242;
}

/*
##########################################
##########################################
##########################################*/
/* #### モーダル要素（各ページ応募送信用）
---------------------------------------*/

.remodal-wrapper:has(#remodalPost){
	padding: 0;
	margin: 0;
}
#remodalPost{
	padding: 0 !important;
	overflow: hidden;
}
#remodalPost button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0 10px;
	appearance: none;
	border-radius: 8px;
}

#postwrap{
	min-width: 320px;
	text-align: center;
	font-size: .88rem;
}
#postwrap h1{
	padding: 15px 0;
	color: #fff;
	background: #9c8982;
	font-size: 1.29rem;
	line-height: 1.29rem;
	position: relative;
}

#postwrap h1 button{
	color: #fff;
	position: absolute;
	top: calc(50% - .75em);
	right: 0;
}
#postwrap h1 button span::before,
#postwrap h1 button span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 15px;
	background: #fff;
	border-radius: 4px;
}
#postwrap h1 button span::before {transform: translate(-50%,-50%) rotate(45deg);}
#postwrap h1 button span::after {transform: translate(-50%,-50%) rotate(-45deg);}
#postwrap h1 button span{
	position: relative;
	padding-left: 10px;
	font-size: .86rem;
}

#postcont{padding: 20px 15px;}
#postinfo dt{font-size: 1.15rem; font-weight: bold;}
#postinfo dd{font-size: .86rem;}

#postcaps{
	margin: 15px 0;
	line-height: 1.5;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	gap: 7px;
}
#postcaps::before{
	width: 48px;
	height: 40px;
	content: '';
	display: block;
	background-image: url(../img/other/post_logo.png);
	-webkit-background-size: contain;
	background-size: contain;
	background-repeat: no-repeat;
}
#postcaps p{
	font-size: 1rem;
	text-align: left;
	font-weight: bold;
}
#postcaps p span{
	font-size: 1.15rem;
	color: #40bfa9;
	display: block;
	text-indent: -8px;
}

#postfunc p.btn a{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	gap: 5px;
	font-weight: bold;
}
#postfunc p.btn a::before{
	content:'';
	width:37px;
	height:37px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
	display: block;
}
#postfunc p#postTEL a::before{background-image: url(../img/icon/det_phone.png);}
#postfunc p#postLINE a::before{background-image: url(../img/icon/det_line.png);}
#postfunc p#postMAIL a::before{background-image: url(../img/icon/det_mail.png);}

#mailBtnSub{margin-top: 20px;}
#mailBtnSub a{
	padding: 2px;
	border: 1px solid #000;
	border-radius: 8px;
	display: block;
	line-height: 1.4;
}
#mailBtnSub a span{
	color: #2581dc;
	display: block;
}

#postfoot{
	padding: 5px 20px 25px;
	background: #f1eee7;
}
#poststaff,
#postEx{
	padding: 15px;
	margin: 15px 0;
	background: #fff;
	border-radius: 8px;
}
#poststaff h3{
	margin-bottom: 15px;
	border-bottom: 1px solid #bbb;
}
#stfname span{
	font-size: 1rem;
	font-weight: bold;
}
#stfcom{
	line-height: 1.5;
	margin: 5px 0;
	font-size: .86rem;
	text-align: left;
}

#rmclose{
	padding: 5px 40px !important;
	border-radius: 4px;
	border: 1px solid #4a4a49 !important;
	background: #fff !important;
	cursor: pointer;
	outline: none;
	appearance: none;
}
#rmclose span{
	padding-left: 15px;
	position: relative;
	line-height: 1;
}
#rmclose span::before,
#rmclose span::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 14px;
	background: #4a4a49 !important;
	border-radius: 4px;
}
#rmclose span::before {transform: translate(-50%,-50%) rotate(45deg);}
#rmclose span::after {transform: translate(-50%,-50%) rotate(-45deg);}


.postClip{margin: 20px 0;}
.postClip p{font-size: .86rem;}

.clipCopy{
	padding: 10px 20px !important;
	border-radius: 8px !important;
	color: #fff !important;
	background: #40bfa9 !important;
	width: 90%;
	box-sizing: border-box;
	font-size: 1.15rem;
	font-weight: bold;
}
.clipCopy span{
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	gap :5px;
	pointer-events: none;
}
.clipCopy span::before{
	content: '';
	display: block;
	width: 17px;
	height: 22px;
	background-image: url("/img/other/clipcopy_w.png");
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.copydata{display: none;}

#postEx h2{
	font-size: 1rem;
	padding: 5px 0;
	border-bottom: 1px solid #bbb;
}
#postEx > div{padding: 10px;}
#postEx ol{
	padding-bottom: 10px;
	display: inline-block;
	text-align: left;
}
#postEx ol li span{
	padding: 3px 0 3px 20px;
	color: #40bfa9;
	background: url("/img/other/clipcopy_g.png") 5px 50%/13px 15px no-repeat;
}

.postExText{
	pointer-events: none;
	text-align: left;
	margin: 0;
	padding: 10px 0;
	color: #333;
	font-size: 0.8rem;
	line-height: 1.2rem;
	white-space: break-spaces;
	background: none;
	border: none;
	height: auto;
	border-top: 1px dashed #bbb;
	border-radius: 0;
}
.clipEx{
	color: #40bfa9;
	font-size: 1rem;
	font-weight: bold;
	margin-bottom: 10px;
}
.clipEx span{
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	gap :5px;
}
.clipEx span::before{
	content: '';
	display: block;
	width: 19px;
	height: 22px;
	background-image: url("/img/other/clipcopy_g.png");
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
