@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 {
	color: #333333;
	font-size: 16px;
	word-break: break-all;
}
.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,
.detailHeaderShopInfo .genreIconList li  {
	margin-top: 8px;
}
.detailHeaderShopInfo .genreIconList li {
    margin-right: 4px;
}
.slnHeaderKuchikomi {
	align-items: center;
	display: flex;
	margin-top: 12px;
}
.onlinePayInfo ~ .slnHeaderKuchikomi {
	margin-top: 8px;
}
.slnHeaderKuchikomiPoint {
	color: #7030A0;
	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=2026052710) 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_kr.svg?switch=2026052710) 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=2026052710) #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;
	position: absolute;
	right: -2px;
	top: -2px;
	width: 44px;
}
.saveToMySalonBtn.isActive {
	background-image: url(/CSP/img/svg/sp/icon_bookmark_on_kr.svg?switch=2026052710);
}

.detailBodyShopInfo {
	padding-bottom: 40px;
	border-bottom: 2px solid #9A68CD;
}

.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 {
	margin: 0 auto;
	padding-top: 10px;
	text-align: center;
	width: 290px;
}
/* クーポン */
.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: #733F87;
	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;
}


.listSubHeader {
	background-color: #F6F6F6;
	padding: 16px;
}
.listSubHeaderCount {
	color: #333333;
	font-size: 11px;
}
.listSubHeaderCount > em {
	color: #7030A0;
	font-size: 16px;
	font-style: normal;
	font-weight: bold;
}
.listSubHeaderBlogItem {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-top: 12px;
}
.listSubHeaderPhotoItem > * + * {
	margin-top: 12px;
}
.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;
}

.reviewListHeader {
	position: relative;
	border-bottom: 2px solid #9A68CD;
	background: #FFF8EB;
	-webkit-border-radius: 10px 10px 0 0;
}

.reviewPickUp {
	background: #FFEEC8;
}

.reviewListOldHeader {
	position: relative;
	border-bottom: 2px solid #9A68CD;
}
.toBlogList {
	left: 50%;
	margin-left: -46px;
	position: absolute;
}
.styleCassette {
	margin-top: 10px;
	border: 1px solid #CCC;
	border-radius: 10px;
}
.styleCassette:first-child {
	margin-top: 0;
}
.styleCassette > div {
	padding: 8px 6px;
	background-color: #FFFDEE;
	border-radius: inherit;
}

.subStyleCassette {
	margin-top: 10px;
	-webkit-box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, .2);
	border-radius: 10px;
}
.subStyleCassette:first-child {
	margin-top: 0;
}

.subStyleCassette > div {
	padding: 8px 6px;
	background-color: #F6F6F6;
	border-radius: inherit;
}
.arrowTitle {
	margin-top: -12px !important;
}

.arrowTitleBd {
	border-top: 1px solid #9A68CD;
}

.arrowTitle > p, .arrowTitle > p span {
	float:left;
	height:24px;
	line-height:24px;
	position:relative;
	font-size:11px;
}

.arrowTitle > p span {
	margin-right:20px;
	width: 120px;
	padding:0 10px 0 12px;
	background:#9A68CD;
	color:#fff;
}

.arrowTitle > p span:after {
	content:"";
	float:left;
	position:absolute;
	top:0;
	right:-12px;
	width:0;
	height:0;
	border-color:transparent transparent transparent #9A68CD;
	border-style:solid;
	border-width:12px 0 12px 12px;
}

.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 center;
	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/kr/smb/icons/icon_report.gif?switch=2026052710") no-repeat 0 0 / 27px 27px;
}

.icnReportPickUp {
	height: 27px;
	line-height: 27px;
	padding-left: 30px;
	background: url("/CSP/img/kr/smb/icons/icon_report_pickup.gif?switch=2026052710") no-repeat 0 0 / 27px 27px;
}

.icnSalonReply {
	height: 18px;
	line-height: 18px;
	padding-left: 20px;
	margin-left: 2px;
	padding-bottom: 5px;
	background: url("/CSP/img/kr/smb/icons/icon_salon_reply.png?switch=2026052710") no-repeat 0 0 / 18px 19px;
}

.titlePickup {
	background: url("/CSP/img/kr/smb/icons/icon_pickup_title.svg?switch=2026052710") no-repeat center / contain;
	height: 16px;
	left: 16px;
	overflow: hidden;
	position: absolute;
	text-indent: 100%;
	top: -8px;
	white-space: nowrap;
	width: 85px;
}

.galleryList {
	background: #FFFFFF;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	display: block;
	padding: 12px 0;
	text-align: center;
}

.galleryList2 {
	background: #FFFFFF;
	border: 1px solid #DDC8CE;
	text-align: center;
	-webkit-border-radius: 2px;
	-webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
	padding: 10px 0;
	width: 300px;
	margin: 0 auto;
}
.galleryListDtlWrap {
	display: block;
	margin-top: 12px;
	padding: 0 12px;
	text-align: center;
}
.galleryListTtl,
.galleryListCaption {
	display: block;
	text-align: left;
	word-break: break-all;
}
.galleryListTtl {
	color: #333333;
	font-size: 14px;
	font-weight: bold;
}
.galleryListCaption {
	color: #6D6D6D;
	margin-top: 4px;
}
.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=2026052710) 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;
}

.blogDetailCassette {
	overflow-wrap: break-word;
	padding: 0 16px;
	word-wrap: break-word;
}
.blogDetailCassette .couponCassetteWrap:last-child {
	border-bottom: 1px solid #BFB9B0 !important;
}
.blogCouponAttText {
	border: 1px solid #CFCAC1;
	font-weight: bold;
	padding: 15px 0;
	text-align: center;
}
.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: 262px;
}
.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=2026052710) center / contain;
	left: 16px;
}
.blogDetailPaging > li:last-child > .blogDetailPagingLink::before {
	background: url(/CSP/img/svg/sp/icon_arrow_right_gray.svg?switch=2026052710) center / contain;
	right: 16px;
}

/* ブログカテゴリ */
.blogCategory {
	box-sizing: border-box;
	display: inline-block;
	font-size: 10px;
	line-height: 16px;
	padding: 0 8px;
	text-align: center;
	width: 96px;
}

.shopLandingPageLink {
	border-top: 1px solid #BFB9B0;
	border-bottom: 1px solid #BFB9B0;
	text-align: center;
	padding: 10px;
	margin-top: 10px;
	word-break: break-all;
}

/* 20130522追加 */
.photoGallery a {
	text-decoration: none;
	color:#666666;
	/* 20150702追加 */
	display: block;
	margin: 0 auto;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
/*　20130527追加　*/
.wbba{
	word-break: break-all;
}

/*スタイル写真のしみだし */
.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;
}

.whN{
	white-space: normal;
}

/*ボタン付きクーポンカセット*/
.salonCouponHeading {
	border: none;
	padding-bottom: 10px;
	padding-top: 10px;
}
.couponCassetteWrap {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	display: table;
	width: 100%;
	border: solid #BFB9B0;
	border-width: 1px 1px 0 1px;
}
.couponCassetteWrap.radiusCoupon {
	background: #FFFFFF;
	border-radius: 4px;
}
.couponCassetteWrap.radiusCoupon .couponLabelCT01,
.couponCassetteWrap.radiusCoupon .couponLabelCT02,
.couponCassetteWrap.radiusCoupon .couponLabelCT03 {
	border-radius: 3px 0 0 3px;
}
.couponTblInner {
	padding: 15px 8px;
}
.couponTblInner2 {
	padding: 10px 8px;
}
.couponCassetteInner,
.couponTblInner,
.couponTblInner2,
.couponTblInner3 {
	display: table-cell;
	vertical-align: middle;
	word-break: break-all;
}
.couponCassetteInner > a {
	display: block;
	padding: 10px 30px 10px 10px;
	text-decoration: none !important;
	color: #666666 !important;
}
.couponMenuName {
	color: #333333;
	font-size: 14px;
	font-weight: bold;
	margin-top: 4px;
	word-break: break-word;
}

.couponDetailModalLink {
	font-size: 11px;
	overflow: hidden;
}
.couponDetailModalLink > a {
	display: block;
}
.couponDetailModalArea {
	left: 0;
	margin: 0 30px;
	opacity: 0;
	position: absolute;
	right: 0;
	-webkit-transition-property: opacity;
	transition-property: opacity;
	z-index: 1001;
}
.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: #8C61B8;
	float: left;
	font-size: 11px;
}
.couponDetailModalPrice {
	color: #CC4466;
	float: right;
	font-size: 14px;
	font-weight: bold;
	text-align: right;
	width: 100px;
}
.couponDetailModalMenuName {
	color: #665555;
	font-size: 13px;
	font-weight: bold;
	word-wrap: break-word;
}
.couponDetailModalCloseBtn {
	position: absolute;
	top: -40px;
}
.couponDetailModalCloseBtn > a {
	background: transparent url(/CSP/img/svg/sp/icon_close_white.svg?switch=2026052710) center / contain no-repeat;
	display: block;
	height: 24px;
	width: 24px;
}
.couponDetailOverlay {
	background: #000000;
	height: 152%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	-webkit-transition-property: opacity;
	transition-property: opacity;
	width: 100%;
	z-index: 1000;
}
.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;
}
.couponDetailDescription {
	background-color: #F6F6F6;
	border-radius: 4px;
	color: #333333;
	font-size: 11px;
	margin-top: 12px;
	overflow-wrap: break-word;
	padding: 12px;
}
.couponTblInner3 {
	padding: 10px 30px 10px 8px;
	position: relative;
}
.couponTblInner3 > a {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.verticalLinkList > .couponCassetteWrap {
	border-bottom: none !important;
}
.verticalLinkList:last-child .couponCassetteWrap:last-child {
	border-bottom: 1px solid #BFB9B0 !important;
}
.couponTextWrap {
	align-items: center;
	border-radius: 4px;
	box-sizing: border-box;
	display: flex;
	font-size: 12px;
	font-weight: bold;
	margin-right: 12px;
	padding: 0 4px;
	width: 20px;
}
.couponTextWrap.couponLabelCT02 {
	background-color: #9771BD;
	color: #FFFFFF;
}
.couponTextWrap.couponLabelCT01 {
	background-color: #EADFF5;
	color: #7030A0;
}
.couponTextWrap.couponLabelCT03 {
	background-color: #F3EBFA;
	color: #7030A0;
}
.couponImgWrap {
	align-items: center;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	display: flex;
	flex-shrink: 0;
	height: 98px;
	overflow: hidden;
	position: relative;
	text-align: unset;
	width: 98px;
}
.couponImgWrap img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}
.slnCouponMenuList .couponCassetteInner {
	vertical-align: top;
}
.slnCouponMenuList .couponTextWrap {
	border-right: none;
	padding: 8px 4px 0;
}
.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;
}

.couponListWrap > .verticalLinkList > .normalSplitLineT:first-child {
	border-top: 1px solid #BFB9B0 !important;
}
.couponListWrap .verticalLinkList:last-child .couponCassetteWrap:last-child {
 border-bottom: 2px solid #BFB9B0 !important;
}

.slnMenuListTtl {
	padding: 20px 10px 10px 10px;
}
.slnMenuListWrap {
	border-bottom: 1px solid #BFB9B0;
}
.slnMenuListWrap:first-child .slnMenuListTtl {
	padding-top: 10px;
	border-top: none;
}

/*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=2026052710) 0 / contain;
	height: 20px;
	right: 14px;
	width: 20px;
}
.stHeadlineAccordion.isOpened::after {
	background-image: url(/CSP/img/svg/sp/icon_arrow_up_gray.svg?switch=2026052710);
}
.stHeadlineSub {
	border-left: 4px solid #665555;
	color: #665555;
	font-size: 14px;
	font-weight: bold;
	padding-left: 8px;
}
.stKodawari {
	border-bottom: 1px solid #CCCCCC;
}
.stKodawari li,
.stStylist li {
	color: #666666;
	border-top: 1px solid #CCCCCC;
	margin-top: auto;
	padding: 15px 26px 15px 10px;
	position: relative;
	text-decoration: none;
}
.stKodawari li > a,
.stStylist li > a {
	height: 100%;
	left: 0;
	padding: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.stKodawariComment,
.stStylistName {
	color: #333333;
}
.stStylistName {
	margin-top: 8px;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.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;
}

/* 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=2026052710) center / 10px 28px no-repeat;
	left: calc(50% - 160px);
}
.slnTopImgCarouselNext {
	background: url(/CSP/img/svg/sp/icon_arrow_narrow_right.svg?switch=2026052710) 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: #C982EA;
	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;
}
/* /特集スワイプ */

/*vacantInfomation*/
.vacancyExistence {
	align-items: center;
	background-color: #F5F3F1;
	color: #6D6D6D;
	display: flex;
	justify-content: center;
	padding-top: 8px;
}

.slnTopCatchCopy {
	color: #7030A0;
	font-size: 13px;
	font-weight: bold;
}
.stSalonsFeatureCarouselInner .slnTopCatchCopy {
	font-size: 12px;
}
.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;
}
/*staffList*/
.atworkCalLink {
	padding-left: 15px;
}
.icoArrowD.atworkCalLink:before {
	left: 0;
	top: 4px;
}

/*staff 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-collapse: collapse;
	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: #7030A0;
	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;
}

/*staff Calender*/
.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;
}
.atworkStylistCalendarAnchorHead {
	display: block;
	margin-top: -84px; /* メニュータブの高さ 92px - カレンダーのpadding 8px */
	padding-top: 84px;
}

/*staffDtl*/
.staffCmntTxt {
	background: #F6F5EC;
	border-radius: 4px;
	color: #663300;
	padding: 10px;
	word-break: break-all;
}

/*kodawari*/
.kodawariTabWrap {
	border-bottom: solid 1px #7030A0;
}
.kodawariTab {
	margin: 0 auto;
	width: 300px;
}
.kodawariTab > li {
	border-color: #CCCCCC;
	border-style: solid;
	border-width: 1px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	float: left;
	height: 36px;
	width: 145px;
}
.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;
	width: 100%;
}
.kodawariTab > .isCurrent {
	border-color: #7030A0 #7030A0 #FFFFFF #7030A0;
	border-width: 1px 1px 0 1px;
	position: relative;
}
.kodawariTab > .isCurrent > .kodawariTabHead {
	color: #7030A0;
}
.kodawariTab > .isCurrent:after {
	background-color: #FFFFFF;
	bottom: -1px;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	width: 100%;
}
.kodawariCatch {
	color: #7030A0;
	font-size: 13px;
	font-weight: bold;
	word-wrap: break-word;
}
.kodawariStepCassette {
	padding: 15px 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;
}

/* クーポン絞り込みボタン */
.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/kr/smb/icons/icon_search_coupon.png?switch=2026052710) 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: #7030A0;
	font-size: 16px;
	font-weight: bold;
}
.couponPriceSort {
	-webkit-appearance: none;
	appearance: none;
	background: #FFFFFF url(/CSP/img/kr/smb/icons/icon_search_arrow.png?switch=2026052710) 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;
}
.couponAnnotationTxt {
	color: #6D6D6D;
	font-size: 11px;
	padding: 0 16px;
}
.couponAnnotationTxt::before {
	content: "\203B";
}
/* クーポン・メニュー絞り込みモーダル */
.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/kr/smb/icons/icon_close_purple.png?switch=2026052710) 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: #8C61B8;
	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;
}
.searchConditionMenuNumber {
	background-color: #EEEEEE;
	border-radius: 9px;
	box-sizing: border-box;
	color: #6D6D6D;
	display: inline-block;
	font-size: 10px;
	font-weight: bold;
	line-height: 12px;
	margin-left: 4px;
	min-width: 24px;
	padding: 3px 6px;
	text-align: center;
}
.searchConditionMenuList input[type="checkbox"]:checked + .searchConditionMenuText,
.searchConditionMenuList input[type="radio"]:checked + .searchConditionMenuText {
	border: 2px solid #8C61B8;
	color: #7030A0;
	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/kr/smb/icons/icon_check_purple.png?switch=2026052710) 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;
}
/* メニュータイトル */
.couponFilterModalMenuNameWrapper {
	align-items: center;
	display: flex;
	justify-content: space-between;
}
.couponFilterModalMenuName {
	border-left: 4px solid #665555;
	color: #665555;
	font-size: 12px;
	line-height: 1;
	padding: 4px 0 4px 8px;
}
.couponFilterModalMenuNameWrapper input[type="checkbox"] {
	display: none;
}
.couponFilterModalMenuNameText {
	color: #333333;
	display: block;
	line-height: 24px;
	padding-left: 26px;
	position: relative;
}
.couponFilterModalMenuNameWrapper .couponFilterModalMenuNameText::before {
	background-color: #FFFFFF;
	border: 1.5px solid #E0E1E2;
	border-radius: 3.5px;
	box-sizing: border-box;
	content: "";
	height: 18px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
}
.couponFilterModalMenuNameWrapper input[type="checkbox"]:checked + .couponFilterModalMenuNameText::after {
	background: url(/CSP/img/kr/smb/icons/icon_check_purple.png?switch=2026052710) left top/cover no-repeat;
	content: "";
	height: 16px;
	left: 1.5px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
}
/* キーワード */
.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;
}

/* 備考 */
.slnMenuListRemarks {
	margin-top: 20px;
	position: relative;
}
.slnMenuNote {
	padding: 10px;
	word-wrap : break-word;
	overflow-wrap : break-word;
}

/* Photo Gallery */
.photoGalleryResultMessage {
	color: #6D6D6D;
	line-height: 1;
}
.photoGalleryNumberOfResult {
	color: #7030A0;
	padding: 0 2px;
}
.photoGallerySwichPanel {
	padding-top: 12px;
	width: 300px;
}
.photoGalleryNarrowDownButton {
	display: table;
	font-weight: bold;
	width: 100%;
}
.photoGalleryNarrowDownButton > li {
	box-sizing: border-box;
	display: table-cell;
	width: 50%;
}
.photoGalleryNarrowDownButton .current {
	color: #FFFFFF;
}
/* 画像拡大防止対策 */
.photoGallery .bdImgGray {
	border: none;
	outline: 1px solid #EEEEEE;
}
/* PhotoGallerySearchFilterAccordion */
.photoGallerySearchFilter {
	background-color: #FFFFFF;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	color: #333333;
	line-height: 1;
	position: relative;
}
.btnPhotoGallerySearchFilter {
	font-weight: bold;
	padding: 16px 14px 16px 36px;
	position: relative;
}
.btnPhotoGallerySearchFilter::before {
	background: url(/CSP/img/svg/sp/sort_kr.svg?switch=2026052710) center / contain;
	content: "";
	height: 20px;
	left: 12px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
	width: 20px;
}
.btnPhotoGallerySearchFilter.isOpen {
	border-bottom: none;
	border-radius: 4px 4px 0 0;
}
.btnPhotoGallerySearchFilterInner::before {
	background: url(/CSP/img/svg/sp/icon_arrow_up_gray.svg?switch=2026052710) 0 / contain;
	content: "";
	height: 20px;
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
	width: 20px;
}
.btnPhotoGallerySearchFilter.isOpen > .btnPhotoGallerySearchFilterInner::before {
	transform: translateY(-50%);
}
.photoGallerySearchFilterSection {
	padding-bottom: 12px;
}
.photoGallerySearchFilterSectionFooter {
	margin-top: 12px;
}
.photoGallerySearchFilterList {
	border-bottom: 1px solid #E9E9D9;
}
.photoGallerySearchFilterList > li {
	border-top: 1px solid #E0E1E2;
	box-sizing: border-box;
	color: #333333;
	float: left;
	font-size: 12px;
	line-height: 1.2;
	position: relative;
	width: 50%;
	word-break: break-all;
}
.photoGallerySearchFilterList > li:nth-child(odd) {
	clear: both;
}
.photoGallerySearchFilterList > li:nth-child(even)::before {
	border-left: 1px solid #E0E1E2;
	content: "";
	display: block;
	height: 100%;
	left: -1px;
	position: absolute;
	top: 0;
}
.photoGallerySearchFilterList label {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	height: 44px;
	padding: 12px 8px;
}
.photoGallerySearchLabelInner {
	align-items: center;
	display: flex;
	justify-content: space-between;
	overflow: hidden;
	vertical-align: middle;
	width: 100%;
}
.photoGallerySearchLabelNum {
	font-size: 11px;
	word-break: normal;
}
@media screen and (max-width: 376px) {
	.wordBreak span {
		display: block;
	}
}
.photoGalleryCassetteList {
	margin: 16px 0 24px;
	padding: 0 16px;
}
.photoGalleryCassetteList > li + li {
	margin-top: 12px;
}
.coloredMark {
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	box-sizing: border-box;
	height: 20px;
	margin: 0 8px 0 0;
	min-width: 20px;
}
.coloredMark:disabled,
.coloredMark:disabled + span {
	opacity: 0.3;
}
.coloredMark:checked {
	background: url(/CSP/img/svg/sp/checkbox_kr.svg?switch=2026052710) center / 16px no-repeat;
}

/* photoGalleryCarousel */
/* フォトギャラリーモーダル用 */
.wrapper.isFixed {
	overflow: hidden;
	position: fixed;
	width: 100%;
}
/* /フォトギャラリーモーダル用 */
.photoGalleryModal {
	background-color: rgba(51,51,51,0.8);
	cursor: pointer;
	left: 0;
	min-height: 100%;
	opacity: 1;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 2;
}
.photoGalleryModalInner.isScroll {
	overflow-x: hidden;
	overflow-y: scroll;
}
.photoGalleryModal.isOpen {
	opacity: 1;
}
.photoGalleryCloseBtn {
	display: block;
	height: 44px;
	left: 10px;
	position: fixed;
	top: 10px;
	width: 44px;
	z-index: 1;
}
.photoGalleryCloseBtn.overlayed::after {
	background-color: rgba(51,51,51,0.8);
	border-radius: 50%;
	content: "";
	display: inline-block;
	height: 32px;
	left: 16px;
	position: fixed;
	top: 16px;
	width: 32px;
}
.photoGalleryCloseBtn > a {
	background: url(/CSP/img/kr/smb/icons/icn_close_btn.png?switch=2026052710) no-repeat 50% / 20px 20px;
	display: block;
	height: 20px;
	left: 10px;
	overflow: hidden;
	padding: 12px;
	position: fixed;
	right: 15px;
	text-indent: -9999px;
	top: 10px;
	width: 20px;
	z-index: 1;
}
.photoGalleryCarouselViewPort {
	overflow-x: visible;
	width: 100%;
}
.photoGalleryCarousel {
	padding-bottom: 0;
	position: relative;
	-webkit-transition-timing-function: ease-in;
	transition-timing-function: ease-in;
}
@media(orientation: landscape){
	.photoGalleryCarousel {
		padding-bottom: 130px;
	}
}
.photoGalleryCarousel > li {
	float: left;
	height: 100vh;
	margin-left: 16px;
	overflow-y: scroll;
}
.photoGalleryCarousel:after {
	clear: both;
	content: "";
	display: block;
}
.photoGalleryCassette {
	background-color: #FFFFFF;
	border-radius: 8px;
	float: none;
	margin: 60px 0 20px;
	overflow: hidden;
	width: calc(100vw - 32px);
}
.photoGalleryCassette + .photoGalleryCassette {
	margin-left: 16px;
}
.photoGalleryCarousel > li::-webkit-scrollbar,
.photoGalleryCassette::-webkit-scrollbar {
	display: none;
}
.photoGalleryCarouselArrow {
	position: relative;
	margin: 0 auto;
	width: 280px;
	z-index: 2000;
}
.photoGalleryCarouselArrowPrev,
.photoGalleryCarouselArrowNext {
	color: #CCCCCC;
	font-size: 50px;
	line-height: 1;
	opacity: 1;
	padding: 6px;
	position: fixed;
	top: 161px;
}
.photoGalleryCarouselArrowPrev {
	left: 0;
}
.photoGalleryCarouselArrowNext {
	right: 0;
}
.photoGalleryCarouselArrowPrevIcn,
.photoGalleryCarouselArrowNextIcn {
	background: rgba(51,51,51,0.8) no-repeat 50% / 24px 24px;
	border-radius: 50%;
	height: 32px;
	text-indent: -9999px;
	width: 32px;
}
.photoGalleryCarouselArrowPrevIcn {
	background-image: url(/CSP/img/kr/smb/icons/icn_left_arrow.png?switch=2026052710);
}
.photoGalleryCarouselArrowNextIcn {
	background-image: url(/CSP/img/kr/smb/icons/icn_right_arrow.png?switch=2026052710);
}
.imgPhotoGallery {
	display: table;
	height: 223px;
	margin: 0 auto;
	width: 100%
}
.imgPhotoGallery img {
	width: 100%;
}
.imgPhotoGallery span,
.imgPhotoGallery a {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
.ttlPhotoGalleryWrapper {
	padding: 16px 16px 24px;
}
.ttlPhotoGalleryWrapper > p {
	color: #333333;
}
.ttlPhotoGallery {
	color: #FFFFFF;
	text-align: left;
	opacity: 0;
	word-break: break-all;
	-webkit-transition: opacity 0.3s;
	-moz-transition: opacity 0.3s;
	transition: opacity 0.3s;
}
.ttlPhotoGallery:empty {
	min-height: 21px;
}
.ttlPhotoGallery a {
	color: #FFFFFF;
}
/* /Photo Gallery */

/* フォトギャラリーモーダルのBookmark */
.photoGalleryBookmarkWrapper {
	margin: 16px auto 0;
	width: 60%;
}
.photoGalleryBookmark {
	align-items: center;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	color: #333333 !important;
	display: flex;
	font-size: 14px;
	font-weight: bold;
	height: 44px;
	justify-content: center;
	position: relative;
	text-decoration: none;
}
.photoGalleryBookmark.dn {
	display: none;
}
.photoGalleryBookmark.isActive {
	color: #7030A0 !important;
}
.photoGalleryBookmark::before {
	background: url(/CSP/img/svg/sp/icon_bookmark_off.svg?switch=2026052710) no-repeat 0 / contain;
	content: "";
	height: 20px;
	margin-right: 4px;
	width: 20px;
}
.photoGalleryBookmark.isActive::before {
	background-image: url(/CSP/img/svg/sp/icon_bookmark_on_kr.svg?switch=2026052710);
}
/* /フォトギャラリーモーダルのBookmark */

/* フォトギャラリーモーダルのおすすめクーポン以降 */
.cpnRecommendLink,
.photoGalleryDesignData {
	padding: 16px 16px 24px;
}
.photoGalleryCpnWrapper > p,
.photoGalleryDesignDataWrapper > p {
	background-color: #F4F4F4;
	color: #333333;
	padding: 4px 16px 3px;
}
.photoGalleryDesignData li + li {
	margin-top: 16px;
}
.photoGalleryDesignData dl > dt {
	color: #665555;
	float: left;
	font-weight: bold;
	margin-right: 20px;
	width: 84px;
	word-break: break-word;
}
.photoGalleryDesignData dl > dd {
	color: #333333;
	padding-left: 104px;
	word-break: break-word;
}
/* /フォトギャラリーモーダルのおすすめクーポン以降 */

/* prevSalonReservation */
.slnRsvWrap {
	border: 1px solid #CCCCCC;
	box-sizing: border-box;
	padding: 0 10px;
}
.slnRsvList > li {
	border-bottom: 1px dotted #CCCCCC;
	padding: 10px 0;
}
.slnRsvIconListWrapper {
	overflow: hidden;
}
.slnRsvIconListWrapper .couponMenuIcons > li {
	line-height: 14px;
	padding: 1px 3px;
}

.btnSlnRsv {
	height: 40px;
	line-height: 40px;
	width: 100%;
}

/* telReservation */
.slnHeader {
	background: #9A68CD;
	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: #8C61B8;
	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_kr.svg?switch=2026052710);
}
.icnAppealCalendar::before {
	background-image: url(/CSP/img/svg/sp/icon_calendar_kr.svg?switch=2026052710);
}
.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=2026052710) #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);
}

/*検討リストに追加*/
.btnAlreadySaveExamList {
	color: #7030A0 !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=2026052710);
}
.btnAlreadySaveExamList::before {
	background-image: url(/CSP/img/svg/sp/icon_star_on_kr.svg?switch=2026052710);
}
.zoneBmBefore .saveExamList:before,
.zoneBmAfter .alreadySaveExamList:before {
	background: url(/CSP/img/common/sprites/icon_star_white.png?switch=2026052710) 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;
}
.slnRecruitStaffBtn {
	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;
}
.slnRecruitStaffBtnNotice {
	font-size: 11px;
	font-weight: normal;
	margin-top: 4px;
}
/* スタッフ募集リンク */
.slnDataRecruitLinkWrap {
	background-color: #F5F3F1;
	padding: 12px 16px 0;
	text-align: right;
}
.slnDataRecruitLink {
	background: url(/CSP/img/svg/sp/icon_external_link.svg?switch=2026052710) 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;
}

/* 口コミ総合評価の分布 */
.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=2026052710) 0 / 20px;
	height: 20px;
	width: 100px;
}
.kuchikomiAverageStar::after {
	background: url(/CSP/img/svg/sp/icon_kuchikomi_star_on_kr.svg?switch=2026052710) 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: #8C61B8;
	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: #7030A0;
	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;
}
@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;
}

/************************************************************
 * 口コミ一覧絞り込み
 ************************************************************/
.reviewFilterConditionHeader {
	background-color: #9A68CD;
	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: #8C61B8;
	color: #7030A0;
	font-weight: bold;
}
.reviewFilterSelectedWrapper {
	background-color: #FFFFFF;
	border-top: 1px solid #CCCCCC;
	bottom: 0;
	box-sizing: border-box;
	padding: 12px 0 12px 16px;
	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));
	}
}
.reviewFilterSelectedListWrapper {
	display: none;
}
.reviewFilterSelectedListWrapper.isSelectionExist {
	align-items: center;
	display: flex;
	margin-bottom: 12px;
}
.reviewFilterSelectedListTxt {
	color: #333333;
	font-size: 11px;
	white-space: nowrap
}
.reviewFilterSelectedList,
.reviewFilterSelectedList::-webkit-scrollbar {
	display: none;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
}
.reviewFilterSelectedList.isSelectionExist {
	display: flex;
	padding: 0 16px 0 8px;
}
.reviewFilterSelectedList.isSelectionExist::-webkit-scrollbar {
	background: transparent;
	height: 0;
}
.reviewFilterSelectedList > li {
	align-items: center;
	background-color: #F3EFF8;
	border: 1px solid #F3EFF8;
	border-radius: 15px;
	box-sizing: border-box;
	color: #7030A0;
	display: flex;
	height: 32px;
	padding: 0 32px 0 12px;
	position: relative;
}
.reviewFilterSelectedList > li + li {
	margin-left: 8px;
}
.reviewFilterSelectedList span {
	align-items: center;
	background: url(/CSP/img/svg/sp/icon_close_kr.svg?switch=2026052710) right 8px center / 16px no-repeat;
	display: flex;
	height: 32px;
	justify-content: center;
	position: absolute;
	right: 4px;
	width: 32px;
}
.revreviewFilterBtns {
	display: flex;
	justify-content: space-between;
	padding-right: 16px;
}
.revreviewFilterBtns > .btnOutlinedNegative {
	width: 117px;
}
.revreviewFilterBtns > .btnFilledKr {
	flex: 1;
	margin-left: 8px;
}
.revreviewFilterBtns > .btnFilledKr  > .reviewFilterReviewCount::after {
	content: "件）";
}
@media screen and (max-width: 320px) {
	.revreviewFilterBtns > .btnOutlinedNegativ,
	.revreviewFilterBtns > .btnFilledKr {
		font-size: 12px;
	}
}
.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: #7030A0;
	font-weight: bold;
	position: relative;
}
.reviewFilterMenuList > li.isSelectedFilter .reviewFilterReviewMeter,
.reviewFilterScoreList > li.isSelectedFilter .reviewFilterReviewMeter,
.reviewFilterAgeList > li.isSelectedFilter .reviewFilterReviewMeter {
	background-color: #7030A0;
}
.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 #7030A0;
	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;
}
.reviewFilterScoreAccordionList {
	border-bottom: 1px solid #E0E1E2;
	margin: -5px -10px;
}
.reviewFilterScoreAccordionListMain {
	align-items: center;
	background: url(/CSP/img/svg/sp/icon_arrow_down_gray.svg?switch=2026052710) right 8px center / 20px no-repeat;
	border-top: 1px solid #E0E1E2;
	display: flex;
	padding: 16px 8px 16px 16px;
}
.reviewFilterScoreAccordionListMain.isSelectedFilter {
	background-image: url(/CSP/img/svg/sp/icon_arrow_up_gray.svg?switch=2026052710);
	border-bottom: 1px solid #E0E1E2;
}
.reviewFilterScoreAccordionListSub {
	display: grid;
	grid-template-rows: 0fr;
	transition: 0.3s grid-template-rows ease-in-out;
}
.reviewFilterScoreAccordionListMain.isSelectedFilter + .reviewFilterScoreAccordionListSub {
	grid-template-rows: 1fr;
}
.reviewFilterScoreAccordionInner {
	overflow: hidden;
}
.reviewFilterScoreRadioIcn {
	border: 2px solid #E0E1E2;
	border-radius: 50%;
	box-sizing: border-box;
	display: block;
	height: 20px;
	margin-right: 8px;
	position: relative;
	width: 20px;
}
.reviewFilterScoreAccordionListMain.isSelectedFilter .reviewFilterScoreRadioIcn::after {
	background-color: #8C61B8;
	border-radius: 50%;
	content: "";
	height: 10px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
}
.reviewFilterScore {
	color: #333333;
	font-size: 14px;
}
.reviewFilterScoreAccordionListMain.isSelectedFilter .reviewFilterScore {
	color: #7030A0;
	font-weight: bold;
}
.reviewFilterScorePointList {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 8px;
	padding: 12px 32px;
}
.reviewFilterScorePointList > li {
	align-items: center;
	border: 1px solid #E0E1E2;
	border-radius: 17px;
	box-sizing: border-box;
	display: flex;
	height: 32px;
	padding: 7px 20px;
}
.reviewFilterScorePointList > li.isSelectedFilter {
	background: url(/CSP/img/svg/sp/icon_check_kr.svg?switch=2026052710) left 7px center / 20px no-repeat;
	border-color: #8C61B8;
	border-width: 2px;
	padding: 5px 11px 5px 27px;
}
.reviewFilterScorePointList > li.noReviewQuantity {
	opacity: 0.3;
}
.reviewFilterScoreTxt {
	color: #333333;
}
.reviewFilterScorePointList > li.isSelectedFilter .reviewFilterScoreTxt {
	color: #7030A0;
	font-weight: bold;
}
.reviewFilterScoreCount {
	background-color: #EEEEEE;
	border-radius: 9px;
	color: #6D6D6D;
	font-size: 10px;
	line-height: 18px;
	margin-left: 4px;
	padding: 0 6px;
}
.reviewFilterScorePointList > li.noReviewQuantity .reviewFilterScoreCount {
	display: none;
}

/*****************************************************
 * クーポン一覧での画像の拡大表示・関連画像表示
 *****************************************************/
/* 複数クーポン画像のアイコン */
.couponMoreIcn::before {
	background: url(/CSP/img/kr/smb/icons/icn_coupon_tab.png?switch=2026052710) 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=2026052710);
}
.icnSlnMail::before {
	background-image: url(/CSP/img/svg/sp/icon_mail_kr.svg?switch=2026052710);
}
.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;
}
.myPhotoBtn > .btnBmBefore,
.myPhotoBtn > .btnBmAfter {
	width: 60%;
}
.myPhotoBtn > .btnBmAfter {
	line-height: 42px;
	text-align: center;
}
.myPhotoBtn > .btnBmAfter > .btnBmAfterTxt {
	padding-left: 20px;
	position: relative;
}
.myPhotoBtn > .btnBmAfter > .btnBmAfterTxt::before {
	background-image: url(/CSP/img/svg/sp/icon_bookmark_on_kr.svg?switch=2026052710);
	background-size: contain;
	content: "";
	height: 20px;
	left: -4px;
	position: absolute;
	top: -2px;
	width: 20px;
}

/* icnAMap */
.icnSalonMap {
	background: url(/CSP/img/svg/sp/icon_map.svg?switch=2026052710) #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: #8C61B8;
}
.reserveGenderWrap.mens::before {
	background-color: #B98FD5;
}
.reserveGenderWrap.others::before {
	background-color: #D3BCE4;
}

/* 年代比率グラフ */
.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: #8C61B8;
	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;
}

/* サロン個社タブ */
.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=2026052710);
}
.slnMainTabItems > li.top.isCurrent .slnMainTabTxt {
	background-image: url(/CSP/img/svg/sp/icon_salon_kr.svg?switch=2026052710);
}
.slnMainTabItems > li.couponMenu .slnMainTabTxt {
	background-image: url(/CSP/img/svg/sp/icon_couponMenu_gray.svg?switch=2026052710);
}
.slnMainTabItems > li.couponMenu.isCurrent .slnMainTabTxt {
	background-image: url(/CSP/img/svg/sp/icon_couponMenu_kr.svg?switch=2026052710);
}
.slnMainTabItems > li.isCurrent .slnMainTabTxt {
	color: #7030A0;
}
.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=2026052710) center / contain no-repeat;
	content: "";
	display: inline-block;
	height: calc(1em * 1.5);
	margin-left: 8px;
	vertical-align: top;
	width: 24px;
}
.withUpdatedLabel:empty::after {
	height: 16px;
	margin-left: 0;
	position: static;
}
.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=2026052710) 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: #8C61B8;
	color: #FFFFFF;
}
.paginationCount {
	color: #333333;
	margin-top: 12px;
}

/************************************************************
 * サロンTOP SEO 口コミ平均点、更新日
 ************************************************************/
.slnInfoItem > dl {
	color: #6D6D6D;
	display: flex;
	font-size: 10px;
	justify-content: center
}
.slnInfoItem > dl + dl {
	margin-top: 4px;
}

/* 個社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=2026052710) 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=2026052710) 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%;
	}
}

/* 求人バナー */
.hpbWorkBnr {
	display: block;
	margin: 0 auto;
	max-width: 275px;
}
.hpbWorkSupplementTxt {
	color: #6D6D6D;
	font-size: 11px;
	margin-top: 12px;
}

/* クーポンカセット */
.couponMenuCassetteWrap > li + li,
.couponBtnCassetteWrap > li:not(:first-of-type),
.salonMenuCassetteWrap > li + li {
	margin-top: 12px;
}
.couponMenuCassette {
	background-color: #FFFFFF;
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	box-sizing: border-box;
}
.couponMenuCassetteWrap .couponMenuCassette,
.salonMenuCassetteWrap .couponMenuCassette,
.couponDetailModalArea .couponMenuCassette {
	border-radius: 8px;
}
.couponMenuCassette.couponMenuLinkDisabled {
	background-color: #F6F6F6;
}
.couponBtnCassetteWrap > .couponMenuCassette {
	padding: 16px;
	position: relative;
}
.couponDetailModalArea .couponMenuCassette {
	border: none;
}
.couponMenuCassetteInner {
	display: flex;
}
.couponMenuDetailWrap {
	box-sizing: border-box;
	display: flex;
	padding: 12px 40px 12px 12px;
	position: relative;
	width: 100%;
}
.salonMenuCassetteWrap .couponMenuDetailWrap {
	padding: 16px 36px 16px 16px;
}
.couponMenuDetailWrap::after {
	background: url(/CSP/img/svg/sp/icon_arrow_right_gray.svg?switch=2026052710) center / contain;
	content: "";
	height: 20px;
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}
.couponMenuCassette.couponMenuLinkDisabled .couponMenuDetailWrap::after {
	content: none;
}
.couponMenuCassetteLink {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.couponMenuPrice {
	color: #C43357;
	font-size: 14px;
	font-weight: bold;
	margin-top: 4px;
}
.couponMenuTxt {
	color: #333333;
	font-size: 11px;
	margin-top: 8px;
	word-break: break-all;
}
.couponMenuNotes {
	color: #CC0000;
	font-size: 11px;
	margin-top: 8px;
	word-break: break-all;
}
.couponBookmarkWrap {
	align-items: center;
	border-left: 1px solid #E0E1E2;
	display: flex;
	margin: 12px 0;
	padding: 0 2px;
}
.couponBookmarkInner {
	position: relative;
}
.saveToMyCouponBtn {
	background: url(/CSP/img/svg/sp/icon_bookmark_off.svg?switch=2026052710) center / 24px no-repeat;
	box-sizing: border-box;
	display: block;
	height: 44px;
	width: 44px;
}
.saveToMyCouponBtn.isActive {
	background-image: url(/CSP/img/svg/sp/icon_bookmark_on_kr.svg?switch=2026052710);
}
.couponBtnCassetteWrap .couponMenuCassetteInner {
	padding-right: 40px;
}
.couponMenuCassetteDetailWrap {
	display: flex;
	margin-top: 12px;
}
.couponTreatmentInfoList {
	font-size: 0;
}
.couponTreatmentInfoList > dt,
.couponTreatmentInfoList > dd {
	display: inline;
	font-size: 11px;
}
.couponTreatmentInfoList > dt {
	color: #6D6D6D;
}
.couponTreatmentInfoList > dt ~ dt {
	margin-left: 8px;
}
.couponTreatmentInfoList > dd {
	color: #333333;
}
.couponMenuConditionsList {
	color: #333333;
	font-size: 11px;
	margin-top: 12px;
}
.couponMenuConditionsList > li {
	display: flex;
}
.couponMenuConditionsList > li + li {
	margin-top: 4px;
}
.couponTreatmentInfoList + .couponMenuConditionsList {
	margin-top: 4px;
}
.couponDetailModalLink {
	font-size: 11px;
	overflow: hidden;
}
.couponMenuConditionsItem {
	color: #6D6D6D;
	flex-shrink: 0;
}
.couponBtnsWrap,
.couponBtnWrap {
	display: flex;
	justify-content: center;
	margin-top: 12px;
}
.couponBtnsWrap > li {
	flex: 1;
}
.couponBtnWrap > li {
	width: 60%;
}
.couponBtnsWrap > li + li {
	margin-left: 8px;
}
.couponBtnsWrap a,
.couponBtnWrap a {
	font-size: 12px;
}
.couponBtnCassetteWrap .couponBookmarkInner {
	position: absolute;
	right: 7px;
	top: 7px;
}
.couponDetailModalLink + .couponMenuConditionsList {
	margin-top: 8px;
}

.salonCouponAccordionBtn > a {
	color: #7030A0;
	display: flex;
	font-size: 14px;
	font-weight: bold;
	justify-content: center;
	margin: 0 -16px -16px;
	padding: 16px 0;
	position: relative;
	text-decoration: none;
}
.accordionWrap .salonCouponAccordionBtn > a::after {
	background: url(/CSP/img/svg/sp/icon_arrow_up_kr.svg?switch=2026052710) center / contain;
	content: "";
	display: block;
	height: 20px;
	margin-left: 4px;
	width: 20px;
}
.accordionWrap.isClosed .salonCouponAccordionBtn > a::after {
	background-image: url(/CSP/img/svg/sp/icon_arrow_down_kr.svg?switch=2026052710);
}
.accordionWrap.isClosed .salonCouponAccordionBtn .close,
.accordionWrap .salonCouponAccordionBtn .open {
	display: none;
}
.accordionWrap .salonCouponAccordionBtn .close,
.accordionWrap.isClosed .salonCouponAccordionBtn .open {
	display: block;
}
.accordionWrap.isClosed .couponMenuCassetteWrap > li:not(:first-child) {
	display: none;
}
/* /クーポンカセット */

/* サロンの特徴 */
.stSalonsFeatureCarouselWrap {
	padding-bottom: 14px;
	position: relative;
}
.stSalonsFeatureCarousel {
	align-items: flex-start;
	display: flex;
	overflow: auto hidden;
	scroll-snap-type: x mandatory;
}
.stSalonsFeatureCarousel::-webkit-scrollbar {
	display: none;
}
.stSalonsFeatureCarousel > li {
	background-color: #FFFFFF;
	box-sizing: border-box;
	flex-shrink: 0;
	opacity: 0;
	padding: 16px;
	scroll-snap-align: center;
	scroll-snap-stop: always;
	transition: linear 0.3s;
	visibility: hidden;
	width: 100%;
	word-break: break-word;
}
.stSalonsFeatureCarousel > li.isCurrent {
	opacity: 1;
	visibility: visible;
}
.stSalonsFeatureCarouselInner {
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	padding: 16px;
}
.stSalonsFeatureDetailWrap {
	display: flex;
	margin-top: 12px;
}
.stSalonsFeatureImg {
    border: 1px solid #E0E1E2;
    border-radius: 4px;
    box-sizing: border-box;
    flex-shrink: 0;
    height: 144px;
    width: 144px;
}
.stSalonsFeatureImg > img {
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    width: 100%;
}
.stSalonsFeatureDetailTxt {
	color: #333333;
	margin-left: 12px;
}
.stSalonsFeatureCarouselIndicator {
	display: flex;
	justify-content: center;
}
.stSalonsFeatureCarouselIndicator > span {
	background-color: #B2B2B2;
	border-radius: 50%;
	height: 8px;
	width: 8px;
}
.stSalonsFeatureCarouselIndicator > span.isCurrent {
	background-color: #665555;
}
.stSalonsFeatureCarouselIndicator > span + span {
	margin-left: 8px;
}
/* /サロンの特徴 */