@charset "utf-8";

/* Sprite */
.icnReserve::before {
	background-image: url(/CSP/img/common/smb/sprites/icon_reserve.png?switch=2025062510);
	background-repeat: no-repeat;
	-webkit-background-size: 100px auto;
	-moz-background-size: 100px auto;
	background-size: 100px auto;
}

.header + .rsvSlnHeader {
	margin-top: 10px;
}
.rsvSlnHeader {
	background-color: #F4F4F4;
	color: #665555;
	padding: 7px 10px;
	word-wrap: break-word;
}
.rsvSlnHeader:after {
	clear: both;
	content: "";
	display: block;
}
.rsvType {
	background-color: #7A4BA1;
	border-radius: 4px;
	box-sizing: border-box;
	color: #FFFFFF;
	float: left;
	font-size: 10px;
	font-weight: bold;
	line-height: 21px;
	margin-right: 10px;
	margin-top: 3px;
	min-width: 30px;
	padding: 0 3px;
	text-align: center;
}
.rsvSlnNameWrap {
	line-height: 1.2;
	overflow: hidden;
}
.rsvSlnName {
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 3px;
}

/* 矢羽根 ログイン前 */
.reserveStepList {
	align-items: center;
	display: flex;
	justify-content: space-around;
	margin: 0 31px 0 16px;
}
.reserveStepList > li {
	align-items: center;
	color: #909090;
	display: flex;
	font-size: 10px;
	font-weight: bold;
	line-height: 1.4;
}
.reserveStepList > li + li {
	margin-left: 8px;
}
.rslCouponMenu,
.rslDate {
	align-items: center;
	display: flex;
}
.rslCouponMenu::before,
.rslDate::before {
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	height: 36px;
	margin-right: 4px;
	width: 36px;
}
.rslArrow {
	background: url(/CSP/img/svg/sp/icon_arrow_right_grey.svg?switch=2025062510) center / contain no-repeat;
	height: 20px;
	width: 20px;
}
.rslCouponMenu::before {
	background-image: url(/CSP/img/svg/sp/icon_coupon_gray.svg?switch=2025062510);
}
.rslDate::before {
	background-image: url(/CSP/img/svg/sp/icon_calendar_gray.svg?switch=2025062510);
}
.rslCouponMenu.active::before {
	background-image: url(/CSP/img/svg/sp/icon_coupon_kr.svg?switch=2025062510);
}
.rslDate.active::before {
	background-image: url(/CSP/img/svg/sp/icon_calendar_kr.svg?switch=2025062510);
}
.reserveStepList .active {
	color: #7030A0;
}
@media screen and (max-width: 374px) {
	.reserveStepList {
		margin: 0 10px;
	}
	.reserveStepList > li + li {
		margin-left: 4px;
	}
	.rslCouponMenu::before,
	.rslDate::before {
		height: 32px;
		width: 32px;
	}
}

/* 矢羽根 ログイン後 */
.reserveCompleteStepList {
	display: table;
	width: 100%;
}
.reserveCompleteStepList li {
	background-color: #EEEEEE;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #665555;
	display: table-cell;
	font-size: 11px;
	font-weight: bold;
	vertical-align: middle;
}
.rcslInner {
	border-bottom: 1px solid #CCCCCC;
	border-top: 1px solid #CCCCCC;
	box-sizing: border-box;
	display: block;
	height: 40px;
	line-height: 1.3;
	padding-top: 12px;
	position: relative;
	text-align: center;
}
.reserveCompleteStepList li ~ li > .rcslInner {
	padding-left: 14px;
}
.rcslInner::after,
.rcslInner::before {
	border-right: 1px solid #CCCCCC;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	content: "";
	display: block;
	height: 20px;
	position: absolute;
	width: 16px;
	z-index: 1;
}
.rcslInner::after {
	border-bottom: 1px solid #CCCCCC;
	bottom: -1px;
	right: -8px;
	-webkit-transform: skew(-40deg);
	transform: skew(-40deg);
}
.rcslInner::before {
	border-top: 1px solid #CCCCCC;
	right: -8px;
	top: -1px;
	-webkit-transform: skew(40deg);
	transform: skew(40deg);
}
.reserveCompleteStepList .passive {
	background-color: #FFFFFF;
	color: #CCCCCC;
}
.reserveCompleteStepList .active {
	background-color: #FFFFFF;
	color: #7030A0;
}
.reserveCompleteStepList .passive .rcslInner::before,
.reserveCompleteStepList .passive .rcslInner::after,
.reserveCompleteStepList .active .rcslInner::before,
.reserveCompleteStepList .active .rcslInner::after {
	background-color: #FFFFFF;
}
.reserveCompleteStepList li:last-child .rcslInner::before,
.reserveCompleteStepList li:last-child .rcslInner::after {
	content: normal;
}

/* 見出し */
.rsvHeadlineKr {
	background-color: #F4F4F4;
	color: #7030A0;
	font-size: 13px;
	font-weight: bold;
	line-height: 1;
	padding: 10px;
}

.rsvHeadlineLead {
	color: #909090;
	padding: 0 10px;
}
.rsvHeadlineLead li::before {
	content: "\203B";
}

/* パンくずリスト */
.reserveBreadcrumb {
	color: #666666;
	display: flex;
	font-size: 10px;
	line-height: 32px;
	padding: 0 10px;
}
.reserveBreadcrumb li + li {
	background: url(/CSP/img/svg/sp/icon_arrow_right_grey.svg?switch=2025062510) 4px center / 14px auto no-repeat;
	padding-left: 22px;
}
.reserveBreadcrumb > li:nth-last-child(2) {
	max-width: 140px;
}
.reserveBreadcrumb a {
	color: #4C4C80;
	display: block;
	overflow: hidden;
	text-decoration: underline;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* クーポン画面 */
.iconPlus {
	display: block;
	width: 17px;
	height: 17px;
	text-indent: -9999px;
	overflow: hidden;
	background: url("/CSP/img/kr/smb/k_icon_plus.png?switch=2025062510") no-repeat;
}
.typeList { display:inline-block; font-size: 10px; vertical-align: top; }
.typeList dt { float: left; margin-right: 3px; }
.typeList dd { text-align: left; }
.couponTitle {
	font-size: 14px;
	font-weight: bold;
	color: #555555;
}
.couponList li { float: left; margin: 5px 3px 0 0; }
.couponTerm { float: left; margin-right: 3px; color: #CC4466; }
.prArea		{ margin: 0 5px;  border-top: 1px solid #DDDDDD; padding: 5px; }

.btn5 {
	display: inline-block;
	vertical-align: middle;
	margin-left: auto;
	margin-right: auto;
	padding-left: 4px;
	padding-right: 4px;
	font-size: 10px;
	color: #666666 !important;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
	background: 0;
	border-radius: 4px;
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		from(#FFFFFF),
		to(#F2F2F2)
		);
	border: 1px solid #A29697;
	-webkit-box-sizing: border-box;
}
.narrowButtonWrapper > li {
	display: inline-block;
	height: 33px;
	width: 135px;
	border: 1px solid #a29697;
	vertical-align: middle;
	line-height: 33px;
	color: #666666;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	background: -webkit-gradient( linear, left top, left bottom, from(white), to(#F2F2F2) );}

.narrowButtonWrapper > li a {
	display: block;
	width: 100%;
	height: 100%;
	color: #666666;
	text-decoration: none;
}
.narrowButtonWrapper > li:first-child {
	-webkit-border-top-left-radius: 4px;
	-webkit-border-bottom-left-radius: 4px;
	border-left: 1px solid #A29697;
	border-top: 1px solid #A29697;
	border-bottom: 1px solid #A29697;
	border-right-width: 0;
}
.narrowButtonWrapper > li:last-child {
	-webkit-border-top-right-radius: 4px;
	-webkit-border-bottom-right-radius: 4px;
	border-right: 1px solid #A29697;
	border-top: 1px solid #A29697;
	border-bottom: 1px solid #A29697;
}
.narrowButtonWrapper > li:first-child a {
	-webkit-border-top-left-radius: 4px;
	-webkit-border-bottom-left-radius: 4px;
}
.narrowButtonWrapper > li:last-child a {
	-webkit-border-top-right-radius: 4px;
	-webkit-border-bottom-right-radius: 4px;
}
.topHeadlineRecommend {
	padding: 10px 10px;
	line-height: 22px;
	z-index: 0;
	font-size: 16px;
	color: #988989;
	-webkit-box-sizing: border-box;
	min-height: 40px;
	background: white;
	border-top: solid 1px #E2E2E2;
	border-bottom: solid 1px #E2E2E2;
}
.topHeadlineRecommend::before {
	content: '';
	display: inline-block;
	width: 15px;
	height: 15px;
	background: #988989;
	vertical-align: -1px;
	margin-right: 7px;
	border-radius: 4px;
}
.salonOptionIconList {
	margin: -3px 0 6px;
}
.salonOptionIconList > li {
	margin-top: 3px;
}
.salonOptionIconList > li + li {
	margin-left: 5px;
}
.icnImmediatelyRsv,
.icnTemporaryRsv,
.icnExperience,
.icnMerchantsPoint,
.icnMensRecommend {
	border-radius: 4px;
	display: inline-block;
	font-size: 10px;
	padding: 0 5px;
}
.icnImmediatelyRsv,
.icnTemporaryRsv,
.icnExperience {
	color: #988989;
	border: 1px solid #988989;
	background-color: #FFFFFF;
}
.icnMerchantsPoint {
	color: #FFFFFF;
	border: 1px solid #EB961D;
	background-color: #ECA241;
}
.icnMensRecommend {
	background-color: #E4EDF0;
	border: solid 1px #8CB5DF;
	color: #4286CC;
}
.icnInfoMark {
	display: inline-block;
	width: 20px;
	height: 20px;
	padding: 2px;
	line-height: 20px;
	text-align: center;
	border-radius: 20px;
	border: 2px solid #D36985;
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		from(#FFFFFF),
		to(#DEDEDE),
		color-stop(0.6, #FFFFFF)
	);
	border-radius: 20px;
	color: #999999;
	font-size: 20px;
	font-weight: bold;
}



.reserveArea { background-color: #EFE1FF; padding: 10px; }

/* 日時選択画面 */
.tabBottom {
	border-bottom: 3px solid #D1B8EF;
}
.tabBottom2 {
	border-bottom: 2px solid #917979;
	margin-bottom: 10px;
}
/* お客様情報入力 */
.imageHide {
    display: none;
}
/* カレンダータブ */
.calTab {
	position: relative;
	height: 32px;
	text-align: center;
	margin-top: 10px;
	font-weight: bold;
	left: -1px;
}
.calTab:after {
	content: '';
	position: absolute;
	bottom: -12px;
	display: block;
	width: 100%;
	height: 10px;
}
.calTab > li {
	display: inline-block;
	vertical-align: top;
	margin-right: 2px;
}
.calTab > li:last-child {
	margin-right: 0;
}
.calTab .calTabChild {
	position: relative;
	bottom: -2px;
	display: inline-block;
	width: 100%;
	height: 30px;
	line-height: 30px;
	padding: 0 10px;
	text-decoration: none !important;
	color: #666666 !important;
	font-weight: bold;
	white-space: nowrap;
	border-style: solid;
	border-width: 1px 1px 0 1px;
	border-color: #CDCDCD;
	border-radius: 4px 4px 0 0;
	-webkit-box-sizing: border-box;
}
.calTab .calTabChild:active {
	color: #9966CC !important;
	border-width: 2px 2px 0 2px;
	border-color: #9966CC;
	-webkit-box-sizing: border-box;
}
.calTab .current .calTabChild {
	height: 32px;
	bottom: -2px;
	border-width: 2px;
	border-color: #917979 #917979 #FFFFFF #917979;
	color: #917979 !important;
	background: #FFF;
}
.btnNominativeNoNext,
.btnNominativeNext,
.btnContentNext,
.btnConfirmReserve,
.btnViewStylistSchedule,
.btnContentChange {
	width: 275px;
	height: 35px;
}
.btnBackToSalonCalendar {
	width: 275px;
	height: 29px;
}

.reserveDateTabOn {
	background-color: #D1B8EF;
	-webkit-border-top-left-radius: 4px;
	-webkit-border-top-right-radius: 4px;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	padding: 5px;
	font-weight: bold;
	font-size: 11px;
	color: #632523;
	width: 46%;
}

.reserveDateTabOff {
	background-color: #D6DBE1;
	-webkit-border-top-left-radius: 4px;
	-webkit-border-top-right-radius: 4px;
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	padding: 5px;
	font-weight: bold;
	font-size: 11px;
	color: #999999;
	width: 46%;
}

.topTable {
	border: 1px solid #BCBCBC;
	background-color: #F5F3EF;
	padding: 5px;
}

.whiteTable {
	border: 1px solid #BCBCBC;
	background-color: #FFFFFF;
	padding: 5px;
}

.reserveTerms dt{
	display: inline-block;
	width: 29px;
	vertical-align: middle;
	text-align: center;
	font-weight: bold;
}
.reserveTerms dd{
	display: inline-block;
	vertical-align: middle;
	font-size: 10px;
}
.leftLine {
	width: 39%;
	border-left: 1px solid #A6A6A6;
	padding-left: 10px;
}
.dayTable {
	border-collapse: collapse;
	border-spacing: 0;
	width: 99.9%;
}
.dayTable th, .dayTable td {
	border: 1px solid #CCCCCC;
	position: relative;
	text-align: center;
}
.timeTable {
	border-collapse: collapse;
	border-spacing: 0;
	color: #666666;
	height: 275px;
	width: 100%;
}
.timeTable td {
	border: none;
	height: 35px;
	text-align: center;
	line-height: 35px;
}
.timeTableBand td.timeSharp {
	font-size: 14px;
}
.otherSchedule {
	width: 100%;
	border-top: 1px solid #BCBCBC;
	border-left: 1px solid #BCBCBC;
}
.otherSchedule th, .otherSchedule td {
	border-top: 1px solid #FFFFFF;
	border-left: 1px solid #FFFFFF;
	border-right: 1px solid #BCBCBC;
	border-bottom: 1px solid #BCBCBC;
	padding: 5px;
}
.sun		{ background-color: #FFDEE7; color: #BB5555; }
.sat		{ background-color: #CDE5F3; color: #4466BB; }
.close		{ background-color: #EEEEEE; z-index: -1; }
.close > span {
	display: block;
	position: relative;
	text-indent: -9999px;
}
.close > span:before,
.close > span:after {
	background-color: #999999;
	content: "";
	display: block;
	height: 1px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 50%;
	width: 12px;
}
.close > span:before {
	-webkit-transform: translateY(-50%) rotate(-45deg);
	-ms-transform: translateY(-50%) rotate(-45deg);
	transform: translateY(-50%) rotate(-45deg);
}
.close > span:after {
	-webkit-transform: translateY(-50%) rotate(45deg);
	-ms-transform: translateY(-50%) rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
}
.telColText,
.closeColText {
	font-family: sans-serif;
	letter-spacing: 5px;
	left: 50%;
	position: absolute;
	top: calc(50% + 3px); /* letter-spacingが文字下部に5pxつくため、半分の2.5pxを切り上げた3px分を下にずらすことで上下中央寄せにする */
	transform: translate(-50%, -50%);
	white-space: nowrap;
	writing-mode: vertical-rl;
}
.OtherStylistContents {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, .7);
	box-shadow: 5px 5px 5px rgba(0, 0, 0, .7);
}

/* ログイン画面 */
.loginRBox {
	background-color: #999191;
	border-radius: 12px;
	padding: 10px;
	color: #FFFFFF;
}
.forFisrtBeginner {
	background-color: #FFFFFF;
	border-radius: 12px;
	padding: 10px;
	color: #333333;
}

/* メニュー画面 */
.sumTable {
	border-spacing: 0px;
	width: 100%;
	border-top: none;
	border-left: none;
	font-weight: bold;
	font-size: 14px;
	color: #632523;
}
.sumTable th, .sumTable td {
	border-right: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
	border-left: 1px solid #FFFFFF;
	border-top: 1px solid #D9D9D9;
	padding: 5px;
}
.chkResultTable tbody th {
	background-color: #DDBBFF;
}
/* 仮予約入力画面 */
.wCircle,
.circle {
	font-size: 16px;
	line-height: 1;
	vertical-align: middle;
}
.wCircle > a,
.circle > a,
.circle > span {
	color: #CC4466 !important;
	display: block;
	height: 100%;
	position: relative;
	text-decoration: none !important;
	text-indent: -9999px;
	width: 100%;
}
.wCircle > a:before,
.wCircle > a:after {
	border: 1px solid #CC4466;
	border-radius: 100px;
	content: "";
	display: block;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
}
.wCircle > a:before {
	height: 14px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 14px;
}
.wCircle > a:after {
	height: 8px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 8px;
}
.circle > a:before,
.circle > span:before {
	border: 1px solid #CC4466;
	border-radius: 100px;
	content: "";
	display: block;
	height: 12px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 12px;
}
@media screen and (device-width : 480px) and (device-width : 800px) {
	.wCircle { font-size: 26px; line-height:24px; height:26px; }
	.timeTable td {
		border: none;
		height: 26px;
		text-align: center;
		line-height: 26px;
	}
}

@media screen and (min-device-width : 400px) {
	.w98p 	{ width: 99% !important; }
}

.w93p 	{ width: 93% !important; }

/* スタイリスト画面 */
.orderCassette	{
	margin-top: 5px;
	border-bottom: 1px solid #DDDDDD;
	padding: 5px 5px 10px 5px;
}
/* お客様情報入力 */
.imageHide {
	display: none;
}

.sectionHeadline {
	font-size: 14px;
	border-top: 1px solid #DDD;
	padding: 3px 10px;
	background-color: #F2F2F2;
}

.inputAssistWithHeadline {
	font-size: 12px;
	font-weight: normal;
	margin-left: 10px;
	display: inline-block;
}

.bdCS	{
	border-collapse: separate;
}

/* お客様情報入力 必須項目背景色 */
.bgAlert	{ background: #F3F1CA; }
.bgComplete	{ background: #F2F2F2; }
.confirmed	{
	display: inline-block;
	margin-top: 10px;
	margin-bottom: 10px;
	padding: 5px 5px 5px 0;
}

/* 縦リンク一覧 */
.verticalLinkList {
	position: relative;
}
.verticalLinkList > .normalSplitLineT {
	display: block;
	position: relative;
}
.verticalLinkList > .normalSplitLineT:last-child {
	border-bottom: 2px solid #BFB9B0;
}
.verticalLinkList > .normalSplitLineT > a,
.verticalLinkList > .normalSplitLineT > span,
.verticalLinkList > .normalSplitLineT > label {
	display: block;
	padding: 10px 30px 10px 10px;
	text-decoration: none !important;
	color: #666666 !important;
}
.verticalLinkList > .imageNormalSplitLineT > a,
.verticalLinkList > .imageNormalSplitLineT > span,
.verticalLinkList > .imageNormalSplitLineT > label {
	display: block;
	padding: 8px 30px 8px 10px;
	text-decoration: none !important;
	color: #666666 !important;
}
.verticalLinkList > .normalSplitLineT > label {
	padding: 8px 35px 8px 20px;
}
.verticalLinkList > .normalSplitLineT:first-child > label {
	border-radius: 10px 10px 0 0;
}
.verticalLinkList > .normalSplitLineT:last-child > label {
	border-radius: 0 0 10px 10px;
}
.verticalLinkList > .normalSplitLineT > input:checked + label {
	background: #7A4BA1;
	color: #FFFFFF !important;
}
.verticalLinkList > .normalSplitLineT > input:checked + label:after {
	content: url(/CSP/img/my/smb/icons/icn_checked.png?switch=2025062510);
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -7.5px;
}
.verticalLinkList > .normalSplitLineT > input {
	position: absolute;
	z-index: 10;
	width: 100%;
	height: 100%;
	opacity: 0;
	-webkit-box-sizing: border-box;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.verticalLinkList > .normalSplitLineT > a:after,
.verticalLinkList > .normalSplitLineT > .couponCassetteInner > a:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	width: 9px;
	height: 14px;
	line-height: 1;
	margin-top: -6.5px;
	right: 10px;
	color: #7C7C7C;
	font-weight: bold;
	background: url(/CSP/img/common/smb/icon_link2.png?switch=2025062510) no-repeat 0 0;
	-webkit-background-size: 9px 14px;
	background-size: 9px 14px;
}
.verticalLinkList input[type="checkbox"] {
	margin-right: 5px;
}
.gradationListWrap > .verticalLinkList > .normalSplitLineT {
	background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #FFFFFF), color-stop(1, #E4E2DE));
}

/* 改変版 */
.verticalLinkList.altered > .normalSplitLineT:first-child {
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}
.verticalLinkList.altered > .normalSplitLineT:last-child {
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}
/* 非活性リンク */
ul > .normalSplitLineT.disable,
ul > .normalSplitLineT.disable:hover  {
	background: #F9F9F9 !important;
}
ul > .normalSplitLineT.disable > span {
	color: #A9A9A9 !important;
}
ul > .normalSplitLineT.disable .icnPCSite {
	background: url(/CSP/img/bt/smb/icons/icn_pcsite_disable.png?switch=2025062510) no-repeat left center;
}
.selectedArea {
	padding: 8px 10px;
	background: #FFFFFF !important;
}
/* ブロックの区切り線 */
.boldSplitLineT		{ border-top: 2px solid #BFB9B0; }
.boldSplitLineB		{ border-bottom: 2px solid #BFB9B0; }
.normalSplitLineT	{ border-top: 1px solid #BFB9B0; }
.normalSplitLineR	{ border-right: 1px solid #BFB9B0; }
.normalSplitLineB	{ border-bottom: 1px solid #BFB9B0; }
.normalSplitLineL	{ border-left: 1px solid #BFB9B0; }

/* チェックボックス キレイ */
.checkboxLabelKr {
	appearance: none;
	background: #FFFFFF center / 16px no-repeat;
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	box-sizing: border-box;
}
.checkboxLabelKr:checked {
	background-image: url(/CSP/img/svg/sp/icon_checkBox_kr.svg?switch=2025062510);
}

/* 詳細要望入力 */
.mmSettingBox {
	background-color: #F6F6F6;
	border-radius: 6px;
	color: #333333;
	margin: 20px 16px;
	padding: 12px 12px 0;
}
.mmSettingHeadline {
	font-weight: bold;
}
.mmSettingBody {
	border-top: 1px solid #E0E1E2;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-bottom: 12px;
	width: 100%;
}
.mmSettingBodyCheckBox {
	display: inline-flex;
	margin-top: 12px;
	position: relative;
}
.mmSettingBodyLink {
	flex: 1;
	text-align: right;
}
.mmSettingBodyLink a {
	color: #4C4C80;
	display: inline-block;
	margin-top: 12px;
	position: relative;
}
.mmSettingBodyCheckBox .checkboxLabelKr {
	flex-shrink: 0;
	height: 20px;
	margin: 0 4px 0 0;
	width: 20px;
}
.mmSettingBodyCheckBox .checkboxLabelBt::after,
.mmSettingBodyLink a::after {
	content: "";
	display: block;
	height: 100%;
	min-height: 28px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}

.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;
}
.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;
}

/* 小サイズ */
.iconCouponTypeSmallCT01 {
		display: block;
		border: 2px solid #FF6666;
		width: 30px;
		text-align: center;
		color: #FF6666;
		font-size: 10px;
		font-weight: bold;
		background-color: #FFFFFF;
}
.iconCouponTypeSmallCT02 {
		display: block;
		border: 2px solid #AF51AF;
		width: 30px;
		text-align: center;
		color: #AF51AF;
		font-size: 10px;
		font-weight: bold;
		background-color: #FFFFFF;
}
.iconCouponTypeSmallCT03 {
		display: block;
		border: 2px solid #5E6EDD;
		width: 30px;
		text-align: center;
		color: #5E6EDD;
		font-size: 10px;
		font-weight: bold;
		background-color: #FFFFFF;
}

/* クーポンアイコン */
.couponMenuIconSukarupu		{ background-color: #F5BCD5; }
.couponMenuIconHeadS		{ background-color: #94CDAD; }
.couponMenuIconAshiura		{ background-color: #94CDAD; }
.couponMenuIconOther		{ background-color: #9C9A9C; }
.couponMenuIconKairo		{ background-color: #94CDAD; }
.couponMenuIconSeitai		{ background-color: #94CDAD; }
.couponMenuIconKotsuban		{ background-color: #94CDAD; }
.couponMenuIconOkyaku		{ background-color: #94CDAD; }
.couponMenuIconKogao		{ background-color: #94CDAD; }
.couponMenuIconCareColor	{ background-color: #F5BCD5; }
.couponMenuIconHairMake		{ background-color: #F5BCD5; }
.couponMenuIconFoot			{ background-color: #F5BCD5; }
.couponMenuIconHead			{ background-color: #94CDAD; }
.couponMenuIconSpa			{ background-color: #94CDAD; }
.couponMenuIconBridal		{ background-color: #C49BC2; }
.couponMenuIconFacial		{ background-color: #C49BC2; }
.couponMenuIconMatsuge		{ background-color: #F5BCD5; }
.couponMenuIconGel			{ background-color: #F5BCD5; }
.couponMenuIconFootC		{ background-color: #94CDAD; }
.couponMenuIconOxygen		{ background-color: #94CDAD; }
.couponMenuIconBustC		{ background-color: #C49BC2; }
.couponMenuIconBodyT		{ background-color: #94CDAD; }

#calHeader{
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
}

/* GenreIconList*/
.genreIconList {
	white-space: nowrap;
}
.genreIconList li {
	display: inline-block;
	padding: 1px 8px;
	margin-right: 5px;
}
.genreIconList li:last-child {
	margin-right: 0;
}
/*サロンダイレクト */
.headerUtilSD {
	background: #DFD6C8;
	color: #FFFFFF;
	font-size: 12px;
	font-weight: normal;
	text-align: center;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.ShopInfoSD {
	padding:10px;
	background:#F6F5EC;
	border-bottom: 2px solid #917979;
}
.ShopInfoSD .detailPankuzu {
	color: #9A8376;
}
.ShopInfoSD .detailPankuzu li {
	float:left;
}
.detailPankuzu li:after {
	content: " > ";
}
.detailPankuzu li:last-child:after {
	content: "";
}
.ShopInfoSD .detailTitle {
	font-size: 20px;
	line-height: 1;
	color:#666666;
	word-break:break-all;
}
.ShopInfoSD .detailTitleRubi {
	color:#666666;
	font-size: 10px;
	font-weight: normal;
	line-height: 1;
	margin-top: 3px;
}
.ShopInfoSD .salonOptionIconList {
	margin-top: 8px;
	text-align: center;
}
.reserveAreaSD {
	background-color: #F0ECE5;
	display: block;
	line-height: 20px;
	padding: 10px;
}
.footerSD {
	border-top: 2px solid #917979;
	padding: 5px 0;
	color:#666666;
}
.detailBodySD {
	padding-bottom: 15px;
	margin-bottom: 10px;
}
/*icoArrow ポジション指定*/
.icoArrowR.otherStaffBtnWrap:before {
	left: 36px;
	top: 10px;
}
.otherStaffBtn {
	padding-left: 48px;
}

.detailBodyShopInfo {
	padding-bottom: 10px;
	margin-bottom: 10px;
}

/*ボタン付きクーポンカセット*/
.couponCassetteWrap {
	border: solid #BFB9B0;
	border-width: 1px 1px 0 1px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #666666;
	display: table;
	width: 100%;
}
.couponTblInner {
	display: table-cell;
	padding: 15px 8px;
	vertical-align: middle;
	word-break: break-all;
}
.couponMenuName {
	color: #665555;
	font-weight: bold;
	word-wrap: break-word;
}
.verticalLinkList > .couponCassetteWrap {
	border-bottom: none !important;
}
.verticalLinkList .couponCassetteWrap:last-child {
	border-bottom: 1px solid #BFB9B0 !important;
}
.couponTextWrap {
	background-color: #EFDCEF;
	color: #AF51AF;
	font-family: monospace;
	font-size: 12px;
	font-weight: bold;
	padding: 8px 4px 0;
}
.couponTextWrap.couponLabelCT02 {
	background-color: #C982EA;
	color: #FFFFFF;
}
.couponTextWrap.couponLabelCT01 {
	background-color: #DEB8F0;
	color: #AB50D5;
}
.couponTextWrap.couponLabelCT03 {
	background-color: #EFDCEF;
	color: #AB50D5;
}
.couponImgWrap {
	align-items: center;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	display: flex;
	height: 118px;
	justify-content: center;
	overflow: hidden;
	position: relative;
	text-align: unset;
	width: 118px;
}
.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 {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 10px;
	max-width: 200px;
	min-width: 123px;
	width: 100%;
}

/* MenuList */
.slnMenuListWrap {
	border-bottom: 1px solid #BFB9B0;
}
.slnMenuListTtl {
	padding: 20px 10px 10px 10px;
}
.slnMenuListWrap:first-child .slnMenuListTtl {
	border-top: none;
	padding-top: 10px;
}
.verticalLinkList > .menuListLine,
.verticalLinkList > .menuListLink {
	border-top: 1px solid #BFB9B0;
	position: relative;
}
.menuListLink > a {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.menuListLink > a::after {
	background: url(/CSP/img/common/smb/icon_link2.png?switch=2025062510) no-repeat 0 0 / 9px 14px;
	content: "";
	height: 14px;
	margin-top: -7px;
	position: absolute;
	right: 10px;
	top: 50%;
	width: 9px;
}
.menuList {
	color: #666666 !important;
	display: table;
	width: 100%;
	word-break: break-all;
}
.menuListMenuPrice {
	font-size: 14px;
	min-width: 75px;
	text-align: right;
	white-space: nowrap;
}
.slnMenuListTxtLine {
	padding: 0 10px 10px;
}

.couponMenuIcons {
	overflow: hidden;
}
.couponMenuIcons li {
	color: #FFFFFF;
	float: left;
	margin-bottom: 5px;
	margin-right: 5px;
	padding: 1px 10px;
	text-align: left;
	white-space: nowrap;
}
.couponMenuIcons li.couponMenuIconOff {
	color: #CC4466;
	font-size: 10px;
	padding: 0;
	text-align: left;
}

.couponAnnotationTxt {
	color: #909090;
	font-size: 11px;
	line-height: 1;
	margin-top: 20px;
	padding: 0 10px;
}
.couponAnnotationTxt::before {
	content: "\203B";
}

/*iconPlusMinusGray ポジション指定*/
.iconPlusMinusGray.addBtnIcon {
	right: 0;
	top: 15px;
}
.iconPlusMinusGray.addBtnIcon:after {
	left: 7px;
	top: -7px;
}

.upperDate {
	color: #775E5E;
}
.upperDate tr {
	background-color: #FFFFFF;
}
.calDate {
	display: block;
	font-size: 14px;
	line-height: 18px;
	padding-top: 2px;
}
.attentionTxtWrap {
	background: #F3F1CA;
	margin-top: 5px;
	padding: 6px;
	text-align: center;
}
.attentionTxt {
	color: #666666;
	font-size: 13px;
}
.atEmphasis {
	color: #CC4466;
	display: block;
	font-size: 14px;
}

.btnLGray {
	background: -webkit-gradient( linear, left top, left bottom, from(white), to(#F2F2F2) );
	border: 1px solid #A29697;
	border-radius: 4px;
	box-sizing: border-box;
	display: block;
	font-weight: bold;
	text-align: center;
}

/* アプリDLボタン */
.appDownloadBtn > a {
	color: #666666;
	text-decoration: none;
	width: 170px;
}
.appDownloadLead {
	font-size: 10px;
	padding-left: 1em;
	position: relative;
}
.appDownloadLead::before {
	content: "※";
	display: block;
	left: 0;
	position: absolute;
	text-align: center;
	width: 1em;
}

/*staffSelect*/
.rsvHeadline {
	background-color: #EEEEEE;
	color: #333333;
	font-size: 13px;
	font-weight: bold;
	line-height: 1.4;
	padding: 15px 10px;
}
.rsvNoNominative,
.rsvNominative {
	margin-left: 15px;
	margin-right: 15px;
}
.rsvNominativeHead {
	color: #000000;
	font-size: 14px;
	font-weight: bold;
}
.rsvNominativeNote {
	color: #E46C0A;
	font-weight: bold;
	text-align: right;
}
.rsvNominativeAlertTxt {
	margin-top: 10px;
	color: #FF0000;
}
.rsvNoNominativeStaffSelect,
.rsvNominativeStaffSelect {
	margin-left: 10px;
	margin-right: 10px;
}
.rsvNoNominativeStaffSelect + .rsvNominativeStaffSelect {
	margin-top: 30px;
}
.rsvNoNominativeStaffSelect + .rsvOtherNominativeStaffSelect {
	margin-top: 30px;
}
.rsvNominativeStaffSelect ~ .rsvOtherNominativeStaffSelect {
	margin-top: 20px;
}
.btnNoNominativeNextWrapStaffSelect + .btnBackToSlnCalWrapStaffSelect {
	margin-top: 10px;
}
.rsvStaffCassette {
	border-bottom: 1px solid #BFB9B0;
	border-top: 1px solid #BFB9B0;
	padding: 15px;
	position: relative;
}
.rsvStaffCassette ~ .rsvStaffCassette {
	border-top: none;
}
.rsvStaffImg {
	float: left;
}
.rsvStaffDtl {
	overflow: hidden;
	padding: 0 0 45px 15px;
}
.rsvStaffName {
	color: #665555;
	font-size: 16px;
	font-weight: bold;
	margin-top: -2px;
	word-wrap: break-word;
}
.rsvStaffRankWrap {
	line-height: 1;
	word-wrap: break-word;
}
.rsvStaffRank {
	color: #7030A0;
	font-size: 10px;
}
.rsvStaffCareer {
	color: #333333;
	font-size: 10px;
}
.rsvStaffCatch {
	background-color: #F6F5EC;
	color: #663300;
	font-size: 11px;
	margin-top: 15px;
	padding: 5px;
	word-wrap: break-word;
}
.rsvStaffCatch a:link { color: #4C4C80; }
.rsvStaffCatch a:visited { color: #996699; }
.rsvStaffCatch a:hover,
.rsvStaffCatch a:active { color: #7878CC; text-decoration: none; }
.rsvStaffBtn {
	bottom: 15px;
	left: 148px;
	position: absolute;
	right: 15px;
}
.rsvStaffBtn input {
	width: 100%;
}
.rsvStaffBtn .btnH34 {
	font-size: 12px;
}

/*staffSelectModal*/
.rsvModalOverlay {
	background-color: #000000;
	display: none;
	max-height: 152%;
	height: 152%;
	left: 0;
	opacity: 0.6;
	position: fixed;
	-webkit-tap-highlight-color: rgba(0,0,0,0) !important;
	top: 0;
	width: 100%;
	z-index: 1000;
}
.rsvModalArea {
	display: none;
	left: 0;
	padding: 0 30px 30px;
	position: absolute;
	right: 0;
	z-index: 1001;
}
.rsvModalContents {
	background-color: #FFFFFF;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	padding: 15px;
}
.rsvModalCloseBtn {
	position: absolute;
	width: 30px;
	height: 30px;
	right: 15px;
	top: -12px;
	z-index: 1001;
}
.rsvModalCloseBtn > a {
	display: block;
	width: 100%;
	height: 100%;
	text-indent: -9999px;
	color: #8A7C7C !important;
	text-decoration: none !important;
	vertical-align: top;
	background-color: #FFFFFF;
	border-radius: 22px;
	border: 2px solid #CCCCCC;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.rsvModalCloseBtn > a::before,
.rsvModalCloseBtn > a::after {
	background-color: #999999;
	content: "";
	display: block;
	height: 3px;
	left: 8px;
	position: absolute;
	top: 13px;
	width: 15px;
}
.rsvModalCloseBtn > a::before {
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
}
.rsvModalCloseBtn > a::after {
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.rsvModalStaffImg {
	float: left;
	margin-right: 15px;
	width: 120px;
}
.rsvModalStaffRank {
	color: #7030A0;
}
.rsvModalStaffNameWrap {
	margin-top: 12px;
	word-wrap: break-word;
}
.rsvModalStaffName {
	font-size: 13px;
	color: #666666;
}
.rsvModalStaffCatch {
	color: #7030A0;
	font-size: 1.1em;
	margin-top: 15px;
	word-wrap: break-word;
}
.rsvModalStaffReadWrap {
	color: #333333;
	margin-top: 10px;
	word-wrap: break-word;
}
.rsvModalStaffPrideTechnique {
	margin-top: 25px;
}
.rsvModalStaffPrideTechnique > dt {
	color: #7030A0;
	font-weight: bold;
}
.rsvModalStaffPrideTechnique > dd {
	margin-top: 5px;
}

.fixBtnWrap {
	background: #7B4BA1;
	box-shadow: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-ms-filter: alpha(opacity="90");
	filter: alpha(opacity="90");
	left: 0;
	opacity: 0.90;
	padding: 10px 20px;
	position: fixed;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	top: -55px;
	transition: top 1s;/*moved to the top because the speed up.*/
	-webkit-transition: top 0.3s;
	-moz-transition: top 0.3s;
	width: 100%;
	z-index: 2;
}
.fixBtnWrap.isVisible {
	top: 0;
}
.menuSelectFixBtn {
	border: 1px solid #FFFFFF;
	border-radius: 4px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: #FFFFFF !important;
	cursor: pointer;
	display: block;
	font-size: 14px;
	font-weight: bold;
	padding: 4px;
	text-align: center;
	text-decoration: none;
	width: 100%;
}
@media screen and (orientation:landscape) {
	.menuSelectFixBtn {
		width: 100%;
	}
}

.btnLGray {
	background: -webkit-gradient( linear, left top, left bottom, from(white), to(#F2F2F2) );
	border: 1px solid #A29697;
	border-radius: 4px;
	box-sizing: border-box;
	display: block;
	font-weight: bold;
	text-align: center;
}

/* アプリDLボタン */
.appDownloadBtn > a {
	color: #666666;
	text-decoration: none;
	width: 170px;
}
.appDownloadLead {
	font-size: 10px;
	padding-left: 1em;
	position: relative;
}
.appDownloadLead::before {
	content: "※";
	display: block;
	left: 0;
	position: absolute;
	text-align: center;
	width: 1em;
}

/* 前/次の一週間ボタン */
.rsvCalTopBtnWrap {
	padding: 10px;
}
.rsvCalNextBtn,
.rsvCalPrevBtn {
	background-color: #FFFFFF;
	border: solid #BFB9B0;
	border-radius: 4px;
	border-width: 1px 1px 2px 1px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	font-weight: bold;
	height: 32px;
	line-height: 30px;
	position: relative;
	text-align: center;
	text-decoration: none;
	min-width: 120px;
}
.rsvCalNextBtn {
	padding-left: 10px;
	padding-right: 22px;
}
.rsvCalPrevBtn {
	padding-left: 22px;
	padding-right: 10px;
}
.rsvCalNextBtn:visited,
.rsvCalPrevBtn:visited,
.rsvCalNextBtn:link,
.rsvCalPrevBtn:link {
	color: #666666;
}

.rsvCalNextBtn.isDisabled,
.rsvCalPrevBtn.isDisabled {
	border: solid #CCCCCC;
	border-radius: 4px;
	border-width: 1px 1px 2px 1px;
	color: #CCCCCC !important;
}

.rsvCalPrevBtn::after,
.rsvCalNextBtn::after {
	border-color: #666666;
	border-style: solid;
	border-width: 0 2px 2px 0;
	content: "";
	display: block;
	height: 5px;
	line-height: 1;
	margin-top: -4px;
	position: absolute;
	top: 50%;
	width: 5px;
}

.rsvCalPrevBtn.isDisabled::after,
.rsvCalNextBtn.isDisabled::after {
	border-color: #CCCCCC;
	border-style: solid;
	border-width: 0 2px 2px 0;
}

.rsvCalNextBtn::after {
	right: 12px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.rsvCalPrevBtn::after {
	left: 12px;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}

/* 画面内スクロール */
.rsvCalTimeSelectTtl {
	background: #EDEAE5;
}
.rsvCalTimeSelectList {
	font-size: 0;
	padding-bottom: 13px;
	padding-top: 13px;
}
.rsvCalTimeSelectList > li {
	display: inline-block;
	font-size: 12px;
	font-weight: bold;
	vertical-align: top;
}
.rsvCalTimeSelectList > li > a {
	color: #4C4C80 !important;
	text-decoration: underline;
}

.rsvCalTimeSelectList > li::before {
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: solid 6px #988989;
	content: "";
	display: inline-block;
	margin-bottom: 1px;
	margin-right: 4px;
	vertical-align: middle;
}
.rsvCalTimeSelectList > li + li {
	margin-left: 20px;
}

/* 見出し */
.rsvTitle {
	font-weight: bold;
	color: #7030A0;
	background-color: #F4F4F4;
	padding: 8px 10px;
}

/* クーポン絞り込みボタン */
.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: 2;
}
.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=2025062510) left top/cover no-repeat;
	content: "";
	height: 20px;
	left: 11px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}
.couponFilterModalText {
	display: block;
	overflow: hidden;
	padding-left: 35px;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.couponFilterModalText.isSearched {
	font-weight: normal;
}
/* クーポンタイプ */
.couponTypeFilter {
	display: flex;
	margin-top: 16px;
	padding: 0 16px;
}
.couponTypeFilter > li {
	flex: 1;
	line-height: 14px;
}
.couponTypeFilter > li:first-child .couponTypeFilterBtn {
	border-radius: 8px 0 0 8px;
}
.couponTypeFilter > li:last-child .couponTypeFilterBtn {
	border-radius: 0 8px 8px 0;
}
.couponTypeFilter > li + li .couponTypeFilterBtn {
	border-left: none;
}
.couponTypeFilterBtn {
	align-items: center;
	background-color: #FFFFFF;
	border: 1px solid #665555;
	box-sizing: border-box;
	display: flex;
	font-size: 12px;
	height: 44px;
	justify-content: center;
	text-align: center;
}
.couponTypeFilterBtn.isCr {
	background-color: #665555;
	border: 0;
	color: #FFFFFF;
	font-weight: bold;
}
.couponTypeFilterBtn.isDisabled {
	border-color: #665555;
	color: #CCCCCC;
}
a.couponTypeFilterBtn {
	color: #988989;
	text-decoration: none;
}
/* クーポン・メニュー数・ソート */
.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=2025062510) right 8px center/20px 20px no-repeat;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	box-sizing: border-box;
	color: #333333;
	height: 36px;
	line-height: 1;
	padding: 11px;
	width: 124px;
}
.couponAnnotationTxt {
	color: #909090;
	font-size: 11px;
	line-height: 1;
	margin-top: 20px;
	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=2025062510) center/24px auto no-repeat;
	height: 44px;
	left: 6px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
}
.couponFilterModalHead {
	background-color: #EEEEEE;
	color: #333333;
	font-size: 14px;
	font-weight: bold;
	line-height: 20px;
	padding: 4px 16px;
}
/* モーダルフッター */
.couponFilterModalFooterWrapper {
	background-color: #FFFFFF;
	border-top: solid 1px #E0E1E2;
	bottom: 0;
	box-sizing: border-box;
	display: none;
	left: 0;
	opacity: 1;
	padding: 11px 16px 12px;
	position: fixed;
	width: 100%;
	z-index: 2;
}
.couponFilterModalFooterWrapper.isOpened {
	display: block;
}
/* for iOS15 Safari */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	_::-webkit-full-page-media, _:future, :root .couponFilterModalFooterWrapper {
		padding-bottom: calc(12px + env(safe-area-inset-bottom));
	}
}
.couponFilterModalFooter {
	display: flex;
	justify-content: space-between;
}
.couponFilterModalClearBtn,
.couponFilterModalSearchBtn {
	border-radius: 8px;
	box-sizing: border-box;
	font-size: 14px;
	font-weight: bold;
	line-height: 42px;
	text-align: center;
	text-decoration: none;
}
.couponFilterModalClearBtn {
	background-color: #FFFFFF;
	border: 1px solid #E0E1E2;
	color: #333333 !important;
	width: calc(36% - 4px);
}
.couponFilterModalSearchBtn {
	background-color: #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=2025062510) left top/cover no-repeat;
	content: "";
	height: 20px;
	left: 6px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}
.searchConditionMenuList input[type="checkbox"]:disabled + .searchConditionMenuText,
.searchConditionMenuList input[type="radio"]:disabled + .searchConditionMenuText {
	opacity: 0.3;
}
/* メニュータイトル */
.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=2025062510) 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;
}

/* 絞り込み条件を変更する */
.btnCssLGray {
	background-color: #FFFFFF;
	border: solid #BFB9B0;
	border-radius: 4px;
	border-width: 1px 1px 2px 1px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #666666 !important;
	display: block;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}
.btnH34 {
	height: 34px;
	line-height: 31px;
}
.btnH44 {
	height: 44px;
}

/* 旧ページング */
.listBottom {
	padding: 8px 10px 10px;
	background-color: #F0EDDD;
	border-radius: 0 0 4px 4px;
	margin-bottom: 10px;
}
.listBottom .prev,
.listBottom .next {
	display: block;
	width: 80px;
	vertical-align: middle;
	margin-left: auto;
	margin-right: auto;
	padding: 2px 5px;
	font-size: 14px;
	color: #666666 !important;
	text-align: center;
	text-decoration: none;
	font-weight: normal;
	border-radius: 4px;
	background: -webkit-gradient(
		linear,
		left top,
		left bottom,
		from(#FFFFFF),
		to(#DEDEDE),
		color-stop(0.6, #FFFFFF)
	);
	border-top: 1px solid #737373;
	border-right: 1px solid #BBB8B9;
	border-left: 1px solid #737373;
	border-bottom: 1px solid #BBB8B9;
}

.listBottom .numOfPage {
	font-size: 14px;
	line-height: 27px;
}
/* クーポン選択画面エラーメッセージ */
.rsvAlertMsg {
	padding: 10px;
	margin-bottom: 10px;
	color: #CC0000;
}
.btnCssLGray {
	background-color: #FFFFFF;
	border: solid #BFB9B0;
	border-radius: 4px;
	border-width: 1px 1px 2px 1px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #666666 !important;
	display: block;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
}
.btnH29 {
	height: 29px;
	line-height: 26px;
}
.btnH34 {
	height: 34px;
	line-height: 31px;
}
input[type="submit"].btnCssLGray {
	-webkit-appearance: none;
}
.rsvAlertTxt {
	color: #CC0000;
	padding: 8px 16px;
}
.rsvLinkTxt {
	color: #4C4C80 !important;
}
.rsvCompleteInfoWrap {
	color: #665555;
	margin-top: 16px;
	word-wrap: break-word;
}
.rsvInfoWrap {
	color: #665555;
	margin-top: 10px;
	padding-left: 10px;
	padding-right: 10px;
	word-wrap: break-word;
}
.rsvInfoWrap a:link,
.rsvInfoWrap a:visited {
	color: #4C4C80;
}
.rsvInfoWrap ~ .rsvInfoWrap {
	margin-top: 20px;
}
.rsvCompleteMsg {
	background-color: #EFE1FF;
	border-radius: 4px;
	color: #665555;
	font-size: 14px;
	font-weight: bold;
	padding: 8px;
}
/* reserve detail btn */
.rsvCompleteSlnDtBtn {
	margin-top: 10px;
	text-align: center;
}
.rsvCompleteSlnDtBtn a {
	font-size: 13px;
	margin: 0 auto;
	width: 290px;
}
.rsvCompleteSlnDtBtn a + a {
	margin-top: 10px;
}
/* about cancel */
.rsvCompleteCancelMsg {
	background-color: #F6F6F6;
	border-radius: 4px;
	color: #665555;
	margin-top: 16px;
	padding: 8px;
}
.rsvCompleteCancelMsg > dt {
	font-size: 11px;
}
.rsvCompleteCancelMsg > dd {
	font-size: 12px;
	font-weight: bold;
	margin-top: 5px;
}

/* recommend salon */
.stHeadline {
	background-color: #EEEEEE;
	color: #333333;
	font-size: 14px;
	line-height: 1;
	padding: 15px 10px;
}
.stBannerContents img {
	border: solid 1px #E0E1E2;
}
.rsvCompleteBtnWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.rsvCompleteSlnDetail {
	margin: 16px 0 12px;
	width: 100%;
}
.rsvCompleteSlnMap {
	flex: 1;
}
.rsvCompleteSlnCalendar {
	margin-left: 8px;
	flex: 1;
}
.rsvMsgTxt {
	color: #665555;
	font-weight: bold;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.rsvMsgInquiryTxt {
	color: #6D6D6D;
	font-size: 11px;
}
.rsvRecommendWrap {
	background-color: #F5F3F1;
	padding: 32px 16px 15px;
}
.rsvRecommendHeading {
	color: #665555;
	font-size: 16px;
	font-weight: bold;
}
.rsvRecommendSlnArea {
	display: flex;
	margin: 0 -16px;
	overflow-x: scroll;
	padding: 16px;
}
.rsvRecommendSlnArea > li {
	background-color: #FFFFFF;
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	box-sizing: border-box;
	color: #333333;
	flex-shrink: 0;
	padding: 16px;
	position: relative;
	white-space: normal;
	width: calc(100vw - 48px);
}
.rsvRecommendSlnArea > li + li {
	margin-left: 8px;
}
.rsvRecommendImg {
	position: relative;
	height: 100%;
}
.rsvRecommendImg > img {
	border-radius: 4px;
	pointer-events: none;
	width: 100px;
}
.rsvRecommendImg::after {
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	bottom: 0;
	box-sizing: border-box;
	content: "";
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.rsvReccomendItemNames {
	margin-left: 12px;
	min-width: 0;
}
.rsvRecommendName {
	-webkit-box-orient: vertical;
	color: #333333;
	display: -webkit-box;
	font-size: 14px;
	font-weight: bold;
	-webkit-line-clamp: 3;
	overflow: hidden;
	padding: 0 32px 0 0;
	word-break: break-all;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.rsvRecommendName + .rsvRecommendCoupon {
	margin-top: -29px;
	padding-bottom: 29px;
	padding-top: 5px;
}
.rsvRecommendAccessTxt {
	color: #6D6D6D;
	font-size: 12px;
	line-height: 1.5;
	margin-top: 8px;
	overflow: hidden;
	padding: 0;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* メール不達メッセージ */
.rsvCompleteMailNondelivery {
	color: #CC0000;
	font-size: 12px;
	margin-top: 16px;
}
.rsvCompleteMailNondeliveryTxt {
	font-weight: bold;
	padding-left: 24px;
	position: relative;
}
.rsvCompleteMailNondeliveryTxt::after {
	background: url(/CSP/img/svg/sp/icon_exclamation.svg?switch=2025062510) no-repeat left top / 20px;
	content: "";
	left: 0;
	padding: 10px;
	position: absolute;
	top: 0;
}
.rsvCompleteMailNondeliverySubTxt {
	margin: 4px 0 0 24px;
}
/* 予約完了画面-レコメンド */
.rsvRecommendSlnArrowLink {
	background: url(/CSP/img/svg/sp/icon_arrow_right_grey.svg?switch=2025062510) right center / 24px auto no-repeat;
	display: flex;
	position: relative;
}
.rsvRecommendSlnArrowLink > a,
.rsvRecommendCoupon > a {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}
.rsvRecommendCoupon {
	background: url(/CSP/img/svg/sp/icon_arrow_right_grey.svg?switch=2025062510) right 12px center / 20px auto no-repeat;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	margin-top: 8px;
	padding: 12px 40px 12px 12px;
	position: relative;
}
.rsvRecommendCouponName {
	color: #333333;
	font-weight: bold;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.rsvRecommendCouponPrice {
	color: #C43357;
	font-weight: bold;
	margin-top: 4px;
}

.rsvRecommendSlnLabel {
	background-color: #FFFFFF;
	border: 1px solid #978888;
	border-radius: 4px;
	color: #665555;
	font-size: 11px;
	font-weight: bold;
	left: -4px;
	line-height: 1;
	padding: 3px 8px;
	position: absolute;
	top: -12px;
}
.rsvRecommendSlnLabel::before {
	background: url(/CSP/img/svg/sp/icon_balloonFrameBtm.svg?switch=2025062510) center / contain no-repeat;
	bottom: -7px;
	content: "";
	height: 8px;
	left: 7px;
	position: absolute;
	width: 8px;
}
.rsvRecommendGenreLabelList,
.rsvRecommendLimitedCouponList {
	display: flex;
	flex-wrap: wrap;
}
.rsvRecommendGenreLabelList > li,
.rsvRecommendLimitedCouponList > li {
	font-size: 10px;
	line-height: 1;
	margin: 0 4px 4px 0;
}
.rsvRecommendGenreLabelList > li {
	color: #FFFFFF;
	padding: 3px 8px;
}
.rsvRecommendLimitedCouponList > li {
	padding: 3px;
}
/* ジャンル・ラベル カラー */
.rsvRecommendLimitedCouponList > li.slnCouponLabelCT01 {
	background-color: #FADCE3;
	color: #C43357;
}
.rsvRecommendLimitedCouponList > li.slnCouponLabelCT02 {
	background-color: #D97791;
	color: #FFFFFF;
}
.rsvRecommendLimitedCouponList > li.slnCouponLabelCT03 {
	background-color: #FCECF0;
	border: 1px solid #F3D6DE;
	color: #C43357;
	padding: 2px;
}
.rsvRecommendLimitedCouponList > li.slnCouponLabelCTKr {
	background-color: #C982EA;
	color: #FFFFFF;
}
.rsvRecommendLimitedCouponList > li.slnLimitedCouponLabel {
	border: 1px solid #CCBBBB;
	color: #665555;
	padding: 2px;
}
.rsvRecommendGenreLabelList > li.btGenreGR01 {
	background-color: #E87492;
}
.rsvRecommendGenreLabelList > li.krGenreGR01 {
	background-color: #94CDAD;
}
.rsvRecommendGenreLabelList > li.krGenreGR02 {
	background-color: #94CDAD;
}
.rsvRecommendGenreLabelList > li.krGenreGR03 {
	background-color: #94CDAD;
}
.sdS {
	background-image: url("/CSP/img/common/smb/sprites/icon_salon_detail.png?switch=2025062510");
}
.icnAccessLabel {
	background-position: 4px -31px;
}
.rsvRecommendGenreLabelList > li.krGenreGR04 {
	background-color: #F5BCD5;
}
.rsvRecommendGenreLabelList > li.krGenreGR05 {
	background-color: #F5BCD5;
}
.rsvRecommendGenreLabelList > li.krGenreGR06 {
	background-color: #C49BC2;
}
.krGenreGR07 {
	background-color: #6DCD97;
}
.krGenreGR08 {
	background-color: #6DCD97;
}
.krGenreGR09 {
	background-color: #6DCD97;
}
.rsvRecommendCouponIcon {
	float: left;
	margin-right: 5px;
	vertical-align: middle;
}
.rsvRecommendLimitedCouponIcon {
	background: #FFFFFF;
	border: 1px solid #CCBBBB;
	color: #665555;
	float: left;
	font-size: 10px;
	font-weight: bold;
	line-height: 1;
	margin-right: 5px;
	padding: 3px 2px 2px;
}
.rsvRecommendIcon {
	float: left;
	height: 22px;
	position: relative;
	width: 20px;
}

/* LinkBtnList */
.rsvLinkBtnList > li {
	font-size: 13px;
	margin: 0 auto;
	width: 290px;
}
.rsvLinkBtnList > li + li {
	margin-top: 10px;
}
.rsvLinkBtnList ~ .rsvRecommendCategoryTtlWrap {
	margin-top: 20px;
}
.rsvCompleteScheduleAddList {
	font-size: 0;
	margin-top: 10px;
	text-align: center;
}
.rsvCompleteScheduleAddList li {
    display: inline-block;
    font-size: 12px;
}
.rsvCompleteScheduleAddList li + li {
    margin-left: 15px;
}
/* coupon type  */
.iconCouponTypeSmallCT01Kr {
	background-color: #FF6666;
	color: #FFFFFF;
	display: block;
	font-size: 10px;
	font-weight: bold;
	height: 17px;
	line-height: 17px;
	text-align: center;
	width: 32px;
}
/* add clendar btn */
.btnAddCalendar {
	background: url(/CSP/img/common/smb/icn_rsvAddCalendar.png?switch=2025062510) no-repeat 30px 6px;
	background-color: #FFFFFF;
	background-size: 23px;
	border: solid #BFB9B0;
	border-radius: 5px;
	border-width: 1px 1px 2px 1px;
	box-sizing: border-box;
	color: #666666 !important;
	display: block;
	font-size: 12px;
	font-weight: bold;
	height: 40px;
	line-height: 38px;
	padding-left: 30px;
	text-decoration: none;
	width: 190px;
}
.specialPointMsg a:link,
.specialPointMsg a:visited {
	color: #4C4C80;
}
.mHA {
	margin-left: auto;
	margin-right: auto;
}
.singleSelectInput:checked:after {
	background-color: #8C61B8;
}
.singleSelectInput:disabled {
	background-color: transparent;
	opacity: 0.3;
}
.rsvSelectedMenuCassetteWrap {
	border: 1px solid #BFB9B0;
	border-radius: 3px;
	margin: 10px 10px 0;
}
a.rsvSelectedMenuChangeText {
	color: #8C61B8;
	display: block;
	font-size: 11px;
	font-weight: bold;
	padding: 8px 10px;
	position: relative;
	text-decoration: none;
}
.rsvSelectedMenuChangeText::after {
	background: url("/CSP/img/common/smb/icon_link2.png?switch=2025062510") no-repeat 0 0;
	content: "";
	display: block;
	height: 14px;
	margin-top: -7.5px;
	position: absolute;
	right: 13px;
	top: 50%;
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	transform: rotate(90deg);
	width: 9px;
}
.rsvSelectedMenuChangeText.isOpened::after {
	-webkit-transform: rotate(-90deg);
	-moz-transform: rotate(-90deg);
	transform: rotate(-90deg);
}
.rsvSelectedMenuCassetteList {
	color: #665555;
	padding: 5px 10px 10px;
	word-break: break-all;
}
.rsvSelectedMenuCassetteList > li ~ li  {
	border-top: 1px solid #CCCCCC;
	margin-top: 10px;
	padding-top: 10px;
}
.rsvSelectedMenuCassetteCouponType {
	display: table-cell;
	padding-right: 10px;
	vertical-align: middle;
}
.rsvSelectedMenuCassetteCouponName {
	display: table-cell;
	font-size: 13px;
	font-weight: bold;
	vertical-align: middle;
}
.rsvSelectedMenuCassetteCouponDtl dl ~ dl {
	margin-top: 5px;
}
.rsvSmcBlock ~ .rsvSmcBlock {
	margin-top: 8px;
}
.rsvToggleMenuNameList {
	padding: 5px 10px 10px;
}
.rsvToggleMenuNameList > li {
	color: #665555;
	font-weight: bold;
	line-height: 1.4em;
	overflow: hidden;
	padding-bottom: 8px;
	word-break: break-all;
}
.rsvToggleMenuNameList > li:last-child {
	padding-bottom: 0;
}
.rsvToggleMenuNameList li ~ li {
	border-top: 1px dotted #CCCCCC;
	padding-top: 8px;
}
.rsvSelectedCaptionWrap {
	margin-top: 8px;
	padding: 0 10px 0 20px;
}
.rsvSelectedTotalTime {
	color: #665555;
	display: inline-block;
	font-size: 11px;
}
.rsvAddMenuBtnWrap {
	float: right;
	padding-left: 20px;
}
.rsvAddMenuBtnWrap > a {
	font-size: 12px;
	line-height: 32px;
	margin-top: 2px;
	width: 130px;
}
.rsvChooseAppointWrap {
	margin-top: 10px;
	padding: 0 20px 0 20px;
}
.rsvChooseAppointWrap > dt,
.rsvChooseAppointWrap > dd {
	color: #665555;
	display: inline-block;
}
.rsvChooseAppointList > li {
	display: inline-block;
	padding-left: 5px;
	position: relative;
}
.rsvChooseAppointList > li ~ li {
	padding-left: 18px;
}
.rsvChooseAppointLabel {
	display: inline-block;
	min-height: 20px;
	padding-left: 26px;
	padding-top: 1px;
}
.rsvChooseAppointList .singleSelectInput {
	left: auto;
	top: auto;
}
.calHeaderWrap {
	left: 0;
	top: 0;
	transform: translate3d(0,0,0);
	width: 100%;
	z-index: 999;
}
.calHeaderWrap.isFixed {
	border-bottom: 1px solid #CCCCCC;
	position: fixed;
}
.calHeaderWrap.isAbsolute {
	position: absolute;
}
.timeTable.timeColor td,
.timeColor > th.w16p {
	min-width: 56px;
	padding-right: 2px;
}
.timeTableBand td:not(.timeSharp) > span {
	padding-left: 5px;
}
.timeTable tr:not(:first-child) > td {
	border-top: 1px solid #CCCCCC;
}
.timeTable tr:not(:first-child) > .timeSharp {
	border-top: 2px solid #CCCCCC;
}

/* add Menu result */
.rsvAddMenuWrap {
	margin-top: 20px;
	padding-left: 10px;
	padding-right: 10px;
}
.rsvAddMenuTitle {
	color: #7030A0;
	font-size: 13px;
	font-weight: bold;
}
.rsvAddMenuTitle + .rsvAddMenuBox {
	margin-top: 7px;
}
.rsvAddMenuItem {
	box-sizing: border-box;
	display: table;
	padding-bottom: 8px;
	padding-top: 8px;
	width: 100%;
	word-break: break-all;
}
.rsvAddMenuItem + .rsvAddMenuItem {
	border-top: 1px dotted #BFB9B0;
}
.rsvAddMenu {
	border: 1px solid #BFB9B0;
	border-radius: 3px;
	padding-left: 10px;
	padding-right: 10px;
}
.rsvAddMenuEmptyMsg {
	color: #999999;
	padding-bottom: 8px;
	padding-top: 8px;
}
.rsvAddMenuItemName {
	color: #665555;
	display: table-cell;
	font-weight: bold;
	width: 85%;
}
.rsvAddMenuItemTime {
	color: #665555;
	display: table-cell;
	text-align: right;
	vertical-align: middle;
	width: 15%;
}

/* coupon detail modal */
.couponDetailModalLink {
	font-size: 11px;
	overflow: hidden;
}
.couponDetailModalLink > a {
	color: #4C4C80;
	display: block;
	padding-bottom: 5px;
}
.couponDetailModalArea {
	left: 0;
	margin: 0 30px;
	opacity: 0;
	position: absolute;
	right: 0;
	-webkit-transform: translate3d(0, 0, 1px);
	transform: translate3d(0, 0, 1px);
	-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 {
	height: 30px;
	position: absolute;
	right: -15px;
	top: -12px;
	width: 30px;
	z-index: 1001;
}
.couponDetailModalCloseBtn > a {
	background-color: #FFFFFF;
	border: 2px solid #CCCCCC;
	border-radius: 22px;
	box-sizing: border-box;
	color: #8A7C7C;
	display: block;
	height: 100%;
	vertical-align: top;
	width: 100%;
}
.couponDetailModalCloseBtn > a:before,
.couponDetailModalCloseBtn > a:after {
	background-color: #999999;
	content: "";
	display: block;
	height: 3px;
	left: 8px;
	position: absolute;
	top: 13px;
	width: 15px;
}
.couponDetailModalCloseBtn > a:before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.couponDetailModalCloseBtn > a:after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.couponDetailOverlay {
	background: #000000;
	height: 152%;
	left: 0;
	opacity: 0;
	position: fixed;
	top: 0;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 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 {
	border-left: 4px solid #C982EA;
	color: #665555;
	font-size: 12px;
	font-weight: bold;
	padding-left: 10px;
}
/* 予約確認画面 */
.btnConfirmReserve {
	height: 40px;
}
.rsvMainColor {
	color: #7030A0;
	font-weight: bold;
}
.rsvAssistTxt {
	color: #CA9239;
	font-size: 11px;
}
.rsvIconRequired {
	background-color: #CC0000;
	border-radius: 2px;
	color: #FFFFFF;
	display: inline-block;
	font-size: 10px;
	font-weight: normal;
	padding: 0 5px;
}
.rsvAttentionTxtWrap {
	background: #F3F1CA;
	margin: 10px;
	padding: 12px 15px;
	text-align: center;
}
.rsvInformationFormWrap {
	padding: 0 10px;
}
.rsvInformationFormWrap .disable {
	color: #909090;
}
.rsvInformationForm {
	display: table;
	margin-top: 15px;
	width: 100%;
}
.rsvInformationFormLabel,
.rsvInformationFormDetail {
	display: table-cell;
}
.rsvInformationFormLabel {
	color: #665555;
	font-weight: bold;
	width: 130px;
}
.rsvInformationFormDetail {
	word-break: break-all;
}
.rsvInformationFormLabelTop {
	color: #665555;
	font-weight: bold;
}
.rsvInformationFormLabelTopWrap {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.rsvCustomerName {
	color: #333333;
	font-size: 14px;
}

/* 予約確認画面 form */
.rsvFormSelect {
	-webkit-appearance: none;
	appearance: none;
	background-color: #FFFFFF;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	box-sizing: border-box;
	height: 36px;
	padding: 5px 20px 5px 10px;
}
.rsvFormSelectPoint {
	width: 170px;
}
.rsvFormSelectPoint.isDisabled {
	opacity: 0.5;
}
.rsvFormSelectFree {
	width: 100%;
}
.rsvFormSelectWrap {
	position: relative;
}
.rsvFormSelectWrap::after {
	background: url(/CSP/img/common/smb/btn_arrow_bottom_accordion.png?switch=2025062510) center / contain no-repeat;
	content: "";
	height: 20px;
	pointer-events: none;
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
}

.rsvFormInputTel,
.rsvFormInputSecurityCode {
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	box-sizing: border-box;
	height: 44px;
	padding: 5px 10px;
}
.rsvFormInputRadio {
	left: auto;
	top: auto;
}
.rsvFormInputSecurityCode {
	padding: 5px 12px;
	width: 88px;
}
.rsvFormInputSecurityCode::placeholder {
	color: #909090;
}
.rsvFormInputRadioLabel {
	display: inline-block;
	font-size: 13px;
	min-height: 20px;
	padding-left: 26px;
	padding-top: 1px;
}
.singleSelectInput:disabled + .rsvFormInputRadioLabelWrap > .rsvFormInputRadioLabel,
.singleSelectInput:disabled + .rsvFormInputRadioLabelWrap > .rsvRadioOnlineLabelTxt {
	opacity: 0.3;
}
.rsvRadioOnlineLabelTxt {
	color: #6D6D6D;
	font-size: 11px;
	margin-top: 4px;
	padding-left: 26px;
}
.rsvFormInputRadioMsg {
	display: inline-block;
	padding-left: 10px;
	text-align: inherit;
}
.rsvFormInputCheckLabel {
	display: inline-block;
	min-height: 20px;
	padding-left: 26px;
	padding-top: 1px;
}
.rsvFormInputCheckConfirm {
	display: inline-block;
	padding: 10px;
	position: relative;
}
.rsvFormInputCheckConfirm .checkboxLabelKr {
	height: 20px;
	left: 10px;
	margin: 0;
	position: absolute;
	top: 10px;
	width: 20px;
}
.rsvFormInputCheckFree {
	margin-top: 2px;
	padding: 10px 0 0 10px;
	position: relative;
}
.rsvFormTextarea {
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	box-sizing: border-box;
	padding: 5px 10px;
	width: 100%;
}
.rsvFormText {
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	box-sizing: border-box;
	height: 36px;
	padding: 5px 10px;
	width: 100%;
}
.rsvFormInputAlert,
.rsvFormTextareaAlert {
	background-color: #FFF0F0;
	border: 2px solid #CC0000;
}
.rsvFormConfirmAlert {
	background-color: #FFF0F0;
}
.rsvFormInputRadioAlert,
.rsvFormInputCheckAlert {
	border: 2px solid #CC0000;
}
/* バナー */
.stBannerContents img {
	border: solid 1px #E0E1E2;
}
/* 詳細要望を入力する */
.salonRequestWrap {
	border: 1px solid #E0E1E2;
	border-radius: 8px;
}
.salonRequestWrap > a {
	display: block;
}
.rsvMoreDetailRequestLink {
	background: url(/CSP/img/common/smb/btn_arrow_bottom_accordion.png?switch=2025062510) top 8px right 12px/20px 20px no-repeat;
	box-sizing: border-box;
	color: #333333 !important;
	display: block;
	font-weight: bold;
	line-height: 1;
	padding: 12px;
	text-decoration: none;
}
.rsvMoreDetailRequestLink.isOpened {
	background-image: url(/CSP/img/common/smb/btn_arrow_top_accordion.png?switch=2025062510);
}
.rsvMoreDetailRequestLink::after {
	background-color: #F6F6F6;
	box-sizing: border-box;
	color: #6D6D6D;
	content: "任意";
	font-size: 10px;
	font-weight: normal;
	margin-left: 8px;
	padding: 2px 5px;
}
@media (max-width: 374px) {
	.rsvMoreDetailRequestLink {
		font-size: 10px
	}
}
.rsvMoreDetailRequestLinkCaption {
	color: #666666;
	display: inline-block;
}
.rsvMoreDetailRequestWrap {
	border-top: 1px solid #E0E1E2;
	display: none;
}
.rsvMoreDetailRequest {
	overflow: hidden;
	padding: 16px;
}
.rsvMoreDetailRequestCnt + .rsvMoreDetailRequestCnt {
	margin-top: 20px;
}
.rsvMoreDetailRequestLabel {
	color: #665555;
	font-weight: bold;
}
.rsvFavoriteStyleArea {
	display: flex;
	margin-top: 10px;
}
.rsvFavoriteStyleImgWrap {
	border: 1px solid #E0E1E2;
	border-radius: 4px;
	box-sizing: border-box;
	flex-shrink: 0;
	height: 120px;
	overflow: hidden;
	text-align: center;
	vertical-align: top;
	width: 120px;
}
.rsvFavoriteStyleImg {
	align-items: center;
	background-color: #F6F6F6;
	display: flex;
	height: 120px;
	justify-content: center;
	width: 120px;
}
.rsvFavoriteStyleImg.dn {
	display: none;
}
.rsvFavoriteStyleImgTxt {
	color: #909090;
	font-size: 11px;
	font-weight: bold;
	text-align: center;
}
.rsvFavoriteStyleLink {
	display: table-cell;
	margin-left: 12px;
	vertical-align: top;
}
.rsvFavoriteStyleLink > li {
	position: relative;
}
.rsvFavoriteStyleLink a {
	color: #4C4C80;
	text-decoration: underline;
}
.rsvFavoriteStyleLink a.isDisabled {
	opacity: 0.3;
	pointer-events: none;
}
.rsvFavoriteStyleImgClear {
	background: url(/CSP/img/svg/sp/icon_close_gray.svg?switch=2025062510) center left / 14px no-repeat;
	display: block;
	padding-left: 16px;
	position: relative;
}
.rsvFavoriteStyleLink a::after,
.rsvFavoriteStyleImgClear::after {
	content: "";
	height: 100%;
	left: 0;
	min-height: 28px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 100%;
}
.rsvFavoriteStyleImgClear:link {
	color: #909090;
	text-decoration: none;
}
/* 会員登録完了 */
.rsvCompletRegistrationTxt {
	padding: 10px 0;
	text-align: center;
}

/* 入力エラーテキスト */
.rsvInformationFormErrTxt {
	color: #CC0000;
	padding: 8px 10px 5px;
}
.rsvInformationFormErrList {
	font-weight: bold;
	margin-left: 10px;
}

/* 入力エラーテキスト */
.rsvConfirmArea + .rsvConfirmArea {
	margin-top: 8px;
}
.rsvConfirmWrap {
	color: #665555;
	margin: 0 10px;
	padding: 13px 0;
}
.rsvConfirmWrap + .rsvConfirmWrap {
	border-top: 1px solid #E0E1E2;
}
.rsvConfirmCnt {
	display: table;
	width: 100%;
	word-break: break-all;
}
.rsvConfirmTtl {
	color: #665555;
	font-weight: bold;
}
.rsvConfirmLabel,
.rsvConfirmDetail {
	display: table-cell;
}
.rsvConfirmLabel {
	vertical-align: top;
	width: 150px;
}
.rsvConfirmDetail {
	color: #333333;
	vertical-align: middle;
}
.rsvConfirmDetail.disable {
	color: #909090;
}
.rsvConfirmLabelTop {
	font-weight: bold;
}
.rsvConfirmCoupon {
	display: table;
	margin-top: 12px;
	width: 100%;
	word-break: break-all;
}
.rsvConfirmCouponDetail,
.rsvConfirmCouponPrice {
	display: table-cell;
}
.rsvConfirmCouponDetail {
	vertical-align: top;
}
.rsvConfirmCouponPrice {
	color: #333333;
	text-align: right;
	vertical-align: middle;
	width: 85px;
}
.rsvConfirmCouponType,
.rsvConfirmCouponName {
	display: table-cell;
	vertical-align: middle;
}
.rsvConfirmCouponType {
	padding-right: 10px;
}
.rsvConfirmCouponName {
	font-size: 13px;
	font-weight: bold;
}
.rsvConfirmCouponConditionList + .rsvConfirmCouponConditionList {
	margin-top: 5px;
}
.rsvConfirmCouponConditionLabel {
	color: #7030A0;
	float: left;
}
.rsvConfirmCouponCondition {
	color: #333333;
	overflow: hidden;
}
.rsvConfirmNomination {
	display: table;
	width: 100%;
}
.rsvConfirmNominationStaff,
.rsvConfirmNominationFee {
	color: #333333;
	display: table-cell;
	vertical-align: top;
}
.rsvConfirmNominationFee {
	text-align: right;
	width: 85px;
}
.rsvConfirmAreaBottom {
	padding: 13px 10px 0;
}
.rsvImgCopyGuardWrap {
	position: relative;
	display: inline-block;
	-moz-user-select: none;
	-webkit-user-select: none;
	user-select: none;
}
.rsvImgCopyGuardCover {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

/* お客様情報入力：子ウィンドウ */
.rsvChildSelectBody div.wrapper {
	overflow: hidden;
}

/* ギフト券 */
.rsvGiftMenuLabel {
	display: inline-block;
	font-size: 13px;
	min-height: 20px;
	padding-left: 30px;
	position: relative;
	width: 75%;
}
.rsvGiftMenuLabel.isDisabled {
	opacity: 0.5;
}
.rsvGiftMenuInput {
	-webkit-appearance: none;
	appearance: none;
	background: #FFFFFF;
	border: 2px solid #CCCCCC;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	height: 20px;
	left: 5px;
	margin: 0;
	position: absolute;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	width: 20px;
	z-index: 1;
}
.rsvGiftMenuInput:checked:after {
	background-color: #8C61B8;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	content: "";
	display: block;
	height: 10px;
	left: 50%;
	margin-left: -5px;
	margin-top: -5px;
	position: absolute;
	top: 50%;
	width: 10px;
	z-index: 2;
}
.rsvGiftMenuCheckLabel {
	color: #7030A0;
	padding-bottom: 5px;
	padding-right: 35px;
	padding-top: 5px;
	position: relative;
	text-decoration: underline;
}
.rsvGiftMenuCheck {
	-webkit-appearance: none;
	appearance: none;
	background: #FFFFFF;
	border: 1px solid #7030A0;
	border-radius: 3px;
	bottom: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	height: 15px;
	margin: auto;
	position: absolute;
	right: 0;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	top: 0;
	width: 25px;
	z-index: 1;
}
.rsvGiftMenuCheck::before {
	border-right: 1px solid #7030A0;
	border-top: 1px solid #7030A0;
	content: "";
	height: 4px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 2px;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	width: 4px;
}
.rsvGiftMenuCheck.isOpened::before {
	top: 5px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.rsvGiftMenuBoxWrapper {
	border: 1px solid #CCCCCC;
	margin-top: 15px;
	padding: 10px 5px;
	position: relative;
}
.rsvGiftMenuBoxWrapper::before,
.rsvGiftMenuBoxWrapper::after {
	border-style: solid;
	content: "";
	height: 0;
	position: absolute;
	width: 0;
}
.rsvGiftMenuBoxWrapper::before {
	border-color: transparent transparent #CCCCCC transparent;
	border-width: 0 10px 14px 10px;
	bottom: 100%;
	left: 35px;
}
.rsvGiftMenuBoxWrapper::after {
	border-color: transparent transparent #FFFFFF transparent;
	border-width: 0 9px 12px 9px;
	bottom: 100%;
	left: 36px;
}
.rsvGiftMenuList + .rsvGiftMenuList,
.rsvGiftMenuAssistTxt {
	border-top: 1px solid #CCCCCC;
	margin-top: 10px;
	padding-top: 10px;
}


/* ギフト券詳細モーダル */
.rsvGiftDetailModalArea {
	margin: 70px 30px;
	opacity: 0;
	-webkit-transform: translate3d(0, 0, 1px);
	transform: translate3d(0, 0, 1px);
	-webkit-transition-property: opacity;
	transition-property: opacity;
}
.rsvGiftDetailModalArea.isOpened {
	opacity: 1;
	-webkit-transition-duration: 0.6s;
	transition-duration: 0.6s;
}
.rsvGiftDetailModalArea.isClosed {
	opacity: 0;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}
.rsvGiftDetailModalContents {
	background-color: #FFFFFF;
	border-radius: 0 0 4px 4px;
	padding: 20px 15px;
}
.rsvGiftDetailModalHeader {
	background-color: #988989;
	border-radius: 4px 4px 0 0;
	color: #FFFFFF;
	font-size: 14px;
	height: 32px;
	line-height: 32px;
	padding: 0 10px;
}
.rsvGiftDetailModalHeaderCloseBtn {
	display: block;
	height: 32px;
	position: absolute;
	right: 5px;
	top: 0;
	width: 32px;
	z-index: 1001;
}
.rsvGiftDetailModalHeaderCloseBtn::before,
.rsvGiftDetailModalHeaderCloseBtn::after {
	background-color: #FFFFFF;
	bottom: 0;
	content: "";
	display: block;
	height: 2px;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 20px;
}
.rsvGiftDetailModalHeaderCloseBtn::before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.rsvGiftDetailModalHeaderCloseBtn::after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.rsvGiftDetailModalContentsBox + .rsvGiftDetailModalContentsBox {
	margin-top: 15px;
}
.rsvGiftDetailModalContentsHeader {
	color: #505050;
	font-weight: bold;
	font-size: 14px;
}
.rsvGiftDetailModalContentsTtl {
	background-color: #F4F4F4;
	color: #666666;
	font-size: 14px;
	font-weight: bold;
	padding: 7px;
}
.rsvGiftDetailModalContentsList + .rsvGiftDetailModalContentsList {
	margin-top: 5px;
}
.rsvGiftDetailModalOpenBtn {
	background: #FFFFFF;
	border: 2px solid #988989;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	bottom: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color: #988989 !important;
	font-size: 14px;
	font-weight: bold;
	height: 20px;
	line-height: 16px;
	margin: auto;
	padding-top: 1px;
	position: absolute;
	right: 5px;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	text-align: center;
	text-decoration: none;
	top: 0;
	width: 20px;
	z-index: 1;
}
.rsvGiftDetailOverlay {
	background: rgba(0, 0, 0, 0.6);
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-transition-property: opacity;
	transition-property: opacity;
	width: 100%;
	z-index: 1000;
}
.rsvGiftDetailOverlay.isOpened {
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}
.rsvGiftDetailOverlay.isClosed {
	opacity: 0;
	-webkit-transition-duration: 0.6s;
	transition-duration: 0.6s;
}
.rsvGiftCpDetailModalInner {
	height: 100%;
	-webkit-overflow-scrolling: touch;
	overflow-y: auto;
}

/* 料金欄 */
.rsvPaymentFormWrapper {
	padding-bottom: 12px;
	padding-top: 12px;
}
.rsvPaymentFormWrapper + .rsvPaymentFormWrapper {
	border-top: 1px solid #E0E1E2;
}

.rsvPaymentReTotalBox {
	border-top: 1px solid #E0E1E2;
	padding-bottom: 12px;
	padding-top: 12px;
}

.rsvPaymentFormLabel {
	color: #665555;
	float: left;
	font-weight: bold;
	width: 130px;
}
.rsvPaymentFormDetail {
	float: right;
	word-break: break-all;
}
.slnMenuNote {
	overflow-wrap : break-word;
	padding: 10px 10px 0;
	word-wrap : break-word;
}

/*****************************************************
 * クーポン一覧での画像の拡大表示・関連画像表示
 *****************************************************/
/* 複数クーポン画像のアイコン */
.couponMoreIcn::before {
	background: url(/CSP/img/kr/smb/icons/icn_coupon_tab.png?switch=2025062510) center / 18px;
	content: "";
	height: 18px;
	position: absolute;
	right: 0;
	top: 0;
	width: 18px;
	z-index: 1;
}

/* クーポンモーダル */
.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;
}

/* ポイント連携解除モーダル */
.pointModalWrap {
	background-color: rgba(51,51,51,0.8);
	bottom: 0;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1;
}
.pointModal {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	padding: 0 16px;
}
.pointModalCnt {
	background-color: #FFFFFF;
	border-radius: 8px;
	box-sizing: border-box;
	color: #333333;
	min-width: 288px;
	padding: 32px 18px;
	text-align: center;
	width: 100%;
}
.pointModalTxt {
	display: inline-block;
	text-align: left;
}
.pointModalCloseBtn {
	margin: 20px auto 0;
}
.pointModalCloseBtn > a {
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	box-sizing: border-box;
	color: #333333;
	display: inline-block;
	font-weight: bold;
	line-height: 1;
	padding: 12px 0;
	text-decoration: none;
	width: 128px;
}

/* slnCouponLabelList */
.slnCouponLabelList {
	display: flex;
	flex-wrap: wrap;
}
.slnCouponLabelList > li {
	font-size: 10px;
	line-height: 1;
	margin-bottom: 5px;
}
.slnCouponLabelList > li:not(:last-child) {
	margin-right: 5px;
}
.slnCouponLabelCT01 {
	background-color: #FADCE3;
	color: #C43357;
	padding: 3px;
}
.slnCouponLabelCT02 {
	background-color: #D97791;
	color: #FFFFFF;
	padding: 3px;
}
.slnCouponLabelCT03 {
	background-color: #FCECF0;
	border: 1px solid #F3D6DE;
	color: #C43357;
	padding: 2px;
}
.slnLimitedCouponLabel {
	background-color: #FFFFFF;
	border: 1px solid #CCBBBB;
	color: #665555;
	padding: 2px;
}
/* /slnCouponLabelList */

/* 仮予約希望日時 */
.firstPreferredDateWrap {
	padding: 10px 10px 14px;
}
.firstPreferredDateTbl {
	border: 1px solid #CCCCCC;
	box-sizing: border-box;
	line-height: 30px;
	width: 100%;
}
.firstPreferredDateTblHead {
	background-color: #F2F2F2;
	border-right: 1px solid #CCCCCC;
	box-sizing: border-box;
	padding: 0 5px;
	width: 40%;
}
.firstPreferredDateTblDate {
	padding: 0 5px;
	width: 60%;
}
.secondPreferredDateWrap {
	padding: 10px 10px 0;
}
.secondPreferredDateTbl {
	border: 1px solid #CCCCCC;
	box-sizing: border-box;
	width: 100%;
}
.secondPreferredDateTblHead {
	background-color: #F2F2F2;
	border-bottom: 1px solid #CCCCCC;
	box-sizing: border-box;
	line-height: 30px;
	padding: 0 5px;
}
.secondPreferredDateTblInputWrap {
	padding: 9px;
}
.secondPreferredDateTblInputTextArea {
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	box-sizing: border-box;
	padding: 8px;
	width: 100%;
}
/* rsvSubmitButtonArea */
.rsvSubmitButtonArea {
	background-color: #F5F3F1;
	bottom: 0;
	box-sizing: border-box;
	opacity: 0;
	padding: 12px 16px;
	position: fixed;
	transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
	visibility: hidden;
	width: 100%;
	z-index: 1;
}
.rsvSubmitButtonArea.isVisible {
	opacity: 1;
	visibility: visible;
}

/* for iOS15 Safari */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
	::-webkit-full-page-media, :future, :root .rsvSubmitButtonArea {
		padding-bottom: calc(10px + env(safe-area-inset-bottom));
	}
}
/* /rsvSubmitButtonArea */

/* 新ボタン */
.rsvBtnFilledKr,
.rsvBtnOutlinedKr,
.rsvBtnOutlinedNegative,
.rsvBtnOutlinedNegativeS {
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid;
	border-radius: 8px;
	box-sizing: border-box;
	font-size: 14px;
	font-weight: bold;
	outline: none;
	padding: 0;
}
.rsvBtnFilledKr,
.rsvBtnOutlinedKr {
	min-height: 44px;
	width: 100%;
}
.rsvBtnFilledKr {
	background-color: #8C61B8;
	border-color: #8C61B8;
	color: #FFFFFF !important;
}
.rsvBtnOutlinedKr {
	background-color: #FFFFFF;
	border-color: #E0E1E2;
	color: #7030A0 !important;
}
.rsvBtnOutlinedNegative {
	background-color: #FFFFFF;
	border-color: #E0E1E2;
	min-height: 44px;
	width: 100%;
}
.rsvBtnOutlinedNegativeS {
	align-items: center;
	background-color: #FFFFFF;
	border-color: #E0E1E2;
	color: #333333 !important;
	display: flex;
	justify-content: center;
	min-height: 36px;
	text-decoration: none;
}
.rsvConfirmBtn {
	padding: 11px 0;
}
.rsvConfirmBtn > span {
	display: block;
	line-height: 1;
}

/* クレジットカード登録フォーム */
.creditCardEntryArea {
	display: none;
	margin-bottom: -4px;
}
.creditCardEntryArea a:link,
.creditCardEntryArea a:visited {
	color: #4C4C80;
}
.singleSelectInput#online:disabled ~ .creditCardEntryAreaWrap,
.creditCardErrorTxtWrap {
	display: none;
}
.singleSelectInput#online:disabled ~ .creditCardErrorTxtWrap {
	display: block;
}
.creditCardEntryForm {
	background-color: #FFFFFF;
	height: 100%;
	overflow-y: auto;
	position: fixed;
	top: 100%;
	transition: top 0.3s ease-in-out, visibility 0.3s ease-in-out;
	visibility: hidden;
	width: 100%;
	z-index: 2;
}
.creditCardEntryForm.isOpened {
	top: 0;
	visibility: visible;
}
.creditCardEntryFormBody {
	padding: 16px 0 64px;
	position: relative;
	z-index: 1;
}
.creditCardEntryFormButtonWrapper {
	position: fixed;
	bottom: 0;
	width: 100%;
	padding: 12px 0;
	display: flex;
	justify-content: center;
	background-color: #fff;
	border-top: solid 1px #e0e1e2;
	z-index: 2;
}
.creditCardEntryFormButtonWrapper > button {
	margin: 0 16px;
	width: 100%;
}
.creditCardEntryFormCloseBtn {
	-webkit-appearance: none;
	appearance: none;
	background: url(/CSP/img/svg/sp/icon_close_kr.svg?switch=2025062510) center / 24px no-repeat;
	border: none;
	height: 44px;
	left: 2px;
	outline: none;
	padding: 0;
	position: absolute;
	top: 6px;
	width: 44px;
}
.creditCardEntryFormErrorNote {
	color: #CC0000;
	display: none;
	font-size: 11px;
	width: 100%;
}
.creditCardEntryFormErrorNote.isShow {
	display: block;
	margin-top: 8px;
}
.creditCardEntryFormErrorNote.isShow + .creditCardEntryFormErrorNote.isShow {
	margin-top: 4px;
}
.creditCardEntryFormHead {
	background-color: #FFFFFF;
	border-bottom: 1px solid #E0E1E2;
	color: #665555;
	font-size: 16px;
	font-weight: bold;
	line-height: 56px;
	position: sticky;
	text-align: center;
	top: 0;
	z-index: 2;
}
.creditCardEntryFormInner {
	padding: 0 16px;
}
.creditCardEntryFormInner + .creditCardEntryFormInner {
	border-top: 1px solid #E0E1E2;
	margin-top: 16px;
	padding-top: 16px;
	margin-bottom: 32px;
}
.creditCardEntryFormInput {
	background-color: #FFFFFF;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	box-sizing: border-box;
	height: 44px;
	padding: 0 12px;
	width: 100%;
}
.creditCardEntryFormInput.isError {
	background-color: #FFF0F0;
	border: 2px solid #CC0000;
}
.creditCardEntryFormInput::placeholder {
	color: #909090;
}
.creditCardEntryFormInputName {
	text-transform: uppercase;
}
.creditCardEntryFormInputHelpIcn {
	-webkit-appearance: none;
	appearance: none;
	background: transparent url(/CSP/img/svg/sp/icon_help_gray.svg?switch=2025062510) center / 20px no-repeat;
	border: none;
	outline: none;
	padding: 0;
	position: absolute;
	right: 0;
	width: 36px;
}
.creditCardList .creditCardEntryFormInputHelpIcn,
.creditCardEntryForm .creditCardEntryFormInputHelpIcn {
	height: 44px;
}
.creditCardEntryFormItem {
	display: flex;
	flex-wrap: wrap;
}
.creditCardEntryFormItem + .creditCardEntryFormItem {
	margin-top: 16px;
}
.creditCardEntryFormItem > div {
	flex: 1;
}
.creditCardEntryFormNote {
	color: #6D6D6D;
	font-size: 11px;
}
.creditCardEntryFormNote a:link,
.creditCardEntryFormNote a:visited {
	color: #4C4C80;
}
.creditCardEntryFormSubHead {
	color: #665555;
	font-weight: bold;
	padding-bottom: 8px;
	white-space: nowrap;
}
.creditCardEntryFormSubHead.isRequired::after {
	background-color: #E53B4E;
	border-radius: 2px;
	color: #FFFFFF;
	content: "\5FC5\9808";
	display: inline-block;
	font-size: 10px;
	font-weight: normal;
	line-height: 15px;
	margin-left: 4px;
	padding: 0 5px;
}
.creditCardErrorModal {
	background-color: rgba(51, 51, 51, 0.8);
	bottom: 0;
	left: 0;
	opacity: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
	visibility: hidden;
	z-index: 2;
}
.creditCardErrorModal.isOpened {
	opacity: 1;
	visibility: visible;
}
.creditCardErrorModalBody {
	background-color: #FFFFFF;
	border-radius: 8px;
	box-sizing: border-box;
	left: 50%;
	padding: 16px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 32px);
}
.creditCardErrorModalCloseBtn {
	-webkit-appearance: none;
	appearance: none;
	background-color: #FFFFFF;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	color: #333333;
	display: block;
	font-size: 14px;
	font-weight: bold;
	height: 44px;
	margin: 16px auto 0;
	outline: none;
	padding: 0 92px;
}
.creditCardErrorModalHead {
	color: #333333;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 4px;
	text-align: center;
}
.creditCardErrorModalTxt {
	color: #333333;
	font-size: 12px;
}
.creditCardHelpModal {
	background-color: rgba(51, 51, 51, 0.8);
	bottom: 0;
	left: 0;
	opacity: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
	visibility: hidden;
	z-index: 2;
}
.creditCardHelpModal.isOpened {
	opacity: 1;
	visibility: visible;
}
.creditCardHelpModalBody {
	background-color: #FFFFFF;
	border-radius: 8px;
	box-sizing: border-box;
	left: 50%;
	max-width: 343px;
	opacity: 0;
	padding: 0 16px 24px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
	visibility: hidden;
	width: calc(100% - 32px);
}
.creditCardHelpModalBody.isOpened {
	opacity: 1;
	visibility: visible;
}
.creditCardHelpModalCloseIcn {
	background: url(/CSP/img/svg/sp/icon_close_white.svg?switch=2025062510) center / contain;
	height: 24px;
	left: 4px;
	position: absolute;
	top: -40px;
	width: 24px;
}
.creditCardHelpModalHead {
	border-bottom: 1px solid #E0E1E2;
	color: #665555;
	font-size: 16px;
	font-weight: bold;
	line-height: 56px;
	margin: 0 -16px 16px;
	text-align: center;
}
.creditCardHelpModalImg {
	width: 30%;
}
.creditCardHelpModalTxt {
	box-sizing: border-box;
	color: #333333;
	float: left;
	font-size: 14px;
	padding-right: 16px;
	width: 70%;
}
.creditCardList > li + li {
	margin-top: 12px;
}
.creditCardList + .creditCardNoEntryAlert,
.creditCardListAddBtnWrap,
.creditCardListOverTxtWrap {
	display: none;
}
.creditCardList ~ .creditCardListAddBtnWrap,
.creditCardList + .creditCardListOverTxtWrap {
	display: block;
}
.creditCardListAddBtn {
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent;
	border: none;
	color: #7030A0;
	font-size: 12px;
	outline: none;
	padding: 0;
}
/* ボタン フォント変更 */
button.creditCardListAddBtn,
button.rsvBtnFilledKr,
button.rsvBtnOutlinedKr {
	font-family: inherit;
}
.creditCardListLabel {
	background-color: #FFFFFF;
	border: 1px solid #E0E1E2;
	border-radius: 8px;
	color: #333333;
	display: block;
	padding: 16px;
}
.creditCardList > li.isUnusable .creditCardListLabel {
	background-color: #F6F6F6;
}
.creditCardListItem {
	align-items: center;
	display: flex;
}
.creditCardListLabel .singleSelectInput {
	position: relative;
}
.creditCardListLabel .singleSelectInput:disabled::before {
	background-color: #CCCCCC;
	border-radius: 1px;
	content: "";
	height: 2px;
	left: 50%;
	margin: auto;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) rotate(-45deg);
	width: 24px;
}
.creditCardListLabel .singleSelectInput:disabled ~ span {
	opacity: 0.3;
}
.creditCardUsableBrandList {
	align-items: center;
	display: flex;
	margin-top: 4px;
}
.creditCardUsableBrandList > li + li {
	margin-left: 16px;
}
.creditCardUsableBrandList > li.isVisa {
	width: 45px;
}
.creditCardUsableBrandList > li.isMastercard {
	width: 41px;
}
.creditCardUsableBrandList > li.isJcb {
	width: 39px;
}
.creditCardUsableBrandList > li.isAmex {
	width: 32px;
}
.creditCardUsableBrandList > li.isDinersclub {
	width: 44px;
}
.creditCardUsableBrandList > li img {
	width: 100%;
}

/* キャンセル規定 */
.rsvCancelRegList {
	display: table;
}
.rsvCancelRegListItem {
	display: table-row;
}
.rsvCancelRegListItem > dt,
.rsvCancelRegListItem > dd {
	display: table-cell;
}
.rsvCancelRegListItem > dt > span {
	display: flex;
	justify-content: space-between;
	white-space: nowrap;
}
.rsvCancelRegListItem > dt > span::after {
	content: "\FF1A";
}
/* エラーメッセージ */
.rsvErrorMsg {
	background-color: #FFF0F0;
	border: 1px solid #CC0000;
	border-radius: 4px;
	padding: 16px;
}
.rsvErrorMsgTxt {
	background: url(/CSP/img/svg/sp/icon_exclamation.svg?switch=2025062510) 0 0 / 20px no-repeat;
	color: #CC0000;
	font-size: 14px;
	font-weight: bold;
	padding-left: 24px;
}
.fcAlert {
	color: #CC0000;
}
/* ヘルプリンク */
.rsvHeadlineHelpLinkWrap {
	align-items: center;
	display: flex;
	justify-content: space-between;
}
.rsvHelpLinkKr,
.rsvHelpBtnKr {
	background: url(/CSP/img/svg/sp/icon_help_kr.svg?switch=2025062510) 0 50% / 14px no-repeat;
	color: #7030A0 !important;
	display: inline-block;
	font-size: 11px;
	font-weight: normal;
	line-height: 1.5;
	padding-left: 18px;
	position: relative;
	text-decoration: none;
	white-space: nowrap;
}
.rsvHelpBtnKr {
	-webkit-appearance: none;
	appearance: none;
	border: none;
}
.rsvHelpLinkKr::after {
	content: "";
	height: 28px;
	left: 0;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
/* 規約リンク */
.rsvTermsLinks {
	font-size: 0;
	text-align: center;
}
.rsvTermsLinks a {
	background: url(/CSP/img/svg/sp/icon_desktop_kr.svg?switch=2025062510) 0 / 14px no-repeat;
	color: #4C4C80;
	display: inline-block;
	font-size: 12px;
	line-height: 28px;
	margin: 0 4px;
	padding-left: 18px;
}
/* スマート支払いとはバナー */
.smartPaymentBnr {
	text-align: center;
}
.smartPaymentBnr + .rsvInformationFormLabelTopWrap {
	margin-top: 12px;
}
.smartPaymentBnr > img {
	max-width: 343px;
	width: 100%;
}

/* 還元ポイントの表記 */
.pointReturnLabelWrap {
	margin-top: 4px;
	padding-left: 26px;
}
.pointReturnLabel {
	background-color: #EEEEEE;
	border-radius: 10px;
	color: #333333;
	display: inline-block;
	font-size: 10px;
	line-height: 1;
	padding: 4px 8px;
}
.onlinePayAnnotationList {
	color: #6d6d6d;
	font-size: 11px;
}
.onlinePayAnnotationList > li + li {
	margin-top: 4px;
}
.pointReturnAnnotationTxt {
	color: #6D6D6D;
	font-size: 11px;
	margin-top: 8px;
}
.pointReturnAnnotationTxt a {
	color: #4C4C80;
}
/* 新ボタン */
.btnFilled,
.btnOutlinedNegative {
	align-items: center;
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid;
	border-radius: 8px;
	box-sizing: border-box;
	display: flex;
	font-size: 14px;
	font-weight: bold;
	justify-content: center;
	line-height: 1;
	min-height: 44px;
	outline: none;
	padding: 0;
	text-decoration: none;
}
.btnFilled {
	background-color: #D36985;
	border-color: #D36985;
	color: #FFFFFF !important;
}
.btnOutlinedNegative {
	background-color: #FFFFFF;
	border-color: #E0E1E2;
	color: #333333 !important;
}
