﻿
dl.booking .breadcrumb_new {
	width: calc(100% - 18px);
	padding: 9px;
	display: table;
}
dl.booking .breadcrumb_new li {
	line-height: 30px;
	vertical-align: middle;
	display: table-cell;
}
dl.booking .breadcrumb_new li > * {
	padding: 0 13.5px;
	color: #FFF;
	text-indent: 3px;
	background: #BBB;
	display: block !important;
	position: static !important;
}
dl.booking .breadcrumb_new li:first-child > * {
	padding-left: 7.5px;
}
dl.booking .breadcrumb_new li.current > * {
	background-color: #F90;
}
dl.booking .breadcrumb_new li > *:after,
dl.booking .breadcrumb_new li > *:before {
	content: '';
	width: 9px;
	height: 15px;
	background: #BBB;
	border-right: 3px #FFF solid;
	display: block;
}
dl.booking .breadcrumb_new li > *:after {
	margin: -15px -18px 0 auto;
	transform: skew(-30deg,5deg);
	position: relative;
}
dl.booking .breadcrumb_new li > *:before {
	margin: 0 -18px -15px auto;
	transform: skew(30deg,5deg);
	float: right;
}
dl.booking .breadcrumb_new li:last-child > *:after,
dl.booking .breadcrumb_new li:last-child > *:before {
	display: none;
}
dl.booking .breadcrumb_new li.current > *:after,
dl.booking .breadcrumb_new li.current > *:before {
	background-color: #FFD393;
}

dl.booking .booking-wrap {
	margin: 3px 9px 9px;
	/* padding: 0; */
}
dl.booking .booking-wrap:has(.attention) {
	width: calc(100% - 18px);
	min-height: 180px;
	table-layout: fixed;
	display: table;
}
dl.booking .booking-wrap:has(.attention) > section {
	letter-spacing: 0;
	display: table-row;
}
dl.booking .booking-wrap:has(.sub) > *:not(.sub) {
	display: none !important;
	visibility: hidden !important;
}
dl.booking .attention,
dl.booking .caution {
	padding: 18px;
	text-align: center;
	vertical-align: middle;
	border: 1px #CCC solid;
	border-radius: 9px;
	display: table-cell;
}
dl.booking .attention > *,
dl.booking .caution > * {
	color: #333;
	font-size: 135%;
	line-height: 1.5;
	display: block;
}
dl.booking .attention > *:first-child,
dl.booking .attention > *:last-child {
	margin: 9px 0;
}
dl.booking .attention > a {
	color: #36F;
	text-decoration: underline;
	vertical-align: top;
	display: inline-block;
}
dl.booking .explain {
	margin: 12px 3px;
	line-height: 1.5;
}
dl.booking .explain strong {
	font-size: 120%;
	display: block;
}
dl.booking .explain b {
	color: #F90;
	font-size: 110%;
	font-family: '游ゴシック体',YuGothic,'游ゴシック Medium','Yu Gothic Medium','游ゴシック','Yu Gothic',sans-serif;
	vertical-align: -1px;
}
dl.booking .explain a.fa {
	padding-left: 24px;
	font-size: 102.5%;
	font-weight: normal;
	position: absolute;
	top: -24px;
	left: -3px;
}
dl.booking .explain a.fa:before {
	margin: -3px 0 0 -21px;
	font-size: 18px;
	font-weight: bold;
	position: absolute;
}
dl.booking .explain .total,
dl.booking .explain .return {
	line-height: 1.0;
	position: absolute;
	top: 0;
	right: 0;
}
dl.booking .explain .total {
	color: #C00;
	font-size: 110%;
}
dl.booking .explain .total:has(+ a.fa) {
	top: -24px;
	right: 1.5px;
}
dl.booking .explain .total b {
	margin: 0 3px;
	color: inherit;
	font-size: 150%;
	letter-spacing: 0.5px;
}
dl.booking .explain .return {
	margin-top: -37.5px;
	padding-left: 17.5px;
	color: #333;
	background: url('//tt5.nukimail.jp/manager_new/img/icon/back.png') no-repeat 0 -1.5px;
}
dl.booking .warning {
	color: #E00;
	font-size: 135%;
	line-height: 60px;
	text-align: center;
	background: #FFF9F9;
	border: 3px #E00 solid;
	border-radius: 9px;
	display: block;
}
dl.booking .warning:before {
	margin: 0 4.5px;
	font-size: 120%;
	vertical-align: top;
	display: inline-block;
}
dl.booking .warning.sub {
	padding: 27px;
	line-height: 27px;
}
dl.booking .caution {
	margin-top: 12px;
	font-size: 80%;
	text-align: left;
	display: block;
}
dl.booking .caution strong {
	color: #E00;
	font-size: 150%;
}
dl.booking .caution em {
	margin-top: 3px;
	font-style: normal;
}
dl.booking .notes {
	margin: 15px 3px;
	font-size: 90%;
}

dl.booking button {
	padding: 0 !important;
}
dl.booking button:hover {
	cursor: pointer !important;
}
dl.booking .tab-menu {
	padding: 0 9px;
	letter-spacing: -0.4em;
	border-bottom: 1px #CCC solid;
}
dl.booking .tab-menu li {
	letter-spacing: 0;
	vertical-align: bottom;
	display: inline-block;
}
dl.booking .tab-menu a {
	width: 135px;
	margin: 0 7.5px -1px 0;
	color: #333;
	font-size: 12px;
	line-height: 36px;
	text-align: center;
	border: 1px #CCC solid;
	border-radius: 4.5px 4.5px 0 0;
	display: block;
}
dl.booking .tab-menu a.active {
	font-weight: bold;
	background: #FFF;
	background: -webkit-linear-gradient(top,#FEE,#FFF);
	background: -moz-linear-gradient(top,#FEE,#FFF);
	background: linear-gradient(to bottom,#FEE,#FFF);
	border-bottom-color: #FFF;
}
dl.booking .cal-menu,
dl.booking .sel-menu {
	margin: 0 3px 21px;
	letter-spacing: -0.4em;
	text-align: center;
}
dl.booking .cal-menu li,
dl.booking .sel-menu li {
	width: 50%;
	letter-spacing: 1px;
	display: inline-block;
}
dl.booking .cal-menu a,
dl.booking .sel-menu button {
	width: 100%;
	margin: 0 -1px;
	color: #333;
	font-size: 12px;
	line-height: 36px;
	background: #FFF; /* #F9F9F9 */ 
	border: 1px #CCC solid;
	box-sizing: content-box;
	display: block;
}
dl.booking .cal-menu .first-tab a,
dl.booking .sel-menu .first-tab button {
	border-radius: 4.5px 0 0 4.5px;
}
dl.booking .cal-menu .last-tab a,
dl.booking .sel-menu .last-tab button {
	border-radius: 0 4.5px 4.5px 0;
}
dl.booking .cal-menu a.active,
dl.booking .sel-menu button.active {
	color: #FFF;
	font-weight: bold;
	text-shadow: 0 0 3px rgba(0,0,0,15%);
	background-color: #F90;
	border-color: #F90;
	position: relative;
}
dl.booking .cal-menu a.active:after,
dl.booking .sel-menu button.active:after {
	content: '';
	width: 24px;
	height: 12px;
	background: #F90;
	clip-path: polygon(0 0,100% 0,50% 100%);
	display: block;
	position: absolute;
	right: calc(50% - 12px);
	bottom: -12px;
}
dl.booking .tab-menu span,
dl.booking .cal-menu span,
dl.booking .sel-menu span {
	text-align: center;
	border-right: 1px #E6E9EC solid;
	display: block;
}
dl.booking .tab-menu li:last-child span,
dl.booking .cal-menu li:last-child span,
dl.booking .sel-menu li:last-child span {
	border-right: none;
}

dl.booking table {
	width: 100%;
	background: #FFF;
}
dl.booking th,
dl.booking td {
	text-align: center;
	vertical-align: middle;
}
dl.booking .cal_table th,
dl.booking .cal_table td,
dl.booking .gals_schedule th,
dl.booking .gals_schedule td {
	padding: 9px;
	border: 1px #CCC solid;
}
dl.booking .gals_schedule table {
	margin-top: 6px;
	border-radius: 6px;
}
dl.booking .gals_schedule th {
	padding: 6px !important;
	background: #F9F6F3 !important;
}
dl.booking .cal_table .sat,
dl.booking .gals_schedule .sat {
	color: #24F;
	background: #F3F3FF;
}
dl.booking .cal_table .sun,
dl.booking .gals_schedule .sun {
	color: #F33;
	background: #FFF3F3;
}
dl.booking .cal_table .nan,
dl.booking .gals_schedule .nan {
	color: #BBB;
	background: #F9F9F9;
}
dl.booking .cal_table .tel,
dl.booking .gals_schedule .tel {
	letter-spacing: 1px;
	background: #FFF6F3;
}
dl.booking .cal_table .out p {
	height: 240px;
	margin: auto;
	letter-spacing: 3px;
	writing-mode: vertical-rl;
}
dl.booking .cal_table .date,
dl.booking .cal_table .week_link {
	border-bottom-width: 3px;
	border-bottom-color: #D9D9D9;
}
dl.booking .cal_table .date {
	width: 81px;
	/* font-size: 105%; */
}
dl.booking .cal_table .week_link > * {
	margin: 0 0 -3px;
	padding: 0;
	font-weight: bold;
	background: none;
	border: none;
	display: inline-block;
}
dl.booking .cal_table .week_link:first-child > *:before,
dl.booking .cal_table .week_link:last-child > *:after {
	content: '';
	width: 9px;
	height: 9px;
	border-top: 3px #F90 solid;
	border-left: 3px #F90 solid;
	display: inline-block;
}
dl.booking .cal_table .week_link:first-child > *:before {
	margin: 0 3px -1px 0;
	transform: rotate(-45deg);
}
dl.booking .cal_table .week_link:last-child > *:after {
	margin: 0 0 -1px 3px;
	transform: rotate(135deg);
}
dl.booking .cal_table .week_link > button {
	cursor: pointer !important;
}
dl.booking .cal_table .week_link > span {
	color: #CCC !important;
}
dl.booking .cal_table .week_link > span:before,
dl.booking .cal_table .week_link > span:after {
	border-color: #CCC !important;
}
dl.booking .cal_table tr:not(:has(> .half)) [class^=time_] {
	font-size: 110%;
	font-weight: bold;
}
dl.booking .cal_table tr:has(> .half):not(:last-child) td {
	border-bottom-width: 2px;
	border-bottom-color: #D3D3D3;
}
dl.booking .cal_table .state > a,
dl.booking .gals_schedule .state > b {
	color: #F90;
	font-size: 110%;
	font-family: '游ゴシック体',YuGothic,'游ゴシック Medium','Yu Gothic Medium','游ゴシック','Yu Gothic',sans-serif;
	font-weight: bold;
}

dl.booking .select-head,
dl.booking .select-body,
dl.booking .gals_table,
dl.booking .free_box,
dl.booking [class$=_variable],
dl.booking [class$=_charges] > * {
	padding: 12px;
	background: #FFF;
	border: 1px #CCC solid;
	border-radius: 12px;
	clear: both;
}
dl.booking .select-head {
	border-radius: 12px 12px 0 0;
}
dl.booking .select-head > * {
	font-weight: bold;
	line-height: 24px;
	display: inline-block;
}
dl.booking .select-head .sort-select {
	float: right;
}
dl.booking .select-head .page-select {
	margin-left: 9px;
}
dl.booking .select-head .page-select input {
	padding: 0 6px;
	font-size: 12px;
	line-height: 21px;
	border-width: 1px;
	border-radius: 3px;
}
dl.booking .select-head .page-select input:first-child {
	padding-left: 7.5px;
	font-size: 15px;
	border-radius: 15px 3px 3px 15px;
}
dl.booking .select-head .page-select input:last-child {
	padding-right: 7.5px;
	font-size: 15px;
	border-radius: 3px 15px 15px 3px;
}
dl.booking .select-head .page-select input:disabled {
	cursor: default;
}
dl.booking .select-body {
	background-color: #EEE;
	border-top: none;
	border-radius: 0 0 12px 12px;
}
dl.booking .gals_table,
dl.booking .free_box,
dl.booking [class$=_variable],
dl.booking [class$=_charges] > * {
	margin: 0 0 12px;
	border-bottom-width: 2px;
	border-collapse: separate;
}
dl.booking .select-body > *:last-child,
dl.booking .select-body > .page_0:not(:has(~ .page_0)) {
	margin-bottom: 0 !important;
}
dl.booking .select-body .gals_table .gals_img {
	width: 105px !important;
}
dl.booking .gals_table td {
	vertical-align: top;
	position: relative;
}
dl.booking .gals_table .gals_img {
	width: 90px;
	padding-right: 12px;
}
dl.booking .gals_table .gals_img img {
	width: 100%;
	border-radius: 9px;
}
dl.booking .gals_table .gals_data p {
	padding: 3px 0;
	text-align: left;
}
dl.booking .gals_table .gals_data .name {
	font-size: 120%;
	font-weight: bold;
}
dl.booking .page_box {
	margin: 0 0 12px;
	font-size: 110%;
}
dl.booking .page_box th {
	width: 450px;
	padding-top: 2.5px;
}
dl.booking .page_box td {
	width: 250px;
	padding: 2.5px;
}
dl.booking .page_box strong {
	font-size: 150%;
	display: block;
}
dl.booking .free_box {
	line-height: 1.5;
	text-align: center;
}
dl.booking .gals_table .other_btn,
dl.booking .gals_table .choice_btn,
dl.booking .free_box .free_btn,
dl.booking .page_box td > *,
dl.booking .course_select > *,
dl.booking #btn_back,
dl.booking [id^=btn_con] {
	min-width: 120px;
	font-weight: bold;
	line-height: 36px;
	text-align: center;
	border-bottom-width: 3px !important;
	border-radius: 6px !important;
	display: block;
	position: absolute;
	top: 3px;
	right: 3px;
}
dl.booking .gals_table .other_btn,
dl.booking .page_box td > *,
dl.booking #btn_back {
	color: #333;
	font-size: 92.5%;
	background: #FFF;
	border: 1px #CCC solid;
}
dl.booking .gals_table .choice_btn,
dl.booking .free_box .free_btn,
dl.booking .course_select > *,
dl.booking [id^=btn_con] {
	color: #FFF;
	font-size: 102.5%;
	background: #F90;
	border: 1px #FDB solid;
}
dl.booking .free_box .free_btn,
dl.booking .page_box td > *,
dl.booking #btn_back,
dl.booking [id^=btn_con] {
	border-radius: 36px !important;
	position: relative;
	top: 0;
	right: 0;
}
dl.booking .free_box .free_btn {
	width: 630px;
	margin: 4.5px auto 9px;
}
dl.booking .page_box td > * {
	font-size: 100%;
	border-width: 1px !important;
}
dl.booking .course_select > * {
	min-width: 105px;
	font-size: 75%;
	line-height: 30px !important;
	position: static !important;
}
dl.booking #btn_back {
	margin: 9px 0;
	border-radius: 9px !important;
}
dl.booking [id^=btn_con] {
	width: 100%;
	font-size: 135%;
	line-height: 45px !important;
	border-radius: 9px !important;
}
dl.booking #btn_contact {
	padding: 9px 0 6px !important;
	line-height: 27px !important;
	background: #3B6;
	border: 0 #295 solid;
}
dl.booking #btn_contact.off {
	background-color: #999;
	border-color: #CCC;
}
dl.booking .free_box .free_btn:after,
dl.booking .page_box td > *:after,
dl.booking [id^=btn_con]:after {
	content: '';
	width: 9px;
	height: 9px;
	border-top: 3px #FED solid;
	border-left: 3px #FED solid;
	display: inline-block;
	transform: rotate(135deg);
	position: absolute;
	right: 15px;
	bottom: calc(50% - 6px);
}
dl.booking .page_box td > *:after {
	border-color: #F90;
	opacity: 0.75;
}
dl.booking .page_box td.prev > *:after {
	transform: rotate(-45deg);
	right: 220px;
}
dl.booking .page_box td > *:not(span):hover {
	text-decoration: underline;
}
dl.booking .page_box td > span {
	color: #CCC !important;
}
dl.booking .page_box td > span:after {
	border-color: #CCC !important;
}
dl.booking .page_box td > button {
	width: 100%;
}
dl.booking #btn_contact:before {
	content: '';
	width: 27px;
	height: 27px;
	margin: -9px 9px -9px 0;
	background: url('../img/icon_rsvChat.svg') no-repeat 0 50%;
	display: inline-block;
}
dl.booking #btn_contact:after {
	border-color: #DFE;
}
dl.booking #btn_contact.off:after {
	border-color: #DDD;
}
dl.booking dl.course {
	margin: 0 0 9px;
	color: #333;
	position: relative;
}
dl.booking dl.course * {
	line-height: 15px;
}
dl.booking dl.course.free:after {
	/* content: ''; */
	/* width: 45px; */
	/* height: 45px; */
	/* background: url('../img/icon_free.png') no-repeat 0 0; */
	/* background-size: cover; */
	/* display: block; */
	/* position: absolute; */
	/* top: -5px; */
	/* right: 15px; */
}
dl.booking .course_name,
dl.booking .option_name {
	color: #F90;
	font-size: 120%;
	display: block;
}
dl.booking .free .course_name:after,
dl.booking .free .option_name:after {
	content: 'フリー (指名なし) ';
	margin: 0 9px -1.5px;
	padding: 3px 6px;
	/* color: #F60; */
	font-size: 72.5%;
	vertical-align: 1.5px;
	background: #EEE;
	border-radius: 3px;
	display: inline-block;
}
dl.booking .course_explain,
dl.booking .option_explain {
	margin: 4.5px 0 -1.5px;
	font-size: 90%;
	font-weight: normal;
}
dl.booking .course_explain:empty,
dl.booking .option_explain:empty {
	display: none;
}
dl.booking [class$=_variable] p {
	font-size: 105%;
	font-weight: bold;
	display: block;
	cursor: pointer;
}
dl.booking [class$=_variable] p:hover {
	text-decoration: underline;
}
dl.booking [class$=_variable] p.active {
	margin-bottom: 9px;
}
dl.booking [class$=_variable] p:after {
	content: '';
	width: 9px;
	height: 9px;
	border-top: 3px #CCC solid;
	border-right: 3px #CCC solid;
	transform: rotate(135deg);
	display: block;
	position: absolute;
	top: -1.5px;
	right: 3px;
}
dl.booking [class$=_variable] p.active:after {
	transform: rotate(-45deg);
	top: 4.5px;
}
dl.booking [class$=_variable] p:before {
	margin: 0 7.5px 0 1.5px;
	color: #FFF;
	font-size: 120%;
	text-shadow: 1px 1px 0 #F00, -1px 1px 0 #F00, -1px -1px 0 #F00, 1px -1px 0 #F00;
	vertical-align: -1.5px;
	display: inline-block;
}
dl.booking [class$=_variable] table {
	border-collapse: separate;
	border-spacing: 3px;
	table-layout: fixed;
	display: none;
}
dl.booking [class$=_variable] th,
dl.booking [class$=_variable] td {
	width: calc((100% - 135px) / 7);
	padding: 9px 0;
	background: #FCFCFC;
	border: 1px #D9D9D9 solid;
}
dl.booking [class$=_variable] th {
	color: #FFF;
	background-color: #555;
}
dl.booking [class$=_variable] th:first-child {
	width: 135px;
	background-color: #E9E9E9;
}
dl.booking [class$=_variable] th.sat {
	background-color: #3AF;
}
dl.booking [class$=_variable] th.sun {
	background-color: #E45;
}
dl.booking [class$=_variable] td.plus {
	background-color: #FDE;
}
dl.booking [class$=_variable] td.minus {
	background-color: #DEF;
}
dl.booking [class$=_charges] > * {
	display: flex;
	align-items: center;
	justify-content: start;
}
dl.booking [class$=_charges] > *.osusume {
	background-color: #FFD;
	overflow: hidden;
	position: relative;
}
dl.booking [class$=_charges] > *.osusume:before {
	content: '当店オススメ';
	padding: 4.5px 9px;
	color: #FFF;
	font-size: 87.5%;
	background: #F90;
	border-bottom-right-radius: 9px;
	position: absolute;
	top: 0;
	left: 0;
}
dl.booking [class$=_charges] > *:last-child {
	margin-bottom: 0;
}
dl.booking .course_charges > * > * {
	margin-left: 15px;
	font-size: 150% !important;
	font-weight: bold;
	line-height: 30px !important;
	text-align: right;
}
dl.booking .option_charges > * > * {
	margin: 3px 18px 3px 0;
	font-size: 120% !important;
	font-weight: bold;
	line-height: 21px !important;
	text-align: left;
}
dl.booking .option_charges > * > input {
	width: 18px;
	height: 18px;
	margin: -1px 18px 0 9px;
}
dl.booking [class$=_charges] .course_min {
	width: calc(25% - 15px);
}
dl.booking [class$=_charges] .course_price {
	width: calc(50% - 15px);
}
dl.booking [class$=_charges] .option_text {
	width: calc(75% - 15px);
}
dl.booking [class$=_charges] .course_select,
dl.booking [class$=_charges] .option_price {
	margin-left: auto;
}
dl.booking dl.contact {
	margin: -6px auto 9px;
	padding: 18px;
	background: #FFF;
	border: 1px #CCC solid;
	border-radius: 9px;
}
dl.booking:has(section) dl.contact {
	margin-top: 9px;
}
dl.booking dl.contact ::placeholder {
	color: #999;
}
dl.booking dl.contact + a.rule {
	width: 90px;
	margin: 12px auto;
	color: #333;
	font-size: 120%;
	font-weight: normal;
	text-align: center;
	display: block;
}
dl.booking dl.contact + a.rule:before {
	margin-right: 3px;
}
dl.booking dl.contact > * {
	margin-bottom: 15px;
}
dl.booking dl.contact > *:last-child {
	margin-bottom: 0;
}
dl.booking dl.contact dt:has(strong) {
	margin-bottom: 3px;
}
dl.booking dl.contact dt > *,
dl.booking dl.contact #c_total > b {
	margin-right: 3px;
	font-size: 135%;
	font-style: normal;
}
dl.booking dl.contact dt > strong {
	color: #F90;
}
dl.booking dl.contact #c_total {
	color: #C00;
}
dl.booking dl.contact dd > *:not(table) {
	width: 100%;
	box-sizing: border-box;
	display: block;
}
dl.booking dl.contact dd > [type=text],
dl.booking dl.contact dd > textarea,
dl.booking dl.contact dd > select {
	padding: 6px;
	font-size: 105%;
	border: 1px #D9D9D9 solid;
	border-radius: 3px;
	box-shadow: 1.5px 1.5px 4.5px rgba(0,0,0,5%) inset;
	-webkit-appearance: none;
	appearance: none;
}
dl.booking dl.contact dd > textarea {
	min-height: 90px;
	max-height: 450px;
	resize: vertical;
}
dl.booking dl.contact dd > select {
	background: url('../img/icon_arrow9-down.png') no-repeat calc(100% - 7.5px) 50%;
	background-size: 9px auto;
	cursor: pointer;
}
dl.booking dl.contact dd > [type=radio] {
	display: none !important;
}
dl.booking dl.contact dd > b {
	margin-bottom: 3px;
	color: #333;
	font-size: 120%;
}
dl.booking dl.contact dd > b.required:after {
	content: '必須';
	margin-left: 9px;
	color: #F00;
	font-size: 90%;
	font-weight: normal;
}
dl.booking dl.contact dd > i {
	margin-top: 6px;
	color: #666;
	font-style: normal;
}
dl.booking dl.contact dd > p.button {
	margin-top: -4.5px;
	line-height: 30px;
	letter-spacing: -0.4em;
}
dl.booking dl.contact dd > p.button > span {
	width: 30%;
	margin: 6px 6px 0 0;
	font-size: 105%;
	letter-spacing: 1px;
	text-align: center;
	border: 1px #F93 solid;
	border-radius: 4.5px;
	display: inline-block;
	cursor: pointer;
}
dl.booking dl.contact dd > p.button > span.choice {
	color: #FFF;
	font-weight: bold;
	background-color: #F93;
}
dl.booking dl.contact dd > .error {
	margin-top: 4.5px;
	color: #F00;
	font-weight: bold;
}
dl.booking dl.contact dd:has(> .error:not(:empty)) [type=text],
dl.booking dl.contact dd:has(> .error:not(:empty)) select {
	text-shadow: 0 0 1.5px rgba(0,0,0,5%);
	background-color: #FEE;
	border-color: #F00;
}
dl.booking dl.contact th,
dl.booking dl.contact td {
	padding: 18px;
	font-size: 110%;
	text-align: left;
	background: #FCFCFC;
	border: 1px #D9D9D9 solid;
}
dl.booking dl.contact th {
	width: 180px;
	color: #333;
	background-color: #F3F3F3;
}
dl.booking dl.contact td > a {
	color: #333;
	/* letter-spacing: -0.5px; */
	text-decoration: underline;
}
dl.booking dl.contact td > a:hover {
	opacity: 0.75;
}
dl.booking dl.contact td > p {
	margin-top: 9px;
}
dl.booking dl.contact td > p:first-child {
	margin-top: 0;
}

/*【 カレンダーテーブル追加編集 】*/

#shopBody:has(.cal_table) {
	overflow: visible;
}
dl.booking .cal_table {
	/* margin: 0 0 0 1px; */
	/* background: #CCC; */
	border-top: 1px #CCC solid;
	border-left: 1px #CCC solid;
	border-collapse: separate;
	table-layout: fixed;
}
dl.booking .cal_table > * {
	background: #FFF;
	position: -webkit-sticky;
	position: sticky;
	right: 0;
}
dl.booking .cal_table th,
dl.booking .cal_table td {
	height: 36px;
	border-top: none;
	border-left: none;
	box-sizing: border-box;
}
dl.booking .cal_table th:not(.date):first-child,
dl.booking .cal_table td:not(.state):first-child {
	border-left: 1px #CCC solid;
}
dl.booking .cal_table thead {
	z-index: 9;
	top: 63px;
}
dl.booking .cal_table thead th.week_link {
	width: 130px;
}
dl.booking .cal_table thead th.date {
	width: 100px;
}
dl.booking .cal_table tbody td.out {
	/* height: 100% !important; */
}

