@charset "utf-8";

.slnDetailContents {
	border-top: 1px solid #E0E1E2;
}

/* 追従ボタン */
.slnReserveFollowingWrap {
	background-color: #F5F3F1;
	bottom: 0;
	box-sizing: border-box;
	left: 0;
	opacity: 0;
	padding: 12px 16px;
	position: fixed;
	-webkit-transition: opacity 0.3s;
	transition: opacity 0.3s;
	width: 100%;
	z-index: 2;
}
/* for iOS15 Safari */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	_::-webkit-full-page-media, _:future, :root .slnReserveFollowingWrap {
		padding-bottom: calc(10px + env(safe-area-inset-bottom));
	}
}
.slnReserveFollowingWrap.isShow {
	opacity: 1;
}

/* 販売店情報ヘッダ */
.detailHeaderShopInfo {
	background-color: #F5F3F1;
	padding: 16px 16px 0;
}
.slnHeaderInfoItems {
	display: flex;
	gap: 16px;
	justify-content: space-between;
	position: relative;
}
.detailHeaderShopInfo .icnSalonMap {
	margin-left: 8px;
}
.detailHeaderShopInfoSearch {
	padding: 10px;
	background: #F6F5EC;
}
.detailTitle {
	font-size: 16px;
	word-break: break-all;
}
.slnDetailContents .detailTitle  {
	color: #333333;
}
.detailTitleRubi {
	color: #9E887B;
	font-size: 10px;
	font-weight: normal;
	line-height: 1;
	margin-top: 8px;
	word-break: break-all;
}
.detailPankuzu {
	color: #9A8376;
}
.detailPankuzu li {
	float: left;
}
.detailPankuzu li:after {
	content: " > ";
}
.detailPankuzu li:last-child:after {
	content: "";
}
.detailHeaderShopInfo .salonOptionIconList {
	margin-top: 6px;
}
.slnHeaderKuchikomi {
	align-items: center;
	display: flex;
	margin-top: 12px;
}
.onlinePayInfo ~ .slnHeaderKuchikomi {
	margin-top: 8px;
}
.slnHeaderKuchikomiPoint {
	color: #C43357;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
}
.slnHeaderKuchikomiPoint.isDisabled {
	color: #333333;
}
.slnHeaderKuchikomiStar {
	background: url(/CSP/img/svg/sp/icon_kuchikomi_star_off.svg?switch=2025062510) 0 / 16px;
	height: 16px;
	margin-left: 4px;
	width: 80px;
}
.slnHeaderKuchikomiStar.isDisabled {
	margin-left: 8px;
}
.slnHeaderKuchikomiStar::after {
	background: url(/CSP/img/svg/sp/icon_kuchikomi_star_on_bt.svg?switch=2025062510) 0 / 16px;
	content: "";
	display: block;
	height: 100%;
	width: 0;
}
.slnHeaderKuchikomiStar[data-kuchikomi-star="1.0"]::after { width: 16px }
.slnHeaderKuchikomiStar[data-kuchikomi-star="1.5"]::after { width: 24px }
.slnHeaderKuchikomiStar[data-kuchikomi-star="2.0"]::after { width: 32px }
.slnHeaderKuchikomiStar[data-kuchikomi-star="2.5"]::after { width: 40px }
.slnHeaderKuchikomiStar[data-kuchikomi-star="3.0"]::after { width: 48px }
.slnHeaderKuchikomiStar[data-kuchikomi-star="3.5"]::after { width: 56px }
.slnHeaderKuchikomiStar[data-kuchikomi-star="4.0"]::after { width: 64px }
.slnHeaderKuchikomiStar[data-kuchikomi-star="4.5"]::after { width: 72px }
.slnHeaderKuchikomiStar[data-kuchikomi-star="5.0"]::after { width: 80px }
.slnHeaderKuchikomiCount {
	color: #6D6D6D;
	font-size: 10px;
}

/* ブックマークアイコン */
.saveToMySalonBtn {
	background: url(/CSP/img/svg/sp/icon_bookmark_off.svg?switch=2025062510) #FFFFFF center / 22px no-repeat;
	border: 1px solid #E0E1E2;
	border-radius: 50%;
	box-sizing: border-box;
	display: block;
	height: 40px;
	position: relative;
	width: 40px;
}
.saveToMySalonBtn::before {
	content: "";
	height: 44px;
	left: -3px;
	position: absolute;
	top: -3px;
	width: 44px;
}
.saveToMySalonBtn.isActive {
	background-image: url(/CSP/img/svg/sp/icon_bookmark_on_bt.svg?switch=2025062510);
}

/* サロン個社スタイル絞込み */
.detailHeaderShopInfoCondition {
	padding: 15px 10px 10px;
	background: #F6F5EC;
	border-bottom: 2px solid #917979;
}

.detailBodyShopInfo {
	padding-bottom: 40px;
	border-bottom: 2px solid #D36985;
}
.salonPhotoListOuter {
	padding: 10px;
	background:#333333;
}
.salonPhotoListInner {
	width: 288px;
	height: 224px;
	margin: 0 auto;
	overflow: hidden;
}
.salonPhotoList {
	display: inline-block;
	white-space: nowrap;
	-webkit-transition-property: -webkit-transform;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: ease-out;
	-webkit-transform: translate3d(0px,0px,0px);
}
.salonPhotoList li {
	position: relative;
	display: inline-block;
	background-size: contain;
}
.salonPhotoList li,
.salonPhotoList img {
	width: 300px;
	height: 225px;
}
.salonPhotoPointList {
	text-align: center;
	margin-top: 5px;
}
.salonPhotoPointList li {
	display: inline-block;
	width: 1em;
	height: 1em;
	line-height: 1;
	margin-right: 10px;
	background-color: #999999;
	border-radius: 6px;
}

.salonPhotoPointList .current {
	background-color: #EEEEEE;
}
.swichPanel {
	padding: 5px 0;
	text-align: center;
	width: 290px;
	margin: 0 auto;
}
/* クーポン */
.typeList { display:table-cell; font-size: 10px; vertical-align: middle; }
.typeList dt { display: table-cell; padding-right: 3px; vertical-align: middle; }
.typeList dd { display: table-cell; text-align: left; vertical-align: middle; }

.couponDetailBoxWrapper {
	background-color: #666666;
	padding: 10px 10px 15px;
}
.couponDetailBox {
	border-radius: 10px;
	background-color: #9C3A4A;
	color: #FFFFFF;
	padding: 10px;
}
.couponActionBox {
	border-radius: 10px;
	background-color: #FFFFFF;
	color: #666666;
	padding: 10px;
}

/* メニュー */
.bgMenuPrice {
	min-width: 40px;
	font-size: 14px;
	text-align: right;
	white-space: nowrap;
}

/* クーポン画面用アイコン */
.iconCouponTypeCT02 {
	display: block;
	border: 2px solid #AF51AF;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	color: #AF51AF;
	font-size: 10px;
	font-weight: bold;
	background-color: #FFFFFF;
}
.iconCouponTypeCT03 {
	display: block;
	border: 2px solid #5E6EDD;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	color: #5E6EDD;
	font-size: 10px;
	font-weight: bold;
	background-color: #FFFFFF;
}
.iconCouponTypeCT01 {
	display: block;
	border: 2px solid #FF6666;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	color: #FF6666;
	font-size: 10px;
	font-weight: bold;
	background-color: #FFFFFF;
}

/* サロンからのメッセージ */
.msgFromSalon {
	border: 1px solid #CCC;
}

.listHeader {
	padding: 8px 10px;
	color: #FFFFFF;
	background: #444444;
}
.listHeader dt {
	position: relative;
	z-index: 10;
	min-width: 7.1em;
	background-color: #FEFEFE;
	color: #632523;
	font-size: 10px;
	line-height: 18px;
	padding: 0 2px 0 9px;
	border-radius: 2px 0 0 2px;
	margin-right: 15px;
}
.listHeader dt:after {
	content: '';
	display: block;
	position: absolute;
	z-index: -1;
	top: 2px;
	right: -7px;
	width: 14px;
	height: 14px;
	background-color: #FEFEFE;
	-webkit-transform: rotate(45deg) scale(.95);
}
.listHeader dt,
.listHeader dd {
	margin-bottom: 1px;
}
.listSubHeader {
	background-color: #F6F6F6;
	padding: 16px;
}
.listSubHeaderCount {
	color: #333333;
	font-size: 11px;
}
.listSubHeaderCount > em {
	color: #C43357;
	font-size: 16px;
	font-style: normal;
	font-weight: bold;
}
.listSubHeaderBlogItem {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-top: 12px;
}
.listNumberBox {
	position: relative;
	background-color: #f0eddd;
	padding: 3px 10px;
}
.listNumberBox:after {
	content: '';
	position: absolute;
	left: 20px;
	bottom: -6px;
	display: block;
	width: 0;
	height: 0;
	border-top: 6px solid transparent;
	border-right: 6px solid #f0eddd;
	border-bottom: 6px solid #f0eddd;
	border-left: 6px solid transparent;
	-webkit-transform: rotate(45deg);
}

.changeSearchRule {
	height: 30px;
}

.changeSearchRule > a {
	display: table-cell;
	vertical-align: middle;
	padding: 0 4px;
	width: 50px;
	height: 30px;
	white-space: nowrap;
	line-height: 30px;
	font-size: 10px;
	color: #3A2C1E !important;
	text-align: center;
	text-decoration: none;
	border-radius: 8px;
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		from(#FFFFFF),
		to(#DEDEDE),
		color-stop(0.6, #FFFFFF)
	);
	border-top: 1px solid #737373;
	border-bottom: 1px solid #BBB8B9;
	border-left: 1px solid #737373;
	border-right: 1px solid #BBB8B9;
	-webkit-box-sizing: border-box;
}

.narrowdownPanel {
	border-radius: 10px 10px 0 0;
	webkit-box-shadow: 1px 1px 0 0 #CCCCCC;
}

.narrowdownPanelTitle {
	padding-bottom: 2px;
	border-bottom: 1px dotted #DDDDDD;
	font-weight: bold !important;
	font-size: 14px;
}

.narrowdownPanelTitle:before {
	content: '';
	display: inline-block;
	width: 5px;
	height: 1em;
	background-color: #FFFFFF;
	margin-right: 5px;
}

.narrowdownList {
	border-radius:0 0 10px 10px;
	border: solid #BFB9B0;
	border-width: 1px 1px 2px 1px;
}

.toBlogList {
	left: 50%;
	margin-left: -46px;
	position: absolute;
}

.styleCassette {
	margin-top: 10px;
	border-radius: 10px;
	border: 1px solid #CCC;
}
.styleCassette:first-child {
	margin-top: 0;
}
.styleCassette > div {
	padding: 8px 6px;
	background-color: #FFFDEE;
	border-radius: inherit;
}

.subStyleCassette {
	margin-top: 10px;
	border: solid #BFB9B0;
	border-width: 1px 1px 1px 1px;
	border-radius: 10px;
}
.subStyleCassette:first-child {
	margin-top: 0;
}

.subStyleCassette > div {
	padding: 8px 6px;
	background-color: #F6F6F6;
	border-radius: inherit;
}

.imageCasetteWrapper > ul {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	width: 300px;
}

.imageCasetteWrapper > ul li {
	float: left;
	width: 100px;
}

@media screen and (min-width: 620px) {
	.imageCasetteWrapper > ul {
		width: 600px;
	}
}

.reviewList {
	padding: 0 8px;
}

.reviewList > li,
.reviewCasetteWrapper {
	border: 1px solid #CCCCCC;
	border-radius: 10px;
	margin-top: 20px;
}

.stylistReviewList > li:first-child {
	margin-top: 10px;
}

.reviewList > li:last-child {
	margin-bottom: 20px;
}

.blogListCassette > li {
	border-top: 1px solid #E0E1E2;
	color: #333333;
	padding: 16px 36px 16px 16px;
	position: relative;
}
.blogListCassette > li:last-child {
	border-bottom: 1px solid #E0E1E2;
}
.blogListCassette > li::after {
	background: url(/CSP/img/svg/sp/icon_arrow_right_gray.svg?switch=2025062510) center / contain;
	content: "";
	height: 20px;
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}
.blogListCassette > li > a {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.blogListContents {
	display: flex;
}
.blogListImgWrap {
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	box-sizing: border-box;
	flex-shrink: 0;
	height: 120px;
	margin-right: 12px;
	overflow: hidden;
	position: relative;
	width: 120px;
}
.blogListImgWrap img {
	left: 50%;
	max-height: 118px;
	max-width: 118px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}
.blogListInfoWrap {
	min-width: 0;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
.blogListTtl {
	font-size: 14px;
	margin-top: 4px;
}
.blogListPoster {
	display: flex;
}
.blogListPoster > span:last-child {
	min-width: 0;
}
.stylistDetailCassette {
	margin: 1px 4px 2px 4px;
	border: 1px solid #BFB9B0;
	border-radius: 10px;
}

.stylistDetailCassette > div {
	padding: 8px 6px;
	background-color: #FFFDEE;
	border-radius: inherit;
}

.arrowTitle {
	margin-top: -12px !important;
}

.arrowTitleBd {
	border-top: 1px solid #D36985;
}

.arrowTitle > p, .arrowTitle > p span {
	float:left;
	height:24px;
	line-height:24px;
	position:relative;
	font-size:11px;
}

.arrowTitle > p span {
	margin-right:20px;
	width: 230px;
	padding:0 10px 0 12px;
	background:#D36985;
	color:#fff;
}

.arrowTitle > p span:after {
	content:"";
	float:left;
	position:absolute;
	top:0;
	right:-12px;
	width:0;
	height:0;
	border-color:transparent transparent transparent #D36985;
	border-style:solid;
	border-width:12px 0 12px 12px;
}

.icnScissors {
	padding-left: 20px;
	background: url(/CSP/img/bt/smb/icons/icn_scissors.png?switch=2025062510) no-repeat 0 0;
}


.icnFaceType {
	width: 48px;
	height: 48px;
	text-indent: -9999px;
}
.icnMaruOn {
	background: url(/CSP/img/bt/smb/icons/icn_maru_on.png?switch=2025062510) no-repeat 0 0;
}
.icnMaruOff {
	background: url(/CSP/img/bt/smb/icons/icn_maru_off.png?switch=2025062510) no-repeat 0 0;
}
.icnTamagoOn {
	background: url(/CSP/img/bt/smb/icons/icn_tamago_on.png?switch=2025062510) no-repeat 0 0;
}
.icnTamagoOff {
	background: url(/CSP/img/bt/smb/icons/icn_tamago_off.png?switch=2025062510) no-repeat 0 0;
}
.icnShikakuOn {
	background: url(/CSP/img/bt/smb/icons/icn_shikaku_on.png?switch=2025062510) no-repeat 0 0;
}
.icnShikakuOff {
	background: url(/CSP/img/bt/smb/icons/icn_shikaku_off.png?switch=2025062510) no-repeat 0 0;
}
.icnGyakusankakuOn {
	background: url(/CSP/img/bt/smb/icons/icn_gyakusankaku_on.png?switch=2025062510) no-repeat 0 0;
}
.icnGyakusankakuOff {
	background: url(/CSP/img/bt/smb/icons/icn_gyakusankaku_off.png?switch=2025062510) no-repeat 0 0;
}
.icnBaseOn {
	background: url(/CSP/img/bt/smb/icons/icn_base_on.png?switch=2025062510) no-repeat 0 0;
}
.icnBaseOff {
	background: url(/CSP/img/bt/smb/icons/icn_base_off.png?switch=2025062510) no-repeat 0 0;
}


.changeButtonWrapper > li {
	display: inline-block;
}

.changeButtonWrapper > li a {
	display: block;
	height: 30px;
	width: 80px;
	border: 1px solid #DDDDDD;
	-webkit-border-radius: 3px;
	vertical-align: middle;
	line-height: 30px;
	color: #666666;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		from(#FFFFFF),
		to(#E1E1E1),
		color-stop(0.25, #FFFFFF)
	);
	border:1px solid #a29697;
	-webkit-box-sizing: border-box;
}

.changeButtonWrapper > li.currentButton a {
	height: 32px;
	width: 80px;
	border: none;
	-webkit-border-radius: 4px;
	line-height: 32px;
	color: #666666;
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		from(#F9BDBB),
		to(#FACAC9),
		color-stop(.5, #FAC4C2)
	);
	-webkit-box-shadow: inset 1px 2px 5px 0 #86283D, inset -1px 0px 1px 0 #86283D;
	-webkit-box-sizing: border-box;
}

/* polaroid */

.imgChangeArea {
	position: relative;
	width: 293px;
	height: 373px;
	margin-right: auto;
	margin-left: auto;
}

.imgChangeAreaFirst {
	margin-left: 9px;
	width: 270px;
	height: 359px;
	border: 1px solid #D7D7D7;
	-webkit-box-shadow: 0px 0px 6px #CCC;
	-webkit-transform: rotate(3deg);
	background: #FFFFFF;
	z-index: 1;
}

.imgChangeAreaSecond {
	margin-top: -357px;
	margin-right: 8px;
	width: 270px;
	height: 359px;
	border: 1px solid #D7D7D7;
	-webkit-box-shadow:0px 0px 6px #CCC;
	-webkit-transform: rotate(-3deg);
	background: #FFFFFF;
	z-index: 5;
}

.imgChangeAreaLast {
	margin-top: -359px;
	width: 270px;
	height: 359px;
	border: 1px solid #D7D7D7;
	-webkit-box-shadow:0px 0px 6px #CCC;
	-webkit-transform: rotate(0deg);
	background: #FFFFFF;
	z-index: 10;
}

.imgChangeAreaLast img {
	border: 1px solid #EAEAEA;
	margin: 10px 0 0 10px;
	z-index: 15;
}

/* add start */

.imgChangeArea > li {
	position: absolute;
	width: 270px;
	height: 359px;
	border: 1px solid #D7D7D7;
	background: #FFFFFF;
	-webkit-box-shadow: 0 0 6px #CCCCCC;
}
.imgChangeArea > li img {
	margin: 10px 0 0 10px;
	border: 1px solid #EAEAEA;
}

.imgChangeArea > li:first-child {
	-webkit-transform: rotate(0deg);
	top: 6px;
}

.imgChangeArea > li:nth-child(2) {
	-webkit-transform: rotate(3deg);
	left: 9px;
}

.imgChangeArea > li:last-child {
	-webkit-transform: rotate(-3deg);
	top: 4px;
}

.currentArea {
	z-index: 15;
}

.currentArea > img{
	z-index: 20;
}
/* add end */
/* polaroid */

.hairStyleHeadline {
	margin-right: 18px;
	background: #CCC;
}
.hairStyleHeadline h3 {
	padding: 6px 10px;
	background: url("/CSP/img/bt/smb/bg_title_hair_style.gif?switch=2025062510") repeat #F79BB3;
	-webkit-border-bottom-right-radius: 30px 10px;
	-webkit-box-shadow: inset -20px -20px 10px -20px rgba(0, 0, 0, 0.2);
	color: #FFF;
}


.reviewListHeader {
	position: relative;
	border-bottom: 2px solid #AA3355;
	background: #FFF8EB;
	-webkit-border-radius: 10px 10px 0 0;
}

.reviewListOldHeader {
	position: relative;
	border-bottom: 2px solid #AA3355;
}

.openSalonCommentBtn {
	background-color: #F4F4F4;
	border-radius: 0 0 10px 10px;
	padding: 10px;
	position: relative;
}

.openSalonCommentBtn.isOpened {
	background-color: transparent;
	border-radius: 0;
	padding-bottom: 0;
}

.openSalonCommentBtn::after {
	border: solid #AB9C84;
	border-width: 0 3px 3px 0;
	content: "";
	display: block;
	height: 6px;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	transform-origin: top;
	width: 6px;
}

.openSalonCommentBtn.isOpened::after {
	content: none;
}

.openSalonCommentBtn + .salonCommentWrapper {
	display: none;
}

.salonComment {
	background: #EEECE1;
	border: 1px solid #D8D8D8;
	border-radius: 4px;
	color: #000000;
	font-size: 12px;
	padding: 10px;
	position: relative;
}

.salonComment:before {
	content: "";
	position: absolute;
	top: -13px;
	left: 6px;
	width: 0;
	height: 0;
	border-color: transparent transparent  #d8d8d8 transparent;
	border-style: solid;
	border-width: 0 7px 12px 8px;
}

.salonComment:after {
	content: "";
	position: absolute;
	top: -12px;
	left: 6px;
	width: 0;
	height: 0;
	border-color: transparent transparent  #EEECE1 transparent;
	border-style: solid;
	border-width: 0 6px 12px 8px;
}

.icnReport {
	height: 27px;
	line-height: 27px;
	padding-left: 30px;
	background: url("/CSP/img/bt/smb/icons/icon_report.gif?switch=2025062510") no-repeat 0 0 / 27px 27px;
}

.icnReportPickUp {
	height: 27px;
	line-height: 27px;
	padding-left: 30px;
	background: url("/CSP/img/bt/smb/icons/icon_report_pickup.gif?switch=2025062510") no-repeat 0 0 / 27px 27px;
}

.titlePickup {
	background: url("/CSP/img/bt/smb/icons/icon_pickup_title.svg?switch=2025062510") no-repeat center / contain;
	height: 16px;
	left: 16px;
	overflow: hidden;
	position: absolute;
	text-indent: 100%;
	top: -8px;
	white-space: nowrap;
	width: 85px;
}

.reviewPickUp {
	background: #FFEEC8;
}

.icnSalonReply {
	height: 18px;
	line-height: 18px;
	padding-left: 20px;
	margin-left: 2px;
	padding-bottom: 5px;
	background: url("/CSP/img/bt/smb/icons/icn_salon_reply.png?switch=2025062510") no-repeat 0 0 / 18px 19px;
}

.icnReply {
	height: 20px;
	line-height: 20px;
	padding-left: 20px;
	padding-bottom: 5px;
	background: url("/CSP/img/bt/smb/icons/icn_reply.png?switch=2025062510") no-repeat 0 0;
}

.listBottom .prevIcon, .listBottom .nextIcon {
	position: absolute;
	text-decoration: none;
	text-indent: -9999px;
}

.listBottom .prevIcon {
	background: url("/CSP/img/bt/smb/icons/icn_link_back.gif?switch=2025062510") no-repeat 0 0;
}

.listBottom .nextIcon {
	background: url("/CSP/img/bt/smb/icons/icn_link.gif?switch=2025062510") no-repeat 0 0;
}


/*追加*/

.blogDetailCassette {
	overflow-wrap: break-word;
	padding: 0 16px;
	word-wrap: break-word;
}
.blogCouponAttText {
	border: 1px solid #CFCAC1;
	font-weight: bold;
	padding: 15px 0;
	text-align: center;
}
.blogCategory {
	box-sizing: border-box;
	display: inline-block;
	font-size: 10px;
	line-height: 16px;
	padding: 0 8px;
	text-align: center;
	width: 106px;
}
.blogDetailTtl {
	color: #333333;
	font-size: 14px;
	font-weight: bold;
}
.blogDetailDate {
	color: #6D6D6D;
	font-size: 11px;
}
.blogDetailImg {
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	box-sizing: border-box;
	margin: 24px auto;
	width: 260px;
}
.blogDetailImg > img {
	border-radius: 4px;
	width: 100%;
}
.blogDetailText {
	border-top: 1px solid #E0E1E2;
	color: #333333;
	margin-top: 12px;
	padding-top: 12px;
}
.blogDetailContributor {
	display: flex;
	justify-content: space-between;
}
.blogDetailContributor > div + div {
	flex: 1;
	min-width: 0;
}
.blogDetailContributor > h3 {
	min-width: 0;
}
.blogDetailContributorImg {
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	box-sizing: border-box;
	height: 142px;
	position: relative;
	width: 106px;
}
.blogDetailContributorImg > img {
	border-radius: 4px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 104px;
}
.blogDetailPaging {
	background-color: #FFFFFF;
	border-bottom: 1px solid #E0E1E2;
	border-top: 1px solid #E0E1E2;
	display: flex;
	justify-content: space-between;
}
.blogDetailPaging > li {
	position: relative;
	width: calc(100% / 3);
}
.blogDetailPaging > li + li::before {
	background-color: #E0E1E2;
	content: "";
	height: 28px;
	left: 0;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
}
.blogDetailPagingLink {
	display: block;
	font-weight: bold;
	line-height: 44px;
	position: relative;
	text-decoration: none;
}
span.blogDetailPagingLink {
	opacity: 0.3;
}
.blogDetailPaging > li:first-child > .blogDetailPagingLink {
	color: #333333 !important;
	padding-left: 32px;
}
.blogDetailPaging > li:nth-of-type(2) > .blogDetailPagingLink {
	text-align: center;
	text-decoration: underline;
}
.blogDetailPaging > li:last-child > .blogDetailPagingLink {
	color: #333333 !important;
	padding-right: 32px;
	text-align: right;
}
.blogDetailPagingLink::before {
	content: "";
	height: 14px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 14px;
}
.blogDetailPaging > li:first-child > .blogDetailPagingLink::before {
	background: url(/CSP/img/svg/sp/icon_arrow_left_gray.svg?switch=2025062510) center / contain;
	left: 16px;
}
.blogDetailPaging > li:last-child > .blogDetailPagingLink::before {
	background: url(/CSP/img/svg/sp/icon_arrow_right_gray.svg?switch=2025062510) center / contain;
	right: 16px;
}

.couponMenuIcons{
	overflow:hidden;
}
.couponMenuIcons li {
	float: left;
	margin-right: 5px;
	margin-bottom: 5px;
	padding: 1px 10px;
	color:white;
	text-align: left;
	white-space: nowrap;
}
.couponMenuIcons li.couponMenuIconOff {
	color: #CC4466;
	font-size: 10px;
	padding: 0;
	text-align: left;
}
.limitedCouponIcon > li {
	background: #FFFFFF;
	border: 1px solid #CCBBBB !important;
	color: #665555;
	float: left;
	font-size: 11px;
	line-height: 1;
	margin: 0 5px 5px 0;
	padding: 2px 9px;
}
.limitedCouponIcon + .couponMenuName,
.couponDetailModalArea .limitedCouponIcon + .couponDetailModalMenuName {
	margin-top: 0;
}

@media screen and (min-width: 400px){
	.selectCoupon br{
		display: none;
			}
}
/*スタイル写真のしみだし */
.stylePhotoListInner {
	width: 300px;
	margin: 0 auto;
	overflow: hidden;
}
.stylePhotoList {
	display: inline-block;
	white-space: nowrap;
	-webkit-transition-property: -webkit-transform;
	-webkit-transition-duration: 0.5s;
	-webkit-transition-timing-function: ease-out;
	-webkit-transform: translate3d(0px,0px,0px);
}
.stylePhotoList li {
	position: relative;
	display: inline-block;
	background-size: contain;
	width: 290px;
	vertical-align: middle;
}

.stylePhotoList img {
	width: 89px;
	height: 119px;
}
.stylePhotoPointList {
	text-align: center;
	margin-top: 5px;
}
.stylePhotoPointList li {
	display: inline-block;
	width: 1em;
	height: 1em;
	line-height: 1;
	margin-right: 10px;
	background-color: #999999;
	border-radius: 6px;
}

.stylePhotoPointList .current {
	background-color: #CCCCCC;
}
.swichPanel {
	padding: 5px 0;
	text-align: center;
	width: 290px;
	margin: 0 auto;
}
.whN{
	white-space: normal;
}

/* クーポン絞り込みボタン */
.couponFilterModalOpenBtn {
	background: #FFFFFF;
	box-sizing: border-box;
	padding: 12px 16px 0;
	position: relative;
	width: 100%;
}
.couponFilterModalOpenBtn.isFixed {
	border-bottom: 1px solid #E0E1E2;
	margin-top: 0;
	padding-bottom: 12px;
	position: fixed;
	top: 0;
	z-index: 1;
}
.couponFilterModalOpenBtn.isFixed + .couponNumberBox {
	margin-top: 69px;
}
.couponFilterModalOpenBtn > a {
	background: #FFFFFF;
	border: solid 1px #E0E1E2;
	border-radius: 8px;
	box-sizing: border-box;
	color: #333333;
	display: block;
	font-size: 12px;
	font-weight: bold;
	height: 44px;
	line-height: 44px;
	overflow: hidden;
	padding-right: 11px;
	position: relative;
	text-decoration: none;
}
.couponFilterModalOpenBtn > a::before {
	background: url(/CSP/img/bt/smb/icons/icon_search_coupon.png?switch=2025062510) left top/cover no-repeat;
	content: "";
	height: 20px;
	left: 11px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}
.couponFilterModalText {
	display: block;
	overflow: hidden;
	padding-left: 35px;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.couponFilterModalText.isSearched {
	font-weight: normal;
}
/* クーポン・メニュー数・ソート */
.couponNumberBox {
	align-items: center;
	color: #6D6D6D;
	display: flex;
	justify-content: space-between;
	line-height: 1;
	margin-top: 12px;
	padding: 0 16px;
}
.couponNumberWrapper {
	display: flex;
}
.couponNumberWrapper > p + p {
	margin-left: 12px;
}
.couponNumberTitle,
.couponNumberText {
	display: block;
	text-align: center;
}
.couponNumberText {
	margin-top: 4px;
}
.couponNumberText > span {
	color: #CC4466;
	font-size: 16px;
	font-weight: bold;
}
.couponPriceSort {
	-webkit-appearance: none;
	appearance: none;
	background: #FFFFFF url(/CSP/img/bt/smb/icons/icon_search_arrow.png?switch=2025062510) right 8px center/20px 20px no-repeat;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	box-sizing: border-box;
	color: #333333;
	height: 36px;
	line-height: 1;
	padding: 11px;
	width: 124px;
}
/* クーポン・メニュー絞り込みモーダル */
.couponFilterModalWindow {
	background-color: #FFFFFF;
	display: none;
	height: 100%;
	left: 0;
	min-height: 100%;
	opacity: 1;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 999;
}
.couponFilterModalWindow.isOpened,
.couponFilterModalWindow.isClosed {
	display: block;
}
.couponFilterModalWindow.isOpened {
	animation: slideUp 0.3s;
}
.couponFilterModalWindow.isClosed {
	animation: slideDown 0.3s;
}
@keyframes slideUp {
	0% {
		transform: translateY(120%);
	}
	100% {
		transform: translateY(0);
	}
}
@keyframes slideDown {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(120%);
	}
}
.couponFilterModalWindowInner {
	background: #FFFFFF;
	padding-bottom: 68px;
	padding-top: 49px;
}
.couponFilterModalTitleWrap {
	position: fixed;
	width: 100%;
	z-index: 1;
}
/* モーダルヘッダー */
.couponFilterModalTitle {
	background-color: #FFFFFF;
	border-bottom: 1px solid #E0E1E2;
	color: #665555;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	padding: 16px;
	text-align: center;
}
.couponFilterModalClose {
	background: url(/CSP/img/bt/smb/icons/icon_close_pink.png?switch=2025062510) center/24px auto no-repeat;
	height: 44px;
	left: 6px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
}
.couponFilterModalHead {
	background-color: #EEEEEE;
	color: #333333;
	font-size: 14px;
	font-weight: bold;
	line-height: 20px;
	padding: 4px 16px;
}
/* モーダルフッター */
.couponFilterModalFooterWrapper {
	background-color: #FFFFFF;
	border-top: solid 1px #E0E1E2;
	bottom: 0;
	box-sizing: border-box;
	display: none;
	left: 0;
	opacity: 1;
	padding: 11px 16px 12px;
	position: fixed;
	width: 100%;
	z-index: 2;
}
.couponFilterModalFooterWrapper.isOpened {
	display: block;
}
/* for iOS15 Safari */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	_::-webkit-full-page-media, _:future, :root .couponFilterModalFooterWrapper {
		padding-bottom: calc(12px + env(safe-area-inset-bottom));
	}
}
.couponFilterModalFooter {
	display: flex;
	justify-content: space-between;
}
.couponFilterModalClearBtn,
.couponFilterModalSearchBtn {
	border-radius: 8px;
	box-sizing: border-box;
	font-size: 14px;
	font-weight: bold;
	line-height: 42px;
	text-align: center;
	text-decoration: none;
}
.couponFilterModalClearBtn {
	background-color: #FFFFFF;
	border: 1px solid #E0E1E2;
	color: #333333 !important;
	width: calc(36% - 4px);
}
.couponFilterModalSearchBtn {
	background-color: #D36985;
	color: #FFFFFF !important;
	width: calc(64% - 4px);
}
/* チェックボックス */
.searchConditionMenuList {
	display: flex;
	flex-wrap: wrap;
}
.searchConditionMenuList > li {
	margin-right: 8px;
}
.searchConditionMenuList label {
	display: inline-block;
}
.searchConditionMenuList input[type="checkbox"],
.searchConditionMenuList input[type="radio"] {
	display: none;
}
.searchConditionMenuText {
	border: 1px solid #E0E1E2;
	border-radius: 18px;
	color: #333333;
	display: inline-block;
	font-size: 12px;
	line-height: 18px;
	margin: 6px 0;
	padding: 6px 19px;
	position: relative;
}
.searchConditionMenuList input[type="checkbox"]:checked + .searchConditionMenuText,
.searchConditionMenuList input[type="radio"]:checked + .searchConditionMenuText {
	border: 2px solid #D36985;
	color: #CC4466;
	font-weight: bold;
	padding: 5px 10px 5px 26px;
}
.searchConditionMenuList input[type="checkbox"]:checked + .searchConditionMenuText::before,
.searchConditionMenuList input[type="radio"]:checked + .searchConditionMenuText::before {
	background: url(/CSP/img/bt/smb/icons/icon_check_pink.png?switch=2025062510) left top/cover no-repeat;
	content: "";
	height: 20px;
	left: 6px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}
.searchConditionMenuList input[type="checkbox"]:disabled + .searchConditionMenuText,
.searchConditionMenuList input[type="radio"]:disabled + .searchConditionMenuText {
	opacity: 0.3;
}
/* キーワード */
.couponKeywordSearchWrapper {
	padding: 20px 16px 24px;
}
.couponKeywordSearchWrapper #couponKeywordInput {
	/* 既存styleが強すぎるのでIDで指定 */
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	box-sizing: border-box;
	color: #333333;
	font-size: 12px;
	line-height: 18px;
	padding: 12px 11px;
	width: 100%;
}
.couponKeywordSearchWrapper #couponKeywordInput::placeholder {
	color: #BBBBBB;
}

/* 備考 */
.slnMenuNote {
	padding: 10px;
	word-wrap : break-word;
	overflow-wrap : break-word;
}

/* Icon Plus */
.iconPlusMinus {
	width: 16px;
	height: 2px;
	background: #ffffff;
	position: absolute;
	right: 10px;
	top: 19px;
}
.iconPlusMinus:after {
	content: '';
	position: absolute;
	width: 2px;
	height: 16px;
	background: #ffffff;
	left: 7px;
	top: -7px;
}
/* Icon Minus */
.active .iconPlusMinus:after  {
	width: 0;
	height: 0;
	background:none;
	position: absolute;
	right: 10px;
	top: 16px;
}
.couponMenuAssort{
	border-top: 1px solid #E9E9D9;
	border-bottom: 1px solid #E9E9D9;
	background:#FBFAF2;
	padding:7px 10px;
}
.couponMenuAssortList{
	text-align: center;
	margin-top: 10px;
}
.couponMenuAssortList > li{
	display: inline-block;
	margin: 0 5px;
}
.couponMenuAssortList > li > input[type="radio"] {
	display: none;
}
.couponMenuAssortList > li > input[type="radio"] + label {
	display: table-cell;
	width: 84px;
	height: 40px;
	color: #777373 !important;
	text-align: center;
	font-weight: bold;
	line-height: 1.2;
	border-radius: 6px;
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		from(#FFFFFF),
		to(#E2E2E2)
	);
	border: 1px solid #B4B0B0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.couponMenuAssortList > li > input[type="radio"] + label.disabled {
	color: #D1D1D1 !important;
	background:#ebebeb;
	border: 1px solid #E7E7E7;
}
.couponMenuAssortList > li > input[type="radio"]:checked + label {
	background: #BFB4AB;
	color: #FFFFFF !important;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.twoColumnSelect {
	width: 100%;
	background-color: #FFFFFF;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
.twoColumnSelect li {
	float: left;
	position: relative;
	width: 50%;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	border-right: #E9E9D9 1px solid;
	border-bottom: #E9E9D9 1px solid;
	display: table;
	font-size: 12px;
}
.twoColumnSelect li:nth-child(even) {
	border-right: none;
}
.twoColumnSelect li label {
	display: table-cell;
	vertical-align: middle;
	padding: 8px;
	font-size: 12px;
	text-decoration: none;
	color: #333333 !important;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.twoColumnSelect li label.disabled{
	color: #D8D5D5 !important;
}
.twoColumnSelect li input[type="checkbox"] {
	border: 3px solid #DAD8D8;
	-webkit-border-radius: 0;
	border-radius: 0;
	-webkit-appearance: none;
	appearance: none;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	position: relative;
	margin-right: 7px;
	width: 22px;
	height: 22px;
	background: #F7F7F7;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

.twoColumnSelect li label.disabled input[type="checkbox"]{
	border: 3px solid #EEE9E9;
	background: #FFFFFF;
}

.twoColumnSelect li input[type="checkbox"]:checked {
	border: 3px solid #DAD8D8;
	background: #F7F7F7;
}

.twoColumnSelect li input[type="checkbox"]:checked:before {
	position: absolute;
	left: 1px;
	top: 15px;
	display: block;
	content: "";
	width: 10px;
	height: 4px;
	background: #CC4466;
	-webkit-transform: rotate(45deg);
	transform:rotate(45deg) ;
	-webkit-transform-origin: right center;
	transform-origin:right center;
}

.twoColumnSelect li input[type="checkbox"]:checked:after {
	display: block;
	position: absolute;
	left: 9px;
	top: 15px;
	content: "";
	width: 16px;
	height: 4px;
	background: #CC4466;
	-webkit-transform: rotate(-53deg);
	transform:rotate(-53deg) ;
	-webkit-transform-origin: left center;
	transform-origin:left center;
}
.twoColumnSelect li.searchOption{
	border-right: none;
	width: 100%;
}
.twoColumnSelect li.searchOption input[type="checkbox"]{ float: left; }
.twoColumnSelect li.searchOption .searchOptionText{
	float: left;
	line-height: 1.3;
	padding-top: 3px;
	width: 85%;
}
@media screen and (min-width: 550px){
	.twoColumnSelect li.searchOption .searchOptionText{
		padding-top: 1.6%;
		width: 93%;
	}
}

/*ボタン付きクーポンカセット*/
.couponCassetteWrap {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	display: table;
	width: 100%;
	border: solid #BFB9B0;
	border-width: 1px 1px 0 1px;
}
.couponCassetteWrap:last-child {
	border-bottom: 1px solid #BFB9B0;
}
.couponCassetteInner,
.couponTblInner,
.couponTblInner2,
.couponTblInner3 {
	display: table-cell;
	vertical-align: top;
	word-break: break-all;
}
.couponCassetteInner > a {
	display: block;
	padding: 10px 30px 10px 10px;
	text-decoration: none !important;
	color: #666666 !important;
}
.couponTextWrap {
	padding: 0 4px;
	font-size :12px;
	font-family: monospace;
	font-weight: bold;
}
.couponImgWrap {
	align-items: center;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	display: flex;
	height: 118px;
	overflow: hidden;
	position: relative;
	width: 118px;
}
.couponImgWrap img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}
.couponMenuName {
	color: #665555;
	font-weight: bold;
	word-wrap: break-word;
}

.couponDetailModalLink {
	font-size: 11px;
	overflow: hidden;
}
.couponDetailModalLink > a {
	display: block;
	padding-bottom: 5px;
}
.couponDetailModalArea {
	left: 0;
	margin: 0 30px;
	position: absolute;
	right: 0;
	z-index: 1001;
	opacity: 0;
	-webkit-transition-property: opacity;
	transition-property: opacity;
}
.couponDetailModalArea.isOpen {
	opacity: 1;
	-webkit-transition-duration: 0.6s;
	transition-duration: 0.6s;
}
.couponDetailModalArea.isClose {
	opacity: 0;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}
.couponDetailModalContents {
	background-color: #FFFFFF;
	border-radius: 4px;
	padding: 15px;
}
.ttlCouponDetailModal {
	color: #D36985;
	float: left;
	font-size: 11px;
}
.couponDetailModalPrice {
	color: #CC4466;
	font-size: 18px;
	font-weight: bold;
}
.couponDetailModalMenuName {
	font-size: 13px;
	font-weight: bold;
	word-wrap: break-word;
}
.couponDetailModalCloseBtn {
	height: 30px;
	position: absolute;
	right: -15px;
	top: -12px;
	width: 30px;
	z-index: 1001;
}
.couponDetailModalCloseBtn > a {
	background-color: #FFFFFF;
	border: 2px solid #CCCCCC;
	border-radius: 22px;
	box-sizing: border-box;
	color: #8A7C7C;
	display: block;
	height: 100%;
	vertical-align: top;
	width: 100%;
}
.couponDetailModalCloseBtn > a:before,
.couponDetailModalCloseBtn > a:after {
	background-color: #999999;
	content: "";
	display: block;
	height: 3px;
	left: 8px;
	position: absolute;
	top: 13px;
	width: 15px;
}
.couponDetailModalCloseBtn > a:before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.couponDetailModalCloseBtn > a:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.couponDetailOverlay {
	background: #000000;
	height: 152%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 1000;
	opacity: 0;
	-webkit-transition-property: opacity;
	transition-property: opacity;
}
.couponDetailOverlay.isOpen {
	opacity: 0.6;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}
.couponDetailOverlay.isClose {
	opacity: 0;
	-webkit-transition-duration: 0.6s;
	transition-duration: 0.6s;
}
.couponTblInner {
	padding: 15px 8px;
}
.couponTblInner2 {
	padding: 10px 8px;
}
.couponTblInner3 {
	padding: 10px 30px 10px 8px;
	position: relative;
}
.couponTblInner3 > a {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.couponTextWrap.couponLabelCT02 {
	background-color: #D97791;
	color: #FFFFFF;
}
.couponTextWrap.couponLabelCT01 {
	background-color: #FADCE3;
	color: #C43357;
}
.couponTextWrap.couponLabelCT03 {
	background-color: #FBECF0;
	color: #C43357;
}
.cassetteBtnWrap {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
}
.cassetteBtnWrap .btn2,
.cassetteBtnWrap .btn3 {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	width: 100%;
	min-width: 123px;
	max-width: 200px;
	font-size: 10px;
}
/* ブログ詳細画面・クーポン詳細モーダルのみ、画面幅374px以下のとき「おすすめのクーポン」カセットのボタンを2段配置にする */
@media (max-width: 374px) {
	.blogDetailCassette .cassetteBtnWrap,
	.blogDetailCassette .cassetteBtnWrap > div,
	.couponDetailModalContents .cassetteBtnWrap,
	.couponDetailModalContents .cassetteBtnWrap > div {
		display: block;
	}
	.blogDetailCassette .cassetteBtnWrap > div:first-child,
	.couponDetailModalContents .cassetteBtnWrap > div:first-child {
		padding-right: 0;
	}
	.blogDetailCassette .cassetteBtnWrap > div + div,
	.couponDetailModalContents .cassetteBtnWrap > div + div {
		margin-top: 10px;
	}
}
.menuCassetteWrap {
	border: solid #BFB9B0;
	border-width: 1px 1px 0 1px;
	color: #666666;
	display: block;
	padding: 15px 30px 15px 10px;
}
.menuCassetteWrap > a {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.menuCassetteWrap {
	border: solid #BFB9B0;
	border-width: 1px 1px 0 1px;
}
.menuCassetteWrap:last-child {
	border-bottom: 1px solid #BFB9B0;
}
.changeBtnWrap {
	border: solid #BFB9B0;
	border-radius: 0 0 10px 10px;
	border-width: 0 1px 2px 1px;
	padding: 20px 0;
}
.couponDetailDescription {
	background-color: #FFF0F1;
	padding: 10px;
}

/*iconPlusMinusGray ポジション指定*/
.iconPlusMinusGray.addBtnIcon {
	right: 0;
	top: 15px;
}
.iconPlusMinusGray.addBtnIcon:after {
	left: 7px;
	top: -7px;
}

.stHeadline {
	background-color: #EEEEEE;
	color: #333333;
	font-size: 14px;
	line-height: 1;
	padding: 15px 10px;
}
.stHeadline + div .verticalLinkList > .normalSplitLineT:first-child {
	border-top: 1px solid #BFB9B0;
}
.slnBlogLink + .slnDtlDataWrap > .slnDtlData:first-child .stHeadline {
	border-top: none;
}
.stHeadlineAccordion {
	position: relative;
}
.stHeadlineAccordion::before,
.stHeadlineAccordion::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.stHeadlineAccordion::before {
	background-color: #FFFFFF;
	border: 1px solid #E0E1E2;
	border-radius: 50%;
	height: 26px;
	right: 10px;
	width: 26px;
}
.stHeadlineAccordion::after {
	background: url(/CSP/img/svg/sp/icon_arrow_down_gray.svg?switch=2025062510) 0 / contain;
	height: 20px;
	right: 14px;
	width: 20px;
}
.stHeadlineAccordion.isOpened::after {
	background-image: url(/CSP/img/svg/sp/icon_arrow_up_gray.svg?switch=2025062510);
}
.stHeadlineSubWrap {
	border-bottom: 1px solid #E0E1E2;
	padding: 16px 10px 12px;
}
.stHeadlineSub {
	border-left: 4px solid #665555;
	color: #665555;
	font-size: 14px;
	font-weight: bold;
	line-height: 21px;
	padding-left: 8px;
}
.stStylist li {
	border-top: 1px solid #CCCCCC;
	color: #666666;
	margin-top: auto;
	padding: 15px 26px 15px 10px;
	position: relative;
	text-decoration: none;
}
.stKodawariSection {
	margin-bottom: -20px;
}
.stKodawariWrap + .stKodawariWrap {
	border-top: 1px solid #E0E1E2;
	padding-top: 4px;
}
.stStyle li {
	border-top: 1px solid #E0E1E2;
	margin-top: auto;
}
.stStyle li,
.stKodawari li,
.stKodawariVideo li {
	color: #333333;
	padding: 16px 38px 16px 10px;
	position: relative;
	text-decoration: none;
}
.stKodawari li + li {
	border-top: 1px solid #E0E1E2;
}
.stKodawari li > a,
.stKodawariVideo li > a,
.stStyle li > a,
.stStylist li > a {
	height: 100%;
	left: 0;
	padding: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.stKodawariComment,
.stStylistName {
	color: #333333;
}
.stKodawariCommentHead {
	color: #C43357;
	font-size: 13px;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
.stStylistName {
	line-height: 1;
	margin-top: 8px;
}
.stStylistTxt {
	color: #666666;
	line-height: 1;
}
.stDetailTxt {
	border-top: 1px solid #CCCCCC;
	position: relative;
}
.stDetailTxt:before,
.stDetailTxt:after {
	border-style: solid;
	border-width: 0 10px 10px 10px;
	content: "";
	display: block;
	height: 0;
	width: 0;
	position: absolute;
	left: 50%;
	margin-left: -10px;
	top: -10px;
}
.stDetailTxt:before {
	border-color: transparent transparent #CCCCCC transparent;
	top: -10px;
}
.stDetailTxt:after {
	border-color: transparent transparent #FFFFFF transparent;
	top: -8.5px;
}
.stStylistComment {
	background-color: #F6F5EC;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	color: #663300;
	font-size: 11px;
	margin-top: 8px;
	padding: 10px;
}
.stImgLinkWrap {
	position: relative;
}
.stImgLinkWrap img {
	border: 1px solid #E0E1E2;
	box-sizing: border-box;
}
.stKodawariVideoLinkWrap {
	border: 1px solid #E0E1E2;
	box-sizing: border-box;
}
.stKodawariVideoLinkWrap > img {
	width: 100%;
}
.stStyleVideoTime {
	align-items: center;
	background-color: rgba(51,51,51,0.8);
	border-radius: 2px;
	bottom: 4px;
	color: #FFFFFF;
	display: flex;
	font-weight: bold;
	line-height: 1;
	padding: 4px;
	position: absolute;
	right: 4px;
}
.stStyleVideoTime::before {
	background: url(/CSP/img/svg/sp/icon_play_white.svg?switch=2025062510) center / contain;
	content: "";
	height: 12px;
	margin-right: 2px;
	width: 12px;
}
.stLinkListCover::after {
	background: url(/CSP/img/svg/sp/icon_arrow_right_grey.svg?switch=2025062510) center / contain;
	content: "";
	height: 20px;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}

/* keyvisual */
.stKeyvisual {
	position: relative;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	height: 160px;
}
.stKeyvisual > div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
	overflow: hidden;
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: 50%;
	opacity: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
/* /keyvisual */

/* carousel */
.slnTopImgViewer::before {
	content: "";
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}
.slnTopImg,
.slnTopImgViewer {
	position: relative;
}
.slnTopImgViewer,
.slnTopImgViewer img {
	height: 75vw;
	width: 100vw;
}
.slnTopImgViewer img {
	left: 0;
	opacity:0;
	position: absolute;
	top: 0;
}
.slnTopImgCarouselWrap {
	height: 60px;
	margin: 10px auto 0;
	overflow: hidden;
	position: relative;
	width: 260px;
}
.slnTopImgCarousel {
	font-size: 0;
	left: 0;
	position: absolute;
	top: 0;
	white-space: nowrap;
}
.slnTopImgCarouselCentering {
	position: static;
	text-align: center;
}
.slnTopImgCarousel li {
	cursor: pointer;
	display: inline-block;
	font-size: 1em;
}
.slnTopImgCarousel li + li {
	margin-left: 10px;
}
.slnTopImgCarouselPrev,
.slnTopImgCarouselNext {
	bottom: 0;
	height: 60px;
	overflow: hidden;
	position: absolute;
	text-indent: -9999px;
	width: 28px;
}
.slnTopImgCarouselPrev {
	background: url(/CSP/img/svg/sp/icon_arrow_narrow_left.svg?switch=2025062510) center / 10px 28px no-repeat;
	left: calc(50% - 160px);
}
.slnTopImgCarouselNext {
	background: url(/CSP/img/svg/sp/icon_arrow_narrow_right.svg?switch=2025062510) center / 10px 28px no-repeat;
	right: calc(50% - 160px);
}
.slnTopImgCarouselPrev.isDisable,
.slnTopImgCarouselNext.isDisable {
	opacity: 0.3;
}
/* /carousel */

/* 特集スワイプ */
.stCouponCassetteWrap {
	border-bottom: 1px solid #BFB9B0;
	border-top: 1px solid #BFB9B0;
}
.stCouponCassette {
	border-left: 1px solid #BFB9B0;
	border-right: 1px solid #BFB9B0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: table;
	width: 100%;
}
.stCouponCassette ~ .stCouponCassette {
	border-top: 1px solid #BFB9B0;
}
.stCouponCassetteInner {
	display: table-cell;
	vertical-align: top;
	word-break: break-all;
}
.stCouponCassetteInner > a {
	color: #666666 !important;
	display: block;
	padding: 10px 30px 10px 10px;
	text-decoration: none !important;
}
.stCouponTextWrap {
	font-family: monospace;
	font-size: 12px;
	font-weight: bold;
	padding: 8px 4px 0;
}
.stCouponTextWrap.couponLabelCT02 {
	background-color: #FB615F;
	color: #FFFFFF;
}
.stCouponTextWrap.couponLabelCT01 {
	background-color: #FFE0E0;
	color: #FC636B;
}
.stCouponTextWrap.couponLabelCT03 {
	background-color: #FFC8CB;
	color: #FC636B;
}

.couponAccordionBtn > a {
	background-color: #F4F4F4;
	border: solid 1px #BFB9B0;
	color: #666666;
	display: block;
	font-size: 11px;
	font-weight: bold;
	margin-top: 10px;
	padding: 10px;
	position: relative;
	text-decoration: none;
}
.accordionWrap .couponAccordionBtn > a:after {
	border: solid #AB9C84;
	border-width: 0 3px 3px 0;
	content: "";
	display: block;
	height: 6px;
	line-height: 1;
	margin-top: -3px;
	position: absolute;
	right: 10px;
	top: 50%;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	width: 6px;
}
.accordionWrap.isClosed .couponAccordionBtn .close,
.accordionWrap .couponAccordionBtn .open {
	display: none;
}
.accordionWrap .couponAccordionBtn .close,
.accordionWrap.isClosed .couponAccordionBtn .open {
	display: block;
}
.accordionWrap.isClosed .couponAccordionBtn > a:after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-top: -7px;
}
.accordionWrap.isClosed .stCouponCassetteWrap > li {
	display: none;
}
.accordionWrap.isClosed .stCouponCassetteWrap > li:first-child {
	display: block;
}
/* /特集スワイプ */

/*stylist Schedule list*/
.atworkScheduleHead {
	width: 100%;
}
.atworkScheduleHead.isFixed {
	width: 100%;
	z-index: 2;
}
.atworkScheduleStickyHead {
	position: sticky;
	top: 92px; /* メニュータブの高さ 92px */
}
.atworkScheduleStickyHead .atworkScheduleTbl {
	border-bottom-width: 3px;
}
.atworkScheduleNav {
	background-color: #FFFFFF;
	min-height: 20px;
	padding: 10px 0;
	position: relative;
}
.atworkScheduleNav .prevArrow,
.atworkScheduleNav .nextArrow {
	font-weight: bold;
	position: absolute;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.atworkScheduleNav .prevArrow {
	left: 5px;
	padding-left: 10px;
	margin-left: 150px;
}
.atworkScheduleNav .nextArrow {
	padding-right: 10px;
	right: 5px;
}
.atworkScheduleNav .prevArrow:before,
.atworkScheduleNav .prevArrow:after,
.atworkScheduleNav .nextArrow:before,
.atworkScheduleNav .nextArrow:after {
	background-color: #998A8A;
	border-radius: 3px;
	content: "";
	display: block;
	height: 10px;
	position: absolute;
	width: 2px;
}
.atworkScheduleNav .prevArrow:before,
.atworkScheduleNav .nextArrow:after {
	-webkit-transform: rotate(-30deg);
	transform: rotate(-30deg);
}
.atworkScheduleNav .prevArrow:after,
.atworkScheduleNav .nextArrow:before {
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
}
.atworkScheduleNav .prevArrow:before,
.atworkScheduleNav .nextArrow:before {
	bottom: 0;
}
.atworkScheduleNav .prevArrow:after,
.atworkScheduleNav .nextArrow:after {
	top: 0;
}
.atworkScheduleNav .prevArrow:before,
.atworkScheduleNav .prevArrow:after {
	left: 0;
}
.atworkScheduleNav .nextArrow:before,
.atworkScheduleNav .nextArrow:after {
	right: 0;
}
.atworkScheduleNav .nextArrow.isDisabled,
.atworkScheduleNav .prevArrow.isDisabled {
	color: #CCCCCC;
	cursor: default;
	text-decoration: none;
}
.atworkScheduleNav .prevArrow.isDisabled:before,
.atworkScheduleNav .nextArrow.isDisabled:before,
.atworkScheduleNav .prevArrow.isDisabled:after,
.atworkScheduleNav .nextArrow.isDisabled:after {
	opacity: 0.4;
}
.atworkScheduleWrap {
	width: 100%;
}
.atworkScheduleInner {
	width: 100%;
}
.atworkScheduleInner .atworkScheduleTbl {
	float: left;
	width: 100%;
}
.atworkScheduleTbl {
	border-bottom: 1px solid #CCCCCC;
	border-right: 1px solid #CCCCCC;
	height: 100%;
}
.atworkScheduleTbl th,
.atworkScheduleWrap td {
	background: #FFFFFF;
	border-left: 1px solid #CCCCCC;
	border-top: 1px solid #CCCCCC;
}
.atworkScheduleTbl td,
.atworkScheduleTbl th {
	height: 54px;
}
.atworkScheduleWrap .isFixed {
	border-bottom: 2px solid #CCCCCC;
	left: 0;
	z-index: 2;
}
.atworkScheduleWrap .leftSide .atworkScheduleTbl {
	border-right: none;
	width: 150px;
}
.atworkScheduleWrap .leftSide .atworkScheduleTbl th {
	background-color: #F5F3F1;
	color: #665555;
	font-size: 11px;
	font-weight: normal;
	padding-right: 10px;
	text-align: right;
}
.atworkScheduleWrap .rightSide {
	overflow: hidden;
	width: 100%;
}
.atworkScheduleWrap .rightSide .atworkScheduleTbl th,
.atworkScheduleWrap .rightSide .atworkScheduleTbl td {
	color: #665555;
	min-width: 23px;
	text-align: center;
}
.atworkScheduleWrap .rightSide .atworkScheduleTbl th.sat {
	background-color: #E4F0F7;
	color: #079AEE;
}
.atworkScheduleWrap .rightSide .atworkScheduleTbl th.sun {
	background-color: #FFE8ED;
	color: #F23D64;
}
.atworkScheduleWrap .rightSide .atworkScheduleTbl th .date {
	font-weight: bold;
	line-height: 1;
}
.atworkScheduleWrap .rightSide .atworkScheduleTbl th .day {
	display: block;
	font-size: 10px;
	font-weight: normal;
	line-height: 1;
	margin-top: 4px;
}
.atworkScheduleTbl .closed {
	background-color: #EEEEEE;
}
.atworkScheduleTbl .holiday {
	background-color: #B2A2A2;
	border-radius: 4px;
	color: #FFFFFF;
	padding: 3px 4px;
}
.atworkScheduleTbl .notset {
	color: #999999;
}
.atworkScheduleTbl .staffInfoSingleWrap {
	padding: 0 10px;
	text-align: left;
	width: 130px;
}
.staffInfoSingleInner {
	display: inline-block;
	vertical-align: middle;
	width: 129px;
}
.atworkScheduleTbl .staffInfoSingleName {
	font-weight: bold;
	padding-top: 1px;
}
.atworkScheduleTbl .staffInfoSingleClass {
	color: #CC4466;
	font-size: 10px;
}
.atworkScheduleTbl .staffInfoSingleHistory {
	color: #666666;
	font-size: 8px;
}
.atworkScheduleTbl .staffInfoSingleName,
.atworkScheduleTbl .staffInfoSingleClass {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.atworkScheduleTbl .staffInfoSingleClass {
	padding-top: 3px;
}
.atworkScheduleTbl .staffInfoSingleHistory {
	padding-top: 1px;
}
.atworkScheduleTbl .staffInfoSingleName,
.atworkScheduleTbl .staffInfoSingleClass,
.atworkScheduleTbl .staffInfoSingleHistory {
	line-height: 1.1;
}
.atworkScheduleTbl .staffInfoSingleImg {
	float: left;
	margin-right: 5px;
}
.atworkScheduleTbl .staffInfoSingleImg img {
	width: 30px;
}

/*stylist Calender*/
.atworkStylistCalendarAnchorHead {
	display: block;
	margin-top: -84px; /* メニュータブの高さ 92px - カレンダーのpadding 8px */
	padding-top: 84px;
}
.atworkCalWrap {
	margin: 0 auto;
	overflow: hidden;
	padding: 8px 0 0;
	position: relative;
	width: 300px;
}
.atworkCalPrev,
.atworkCalNext {
	bottom: 0;
	display: block;
	height: 25px;
	overflow: hidden;
	position: absolute;
	text-indent: -9999px;
	top: 12px;
	width: 25px;
}
.atworkCalPrev:before,
.atworkCalNext:before {
	bottom: 3px;
}
.atworkCalPrev:after,
.atworkCalNext:after {
	top: 4px;
}
.atworkCalPrev,
.atworkCalPrev:before,
.atworkCalPrev:after {
	left: 5px;
}
.atworkCalNext,
.atworkCalNext:before,
.atworkCalNext:after {
	right: 5px;
}
.atworkCalPrev:before,
.atworkCalPrev:after,
.atworkCalNext:before,
.atworkCalNext:after {
	background-color: #998A8A;
	border-radius: 3px;
	content: "";
	display: block;
	height: 10px;
	position: absolute;
	width: 2px;
}
.atworkCalPrev:before,
.atworkCalNext:after {
	-webkit-transform: rotate(-30deg);
	transform: rotate(-30deg);
}
.atworkCalPrev:after,
.atworkCalNext:before {
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
}
.atworkCalPrev.isDisabled,
.atworkCalNext.isDisabled {
	opacity: 0.4;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.atworkCalPeriod {
	background: #F5F3F1;
	color: #665555;
	font-size: 13px;
	margin-bottom: 5px;
	padding: 8px;
	text-align: center;
}
.atworkSingleCaltblWrap {
	float: left;
	width: 300px;
}
.atworkSingleCaltbl {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 auto;
}
.atworkSingleCaltbl th,
.atworkSingleCaltbl td {
	background: #FFFFFF;
	border-bottom: 1px solid #CCCCCC;
	color: #665555;
	text-align: center;
}
.atworkSingleCaltbl tr {
	border-top: 1px solid #CCCCCC;
}
.atworkSingleCaltbl th {
	border-color: #CCCCCC;
	border-style: solid;
	border-width: 1px 1px 2px 0;
	font-size: 10px;
	font-weight: normal;
	line-height: 1;
	padding: 5px 0;
	text-align: center;
}
.atworkSingleCaltbl td {
	border-right: 1px solid #CCCCCC;
	font-size: 13px;
	height: 37px;
	line-height: 1;
	padding-top: 8px;
	vertical-align: top;
	width: 34px;
}
.atworkSingleCaltbl td:first-child,
.atworkSingleCaltbl th:first-child {
	border-left: 1px solid #CCCCCC;
}
.atworkSingleCaltbl .sat {
	background-color: #E4F0F7;
	color: #079AEE;
}
.atworkSingleCaltbl .sun {
	background-color: #FFE8ED;
	color: #F23D64;
}
.atworkSingleCaltbl .closed {
	background-color: #E6E6E6;
	color: #999999;
}
.atworkSingleCaltbl .holiday {
	background-color: #B2A2A2;
	border-radius: 4px;
	color: #FFFFFF;
	display: block;
	font-size: 10px;
	line-height: 1;
	margin: 4px 6px;
	padding: 3px 1px;
}
.atworkSingleCaltbl .notset {
	display: block;
	margin-top: 5px;
}
.bgClosedTxt:before {
	background-color: #EEEEEE;
	border: 1px solid #CCCCCC;
	content: "";
	display: inline-block;
	height: 15px;
	margin-right: 3px;
	vertical-align: middle;
	width: 15px;
}

/*stylistDtl*/
.atworkCalLink {
	padding-left: 15px;
}
.icoArrowD.atworkCalLink:before {
	left: 0;
	top: 4px;
}

/*styleDtl*/
.staffCmntTxt {
	background: #F6F5EC;
	border-radius: 4px;
	color: #663300;
	padding: 10px;
	word-break: break-all;
}

/*vacantInfomation*/
.vacancyExistence {
	align-items: center;
	background-color: #F5F3F1;
	color: #6D6D6D;
	display: flex;
	justify-content: center;
	padding-top: 8px;
}

/*kodawari*/
.kodawariTabWrap {
	border-bottom: solid 1px #CD4D72;
}
.kodawariTab {
	display: flex;
	justify-content: center;
	padding: 0 36px;
}
.kodawariTab > li {
	border-color: #CCCCCC;
	border-style: solid;
	border-width: 1px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	flex: 1;
	height: 36px;
}
.kodawariTab > li + li {
	margin-left: 10px;
}
.kodawariTab > li a,
.kodawariTab > li > .kodawariTabHead {
	background-color: #FFFFFF;
	color: #333333;
	display: block;
	font-size: 12px;
	font-weight: bold;
	line-height: 35px;
	text-align: center;
	text-decoration: none;
}
.kodawariTab > .isCurrent {
	border-color: #CD4D72 #CD4D72 #FFFFFF #CD4D72;
	border-width: 1px 1px 0 1px;
	position: relative;
}
.kodawariTab > .isCurrent > .kodawariTabHead {
	color: #CD4D72;
}
.kodawariTab > .isCurrent:after {
	background-color: #FFFFFF;
	bottom: -1px;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}
.kodawariCatch {
	color: #CD4D72;
	font-size: 13px;
	font-weight: bold;
	word-wrap: break-word;
}
.kodawariStepCassette {
	padding: 16px 0;
}
.kodawariStepCassette + .kodawariStepCassette {
	border-top: 1px dashed #CCCCCC;
}
.kodawariFreeCassette {
	background-color: #F6F5EC;
	border-radius: 4px;
	padding: 10px;
}
.kodawariFreeCassette + .kodawariFreeCassette {
	margin-top: 10px;
}
.numberHead {
	color: #837373;
	float: left;
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	margin-right: 10px;
}
.kodawariTtl {
	font-weight: bold;
	overflow: hidden;
	word-wrap: break-word;
}
.kodawariImgWrap img {
	max-height: 219px;
	max-width: 219px;
	text-align: center;
}
.slnTopCatchCopy {
	color: #CD4D72;
	font-size: 13px;
	font-weight: bold;
}
.slnComment {
	background-color: #F6F5EC;
	border-radius: 4px;
	padding: 10px;
	overflow: hidden;
}
.slnPageLink {
	border-bottom: 1px solid #BFB9B0;
	display: block;
}
.slnPageLink li {
	border-top: 1px solid #BFB9B0;
	display: table;
	width: 100%;
}
.slnPageLink .slnPageLinkAnchor {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #333333;
	display: table-cell;
	padding-top: 13px;
	padding-bottom: 13px;
	text-decoration: none;
	vertical-align: middle;
}
.slnVacancyMark {
	border: solid 1px #C43357;
	border-radius: 6px;
	display: inline-block;
	height: 10px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	width: 10px;
}
.slnVacancyTxt {
	color: #C43357;
	font-weight: bold;
	margin-left: 4px;
}
.couponPager {
	background-color: #F0EDDD;
	margin-top: 10px;
	padding: 10px;
}
.couponPager > p {
	height: 33px;
	line-height: 33px;
}
.couponPager > p > a {
	font-size: 13px;
	font-weight: bold;
	height: 33px;
	line-height: 33px;
	width: 90px;
}
.couponResultMessage {
	box-sizing: border-box;
	padding: 0 10px;
	font-size: 12px;
	color: #988989;
	line-height: 1;
}
.couponAnnotationList {
	display: flex;
	font-size: 11px;
	line-height: 1;
	margin-top: 20px;
	padding: 0 16px;
}
.couponAnnotationList > li::before {
	content: "\203B";
	font-weight: normal;
}
.couponAnnotationList > .charge {
	color: #CC0000;
	font-weight: bold;
}
.couponAnnotationList > .tax {
	color: #909090;
	margin-left: 5px;
}
.selectedCouponLabel {
	background-color: #FFFFFF;
	border: 1px solid #978888;
	border-radius: 10px;
	color: #665555;
	font-size: 11px;
	font-weight: bold;
	left: 16px;
	line-height: 18px;
	padding: 0 8px;
	position: absolute;
	top: -9px;
}

/* 検討リストに追加 */
.btnAlreadySaveExamList {
	color: #C43357 !important;
}
.btnSaveExamList::before,
.btnAlreadySaveExamList::before {
	background-size: contain;
	content: "";
	height: 20px;
	margin-right: 4px;
	width: 20px;
}
.btnSaveExamList::before {
	background-image: url(/CSP/img/svg/sp/icon_star_off.svg?switch=2025062510);
}
.btnAlreadySaveExamList::before {
	background-image: url(/CSP/img/svg/sp/icon_star_on_bt.svg?switch=2025062510);
}
.zoneBmBefore .saveExamList:before,
.zoneBmAfter .alreadySaveExamList:before {
	background: url(/CSP/img/common/sprites/icon_star_white.png?switch=2025062510) no-repeat;
	background-size: 14px;
	content: "";
	display: inline-block;
	height: 14px;
	margin-right: 6px;
	width: 14px;
}
.zoneBmBefore .saveExamList:before {
	margin-bottom: 3px;
}
.zoneBmAfter .alreadySaveExamList:before {
	background-position: 0 -14px;
	margin-bottom: 2px;
	margin-top: 1px;
}

/* スタッフ募集 */
.viewCareerDetail {
	background-color: #F5F3F1;
	padding: 12px 16px 0;
}
.btnViewCareerDetail {
	flex-flow: column;
}
.viewCareerDetailNotice {
	font-size: 11px;
	font-weight: normal;
	margin-top: 4px;
}
.btnToCareerDetail {
	align-items: center;
	background-color: #4C4C80;
	border-radius: 8px;
	box-sizing: border-box;
	color: #FFFFFF !important;
	display: flex;
	flex-flow: column;
	font-size: 14px;
	font-weight: bold;
	height: 44px;
	justify-content: center;
	line-height: 1;
	text-decoration: none;
}
.btnToCareerDetailNotice {
	font-size: 11px;
	font-weight: normal;
	margin-top: 4px;
}

/* awardSalon */
.awardSalon {
	box-sizing: border-box;
	height: 28px;
	line-height: 28px;
	margin-top: 10px;
	position: relative;
	width: 100%;
}
.stKeyvisual + .awardSalon {
	margin-top: 0;
}
.awardSalon::after {
	background-color: #F6F5EC;
	content: "";
	display: block;
	height: 10px;
	left: 0;
	position: absolute;
	top: -10px;
	width: 100%;
}
.stKeyvisual + .awardSalon::after {
	display: none;
}
.awardSalonGold,
.awardSalonSilver {
	text-align: center;
}
.awardSalonGold {
	background-color: #C5A300;
}
.awardSalonSilver {
	background-color: #AAB1B8;
}
.awardSalonTxt {
	position: relative;
}
.awardSalonTxtInner {
	font-family: Helvetica, sans-serif;
	font-size: 14px;
	padding-right: 5px;
}
.awardSalonGoldTxt,
.awardSalonSilverTxt {
	color: #FFFFFF;
	display: inline-block;
	font-size: 13px;
	font-weight: bold;
	height: 100%;
	padding-left: 66px;
}
.awardSalonTxt::before {
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 46px;
	left: 0;
	position: absolute;
	top: -6px;
	width: 66px;
	z-index: 10;
}
.awardSalonGoldTxt::before {
	background-image: url("/CSP/img/bt/smb/icons/icon_award_gold_prize.png?switch=2025062510");
}
.awardSalonSilverTxt::before {
	background-image: url("/CSP/img/bt/smb/icons/icon_award_silver_prize.png?switch=2025062510");
}
.awardSalonFeatured {
	background-color: #FFFFFF;
	border-bottom: 2px solid #9F1547;
	border-top: 2px solid #9F1547;
}
.awardSalonFeatured::after {
	top: -12px;
}
.awardSalonTxtFeatured {
	height: 12px;
	left: 15px;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

/* awardStyle */
.awardStyle {
	background-color: rgba(159, 21, 71, 0.8);
	position: absolute;
}
.awardStyleSalon {
	bottom: 0;
	height: 18px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	width: 89px;
}
.awardStyleList {
	bottom: 11px;
	height: 18px;
	left: 50%;
	-webkit-transform: translate(-50%, 0);
	transform: translate(-50%, 0);
	width: 94px;
}
.awardStyleDetail {
	bottom: 21px;
	height: 28px;
	left: 11px;
	width: 247px;
}
.awardStyle::before {
	background-position: left top;
	background-repeat: no-repeat;
	content: "";
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.awardStyleSalon::before,
.awardStyleList::before {
	background-image: url("/CSP/img/bt/smb/icons/icon_award_style_list.png?switch=2025062510");
	background-size: 26px auto;
	height: 30px;
	left: -5px;
	width: 26px;
}
.awardStyleDetail::before {
	background-image: url("/CSP/img/bt/smb/icons/icon_award_style.png?switch=2025062510");
	background-size: 40px auto;
	height: 46px;
	left: 11px;
	width: 40px;
}
.awardStyleTxt {
	color: #FFFFFF;
	font-size: 10px;
	font-weight: bold;
	left: 22px;
	position: absolute;
	top: 50%;
	-webkit-transform: translate(0, -50%) scale(0.9);
	transform: translate(0, -50%) scale(0.9);
	white-space: nowrap;
}
.awardStyleTxtInner {
	font-family: Helvetica, sans-serif;
	font-size: 14px;
	padding-left: 2px;
}
.awardStyleTxtSalon {
	left: 19px;
}
.awardStyleTxtDetail {
	font-size: 13px;
	height: 28px;
	left: 60px;
	line-height: 28px;
	-webkit-transform: translate(0, -50%) scale(1);
	transform: translate(0, -50%) scale(1);
}

/* awardLinkLp */
.awardLinkLpWrap {
	margin: 20px 10px 0;
}
.awardLinkLp {
	border: 1px solid #C5A300;
	color: #C5A300 !important;
	display: block;
	font-weight: bold;
	padding: 10px 0;
}
.awardLinkLpTxt {
	display: block;
	margin: 0 auto;
	padding-left: 45px;
	position: relative;
	width: 220px;
}
.awardLinkLpTxt::before {
	background: url(/CSP/img/bt/smb/icons/icon_award_gold.png?switch=2025062510) left 50% no-repeat;
	background-size: auto 36px;
	content: "";
	height: 36px;
	left: 5px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 31px;
}

/* prevSalonReservation */
.slnRsvWrap {
	border: 1px solid #CCCCCC;
	box-sizing: border-box;
	padding: 0 10px;
}
.slnRsvList > li {
	border-bottom: 1px dotted #CCCCCC;
	padding: 10px 0;
}
.slnRsvList > li:last-child {
	border-bottom: none;
}
.slnRsvIconListWrapper {
	overflow: hidden;
}
.slnRsvIconListWrapper .couponMenuIcons > li {
	line-height: 14px;
	padding: 1px 3px;
}
.slnRsvIconListWrapper .limitedCouponIcon > li {
	font-size: 10px;
	padding: 2px 3px;
}
.btnSlnRsv {
	height: 40px;
	line-height: 40px;
	width: 100%;
}

/* telReservation */
.slnHeader {
	background: #BE3C5F;
	color: #FFFFFF;
	font-size: 14px;
	font-weight: bold;
	padding: 5px 8px;
}
.slnSimpleHeaderTitle {
	font-size: 16px;
	padding-bottom: 15px;
	word-break: break-all;
}
.slnTelNetRsvAppealList {
	margin-top: 10px;
	padding: 0 10px;
	text-align: center;
}
.slnTelNetRsvAppealTtl {
	color: #D36985;
	font-size: 13px;
	font-weight: bold;
}
.slnTelNetRsvAppealTxtWrap {
	display: flex;
	justify-content: center;
	margin-top: 8px;
}
.slnTelNetRsvAppealTxtWrap > li {
	align-items: center;
	color: #665555;
	display: flex;
	font-size: 11px;
	line-height: 1.2;
	text-align: left;
}
.slnTelNetRsvAppealTxtWrap > li + li {
	margin-left: 12px;
}
.slnTelReserveBtnWrap {
	margin-top: 24px;
	padding: 0 16px;
}
.icnAppealPontaPoint::before {
	background-image: url(/CSP/img/svg/sp/icon_point_bt.svg?switch=2025062510);
}
.icnAppealCalendar::before {
	background-image: url(/CSP/img/svg/sp/icon_calendar_bt.svg?switch=2025062510);
}
.icnAppealPontaPoint::before,
.icnAppealCalendar::before {
	background-size: contain;
	content: "";
	height: 32px;
	margin-right: 4px;
	width: 32px;
}
.slnTelDataList {
	border-bottom: 1px solid #E0E1E2;
	border-top: 1px solid #E0E1E2;
	box-sizing: border-box;
	display: table;
	margin-top: 24px;
	padding: 10px 15px;
	vertical-align: top;
	width: 100%;
}
.slnTelDataTtl {
	display: table-cell;
	font-weight: bold;
	margin-top: 10px;
	width: 60px;
}
.slnTelDataDescription {
	display: table-cell;
	word-break: break-all;
}
.icnSlnTel {
	background: url(/CSP/img/svg/sp/icon_phone.svg?switch=2025062510) #FFFFFF left 4px center / 14px no-repeat;
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	box-sizing: border-box;
	color: #837373 !important;
	display: inline-block;
	font-weight: bold;
	line-height: 1;
	min-width: 47px;
	padding: 5px 4px 5px 18px;
	text-decoration: none;
}
.slnBackBtnWrap {
	margin: 24px 0 40px;
}
.slnBackBtnWrap > .btnOutlinedNegative {
	width: 60%;
}
.slnPointDetailOverlay {
	background: #000000;
	height: 152%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	transition-property: opacity;
	width: 100%;
	z-index: 1000;
}
.slnPointDetailOverlay.isOpened {
	opacity: 0.6;
	transition-duration: 0.3s;
}
.slnPointDetailOverlay.isClosed {
	opacity: 0;
	transition-duration: 0.6s;
}
.slnPointDetailModalArea {
	left: 0;
	opacity: 0;
	padding: 0 30px 30px;
	position: absolute;
	right: 0;
	transition-property: opacity;
	z-index: 1001;
}
.slnPointDetailModalArea.isOpened {
	opacity: 1;
	transition-duration: 0.6s;
}
.slnPointDetailModalArea.isClosed {
	opacity: 0;
	transition-duration: 0.3s;
}
.slnPointDetailModalContents {
	background: #FFFFFF;
	border-radius: 4px;
	padding: 15px;
}
.slnPointDetailModalCloseBtnWrap {
	height: 30px;
	position: absolute;
	right: 15px;
	top: -12px;
	width: 30px;
	z-index: 1001;
}
.slnPointDetailModalCloseBtn {
	background: #FFFFFF;
	border: 2px solid #CCCCCC;
	border-radius: 22px;
	box-sizing: border-box;
	color: #8A7C7C;
	display: block;
	height: 100%;
	vertical-align: top;
	width: 100%;
}
.slnPointDetailModalCloseBtn::before,
.slnPointDetailModalCloseBtn::after {
	background: #999999;
	content: "";
	display: block;
	height: 3px;
	left: 8px;
	position: absolute;
	top: 13px;
	width: 15px;
}
.slnPointDetailModalCloseBtn::before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.slnPointDetailModalCloseBtn::after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

/* 口コミ総合評価の分布 */
.kuchikomiSummary {
	padding: 16px;
}
.kuchikomiSummaryHead {
	align-items: center;
	display: flex;
	gap: 24px;
}
.kuchikomiAverage {
	align-items: center;
	display: flex;
	flex-direction: column;
	font-weight: bold;
	gap: 4px;
}
.kuchikomiAverage > dt {
	color: #665555;
}
.kuchikomiAverageScore {
	color: #333333;
	font-size: 24px;
	line-height: 1;
}
.kuchikomiAverageStar {
	background: url(/CSP/img/svg/sp/icon_kuchikomi_star_off.svg?switch=2025062510) 0 / 20px;
	height: 20px;
	width: 100px;
}
.kuchikomiAverageStar::after {
	background: url(/CSP/img/svg/sp/icon_kuchikomi_star_on_bt.svg?switch=2025062510) 0 / 20px;
	content: "";
	display: block;
	height: 100%;
	width: 0;
}
.kuchikomiAverageStar[data-kuchikomi-average-star="0.0"]::after { width: 0 }
.kuchikomiAverageStar[data-kuchikomi-average-star="0.5"]::after { width: 10px }
.kuchikomiAverageStar[data-kuchikomi-average-star="1.0"]::after { width: 20px }
.kuchikomiAverageStar[data-kuchikomi-average-star="1.5"]::after { width: 30px }
.kuchikomiAverageStar[data-kuchikomi-average-star="2.0"]::after { width: 40px }
.kuchikomiAverageStar[data-kuchikomi-average-star="2.5"]::after { width: 50px }
.kuchikomiAverageStar[data-kuchikomi-average-star="3.0"]::after { width: 60px }
.kuchikomiAverageStar[data-kuchikomi-average-star="3.5"]::after { width: 70px }
.kuchikomiAverageStar[data-kuchikomi-average-star="4.0"]::after { width: 80px }
.kuchikomiAverageStar[data-kuchikomi-average-star="4.5"]::after { width: 90px }
.kuchikomiAverageStar[data-kuchikomi-average-star="5.0"]::after { width: 100px }
.kuchikomiDistribution {
	color: #333333;
	display: table;
	font-size: 11px;
	width: 100%;
}
.kuchikomiDistribution > div {
	display: table-row;
}
.kuchikomiDistribution > div > * {
	display: table-cell;
	vertical-align: middle;
}
.kuchikomiDistributionMeter {
	padding: 0 8px;
	position: relative;
	width: 100%;
}
.kuchikomiDistributionMeterBg {
	background-color: #EEEEEE;
	border-radius: 4px;
	height: 8px;
}
.kuchikomiDistributionMeterBar {
	background-color: #D36985;
	border-radius: inherit;
	height: 100%;
	min-width: 8px;
	width: 0;
}
.kuchikomiDistributionCount {
	text-align: right;
	white-space: nowrap;
}
.kuchikomiDistributionCount::after {
	content: "\4EF6"; /* 件 */
}
.kuchikomiBreakdown {
	background-color: #F6F6F6;
	border-radius: 4px;
	display: flex;
	font-weight: bold;
	justify-content: space-evenly;
	margin-top: 12px;
	padding: 8px 0;
}
.kuchikomiBreakdownItem {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.kuchikomiBreakdownItem > div {
	align-items: center;
	display: flex;
}
.kuchikomiBreakdownItem > div > dt {
	color: #665555;
	font-size: 11px;
	margin-right: 4px;
	width: 80px;
}
.kuchikomiBreakdownItem > div > dd {
	color: #C43357;
	font-size: 14px;
}
.kuchikomiSubstituteTxt {
	color: #333333;
	font-size: 11px;
	text-align: center;
	width: 100%;
}

/* 口コミ絞り込み */
.reviewFilterTabs {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	line-height: 1;
	margin-top: 8px;
}
@media screen and (max-width: 374px) {
	.reviewFilterTabs {
		margin-left: -6px;
		margin-right: -6px;
	}
}
.reviewFilterTabs > dt {
	color: #999999;
	font-size: 12px;
	font-weight: bold;
}
.reviewFilterTabs > dd {
	align-items: center;
	background-color: #FFFFFF;
	border: 1px solid #CCCCCC;
	border-bottom: 2px solid #CCCCCC;
	border-radius: 4px;
	box-sizing: border-box;
	color: #666666;
	display: flex;
	height: 35px;
	margin-left: 6px;
	position: relative;
	width: 78px;
}
.reviewFilterTabs a {
	color: #666666;
	font-size: 11px;
	padding: 12px 0 13px;
	text-align: center;
	text-decoration: none;
	width: 100%;
}
.reviewFilterTabs > .isFilterSelected {
	background-color: #999999;
	border: 0;
	position: relative;
}
.reviewFilterTabs > .isFilterSelected > a {
	position: absolute;
}
.reviewFilterTabs > .isFilterSelected > .filterLink {
	left: 0;
	padding: 18px 0;
	width: 48px;
}
.reviewFilterTabs > .isFilterSelected > .filterName {
	font-size: 11px;
	overflow: hidden;
	padding-left: 5px;
	text-align: center;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 55px;
}
.reviewFilterTabs > .isFilterSelected > .resetFilterLink {
	right: -7px;
	width: 36px;
}
.reviewFilterTabs > .isFilterSelected > .filterName,
.reviewFilterTabs > .isFilterSelected > .resetFilterLink {
	color: #FFFFFF;
}

/* スタッフ募集リンク */
.slnDataRecruitLinkWrap {
	background-color: #F5F3F1;
	padding: 12px 16px 0;
	text-align: right;
}
.slnDataRecruitLink {
	background: url(/CSP/img/svg/sp/icon_external_link.svg?switch=2025062510) 100% calc(50% - 1px) / 14px no-repeat;
	display: inline-block;
	font-size: 12px;
	font-weight: bold;
	padding-right: 18px;
	position: relative;
	text-decoration: none;
}
.slnDataRecruitLink::after {
	content: "";
	height: 28px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
	z-index: 3;
}

/************************************************************
 * 口コミ一覧絞り込み
 ************************************************************/
.rating {
	color: #666666;
	font-size: 0;
	text-align: center;
}
.rating > dt,
.rating > dd {
	display: inline-block;
	font-size: 10px;
}
.reviewFilterConditionHeader {
	background-color: #CC4466;
	padding: 6px 0;
}
.reviewFilterConditionWrapper {
	padding-bottom: 108px;
}
.reviewFilterConditionWrapper > div {
	display: none;
	padding: 5px 10px;
}
.reviewFilterConditionWrapper > div.isCurrentSelection {
	display: block;
}
.reviewFilterMenuList > li,
.reviewFilterScoreList > li,
.reviewFilterAgeList > li {
	align-items: center;
	border-bottom: 1px solid #EEEEEE;
	display: flex;
	padding: 15px 0;
}
.reviewFilterAgeList > li.other {
	padding: 6px 0;
}
.reviewFilterConditionCategory {
	display: flex;
}
.reviewFilterConditionCategory > li {
	border-bottom: 2px solid #CCCCCC;
	color: #999999;
	flex: 1;
	padding: 10px 0;
	text-align: center;
}
.reviewFilterConditionCategory > .isCurrentSelection {
	border-color: #CC4466;
	color: #CC4466;
	font-weight: bold;
}
.reviewFilterSelectedWrapper {
	background-color: #FFFFFF;
	border-top: 1px solid #CCCCCC;
	bottom: 0;
	box-sizing: border-box;
	padding: 10px;
	position: fixed;
	width: 100%;
}
/* for iOS15 Safari */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	_::-webkit-full-page-media, _:future, :root .reviewFilterSelectedWrapper {
		padding-bottom: calc(10px + env(safe-area-inset-bottom));
	}
}
.reviewFilterSelectedList {
	display: none;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
}
.reviewFilterSelectedList.isSelectionExist {
	display: flex;
	margin-bottom: 20px;
}
.reviewFilterSelectedList.isSelectionExist::-webkit-scrollbar {
	background: transparent;
	height: 0;
}
.reviewFilterSelectedList > li {
	align-items: center;
	border: 1px solid #CCCCCC;
	border-radius: 15px;
	box-sizing: border-box;
	display: flex;
	height: 28px;
	padding: 0 35px 0 8px;
	position: relative;
}
.reviewFilterSelectedList > li + li {
	margin-left: 10px;
}
.reviewFilterSelectedList span {
	align-items: center;
	display: flex;
	height: 36px;
	justify-content: center;
	position: absolute;
	right: 0;
	width: 36px;
}
.revreviewFilterBtns {
	display: flex;
	justify-content: space-between;
}
.reviewFilterCancelBtn,
.reviewFilterSubmitBtn {
	border: 0;
	border-radius: 4px;
	color: #FFFFFF;
	font-size: 14px;
	height: 40px;
	padding: 0;
}
@media screen and (max-width: 320px) {
	.reviewFilterCancelBtn,
	.reviewFilterSubmitBtn {
		font-size: 12px;
	}
}
.reviewFilterCancelBtn {
	background-color: #999999;
	width: 105px;
}
.reviewFilterSubmitBtn {
	align-items: center;
	background-color: #D36985;
	display: flex;
	flex: 1;
	justify-content: center;
	margin-left: 10px;
	padding-left: 7px;
}
.reviewFilterSubmitBtn > .reviewFilterReviewCount::after {
	content: "件）";
}
.reviewFilterReviewMeterWrapper {
	background-color: #EEEEEE;
	border-radius: 2px;
	display: block;
	height: 5px;
	margin-left: 10px;
	width: calc(175 / 355 * 100%);
}
.reviewFilterReviewMeter {
	background-color: #999999;
	border-radius: 2px;
	display: block;
	height: 100%;
	width: 0;
}
.reviewFilterReviewCount::before {
	content: "（";
}
.reviewFilterReviewCount::after {
	content: "）";
}
.reviewFilterCategory {
	display: flex;
}
.reviewFilterScoreList > li > .reviewFilterCategory {
	min-width: 75px;
}
.reviewFilterAgeList > li > .reviewFilterCategory {
	min-width: 130px;
}
.reviewFilterAgeList > li.other > .reviewFilterCategory {
	display: block;
	font-size: 0;
}
.reviewFilterAgeList > li.other .reviewFilterAgeName {
	display: inline;
	font-size: 12px;
}
.reviewFilterAgeList > li.other .reviewFilterReviewCount {
	font-size: 12px;
}
.reviewFilterMenuList > li.isSelectedFilter,
.reviewFilterScoreList > li.isSelectedFilter,
.reviewFilterAgeList > li.isSelectedFilter {
	color: #CC4466;
	font-weight: bold;
	position: relative;
}
.reviewFilterMenuList > li.isSelectedFilter .reviewFilterReviewMeter,
.reviewFilterScoreList > li.isSelectedFilter .reviewFilterReviewMeter,
.reviewFilterAgeList > li.isSelectedFilter .reviewFilterReviewMeter {
	background-color: #CC4466;
}
.reviewFilterMenuList > li.isSelectedFilter .reviewFilterReviewCount,
.reviewFilterScoreList > li.isSelectedFilter .reviewFilterReviewCount,
.reviewFilterAgeList > li.isSelectedFilter .reviewFilterReviewCount {
	font-weight: normal;
}
.reviewFilterMenuList > li.isSelectedFilter::after,
.reviewFilterScoreList > li.isSelectedFilter::after,
.reviewFilterAgeList > li.isSelectedFilter::after {
	box-shadow: inset -3px -3px 0 0 #CC4466;
	content: "";
	height: 11px;
	position: absolute;
	right: calc(13 / 375 * 100vw);
	transform: translateY(-1px) rotate(45deg);
	width: 7px;
}
.reviewFilterMenuList > li.noReviewQuantity,
.reviewFilterScoreList > li.noReviewQuantity,
.reviewFilterAgeList > li.noReviewQuantity {
	color: #CCCCCC;
}
/* メニュー備考欄 */
.slnMenuRemarksWrap {
	bottom: 0;
	position: fixed;
	width: 100%;
	z-index: 1;
}
/* for iOS15 Safari */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	_::-webkit-full-page-media, _:future, :root .slnMenuRemarksWrap {
		background-color: #FFFFFF;
		padding-bottom: env(safe-area-inset-bottom);
	}
}
.slnMenuRemarksOpenBtn {
	background-color: #EEEEEE;
	color: #333333 !important;
	display: block;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
	padding: 12px 16px;
	position: relative;
	text-decoration: none;
}
.slnMenuRemarksOpenBtn::before {
	background-image: url(/CSP/img/common/smb/btn_arrow_top_accordion.png?switch=2025062510);
	background-size: cover;
	content: "";
	height: 20px;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}
.slnMenuRemarksOpenBtn.isOpened::before {
	background-image: url(/CSP/img/common/smb/btn_arrow_bottom_accordion.png?switch=2025062510);
}
.slnMenuRemarks {
	background-color: #FFFFFF;
	color: #333333;
	font-size: 10px;
	line-height: 1.4;
	padding: 12px 16px;
	word-wrap: break-word;
}

/* スタイル詳細 */
.mystyleBtn > .btnBmAfter {
	line-height: 42px;
	text-align: center;
}
.mystyleBtn > .btnBmAfter > .btnBmAfterTxt {
	padding-left: 20px;
	position: relative;
}
.mystyleBtn > .btnBmAfter > .btnBmAfterTxt::before {
	background-image: url(/CSP/img/svg/sp/icon_bookmark_on_bt.svg?switch=2025062510);
	background-size: contain;
	content: "";
	height: 20px;
	left: -4px;
	position: absolute;
	top: -2px;
	width: 20px;
}

/*****************************************************
 * クーポン一覧での画像の拡大表示・関連画像表示
 *****************************************************/
/* 複数クーポン画像のアイコン */
.couponMoreIcn::before {
	background: url(/CSP/img/bt/smb/icons/icn_coupon_tab.png?switch=2025062510) center / 18px;
	content: "";
	height: 18px;
	position: absolute;
	right: 0;
	top: 0;
	width: 18px;
}

/* クーポンモーダル */
.couponModal {
	background-color: rgba(51,51,51,0.8);
	height: 100%;
	left: 0;
	top: 0;
	z-index: 1000; /* pageTopのボタンのz-indexが999になっているため */
}
.couponModal,
.isFixed {
	position: fixed;
	width: 100%;
}
.couponModalCloseBtn {
	display: inline-block;
	left: 8px;
	padding: 12px;
	position: relative;
	top: 8px;
}
.couponModalCloseBtnImg {
	height: 20px;
	width: 20px;
}
.couponCarouselWrap {
	height: 75%;
	overflow: hidden;
	position: relative;
	width: 100vw;
}
.couponCarousel {
	display: none;
	height: 100%;
	-webkit-overflow-scrolling: touch;
	position: absolute;
	transform: translate3d(0, 0, 0);
	transition-duration: 0.2s;
	-webkit-transition-timing-function: ease-in;
	transition-timing-function: ease-in;
}
.couponCarousel.isActive {
	display: block;
}
.couponCarousel > li {
	float: left;
	height: 100%;
	width: 100vw;
}
.couponCarousel > li > img {
	height: 100%;
	object-fit: contain;
	pointer-events: none;
	width: 100%;
}
.couponModalCloseBtnWrapper,
.couponCarouselControl {
	height: calc(100% / 8);
}
.couponCarouselControl {
	align-items: center;
	color: #FFFFFF;
	display: flex;
	font-size: 14px;
	justify-content: center;
}
.carouselStatus {
	text-align: center;
	width: 60px;
}
.carouselLeftArrow,
.carouselRightArrow {
	line-height: 0;
	padding: 14px;
}
.carouselLeftArrow.isHidden,
.carouselRightArrow.isHidden {
	visibility: hidden;
}
.carouselArrowImg {
	height: 16px;
	width: 16px;
}
.icnSlnLine,
.icnSlnMail {
	align-items: center;
	display: flex;
}
.icnSlnLine::before,
.icnSlnMail::before {
	background-size: contain;
	content: "";
	height: 36px;
	margin-right: 8px;
	width: 36px;
}
.icnSlnLine::before {
	background-image: url(/CSP/img/svg/sp/icon_line.svg?switch=2025062510);
}
.icnSlnMail::before {
	background-image: url(/CSP/img/svg/sp/icon_mail_bt.svg?switch=2025062510);
}
.slnShareLinkList {
	margin-top: 16px;
	padding: 0 6px;
}
.slnShareLinkList > li {
	position: relative;
}
.slnShareLinkList > li + li {
	margin-top: 12px;
}
.slnBtmBtnList {
	margin-top: 24px;
	padding: 0 16px;
}
.slnBtmBtnList > li + li {
	margin-top: 12px;
}
.staffBtnList {
	margin-top: 10px;
}
.staffBtnList > li + li {
	margin-top: 8px;
}

/* icnAMap */
.icnSalonMap {
	background: url(/CSP/img/svg/sp/icon_map.svg?switch=2025062510) #FFFFFF left 4px center / 14px no-repeat;
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	box-sizing: border-box;
	color: #837373 !important;
	display: inline-block;
	font-weight: bold;
	line-height: 1;
	min-width: 52px;
	padding: 5px 4px 5px 18px;
	position: relative;
	text-align: center;
	text-decoration: none;
	vertical-align: bottom;
}
.icnSalonMap::before {
	content: "";
	height: 44px;
	left: -1px;
	position: absolute;
	top: -11px;
	width: 52px;
}
.verticalDataList .icnSalonMap {
	position: absolute;
	right: 10px;
	top: 12px;
}

/* サロンの利用傾向 */
.salonUsageTrendsWrap {
	display: none;
}
.averageCostTbl {
	border: 1px solid #E0E1E2;
	border-collapse: collapse;
	color: #333333;
	margin-top: 12px;
	width: 100%;
}
.averageCostTbl th {
	background-color: #F6F6F6;
	border-top: 1px solid #E0E1E2;
	padding: 8px;
	width: 40%;
}
.averageCostTbl td {
	border-top: 1px solid #E0E1E2;
	font-size: 14px;
	padding: 8px;
}

/* 男女比率グラフ */
.reserveRatioWrap {
	margin-top: 12px;
}
.reserveRatioHead {
	color: #665555;
	font-size: 12px;
}
.reserveGendersRatioGraphWrap {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-top: 12px;
}
.reserveGendersRatioGraph {
	border-radius: 50%;
	height: 64px;
	position: relative;
	width: 64px;
}
.reserveGendersRatioGraph > span {
	background-color: #FFFFFF;
	height: 32px;
	left: 50%;
	position: absolute;
	top: 25%;
	transform-origin: bottom center;
	width: 2px;
}
.reserveGendersRatioGraph > span:first-child {
	transform: translate(-50%, -50%);
}
.reserveGendersRatioGraph::after {
	background-color: #FFFFFF;
	border-radius: 50%;
	content: "";
	height: 40px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 40px;
}
.reserveGendersRatioList {
	margin-left: 32px;
}
.reserveGendersRatioList > li + li {
	margin-top: 4px;
}
.reserveGenderWrap {
	align-items: center;
	color: #333333;
	display: flex;
}
.reserveGenderWrap > dd {
	margin-left: 20px;
}
.reserveGenderWrap::before {
	border-radius: 50%;
	content: "";
	height: 12px;
	margin-right: 8px;
	width: 12px;
}
.reserveGenderWrap.ladies::before {
	background-color: #D36985;
}
.reserveGenderWrap.mens::before {
	background-color: #E994A8;
}
.reserveGenderWrap.others::before {
	background-color: #F4C4CC;
}

/* 年代比率グラフ */
.ageRatioGraphInner {
	color: #333333;
	font-size: 10px;
	position: relative;
}
.ageRatioGraphList::before {
	background-color: #E0E1E2;
	content: "";
	height: 100%;
	left: 48px;
	position: absolute;
	top: 0;
	width: 1px;
}
.ageRatioGraphList > li {
	align-items: center;
	display: flex;
}
.ageRatioGraphList > li:first-child {
	padding-top: 8px;
}
.ageRatioGraphList > li:last-child {
	padding-bottom: 8px;
}
.ageRatioGraphList > li + li {
	margin-top: 4px;
}
.ageRatioGraphDataTxt {
	padding-right: 8px;
	white-space: nowrap;
	width: 41px;
}
.ageRatioGraphData {
	flex: 1;
}
.ageRatioGraphData span {
	background-color: #D36985;
	border-radius: 0 5px 5px 0;
	display: block;
	height: 10px;
}
.ageRatioGraphDataPercentage {
	padding-left: 16px;
	text-align: right;
	white-space: nowrap;
	width: 21px;
}

/* 人気のクーポン */
.salonUsageTrendsTabContentWrapper > li {
	display: none;
}
.salonUsageTrendsTabContentWrapper > li.isCr {
	display: block;
}
.dataCollectTxt {
	color: #909090;
	font-size: 12px;
}

/* 絞り込み */
.hairStyleListHeader {
	background-color: #F6F6F6;
	padding: 16px;
	position: relative;
}
.styleSearchContainer {
	font-size: 11px;
	padding-right: 74px;
}
.styleSearchContainer + .styleSearchContainer {
	margin-top: 4px;
}
.styleSearchContainer dt {
	color: #6D6D6D;
	margin-right: 4px;
	width: 55px;
}
.styleSearchContainer dd {
	-webkit-box-orient: vertical;
	color: #333333;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	overflow: hidden;
}
.styleSearchBtn {
	background-color: #FFFFFF;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	color: #333333 !important;
	font-weight: bold;
	line-height: 1;
	padding: 11px 8px;
	position: absolute;
	right: 16px;
	text-decoration: none;
	top: 16px;
}
.styleFilteredResult {
	color: #333333;
	font-size: 11px;
	margin-top: 8px;
}
.styleFilteredResult > span {
	font-size: 16px;
}
.filteredNum {
	color: #C43357;
	font-weight: bold;
}

/* スタイル画像一覧 */
.imageCassetteList {
	display: flex;
	flex-wrap: wrap;
	margin-top: 2px;
}
.imageCassetteList li {
	width: calc((100% - 4px) / 3);
}
.imageCassetteList li + li {
	margin-left: 2px;
}
.imageCassetteList li:nth-of-type(3n + 1) {
	margin-left: 0;
}
.imageCassetteList li:nth-of-type(n + 4) {
	margin-top: 2px;
}
.imageCassetteList a img {
	height: 100% !important;
	width: 100% !important;
}
.styleDetailImgCassetteList {
	display: flex;
	flex-wrap: wrap;
	margin: 16px -10px 0;
}
.styleDetailImgCassetteList > li {
	width: calc((100% - 4px) / 3);
}
.styleDetailImgCassetteList > li + li {
	margin-left: 2px;
}
.styleDetailImgCassetteList > li:nth-of-type(3n + 1) {
	margin-left: 0;
}
.styleDetailImgCassetteList > li:nth-of-type(n + 4) {
	margin-top: 2px;
}
.styleDetailImgCassetteList img {
	height: 100% !important;
	width: 100% !important;
}

/* ベストスタイルラベル スタイル一覧 */
.awardBestStyleLabel {
	background-color: rgba(159, 21, 71, 0.8);
	bottom: 8px;
	position: absolute;
	width: 100%;
}
.awardBestStyleLabelText {
	color: #FFFFFF;
	font-size: 10px;
	line-height: 18px;
	padding-left: 32px;
	position: relative;
}
.awardBestStyleLabelText::before {
	background: url(/CSP/img/svg/sp/icon_best_style.svg?switch=2025062510) center / contain;
	content: "";
	height: 28px;
	left: 4px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
}
.styleDetailTtl {
	color: #CC4466;
	font-size: 14px;
	font-weight: bold;
	margin-top: 12px;
	overflow-wrap: break-word;
	padding: 0 10px;
	word-break: break-all;
}

/* アングル写真 */
.imgStyleAngleList {
	margin-top: 24px;
}
.imgStyleAngleList > li {
	display: none;
	position: relative;
}
.imgStyleAngleList > li.isActive {
	display: block;
}
.imgStyleAngleList img {
	height: 100% !important;
	width: 100% !important;
}

/* ベストスタイルラベル スタイル詳細 */
.awardStyleLabelDetail {
	background-color: rgba(159, 21, 71, 0.8);
	bottom: 16px;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
}
.awardStyleLabelDetailText {
	color: #FFFFFF;
	font-size: 13px;
	font-weight: bold;
	line-height: 28px;
	padding-left: 60px;
	position: relative;
}
.awardStyleLabelDetailText::before {
	background: url(/CSP/img/svg/sp/icon_best_style.svg?switch=2025062510) center / contain;
	content: "";
	height: 46px;
	left: 12px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
}

/* 個社Topインフォアイコン */
.infoIcn {
	appearance: none;
	background: transparent;
	border: none;
	height: 20px;
	margin-left: 4px;
	outline: none;
	padding: 0;
	position: relative;
	width: 20px;
}
.infoIcn::before,
.infoIcn::after {
	border-radius: 50%;
	content: "";
	display: block;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}
.infoIcn::before {
	background-color: #FFFFFF;
	height: 16px;
	width: 16px;
}
.infoIcn::after {
	background: transparent url(/CSP/img/svg/sp/icon_help_brown.svg?switch=2025062510) 50% / 20px no-repeat;
	height: 20px;
	width: 20px;
	padding: 4px;
}

/* 個社Topスマート支払い モーダル */
.onlinePayInfo {
	display: flex;
	margin-top: 12px;
}
.onlinePayInfoModal {
	background-color: rgba(51, 51, 51, 0.8);
	bottom: 0;
	left: 0;
	opacity: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
	visibility: hidden;
	z-index: 11;
}
.onlinePayInfoModal.isOpened {
	opacity: 1;
	visibility: visible;
}
.onlinePayInfoModalBody {
	background-color: #FFFFFF;
	border-radius: 8px;
	left: 50%;
	max-width: 343px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 32px);
}
.onlinePayInfoModalBody > img {
	border-radius: 8px 8px 0 0;
	max-width: 100%;
}
.onlinePayInfoModalBody.isOpened {
	opacity: 1;
	visibility: visible;
}
.onlinePayInfoCloseBtn {
	background: transparent url(/CSP/img/svg/sp/icon_close_white.svg?switch=2025062510) center / contain no-repeat;
	height: 24px;
	left: 4px;
	position: absolute;
	top: -40px;
	width: 24px;
}
.onlinePayInfoModalBtnWrap {
	border-top: 1px solid #E0E1E2;
	padding: 16px 0;
}

@media (orientation: landscape) {
	.onlinePayInfoModalBodyWrap {
		height: 100%;
		left: 50%;
		max-width: 343px;
		overflow: auto;
		overflow-Y: scroll;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
		width: calc(100% - 32px);
	}
	.onlinePayInfoModalBodyWrap::-webkit-scrollbar {
		display: none;
	}
	.onlinePayInfoModalBody {
		left: 0;
		margin: 60px 0 80px;
		position: relative;
		top: 0;
		transform: none;
		width: 100%;
	}
}

/* 個社 スタイル詳細 動画スタイル */
.video-js {
	height: auto;
	width: 100%;
}
.styleVideoWrap {
	position: relative;
}
.styleVideoWrap .video-js {
	background-color: #FFFFFF;
}
.styleVideoWrap .vjs-poster.isActive {
	display: inline-block;
}
.videoPlayBtn {
	height: 49px;
	left: 50%;
	opacity: 1;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 49px;
	z-index: 1;
}
.styleVideoWrap .videoPlayBtn {
	pointer-events: none;
}
.styleVideoWrap .vjs-playing .videoPlayBtn {
	animation: 0.5s pauseFade 2s forwards;
}
.kodawariVideoWrap.isActive .vjs-paused .videoPlayBtn {
	animation: none;
	opacity: 1;
}
.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar {
	opacity: 1;
	pointer-events: auto;
}
@keyframes pauseFade {
	from { opacity: 1; }
	to { opacity: 0; }
}
.videoPlayBtn::before {
	background: center / contain no-repeat;
	content: "";
	display: block;
	height: 100%;
}
.styleVideoWrap .vjs-paused .videoPlayBtn::before,
.kodawariVideoWrap .vjs-paused .videoPlayBtn::before {
	background-image: url(/CSP/img/svg/sp/btn_play.svg?switch=2025062510);
}
.styleVideoWrap .vjs-playing .videoPlayBtn::before,
.kodawariVideoWrap .vjs-playing .videoPlayBtn::before {
	background-image: url(/CSP/img/svg/sp/btn_pause.svg?switch=2025062510);
}
.kodawariVideoWrap.isThumbnail .vjs-has-started.vjs-paused > .vjs-poster {
	display: block;
}
.videoPlayTime {
	background-color: rgba(51,51,51,0.8);
	border-radius: 2px;
	bottom: 9px;
	color: #FFFFFF;
	font-weight: bold;
	line-height: 1;
	padding: 4px;
	position: absolute;
	right: 9px;
}

/* 個社 こだわり 動画スタイル */
.kodawariVideoWrap {
	background-color: rgba(51, 51, 51, 0.8);
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	overflow: hidden;
	position: relative;
}
.kodawariVideoWrap .video-js {
	background-color: transparent;
}
.kodawariVideoWrap .vjs-fluid:not(.vjs-audio-only-mode) {
	padding-top: 56.23%;
}
.kodawariVideoWrap .vjs-tech {
	height: auto;
}
.kodawariVideoWrap .vjs-has-started .vjs-tech {
	height: 100%;
}
.kodawariVideoWrap .vjs-poster {
	background-color: transparent;
}
.kodawariVideoWrap .vjs-control-bar {
	align-items: center;
	background: linear-gradient(180deg, rgba(51,51,51,0) 0%, rgba(51,51,51,0.3) 34.01%, rgba(51,51,51,0.6) 100%);
	height: 36px;
	opacity: 1;
	padding: 0 6px 0 16px;
	transition: none !important;
	z-index: 1;
}
.kodawariVideoWrap .vjs-progress-holder,
.kodawariVideoWrap .vjs-play-progress {
	border-radius: 2px;
}
.kodawariVideoWrap .vjs-remaining-time .vjs-control-text + span,
.kodawariVideoWrap .vjs-remaining-time .vjs-remaining-time-display {
	display: none;
}
.kodawariVideoWrap .vjs-progress-control .vjs-progress-holder {
	background-color: rgba(255, 255, 255, 0.4);
	height: 4px;
	margin: 0 8px 0 0;
}
.kodawariVideoWrap .video-js .vjs-progress-holder .vjs-load-progress {
	display: none;
}
.kodawariVideoWrap .video-js .vjs-play-progress::before {
	align-items: center;
	display: flex;
	font-size: 12px;
	height: 32px;
	justify-content: center;
	right: -14px;
	top: -14px;
	width: 32px;
}
.kodawariVideoWrap .video-js .vjs-remaining-time {
	align-items: center;
	display: flex;
	font-size: 12px;
	padding: 0;
}
.kodawariVideoWrap .video-js .vjs-fullscreen-control {
	height: 32px;
	width: 32px;
}
.kodawariVideoWrap .video-js .vjs-fullscreen-control .vjs-icon-placeholder::before {
	background: url(/CSP/img/svg/sp/btn_video_larger_white.svg?switch=2025062510) center / 20px 20px no-repeat;
	content: "";
}
.kodawariVideoWrap .video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder::before {
	background-image: url(/CSP/img/svg/sp/btn_video_smaller.svg?switch=2025062510);
}

/* 動画読み込み中 */
.videoLoader {
	animation: videoLoaderWrapSpin 1568ms linear infinite;
	display: none;
	height: 40px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 40px;
	z-index: 1;
}
.videoLoader.isLoading {
	display: block;
}
.videoLoaderLayer {
	animation: videoLoaderLayerSpin 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
	height: 100%;
	width: 100%;
}
.videoLoaderCircleLeft,
.videoLoaderCircleRight {
	height: 100%;
	overflow: hidden;
	position: relative;
	width: 50%;
}
.videoLoaderCircleLeft {
	float: left;
}
.videoLoaderCircleRight {
	float: right;
}
.videoLoaderCircle {
	border: 4px solid #B2B2B2;
	border-bottom-color: transparent;
	border-radius: 50%;
	box-sizing: border-box;
	height: 100%;
	position: absolute;
	width: 200%;
}
.videoLoaderCircleLeft .videoLoaderCircle {
	animation: leftSpin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
	border-right-color: transparent;
	left: 0;
	transform: rotate(129deg);
}
.videoLoaderCircleRight .videoLoaderCircle {
	animation: rightSpin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
	border-left-color: transparent;
	left: -100%;
	transform: rotate(-129deg);
}
.videoLoaderWrap.dn .videoLoader,
.videoLoaderWrap.dn .videoLoaderLayer,
.videoLoaderWrap.dn .videoLoaderCircleLeft,
.videoLoaderWrap.dn .videoLoaderCircleRight,
.videoLoaderWrap.dn .videoLoaderCircle {
	animation-play-state: paused;
}

@keyframes videoLoaderWrapSpin {
	0% {
		transform: translate(-50%, -50%) rotate(0deg);
	}
	100% {
		transform: translate(-50%, -50%) rotate(360deg);
	}
}
@keyframes videoLoaderLayerSpin {
	12.5% {
		transform: rotate(135deg);
	}
	25% {
		transform: rotate(270deg);
	}
	37.5% {
		transform: rotate(405deg);
	}
	50% {
		transform: rotate(540deg);
	}
	62.5% {
		transform: rotate(675deg);
	}
	75% {
		transform: rotate(810deg);
	}
	87.5% {
		transform: rotate(945deg);
	}
	100% {
		transform: rotate(1080deg);
	}
}
@keyframes leftSpin {
	0% {
		transform: rotate(130deg);
	}
	50% {
		transform: rotate(-5deg);
	}
	100% {
		transform: rotate(130deg);
	}
}
@keyframes rightSpin {
	0% {
		transform: rotate(-130deg);
	}
	50% {
		transform: rotate(5deg);
	}
	100% {
		transform: rotate(-130deg);
	}
}

/* サロン個社タブ */
.slnStaticTab,
.slnStickyTab {
	box-shadow: 0 -4px 0 0 rgb(245, 243, 241);
	margin-top: 4px;
}
.slnStickyTab {
	position: sticky;
	top: 0;
	z-index: 2;
}
.detailHeaderShopInfo + .slnStaticTab,
.detailHeaderShopInfo + .slnStickyTab {
	box-shadow: 0 -8px 0 0 rgb(245, 243, 241);
	margin-top: 8px;
}
.vacancyExistence + .slnStickyTab {
	box-shadow: none;
	margin-top: 0;
}
.slnMainTabItems {
	background-color: #F5F3F1;
	border-bottom: 2px solid #917979;
	box-shadow: 0 12px 0 0 rgb(255, 255, 255);
	display: flex;
	justify-content: space-between;
	padding: 8px 16px 0;
}
.slnMainTabItems > li {
	height: 34px;
}
.slnMainTabItems > li.top {
	width: calc(40% - 4px);
}
.slnMainTabItems > li.couponMenu {
	width: calc(60% - 4px);
}
.slnMainTabItems > li > a {
	align-items: center;
	background-color: #FFFFFF;
	border: solid #CCCCCC;
	border-radius: 4px 4px 0 0;
	border-width: 1px 1px 0 1px;
	box-sizing: border-box;
	display: flex;
	height: 100%;
	justify-content: center;
	text-decoration: none;
}
.slnMainTabItems > li.isCurrent > a {
	border-color: #917979;
	border-width: 2px 2px 0 2px;
	box-shadow: 0 4px 0 -2px rgb(255, 255, 255);
	pointer-events: none;
}
.slnMainTabTxt {
	background-repeat: no-repeat;
	background-size: 24px;
	color: #333333;
	font-weight: bold;
	line-height: 24px;
	padding-left: 28px;
}
.slnMainTabItems > li.top .slnMainTabTxt {
	background-image: url(/CSP/img/svg/sp/icon_salon_gray.svg?switch=2025062510);
}
.slnMainTabItems > li.top.isCurrent .slnMainTabTxt {
	background-image: url(/CSP/img/svg/sp/icon_salon_bt.svg?switch=2025062510);
}
.slnMainTabItems > li.couponMenu .slnMainTabTxt {
	background-image: url(/CSP/img/svg/sp/icon_couponMenu_gray.svg?switch=2025062510);
}
.slnMainTabItems > li.couponMenu.isCurrent .slnMainTabTxt {
	background-image: url(/CSP/img/svg/sp/icon_couponMenu_bt.svg?switch=2025062510);
}
.slnMainTabItems > li.isCurrent .slnMainTabTxt {
	color: #C43357;
}
.slnSubTabItems {
	background-color: #FFFFFF;
	border-bottom: 1px solid #E0E1E2;
	display: flex;
}
.slnSubTabItems > li {
	flex: 1;
	height: 47px;
}
.slnSubTabItems > li > a {
	align-items: center;
	display: flex;
	font-size: 12px;
	height: 100%;
	justify-content: center;
	line-height: 1.3;
	position: relative;
	text-decoration: none;
}
.slnSubTabItems > li > a:link,
.slnSubTabItems > li > a:visited {
	color: #909090;
}
.slnSubTabItems > li.isCurrent > a {
	color: #665555;
	font-weight: bold;
}
.slnSubTabItems > li.isCurrent > a::after {
	background-color: #665555;
	border-radius: 1.5px;
	bottom: 0;
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	right: 0;
}

/* updatedLabel */
.withUpdatedLabel::after {
	background: url(/CSP/img/svg/sp/icon_up.svg?switch=2025062510) center / contain no-repeat;
	content: "";
	display: inline-block;
	height: calc(1em * 1.5);
	margin-left: 8px;
	vertical-align: top;
	width: 24px;
}
.blogCategory.withUpdatedLabel {
	position: relative;
}
.blogCategory.withUpdatedLabel::after {
	height: 16px;
	left: 100%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

/* selectBox */
.selectBox {
	-webkit-appearance: none;
	appearance: none;
	background: #FFFFFF url(/CSP/img/svg/sp/icon_arrow_down_gray.svg?switch=2025062510) right 8px center / 20px no-repeat;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	color: #333333;
	height: auto;
	overflow: hidden;
	padding: 8px 32px 8px 8px;
	text-overflow: ellipsis;
}
.selectBox:disabled {
	opacity: 0.3;
}
.listSubHeaderBlogItem .selectBox {
	width: 160px;
}

/* segmentedControl */
.segmentedControl {
	border: 1px solid #665555;
	border-radius: 8px;
	display: flex;
	overflow: hidden;
}
.segmentedControl > li {
	flex: 1;
}
.segmentedControl > li + li {
	border-left: 1px solid #665555;
}
.segmentedControl > li > a,
.segmentedControl > li > span {
	align-items: center;
	background-color: #FFFFFF;
	color: #665555;
	display: flex;
	height: 42px;
	justify-content: center;
	text-align: center;
	text-decoration: none;
}
.segmentedControl > li > .isCr {
	background-color: #665555;
	color: #FFFFFF;
	font-weight: bold;
}
.segmentedControl > li > .isDisabled {
	color: rgba(102, 85, 85, 0.3);
}

/* pagination */
.pagination {
	margin: 24px 16px 32px;
	text-align: center;
}
.paginationNav {
	position: relative;
}
.paginationNav > li {
	position: absolute;
	top: 0;
}
.paginationNavPrev {
	left: 0;
}
.paginationNavNext {
	right: 0;
}
.paginationNavBtn,
.paginationNavBtn:link,
.paginationNavBtn:visited {
	color: #333333;
	text-decoration: none;
}
.paginationNavBtn {
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	box-sizing: border-box;
	display: block;
	font-weight: bold;
	line-height: 1;
	padding: 11px 0;
	width: 58px;
}
@media (max-width: 374px) {
	.paginationNavBtn {
		width: 36px;
	}
}
.paginationNumList {
	display: flex;
	justify-content: center;
}
.paginationNumList > li + li {
	margin-left: 4px;
}
.paginationNum,
.paginationNum:link,
.paginationNum:visited {
	color: #909090;
	text-decoration: none;
}
.paginationNum {
	border-radius: 8px;
	display: block;
	font-weight: bold;
	line-height: 1;
	padding: 12px 0;
	width: 36px;
}
.paginationNumList > li.isCr .paginationNum {
	background-color: #D36985;
	color: #FFFFFF;
}
.paginationCount {
	color: #333333;
	margin-top: 12px;
}

/**************************************************
 * スタイル詳細／スタイリスト詳細
 **************************************************/

/* 全体 */
.styleDtl,
.stylistDtl,
.hcStyleDtl {
	border-bottom: 2px solid #D36985;
	color: #333333;
	padding-bottom: 16px;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.styleDtl,
.stylistDtl {
	padding-top: 12px;
}

/* テキストリンク */
.dtlCommonLink {
	background: url(/CSP/img/svg/sp/icon_arrow_right_navy.svg?switch=2025062510) right / 14px no-repeat;
	display: inline-block;
	font-weight: bold;
	padding-right: 16px;
	position: relative;
	text-decoration: none;
}
.dtlCommonLink::after {
	content: "";
	height: 28px;
	left: 0;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

/* スタイリスト情報 */
.dtlStylistInfo {
	align-items: flex-start;
	display: flex;
}
.dtlStylistImg {
	flex-shrink: 0;
	position: relative;
}
.dtlStylistImg::after,
.dtlStylistImg > img {
	border-radius: 4px;
}
.dtlStylistImg::after {
	border: 1px solid #E0E1E2;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
.dtlStylistImg > img {
	pointer-events: none;
}
.dtlStylistTxt {
	margin-left: 12px;
	min-width: 0;
}
.dtlStylistRank {
	color: #6D6D6D;
	font-size: 10px;
}
.dtlStylistRank > em {
	color: #C43357;
	font-size: 11px;
	font-style: normal;
}
.dtlStylistName {
	font-size: 14px;
	font-weight: bold;
}
.stylistDtl .dtlStylistName {
	font-size: 16px;
}
.dtlStylistRank + .dtlStylistName {
	margin-top: 4px;
}
.dtlStylistNameKana {
	font-size: 10px;
}
.dtlStylistCatch {
	margin-top: 4px;
}
.dtlStylistSalon {
	color: #6D6D6D;
	font-size: 11px;
	margin-top: 4px;
}
.dtlStylistGoodImage {
	margin-top: 8px;
}
.dtlStylistGoodImage > dt {
	color: #C43357;
	font-size: 11px;
}
.dtlStylistGoodImage > dd {
	margin-top: 4px;
}
.dtlStylistBtns {
	margin-top: 12px;
}
.dtlStylistBtns > li + li {
	margin-top: 8px;
}

/* スタイリストのヘアスタイル */
.dtlStyleList {
	display: flex;
	flex-wrap: wrap;
	margin-left: -16px;
	margin-right: -16px;
}
.dtlStyleList > li {
	position: relative;
	width: calc((100% - 1px * 2) / 3);
}
.dtlStyleList > li:nth-child(n + 4) {
	margin-top: 1px;
}
.dtlStyleList > li:not(:nth-child(3n - 2)) {
	margin-left: 1px;
}
.dtlStyleList > li > img {
	pointer-events: none;
	width: 100%;
}
.dtlStyleList > li > a {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

/* ボタン群 */
.dtlBtns > li + li {
	margin-top: 12px;
}
.styleDtl > .slnBtmBtnList,
.stylistDtl > .slnBtmBtnList {
	border-top: 1px solid #E0E1E2;
	margin-top: 0;
	padding: 24px 16px;
}

/**************************************************
 * スタイル詳細
 **************************************************/

/* 見出し */
.dtlStyleHead {
	background-color: #EEEEEE;
	font-size: 14px;
	font-weight: bold;
	line-height: 1;
	padding: 7px 16px;
}
.detailHeaderStyleInfo {
	background-color: #FFFFFF;
	font-size: 0;
	padding: 0px 10px 0;
}

/* セクション */
.dtlStyleSection {
	padding: 16px 16px 24px;
}
.dtlStyleSection > div + div {
	margin-top: 20px;
}

/* カルーセル */
.dtlStyleImageCarousel {
	overflow: hidden;
	position: relative;
}
.dtlStyleImageCarouselItems {
	display: flex;
	overflow: auto hidden;
	scroll-snap-type: x mandatory;
}
.dtlStyleImageCarouselItems::-webkit-scrollbar {
	display: none;
}
.dtlStyleImageCarouselItems > li {
	flex-shrink: 0;
	scroll-snap-align: center;
	scroll-snap-stop: always;
	width: 100%;
}
.dtlStyleImageCarouselItems > li > img {
	pointer-events: none;
	width: 100%;
}
.dtlStyleImageCarouselIndicator {
	display: flex;
	justify-content: center;
	margin-top: 16px;
}
.dtlStyleImageCarouselIndicator > li {
	background-color: #B2B2B2;
	border-radius: 50%;
	height: 8px;
	transition: background-color 0.1s ease-in-out;
	width: 8px;
}
.dtlStyleImageCarouselIndicator > li.isCurrent {
	background-color: #665555;
}
.dtlStyleImageCarouselIndicator > li + li {
	margin-left: 8px;
}

/* 似たスタイルを見るボタン（カタログ配下で使用） */
.dtlSimilarStyleSearchBtn {
	background: #FFFFFF url(/CSP/img/svg/sp/icon_search_similarstyle_bt.svg?switch=2025062510) 8px / 18px no-repeat;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	bottom: 16px;
	color: #333333;
	font-size: 12px;
	font-weight: bold;
	padding: 6px 8px 6px 30px;
	position: absolute;
	right: 16px;
}
.awardStyleLabelDetail + .dtlSimilarStyleSearchBtn {
	bottom: 60px;
}

/* タグ */
.dtlTagsCheck {
	display: none;
}
.dtlTags,
.dtlClickableTags { /* .dtlClickableTags はカタログ配下で使用 */
	display: flex;
	flex-wrap: wrap;
	margin-left: -8px;
	overflow: hidden;
	word-break: break-all;
}
.dtlClickableTags {
	margin-top: -7px;
}
.dtlTags.isClosed {
	max-height: 36px;
}
.dtlClickableTags.isClosed {
	max-height: 60px;
}
.dtlTagsCheck:checked + .dtlTags,
.dtlTagsCheck:checked + .dtlClickableTags {
	max-height: none;
}
.dtlTags > li {
	margin-left: 8px;
}
.dtlClickableTags > li {
	margin: 2px 0 0 8px;
}
.dtlClickableTags > li > a {
	color: #C43357;
	display: inline-block;
	font-weight: bold;
	text-decoration: none;
	line-height: 28px;
}
.dtlTags > li::before,
.dtlClickableTags > li > a::before {
	content: "#";
}
.dtlTagsBtn {
	color: #4C4C80;
	display: block;
	font-size: 12px;
	font-weight: bold;
	margin-top: 16px;
	position: relative;
	text-align: center;
}
.dtlClickableTags + .dtlTagsBtn {
	margin-top: 15px;
}
.dtlTagsBtn.isHidden {
	display: none;
}
.dtlTagsBtn::after {
	content: "";
	height: 44px;
	left: 0;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.dtlTagsBtn > span {
	background: url(/CSP/img/svg/sp/icon_arrow_down_navy.svg?switch=2025062510) right / 14px no-repeat;
	display: inline-block;
	padding-right: 16px;
}
.dtlTagsCheck:checked ~ .dtlTagsBtn > span {
	background-image: url(/CSP/img/svg/sp/icon_arrow_up_navy.svg?switch=2025062510);
}
.dtlTagsBtn > span::before {
	content: "もっと見る";
}
.dtlTagsCheck:checked ~ .dtlTagsBtn > span::before {
	content: "閉じる";
}

/* モデル情報 */
.dtlModelTbl > dl {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	min-height: 18px;
	padding-left: 40px;
	position: relative;
}
.dtlModelTbl > dl + dl {
	margin-top: 8px;
}
.dtlModelTbl > dl > dt {
	color: #6D6D6D;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.dtlModelTbl > dl > dd {
	background-color: #EEEEEE;
	color: #665555;
	font-size: 11px;
	line-height: 16px;
	margin-left: 2px;
	opacity: 0.3;
	text-align: center;
	width: calc((100% - 2px * 3) / 3);
}
.dtlModelTbl > dl > dd.isActive {
	opacity: 1;
}
.dtlModelTbl > dl.dtlModelRowMask > dd {
	background-position: center 4px;
	background-repeat: no-repeat;
	background-size: 20px;
	line-height: 1;
	padding: 25px 0 4px;
	width: calc((100% - 2px * 6) / 6);
}
.dtlModelTbl > dl.dtlModelRowMask > dd.round {
	background-image: url(/CSP/img/svg/sp/icon_facetype_round.svg?switch=2025062510);
}
.dtlModelTbl > dl.dtlModelRowMask > dd.egg {
	background-image: url(/CSP/img/svg/sp/icon_facetype_egg.svg?switch=2025062510);
}
.dtlModelTbl > dl.dtlModelRowMask > dd.square {
	background-image: url(/CSP/img/svg/sp/icon_facetype_square.svg?switch=2025062510);
}
.dtlModelTbl > dl.dtlModelRowMask > dd.reverseTriangle {
	background-image: url(/CSP/img/svg/sp/icon_facetype_reversetriangle.svg?switch=2025062510);
}
.dtlModelTbl > dl.dtlModelRowMask > dd.base {
	background-image: url(/CSP/img/svg/sp/icon_facetype_base.svg?switch=2025062510);
}
.dtlModelTbl > dl.dtlModelRowMask > dd.long {
	background-image: url(/CSP/img/svg/sp/icon_facetype_long.svg?switch=2025062510);
}
.dtlModelTbl > dl.dtlModelRowAge > dd {
	width: calc((100% - 2px * 4) / 4);
}
.dtlModelTbl > dl.dtlModelRowAge > dd:nth-of-type(n + 5) {
	margin-top: 2px;
}

/* サロン情報（カタログ配下で使用） */
.dtlSalonName {
	font-size: 14px;
	font-weight: bold;
}
.dtlSalonImgs {
	display: flex;
	margin-top: 12px;
}
.dtlSalonImgs > li {
	position: relative;
	width: calc((100% - 8px) / 2);
}
.dtlSalonImgs > li + li {
	margin-left: 8px;
}
.dtlSalonImgs > li:only-child::before {
	background: #F4F4F4 url(/CSP/img/common/logo/img_hpb_logo_200-66.png?switch=2025062510) center / 63% no-repeat;
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	bottom: 0;
	box-sizing: border-box;
	content: "";
	left: calc(100% + 8px);
	position: absolute;
	top: 0;
	width: 100%;
}
.dtlSalonImgs > li > img,
.dtlSalonImgs > li::after {
	border-radius: 4px;
}
.dtlSalonImgs > li > img {
	pointer-events: none;
	width: 100%;
}
.dtlSalonImgs > li::after {
	border: 1px solid #E0E1E2;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
.dtlSalonInfo {
	display: flex;
	flex-wrap: wrap;
	margin-top: 12px;
}
.dtlSalonInfo > li {
	background: left top / 20px no-repeat;
	padding: 1px 0 1px 24px;
}
.dtlSalonInfo > li.access {
	background-image: url(/CSP/img/svg/sp/icon_access_gray.svg?switch=2025062510);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}
.dtlSalonInfo > li.kuchikomi,
.dtlSalonInfo > li.price {
	margin-top: 4px;
}
.dtlSalonInfo > li.kuchikomi {
	background-image: url(/CSP/img/svg/sp/icon_kuchikomi_gray.svg?switch=2025062510);
}
.dtlSalonInfo > li.price {
	background-image: url(/CSP/img/svg/sp/icon_price_gray.svg?switch=2025062510);
}
.dtlSalonInfo > li.kuchikomi + li.price {
	margin-left: 16px;
}
.dtlSalonInfo > li.kuchikomi::before {
	content: "口コミ\a0";
}
.dtlSalonInfo > li.price::before {
	content: "カット\a0";
}
.dtlSalonBtns {
	margin-top: 16px;
}
.dtlSalonBtns > li + li {
	margin-top: 12px;
}

/* 似ているスタイルモーダル（カタログ配下で使用） */
.dtlSimilarStyleModalOverlay {
	background-color: rgba(51, 51, 51, 0.8);
	bottom: 0;
	left: 0;
	opacity: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
	visibility: hidden;
	z-index: 2;
}
.dtlSimilarStyleModalOverlay.isOpened {
	opacity: 1;
	visibility: visible;
}
.dtlSimilarStyleModal {
	align-items: center;
	background-color: #FFFFFF;
	border-radius: 8px 8px 0 0;
	bottom: 0;
	left: 0;
	overflow-y: hidden;
	position: fixed;
	right: 0;
	top: 100%;
	transition: top 0.3s ease-in-out;
	z-index: 2;
}
.dtlSimilarStyleModal.isOpened {
	top: 56px;
}
.dtlSimilarStyleModalHead {
	background-color: #FFFFFF;
	border-bottom: 1px solid #E0E1E2;
	padding: 16px 0;
}
.dtlSimilarStyleModalCloseBtn {
	appearance: none;
	background: url(/CSP/img/svg/sp/icon_close_bt.svg?switch=2025062510) center / 24px no-repeat;
	border: none;
	height: 24px;
	left: 16px;
	padding: 0;
	position: absolute;
	top: 16px;
	width: 24px;
}
.dtlSimilarStyleModalCloseBtn::after {
	content: "";
	height: 44px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 44px;
}
.dtlSimilarStyleModalHeadTxt {
	color: #665555;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
.dtlSimilarStyleModalItems {
	display: flex;
	flex-wrap: wrap;
	max-height: calc(100% - 57px);
	overflow-y: auto;
}
.dtlSimilarStyleModalItems > li {
	position: relative;
	width: calc((100% - 2px) / 3);
}
.dtlSimilarStyleModalItems > li::before {
	content: "";
	display: block;
	padding-top: calc(4 / 3 * 100%);
}
.dtlSimilarStyleModalItems > li:nth-child(n + 4) {
	margin-top: 1px;
}
.dtlSimilarStyleModalItems > li:not(:nth-child(3n - 2)) {
	margin-left: 1px;
}
.dtlSimilarStyleModalItems > li > a {
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
.dtlSimilarStyleModalItems > li > a > img {
	pointer-events: none;
	width: 100%;
}

/**************************************************
 * スタイリスト詳細
 **************************************************/

/* 何でもフォト */
.dtlStylistPhoto {
	display: flex;
	margin-left: -16px;
	margin-right: -16px;
	overflow: auto hidden;
	padding: 0 16px;
}
.dtlStylistPhoto::-webkit-scrollbar {
	display: none;
}
.dtlStylistPhoto > li {
	align-items: flex-start;
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	box-sizing: border-box;
	display: flex;
	flex-shrink: 0;
	padding: 12px;
	width: calc(100% - 16px);
}
.dtlStylistPhoto > li:only-child {
	width: 100%;
}
.dtlStylistPhoto > li + li {
	margin-left: 8px;
}
.dtlStylistPhotoImg {
	border-radius: 4px;
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
}
.dtlStylistPhotoImg::after {
	border: 1px solid #E0E1E2;
	border-radius: inherit;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
.dtlStylistPhotoImg > img {
	height: 120px;
	object-fit: contain;
	pointer-events: none;
	width: 90px;
}
.dtlStylistPhotoTxt {
	margin-left: 12px;
	min-width: 0;
}

/* 新着ブログ */
.dtlBlog {
	border: 1px solid #E0E1E2;
	border-radius: 8px;
}
.dtlBlog > li {
	align-items: flex-start;
	background: url(/CSP/img/svg/sp/icon_arrow_right_grey.svg?switch=2025062510) right 12px center / 20px no-repeat;
	display: flex;
	padding: 12px 40px 12px 12px;
	position: relative;
}
.dtlBlog > li + li {
	border-top: 1px solid #E0E1E2;
}
.dtlBlogImg {
	border-radius: 4px;
	flex-shrink: 0;
	overflow: hidden;
	position: relative;
}
.dtlBlogImg::after {
	border: 1px solid #E0E1E2;
	border-radius: inherit;
	bottom: 0;
	content: "";
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
.dtlBlogImg > img {
	height: 90px;
	object-fit: contain;
	pointer-events: none;
	width: 90px;
}
.dtlBlogTxt {
	min-width: 0;
}
.dtlBlogImg + .dtlBlogTxt {
	margin-left: 12px;
}
.dtlBlogCategory {
	background-color: #FFF0F5;
	color: #D52055;
	display: inline-block;
	font-size: 10px;
	line-height: 16px;
	padding: 0 8px;
}
.dtlBlogTitle {
	font-size: 14px;
	font-weight: bold;
	margin-top: 4px;
}
.dtlBlogDate {
	margin-top: 4px;
}
.dtlBlog > li > a {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

/* スケジュール */
.dtlCalendarBody {
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	position: relative;
}
.dtlCalendarSwitchBtns {
	display: flex;
	height: 24px;
	justify-content: space-between;
	margin: 0 8px;
	position: absolute;
	top: 16px;
	width: calc(100% - 16px);
}
.dtlCalendarSwitchBtns > li > button {
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	background-size: contain;
	border: none;
	height: 100%;
	padding: 0;
	position: relative;
	width: 24px;
}
.dtlCalendarSwitchBtns > li.prev > button {
	background-image: url(/CSP/img/svg/sp/icon_arrow_left_gray.svg?switch=2025062510);
}
.dtlCalendarSwitchBtns > li.next > button {
	background-image: url(/CSP/img/svg/sp/icon_arrow_right_grey.svg?switch=2025062510);
}
.dtlCalendarSwitchBtns > li > button.isInactive {
	opacity: 0.3;
	pointer-events: none;
}
.dtlCalendarSwitchBtns > li > button::after {
	content: "";
	height: 44px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 44px;
}
.dtlCalendarItems {
	display: flex;
	overflow: hidden;
	scroll-snap-type: x mandatory;
}
.dtlCalendarItems::-webkit-scrollbar {
	display: none;
}
.dtlCalendarItems > li {
	flex-shrink: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	width: 100%;
}
.dtlCalendarHead {
	color: #665555;
	font-size: 16px;
	font-weight: bold;
	padding: 16px 0;
	text-align: center;
}
.dtlCalendarTbl {
	table-layout: fixed;
	width: 100%;
}
.dtlCalendarTbl tr > *:first-child {
	color: #CC0000;
}
.dtlCalendarTbl tr > *:last-child {
	color: #1565C0;
}
.dtlCalendarTbl th {
	background-color: #EEEEEE;
	font-size: 11px;
	font-weight: normal;
	line-height: 25px;
	text-align: center;
}
.dtlCalendarTbl th:first-child {
	background-color: #FFF0F0;
}
.dtlCalendarTbl th:last-child {
	background-color: #F0FAFF;
}
.dtlCalendarTbl td {
	border-top: 1px solid #E0E1E2;
	font-size: 14px;
	height: 52px;
	padding-top: 4px;
	position: relative;
	text-align: center;
	vertical-align: baseline;
}
.dtlCalendarTbl td.closed {
	background-color: #EEEEEE;
}
.dtlCalendarTbl td.notset::after,
.dtlCalendarTbl td.holiday::after {
	font-size: 11px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
}
.dtlCalendarTbl td.notset::after {
	bottom: 8px;
	color: #333333;
	content: "－";
}
.dtlCalendarTbl td.holiday::after {
	background-color: #6D6D6D;
	border-radius: 9px;
	bottom: 8px;
	color: #FFFFFF;
	content: "休";
	line-height: 18px;
	width: 32px;
}
.dtlCalendarSupplements {
	display: flex;
	font-size: 11px;
	justify-content: flex-end;
	margin-top: 8px;
}
.dtlCalendarSupplements > li {
	align-items: center;
	display: flex;
}
.dtlCalendarSupplements > li + li {
	margin-left: 12px;
}
.dtlCalendarSupplements > li.closed::before {
	background-color: #E0E1E2;
	content: "";
	display: block;
	height: 16px;
	width: 16px;
}

/* 新着口コミ */
.stylistDtl .reviewList {
	padding: 0;
}
.stylistDtl .stylistReviewList > li:first-child {
	margin-top: 0;
}
.stylistDtl .reviewList > li:last-child {
	margin-bottom: 0;
}

/* 求人バナー */
.hpbWorkBnr {
	display: block;
	margin: 0 auto;
	max-width: 275px;
}
.hpbWorkSupplementTxt {
	color: #6D6D6D;
	font-size: 11px;
	margin-top: 12px;
}
