@charset "utf-8";
/* 
00 404.html
00 auth
00 index.html
-------------------------
-------------------------
01 about系（about.html / use.html / terms.html）
02 sitemap.html
03 linkkit.html
04 inquiry/
05 ur.html
16 introduction/
17 introduction/paid_f.php
18 search/
19 search/fem_rec.php
20 list/
21 guideline.html
-------------------------
-------------------------
30 s/xxxx (基本掲載) -> s/temp_paid.html
31 s/xxxx/review (クチコミ一覧) -> s/sp-kuchi_list.php
32 s/xxxx (無料掲載/サービス掲載) -> s/temp_free.html
33 s/sp-kuchi/report.php
-------------------------
-------------------------
60 introduction/area_f.php
61 introduction/banner_design.html
---------------------------------------*/

/* 00 jackbanner
------------------------------------------------- */
/*#wrapper:has(#jack) footer {padding-bottom: 85px;}
#wrapper:has(#cp) footer {padding-bottom: 85px;}*/
.jackcard{max-width: 100% !important;}

#jacksp.hidden{transform: translateY(100%);}
#jacksp{
	width: 100%;
	text-align: center;
	background: rgba(0,0,0,.2);
	position: fixed;
	bottom: 0;
	z-index: 999;
	/* transform: translateY(0);
	transition: transform 0.4s ease-in-out; */
}
#jacksp a{display: inline-block;}
#jacksp a img{
	max-width: 375px;
	width: 100%;
	height: auto;
}
#jackhide{
	width: 14px;
	height: 14px;
	content: '';
	border-radius: 3px 3px 0 0;
	background: rgba(0,0,0,.2);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top : -14px;
	right: 15px;
}
#jackhide::after{
	content: '';
	width: 0;
	height: 0;
	border-width: 4px 3px 0 3px;
	border-style: solid;
	border-color: #fff transparent transparent transparent;

	display: block;
}
#jacksp.hidden #jackhide::after{
	border-width: 0 3px 4px 3px;
	border-style: solid;
	border-color: transparent transparent #fff transparent;
}


#jackbox{
	padding: 15px 10px;
	margin-top: 70px;
	background: #e9eeef;
	position: relative;
}
#jackbox::before{
	width: 59px;
	height: 75px;
	content: '';
	background-image: url(../img/others/jack_illust.png);
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top: -60px;
	left: 5px;
}
#jackbox h3{
	padding: 10px 0;
	text-align: center;
	font-weight: normal;
	font-size: 1.34rem;
}


/* 00 404.html
------------------------------------------------- */
#nf{
	padding: 10px 20px;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	justify-content: center;
}
#nf div h2{text-align: center; color: #ca9698; padding-bottom: 10px;}
#nf > div > p{text-align: center; color: #444; font-size: 1.3em; font-weight: bold; padding-bottom: 20px; margin-bottom: 20px; position: relative;}
#nf > div > p::after{
	content: '';
	position: absolute;
	display: block;
	border-bottom: 1px solid #444;
	width: 50px;
	height: 1px;
	bottom: 0;
	left: calc(50% - 25px);
}

/* 00 auth
------------------------------------------------- */
.remodal-overlay + .remodal-wrapper:has(#modalBox){
	background: rgba(228, 220, 216, 0.9);
}
.remodal-wrapper:has(#modalBox){
	padding: 20px;
}
#modalBox.remodal{
	min-width: 300px;
	padding: 10px;
	border-radius: 12px;
}
#authBox{
	padding: 35px 20px;
	text-align: center;
	color: #333;
}
#authBox > span{
	font-size: 1.6em;
	letter-spacing: 0.1em;
	padding-left: 10px;
}
#authBox h1{
	text-align: center;
	padding: 10px 0 35px;
}
#authBox h1 img{
	max-width: 225px;
	width: 60%;
	height: auto;
}
#authBox strong{
	font-size: 2.1em;
}
#authBox > p{
	font-size: 1.4em;
	padding: 5px 0 20px;
}
#enter,#leave{margin: 0 auto 15px;}
#enter a,
#leave a{
	padding: 20px 10px;
	font-size: 1.6em;
	font-weight: bold;
	text-align: center;
	border-radius: 50px;
	display: block;
}
#enter a{
	color: #fff;
	border: 1px solid #ca9698;
	background: #ca9698;
}
#leave a{
	color: #444;
	border: 1px solid #d2d2d2;
	background: #fff;
}

/* 00 index.html
-------------------------------------------------------*/
#ind_banners{
	position: relative;
	z-index: 0;
	background: #f1eae3;
	padding-bottom: 20px;
}
#ind_banners h4{
	color: #b59768;
	font-size: 1.2em;
	text-align: center;
	padding: 20px 0;
}
#ind_bigbanner{
	max-width: 750px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}
#ind_bigbanner a{
	display: block;
	color: #444;
}
#ind_bigbanner img{
	width: 100%;
	height: auto;
	display: block;
}
#ind_tpbanner a{
	color: #444;
}
#ind_bigbanner .bannerHead,
#ind_tpbanner .bannerHead{
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	gap: 2px 10px;
}
#ind_bigbanner .bannerName,
#ind_tpbanner .bannerName{
	font-size: 1.17rem;
	font-weight: bold;
	line-height: 1.4;
}
#ind_bigbanner .bannerArea,
#ind_tpbanner .bannerArea{
	font-size: 1.17rem;
	font-weight: normal;
	line-height: 1.4;
	color: #444;
	white-space: nowrap;
}
.bannerArea::before{
	display: inline-block;
	content: '';
	width: 15px;
	height: 16px;
	background-image: url(/img/icon/icn_area_ind.png);
	background-repeat: no-repeat;
	background-position: 0 50%;
	-webkit-background-size: 15px 16px;
	background-size: 15px 16px;
	vertical-align: text-top;
}
#ind_bigbanner .bannerText,
#ind_tpbanner .bannerText{
	margin-top: 4px;
	line-height: 1.6;
	text-align: left;
}
#ind_bigbanner .bigBannerPc{
	display: none;
}
#ind_bigbanner .bigBannerSp{
	overflow: hidden;
}
#ind_bigbanner .bigBannerSp .banBig{
	height: auto;
}
#ind_bigbanner .bigBannerSp dl{
	background: #f1eae3;
}
#ind_bigbanner .bigBannerSp .bannerMeta{
	padding: 5px 5px 0;
}
#ind_bigbanner .bigBannerPcInfo{
	padding: 10px 15px 0;
}
#ind_bigbanner .bigBannerNav{
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 0;
/*	border: 1px solid #d9c9cb;
	border-radius: 50%;
	background: rgba(255,255,255,.96);
	box-shadow: 0 3px 10px rgba(0,0,0,.08);*/
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	cursor: pointer;
}
#ind_bigbanner .bigBannerNav{
	content: "";
	width: 30px;
	height: 30px;
	border: none;
}
#ind_bigbanner .bigBannerPrev{
	left: calc(50% - 165px);
	background:url(/img/icon/icn_swiper_l.png) 50% 50%/30px 30px no-repeat;
}
#ind_bigbanner .bigBannerNext{
	right: calc(50% - 165px);
	background:url(/img/icon/icn_swiper_r.png) 50% 50%/30px 30px no-repeat;
}
.pagination{text-align: center;}
.pagination span.swiper-pagination-bullet{
	width: 10px;
	height: 10px;
	margin:0 2px !important;
	background: #ddd;
	opacity: 1;
}
.pagination span.swiper-pagination-bullet-active{background: #c99b9c;}

#ind_tpbanner{
	margin-top: 20px;
	padding: 10px 5px 0;
}
#ind_tpbanner img{
	width: 100%;
	height: auto;
	display: block;
}
#ind_tpbanner .topBannerSlots{
	display: flex;
	flex-flow: column nowrap;
	gap: 10px;
}
#ind_tpbanner .topBannerSlot{
	min-height: 1px;
	overflow: hidden;
}
#ind_tpbanner .topBannerSlide{
	height: auto;
}
#ind_tpbanner .topBannerLink{
	display: block;
	color: #444;
}
#ind_tpbanner .topBannerThumb img{
}
#ind_tpbanner .topBannerMeta{
	padding-top: 5px;
}


/* modal表示調整
------------------------------------------------------------*/
#srchmodal{
	padding: 0;
	border-radius: 8px;
	overflow: hidden;
	text-align: left;
}

#srchmodal p{
	border-top: 1px solid #cbb9b5;
	position: relative;
	color: #000;
}
#srchmodal label{
	padding: 15px 5px 15px 20px;
	flex:1 1 auto;
}
#srchmodal label a{
	color: #000;
	pointer-events: none;
}
#srchmodal .lv1{background: #f9f9fa;}
#srchmodal .lv1 p:not(:first-child) {border-top: 1px solid #6c6971;}
#srchmodal .lv2{background: #efeff1;}
#srchmodal .lv2 li{border-top: 1px solid #818182;}
#srchmodal .lv2 li label{padding-left: 30px;}


/*------------------------------------------------------------*/
#herowrap{
	width: 100%;
	height: auto;
	aspect-ratio: 0.64;
	padding: 0 20px;
	box-sizing: border-box;
	text-align: center;
	background: url(/img/ind/hero_bg.png) 50% 0/cover no-repeat;
	display: flex;
	flex-flow: column;
	justify-content: flex-end;
}
#heroMain{
	text-align: left;
	margin-left: max(0px, calc((100vw - 700px) * 0.2));
}
#heroMain img{
    width: min(85%, 578px);
	height: auto;
}
#heroSub{
	text-align: left;
	margin-left: max(0px, calc((100vw - 700px) * 0.2));
}
#heroSub img{
    width: min(66%, 480px);
	height: auto;
}

#searchwrap{
	padding: 0 10px;
	padding-inline: clamp(8px, 3vw, 24px);
}
#searchBox{
	width: min(100%, 650px);
	margin: 0 auto;
	margin-bottom: clamp(20px, 12vw, 80px);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#searchBox form{
	width: min(100%, 720px);
}
#searchBox ul{
	margin: 20px 0;
}
#searchBox ul li{
	border-bottom: 1px solid #cbb9b5;
}
#searchBox ul li a{
	width: 100%;
	height: 100%;
	color: #fff;
	overflow: hidden;
}
#searchBox ul li a dl{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
}

#searchBox ul li > dl{
	line-height: 1.4;
	padding: 0 10px;
}
#searchBox ul li dl dt{
	font-size: 1.4em;
	padding: 10px 10px 10px 20px;
	width: 35%;
	flex: 0 0 6em;
	white-space: nowrap;
}
#searchBox ul li dl dt span{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	text-align: left;
	gap: 10px;
	white-space: nowrap
}
#searchBox ul li dl dt span:before{
    display: inline-block;
    content: '';
    width: 20px;
    height: 22px;
    background-repeat: no-repeat;
    background-position: 0 0;
    -webkit-background-size: 20px 22px;
    background-size: 20px 22px;
}
.heroArea dl dt span:before {
    background-image: url(/img/icon/icn_hero_area.png);
}
.heroType dl dt span:before {
    background-image: url(/img/icon/icn_hero_genre.png);
}
.heroDeli dl dt span:before {
    background-image: url(/img/icon/icn_hero_deli.png);
}
#searchBox ul li dl dd{
	position: relative;
	text-align: left;
	font-size: 1.2em;
	width: 65%;
	padding: 10px 30px 10px 10px;
	background: rgba(255, 255, 255, 0.15);
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}
#searchBox ul li:first-child dl dd {
	border-radius: 0 10px 0 0;
}
#searchBox ul li dl dd::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 8px;
	height: 8px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: translateY(-70%) rotate(45deg);
}
#searchBox ul li dl dd.is-selected::after{
	display: none;
}
#searchBox ul li#yourAge{
	background: #e7e3ef;
	border: none;
}
#searchBox ul li#yourAge dl dt{font-size: 1rem;}
#searchBox ul li#yourAge dl dd{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap: 2px;
	align-items: center;
}
.grid {
	max-width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	/*grid-template-rows: repeat(2, auto);*/
	gap: 6px 3px;
}
.grid > li {
	min-height: 80px;
	min-width: 0;
	text-align: center;
	border: 1px solid #4c4c4c;
	border-radius: 5px;
	background: #fff;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-box-shadow: 0	3px	#a6a7b9;
	box-shadow: 0	3px	#a6a7b9;
}
.grid > li input{
	width: 100%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* ティッカーの中身 
------------------------------------------------------------*/
.grid > li dl dd{
	overflow: hidden;
	white-space: nowrap;
	position: relative;
/*	padding: 0;
	margin: 0;*/
}
.grid dd {
	position: relative;
	overflow: hidden;
	white-space: nowrap;
	height: 1.5em;
}

.ticker {
	display: inline-block;
	white-space: nowrap;
	will-change: transform;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}

/* アニメーション名だけ定義（動的に追加） */
@keyframes tickerScroll {
	0% {
		transform: translateX(100%);
	}
	100% {
		transform: translateX(-100%);
	}
}
#yourAge dd {
	height: auto;
	white-space: normal;
	overflow: visible;
}
#freeword{
	padding: 10px 0;
	color: #777;
}

.searchBtn{
	text-align: center;
}
.searchBtn button{
	width: min(90%, 600px);
	padding: 12px 15px;
	color: #fff;
	border: none;
	border-radius: 30px;
	background: #ca9698;
	cursor: pointer;
}
.searchBtn button span{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 1.5rem;
}
.searchBtn button span:before {
	content: '';
	width: 18px;
	height: 18px;
	background-image: url(../img/icon/icn_search_ind.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	-webkit-background-size: 18px 18px;
	background-size: 18px 18px;
	display: inline-block;
}


/* 新着掲載店情報（汎用カード）
----------------------------------------*/
.newscard {
	max-width: 700px;
	height: auto !important;
	padding: 5px;
	margin-bottom: 5px;
	border: 1px solid #ccc;
	border-radius: 5px;
	overflow: hidden;
	font-family: sans-serif;
	background-color: #fff;
	-webkit-box-shadow: 0	3px	#ebebeb;
	box-shadow: 0	3px	#ebebeb;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.shopname{font-weight: bold;}
.card a,
.freecard a{color: #444;}
.card_header {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}
.card_header span {
	padding: 1px 7px;
	margin-right: 3px;
	border-radius: 5px;
	background-color: #8fb6ff;
	color: #fff;
}
.card_body {
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap: 3px;
}
.card_body > p{flex:0 0 170px;}
.card_body > p img {
	width: 100%;
	height: auto;
}
.card_body > div {flex: 1 1 auto;}
.description {
	line-height: 1.2;
	margin-bottom: 8px;
}
.card_body dt {
	font-size: 1.17rem;
	font-weight: bold;
	margin-bottom: 3px;
}
.card_body dd {
	margin: 0;
	color: #777;
}
.location{
	position: relative;
	padding-left: 15px;
	line-height: 1.4;
}
.location::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 14px;
	height: 16px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/icon/icn_area_ind.png);
}
.freecard .location{
	padding: 0;
}
.freecard .location::before{
	display: none;
}

#shopdetail .location span.dis{display: none;}
#ind_newshoplist{
	padding: 3px 0;
	position: relative;
	overflow: hidden;
}
#ind_newshoplist .card_body{flex-flow: column;}
#ind_newshoplist .card_body > p{flex:0 0 auto;}
#swpNsPages {
	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;
}
@media screen and (max-width: 376px) {
	#swpNsPages {
		top: calc(50% - 20px);
	}
}
#swpNsPages li {
	width: 20px;
	height: 20px;
	cursor: pointer;
	display: block;
	z-index: 999;
	background: rgba(51, 51, 51, .75);
	border-radius: 20px;
	text-indent: -9999px;
	position: relative;
}
#swpNsPages li::before {
	width: 0;
	height: 0;
	content: '';
	position: absolute;
	top: calc(50% - 5px);
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}
#swpNsPages li.swpNsPrev::before {
	left: 7px;
	border-right: 5px solid #fff;
}
#swpNsPages li.swpNsNext::before {
	right: 7px;
	border-left: 5px solid #fff;
}

#ind_pickup{
	width: 100%;
	position: relative;
}
#ind_pickup .swiper-wrapper{
	flex-flow: column nowrap;
	align-items: center;
	gap :5px;
}
#ind_pickup li{
	width: auto;
	height: auto;
	flex: 0 0 auto;
}
#ind_pickup li a{display: block;}
#ind_pickup li a img{
	width: 100%;
	max-width: 345px;
	height: auto;
}

/* グループ店で働く
----------------------------------------*/
#indGroups{
	position: relative;
	overflow: hidden;
}
#groups.no_swipe{gap: 10px;}
#groups.no_swipe li{flex:1 1 50%;}

#groups{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
}
#groups li{
	box-sizing: border-box;
	text-align: center;
}
#groups li a{
	margin: 0 auto;
	text-align: center;
}
#groups li a img{
	max-width: 360px;
	width: 100%;
	height: auto;
}
#groups li a span{
	padding: 5px 0;
	display: block;
	font-size: 1.34rem;
	font-weight: bold;
	text-align: center;
	white-space: normal;
	word-break: break-word;
}

/* 編集部コメント
----------------------------------------*/

/* お店からのメッセージ
----------------------------------------*/
#shpMessage li{margin: 10px 0;}
#shpMessage li a{
	padding: 5px 20px 5px 5px;
	margin-bottom: 5px;
	border: 1px solid #a9a9ba;
	border-radius: 5px;
	-webkit-box-shadow: 0	3px	#ebebeb;
	box-shadow: 0	3px	#ebebeb;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	position: relative;
}
.staffImage {flex:0 0 75px;}
.staffImage img{
	width: 75px;
	height: auto;
}
.staffInfo {
	min-width: 0;
	padding-left: 10px;
	flex: 1 1 auto;
}
.messageShop {font-weight: bold;margin: 0;}
.staffName {color: #666;margin: 2px 0 0;}

/* クチコミありのお店
----------------------------------------*/
#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;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap :5px;
}
#revAvailable li::before{
	content: '';
	width: 21px;
	height: 21px;
	background-image: url(../img/icon/icn_kuchikomi.png);
	background-repeat: no-repeat;
	background-size: contain;
	flex:0 0 21px;
}
#revAvailable li dl{flex: 1 1 auto;}
#revAvailable li dl dt{font-weight: bold;}

/* 最新情報
----------------------------------------*/
#newInfo{
	padding: 15px 10px;
	background: #f2f0f4;
}
#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-size: 1.17rem;
	font-weight: bold;
}
#newInfo ul dl dt span{
	padding: 0 7px;
	margin-right: 3px;
	border-radius: 3px;
	background-color: #78d1ca;
	font-weight: normal;
	font-size: 1rem;
	color: #fff;
}
#newInfo ul dl dt span.iconUPD{background: #fbca1f; color: #ad5d36;}
#newInfo ul dl dt span.iconNRC{background: #78d1ca;}
#newInfo ul dl dd{padding: 2px 0;}

/* NEWOPEN
----------------------------------------*/
#newOpen{padding: 15px 10px;}
#newOpen 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: flex-start;
	-webkit-box-shadow: 0	3px	#ebebeb;
	box-shadow: 0	3px	#ebebeb;
}
#newOpen ul li::before{
	width: 29px;
	height: 39px;
	content: '';
	background-image: url(../img/icon/newopen.png);
	background-position: 0 0;
	background-size: contain;
	display: block;
	flex:0 0 29px;
}
#newOpen ul dl{
	padding: 10px;
	flex:1 1 auto;
}
#newOpen ul dl dt{
	font-size: 1.17rem;
	font-weight: bold;
}
#newOpen ul dl dd span{display: block;}


/* 人気アクセスランキング
----------------------------------------*/
#rankingList{text-align: center;}
.updInfo{
	padding: 2px 10px;
	background: #e7e3ef;
	display: inline-block;
}
.tabs{
	padding: 10px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
}
.tabs > div{flex:1 1 50%;}
.tabs > div a{
	padding: 10px 0;
	border-bottom: 4px solid #f0f0f0;
	font-size: 1.17rem;
	display: block;
}
.tabs > div a.act{
	font-weight: bold;
	border-bottom: 4px solid #b7b6ef;
}

#rankingList ol{
	padding: 0 10px;
	text-align: left;
}
#rankingList ol li{padding: 10px 0;}
#rankingList ol li:not(:last-child){border-bottom: 1px solid #d1ccda;}
#rankingList ol dl{padding-right: 15px;}
#rankingList ol dl dt{
	font-size: 1.17rem;
	font-weight: bold;
}
.custom_list {counter-reset: item;}
.custom_list li {
	counter-increment: item;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	gap: 3px;
}
.custom_list li::before {
	content: counter(item);
	font-weight: bold;
	font-size: 1.17rem;
	text-align: center;
	font-family:YuMincho,"Hiragino Mincho ProN",serif;
	flex: 0 0 1.5em;
}
.custom_list li:nth-child(1)::before,
.custom_list li:nth-child(2)::before,
.custom_list li:nth-child(3)::before {
	width: 16px;
	height: 15px;
	padding-top: 18px;
	margin-top: -18px;
	background-size: 16px 15px;
	background-position: 50% 0;
	background-repeat: no-repeat;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.custom_list li:nth-child(1)::before{background-image: url(../img/icon/rank1.png);}
.custom_list li:nth-child(2)::before{background-image: url(../img/icon/rank2.png);}
.custom_list li:nth-child(3)::before{background-image: url(../img/icon/rank3.png);}
.custom_list li > div {
	height: 30px;
	padding: 0 3px;
	display: -webkit-flex;
	display: flex;
	align-items: center;
}


/* 最近見た
----------------------------------------*/
.swp_shops{
	padding:15px 5px;
	overflow: hidden;
	position: relative;
}
.swp_shops ul{
	display: -webkit-flex;
	display: flex;
	align-items: stretch;
	/*gap: 4px;*/
}
.swp_shops ul li{
	height: auto;
	padding: 5px;
	display: flex;
	align-items: stretch;
	border: 1px solid #a9a9ba;
	border-radius: 7px;
	-webkit-box-shadow: 0	3px	#ebebeb;
	box-shadow: 0	3px	#ebebeb;
	background: #fff;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.swp_shops ul li dl dt img{
	width: 100%;
	height: auto;
}
.swp_shops ul li dl dd{text-align: left;}
.swp_shops ul li dl dd.historyShop{
	font-size: 1.17rem;
	font-weight: bold;
}
.swp_shops ul li dl dd span{display: block;}
.swiper-pagination{
	padding: 5px 0;
	position: relative !important;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	gap :5px;
}

#swpHistoryPages {
	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;
}
#swpHistoryPages li {
	width: 20px;
	height: 20px;
	cursor: pointer;
	display: block;
	z-index: 999;
	background: rgba(51, 51, 51, .75);
	border-radius: 20px;
	text-indent: -9999px;
	position: relative;
}
#swpHistoryPages li::before {
	width: 0;
	height: 0;
	content: '';
	position: absolute;
	top: calc(50% - 5px);
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}
#swpHistoryPages li.swpHistoryPrev::before {
	left: 7px;
	border-right: 5px solid #fff;
}
#swpHistoryPages li.swpHistoryNext::before {
	right: 7px;
	border-left: 5px solid #fff;
}



/* おすすめコンテンツ
----------------------------------------*/
#recommend{margin-top: 15px;}
#recommend > div.reclink{
	border-top: 1px solid #d1ccda;
	background: #fff;
}
#recommend > div.reclink a{
	padding: 10px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap: 5px;
}
#recommend > div.reclink a p{flex: 1 1 auto;}
#recommend > div.reclink a span{flex: 0 0 135px;}
#recommend > div.reclink a img{
	width: 100%;
	height: auto;
}
#recommend ul{
	border-top: 1px solid #d1ccda;
	background: #fff;
	font-size: 1.34rem;
}
#recommend ul#ftIcons{
	padding-bottom: 20px;
	font-size: 1.17rem;
	-webkit-box-shadow: 0	3px	#ebebeb;
	box-shadow: 0	3px	#ebebeb;
	background: #f2f0f4;
}
#recommend ul li{
	border-bottom: 1px solid #d1ccda;
	background: #fff;
}
#recommend ul#ftIcons li a{padding: 15px 25px 15px 5px;}
#recommend ul li a{
	padding: 15px;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 5px;
}
#recommend ul#ftIcons li a::before{
	content: '';
	width: 30px;
	height: 30px;
	background-size: 30px 30px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}
#recommend ul li#ftVen a::before{background-image: url(../img/icon/ft_venereal.png);}
#recommend ul li#ftFor a::before{background-image: url(../img/icon/ft_fortune.png);}
#recommend ul li#ftMns a::before{background-image: url(../img/icon/ft_manner.png);}
#recommend ul li#ftCrt a::before{background-image: url(../img/icon/ft_chart.png);}
#recommend ul li#ftFem a::before{background-image: url(../img/icon/ft_links.png);}
#recommend ul li#ftTwt a::before{background-image: url(../img/icon/ft_x.png);}

#recommend ul li.ext{margin-right: 0;}
#recommend ul li.ext::after{
	margin-top: -5px;
	display: block;
	position: absolute;
	top: 50%;
	right: 5px;
}

.history{background: #e9eeef;}
#ftMenu{
	border-width: 2px 0 !important;
	border-style: solid;
	border-color: #d1ccda;
	font-size: 1.17rem;
	background: #fff;
}
#ftMenu .state{color: #333;}
#ftMenu .ft_lv1{background: #f9f9fa; text-indent: 1em;}
#ftMenu .ft_lv2{background: #efeff1; text-indent: 2.5em; font-size: 1.17rem;}
#ftMenu .ft_lv1 .state{padding: 0;}
#ftMenu .ft_lv1 .state a{padding: 15px 5px 15px 20px;display: block;}

#ftMenu .ft_lv1 .state a,
#ftMenu .ft_lv2 .stete a{color: #333;}
#ftprfs p{border-top: 1px solid #d1ccda;}
#ftprfs .arR::after{
	width: 6px;
	height: 6px;
	margin-top: -3px;
	right: 9px;
}
#ftprfs .state.acd::before {right: 8px;}
#ftprfs .state.acd::after {right: 8px;}

.areaslct{
	padding: 15px;
	position: relative;
	font-size: 1.34rem;
}
.areaslct::before {
	content: '';
	position: absolute;
	width: 13px;
	height: 1px;
	background-color: #333;
	top: 50%;
	right: 4px;
}
.areaslct::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 4px;
	width: 13px;
	height: 1px;
	background-color: #333;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.areaslct.act::after {display: none;}

#bnAdw{
	padding: 10px;
	text-align: center;
}
#bnAdw a{
	display: inline-block;
	text-decoration: none;
	text-align: right;
}
#bnAdw a img{
	max-width: 100%;
	height: auto;
}
#bnAdw a span{
	max-width: 360px;
	margin: 0 auto;
	display: block;
	font-size: .84rem;
}

/* #### panelメニュー（動作用）
---------------------------------------*/
.actPanel {
	position: fixed;
	width: 100%;
	height: 100%;
}
.actPanel #overlay{
	z-index: 999;
	display: block;
	opacity: 1;
}
.actPanel #wrapper,
.actPanel #panelBox,
.actPanel footer{
	-webkit-transform: translate3d(-100vw, 0 ,0);
	transform: translate3d(-100vw, 0 ,0);
}
#panelBox,
#wrapper,
footer{
	transition: transform 0.4s ease-in-out;
}

/* #### panel
---------------------------------------*/
#panelBox{
	min-width: 100vw;
	width: 100vw;
	height: 100vh;
	margin-right: -100vw;
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 0;
	text-align: left;
	white-space: nowrap;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: #fff;
}
.pnCont{
	margin-bottom: 130px;
	overflow: hidden;
}

.return{
	padding: 10px 0;
	background: #e7dbd8;
	text-align: center;
	font-size: 1.34rem;
	position: relative;
}
.return > div{
	height: 40px;
	margin-top: -20px;
	padding-left: 5px;
	font-size: 1rem;
	position: absolute;
	top: 50%;
	left: 10px;
	cursor: pointer;
	display: -webkit-flex;
	display: flex;
	align-items: center;
	gap: 5px;
}
.return > div::before{
	content: '';
	width: 6px;
	height: 6px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #444;
	transform: rotate(-45deg);
	display: block;
}

.formlist{background: #fcf6f4;}
.formlist a{pointer-events: none; color:#444;}
.formlist li:not(:first-child){border-top: 1px solid #cbb9b5;}
.formlist label{
	padding: 15px 5px 15px 20px;
}

.searchFunc{
	padding: 10px;
	border-top: 1px solid #cbb9b5;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	gap: 5px;
}
.searchFunc li{flex: 1 1 50%;}
.searchFunc li.searchDecision span{
	width: 100%;
	box-sizing: border-box;
	padding: 10px 20px;
	border: none;
	border-radius: 30px;
	background: #ca9698;
	text-align: center;
	font-size: 1.34rem;
	color: #fff;
	display: block;
	cursor: pointer;
	border: 1px solid #ca9698;
}

/*
-------------------------
-------------------------
*/

/* 01 about系
（about.html / use.html / terms.html）
------------------------------------------------- */
.greeting{padding: 0 0 15px;}
.greeting .com{padding-top: 15px;text-align: right;}
.divide{
	padding: 15px 0;
/*	border-top: 1px solid #d2d2d2;
	background: #fff;*/
}
.divide h4{font-weight: bold; font-size: 1.06rem;}
.divide h5{font-weight: normal;}

.nondivide p, 
.divide p{margin-bottom: 1.5em;}
.divide .pages li a{
	border: 1px solid #14745e;
	background: #ddd;
	color: #333;
}
.attention{color: #909090;}
.attention span{color: #ef8e92;}
.red{color: #ff0000;}

/* about.html
------------------------------------*/
#registInfo dt{font-weight: bold;}
#registInfo dd{
	padding: 5px 0;
	border-bottom: 1px dashed #d1ccda;
}

/* terms.html
------------------------------------*/
#prohibited,
#disclose{
	margin-bottom: 10px;
	counter-reset: listnum;
}
#prohibited dd,
#disclose li{
	padding: 10px 0 10px 1.5em;
	position: relative;
}
#prohibited dd:not(:last-of-type),
#disclose li:not(:last-of-type){
	border-bottom: 1px dashed #d1ccda;
}
#prohibited dd::before,
#disclose li::before{
	content: "";
	position: absolute;
	left: 0;
	top: 10px;
	width: 1em;
	height: 1em;
	display: block;
	counter-increment: listnum;
	content: counter(listnum) ".";
	color: #909090;
}

/*
introduction/ad_rule.html
introduction/free_rule.html
------------------------------------*/
#rules > li{
	padding: 5px 0;
	border-bottom: 1px dashed #d1ccda;
}
#rules > li:last-child{border: none;}
#rules > li > span{font-weight: bold;}
#rules > li > ul{padding-top: 10px;}
#rules a{text-decoration: underline;}

/* 02 sitemap.html
------------------------------------------------- */
#sitemapBox{padding: 0 10px;}
#sitemapBox h3{margin: 5px 0; font-size: 1.17rem;}
#sitemapBox a{text-decoration: underline;}
#smCom{
	padding: 5px;
	background: #f5f5f7;
	border-radius: 5px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	gap: 5px;
}
#smCom li:not(:last-child)::after{padding-left: 5px; content: '|';}
#smPrfs{
	padding: 10px 5px;
	margin-bottom: 15px;
	background: #f5f5f7;
	border-radius: 5px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
}
#smPrfs h4{
	padding: 3px 5px;
	font-size: 1.17rem;
	color: #fff;
	background: #f4a0c1;
	flex: 1 1 100%;
}
#smPrfs p{
	padding: 5px;
	flex:0 0 auto;
}
#smPrfs p a{
	padding-left: 15px;
	position: relative;
}
#smPrfs p a::before{
	content: '';
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-width: 2px 0 0 2px;
	border-style: solid;
	border-color: #f26896;
	transform: rotate(135deg);
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
}
#smPrfs ul{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	flex:1 1 100%;
	gap: 5px;
}
#smPrfs ul li{padding: 5px 0; font-size: .92rem;}
#smPrfs ul li:not(:last-child)::after{padding-left: 5px; content: '|';}

.smChoice,
.smOthers{
	padding: 10px 5px;
	margin-bottom: 15px;
	background: #f5f5f7;
	border-radius: 5px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
}
.smChoice li,
.smOthers li{
	padding: 3px 0;
	flex:1 1 50%;
}
.smChoice li a,
.smOthers li a{
	padding-left: 15px;
	position: relative;
	white-space: nowrap;
}
.smChoice li a::before,
.smOthers li a::before{
	content: '';
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-width: 2px 0 0 2px;
	border-style: solid;
	transform: rotate(135deg);
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
}
.smChoice li a::before{border-color: #f26896;}
.smOthers li a::before{border-color: #b7b6ef;}

/* 03 linkkit.html
------------------------------------------------- */
#linkkit_rule{margin-top: 15px;}
.linkkit h3{
	color: #444;
	font-size: 1.15rem;
	padding: 5px;
	text-align: center;
	border-top: solid 1px #d2d2d2;
	border-bottom: solid 1px #d2d2d2;
}
#linkkit_rule p{text-align: center;}

#linkit_make{margin-top: 30px;}
#linkit_make p{padding: 10px;}
#makebanner dl{
	margin: 0 10px 30px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 5px;
	padding: 15px 5px;
	background: #f6e7e6;
	border-radius: 5px;
}
#makebanner dl dd button{
	height: 100%;
	padding: 0 10px;
	background: #c99b9c;
	border: none;
	border-radius: 30px;
	color: #fff;
}
#makebanner #slct{
	display: inline-block;
	position: relative;
}
#makebanner #slct:before{
	content:'';
	position: absolute;
	top:50%;
	right:8px;
	margin:-5px 0 0 0;
	width:0;
	height:0;
	border-style: solid;
	border-width:8px 6px 0 6px;
	border-color:#333 transparent transparent transparent;
	pointer-events: none;
}
#slct select {
	padding: 2px 25px 2px 5px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #fff;
	border: 1px solid #c4b8b7;
}
#slct select::-ms-expand {display: none;}
#slct select option:disabled{background: #ddd; color: #aaa;}

#linkkitInfo p{
	text-align: left;
	padding: 10px;
}

#linkkitInfo dl{margin-bottom:20px;}
#linkkitInfo dl dt{
	padding: 3px 8px;
	font-weight: bold;
	color: #333;
}
#linkkitInfo dl dd{
	padding: 5px 10px 10px;
	margin-bottom: 10px;
}
#linkkitInfo dl dd:not(:last-of-type) {
	border-bottom: 1px dashed #afadac;
}

#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;
	color: #c99b9c;
	background: #fff;
	border: 1px solid #c99b9c;
	border-radius: 30px;
	font-weight: bold;
	display: block;
}

/* introduction/inc_kit.php
------------------------------------*/
#linkkitBox h4{
	padding:3px 0;
	border-bottom: 1px solid #ddd;
}
#linkkitBox > p{padding: 3px 0;}
#linkkitBox dl dt{
	display:block;
	margin-bottom:5px;
}
#linkkitBox pre {
	padding: 10px 5px;
	background:#fff;
	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 20px;
	background: #c99b9c;
	border: none;
	border-radius: 30px;
	color: #fff;
	position: relative;
}
.clipbox button::before{
	content: '';
	width: 10px;
	height: 11px;
	background-image: url(../img/icon/icn_clipboard.png);
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	position: absolute;
	top: 50%;
	left: 5px;
	margin-top: -6px;
}

/* 04 inquiry/
------------------------------------------------- */
#announce{
	padding: 10px;
	margin: 15px 0;
	border: 1px solid #999;
	border-radius: 7px;
}
#contact h3{
	text-align: center;
	font-size: 1.45rem;
	font-weight: bold;
	color: #fff;
	background: #c5bab7;
	padding: 10px;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
}

#contact form{
	background: #f3f0ef;
	padding: 20px 10px;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
}
#contactForm dt.sub_hd{
	font-size: 1.17rem;
}
/*#contactForm dt.sub_hd::before{background: #838383;}*/
.capshead{color: #909090;}
#contactForm dd{
/*	padding: 5px 0 10px;*/
	margin-bottom: 10px;
}
#contactForm dd input,
#contactForm dd {
	margin: 5px 0 10px;
}
#contactForm dd:not(:last-of-type) {
	border-bottom: 1px dashed #aaa8a7;
}
/*#contactForm dd:last-of-type {
	border-bottom: 1px solid #a4a1a1;
}*/
#offMail{
	color: #ef8e92;
	display: inline-block;
	font-size: 1rem;
}
#setting{
	padding: 10px;
}
#setting .capshead::before {
	color: #ef8e92;
}
#setting ul{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
}
#setting ul li{
	padding: 2px;
	flex:1 1 33%;
}
#setting .linkbtn a{
	padding: 5px 10px;
	font-size: 1rem;
	font-weight: bold;
	background: #fff;
	border: 2px solid #e7e6e5;
	border-radius: 8px;
}

/* 05 ur.html
------------------------------------------------- */
#urhead{
	margin-bottom: 10px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap:15px;
}
#urhead::before{
	content: '';
	width: 76px;
	height: 76px;
	background-image: url(../img/others/ur_illust.png);
	background-repeat: no-repeat;
	background-size: contain;
	display: block;
	flex:0 0 76px;
}

#urhead .speech.outline{margin: 0; background: #fff; color:#333;}
#urhead .speech.outline::before{border-bottom-color: #fff;}
#urbox{
	margin-bottom: 10px;
	text-align: center;
}
#urbox dl dt{
	padding: 5px 0;
	font-size: 1.17rem;
	font-weight: bold;
	color: #777;
}
#urbox dd img{
	width: 100%;
	max-width: 600px;
	height: auto;
}
#urbox h5{
	padding: 10px 0;
	font-size: 1.17rem;
	color: #f26896;
}

/* 15 select_age.php
------------------------------------------------- */
.genHead{
	padding: 15px 10px;
	background-position: 100% 100%, 50% 0;
	background-repeat: no-repeat, no-repeat;
	-webkit-background-size: contain, cover;
	background-size: contain, cover;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.genHead::after{
	content: '';
	width: 80px;
	height: 100px;
	background-image: url(../img/selectage/age_illust.png);
	background-repeat: no-repeat;
	background-size: cover;
	display: block;
}
.genHead h2{margin-bottom: 10px;}
.genHead h2 img{max-width: 188px; height: auto;}
.genHead p img{max-width: 249px; height: auto;}

#slArea{border-bottom: 1px solid #cbb9b5;}
#slArea p{
	background: #f7efed;
	border-top: 1px solid #cbb9b5;
	position: relative;
}
#slArea label{
	padding: 15px 5px 15px 20px;
	flex:1 1 auto;
}
#slArea label a{
	color: #444;
	pointer-events: none;
}
#slArea .lv1{background: #f7efed;}
#slArea .lv1 p:not(:first-child) {border-top: 1px solid #cbb9b5;}
#slArea .lv2{background: #fcf6f4;}
#slArea .lv2 li{border-top: 1px solid #cbb9b5;}
#slArea .lv2 li label{padding-left: 30px;}
.region{
	background: #fff !important;
	padding: 15px 5px 15px 20px;
	font-size: 1.17rem;
	position: relative;
}
.region::before{
	content: '';
	position: absolute;
	width: 9px;
	height: 1px;
	background-color: #ca9698;
	top: 50%;
	right: 10px;
}
.region::after{
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	width: 9px;
	height: 1px;
	background-color: #ca9698;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.region.act::after {display: none;}

.chkall{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
}
.acdAge{
	display: block;
	text-indent: -9999px;
	flex:0 0 15%;
	position: relative;
}
.acdAge::before {
	content: '';
	position: absolute;
	width: 7px;
	height: 1px;
	background-color: #ca9698;
	top: 50%;
	right: 12px;
}
.acdAge::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 12px;
	width: 7px;
	height: 1px;
	background-color: #ca9698;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.acdAge.act::after {display: none;}

#selectAge{padding: 10px;}
#selectAge h3{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
}
#selectAge h3::before{
	content: '';
	width: 89px;
	height: 80px;
	background-image: url(../img/selectage/age_selif_illust.png);
	background-repeat: no-repeat;
	background-size: cover;
	display: block;
}
#selectAge h3 img{
	width: 234px;
	height: auto;
}
#selectAge div{
	padding: 20px 10px;
	border: 1px solid #b3b3c2;
	border-radius: 8px;
}
#sa_tgt{min-height: 300px;}

/* SPview タブ切り替え関連
-------------------------------------------------*/
#agetabs{display: none;}
/* 
@media screen and (max-width: 959px) {
	#slArea > div{display: block !important;}
} */

/* 16 introduction/
------------------------------------------------- */
#introHead{
	width: 100%;
	max-width: 550px;
	height: auto;
	aspect-ratio: 0.81;
	padding: 10px;
	margin: 0 auto;
	box-sizing: border-box;
	text-align: center;
	background: url(/img/intro/hero_bg.png) 50% 0 / cover no-repeat;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}
#introHead h2{
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	padding-bottom: 20px;
}
#introHead h2 img{
	max-width: 712px;
	width: 100%;
	height: auto;
}
#introbanner{
	margin: 20px 5px 0;
}

#intro h3{
	padding: 5px 0;
	text-align: center;
	font-weight: bold;
	font-size: 1.34rem;
	border-width: 1px 0;
	border-style: solid;
	border-color: #d2d2d2;
}
#intro #fTitle{
	text-align: center;
	margin-bottom: 10px;
}

/* バナー料金
---------------------------------------*/
#optprice{padding: 10px;}

.capacity{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
}
.capacity h4{font-size: 1.17rem;}
.capacity h4 span{font-weight: normal;}

table.basic,
table.optbanner {
	width: 100%;
	margin: 5px 0 15px;
	border-collapse: collapse;
}
table.basic tr th,
table.basic tr td,
table.optbanner tr th,
table.optbanner tr td{
	padding: 5px 10px;
	font-size: 1.17rem;
}
table.basic tr th,
table.optbanner tr th{
	width: 3em;
	background: #f6e9e8;
	font-weight: normal;
	border: 1px solid #b9a8a4;
}
table.basic tr:first-of-type th,
table.optbanner tr:first-of-type th{text-align: center;}
table.basic td,
table.optbanner td{
	font-weight: bold;
	text-align: center;
	background: #fff;
	border: 1px solid #b9a8a4;
}
table.basic td span,
table.optbanner td span{color: #ef8e92;}
table.basic tr.first td:first-of-type:after{
	content: '※';
	color: #ef8e92;
	font-weight: bold;
}
.introAtt{
	background: #fff;
	border: 2px solid #f1a4a7;
	border-radius: 6px;
	margin: 20px 0;
	padding: 10px;
}
.introAtt p{
	text-align: center;
}
.introAtt p span{display: inline-block;}
.introAtt a{color: #ef8e92; text-decoration: underline;}
#paidEntry a,
#mediaEntry a,
#agencyEntry a,
#freeEntry a,
#inqEntry a{
	background: #ca9698;
	border: none;
	color:#fff;
}
#mediaEntry a:before{
	content: '';
	position: absolute;
	display: block;
	width: 20px;
	height: 30px;
	top: calc(50% - 1em);
	left: calc(50% + 4.2em);
	background: url(/img/icon/icn_pdf.png) 0 0 / 20px 30px no-repeat;
}
#shippingCond{
	padding: 10px;
	text-align: center;
}
#shippingCond span{color: #f00;}

/* 17 introduction/paid_f.php
------------------------------------------------- */
#intro h2{
	text-align: center;
	font-size: 1.34rem;
}
#flowchart{
	padding: 10px 0;
	text-align: center;
}
#flowchart dt{
	padding: 3px 25px;
	font-size: 1.17rem;
	display: inline-block;
}
#flowchart dd{padding: 10px 0;}
#flowchart ol {
	display: flex;
	list-style: none;
	gap: 3px;
	justify-content: center;
}
#flowchart ol li {
	height: 4.6em;
	line-height: 1.3;
	padding: 0 2px 0 10px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	align-items: center;

	position: relative;
	background: #f3f0ef;
	border: 1px solid #b5b5b5;
	box-sizing: border-box;
	margin: 0;
}
#flowchart ol li:not(:first-child)::before {
	width: 16px;
	height: 100%;
	content: '';
	background-image: url(../img/intro/arrow_deco.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	-webkit-background-size: cover;
	background-size: cover;
	position: absolute;
	top: 0;
	left: -8px;
}

#forAgency{
	padding: 15px 10px 20px;
	background: #eeebe9;
	text-align: center;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
}
#forAgency dl dt{
	font-size: 1.45em;
	font-weight: bold;
}
#forAgency dl dd{
	font-size: 1.2em;
	background: #fff;
	border-radius: 6px;
	padding: 15px 10px;
}
#forAgency #agencyEntry a{
	max-width: 80%;
	margin: 0 auto;
}
#formtitle{
	margin-top: -13px;
	padding: 10px 0;
	color: #fff;
	background: #c5bab7;
	text-align: center;
	font-size: 1.34rem;
	font-weight: bold;
}
.formAtt{
	color: #909090;
	font-size: 1rem;
}
.required{
	padding: 2px 5px;
	background: #ef8e92;
	color: #fff;
	font-size: .8em;
	border-radius: 4px;
	margin-left: 5px;
}
.any{
	padding: 3px 5px;
	background: #a8a8a8;
	color: #fff;
	border-radius: 5px;
}

/* モダール設定css
--------------------------------------------------*/
a.triger{
	padding: 3px 0;
	text-align: center;
	border: 1px solid #c4b8b7;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	display: block;
	background: #fff;
	color:#444;;
	text-decoration: none;
}
a.triger span{display: inline-block;}
#lean_overlay {
	position: fixed;
	z-index:9999;
	top: 0px;
	left: 0px;
	height:100%;
	width:100%;
	background: #000;
	display: none;
}
.dialogBox {
	background: #f3f0ef;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	-webkit-box-shadow: outset 0 0 4px rgba(0,0,0,0.2);
	-moz-box-shadow: outset 0 0 4px rgba(0,0,0,0.2);
	box-shadow: outset 0 0 4px rgba(0,0,0,0.2);
	display: none;
	padding: 30px;
	width: 320px;
	border: 1px solid #ef8e92;
}
.dialogBox p{
	text-align: center;
	margin-bottom: 10px;
	color:#444;
}
.dialogBox ul{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
}
.dialogBox ul li{
	padding: 3px 0;
	flex:1 1 50%;
}
.dialogBox ul li label.chk{background-position: 0 -20px;}
.introArea > select{margin-bottom:5px}
.introArea > div{margin-bottom:5px}
.introOld input{width: 4em;}
.introHow div{padding: 3px 0;}
.introHow ul{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap :3px;
}
.introHow ul li:first-child{flex:0 0 7em;}
.introHow 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{
	padding: 5px;
	display: inline-block;
}

.arrow_box {
	max-width: 100%;
	padding: 8px;
	border-radius: 7px;
	position: relative;
	background-color: #ca9698;
	color: #fff;
	text-align: left;

	/*border: 1px solid #929292;*/
}
.arrow_box::before {
	content: "";
	position: absolute;
	top: -8px;
	left: 10px;
	width: 0;
	height: 0;
	border-right: 4px solid transparent;
	border-bottom: 8px solid #ca9698;
	border-left: 4px solid transparent;

	z-index: 99;
}
.arrow_box a {
	text-decoration: underline;
	color: #fff;
}

#freeListing {
	padding: 15px 10px 20px;
	background: #f6e7e6;
	text-align: center;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	margin-bottom: 3px;
}
#freeListing dl dt{
	color: #ef8e92;
    font-size: 1.45em;
    font-weight: bold;
}
#freeListing dl dd {
	font-size: 1.2em;
	background: #fff;
	border-radius: 6px;
	padding: 25px 10px;
	text-align: left;
}
#freeListing dl dd span{
	display: block;
	color: #ef8e92;
	font-weight: bold;
	text-align: left;
}

/* 18 search/
------------------------------------------------- */

#slPT p{border-top: 1px solid #858585;}
/*#resNum{padding: 5px 0;}
#resNum span{font-size: 1.34rem; font-weight: bold;}*/

.innerbox{
	background: #fff;
}
#searchhead{
	background: #eeebe9;
	margin-bottom: 20px;
}
ul#condTB{border: none;}
ul#condTB li{
	background: #fff;
	padding: 10px 12px;
	border-radius: 8px;
}
ul#condTB li:not(:last-child){
	margin-bottom: 5px;
}
ul#condTB li dl dt{
	border-right: 1px solid #e1e1e1;
	padding: 5px 10px 5px 0;
	font-size: 1.17rem;
	color: #333;
	background: #fff;
	font-weight: bold;
	white-space: nowrap;
	display: flex;
	align-items: center;
	gap: 6px;
}
ul#condTB li dl dt:has(+ dd #condArea)::before {
	background: url(/img/search/icn_area.png) 0 50%/contain no-repeat;
	content: "";
	width: 18px;
	height: 21px;
	flex: 0 0 16px;
}
ul#condTB li dl dt:has(+ dd #condType)::before {
	background: url(/img/search/icn_genre.png) 0 50%/contain no-repeat;
	content: "";
	width: 18px;
	height: 21px;
	flex: 0 0 16px;
}
ul#condTB li dl dd{
	border: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	padding: 5px 10px;
	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{
	display: flex;
	text-indent: -9999px;
	background: url(/img/icon/icn_change.png) 0 0/17px 11px no-repeat;
	width: 17px;
	height: 11px;
}
ul#condTB li dl dd div,
.ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}


.feature_shop{
	padding: 5px 10px 10px;
	background: #f4efe3;
	position: relative;
	text-align: center;
}
.feature_shop h2{
	color: #89723c;
	font-size: 1.34rem;
	line-height: 1.2;
	padding: 10px 0 0;
}
#bbanner{margin: 10px auto 15px;}
#bbanner a,#tbanner a{color: #444;}
.feature_shop > div{margin: 10px auto 0; max-width: 600px;}
.feature_shop > div img{
	max-width: 600px;
	width: 100%;
	height: auto;
}
.feature_shop > div > a{
	display: block;
	text-decoration: none;
}
.feature_shop > div > a:hover{
	opacity: .9;
}
.feature_shop > div > a dl{
	line-height: 1.4;
}
.feature_shop > div > a dl dt{
	margin: 0;
	font-size: 0;
}
.feature_shop > div > a dl dt img{
	display: block;
	width: 100%;
	height: auto;
}
.feature_shop > div > a dl dd{
	margin: 0;
	font-size: 1.17em;
	font-weight: bold;
	text-align: center;
}

/* 検索一覧 shopcard (有料)
---------------------------------------*/
#shopList{
}
.card{
	margin: 10px;
	border: 2px solid #e4dcd8;
	border-radius: 6px;
	background: #fff;
	filter: drop-shadow(0 3px 2px rgba(233, 204, 204, 0.6));
}
.card > 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: 8px 10px;
	padding-right: 52px;
}
.recommendShop dt{
	font-size: 1.17rem;
	font-weight: bold;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 3px;
	padding: 5px 0;
}
.recommendShop dd a{color: #7c7c7c;}
.recommendShop .recKeep{
	position: absolute;
	top: 15px;
	right: 15px;
	margin: 0;
	padding: 0;
	border: none;
}
.recommendShop .recKeep .keepBtn{
	width: 16px;
	height: 15px;
	display: block;
	background: url(../img/icon/icn_keep_off.png) 50% 50%/16px 15px no-repeat;
	text-indent: -9999px;
}
.recommendShop .recKeep .keepBtn.already{
	background: url(../img/icon/icn_keep_on.png) 50% 50%/16px 15px no-repeat !important;
}
.recommendShop .recKeep .keepBtn span{
	display: none;
}
/*.recommendShop dt::before{
	content: '';
	width: 39px;
	height: 14px;
	content: '';
	background-image: url(../img/icon/icn_recommend.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
	-webkit-background-size: contain;
	display: block;
}*/

.cardinfo{padding: 5px 10px;}
.cardinfo .flx{padding: 0;}
.cardThumbs{
	margin: 5px 0;
	padding: 0;
	width: 100%;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 5px;
}
.cardThumbs li{
}
.cardThumbs.single li{
	width: auto;
	flex: 0 0 auto;
}
.cardThumbs img{
	width: 100%;
	height: auto;
	display: block;
}
.offerAge{
	padding: 3px 5px;
	background: #5eccb3;
	color:#fff;
	display: inline-block;
	font-weight: bold;
	font-size: 1.17rem;
}
.icn_newopen{
	padding: 3px 5px;
	border-radius: 5px;
	background: #fc88b6;
	color: #fff;
}
.icn_review{
	padding: 3px 5px;
	border-radius: 5px;
	background: #6dc78d;
}
.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 10px;
	text-align: center;
}
.recimg img{
	width: 100%;
	max-width: 750px;
	height: auto;
}
.recIntro dt{
	font-size: 1.17rem;
	font-weight: bold;
}
.recIntro dd{
	font-size: 1.05rem;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	line-height: 1.6;
	max-height: calc(1.6em * 2);
}

.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: #9593ff;
}
.powerpush li.dis{
	color: #bbb;
	border: 1px solid #ddd;
	background: #fff !important;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#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;
}

.workCondtions{
	margin: 5px 0 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
}
.freecard .workCondtions{
	max-width: calc(100% - 158px);
}
.workCondtions li{
	line-height: 1.4;
	flex:1 1 auto;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	color: #777;
	gap: 5px;
	padding: 2px 0px;
}
.workCondtions li::before{
	height: 2.2em;
	flex: 0 0 20px;
	content: '';
	display: block;
	background-repeat: no-repeat;
	background-size: 17px auto;
	background-position: 50% 50%;
}
.workCondtions li a{color: #777;}
.w_require::before{background-image: url(../img/icon/icn_w_price.png);}
.w_place::before{background-image: url(../img/icon/icn_w_place.png);}
.w_time::before{background-image: url(../img/icon/icn_w_time.png);}
.w_salary::before	{background-image: url(../img/icon/icn_w_price.png);}
.w_tel::before{background-image: url(../img/icon/icn_w_tel.png);}
.w_text {
	display: -webkit-box;
/*	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;*/
	min-width: 0;
}
.card .cardLink{
	border-top: 1px dashed #afadac;
	padding: 15px 0;
	margin-top: 10px;
}
.cardLink a{
	display: block;
	font-size: 1.2em;
	font-weight: bold;
	color: #7c7c7c;
	background: #fff;
	border: 1px solid #ca9698;
	border-radius: 30px;
	padding: 10px 20px;
	margin: 0 auto;
	max-width: 240px;
	box-sizing: border-box;
	text-align: center;
}
.cardLink a span{
	display: inline-flex;
	align-items: center;
}
.cardLink a span::after{
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 6px;
	background: url(/img/icon/icn_ext.png) no-repeat center center / contain;
}
.freeLinks{
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: flex-end;
}
.freecard .cardLink a{
	min-width: 11em;
	padding: 5px 15px;
	margin-bottom: 5px;
}

a.already{background: #bbb !important;}

/* 検索一覧 shopcard (無料-サービス掲載)
---------------------------------------*/
.freecard,
.servicecard{
	padding: 0 10px;
	margin: 10px;
	border: 2px solid #e4dcd8;
	border-radius: 6px;
	background: #fff;
	filter: drop-shadow(0 4px 3px rgba(233, 204, 204, 0.6));
}
.cardInner{
	padding: 5px 0;
}
.cardInner .recommendShop{
	padding: 0 20px 0 0;
	background: none;
	border: none;
}
.cardInner .recommendShop dt::before{display: none;}
.cardInner .offerAge{padding: 0; background: none; color:#333;}
.servicecard .cardInner .recommendShop dt{font-weight: normal;}
.servicecard .location,
.servicecard .category{padding: 0;}
.servicecard .location a,
.servicecard .category a{color: #777;}
.servicecard .location::before,
.servicecard .category::before{display: none;}
.servicecard .category::after{margin-left: 5px; content: '/';}

/* エリアライティング
-------------------------------*/
#area_writing{
	padding: 10px;
	background: #fff;
}
#area_writing .wSet{
	margin-bottom: 10px;
	border: 1px solid #2d2d2d;
	border-radius: 8px;
}
#area_writing .wSet p{
	padding: 10px 35px 10px 8px;
	position: relative;
}
#area_writing .wSet p:after{
	content: '';
	width: 7px;
	height: 7px;
	margin-top: -7px;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(135deg);
	display: block;
	position: absolute;
	top: 50%;
	right: 14px;
}
#area_writing .wSet p.act:after{
	margin-top: -3px;
	transform: rotate(-45deg);
}
#area_writing > div dl dt{
	padding: 5px 10px;
	background: #f2f2f2;
}
#area_writing ul li{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid #ddd;
	color: #935d18;
}
#area_writing ul li a{
	padding: 8px 15px;
	display: block;
	flex:1 1 auto;
	color: #935d18;
}
#area_writing ul li > span{
	padding: 0 3px;
	white-space: nowrap;
}
#area_writing ul li .nolink{
	padding: 8px 15px;
	color:#333;
}
#area_writing ul li .nolink+span{color: #333;}
.wAbout{
	padding: 5px 10px;
	border-top: 1px solid #ddd;
}
.wAbout a{
	text-decoration: none;
	color: #333;
}
#no_browsing{padding: 5px;}
.areaBanner{
	margin-top: 10px;
	padding: 0 10px;
	text-align: center;
}
.areaBanner dt img{
	max-width: 600px;
	width: 100%;
	height: auto;
}
.areaBanner dd{font-weight: bold;}


#neighbour{
	position:relative;
	color: #5b201d;
	background:#fff;
	margin: 30px 5px;
	border-radius: 10px;
}
#neighbour h3{
	padding: 3px;
	background:#61d0d2;
	border-radius: 10px 10px 0 0;
	color: #fff;
	font-size: 1.17rem;
	text-align: center;
}
#neighbourInner{
	padding: 5px;
	border-width: 0 2px 2px;
	border-radius: 0 0 8px 8px;
	border-style: solid;
	border-color: #ddd;
}
#neighbourInner p{
	margin-bottom: 5px;
	text-align: center;
}
#neighbourInner dl{
	display:flex;
	flex-flow:row nowrap;
	margin-bottom:5px;
	gap :3px;
}
#neighbourInner dl dt{
	width: 60px;
	height: 20px;
	background: #799cab;
	border-radius: 4px;
	text-align:center;
	font-weight: bold;
	color: #fff;
}
#neighbourInner dl dd{
	line-height: 1.4;
	width: calc(100% - 130px);
	margin: auto 0;
}
#neighbourInner p{
	background:#e9eeef;
	padding: 3px;
	text-align: center;
}


/* 19 search/fem_rec.php
------------------------------------------------- */
#recjob h2{
	padding: 10px;
	background-image:
		url(../img/others/recjob_bg.png),
		linear-gradient(to right, #ffa7b3 50%, #fff5ac 51%)
	;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	text-align: center;
}
#recjob h2 img{
	max-width: 694px;
	width: 100%;
	height: auto;
}
.areatab{
	padding: 10px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-template-rows: repeat(4, auto);
	gap: 6px 0;
}

.areatab li:nth-child(4n+1) a{border-left: 1px solid #ddd;}
.areatab li a{
	width: 100%;
	font-size: 1.34rem;
	text-align: center;
	border-width: 0 1px 0 0;
	border-style: solid;
	border-color: #ddd;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	white-space: nowrap;
}
.areatab li.recact a{
	color: #f26896;
}

.arearec h3{
	padding: 3px 0;
	text-align: center;
	font-size: 1.34rem;
	font-weight: normal;
	background: #4c4c6b;
	color: #fff;
	position: relative;
}
.arearec h3::after{
	content: "";
	width: 0;
	height: 0;
	margin-left: -24px;
	position: absolute;
	left: 50%;
	border: solid transparent;
	border-width: 8px 24px;
}

.arearec h3#arTOP{margin-bottom: 20px;}
.arearec h3#arTOP::after{
	top: 100%;
	border-top-color: #4c4c6b;
}
.arearec h3#arBTM{margin-top: 20px;}
.arearec h3#arBTM::after{
	bottom: 100%;
	border-bottom-color: #4c4c6b;
}

.arearec .recommendShop dt::before{display: none;}
.arearec .offerAge{
	background: none;
	color: #777;
}
.arearec .offerAge span{
	margin-left: 5px;
	font-weight: bold;
	color: #333;
}
.recbtns{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
}
.recbtns li{
	padding: 5px;
	flex: 1 1 auto;
}
.recbtnDet.more a{
	display: block;
	font-size: 1.2em;
	font-weight: bold;
	color: #7c7c7c;
	background: #fff;
	border: 1px solid #ca9698;
	border-radius: 30px;
	padding: 10px 20px;
	margin: 0 auto;
	max-width: 240px;
	box-sizing: border-box;
	text-align: center;
}
.recbtnDet.more a span {
	display: inline-flex;
	align-items: center;
}
.recbtnDet.more a::after{
	position: static;
	content: '';
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 6px;
	background: url(/img/icon/icn_ext.png) no-repeat center center / contain;
}
.recbtnAdd a{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: center;
	gap :3px;
}
.recbtnAdd a::before{
	content: '';
	width: 32px;
	height: 32px;
	display: block;
	background-image: url(../img/icon/icn_pin.png);
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}
.wanted{padding: 50px 10px;}
#femTgt{min-height: 300px;}
#femTgt h4{
	padding: 10px 0;
	text-align: center;
	font-size: 1.17rem;
	font-weight: normal;
}

/* 20 list/
------------------------------------------------- */
#urWrap h3{
	font-size: 1.34rem;
	color: #fff;
	text-align: center;
	background: #4c4c6b;
}
#uchead{
	min-height: calc(100vh - 494px);
}

/* #### カード部分
---------------------------------------*/
.urBox{
	max-width: 700px;
	padding: 15px 10px;
	margin: 10px auto;
	overflow: hidden;
	font-family: sans-serif;
	border: 2px solid #e4dcd8;
	border-radius: 6px;
	background: #fff;
	filter: drop-shadow(0 3px 2px rgba(233, 204, 204, 0.6));
}
.urBox input[type="checkbox"]{display: none;}
.urBox label{cursor: pointer;}
.urBox > dl.recShop{padding: 0;}
.urBox .card_body{
	align-items: flex-start;
	margin-bottom: 10px;
}

.urBox label .card_body{margin-bottom: 5px;}
.urBox .recbtns {}
.urBox .recbtns li.more a,
.urBox .recbtns li.linkbtn a{font-size: 1rem;}
.urCard .keepActions{
	margin-top: 12px;
}
.urCard .keepActions li{
	flex: 0 0 auto;
}
.freecard.urCard .keepActions{
	justify-content: flex-end;
	border-top: 1px dashed #afadac;
	margin-top: 10px;
	padding-top: 10px;
}


#appHistory h3{
	text-align: center;
	font-size: 1.17rem;
	border-width: 1px 0;
	border-style: solid;
	border-color: #838383;
}
.rechis{padding: 5px;}

#delhistory{
	margin: 10px 0;
	text-align: center;
}
#delhistory p{display: inline-block;}
#delhistory a{
	padding: 5px 20px;
	background: #777;
	color: #fff;
	border-radius: 8px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 2px;
}
#delhistory a::before{
	content: '';
	width: 11px;
	height: 13px;
	display: block;
	background-image: url(../img/icon/icn_dustbox.png);
	background-repeat: no-repeat;
	background-size: contain;
}

#error_message,
#err_title,
#err_name,
#err_age,
#err_email,
#err_comment {
	color: #f00;
	font-size: 1.17rem;
	font-weight: bold;
}

/* 送信画面
---------------------------------------*/
#ucsend h2{
	padding: 5px 0;
	background: #4c4c6b;
	text-align: center;
	color: #fff;
	font-size: 1.34rem;
}
#sendWrap {background: #eaf0fc;}
#sendWrap h3{
	padding: 5px 0;
	background: #a6a7b9;
	text-align: center;
	color: #fff;
	font-weight: bold;
}
#sendList{padding: 3px 10px;}

/* 21 guideline.html
------------------------------------------------- */
#guideline dl{
	padding: 0 5px;
}
#guideline dl > div{
	font-size: 1.2em;
	margin-bottom: 10px;
}
#guideline dl dt{
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
	color: #444;
	margin-bottom: 5px;
}
#guideline dl dd{
	padding-bottom: 20px;
}
#guideline #innerbox dl dd > ul li {
	position: relative;
	padding: 5px 0 5px 1em;
	border-bottom: 1px dashed #b2b2b2;
}
#guideline #innerbox dl dd > ul li:first-child {
	border-top: 1px dashed #b2b2b2;
}
#guideline #innerbox dl dd > ul li:before {
	content: '';
	position: absolute;
	left: 0;
	top: calc(0.5em + 5px);
	width: 5px;
	height: 5px;
	background: #909090;
	border-radius: 10px;
	display: block;
}

/*
-------------------------
-------------------------
*/

/* 30 s/xxxx (基本掲載) -> s/temp_paid.html
------------------------------------------------- */
#shopdetail h3{
	padding: 5px 0;
	text-align: center;
	font-weight: normal;
	font-size: 1.34rem;
	border-width: 1px 0;
	border-style: solid;
	border-color: #838383;
}
#shopdetail h4{
	padding: 3px 0;
	margin-bottom: 5px;
	font-size: 1.17rem;
	border-bottom: 1px solid #d1ccda;
}
#hdcaps{
	padding: 5px;
	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;
}
#detTabs{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
}
#detTabs li{
	flex: 1 1 50%;
	text-align: center;
	font-size: 1.17rem;
}
#detTabs li > *{padding: 10px 0;}
#detTabs li div{
	font-weight: bold;
	border-bottom: 3px solid #b7b6ef;
}
#detTabs li a{
	display: block;
	border-bottom: 3px solid #f0f0f0;
}
#hdinfo{
	padding: 10px;
	font-size: 1.17rem;
}
#catchcopy{
	font-weight: bold;
	word-break: break-word;
}
#hdinfo h2{font-size: 1.34rem; color: #ed457d;}

.annex_tp{position: relative;}
.annex_list{
	position: relative;
	display: none;
	max-width: 100%;
	padding: 8px;
	margin: 10px 0;
	border-radius: 7px;
	background-color: #4c4c6b;
	color: #fff;
	text-align: left;
}
.annex_list::before {
	content: "";
	width: 0;
	height: 0;
	border: 6px solid transparent;
	border-bottom: 8px solid #4c4c6b;
	position: absolute;
	top: -14px;
	left: 10px;
	z-index: 99;
}
.annex_list ul{
	max-width: 100%;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	gap: 2px 15px;
}

/* 給与目安
---------------------------------------*/
#detSalary{
	padding: 8px;
	border: 1px solid #929292;
	border-radius: 8px;
}
#detSalary p{
	margin: 5px 0;
	text-align: center;
	font-size: 1.17rem;
	font-weight: bold;
}
#detSalary dl{
	padding: 5px 15px;
	border-radius: 3em;
	background: #eaf0fc;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 1.17rem;
}
#detSalary dl dd.salarycaps{
	padding: 5px 10px;
	background: #ff8dba;
	border-radius: 2rem;
	color: #fff;
}
#detSalary dl span{
	font-size: 1.34rem;
	font-weight: bold;
}
#detSalary div{padding: 5px;}

#salBack li{margin: 5px 0;}

/* 当店のイチオシポイント
---------------------------------------*/
#thumbs{
	position: relative;
	overflow: hidden;
	padding-top: 10px;
	margin-bottom: -15px;
}
.thumb{
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
}
.thumb img{
	width: 100%;
	height: auto;
	max-width: 750px;
	aspect-ratio: 21 / 16;
}
/*.thumb span{display: none;}*/
.thumb.swiper-slide-active span{
	display: block;
	padding: 5px 0;
	margin: 0 -20px;
	line-height: 1.2;
	min-height: 2.4em;
}
#swpPages {
	width: 100%;
	padding: 0 5px;
	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;
}
#swpPages li {
	width: 20px;
	height: 20px;
	cursor: pointer;
	display: block;
	z-index: 999;
	background: rgba(51, 51, 51, .75);
	border-radius: 20px;
	text-indent: -9999px;
	position: relative;
}
#swpPages li::before {
	width: 0;
	height: 0;
	content: '';
	position: absolute;
	top: calc(50% - 5px);
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}
#swpPages li.slidePrev::before {
	left: 7px;
	border-right: 5px solid #fff;
}
#swpPages li.slideNext::before {
	right: 7px;
	border-left: 5px solid #fff;
}

/* 動画埋め込み
---------------------------------------*/
.movInner{
	height: 0;
	margin-top: 10px;
	padding-bottom: 56.25%;
	position: relative;
	overflow: hidden;
	background: rgba(0,0,0,0.3);
}
.movInner:has(> iframe.shorts){
	padding-bottom: 177.9%;
}
@media (min-width: 450px) {
	.movInner:has(> iframe.shorts){
		padding-bottom: 783px;
	}
}
.movInner video,
.movInner iframe,
.movInner img{
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.movInner iframe.shorts{
	aspect-ratio: 440 / 783;
	width: 100%;
	height: auto;
	max-height: 783px;
}

/* あなたへの募集コメント
---------------------------------------*/
/*#detComment{overflow: hidden;}*/
#readfirst{max-height: 9em; overflow: hidden;}
#readmore{padding: 15px 0; cursor: pointer; overflow: hidden;}
#readfirst > div{display: none;}

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

/* 特徴/募集内容/スタッフ/店舗情報
---------------------------------------*/
#miTabs{
	padding: 15px 0;
	margin: 10px 0;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	gap: 2px;
	border-top: 1px dashed #d1ccda;
}
#miTabs li{
	flex: 1 1 25%;
	font-size: 1.17rem;
	font-weight: bold;
	text-align: center;
}
#miTabs li a{
	padding: 15px 0;
	border: 1px solid #2d2d2d;
	border-radius: 5px;
	position: relative;
	-webkit-box-shadow: 0	3px	#ebebeb;
	box-shadow: 0	3px	#ebebeb;
	background: #fff;
	display: flex;
	flex-flow: column;
	align-items: center;
	gap: 3px;
}
#miTabs li a::after{
	width:0;
	height:0;
	content:'';
	border-style: solid;
	border-width: 6px 6px 0 6px;
	border-color: #838383 transparent transparent transparent;
	display: block;
}
.appendix{text-align: center;}
.appendix img{
	width: 100%;
	max-width: 700px;
	height: auto;
}

dl.reclist dt{
	padding: 5px 0;
	font-size: 1.17rem;
}
dl.reclist dd{
	padding: 5px 0;
	border-bottom: 1px dashed #d1ccda;
}

/* 募集要項 追加画像
---------------------------------------*/
.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;}
#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{transform: rotate(180deg);}

/* スタッフ
---------------------------------------*/
#stfWrap{
	width: 100%;
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	gap :8px;
}
#detStf p{flex:0 0 150px;}
#detStf #stfinfo{display: contents;}
/*#detStf #stfinfo{flex: 1 1 auto;}*/
#stfComment{
	flex: 1 1 100%;
	padding: 10px 5px;
	margin-top: 15px;
	border-radius: 5px;
	background: #c5b1e5;
	color: #fff;
	position: relative;
}
#stfComment:before {
	content: "";
	width: 0;
	height: 0;
	margin-left: -8px;
	position: absolute;
	bottom: 100%;
	left: 20px;

	border: solid transparent;
	border-color: rgba(73, 157, 131, 0);
	border-bottom-color: #c5b1e5;
	border-width: 8px;
	pointer-events: none;
}

/* 応募方法
---------------------------------------*/
#detContact{text-align: center;}
#detContact > p{
	padding: 10px 20px;
	margin: 10px 0;
	background: #eaf0fc;
	border-radius: 8px;
	display: inline-block;
	position: relative;
}
#detContact > p::after{
	content: "";
	width: 0;
	height: 0;
	position: absolute;
	top: 100%;
	left: calc(50% - 8px);
	border: solid transparent;
	border-top-color: #eaf0fc;
	border-width: 8px;
}
#detContact ul{
	padding: 10px;
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	gap: 5px;
}
#detContact ul li a{
	height: 100%;
	padding: 10px 20px;
	text-align: center;
	text-decoration: none;
	font-size: 1.34rem;
	border: 1px solid #2d2d2d;
	border-radius: 5px;
	position: relative;
	-webkit-box-shadow: 0	3px	#ebebeb;
	box-shadow: 0	3px	#ebebeb;
	background: #fff;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: row nowrap;
	gap :3px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
#detContact li a span{
	font-size: 1rem;
	display: block;
}
#detContact li a::before{
	content:'';
	width:37px;
	height:37px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
}
#detContact li#detTel a::before{background-image: url(../img/icon/det_phone.png);}
#detContact li#detLine a::before{background-image: url(../img/icon/det_line.png);}
#detContact li#detMail a::before{background-image: url(../img/icon/det_mail.png);}
#detContact li a div{min-width: 130px;}

#contactBtns{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
}
#contactBtns li{
	padding: 5px;
	flex: 1 1 auto;
}
#contactBtns li.linkbtn input,
#contactBtns li.linkbtn button{border: 1px solid #2d2d2d !important;}
#applyComplete{
	padding: 50px 0;
	text-align: center;
}

#toggleForm{
	padding: 15px 0;
	background: #4c4c6b;
	position: relative;
	color: #fff;
	text-align: center;
	font-size: 1.34rem;
	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);
}
#toggleForm.act::after {display: none;}
#shopdetail #setting{
	padding: 10px 0;
	background: none;
}
.det_formlist li{padding: 5px 0;}

#detSNS{
	padding: 5px;
	text-align: center;
}
#detSNS dt{padding: 5px 0;}
#detSNS dd ul li{flex: 1 1 0;}
#detSNS dd ul li a{
	padding: 2px;
	display: -webkit-flex;
	display: flex;
	flex-flow: row;
	justify-content: center;
	align-items: center;
	text-indent: -9999px;
	border-radius: 5px;
}
#detSNS dd ul li a::after{
	content: '';
	width: 18px;
	height: 18px;
	display: block;
	border-radius: 8px;
	text-indent: -9999px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	-webkit-background-size: contain;
	background-size: contain;
}
#detSNS dd ul li#shareX a{background-color: #000000;}
#detSNS dd ul li#shareFB a{background-color: #0866ff;}
#detSNS dd ul li#shareLINE a{background-color: #06c755;}
#detSNS dd ul li#shareX a::after{background-image: url(../img/icon/share_x.png);}
#detSNS dd ul li#shareFB a::after{background-image: url(../img/icon/share_fb.png);}
#detSNS dd ul li#shareLINE a::after{background-image: url(../img/icon/share_line.png);}

#detGroup{border-top: 2px solid #666;}
#dgInfo > div{display: none;}

#detGroupLists{
	padding: 15px 0;
	background: #e9eeef;
	text-align: center;
	position: relative;
}
#detGroupLists h5{
	font-size: 1.34rem;
	font-weight: normal;
}
#detGroupSwiper ul.swiper-wrapper li img{
	width: 100%;
	height: auto;
}
.noSwipe #detGroupSwiper ul.swiper-wrapper{gap: 4px;}
.noSwipe #detGroupSwiper ul.swiper-wrapper li{flex:1 1 auto;}

#swpGroupPages {
	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;
}
#swpGroupPages li {
	width: 20px;
	height: 20px;
	cursor: pointer;
	display: block;
	z-index: 999;
	background: rgba(51, 51, 51, .75);
	border-radius: 20px;
	text-indent: -9999px;
	position: relative;
}
#swpGroupPages li::before {
	width: 0;
	height: 0;
	content: '';
	position: absolute;
	top: calc(50% - 5px);
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
}
#swpGroupPages li.swpGroupPrev::before {
	left: 7px;
	border-right: 5px solid #fff;
}
#swpGroupPages li.swpGroupNext::before {
	right: 7px;
	border-left: 5px solid #fff;
}

/* 31 s/xxxx/review (クチコミ一覧) -> s/sp-kuchi_list.php
------------------------------------------------- */
dl#assess{
	margin: 10px 0;
}
dl#assess dt{
	padding: 3px 0;
	text-align: center;
	background: #eaf0fc;
}
dl#assess dd{
	padding: 15px 0;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}
dl#assess dd.chartinfo{padding: 3px;}
dl#assess dd div{
	flex: 1 1 100px;
	text-align: center;
	color: #5f5f5f;
	position: relative;
}
dl#assess dd.chartinfo div::before,
dl#assess dd.chartinfo div::after{
	content: '';
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #bdc6f1;
	display: block;
	position: absolute;
	top: 50%;
}
dl#assess dd.chartinfo div:nth-child(1)::before{transform: rotate(-45deg); right: 6px;}
dl#assess dd.chartinfo div:nth-child(1)::after{transform: rotate(-45deg); right: 2px;}
dl#assess dd.chartinfo div:nth-child(2)::before{transform: rotate(135deg); left: 6px;}
dl#assess dd.chartinfo div:nth-child(2)::after{transform: rotate(135deg); left: 2px;}

dl#assess dd div.assessList{flex: 0 0 200px;}
dl#assess dd div.act{font-weight: bold;}
.assessList ul{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
.assessList ul li{
	display: -webkit-flex;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
	flex: 1 1 20%;
}
.assessList ul li.act{color:#f00;}
.assessList ul li span{
	content: "";
	width: 12px;
	height: 12px;
	display: block;
	border-radius: 50%;
	background: #f6f8fc;
	border-color: transparent;
	text-indent: -9999px;
	background: #d0d0d0;
}
.assessList ul li.act span{
	border-width: 3px;
	border-style: solid;
	border-color: #f47aa3;
	background: #fff;
	position: relative;
}
.assessList ul li.act span::before{
	content: '';
	width: 4px;
	height: 4px;
	position: absolute;
	top: 2px;
	left: 2px;
	border-radius: 50%;
	border: 2px solid #f47aa3;
}

/* クチコミ一覧
---------------------------------------*/
#kuchikomiList{border-top: 1px solid #333;}
#shopdetail #kuchikomiList h4{
	padding: 15px 0 0;
	margin: 0;
	text-align: center;
	border: none;
	font-weight: normal;
}
#kuchikomiList ol{padding: 5px;}
#kuchikomiList ol li{
	padding: 5px;
	margin: 10px 0;
	border-radius: 5px;
	background: #eaf0fc;
}
#kuchikomiList ol li dl dt{
	width: 100%;
	padding: 3px 0;
	border-bottom: 1px solid #d1ccda;
	font-size: .88rem;
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
}
#kuchikomiList ol li dl dt span.age{
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	flex: 0 0 40px;
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
}
#kuchikomiList ol li dl dt span.age img{width: 35px; height: auto;}
#kuchikomiList ol li dl dt span{padding: 2px;}
#kuchikomiList ol li dl dd{
	padding: 4px;
	text-align: right;
}
#kuchikomiList ol li dl dd a{
	padding: 1px 10px;
	margin-left: 5px;
	display: inline-block;
	border: 1px solid #444546;
	border-radius: 7px;
	text-decoration: none;
	background: #fff;
}

#kuchikomiBtn a,
#kuchikomiBtn input[type="submit"]{
	border: none;
	background: #9393cc;
	color: #fff;
	font-weight: bold;
	font-size: 1.34rem;
	border: 1px solid #9393cc;
}

/* クチコミ投稿
---------------------------------------*/
dl#assess dd div.assessPost{flex: 0 0 200px;}
.assessPost ul{
	display: -webkit-flex;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}
.assessPost ul li{
	display: -webkit-flex;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
	flex: 1 1 20%;
}
.assessPost ul li span{text-indent: -9999px;}
.assessPost input[type="radio"]{display: none;}
.assessPost label{
	cursor: pointer;
	display: block;
	text-indent: -9999px;
	display: -webkit-flex;
	display: flex;
	flex-flow: column wrap;
	justify-content: center;
	align-items: center;
}
.assessPost label > span,
.assessPost label > div{
	padding-left: 0;
	display: block;
	position: relative;
}
.assessPost label .rb{
	content: "";
	width: 12px;
	height: 12px;
	display: block;
	border-radius: 50%;
	background: #f6f8fc;
	border-color: transparent;
	text-indent: -9999px;
	background: #d0d0d0;
}
.assessPost label .rb::before{display: none;}
.assessPost label input:checked + .rb{
	border-width: 3px;
	border-style: solid;
	border-color: #2d92ff;
	background: #fff;
}
.assessPost label input:checked + .rb:after{
	content: '';
	width: 4px;
	height: 4px;
	position: absolute;
	top: 7px;
	left: 2px;
	border-radius: 50%;
	border: 2px solid #2d92ff;
	background: none;
}

#kuchikomiBasis{border-top: 2px solid #d1ccda;}
#kuchikomiBasis li{
	padding: 5px 0;
	text-align: left;
}
#kuchikomiBasis textarea {
	width: 100%;
	height: 6rem;
	padding: 5px 10px;
	resize:vertical;
	font-size: 1rem;
}
#kuchikomiPost{
	padding: 5px;
	margin-bottom: 15px;
	background: #eaf0fc;
	border-radius: 8px;
}
#kuchikomiPost #kuchikomiBasis{border: none;}
.kuchikomiChk{padding: 3px 5px; background: #fff;}

#kuchiCaps{
	width: 80%;
	padding: 5px;
	margin: 10px auto;
	border: 2px solid #f47d80;
	color: #ff3838;
	background: #feefef;
	text-align: left;
	font-weight: bold;
}
#kuchiCaps p{
	padding-left: 1em;
	text-indent: -1em;
}
#kuchikomiInfo .pages{
	margin-top: 10px;
	border-top: 1px solid #333;
}
#postChk{
	padding: 10px;
	margin: 10px 0;
	color: #fff;
	background: #f36b6e;
	text-align: center;
	font-size: 1.17rem;
	font-weight: bold;
}

#kuchikomiSubmit{
	display: -webkit-flex;
	display: flex;
	flex-flow: row nowrap;
}
#kuchikomiSubmit li{
	padding: 5px;
	flex: 1 1 auto;
}
#kuchikomiSubmit li.prev button{
	position: relative;
	border: 1px solid #2d2d2d;
}
#kuchikomiSubmit li.prev button::before{
	content: '';
	width: 8px;
	height: 8px;
	margin-top: -5px;
	border-width: 1px 0 0 1px;
	border-style: solid;
	border-color: #000;
	transform: rotate(-45deg);
	display: block;
	position: absolute;
	top: 50%;
	left: 10px;
}
#kuchikomiSubmit li.prev input{border: 1px solid #2d2d2d;}

#reportWrap{padding: 10px;}
#reportWrap h2{
	background: #eaf0fc;
	padding: 5px;
}
#reportWrap p{padding: 5px 0;}

/* 32 s/xxxx (無料掲載/サービス掲載) -> s/temp_free.html
------------------------------------------------- */
#shopdetail.freead .offerAge,
#shopdetail.srvcad .offerAge{
	padding: 3px 0;
	background: none;
	color: #333;
}
#shopdetail.srvcad #hdinfo h2{color: #333;}
#shopdetail.srvcad #hdinfo p{padding: 0;}
#shopdetail.srvcad #hdinfo p::before{display: none;}

#srvcMsg{
	padding: 10px;
	margin: 10px 0;
	background: #eaf0fc;
	border-radius: 8px;
}
#srvcMsg h5{
	margin-bottom: 10px;
	text-align: center;
}
#srvcMsg .more a{
	background: #f26896;
	color: #fff;
	border: none;
}
#srvcMsg .more a::after{border-color: #fff;}
#srvcRequest dt{
	padding: 3px 0;
	text-align: center;
	border-width: 1px 0;
	border-style: solid;
	border-color: #333;
}
#srvcRequest dd{padding: 5px 0;}
#srvcForms h2{
	padding: 15px 0;
	background: #4c4c6b;
	color: #fff;
	text-align: center;
	font-size: 1.34rem;
	font-weight: normal;
}
#srvcChk li{list-style: disc inside;}
#srvcChk li div{
	padding: 5px 8px;
	margin: 5px 0;
	border-top: 2px dotted #bbb;
}
#srvcCmp{padding: 50px 20px;}
#srvcCmp ul li{
	text-indent: -1em;
	padding-left: 1em;
	margin: 5px 0;
}
#srvcCmp ul li::before{content: '※'; color: #ff3838;}


/* おすすめ枠 追加 20251223
------------------------------*/
.recframe{
	padding: 8px;
	margin: 10px;
	background: #eef3f9;
	border-radius: 8px;
}
.rfHead{
	margin: 5px 0;
	color: #016ee3;
	text-align: center;
	font-weight: bold;
	font-size: 1.17rem;
}
.rfImg{text-align: center;}
.rfImg img{
	width: 100%;
	max-width: 240px;
	height: auto;
}
.rfInfo{
	flex :1 1 auto;
	line-height: 1.4;
	font-size: 1.09rem;
}
.rfInfo .offerAge{font-size: 1.09rem;}
.rfInfo .offerAge span{color: #016ee3;}
.rfInfo .rfCopy{
	font-size: 1.09rem;
	font-weight: bold;
	line-height: 1.2em;
}
.rfInfo h2{color: #016ee3;}
.rfInfo .more{
	padding: 0;
	margin-top: 4px;
	text-align: left;
}
.rfInfo .more a{background: transparent !important;}

#otrRecframe{margin-top: 20px;}
#otrRecframe > p{
	margin: 15px;
	text-align: center;
	font-weight: bold;
	font-size: 1.17rem;
}
#otrRecframe ul{padding: 10px;}
#otrRecframe ul > li{padding: 8px 0;}
#otrRecframe ul > li .card_body{
	gap: 5px;
	justify-content: center;
}
#otrRecframe ul > li .card_body a img{
	width: 100%;
	max-width: 240px;
	height: auto;
}
#otrRecframe ul > li:not(:last-child){border-bottom: 1px solid #ddd;}
#otrRecframe ul > li .offerAge {
	padding: 0 !important;
	text-indent: -10px;
	font-size: 1rem;
}
#otrRecframe ul > li .offerAge span{color: #016ee3;}
#otrRecframe ul > li .rfCopy{
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.2em;
}
#otrRecframe ul > li dl{padding: 5px 0;}
#otrRecframe ul > li dl dt{margin: 0; color: #016ee3;}





/* 33 s/sp-kuchi/report.php
------------------------------------------------- */
#report{text-align: left;}
#repAttntion{margin: 10px 0;}

/* 60 introduction/area_f.php
------------------------------------------------- */
#areacp #wrapper{
	padding: 0;
	margin: 0 auto;
	text-align: center;
}
#areacp #contents{background: #fff;}
#areacp h1{
	width: 100%;
	max-width: 1000px;
	background: url(../img/areacp/areacp_bg.png);
	background-position: 50% 50%;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
#areacp h1 img{
	max-width: 375px;
	width: 100%;
	height: auto;
}
#areacp #contents > div{padding: 25px 5px 5px;}
#areacp > div h2{
	color: #fff;
	background: #54a1f0;
	font-size: 1.15rem;
	padding: 5px;
}
#areacp_disp_cnt > div p{
	color: #555;
	font-weight: bold;
	padding: 15px 10px 10px 0;
}
#areacp_disp_cnt > div img{
	width: 329px;
	height: auto;
}
#areacp_link_cnt > p{
	text-align: left;
	padding: 10px 0;
}
#cp_tbl{
	border: 1px solid #919191;
	border-collapse: collapse;
	text-align: left;
}
#cp_tbl .cp_th,
#cp_tbl .cp_td{
	padding: 10px 5px;
}
#cp_tbl .cp_th{
	background: #f0f0f0;
	font-weight: bold;
	border-bottom: 1px solid #919191;
}
#cp_tbl .cp_th span{
	font-weight: normal;
	font-size: .95rem;
}
#cp_tbl .cp_td:not(:last-child){border-bottom: 1px solid #919191;}
#cp_tbl .cp_td ul{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 5px;
}
#cp_tbl .cp_td ul li:first-child{
	width:100px;
	font-size: .95rem;
}
#cp_tbl .cp_td ul li button{
	border: 1px solid #333333;
	border-radius: 4px;
	background: #fff;
	color: #3b6ff3;
	padding: 5px 0;
	width: 80px;
	box-sizing: border-box;
	cursor: pointer;
}
#cp_tbl .cp_td ul li button:hover{opacity: .7;}


#areacp #linkkitBox{padding-top: 15px;}
#areacp #linkkitBox pre{text-align: left;}
#areacp #linkkitBox pre code{word-break: break-all;}
#areacp #linkkitBox .clipbox{justify-content: center;}
#areacp_rule_cnt ol{counter-reset: listnum;}
#areacp_rule_cnt ol li{
	text-align: left;
	padding: 10px 10px 10px 35px;
	position: relative;
}
#areacp_rule_cnt ol li:not(:last-child){
	border-bottom: 1px dashed #afadac;
}
#areacp_rule_cnt ol li::before{
	width: 24px;
	height: 24px;
	line-height: 24px;
	position: absolute;
	left: 5px;
	top: 7px;
	display: block;
	counter-increment: listnum;
	content: counter(listnum) ".";
	color: #909090;
	text-align: center;
	font-weight: bold;
	border-radius: 5px;
}
#areacp_rule_cnt p{font-size: .95rem;}
#areacp_rule_cnt p a{color: #ca9698; text-decoration: underline;}

#areacp_form h2{margin-bottom: 20px;}
#areaForm h3{
	background: #555;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
	padding: 5px 10px;
	border-radius: 10px 10px 0 0;
}
#areaFormBox{
	padding: 20px 10px;
	border: 1px solid #555;
	border-radius: 0 0 10px 10px;
}

#areaFormBox > div > p:first-child{
	text-align: center;
	margin-bottom: 10px;
}
#areaFormBox > div > p span{font-weight: bold;}
#areaFormBox > #afb_attention{
	width: 100%;
	border: 2px solid #e36f86;
	border-spacing: initial;
}
#areaFormBox > #afb_attention dt{
	color: #fff;
	background: #e36f86;
	font-size: 1.15rem;
	font-weight: bold;
	text-align: center;
}
#areaFormBox > #afb_attention dd{padding: 10px 12px 10px 24px;}
#areaFormBox > #afb_attention dd ul li{
	color: #686868;
	position: relative;
	text-align: left;
}
#areaFormBox > #afb_attention dd ul li:before{
	content: '';
	position: absolute;
	display: block;
	width: 3px;
	height: 3px;
	top: 8px;
	left: -10px;
	border-radius: 5px;
	background: #686868;
}
#areaFormBox > #afb_attention dd ul li:not(:last-child){margin-bottom: 5px;}


#areaTable img{padding: 2px 0 0 2px;}
#areaTable{
	border-top: 1px solid #919191;
	border-bottom: 1px solid #919191;
	margin: 20px 0;
	text-align: left;
}
#areaTable table{width: 100%;}
#areaTable table tr{
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 15px 0;
}
#areaTable table tr:not(:last-child) {border-bottom: 1px dashed #919191;}
#areaTable table tr th{margin-bottom: 5px;}
#areaTable table tr th span{
	color: #fff;
	background: #ff0033;
	padding: 0 5px;
	border-radius: 6px;
	font-size: .75rem;
	font-weight: normal;
	display: inline-block;
	margin-left: 5px;
}
#areacp .addition {
	border: none !important;
	padding: 15px 0 0;
}
#areacp .addition td{
	display: block;
	width: 100%;
}
#areacp .addition td table{
	background: #f0f0f0;
	border-spacing: initial;
	border-collapse: collapse;
}
#areacp .addition td table tr{
	padding: 10px;
}
#areaTable table tr input[type="text"], #areaTable table tr textarea {
	border: 1px solid #7f9db9;
	border-radius: 6px;
}
.areaDel {
	background: #f0f0f0;
	padding: 0 10px 10px;
	text-align: right;
}
.areaDel a {
	display: inline-block;
	color: #fff;
	background: #555;
	padding: 5px 15px;
	font-weight: bold;
	text-decoration: none;
	border-radius: 5px;
}
#areaAdd a {
	color: #fff;
	background: #54a1f0;
	border: 1px solid #3285da;
	font-size: 1.15rem;
	font-weight: bold;
	border-radius: 6px;
	padding: 5px 10px;
	text-decoration: none;
}
#areacp #checkBtns {margin: 0 auto;}
#areaFormBox input[type="submit"] {
	color: #1c1c1c;
	background: #d8dadd;
	border: 1px solid #8e9499;
	border-radius: 6px;
	padding: 10px 70px;
	margin: 0 auto 10px;
	text-align: center;
	cursor: pointer;
	text-indent: 0;
	width: 100%;
	line-height: unset;
}
#areacp small{
	font-size: .63rem;
	color: #90854e;
	text-align: center;
	padding: 20px 0 15px;
	display: block;
}
#areacp small a{
	color: #90854e;
	text-decoration: none;
}

/* 61 introduction/banner_design.html
------------------------------------------------- */
#bn_service .pagehead{border-bottom: 1px solid #d1ccda;}
#bn_service h3{
	padding: 15px 0;
	font-size: 1.67rem;
	text-align: center;
}
#bn_service h3 span{color: #ff7d1d;}
#bn_service h4{
	padding: 5px 0;
	text-align: center;
	font-weight: normal;
	font-size: 1.34rem;
	border-width: 1px 0;
	border-style: solid;
	border-color: #838383;
}
#servicelist{
	display: -webkit-flex;
	display: flex;
	flex-flow: column;
	gap: 5px;
}
#servicelist > li{
	flex:0 1 33%;
	border: 1px solid #a2acb2;
}
#servicelist li > dl > dt{
	font-size: 1.58rem;
	text-align: center;
	font-weight: bold;
	color: #fff;
	display: -webkit-flex;
	display: flex;
	gap:4px;
	justify-content: center;
	align-items: center;
}
#servicelist li > dl > dt img{width: 78px; height: auto;}
#servicelist li > dl > dd{
	padding: 10px;
	text-align: center;
}
#servicelist li#svc_bsc > dl > dt{background: #f2952f;}
#servicelist li#svc_std > dl > dt{background: #5ea442;}
#servicelist li#svc_prm > dl > dt{background: #437bc1;}
#servicelist li > dl > dd p{
	padding: 5px 0;
	font-weight: bold;
}
#servicelist li > dl > dd > p:first-child{border-bottom: 1px solid #abb4ba;}
#servicelist li > dl > dd div{
	padding: 3px 5px;
	border: 2px solid #e1e1e2;
	background: #f3f1f5;
	text-align: left;
	font-size: .93rem;
}
#servicelist li > dl > dd div p{padding: 0;}
#servicelist li > dl > dd div ul li{list-style: disc inside;}

#servicelist li > dl > dd dl{
	border-width: 2px;
	border-style: solid;
}
#servicelist li > dl > dd dl dt{padding: 2px 0;}
#servicelist li > dl > dd dl dt span{
	padding: 2px 20px;
	font-size: 1.24rem;
	line-height: 1;
	font-weight: bold;
	color: #fff;
	border-radius: 1rem;
	display: inline-block;
}
#servicelist li > dl > dd dl dt{padding: 2px 10px;}
#servicelist li > dl > dd dl dd{padding: 3px 0;}
#servicelist li > dl > dd dl dd ul{
	padding-left: 1.5rem;
	text-align: left;
	font-size: .93rem;
}
#servicelist li > dl > dd dl dd ul li{list-style: disc outside; font-weight: bold;}
#servicelist li > dl > dd dl dd ul li.nonlist{list-style: none; font-weight: normal;}

#servicelist li#svc_std > dl > dd dl{border-color: #b1d9a0;}
#servicelist li#svc_prm > dl > dd dl{border-color: #bed8f2;}
#servicelist li#svc_std > dl > dd dl dt{background-color: #b1d9a0;}
#servicelist li#svc_prm > dl > dd dl dt{background-color: #bed8f2;}
#servicelist li#svc_std > dl > dd dl dt span{background-color: #5ea442;}
#servicelist li#svc_prm > dl > dd dl dt span{background-color: #437bc1;}

#servicelist li#svc_std > dl > dd dl dd ul li span{color: #5ea442;}
#servicelist li#svc_prm > dl > dd dl dd ul li span{color: #437bc1;}
ul.disc{
	margin: 15px 0;
	list-style: disc inside;
}

#bnr_service{
	margin: 15px 0;
	text-align: center;
}
#bnr_service a{
	padding: 10px 20px;
	border-radius: 8px;
	color: #fff;
	background: #ff7d1d;
	box-sizing: border-box;
	text-decoration: none;
	font-size: 1.15rem;
	font-weight: bold;
	display: inline-block;
	-webkit-box-shadow: 0	3px	#ebebeb;
	box-shadow: 0	3px	#ebebeb;
}
#bnr_service a span{
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	align-items: center;
	gap :5px;
	pointer-events: none;
}
#bnr_service a span::before{
	content: '';
	display: block;
	width: 28px;
	height: 18px;
	background-image: url(../img/intro/service_mail_icon.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
}




@media screen and (max-width: 374px) {
	#prmFunc li{padding: 5px 3px;}
	#prmFunc li a{
		padding:15px 20px 15px 10px;
		font-size: 1rem;
	}
}

/* 62 exp/
------------------------------------------------- */
#expTop,
#exp.expPage,
#expForm.expPage{
}
#expTop{
}
.expHead,
.expPageHead{
	text-align: center;
}
.expHead .sub,
.expPageHead .sub{
	margin-bottom: 12px;
	font-family: "Times New Roman", serif;
	font-style: italic;
	font-size: 2rem;
	color: #b9937b;
}
.expHead h2,
.expPageHead h2{
	margin-bottom: 20px;
	font-size: 3.8rem;
	font-weight: 500;
	letter-spacing: .08em;
}
.expCont{
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	padding: 20px 10px;
	background: #f6e7e6;	
}
.expCont:has(.expComplete){
	background: none;	
}
#exp .expCont{
	padding: 40px 20px 20px;
}
.expCont ul{
	margin-bottom: 20px;
}
.expCard,
.expListWrap,
.expDetailWrap{
	margin: 0 auto;
	padding: 20px;
	color: #909090;
	background: #fff;
	border-radius: 10px;
}
.expComplete{

}
.expTopList li,
.expItem{
	border-bottom: 1px solid #e6d9dc;
}
.expTopList a,
.expItem a{
	position: relative;
	display: block;
	padding: 15px 30px 15px 0;
	text-decoration: none;
	color: #909090;
}
.expTopList .meta,
.expItem .meta,
.expDetailWrap .meta{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	font-size: 1em;
	color: #8f8782;
}
.expTopList .new,
.expItem .new,
.expDetailWrap .new{
	padding: 2px 5px;
	border: 1px solid #b59768;
	border-radius: 3px;
	font-size: .85em;
	line-height: 1.1;
	color: #b59768;
}
.expTopList .title,
.expItem .title,
.expDetailWrap h2{
	margin-bottom: 15px;
	font-size: 1.4em;
	color: #444;
}
.expTopList .quote,
.expItem .quote{
	margin-bottom: 10px;
	font-size: 1.2em;
}
.expTopList .quote span,
.expItem .quote span{
	color: #c99b9c;
}
.quoteBody{
	font-size: 1.2em;
	line-height: 1.3;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.expTopList .arrow,
.expItem .arrow{
	position: absolute;
	top: 50%;
	right: 0;
	width: 8px;
	height: 8px;
	margin-top: -7px;
	border-top: 1px solid #c8acb2;
	border-right: 1px solid #c8acb2;
	transform: rotate(45deg);
}
.expEmpty{
	padding: 32px 20px;
	text-align: center;
	font-size: 1.4rem;
	line-height: 2;
	color: #8a7c80;
}
.expTopEmpty{
	min-height: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.expListEmpty{
	padding: 48px 20px;
}
.expOut{padding: 40px 10px 60px;}
.expCard .viewMore,
.expPage .postBtn,
.expComplete .postBtn,
.expPage .backBtn{
	text-align: center;
}
.expCard .viewMore a,
.expPage .postBtn a,
.expComplete .postBtn a{
    min-width: 200px;
	width: min(60%, 500px);
    padding: 10px 20px;
	display: inline-block;
	border: 1px solid #c99b9c;
	border-radius: 100px;
	text-decoration: none;
	color: #c99b9c;
	background: #fff;
}
.expPage .backBtn a{
    min-width: 200px;
	width: min(60%, 500px);
    padding: 10px 20px;
	display: inline-block;
	border: 1px solid #d2d2d2;
	border-radius: 100px;
	text-decoration: none;
	color: #444;
	background: #fff;
	font-size: 1.2em;
}
.expCard .viewMore a span{
	display: flex;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.expCard .viewMore a span:after{
	content: '';
	width: 12px;
	height: 6px;
	background-image: url(../img/icon/icn_arr_vm_r.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	-webkit-background-size: 12px 6px;
	background-size: 12px 6px;
	display: inline-block;
}
#expTop .postBtn{
	text-align: center;
	margin: 20px auto 10px;
}
#expTop .postBtn a,
.expPage .postBtn a{
	width: min(80%, 570px);
	display: inline-block;
	font-size: 1.35em;
	color: #fff;
	background: #c99b9c;
	border-color: #c99b9c;
	padding: 20px 50px;
	border-radius: 50px;
	box-sizing: border-box;
}
.expItem .summary,
.expDetailWrap .expBody,
.expFormLead p,
.expComplete p{
	line-height: 2;
	font-size: 1.2em;
	color: #444;
}
.expItem .summary{
	margin-top: 10px;
	font-size: 1.6rem;
	color: #666;
}
.expItem .source{
	margin-top: 8px;
	font-size: 1.4rem;
	color: #8a7c80;
}
.expExt{
	position: relative;
	display: inline-block;
	padding-top: 5px;
}
.expPager{
	margin-top: 30px;
	display: flex;
	justify-content: center;
	gap: 10px;
}
.expPager a,
.expPager span{
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: #7d7070;
}
.expPager span{
	background: #c9949e;
	color: #fff;
}
.expDetailWrap .author{
	margin: 15px 0 25px;
	padding-bottom: 20px;
	border-bottom: 1px dashed #b2b2b2;
	font-size: 1.2em;
	color: #444;
}
.expFormLead{
	max-width: 900px;
	margin: 0 auto 30px;
	padding: 0 20px;
}
.expFormBox dl{
	padding: 18px 0;
}
.expFormBox dl:not(:last-of-type){
	border-bottom: 1px dashed #aca4a3;
}
.expFormBox dl:last-of-type{
	border-bottom: 1px solid #aca4a3;
}
.expFormBox dt{
	margin-bottom: 10px;
	font-size: 1.2em;
	font-weight: normal;
}
.expFormBox input[type="text"],
.expFormBox textarea,
.expFormBox select{
	width: 100%;
	box-sizing: border-box;
}
.expFormBox textarea{
	height: 280px;
}
.expCounter{
	margin-top: 10px;
	text-align: right;
	font-size: 1.2em;
	color: #8a7c80;
}
.expFormBox .agree{
	padding: 20px 0;
	text-align: center;
	font-size: 1.2em;
}
.expFormBox .agree label{
	display: inline-block;
}
.expTermsLink{
	color: #026cdc;
	text-decoration: underline;
}
.expFormBox.confirm dd{
	line-height: 2;
	font-size: 1.2em;
}
.expFormBox .submitBtn.double{
}
.expFormBox .submitBtn.double .back{
	min-width: 260px;
	padding: 10px 20px;
	border: 1px solid #cdbfc2;
	border-radius: 30px;
	background: #fff;
	color: #7d7070;
}
.expFormBox .submitBtn button,
.expFormBox .submitBtn input[type="submit"],
.expFormBox .submitBtn input[type="button"] {
	width: 80%;
	min-width: 200px;
	margin: 0 auto 10px;
}
