@charset "utf-8";
/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/

#conts .mainImg img {
	width: 100%;
}

#conts .titleBox {
	margin-bottom: 37px;
}

#conts .titleBox p.title {
	margin-bottom: 15px;
	padding-left: 16px;
	font-weight: bold;
}

.textList > li, .txtBox p {
	line-height: 2;
	text-align: justify;
	word-break: break-all;
	line-break: strict;
}

.textList > li {
	margin-bottom: 16px;
	position: relative;
	padding-left: 16px;
}

.textList > li:last-child {
	margin-bottom: 0;
}

.textList > li::before {
	position: absolute;
	content: "・";
	top: 0;
	left: 0;
}

.telTxt {
	color: var(--color-gold-dark) !important;
	font-weight: bold;
	text-decoration: underline !important;
}

.telTxt:hover {
	text-decoration: none !important;
}


#conts .titleBox .textList li {
	margin-bottom: 30px;
}

#conts .titleBox .textList li:last-child {
	margin-bottom: 0;
}

#conts .titleBox .textList li .pc {
	display: block;
}

#conts .info {
	margin: min(10.66vw, 40px) auto min(21.3vw, 80px);
	display: block;
	max-width: 640px;
	font-size: min(3.46vw, 14px);
	width: 100%;
	padding: min(4.26vw, 16px);
	text-align: center;
	background-color: var(--color-gray-light);
	border: 2px solid var(--color-gray-light02);
	box-sizing: border-box;
}

#conts .info .openModal {
	color: var(--color-gold-dark);
	cursor: pointer;
	text-decoration: underline;
}

#conts .info .openModal:hover {
	text-decoration: none;
}

.modalArea {
	display: none;
	position: fixed;
	z-index: 2000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.modalBg {
	width: 100%;
	height: 100%;
	background-color: rgba(88,88,88,0.64);
}

.modalWrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	transform:translate(-50%,-50%);
	width: 85%;
	max-width: 1000px;
	padding: 35px 32px 38px;
	background-color: #fff;
	box-sizing: border-box;
}

.closeModal {
	position: absolute;
	top: -30px;
	right: -30px;
	cursor: pointer;
}

.closeModalBtn {
	position: relative;
	width: min(8.53vw, 64px);
	height: min(8.53vw, 64px);
	border-radius: min(4.26vw, 32px);
	background-color: var(--color-gold-dark);
}

.closeModalBtn::before {
	position: absolute;
	content: "×";
	line-height: min(8.53vw, 64px);
	font-size: min(5.33vw, 40px);
    top: 50%;
	left: 50%;
	color: var(--color-white);
	transform: translate(-50%, -50%);
	z-index: 2;
}

.modalWrapper p {
	font-weight: 500;
	margin-bottom: min(5.33vw, 20px);
	padding-bottom: min(5.33vw, 20px);
	line-height: 1.4;
	color: var(--color-gold-dark);
	border-bottom: .5px dashed var(--color-gray);
}

.modalWrapper .txt {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: min(4.26vw, 16px);
	font-size: min(3.46vw, 14px);

	> li {
		padding-left: min(4.26vw, 16px);
		position: relative;
		line-height: 1.4;
		text-align: justify;
		word-break: break-all;
		line-break: strict;

		&:before {
			content: "●";
			top: 0;
			left: 0;
			color: var(--color-gold);
			position: absolute;
		}
	}
}

.modalWrapper .txt .domain {
	margin-top: 30px;
}

.modalWrapper .txt .domain:before {
	display: none;
}

#conts .monthly-calendar {
	margin-bottom: 140px;
	position: relative;
	padding: 47px 55px 85px;
	border: 1px solid #EBEBEB;
}
/*
.monthly-calendar:before {
	position: absolute;
	left: 0;
	bottom: -80px;
	content: '';
	height: 1px;
	width: 100%;
	background: #EBEBEB;
} */

.monthly-calendar .mtssb-timetable-name {
	margin: 0;
	text-align: center;
	font-size: min(4.8vw, 20px);
	margin: min(4.26vw, 16px) auto;
	color: var(--color-gold-dark);
	font-family: var(--font-serif);
}

.day-calendar {
	margin-bottom: 0;
}

.day-calendar .calendar-title,
.monthly-calendar .calendar-title {
	margin-bottom: 33px;
	font-size: min(3.46vw, 14px);
	text-align: center;
	font-weight: normal;
}

.day-calendar .calendar-title {
	margin-bottom: 25px;
	font-size: min(3.46vw, 14px);
	text-align: center;
}

.day-calendar > p {
	margin-bottom: 16px !important;
	font-size: min(4.8vw, 20px);
	font-weight: bold;
	text-align: center !important;
}

.day-calendar .calendar-title span,
.monthly-calendar .calendar-title span {
	color: var(--color-gold-dark);
}

.day-calendar .monthly-prev-next,
.monthly-calendar .monthly-prev-next {
	width: auto;
	font-size: min(4.8vw, 20px);
	position: relative;
}

.monthly-calendar .monthly-prev-next {
	width: 100%;
}

.monthly-calendar .monthly-prev-next:after {
	content: "";
	display: block;
	clear: both;
}

.monthly-calendar .monthly-prev-next:before {
	content: "";
	display: block;
	clear: both;
}

.day-calendar .monthly-next,
.monthly-calendar .monthly-next {
	margin-right: 0;
}

.day-calendar .monthly-prev span,
.monthly-calendar .monthly-prev span {
	padding-left: min(5.33vw, 20px);
		font-size: min(4vw, 18px);
}

.day-calendar .monthly-next span,
.monthly-calendar .monthly-next span {
	padding-right: min(5.33vw, 20px);
		font-size: min(4vw, 18px);
}

.day-calendar .monthly-prev a ,
.monthly-calendar .monthly-prev a {
	position: relative;
	padding: 2px 0 2px min(5.33vw, 20px);
    font-size: min(4vw, 18px);
	color: var(--color-gold-dark);
	text-decoration: underline;
}

.day-calendar .monthly-prev a:hover ,
.monthly-calendar .monthly-prev a:hover {
	text-decoration: none;
}

.day-calendar .monthly-prev::before ,
.monthly-calendar .monthly-prev::before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	border-style: solid;
	border-width: 6px 8px 6px 0;
	border-color: transparent var(--color-gold-dark) transparent transparent;
	pointer-events: none;
}

.day-calendar .monthly-next a ,
.monthly-calendar .monthly-next a {
	padding: 2px min(5.33vw, 20px) 2px 0;
	color: var(--color-gold-dark);
	font-size: min(4vw, 18px);
	text-decoration: underline;
}

.day-calendar .monthly-next a:hover ,
.monthly-calendar .monthly-next a:hover {
	text-decoration: none;
}

.day-calendar .monthly-next::after ,
.monthly-calendar .monthly-next::after {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	border-style: solid;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent var(--color-gold-dark);
	pointer-events: none;
}

.day-calendar table caption ,
.monthly-calendar table caption {
	margin: -32px 0 60px;
	font-size: min(4vw, 18px);
	font-weight: 500;
}

.day-calendar table ,
.monthly-calendar table {
	width: 100% !important;
	border-collapse: collapse !important;
	table-layout: fixed;
	text-align: center;
}

.day-calendar thead th ,
.monthly-calendar thead th {
	padding-bottom: 9px;
	font-size: min(4.8vw, 20px);
	font-weight: normal;
	width: 14.285%;
	box-sizing: border-box;
}

.mix-calendar th, .mix-calendar td,
.timetable-calendar th, .timetable-calendar td,
.multiple-calendar th, .multiple-calendar td,
.monthly-calendar th, .monthly-calendar td {
	border: 1px solid var(--color-gray-light02) !important;
}

.monthly-calendar tbody td {
	padding: min(2.13vw, 16px) 0;
	border: 1px solid var(--color-gray-light02) !important;
	vertical-align: top;
}

.day-calendar tbody th,
.day-calendar tbody td {
	padding: 7px 5px 9px;
	font-size: min(4.8vw, 18px);
	vertical-align: middle;
	border-radius: 0;
}

.day-calendar tbody th {
	font-weight: normal;
}

.day-calendar tbody tr:first-child th {
	padding: min(2.13vw, 8px);
	font-size: min(4.8vw, 18px);
	font-weight: 500;
	vertical-align: middle;
	border-radius: 0;
}

.day-calendar tbody td .day-number ,
.monthly-calendar tbody td .day-number {
	font-size: min(3.2vw, 18px);
	font-weight: 500;
	margin: 0 auto min(4.26vw, 16px);
    text-align: center;
}

.week-title.sun,
.day-box.sun .day-number {
	color: var(--color-red);
}

.day-calendar tbody td .calendar-mark {
	color: #AFAFAF;
	font-size: min(4.8vw, 18px);
}

.monthly-calendar tbody td .calendar-mark {
	font-size: min(4.8vw, 24px);
	line-height: 1.5;
	text-align: center;
}

.day-calendar tbody td .calendar-mark span ,
.monthly-calendar tbody td .calendar-mark span {
	margin-right: 8px;
	color: #323232;
}

.day-calendar tbody td .calendar-mark .calendar-timelink ,
.monthly-calendar tbody td .calendar-mark .calendar-daylink,
.day-calendar tbody td .calendar-mark .booking-timelink {
	color: var(--color-gold-dark);
	font-size: min(4.8vw, 24px);
	text-decoration: none;
	transition: ease .3s;
}

.day-calendar tbody td .calendar-mark .calendar-timelink:hover ,
.monthly-calendar tbody td .calendar-mark .calendar-daylink:hover,
.day-calendar tbody td .calendar-mark .booking-timelink:hover {
	opacity: .7;
	transition: ease .3s;
}

.day-calendar tbody td .calendar-mark .booking-timelink:hover {
	opacity: .7;
	transition: ease .3s;
}

.day-calendar tbody .day-box.no-day ,
.monthly-calendar tbody .day-box.no-day {
	background: #FFF;
}

.day-calendar .list-header.sat,
.day-calendar .mix-calendar .header-row .sat,
.day-calendar .week-title.sat,
.day-calendar .day-number,
.monthly-calendar .list-header.sat,
.monthly-calendar .mix-calendar .header-row .sat,
.monthly-calendar .week-title.sat,
.monthly-calendar .day-number {
	font-size: min(3.2vw, 18px);
    font-weight: 500;
    margin: 0 auto min(2.13vw, 16px);
    text-align: center;
}

.headLine01.confirm {
	display: none;
}

.formTxt01 {
	margin: -8px 0 85px;
	line-height: 2;
}

.formTxt02 {
	margin: -8px 0 52px;
	line-height: 1.875;
	display: none;
}

.formTxt01 span {
	color: red;
}

#booking-form {
	margin: 0 auto 96px;
}

@media screen and (max-width: 767px) {
	#booking-form {
		padding: 0 min(4.26vw, 16px);
	}
}

#booking-form.content-form fieldset {
	margin: min(8vw, 30px) auto 0;
	padding: 0;
	border: none;
	width: 100%;
}

#booking-form.content-form legend {
	display: none;
}

#booking-form.content-form table {
	margin: 0;
	width: 100%;
	border-spacing: 0;
}

#booking-form.content-form th,
#booking-form.content-form td {
	padding: 25px 0 24px;
	border-right: none;
	border-bottom-color: #f5f5f5;
	font-size: min(3.73vw, 15px);
}

#booking-reservation-fieldset table tr:nth-child(1) td {
	padding-left: 0;
}

#booking-form.content-form th {
	width: 20%;
	font-weight: normal;
	font-family: var(--font-serif);
	font-weight: 500;
	text-align: left;
	vertical-align: middle;
	font-size: min(4.26vw, 16px);
}

#booking-form.content-form #booking-confirm-fieldset th {
	width: 20%;
}

#booking-form.content-form .booking-form-people-number-row select {
	margin-left: 5px;
	padding: 0 5px;
	width: 75px;
	height: 27px;
	line-height: 27px;
	font-size: min(3.46vw, 13px);
	border: 1px solid #EBEBEB;
}

#booking-form.content-form .booking-form-people-number-row .input-number:first-child {
	margin-right: 40px;
}

#booking-form.content-form .booking-form-people-number-row .input-number {
	width: 130px;
	text-align: left;
}

#booking-form.content-form td #client-address2 {
	display: none;
}

#booking-form.content-form td input {
	margin: 0;
	padding: 9px;
	width: 26.7%;
	line-height: 1.2;
	border: none;
	border-radius: 0;
	background-color: #F5F5F5;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
}

#booking-form.content-form td input.fat {
	width: 70%;
}

#booking-form.content-form td input#client-postcode {
	width: 45%;
}

#booking-form.content-form td input#client-address1 {
	width: 70%;
}

@media all and (max-width: 767px) {
	#booking-form.content-form td input#client-address1 {
		width: 100%;
	}
}

#booking-form.content-form td input#client-tel {
	width: 70%;
}

@media all and (max-width: 767px) {
	#booking-form.content-form td input#client-tel {
		width: 100%;
	}
}

#booking-form.content-form td textarea {
	margin: 0;
	padding: 9px;
	width: 92%;
	display: block;
	height: 200px;
	border: none;
	background-color: #F5F5F5;
	resize: none;
	box-sizing: border-box;
}

#booking-form.content-form #action-button {
	margin-top: 40px;
	display: flex;
	justify-content: center;
}

.day-calendar .mtssb-daily-action {
	margin: 42px auto 0;
	width: 220px;
	text-align: center;
}

#booking-form.content-form #action-button button,
.day-calendar .mtssb-daily-action button {
	padding: 8px 10px;
	width: 100%;
	height: min(12.8vw, 48px);
	font-weight: 400;
	font-family: min(--font-sans);
	display: block;
	color: var(--color-white);
	font-weight: bold;
	background-color: var(--color-gold-dark);
	font-weight: 500;
    border: 0;
	text-align: center;
	box-sizing: border-box;
	cursor: pointer;
	-moz-appearance: none;
	-ms-appearance: none;
	-webkit-appearance: none;
	transition: ease .3s;
}

#booking-form.content-form #action-button button:hover,
.day-calendar .mtssb-daily-action button:hover {
	transition: ease .3s;
	opacity: 0.7;
}

#booking-form.content-form #action-button button[type="reset"],
#booking-form.content-form #action-button button[type="button"],
.day-calendar .mtssb-daily-action button {
	color: #fff;
	background-color: #bababa;
}

@media all and (max-width: 767px) {
	#conts.bookThanks .mainImg {
		margin-bottom: 0;
	}
}

#conts.bookform {
	padding-bottom: 0;
}
#booking-form form {
	border-top: 1px solid #f5f5f5;
}
#booking-reservation-fieldset table tr:nth-child(2){
	display: none;
}
#booking-form.content-form #action-button button {
	margin: 0 17px;
	width: 220px;
	display: inline-block;
}
#booking-confirm-fieldset tr:nth-of-type(2),
#booking-confirm-fieldset tr:nth-of-type(3),
#booking-confirm-fieldset tr:nth-of-type(10) {
	display: none;
}

#conts .subList {
	width: 474px;
	margin: 0 auto;
}

#conts .subList li {
	float: left;
	width: 221px;
}

#conts .comBtn input {
	padding: 15px 10px;
	width: 100%;
	display: block;
	color: var(--color-gold-dark);
	text-align: center;
	background: url(../img/common/icon03.jpg) no-repeat right 15px center;
	border-radius: 22px;
	border: 1px solid var(--color-gold-dark);
	box-sizing: border-box;
	cursor: pointer;
	-moz-appearance: none;
	-ms-appearance: none;
	-webkit-appearance: none;
}

#conts .comBtn input:hover {
	opacity: 0.7;
}

#conts .comBtn input.special {
	border-color: #A8A8A8;
	color: #A8A8A8;
	background: none;
}

#conts .subList li:last-child {
	float: right;
}

#conts .privacyBox .privacyInner {
	margin: 0 auto;
}

#conts .privacyBox .privacyInner .title {
	margin-bottom: 22px;
	font-weight: 500;
	font-size: min(4.8vw, 18px);
	color: var(--color-gold-dark);
	font-family: var(--font-serif);
}

#conts .privacyBox .privacyInner dt {
	margin-bottom: 4px;
	font-weight: 500;
	font-size: min(4.26vw, 16px);
	font-family: var(--font-serif);
}

#conts .privacyBox .privacyInner dd {
	margin-bottom: 29px;
	padding-left: 1em;
	text-indent: -1em;
	font-size: min(3.73vw, 14px);
	line-height: 1.4;
	text-align: justify;
	word-break: break-all;
	line-break: strict;
}

#conts .privacyBox .privacyInner dd span {
	display: inline-block;
}

#conts .privacyBox .privacyInner dd:last-child {
	margin-bottom: 0;
}

.content-form input, .content-form textarea {
	font-size: min(3.73vw, 14px) !important;
}

select::-ms-expand { display: none; }


@media all and (max-width: 767px) {
	#conts .comBox {
		margin-bottom: 0;
	}

	#conts .mainImg {
		margin-bottom: 0;
	}

	#conts .headLine01 {
		margin-bottom: 50px;
	}

	#conts .titleBox p {
		line-height: 1.6;
	}

	#conts .titleBox p.title {
		margin-bottom: 15px;
		padding-left: 14px;
		background-position: left 1px top 10px;
	}

	#conts .titleBox .textList li {
		margin-bottom: 16px;
		font-size: min(3.46vw, 13px);
		line-height: 1.7;
	}

	#conts .textList li:first-child {
		margin-bottom: 37px;
	}

	#conts .textList .tel {
		margin: 32px auto 0;
		max-width: 275px;
		font-size: min(2.1vw, 12px);
		font-style: italic;
		line-height: 1.5;
		padding: 16px 10px 14px;
		color: var(--color-gold-dark);
		text-align: center;
		background: #FFF url(../img/common/icon03.jpg) no-repeat right 13px center;
		border: 1px solid var(--color-gold-dark);
		border-radius: 30px;
		background-size: 8px auto;
		box-sizing: border-box;
		text-indent: initial;
		transform: translateX(-1em);
	}

	#conts .textList .tel span {
		padding-left: 5px;
		font-size: min(4.8vw, 18px);
		font-weight: bold;
		font-style: normal;
		line-height: 1.0;
		display: inline-block;
		vertical-align: bottom;
	}

	.modalWrapper {
		width: 89.5%;
		padding: 35px 17px 20px;
		letter-spacing: 0.5px;
	}

	.closeModal {
		width: 30px;
		top: -15px;
		right: -15px;
	}

	.modalWrapper .modalContents {
		overflow: auto;
		max-height: 75vh;
	}
	.modalWrapper p {
		margin-bottom: 16px;
	}

	.day-calendar,
	#conts .monthly-calendar {
		padding: 0 1px;
		border: none;
	}

	#conts .monthly-calendar {
		margin-bottom: 70px;
	}

	.monthly-calendar:before {
		bottom: -70px;
	}

	.monthly-calendar .calendar-title {
		margin-bottom: 46px;
		line-height: 1.4;
	}

	.day-calendar .calendar-title {
		margin: -3px 0 27px;
	}

	.day-calendar > p {
	}

	.day-calendar .monthly-prev-next a:hover,
	.monthly-calendar .monthly-prev-next a:hover {
		text-decoration: none;
	}

	.day-calendar .monthly-next a,
	.monthly-calendar .monthly-next a {
		padding-right: 14px;
		background-size: 7px auto;
	}

	.day-calendar table caption,
	.monthly-calendar table caption {
		margin: -22px 0 42px;
	}

	.day-calendar thead th,
	.monthly-calendar thead th {
		padding: 8px 0;
		font-size: min(3.73vw, 14px);
		border: 1px solid #ECECEC;
	}

	.day-calendar .mtssb-daily-action {
		margin-top: 40px;
		width: 275px;
	}

	#booking-form.content-form #action-button button,
	.day-calendar .mtssb-daily-action button {
		text-decoration: none;
		margin: 0 4px;
		font-size: min(3.73vw, 14px);
		height: min(14.93vw, 56px);
		padding: min(2.13vw, 8px);
		display: flex;
		align-items: center;
		background-color: var(--color-gold-dark);
		color: var(--color-white);
		border: 0;
		max-width: 320px;
		width: 100%;
		transition: ease .3s;
		justify-content: center;
		line-height: 1.4;
		cursor: pointer;
	}

	#booking-form.content-form #action-button button:hover,
	.day-calendar .mtssb-daily-action button:hover {
		opacity: 1;
	}

	.formTxt01 {
		margin: 0 0 82px;
		font-size: min(3.73vw, 14px);
		padding: 0 min(4.26vw, 16px);
	}

	.formTxt02 {
		margin: 0 0 55px;
		font-size: min(3.73vw, 14px);
		line-height: 1.85;
	}

	#booking-form {
		margin: 0 0 70px;
		width: auto;
	}

	#booking-form.content-form table th {
		padding: 18px 0 10px;
		float: left;
		width: 100%;
		border-bottom: 0;
		line-height: inherit;
	}

	#booking-form.content-form table td {
		float: left;
		width: 100%;
		padding: 0;
		font-size: min(3.73vw, 14px);
		padding-bottom: 23px;
	}

	#booking-form.content-form #booking-confirm-fieldset th {
		padding-bottom: 17px;
		width: 100%;
	}

	#booking-form.content-form #booking-confirm-fieldset td {
		padding-bottom: 26px;
		font-size: min(3.46vw, 13px);
	}

	#booking-reservation-fieldset table tr:nth-child(1) th {
		padding-bottom: 18px;
	}

	#booking-reservation-fieldset table tr:nth-child(1) td {
		padding: 0 0 29px 0;
	}

	#booking-form.content-form table td a {
		padding-left: 25px;
		font-size: min(3.46vw, 13px);
	}

	#booking-form.content-form table td a:hover {
		text-decoration: none;
	}

	#booking-form.content-form table td select {
		width: 71.5%;
		background: #F5F5F5 url(../img/reservation/icon02.png) no-repeat right 13px center;
	}

	#booking-form.content-form table td input[type="text"] {
		width: 30.5%;
	}

	#booking-form.content-form table td input[type="email"] {
		width: 100%;
	}

	#booking-form.content-form table td input[type="tel"] {
		width: 71.5%;;
	}

	#booking-form.content-form table td input.fat {
		width: 100%;
	}

	#booking-form.content-form table td input.zip {
		width: 44.5%;
	}

	#booking-form.content-form table td .selectArea {
		width: 42%;
	}

	#booking-form.content-form table td input.address {
		width: 100%;
	}

	#booking-form.content-form table td textarea {
		width: 100%;
		height: 124px;
	}

	#booking-form.content-form table .contentArea th {
		padding-top: 11px;
	}

	#booking-form.content-form table .contentArea td {
		padding: 0 0 19px;
		border-bottom: 0;
	}

	#conts .subList {
		width: 100%;
		text-align: center;
	}

	#conts .subList li {
		margin: 0 0.8%;
		float: none;
		width: 37%;
		max-width: 221px;
		display: inline-block;
		vertical-align: top;
	}

	#conts .comBtn input {
		padding: 11px 10px;
		background: none;
		border-radius: 25px;
	}

	#conts .comBtn input:hover {
		opacity: 1;
	}

	#conts .subList li:last-child {
		float: none;
	}

	#conts .privacyBox {
		border-top: 1px solid #F0F0F0;
	}

	#conts .privacyBox .privacyInner {
		width: 100%;
		box-sizing: border-box;
		padding: 52px 19px 0;
		margin: 0 auto 80px;
	}

	#conts .privacyBox .privacyInner .title {
		margin-bottom: 14px;
	}

	#conts .privacyBox .privacyInner dl {
		font-size: min(3.46vw, 13px);
		line-height: 2;
	}

	#conts .privacyBox .privacyInner dd {
		margin-bottom: 26px;
	}

	#conts .titleBox {
		margin-bottom: 87px;
	}
}

@media all and (max-width: 360px) {
	#booking-form.content-form table td a {
		padding-left: 2px;
	}
}

#conts.confirm .headLine01 {
	margin-bottom: 70px;
}

#conts .confirmTtl {
	margin-bottom: 52px;
	line-height: 1.877;
}

#conts.confirm .contactBox table th {
	padding: 27px 0;
}

#conts.confirm .contactBox table td {
	padding: 27px 15px;
}

#conts.confirm .comBox {
	margin-bottom: 0;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#conts.confirm .headLine01 {
		margin-bottom: 55px;
	}

	#conts .confirmTtl {
		line-height: 1.61;
	}

	#conts.confirm .contactBox table th {
		padding: 16px 0 10px;
	}

	#conts.confirm .contactBox table td {
		padding: 7px 0px 28px;
	}
}

.day-calendar thead th, .monthly-calendar thead th {
	padding-bottom: 0;
	font-size: min(3.46vw, 20px);
    font-weight: normal;
    width: 14.285%;
    box-sizing: border-box;
	font-family: var(--font-serif);
	background-color: var(--color-gray-light03);
}

@media all and (min-width: 0) and (max-width: 767px) {
	.day-calendar thead th, .monthly-calendar thead th {
		padding: 8px 0;
		border: 1px solid #f5f5f5;
	}
}

.monthly-calendar > table {
	width: 100%;
	border-collapse: collapse;
    border-spacing: 0;
}

.week-title {
	padding-bottom: 9px;
    font-size: min(3.46vw, 20px);
    font-weight: normal;
    width: 14.285%;
    box-sizing: border-box;
	text-align: center;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.week-title {
		padding: 8px 0;
		border: 1px solid #f5f5f5;
	}
}

.error-message {
	color: var(--color-red);
	margin-top: 8px;
}

.content-form .required {
	color: var(--color-red) !important;
}

.monthly-prev {
	float: left;
}

.monthly-next {
	float: right;
}

th.day-left {
	border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    border: 1px solid #dddddd;
    line-height: 2.5rem;
}

th.day-right {
	border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border: 1px solid #dddddd;
}

td.day-right {
	border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border: 1px solid #dddddd;
}

.thanksBox {
	display: flex;
	flex-direction: column;
}

.thanksBox .headLine01 {
	margin-bottom: 69px;
}

.thanksBox p {
	margin-bottom: 30px;
	line-height: 1.87;
	text-align: center;
	letter-spacing: 0.7px;
}

.thanksBox p:last-child {
	margin-bottom: 0;
}


@media all and (max-width: 767px) {

	.thanksBox .comBtn {
		margin-top: 115px;
	}
}

.thanksBox .comBtn {
	margin: 65px auto 0;
}

.thanksBox .comBtn a {
	width: 300px;
	padding: 8px 24px 8px;
	display: block;
	color: #fff;
	background-color: var(--color-gold-dark);
    border: 0;
	text-align: center;
	box-sizing: border-box;
	cursor: pointer;
	text-decoration: none;
}

.thanksBox .comBtn a:hover {
	opacity: .7;
}

@media all and (max-width: 767px) {
	.thanksBox .comBtn a {
		padding: 6px 24px;
		width: 250px;
	}

	.thanksBox .comBtn a:hover {
		opacity: 1;
	}
}

/*休診日をグレーに表示*/
/* .monthly-calendar .day-box.wed,
.monthly-calendar .day-box.thu {
	background-color: #efefef;
} */

/*
日曜：.monthly-calendar .day-box.sun
月曜：.monthly-calendar .day-box.mon
火曜：.monthly-calendar .day-box.tue
水曜：.monthly-calendar .day-box.wed
木曜：.monthly-calendar .day-box.thu
金曜：.monthly-calendar .day-box.fri
土曜：.monthly-calendar .day-box.sat
*/

.monthly-calendar .day-box.today {
	background-color: var(--color-gold-light);
}

.day-box.no-day {
	background-color: var(--color-gray-light03) !important;
}

.calendar-time-mark, .calendar-mark {
	font-size: min(4.8vw, 24px) !important;
	line-height: 1.4 !important;
	color: var(--color-gray);
}

.schedule-note {
	font-size: min(2.66vw, 10px) !important;
}

.booking-wrapper-nagaokakyo {

	.week-row .calendar-daylink {
		color: var(--color-nagaokakyo);
	}

	.day-calendar .calendar-title span, .monthly-calendar .calendar-title span {
		color: var(--color-nagaokakyo);
	}

	.day-calendar tbody td .calendar-mark .calendar-timelink,
	.monthly-calendar tbody td .calendar-mark .calendar-daylink,
	.day-calendar tbody td .calendar-mark .booking-timelink {
		color: var(--color-nagaokakyo);
	}
}

.booking-wrapper-katsura {

	.week-row .calendar-daylink {
		color: var(--color-katsura);
	}

	.day-calendar .calendar-title span, .monthly-calendar .calendar-title span {
		color: var(--color-katsura);
	}

	.day-calendar tbody td .calendar-mark .calendar-timelink,
	.monthly-calendar tbody td .calendar-mark .calendar-daylink,
	.day-calendar tbody td .calendar-mark .booking-timelink {
		color: var(--color-katsura);
	}
}

.booking-wrapper-saiin {
	.week-row .calendar-daylink {
		color: var(--color-saiin);
	}

	.day-calendar .calendar-title span, .monthly-calendar .calendar-title span {
		color: var(--color-saiin);
	}

	.day-calendar tbody td .calendar-mark .calendar-timelink,
	.monthly-calendar tbody td .calendar-mark .calendar-daylink,
	.day-calendar tbody td .calendar-mark .booking-timelink {
		color: var(--color-saiin);
	}
}

.day-calendar {
	margin-bottom: 0;

	.mtssb-daily-action + .mtssb-daily-action {
		display: none;
	}
}