@charset "utf-8";

.inner {
	max-width:1000px;
	justify-content: space-between;
}

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

#thanks {
	padding: 50px 0;
}


/*++++++++++++++
header
++++++++++++++*/
#head {
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	padding: 20px 0;
}
#head .strong{
	font-size: 1.2em;
	font-weight: 500;
}
#head .logo{
	
}
#head .logo img{
	width: 110px;
}

.careful {
	background: rgba(255, 42, 32, 0.1);
	padding: 10px 18px;
	border: none;
	border-left: 3px solid var(--red);
	margin: 0;
	border-radius: 0;
}
.careful p {
	font-weight: var(--wght-500);
	font-size: var(--font-em);
}

/*++++++++++++++
注意事項
++++++++++++++*/
.flow {

	margin: auto;
}

.reserve.cancel .flow {
	max-width: 700px;
}

.reserve.cancel .flow ul:before {
	width: 70%;
}

.flow ul{
	margin: 0 0 60px;
	position: relative;
	gap: 50px;
}

.flow li{
	/* background: #eee; */
	width: 100%;
	margin: auto;
	padding: 0;
	position: relative;
	overflow: unset;
	text-align: center;
	display: block;
	align-items: center;
	border-radius: 5px;
	padding: 20px;
}
.flow ul:before {
	content:"";
	width: 0;
	height: 0;
	/* border-style: solid; */
	/* border-width: 35px 0 40px 25px; */
	/* border-color: transparent transparent transparent #f7f7f7; */
	position: absolute;
	right: 0;
	height: 4px;
	width: 73%;
	background: #eee;
	z-index: 0;
	top: 45px;
	margin: auto;
	left: 0;
	right: 0;
}

.flow li.active:before {
	border-color: transparent transparent transparent #bb2a1f;
}

.flow li:last-child {
	margin:0;
}

.flow li:last-child:before {
}

.flow li span{
	width: 60px;
	height: 55px;
	border-radius: 100%;
	color: #111;
	text-align: center;
	margin: 0 auto 10px;
	line-height: 1;
	position: relative;
	display: flex;
	background: #eee;
	align-items: center;
	font-size: 1.1em;
	justify-content: center;
	font-weight: 600;
	padding: 5px 0 0;
}

.flow li span img {
	position: relative;
	top: -2px;
	bottom: 0;
	margin: auto;
	width: 20px;
	left: 0;
	right: 0;
}

.flow li p{
	width: auto;
	letter-spacing: 1px;
	margin: auto;
	line-height: 1.5;
	padding: 5px 0 0;
	font-weight: 600;
}

.flow li.active span.num{
	background: #228fcf;
	color: #fff;
}


.visit .flow li.active span.num{
	background: #c06d3c;
}
.flow li.active p{
	color: #228fcf;
}


.visit .flow li.active p{
	color: #c06d3c;
}




.reservebox {
	/* background: #f7f7f7; */
	padding: 60px 40px;
	margin: 0 0 80px;
	border: 1px solid #bb2a1f;
	border-radius:0 0 5px 5px;
}

.reservebox .day-calendar h3 {
	display:none;
}

.reservebox .careful {
    /* background:#f7f7f7; */
    /* padding: 40px; */
    box-sizing: border-box;
    margin: 0 0 80px;
    border-radius: 5px;
}
.reservebox .imp{
	text-align: center;
	/* font-size: 1.2em; */
	letter-spacing: 2px;
	padding: 0 0 30px;
}

.reservebox .imp p {
}

.reservebox .imp em {
	font-size: 0.8em;
	letter-spacing: 1px;
	font-weight: 500;
	color: #000;
}

.reservebox .imp b{
	color: #bb2a1f;
	font-size: 1.8em;
	display: block;
	margin: 5px 0 15px;
}

/*++++++++++++++
予約フォーム　icon
++++++++++++++*/
.iconbox {margin: 50px 0;}

.iconbox ul{
	display: flex;
	justify-content: center;
	max-width: max-content;
	/* background: #f7f7f7; */
	border: 1px solid #666;
	padding: 10px 30px;
	margin: auto;
}

ul {}

.iconbox li{
	display: flex;
	align-items: center;
	width: auto;
	justify-content: center;
	padding: 0 20px;
}

.iconbox li:last-child{
	
}
.iconbox li b {
	font-weight: bold;	
}
.iconbox li b.marks{
	color: #228fcf;
}

.visit .iconbox li b.marks{
	color: #c06d3c;
}

.iconbox li p{
	
}


/*++++++++++++++
カレンダー
++++++++++++++*/
.calendar-title{
	display: none;
}
#reserve .monthly-calendar{
	font-family: 'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
}
#reserve thead,
#reserve tbody {
	border: 1px solid var(--gray);
}
#reserve .monthly-calendar caption {
	font-size: 1.5em;
	font-weight: 600;
	letter-spacing: 1px;
	position: relative;
	padding: 0;
	margin: 30px 0 0;
	line-height: 2.5;
	border-radius: 5px 5px 0 0;
	text-align: center;
	background: #f7f7f7;
	border: 1px solid var(--gray);
	box-sizing: border-box;
	border-bottom: none;
}
#reserve .mtssb-timetable-link caption{font-family: 'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;}
#reserve .mtssb-timetable-link .mtssb-timetable-name{
	display: none;
}
#reserve .mtssb-timetable-link caption::before {
	display: none !important;
}
#reserve .monthly-calendar caption:before {
}


#reserve .monthly-calendar table {
	font-size: 0.9em;
	table-layout: fixed;
	/* border: 1px solid #ccc; */
	/* box-shadow: 0 2px 2px rgba(0,0,0,0.1); */
	margin: 0 0 30px;
	font-family: 'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
	border-spacing: 0;
	width: 100%;
	border-bottom: 1px solid #ccc;
}

#reserve .monthly-calendar table tr {
	/* border: 1px solid #ccc; */
}
#reserve .monthly-calendar.day-calendar tr:nth-child(odd) {
	background:#f7f7f7;
}

#reserve .monthly-calendar table th {
	font-size: inherit;
	background: #f7f7f7;
	padding: 10px;
	color: #111;
	border: none;
}

#reserve .monthly-calendar table th.sat,
#reserve .day-box.sat .day-number {
	color:#4169e1;
}

#reserve .monthly-calendar table th.sun,
#reserve .day-box.sun .day-number {
	color: #bb2a1f;
}



#reserve .monthly-calendar table td {
	background: none;
	border: none;
	padding: 5px 0 10px;
	transition:.3s;
}

#reserve .monthly-calendar table td.off .calendar-daylink {
	text-indent: -9999px;
	position: relative;
}
#reserve .monthly-calendar table td.off .calendar-daylink:before{
	content: "▲";
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	text-indent: initial;
	font-size: 23px;
}	

#reserve .monthly-calendar table td.booked .calendar-mark {
	text-indent: -9999px;
	position: relative;
}
#reserve .monthly-calendar table td.booked a {
	cursor: pointer;
	position: relative;
}
#reserve .monthly-calendar table td.booked .calendar-mark:before {
	content:"〇";
	text-indent: 0;
	text-align: center;
	margin: auto;
	position: absolute;
	font-size: 1.3em;
	color: #228fcf;
	transition: .3s;
	width: 100%;
	text-decoration: none;
	font-weight: bold;
}
.visit  section#page .monthly-calendar table td.booked .calendar-mark:before {
	color: #c06d3c;
}
#reserve .full .calendar-mark {
	background: #f7f7f7;
	font-size: 1.8em;
}
#reserve .disable .calendar-mark {
	background: #f7f7f7;
	font-size: 1.3em;
}



#reserve .calendar-mark {
	font-size: inherit;
	background: none;
	width: 80%;
	padding: 10px;
	box-sizing: border-box;
	margin: auto;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	color: #333;
	line-height: 1.2;
}

#reserve .day-number {
	font-size: 1em;
	font-weight: 600;
	padding: 0 8px 5px;
}

#reserve a.calendar-daylink {
	font-size: var(--font-h5);
	color: #228fcf;
	transition: .3s;
	width: 100%;
	text-decoration: none;
	font-weight: var(--wght-700);
}

.visit a.calendar-daylink {
	color: #c06d3c !important;
}

#reserve .monthly-calendar table td.low:hover,
#reserve .monthly-calendar table td.vacant:hover,
#reserve .monthly-calendar table td.booked:hover{
	background:#eef1f4;
	transition:.3s;	
}
#reserve a.calendar-daylink .triangle-mark {
	font-size: 2em;
	font-weight: bold;
	color: #666;
}
#reserve a.calendar-daylink .marks {
	color: #bb2a1f;
	font-size: 2em;
	font-weight: bold;
}

#reserve .no-link {
    display:none;
}

#reserve .monthly-prev a,.monthly-next a {transition: .3s;display: block;text-align: center;color: inherit;text-decoration: none;font-weight: 600;font-family: Noto Sans JP, sans-serif;max-width: max-content;margin: auto;border: 1px solid #ccc;padding: 10px 60px 13px;border-radius: 5px;font-size: 0.9em;position: relative;background: #eee;}

#reserve .monthly-prev a:hover,
.monthly-next a:hover{
	transition:.3s;
}

/*++++++++++++++
時間選択
++++++++++++++*/
#reserve .day-calendar {
	font-family: 'Noto Sans JP', sans-serif;
}

#reserve .day-calendar p {
	margin: 0 0 20px;
	font-size: 1.2em;
	letter-spacing: 2px;
}

#reserve .day-calendar table{
	width: 100%;
	font-size: inherit;
	border: 1px solid #ccc;
	padding: 30px;
	box-sizing: border-box;
}
#reserve .day-calendar table tbody {padding: 30px;}

#reserve .day-calendar tr{
	
}

#reserve .day-calendar .calendar-mark {
	height: auto;
}

#reserve .day-calendar th,
#reserve .day-calendar th.day-left,
#reserve .day-calendar th.day-right {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	padding: 10px;
	/* background: none !important; */
	color: #111 !important;
	line-height: inherit;
	border-right: none;
	box-sizing: border-box;
	background: none;
	border-right: 4px solid #fff;
}

#reserve .day-calendar th:last-child {
}

#reserve .day-calendar td,
#reserve .day-calendar td.day-left,
#reserve .day-calendar td.day-right {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	padding: 10px;
	font-size: inherit;
}

#reserve a.booking-timelink {
	color: #1DA4BC;
	text-decoration: none;
	font-weight: 600;
}
#reserve .calendar-mark.full {
	text-decoration: none;
	font-weight: 600;	
}
#reserve .calendar-mark.full:after{
    content:"受付終了";
	margin:0 0 0 10px;
}

#reserve .vacant a.booking-timelink:after{
	content: "空きあり";
	margin: 0 0 0 5px;
}

#reserve .low a.booking-timelink:after {
	content: "残りわずか";
	margin: 0 0 0 5px;
}

#reserve th:nth-child(1).day-left::after{
}
#reserve .day-left::after{}
#reserve a.booking-timelink:hover {
	text-decoration:none;
}

/*++++++++++++++
予約フォーム
++++++++++++++*/
#mts-postcode-button {
	display: inline;
	padding: 16px 30px !important;
	max-width: max-content;
	font-size: var(--font-em) !important;
	font-weight: 500;
	border-radius: 5px;
	margin: 0;
}
#booking-form,
#mining-form{
	margin: 40px auto;
	border-top: none;
	max-width: var(--medium-inner);
}


#booking-form form {background: #fff;/* padding: 50px; */}

.content-form fieldset {
	padding: 30px 30px 30px !important;
	width: var(--flex-100) !important;
	margin: 0 !important;
	border-bottom: none !important;
	box-sizing: border-box;
}
.content-form fieldset.agreement {
	border-bottom:1px solid var(--gray) !important;
}
.content-form fieldset#booking-message-fieldset {
	border-top: none;
	border-bottom: 1px solid #dddddd !important;
	padding: 0 30px 30px !important;
	width: var(--flex-100);
}
#booking-message-fieldset td {
	padding: 10px 0 !important;
}
#booking-message-fieldset tr {
	background:none;
}

.content-form fieldset#booking-confirm-fieldset {
	border-bottom: 1px solid var(--gray) !important;
}

#booking-option-fieldset {
    border-top: none !important;
    border-bottom: 1px solid var(--gray) !important;
    width: var(--flex-100);
}
#booking-option-fieldset legend {display:none;}

.content-form legend {
	font-size: 1.5em;
	font-weight: 600;
	letter-spacing: 1px;
	position: relative;
	padding: 0;
	margin: 30px 0 0;
	line-height: 2.5;
	border-radius: 5px 5px 0 0;
	text-align: center;
	background: #f7f7f7;
	border: 1px solid #ccc;
	box-sizing: border-box;
	display: block;
	width: 100%;
	border-bottom: none;
	display: none;
}

.content-form legend:after {
    content:"";
    position: absolute;
    background: #111;
    width: 300px;
    bottom: -1px;
    left: 0;
    z-index: 1;
    height: 1px;
}

#booking-form input.right {
	position: relative !important;
	margin: 0;
	width: 100px;
}
table#booking-option-table {
	border-top: none;
	padding: 0;
	border-spacing: 0;
}
table#booking-option-table tr {
	background:none;
}
table#booking-option-table th {
	padding:0 0 0 30px;
	line-height: inherit;
}
table#booking-option-table td {
	padding:0 0 0 45px;
	align-items: center;
	justify-content: left;
	gap: 20px;
	/* width: 100%; */
	line-height: var(--lh-sm);
}
.content-form table#booking-option-table {
	margin: 20px 0 0 !important;
}
.content-form table {/* display: block; */font-size: 1em;width: 100%;margin: 0 auto 20px !important;border-spacing: 0 !important;padding: 0;border-bottom: none;}
.content-form tr {
    background: none;
    /* border: 1px solid #ccc; */
    overflow: hidden;
    position: relative;
}
.content-form tr.user-row.address td label {display:none;}
textarea {
	width:100% !important;
	border-radius:5px !important;
}
tr#confirmation-booking-message-title {
	display:none;
}

.content-form tr.booking-form-people-number-row {
	display: none;
}
.content-form tr:first-child {
	/* background: #fff !important; */
}
.content-form tr:nth-child(odd),#booking-option-fieldset tr:nth-child(odd) {
	background:#f7f7f7;
}
#confirmation-booking-message {
background:none;	
}


tr#confirmation-job,
tr#confirmation-job02{
	background:none;
}

#booking_client-fieldset table tr{
	display: flex;
	justify-content: space-between;
	align-items: center;
	border: none;
	padding: 0;
}

#booking_client-fieldset {
	margin: 0;
	border: 1px solid #ccc;
	border-top: none;
	border-bottom: none;
	padding: 30px 30px 0;
	width: var(--flex-100);
}
#booking-reservation-fieldset span.required,
#booking_client-fieldset span.required {
	display:inline-block;
	padding:0 0 10px;
	line-height: inherit;
}

#booking_client-fieldset label span.required {
	padding:0;
	display: inherit;
}
#booking_client-fieldset table {
	border-bottom:none;
	width: 100% !important;
	border-spacing: unset;
}

.content-form th {
	border: none !important;
	padding: 30px !important;
	/* margin: 0 0 50px; */
	width: 30%;
	font-size: inherit;
	/* display: flex; */
	line-height: inherit;
	vertical-align: middle !important;
	text-align: left;
	/* border-bottom: 1px solid #ccc; */
}

.content-form th {
	font-size: 1em;
	width: 30%;
	font-weight: 500;
	letter-spacing: 1px;
	text-align: left !important;
	vertical-align: middle;
	color: #111;
	background: none;
	padding: 0 30px;
}
.content-form th label {
	font-weight: 500;
	width: auto;
	display: flex;
	letter-spacing: 1px;
}


.content-form span.required {
    color: #c62828;
    font-size: 1em;
    line-height: 1;
    padding: 0;
    box-sizing: border-box;
    text-align: center;
    font-weight: 600;
    display: flex;
    align-items: center;
}
.content-form td br {
    display:none;
}

.content-form td {padding: 0;width: 100%;text-align: left;box-sizing: border-box;font-size: inherit;padding: 30px !important;letter-spacing: 1px;position: relative;font-size: inherit !important;/* display: flex
; */align-items: center;justify-content: left;border: none !important;}
}
.set{
	display: flex;
	align-items: center;
	box-sizing: border-box;
	/* margin-right: 19px; */
}

.content-form tr > td.option-confirm-header {background: #333;/* margin: 50px 0 0; */padding: 10px 15px;color: #fff;border-bottom: 3px solid #eee;}

.option-confirm-header {
	display:none;
}

.content-form td .input-number {padding: 0 30px 0 0;width: auto;display: flex;align-items: center;position: relative;}

.content-form td .input-number:before {
    content: "名";
    position: absolute;
    right: 0;
}

.content-form td .input-number {}

.content-form td span.areas {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
.content-form .button4 {
	max-width: 250px;
}
.content-form .note {
	font-size: 1.1em;
	letter-spacing: 1px;
	line-height: 2;
	font-weight: 300;
	text-align: center;
}

.content-form td .list-item {width: auto;overflow: hidden;margin: 0 20px 0 0;text-align: left;}

.content-form td .list-item label {
	width:auto;
	display: flex;
	align-items: center;
}

.content-form td .list-item label input {
	width: auto;
}

span.list-item-label  {
	padding: 0 0 0 10px;
}

.content-form td label {
	margin: 0 15px 0 0 !important;
	display: inline-block;
	font-weight: var(--wght-500);
	gap: 10px;
	width: auto;
	align-items: center;
	justify-content: left;
}
.content-form td label input[type="checkbox"] {
	margin: 5px 0 0 !important;
}
.content-form td label:last-child {
}
.booking-seimei{
	width: 35px !important;
}

.content-form input[type="checkbox"] {
	width: auto;
	height: auto;
	margin: 0 5px 0 0 !important;
}

.content-form input {
	padding: 15px !important;
	width: 100%;
	border-radius: 5px;
	font-size: initial;
	color: #000;
	border: none;
	outline: none;
	box-sizing: border-box;
	font-family: inherit;
	border: 1px solid #dddddd;
	margin: 0;
}
.content-form input#client-address1 {
	margin: 0 0 20px;
}

.content-form input#booking-mei:last-child {
	margin:0;
}
.small-medium {
    width: 40% !important;
}
.content-form input[type="radio"] {
    width: auto;
    margin: 0 0 0 !important;
    height: auto;
}

.content-form button, #subscription-search-button, .register-button input,
.login_reserve_button,
input.button-primary{
    background: var(--black);
    color: #fff;
    border: none;
	text-align: center;
    padding: 25px 20px 27px !important;
    font-weight: 700;
    letter-spacing: 1px;
    font-size: var(
    --font-h6) !important;
    max-width: 400px;
    display: block;
    margin: 50px auto 0;
    width: 100%;
    font-family: Noto Sans JP, sans-serif;
    border-radius: 5px;
    cursor: pointer;
}
.visit .content-form button,.visit #subscription-search-button {
	background: #c06d3c;
}
.back_button,.mtssb-daily-action button {
	display: block;
	text-align: center;
	color: inherit;
	text-decoration: none;
	font-weight: 600;
	font-family: Noto Sans JP, sans-serif;
	max-width: max-content;
	margin: 0 auto 20px;
	border: 1px solid #ccc;
	padding: 10px 60px 13px;
	border-radius: 5px;
	font-size: 0.9em;
	position: relative;
	background: #eee;
}

.back_button:before,
.mtssb-daily-action button:before{
	content:"";
	content: "";
	background: url(../img/arrow-b.svg) no-repeat center;
	transform: rotate(180deg);
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 10px;
	width: 15px;
	height: 15px;
	/* border:1px solid #333; */
	border-radius: 100px;
	background-size: 4px;
}

.error-message {
	margin: 0;
}

.back_button, .mtssb-daily-action button, .bak,.logout_button {
	display: block;
	text-align: center;
	color: inherit;
	text-decoration: none;
	font-weight: 600;
	max-width: max-content;
	margin: 0 auto 20px !important;
	border: 1px solid #ccc;
	padding: 10px 60px 13px !important;
	border-radius: 5px;
	position: relative;
	background: #eee;
	cursor: pointer;
}

/*++++++++++++++
thanks
++++++++++++++*/
#yoyakuid {
	border: 1px solid #bb2a1f;
	background: rgba(187, 42, 31, 0.05);
	padding: 30px;
	border-radius: 5px;
	margin: 0 auto 30px;
	/* max-width: 80%; */
}

#yoyakuid .yoyakuid_name,
.booking-datetime-title{
	/* color: #bb2a1f; */
	font-size: 1.8em;
	margin: 0 0 10px;
}

#yoyakuid .number{
	background: #fff;
	padding: 10px;
	font-size: 2em;
	max-width: 500px;
	margin: 0 auto 20px;
	text-align: center;
}

#yoyakuid .number.booking-datetime {
font-size:1.5em;
}

.thanks {
	border: 7px solid #eee;
	padding: 30px;
	/* max-width: 85%; */
	margin: 50px auto;
	box-sizing: border-box;
	border-radius: 10px;
}

.content-form select {
	padding: 15px !important;
	border: 1px solid #ccc;
	border-radius: 5px;
	margin: 5px 0 0;
}

/*++++++++++++++
団体予約ページCSS
++++++++++++++*/

.reserve.group-reserve .flow li.active p{
	color: #00a5bf;
}

.reserve.group-reserve #mainttl {
	background: #00a5bf;
	/* background: none; */
}

.reserve.group-reserve .flow li.active {
	background: none;
}

.reserve.group-reserve #booking-form,
.reserve.group-reserve .reservebox {
	border: 2px solid #00a5bf;
	border-radius: 0 0 5px 5px;
}
.reserve.group-reserve .red,
.reserve.group-reserve .reservebox .imp b {
	color:#00a5bf;	
}

.reserve.group-reserve section#page a.calendar-daylink .marks {
	color:#69c	
}
.reserve.group-reserve .flow li.active:before {
	border-color: transparent transparent transparent #00a5bf;
}

.reserve.group-reserve .flow li.active span {
    background: #00a5bf;
}
/*カレンダー*/
.reserve.group-reserve section#page a.calendar-daylink {

}

.reserve.group-reserve section#page .vacant a.booking-timelink:after,
.reserve.group-reserve section#page .booked a.booking-timelink:after {
	content:"枠";
}
.reserve.group-reserve span.option-note.Starttime,
.reserve.group-reserve span.option-note.Endtime,
.reserve.group-reserve span.option-note.email_01 {
    font-size: 0.9em;
    display: block;
    margin: 10px 0 0;
}

.reserve.group-reserve .content-form select {
	width: 100px;
	margin: 0 10px 0 0;
}

.reserve.group-reserve .content-form select#booking-option-coupon_01 {
	width: auto;
}

.reserve.group-reserve 
table#booking-option-table th {width: 46%;}

.reserve.group-reserve #booking_client-fieldset table td span,
.reserve.group-reserve table#booking-option-table td span {
	font-size: 0.9em;
	color: #333;
}
.reserve.group-reserve select#booking-option-hope_to_visit,
.reserve.group-reserve select#booking-option-ticket_type {
	width: 300px;
	display: block;
	margin: 0 0 10px;
}

.reserve.group-reserve input#booking-option-exemption_01,



.reserve.group-reserve input#booking-option-exemption_02,
.reserve.group-reserve input#booking-option-exemption_03,
.reserve.group-reserve input#booking-option-exemption_04,
.reserve.group-reserve input#booking-option-exemption_05,
.reserve.group-reserve input#booking-option-exemption_06,
.reserve.group-reserve input#booking-option-exemption_07 {
	width: 100px;
	position: relative;
}
.reserve.group-reserve .content-form label.field-item.check-rest {
	margin: 0 0 10px 0;
	display: inline-block;
	width: auto;
}
.reserve.group-reserve .content-form label.field-item.check-rest input {
	width: auto;display: inline-block;
}

.reserve.group-reserve table#booking-option-table td span.rest {
	display: block;
	line-height: 2;
}

.reserve.group-reserve table#booking-option-table td span.rest br {
	display:block;
}


.reserve.group-reserve .content-form tr:nth-child(9) {
	/* width: 100%; */
}

.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) th, 
.reserve.group-reserve .content-form tr:nth-child(28) th {
    padding: 65px 30px 15px;
}
.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) td, 
.reserve.group-reserve .content-form tr:nth-child(28) td {
	padding: 70px 0 15px;
}

.reserve.group-reserve .content-form th label.Starttime:before {
	content: "学校団体/一般団体記入欄";
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	width: 100%;
	box-sizing: border-box;
	padding: 15px;	
}


.reserve.group-reserve .content-form th label.travel_agency:before {
	content: "旅行代理店記入欄";
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	width: 100%;
	box-sizing: border-box;
	padding: 15px;
}
.reserve.group-reserve .content-form th label.existence_exemption_application:before {
	content: "減免申請について";	
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	width: 100%;
	box-sizing: border-box;
	padding: 15px;	
}

.reserve.group-reserve .content-form th label.option-label.other:before {
	content: "その他";	
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	width: 100%;
	box-sizing: border-box;
	padding: 15px;	
}

.reserve.group-reserve .content-form label.check-access {
	width: auto;
}

.reserve.group-reserve .content-form label.check-access input#option-check-access-bus,
.reserve.group-reserve .content-form label.check-access input#option-check-access-car,
.reserve.group-reserve .content-form label.check-access input#option-check-access-other  {width: auto;}

.reserve.group-reserve .content-form textarea {
	border-radius: 5px;
	border: 1px solid #ccc;
	padding: 30px;
	box-sizing: border-box;
	width: 100%;
}

/*予約確認*/
.reserve.group-reserve span.option-confirm-note {
	display: none;
}

.reserve.group-reserve tr.booking-form-people-number-row th {
	width: auto;
}

.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) th.option-confirm-label,
.reserve.group-reserve .content-form tr:nth-child(12) th.option-confirm-label,
.reserve.group-reserve .content-form tr:nth-child(20) th.option-confirm-label,
.reserve.group-reserve .content-form tr:nth-child(28) th.option-confirm-label {padding: 15px 30px;}

.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) td.option-confirm-value,
.reserve.group-reserve .content-form tr:nth-child(12) td.option-confirm-value,
.reserve.group-reserve .content-form tr:nth-child(20) td.option-confirm-value,
.reserve.group-reserve .content-form tr:nth-child(28) td.option-confirm-value {padding: 15px 0;}

.reserve.group-reserve .content-form th.option-confirm-label {width: 45%;}

tr#confirmation-exemption_01 span.option-confirm-note,
tr#confirmation-exemption_02 span.option-confirm-note,
tr#confirmation-exemption_03 span.option-confirm-note,
tr#confirmation-exemption_04 span.option-confirm-note,







tr#confirmation-exemption_05 span.option-confirm-note,
tr#confirmation-exemption_06 span.option-confirm-note,
tr#confirmation-exemption_07 span.option-confirm-note{
	display:inline;
}

.reserve.group-reserve tr#confirmation-Starttime th.option-confirm-label:before {
	content: "学校団体/一般団体記入欄";
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	width: 100%;
	font-weight:500;
	box-sizing: border-box;
	padding: 15px;	
} 

.reserve.group-reserve .content-form tr#confirmation-travel_agency th.option-confirm-label:before {
	content: "旅行代理店記入欄";
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	width: 100%;
	box-sizing: border-box;
	padding: 15px;
}

.reserve.group-reserve .content-form tr#confirmation-existence_exemption_application th:before {
	content: "減免申請について";	
	background: #000;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	width: 100%;
	box-sizing: border-box;
	padding: 15px;	
}


.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) th, .reserve.group-reserve .content-form table#booking-option-table tr:nth-child(8) th, .reserve.group-reserve .content-form table#booking-option-table tr:nth-child(17) th, .reserve.group-reserve .content-form #booking-confirm-fieldset tr:nth-child(12) th, .reserve.group-reserve .content-form #booking-confirm-fieldset tr:nth-child(21) th {
    padding: 65px 30px 15px;
}
.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) td, .reserve.group-reserve .content-form table#booking-option-table tr:nth-child(8) td, .reserve.group-reserve .content-form #booking-confirm-fieldset tr:nth-child(12) td, .reserve.group-reserve .content-form table#booking-option-table tr:nth-child(17) td, .reserve.group-reserve .content-form #booking-confirm-fieldset tr:nth-child(21) td {
	padding: 70px 0 15px;
}


/*++++++++++++++
キャンセル
++++++++++++++*/
.cancel #booking-reservation-fieldset {
	border-bottom: 1px solid #ccc;
	margin: 0 0 30px;
	border: none;
	padding: 0;
}

.cancel.content-form table tr:nth-child(2) td {
	/* padding: 0; */
}
.cancel.content-form table tr:nth-child(2) td table td {
	padding:15px 0;
}
.cancel.content-form table tr:nth-child(2) td table tr:nth-child(1),
.cancel.content-form table tr:nth-child(2) td table tr:nth-child(2) {
	display: none;
}
.cancel td.option-confirm-header {
	height: 0;
}
.content-form.cancel th.subscription-header {
	padding: 15px 0;
	background: #fff;
}
.content-form.cancel table tr:empty {
	
}
.content-form.cancel table tr:last-child {
	background:#f7f7f7;
}

.reserve.cancel tr.subscription-first td form {background: none !important;}

.reserve.cancel .subscription-header form {
	background: none !important;
}
.reserve.cancel .subscription-title {
	font-size: unset;
}
.reserve.cancel #mainttl {
	background: #000;
}
.reserve.cancel #booking-form {
	border: 1px solid #000;
	border-top: none;
}
.reserve.cancel .flow li.active span {
	background: #000;
}

.reserve.cancel .flow li.active p {
	color:#000;
}

.reserve.cancel .content-form legend {
	margin: 0 auto 20px;
}

.cancel input.cancel-button {
    display: block;
    border: 1px solid #111;
    text-align: center;
    padding: 20px 50px 20px;
    max-width: 400px;
    margin: auto;
    background:none;
    border-radius:0;
    cursor:pointer;
    transition:.3s;
    font-weight: 300;
    box-sizing: border-box;
    letter-spacing: 1px;
}

.cancel input.cancel-button:hover {
	background:#f5f5f5;
    transition:.3s;	
}

.cancel .subscription-cancel {
	float: none;
	margin: 30px 0;
	position: relative;
}
.cancel .subscription-cancel:before {
	content:"✕";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	border: 2px solid #fff;
	color: #fff;
	border-radius: 100px;
	width: 25px;
	height: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	font-size: 1em;
	font-weight: bold;
	left: 36%;
}

.cancel #subscription-cancel-button {
	background:rgba(255, 42, 32, 0.9);
	border:none;
	color: #fff;
	font-weight: 600;
	padding: 25px 0;
	cursor: pointer;
	margin: 0;
}

.form-notice,
#user-register-consent {
	display: flex;
	margin: 0 0 10px;
}
/*++++++++++++++
ゲスト予約
++++++++++++++*/

#guestbox {
    border: 1px solid var(--gray);
    padding: 50px;
    box-sizing: border-box;
}
.psw_reset {
	padding: 10px 30px;
}

#guestbox .wp-block-separator {
	margin: 50px 0;
}
#guestbox .button {
    max-width: var(--flex-100);
}

#guestbox .lost-pass {
    padding:20px 50px;
    box-sizing: border-box;
}

/*++++++++++++++
マイページ
++++++++++++++*/
#mypagebox {
    border: 1px solid var(--gray);
    padding: 30px 30px 50px;
    box-sizing: border-box;
}

/*++++++++++++++
編集
++++++++++++++*/
#profile p {
	background: var(--lightblue);
	padding: 10px 18px;
	border: none;
	border-left: 3px solid var(--aqua);
	margin: 0 0 20px;
	border-radius: 0;
	font-size: var(--font-em);
	color: var(--aqua);
	font-weight: var(--wght-600);
}
/*++++++++++++++
新規登録
++++++++++++++*/
.content-form .form-message.error {
	max-width:var(--flex-100);
}
.form-message {
	background: var(--lightblue);
	padding: 15px 30px 15px 20px;
	border: none;
	line-height: var(--lh-sm);
	border-radius: 0;
	font-size: var(--font-em);
	color: var(--aqua);
	font-weight: var(--wght-500);
	max-width: max-content;
	margin: auto;
	border-left: 3px solid var( --aqua);
}
#mtssb-register .button-box:first-child {
    margin: 0 0 20px;
}
#mtssb-register input[name="cmd_previous"] {
    display: block;
    text-align: center;
    text-decoration: none;
    font-weight: 600;
    max-width: max-content;
    margin: 0 auto 20px;
    border: 1px solid #ccc;
    padding: 10px 60px 13px !important;
    border-radius: 5px;
    font-size: var(--font-em) !important;
    position: relative;
    background: #eee;
    cursor: pointer;
    color: var(--black) !important;
}
#mtssb-register input[name="cmd_abort"] {
    display: none !important;
}
/*++++++++++++++
ログインフォーム
++++++++++++++*/
#loginform {
	background: var(--lightgray);
	padding: 30px;
	box-sizing: border-box;
	border-bottom: 1px solid var(--gray);
}
#loginform .login-password input, #loginform .login-login-remember input {
	background:var(--white);
}
#loginform .login-submit {
	margin:20px 0 0;
}
#loginform .login-username {
	margin: 0 0 20px;
}

#loginform label {
	font-weight:var(--wght-600);
	margin:0 0 10px;
	display:block;
}
#loginform  .login-remember label{
	font-weight:var(--wght-500);
	font-size:var(--font-em);
	margin:10px 0 0;
}

#loginform .login-username {
	
}

/*ログイン中*/
#member-login .login-username.mypage {
	background: var(--lightblue);
	padding: 10px 18px;
	border: none;
	border-left: 3px solid var(
 --aqua);
	margin: 0 0 20px;
	border-radius: 0;
	font-size: var(--font-em);
	color: var(--aqua);
	font-weight: var(--wght-600);
}
/*++++++++++++++
パスワード再設定
++++++++++++++*/
#password-reset #login{
	width: var(--width640);
}
#password-reset #login form {
	background: var(--opa-black01);
	border: none;
	padding: 50px;
	margin: 20px 0 40px;
}
#password-reset .login label {
	font-weight:var(--wght-600);
	margin:0 0 15px;
}
#password-reset .button.button-primary {
	background: var(--blue);
	color: #fff;
	border: none;
	text-align: center;
	padding: 20px 20px 22px !important;
	letter-spacing: 1px;
	font-size: var(--font-em) !important;
	max-width: 400px;
	display: block;
	margin: 20px auto 0;
	width: 100%;
	border-radius: 5px;
	cursor: pointer;
	min-height: unset;
	float: none;
}


@media screen and (max-width: 1699px) {
/*++++++++++++++
注意事項
++++++++++++++*/

.flow ul{
}

.flow li:last-child {
	margin:0;
}



.reservebox .day-calendar h3 {
	display:none;
}


.reservebox .imp em {
	font-size: 0.8em;
	letter-spacing: 1px;
	font-weight: 500;
	color: #000;
}

.reservebox .imp b{font-size: 1.4em;}

/*++++++++++++++
予約フォーム　icon
++++++++++++++*/

.iconbox li b.marks{
	color: #bb2a1f;
}



/*++++++++++++++
カレンダー
++++++++++++++*/


#reserve .monthly-calendar caption:before {
    background: #111;
    width: 300px;
    bottom: -1px;
    left: 0;
    z-index: 1;
    height: 1px;
}


#reserve .monthly-calendar table {
}



#reserve .full .calendar-mark {
	background: #f7f7f7;
	font-size: 1.8em;
}

#reserve a.calendar-daylink {
	font-size: 0.9em;
	/* color: #bb2a1f; */
	transition: .3s;
	width: 100%;
}

#reserve .monthly-calendar table td.off .calendar-daylink:before {
	font-size: 14px;
}


#reserve .monthly-calendar table td.vacant:hover {
	background:#eef1f4;
	transition:.3s;	
}

#reserve a.calendar-daylink .marks {
	color: #bb2a1f;
	font-size: 2em;
	font-weight: bold;
}

#reserve .no-link {
    display:none;
}

#reserve .monthly-prev a,.monthly-next a {
}

#reserve .monthly-prev a:hover,
.monthly-next a:hover{
	transition:.3s;
	color:#fff;

	background:#333;
}

/*++++++++++++++
時間選択
++++++++++++++*/
#reserve .day-calendar {
}

#reserve .day-calendar p {
	margin: 0 0 20px;
	font-size: 1.2em;
	letter-spacing: 2px;
}

#reserve .day-calendar table{
}

#reserve .day-calendar tr{
	
}

#reserve .day-calendar .calendar-mark {
	height: auto;
}

#reserve .day-calendar th,
#reserve .day-calendar th.day-left,
#reserve .day-calendar th.day-right {
}

#reserve .day-calendar th:last-child {
}

#reserve .day-calendar td,
#reserve .day-calendar td.day-left,
#reserve .day-calendar td.day-right {
}

#reserve a.booking-timelink {
}#reserve .vacant a.booking-timelink:before {
}

#reserve .vacant a.booking-timelink:after {
}

#reserve a.booking-timelink:hover {
	text-decoration:none;
}

/*++++++++++++++
予約フォーム
++++++++++++++*/
#booking-form {
}

#booking-form form {background: #fff;}

.content-form fieldset {
}


.content-form legend {
}

.content-form legend:after {
    content:"";
    position: absolute;
    background: #111;
    width: 300px;
    bottom: -1px;
    left: 0;
    z-index: 1;
    height: 1px;
}

#booking-form input.right {
	position: relative !important;
	margin: 0;
	width: 100px;
}

.content-form table {}
.content-form tr {
}

.content-form tr:nth-child(odd) {
}

.content-form td br {
    display:none;
}


.content-form tr > td.option-confirm-header {
    display: none;
}

.content-form td .input-number {}

.content-form td .input-number:before {
    content: "名";
    position: absolute;
    right: 0;
}

.content-form td .input-number:last-child {}

.content-form td span.areas {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
.content-form .button4 {
	max-width: 200px;
}
.content-form .note {
	font-size: 1.1em;
	letter-spacing: 1px;
	line-height: 2;
	font-weight: 300;
	text-align: center;
}

.content-form td .list-item {width: auto;overflow: hidden;margin: 0 20px 0 0;text-align: left;}

.content-form td .list-item label {
	width:auto;
}

.content-form td label {


	width: 50%;
	margin: 0 10px 0 0;
}


.content-form input {
}

.content-form input[type="radio"] {
    width: auto;
    margin: 0 6px 0 0;
}

.content-form button {
}


/*++++++++++++++
thanks
++++++++++++++*/
#yoyakuid {
}


#yoyakuid .yoyakuid_name,
.booking-datetime-title	{
	font-size: 1.5em;
}

#yoyakuid .number.booking-datetime{font-size: 1.5em;}

.thanks {
	border: 7px solid #eee;
	padding: 30px;
	/* max-width: 85%; */
	margin: 50px auto;
	box-sizing: border-box;
	border-radius: 10px;
}
}

@media screen and (max-width: 1299px) {

/*++++++++++++++
注意事項
++++++++++++++*/
.flow {
	max-width: 90%;
}

.flow ul{gap: 30px;}

.flow li{padding: 20px 10px;}
.flow li:before {
	border-width: 25px 0 30px 25px;
}


.flow li:last-child {
	margin:0;
}


.flow li p{font-size: 0.8em;}

.reservebox {
	/* background: #f7f7f7; */
	padding: 60px 40px;
	margin: 0 0 80px;
	border: 1px solid #bb2a1f;
	border-radius: 5px;
}

.reservebox .day-calendar h3 {
	display:none;
}

.reservebox .careful {
    /* background:#f7f7f7; */
    /* padding: 40px; */
    box-sizing: border-box;
    margin: 0 0 80px;
    border-radius: 5px;
}
.reservebox .imp{
	text-align: center;
	/* font-size: 1.2em; */
	letter-spacing: 2px;
	padding: 0 0 30px;
}

.reservebox .imp p {
}

.reservebox .imp em {
	font-size: 0.8em;
	letter-spacing: 1px;

	font-weight: 500;
	color: #000;
}

.reservebox .imp b{font-size: 1.2em;}

/*++++++++++++++
予約フォーム　icon
++++++++++++++*/
.iconbox {margin: 50px 0;}

.iconbox ul{width: auto;}

ul {}

.iconbox li{
}

.iconbox li:last-child{
	
}
.iconbox li b {
	font-weight: bold;	
}
.iconbox li b.marks{
	color: #bb2a1f;
}

.iconbox li p{
	
}


/*++++++++++++++
カレンダー
++++++++++++++*/

#reserve .monthly-calendar{
}
#reserve .monthly-calendar caption {
}

#reserve .monthly-calendar caption:before {
}


#reserve .monthly-calendar table {
	font-size: 0.9em;
	table-layout: fixed;
	border: 1px solid #ccc;
	box-shadow: 0 2px 2px rgba(0,0,0,0.1);
	margin: 0 0 30px;
}

#reserve .monthly-calendar table tr {
	background: none;
}

#reserve .full .calendar-mark {
	background: #f7f7f7;
	font-size: 1.8em;
}
#reserve .disable .calendar-mark {
}



#reserve .calendar-mark {
}

#reserve .day-number {
}

#reserve a.calendar-daylink {
	font-size: 0.9em;
	/* color: #bb2a1f; */
	transition: .3s;
	width: 100%;
}



#reserve .monthly-calendar table td.vacant:hover {
	background:#eef1f4;
	transition:.3s;	
}

#reserve a.calendar-daylink .marks {
	color: #bb2a1f;
	font-size: 2em;
	font-weight: bold;
}

#reserve .no-link {
    display:none;
}

#reserve .monthly-prev a,.monthly-next a {



}

#reserve .monthly-prev a:hover,
.monthly-next a:hover{
	transition:.3s;
	color:#fff;

	background:#333;
}

/*++++++++++++++
時間選択
++++++++++++++*/
#reserve .day-calendar {
	font-family: 'Noto Sans JP', sans-serif;
}

#reserve .day-calendar p {
	margin: 0 0 20px;
	font-size: 1.2em;
	letter-spacing: 2px;
}

#reserve .day-calendar table{
}

#reserve .day-calendar tr{
	
}

#reserve .day-calendar .calendar-mark {
	height: auto;
}

#reserve .day-calendar th,
#reserve .day-calendar th.day-left,
#reserve .day-calendar th.day-right {
}

#reserve .day-calendar th:last-child {
}

#reserve .day-calendar td,
#reserve .day-calendar td.day-left,
#reserve .day-calendar td.day-right {
}

#reserve a.booking-timelink {
}#reserve .vacant a.booking-timelink:before {
}

/*++++++++++++++
予約フォーム
++++++++++++++*/
#booking-form {
	padding: 40px;
	border-radius: 0 0 5px 5px;

}



#booking-form form {}

.content-form fieldset {
}


.content-form legend {
}

.content-form legend:after {
    content:"";
    position: absolute;
    background: #111;

    width: 300px;
    bottom: -1px;
    left: 0;
    z-index: 1;
    height: 1px;
}

#booking-form input.right {
	position: relative !important;
	margin: 0;
	width: 100px;
}

.content-form table {
    font-size: 0.9em;
}
.content-form tr {
    background: none;
    /* border: 1px solid #ccc; */
    overflow: hidden;
}

.content-form tr:nth-child(odd) {
}

.content-form th {


	border: none;
	/* padding: 0 0 50px; */
	/* margin: 0 0 50px; */

	width: 30%;
	font-size: inherit;
	/* display: flex; */
	line-height: inherit;
	text-align: left;
	/* border-bottom: 1px solid #ccc; */
}

.content-form th {padding: 15px;}

.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) th.option-confirm-label, .reserve.group-reserve .content-form tr:nth-child(12) th.option-confirm-label, .reserve.group-reserve .content-form tr:nth-child(20) th.option-confirm-label, .reserve.group-reserve .content-form tr:nth-child(28) th.option-confirm-label {
	padding:15px;
}
.content-form th label {
}
.content-form span.required {
}
.content-form td br {
    display:none;
}

.content-form td {
}

.content-form tr > td.option-confirm-header {}

.content-form td .input-number {}

.content-form td .input-number:before {
    content: "名";
    position: absolute;
    right: 0;
}

.content-form td .input-number:last-child {width: 0;}

.content-form td span.areas {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
.content-form .button4 {
}
.content-form .note {
	font-size: 1.1em;
	letter-spacing: 1px;
	line-height: 2;
	font-weight: 300;
	text-align: center;
}

.content-form td .list-item {width: auto;overflow: hidden;margin: 0 20px 0 0;text-align: left;}

.content-form td .list-item label {
	width:auto;
}

.content-form td label {
}


.content-form input {
	/* border: 1px solid #ccc; */
	padding: 15px;
	width: 98%;
	border-radius: 5px;
	font-size: initial;
	color: #000;
	border: 1px solid #ccc;
	outline: none;
	box-sizing: border-box;
	/* background: #f7f7f7; */
	font-family: inherit;
	margin: 0;
}

.content-form input[type="radio"] {
    width: auto;
    margin: 0 6px 0 0;
}


.content-form button {
	margin: 20px 0;
	font-size: 1.1em;
}


/*++++++++++++++
thanks
++++++++++++++*/
#yoyakuid {

}

#yoyakuid .yoyakuid_name {
}

#yoyakuid .number.booking-datetime{font-size: 1.5em;}



.thanks {
	border: 7px solid #eee;
	padding: 30px;
	/* max-width: 85%; */
	margin: 50px auto;
	box-sizing: border-box;
	border-radius: 10px;
}
}

@media screen and (max-width: 1023px) {
.inner {
	max-width:90%;
}	
.content-form fieldset table,
.content-form fieldset tbody,
.content-form fieldset tr,
.content-form fieldset th,
.content-form fieldset td {display: block;width: 100%;margin: auto;border: none;}	
table#booking-option-table {
	padding:0 0 0;
}
.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) td, .reserve.group-reserve .content-form table#booking-option-table tr:nth-child(8) td, .reserve.group-reserve .content-form #booking-confirm-fieldset tr:nth-child(12) td, .reserve.group-reserve .content-form table#booking-option-table tr:nth-child(17) td, .reserve.group-reserve .content-form #booking-confirm-fieldset tr:nth-child(21) td {
	padding:15px;
}
#booking_client-fieldset table tr {
	display:block;
}	
.content-form tr.booking-form-people-number-row {
	background:none;
}
/*++++++++++++++
注意事項
++++++++++++++*/
.reservebox p {
    font-size: 0.8em;
    line-height: 1.8;
}

.flow li{}
.flow li:before {
	border-width: 13px 0 18px 15px;
	border-color: transparent transparent transparent #f7f7f7;
	right: -15px;
}

.flow li:last-child {
	margin:0;
}


.flow li span{
    width: 50px;
    height: 45px;
}

.flow li p{}


.reservebox {
	/* background: #f7f7f7; */
	padding: 60px 40px;
	margin: 0 0 80px;
	border: 1px solid #bb2a1f;
	border-radius: 5px;
}

.reservebox .day-calendar h3 {
	display:none;
}

.reservebox .careful {
    /* background:#f7f7f7; */
    /* padding: 40px; */
    box-sizing: border-box;
    margin: 0 0 80px;
    border-radius: 5px;
}
.reservebox .imp{
	text-align: center;
	/* font-size: 1.2em; */
	letter-spacing: 2px;
	padding: 0 0 30px;
}

.reservebox .imp p {
}

.reservebox .imp em {
	font-size: 0.8em;
	letter-spacing: 1px;
	font-weight: 500;
	color: #000;
}

.reservebox .imp b{letter-spacing: 0;}

/*++++++++++++++
予約フォーム　icon
++++++++++++++*/

.iconbox ul{width: auto;flex-wrap: wrap;padding: 10px 10px 8px;}


.iconbox li{width: 40%;justify-content: left;padding: 0 20px 5px;}


.iconbox li b {
	font-weight: bold;	
}
.iconbox li b.marks{
	color: #bb2a1f;
}



/*++++++++++++++
カレンダー
++++++++++++++*/



#reserve .monthly-calendar table {
}

#reserve .monthly-calendar table tr {
	background: none;
}


#reserve .full .calendar-mark {
	background: #f7f7f7;
	font-size: 1.8em;
}
#reserve .disable .calendar-mark {
}



#reserve .calendar-mark {
}

#reserve .day-number {
}

#reserve a.calendar-daylink {
	font-size: 0.9em;
	/* color: #bb2a1f; */
	transition: .3s;
	width: 100%;
}


#reserve .monthly-calendar table td.vacant:hover {
	background:#eef1f4;
	transition:.3s;	
}

#reserve a.calendar-daylink .marks {
	color: #bb2a1f;
	font-size: 2em;
	font-weight: bold;
}

#reserve .no-link {
    display:none;
}

#reserve .monthly-prev a,.monthly-next a {
}

#reserve .monthly-prev a:hover,
.monthly-next a:hover{
	transition:.3s;
	color:#fff;

	background:#333;
}




/*++++++++++++++
時間選択
++++++++++++++*/
#reserve .day-calendar {
	font-family: 'Noto Sans JP', sans-serif;
}

#reserve .day-calendar p {
	margin: 0 0 20px;
	font-size: 1.2em;
	letter-spacing: 2px;
}

#reserve .day-calendar table{
}

#reserve .day-calendar tr{
	
}

#reserve .day-calendar .calendar-mark {
	height: auto;
}

#reserve .day-calendar th,
#reserve .day-calendar th.day-left,
#reserve .day-calendar th.day-right {
}

#reserve .day-calendar th:last-child {
}

#reserve .day-calendar td,
#reserve .day-calendar td.day-left,
#reserve .day-calendar td.day-right {
}

#reserve a.booking-timelink {
}#reserve .vacant a.booking-timelink:before {
}


/*++++++++++++++

予約フォーム
++++++++++++++*/
#booking-form {
	padding: 30px;
}

#booking-form form {}

#booking-option-fieldset {padding: 10px;}


.content-form legend {
}

.content-form legend:after {
    content:"";
    position: absolute;
    background: #111;
    width: 300px;
    bottom: -1px;
    left: 0;
    z-index: 1;
    height: 1px;
}

#booking-form input.right {
	position: relative !important;
	margin: 0;
	width: 100px;
}

.content-form table {
    border: none;
    padding: 0;
}
.content-form tr {
}

.content-form tr:nth-child(odd) {background: none;padding: 0;border: none;}

.content-form th {
	border: none;
	/* padding: 0 0 50px; */
	/* margin: 0 0 50px; */
	width: 30%;
	font-size: inherit;
	/* display: flex; */
	line-height: inherit;
	text-align: left;
	/* border-bottom: 1px solid #ccc; */
	box-sizing: border-box;
}

.content-form th {padding: 15px 15px 10px !important;background: #f7f7f7;}
.content-form th label {}
.content-form span.required {
    margin: 0;
}
.content-form td br {
    display:none;
}

.content-form td {padding: 15px;overflow: hidden;}

.content-form tr > td.option-confirm-header {}

.content-form td .input-number label {margin: 0 10px 0 0;width: auto;display: block;}

.content-form td .input-number:before {
    content: "名";
    position: absolute;
    right: 0;
}

.content-form td .input-number:last-child {width: auto;}

.content-form td span.areas {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
.content-form .button4 {
}
.content-form .note {
	font-size: 1.1em;
	letter-spacing: 1px;
	line-height: 2;
	font-weight: 300;
	text-align: center;
}

.content-form td .list-item {width: auto;overflow: hidden;margin: 0 20px 0 0;text-align: left;}

.content-form td .list-item label {
	width:auto;
}

.small-medium {width: 87% !important;}
.content-form td label:first-child {}


.content-form input {
    padding: 10px;
    margin: 0 auto 15px;
}

.content-form input[type="radio"] {
    width: auto;
    margin: 0 6px 0 0;
}

.content-form button {
}


/*++++++++++++++
thanks
++++++++++++++*/
#yoyakuid {padding: 20px;}

#yoyakuid .yoyakuid_name,.booking-datetime-title
	{font-size: 1.3em;}

#yoyakuid .number.booking-datetime{font-size: 1.5em;}

.thanks {
	border: 7px solid #eee;
	padding: 30px;
	/* max-width: 85%; */
	margin: 50px auto;
	box-sizing: border-box;

	border-radius: 10px;
}
/*++++++++++++++
団体専用CSS
++++++++++++++*/
.reserve.group-reserve table#booking-option-table th {
	width: auto;
}

.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) th, 
.reserve.group-reserve .content-form tr:nth-child(12) th, 
.reserve.group-reserve .content-form tr:nth-child(20) th, 
.reserve.group-reserve .content-form tr:nth-child(28) th {padding: 65px 10px 10px;}

.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) td, 
.reserve.group-reserve .content-form tr:nth-child(12) td, 
.reserve.group-reserve .content-form tr:nth-child(20) td, 
.reserve.group-reserve .content-form tr:nth-child(28) td {
padding:10px;
}

.reserve.group-reserve .content-form th.option-confirm-label {
	width:auto;
}
.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) th,
.reserve.group-reserve .content-form tr:nth-child(3) th,
.reserve.group-reserve .content-form tr:nth-child(14) th,
.reserve.group-reserve .content-form tr:nth-child(22) th {
    padding: 60px 10px 10px;
}
.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) td,
.reserve.group-reserve .content-form tr:nth-child(3) td,
.reserve.group-reserve .content-form tr:nth-child(14) td,
.reserve.group-reserve .content-form tr:nth-child(22) td {
    padding: 10px;
}
/*++++++++++++++
キャンセル
++++++++++++++*/
.reserve.cancel .flow ul:before {
	width: 80%;
}	
.cancel .subscription-cancel:before {
	left: 2%;
}
	
/*++++++++++++++
マイページ
++++++++++++++*/
#mypagebox {
    padding: 30px 30px 50px;
	grid-template-areas: 1fr 1fr;
}
	
}

@media screen and (max-width: 767px) {
/*++++++++++++++
header
++++++++++++++*/
#head {
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	padding: 20px 0;
}
#head .strong{
	font-size: 0.9em;
	font-weight: 500;
}	
#head .logo img {
	width: 80px;
}	

#reserve {
	padding: 0 0 50px;
}
	
/*++++++++++++++
共通
++++++++++++++*/

#reserve .inner {max-width: 95%;}	
	
.reserve.group-reserve #booking-form, .reserve.group-reserve .reservebox {
	border: none;
	padding: 0;
}	

.reserve.group-reserve #booking-form em {
	padding: 10px;
	display: block;
}

/*++++++++++++++
注意事項
++++++++++++++*/
#thanks {
}	
.flow {
	max-width: 90%;
}

.flow ul{display: flex;/* flex-wrap: wrap; */gap: 15px;max-width: 100%;align-items: flex-start;margin: 0 auto 50px;justify-content: space-between;width: 100%;}
.flow ul:before {
	top: 25px;
}
.flow li{
    padding: 0;
    margin: 0;
}
.flow li:before {right: -16px;border-width: 17px 0 17px 16px;}


.flow li:last-child {
	margin:0;
}


.flow li p{
	width: auto;
	font-weight: 600;
	letter-spacing: 1px;
	font-size: 0.8em;
	line-height: 1.6;
}

.flow li.active {/* margin: 0 20px 10px 0; */}


.reservebox {
	border: none;
	padding: 0;
}

.reservebox .day-calendar h3 {
	display:none;
}

.reservebox .careful {
    padding: 0 15px;
    margin: 0 0 20px;
}
.reservebox .imp{
	padding: 0;
}

.reservebox .imp p {
}

.reservebox .imp em {
	font-size: 0.8em;
	letter-spacing: 1px;
	font-weight: 500;
	color: #000;
}

.reservebox .imp b{
}

/*++++++++++++++
予約フォーム　icon
++++++++++++++*/
.iconbox {/* padding: 0 15px; */}

.iconbox ul{width: auto;gap: 10px;}

.iconbox li{padding: 0;margin: 0;width: auto;}


.iconbox li b {
	font-weight: bold;	
}
.iconbox li b.marks{
	color: #bb2a1f;
}

/*++++++++++++++
ゲスト予約
++++++++++++++*/
#guestbox {
    box-sizing: border-box;
    grid-template-columns: 1fr;
    border: none;
    padding: 10px;
    gap: 50px;
}
#loginform {
	padding:30px;
}
#guestbox .wp-block-separator {
	margin: 50px 0;
}
#guestbox .button {
    max-width: var(--flex-100);
}

#guestbox .lost-pass {
    padding:20px 50px;
    box-sizing: border-box;
}

/*++++++++++++++
カレンダー
++++++++++++++*/


#reserve .monthly-calendar{
	padding: 0;
}
#reserve .monthly-calendar caption {font-size: 1.2em;padding: 7px 0 0;}

#reserve .monthly-calendar caption:before {
}


#reserve .monthly-calendar table {
}

#reserve .monthly-calendar table tr {
	background: none;
}



#reserve .full .calendar-mark {
	background: #f7f7f7;
	font-size: 1.8em;
}


#reserve .calendar-mark {padding: 2px;}

#reserve .day-number {
}

#reserve a.calendar-daylink {
	font-size: 0.9em;
	/* color: #bb2a1f; */
	transition: .3s;
	width: 100%;
}


#reserve .monthly-calendar table td.vacant:hover {
	background:#eef1f4;
	transition:.3s;	
}

#reserve a.calendar-daylink .marks {
	color: #bb2a1f;
	font-size: 2em;
	font-weight: bold;
}

#reserve .no-link {

    display:none;
}

#reserve .monthly-prev a,.monthly-next a {
}

#reserve .monthly-prev a:hover,
.monthly-next a:hover{
	transition:.3s;
	color:#fff;

	background:#333;
}

/*++++++++++++++
時間選択
++++++++++++++*/
#reserve .day-calendar {
	font-family: 'Noto Sans JP', sans-serif;
	padding: 0;
}

#reserve .day-calendar p {
	margin: 0 0 20px;
	font-size: 1.2em;
	letter-spacing: 2px;
}


#reserve .day-calendar .calendar-mark {
	height: auto;
}


.content-form .user-name {margin: 0 0 10px !important;text-align: left !important;}

/*++++++++++++++
予約フォーム
++++++++++++++*/
#booking-form {
	border: none;
	padding: 0;
	margin: 50px 0 20px;
}

#booking-form form {}

#booking_client-fieldset {padding: 0 10px;}

.content-form fieldset {
	padding: 10px;
}	

.content-form legend {
	font-size: 1.1em;
	padding: 0 15px 10px;
	box-sizing: border-box;
	margin: 0 0 20px;
}

.content-form legend:after {
    content:"";
    position: absolute;
    background: #111;
    width: 300px;
    bottom: -1px;
    left: 0;
    z-index: 1;
    height: 1px;
}

#booking-form input.right {
	position: relative !important;
	margin: 0;
	width: 100px;
}

#profile .content-form table {
    width: 100%;
    display: block;
}
#profile .content-form th {
    width: 100%;
    display: block;
}	
#profile .content-form td {
    width: 100%;
    padding: 20px 0 !important;
    display: block;
}	
#profile .content-form input {
	margin: 0 0 20px;
	width: var(--flex-100);
}
#profile .content-form input:last-child {
	margin: 0;
}	
#profile .button.button-primary {
	margin: auto !important;
	font-weight: var(--wght-500);
}
	
.content-form tr {
}


.content-form th {}

.content-form th {width: 35%;font-weight: 600;}
.content-form th label {
	font-weight: 500;
	width: auto;
	display: flex;
	justify-content: left;
}
table#booking-option-table td {
	padding: 15px 0 0 5px;
}	
.content-form span.required {
}
.content-form td br {
    display:none;
}

.content-form td {
    padding: 15px 0;
}

.content-form tr > td.option-confirm-header {}

.content-form td .input-number {
    display: block;
    padding: 0 20px 0 0;
    margin: 0 10px 0;
    text-align: left;
}

.content-form td .input-number:before {
    content: "名";
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    display: flex;
    align-items: center;
}
.content-form fieldset td {
	padding: 10px 0;
	margin: auto;
	text-align: left;
	padding: 20px 0 !important;
	/* display: flex; */
}
.content-form td .input-number:last-child {margin: 0;}

.content-form td span.areas {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
.content-form .button4 {
}
.content-form .note {
	font-size: 1.1em;
	letter-spacing: 1px;
	line-height: 2;
	font-weight: 300;
	text-align: center;
}

.content-form td .list-item {width: auto;overflow: hidden;margin: 0 20px 0 0;text-align: left;}

.content-form td .list-item label {
	width:auto;
}

.content-form td label {
}


.content-form input[type="text"] {width: 100% !important;}
.content-form input:last-child {
}
.content-form input[type="radio"] {
    width: auto;
    margin: 0 6px 0 0;
}

.content-form button {padding: 18px 15px 20px;margin: auto;font-size: 1em !important;}


/*++++++++++++++
thanks
++++++++++++++*/
#yoyakuid {
}

#yoyakuid .yoyakuid_name {
}

#yoyakuid .number{font-size: 1.5em;}

#yoyakuid .number.booking-datetime {
	font-size: 1.1em;
}

.thanks {
	border: 7px solid #eee;
	padding: 30px;
	/* max-width: 85%; */
	margin: 50px auto;
	box-sizing: border-box;
	border-radius: 10px;
}
	
	#action-button {
		margin: 20px auto 0;
	}
	
/*++++++++++++++
団体専用CSS
++++++++++++++*/	
.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) th, 
.reserve.group-reserve .content-form tr:nth-child(12) th, 
.reserve.group-reserve .content-form tr:nth-child(20) th, 
.reserve.group-reserve .content-form tr:nth-child(28) th {padding: 65px 15px 15px;width: auto;}

.reserve.group-reserve table#booking-option-table th {
    width:auto;
}	

.reserve.group-reserve .content-form select {
    font-size:1em;
    width: 75%;

}

/*予約確認*/
.reserve.group-reserve .content-form th.option-confirm-label {
	width:auto;
}

.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) th.option-confirm-label, 
.reserve.group-reserve .content-form tr:nth-child(12) th.option-confirm-label, 
.reserve.group-reserve .content-form tr:nth-child(20) th.option-confirm-label, 
.reserve.group-reserve .content-form tr:nth-child(28) th.option-confirm-label {
	padding: 10px;
}

.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) td.option-confirm-value, 
.reserve.group-reserve .content-form tr:nth-child(12) td.option-confirm-value, 
.reserve.group-reserve .content-form tr:nth-child(20) td.option-confirm-value, 
.reserve.group-reserve .content-form tr:nth-child(28) td.option-confirm-value {
	padding:10px;
}

.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) td, 
.reserve.group-reserve .content-form tr:nth-child(12) td, 
.reserve.group-reserve .content-form tr:nth-child(20) td, 
.reserve.group-reserve .content-form tr:nth-child(28) td {
	padding:10px;
}

.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) th,
.reserve.group-reserve .content-form tr:nth-child(3) th,
.reserve.group-reserve .content-form tr:nth-child(14) th,
.reserve.group-reserve .content-form tr:nth-child(22) th {
    padding: 60px 10px 10px;
}
.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) td,
.reserve.group-reserve .content-form tr:nth-child(3) td,
.reserve.group-reserve .content-form tr:nth-child(14) td,
.reserve.group-reserve .content-form tr:nth-child(22) td {
    padding: 10px;
}


.content-form tr {
	background:none;
}
.content-form tr:nth-child(odd) th {background: #f7f7f7;}
/*++++++++++++++
キャンセル
++++++++++++++*/
.reserve.cancel #booking-form {
	border:none;
}
	
/*++++++++++++++
マイページ
++++++++++++++*/
#mypagebox {
    padding: 30px 30px 50px;
	grid-template-columns: 1fr;
}
/*++++++++++++++
パスワード再設定
++++++++++++++*/
#password-reset #login{
	width: var(--flex-100);
}
#password-reset #login form {padding: 30px;}
#password-reset .login label {
	font-weight:var(--wght-600);
	margin:0 0 15px;
}
#password-reset .button.button-primary {
	padding: 15px 20px !important;
}
		
	
}

@media screen and (max-width: 480px) {
/*++++++++++++++
注意事項
++++++++++++++*/
.flow {
	padding: 0;
	max-width: 95%;
}

.flow ul{margin: 0 0 30px;}

.flow li{width: 20%;padding: 0;}


.flow li:last-child {
	margin: 0 0 12px;
}


.flow li p{font-size: 0.7em;letter-spacing: 0;}


.reservebox .day-calendar h3 {
	display:none;
}

.reservebox .imp p {font-size: 0.8em;}

.reservebox .imp em {
	font-size: 0.8em;
	letter-spacing: 1px;
	font-weight: 500;
	color: #000;
}

.reservebox .imp b{line-height: 1.8;}

/*++++++++++++++
予約フォーム　icon
++++++++++++++*/
.iconbox {}

.iconbox ul{
	width: 100%;
	box-sizing: border-box;
	padding: 10px;
	justify-content: left;
	/* margin: 0; */
	flex-wrap: nowrap;
}

ul {}

.iconbox li{}

.iconbox li:last-child{
	
}
.iconbox li b {
	font-weight: bold;	
}
.iconbox li b.marks{
	color: #bb2a1f;
}

.iconbox li p{
	
}


/*++++++++++++++
カレンダー
++++++++++++++*/

#reserve .monthly-calendar{margin: auto;}
#reserve .monthly-calendar caption {
	font-size: 1.1em;
	width: 100% !important;
	display: table-caption;
}

#reserve .monthly-calendar caption:before {width: 100%;}


#reserve .monthly-calendar table {
	font-size: 0.8em;
	width: 100%;
}

#reserve .monthly-calendar table tr {
	background: none;
}

#reserve .monthly-calendar table th {
}

#reserve .monthly-calendar table th.sat,
#reserve .day-box.sat .day-number {
	color:#4169e1;
}

#reserve .monthly-calendar table th.sun,
#reserve .day-box.sun .day-number {
}

#reserve .monthly-calendar table td {padding: 5px 0;}


	
#reserve .full .calendar-mark {
	background: #f7f7f7;
	font-size: 1.8em;
}
#reserve .disable .calendar-mark {
	font-size: 1em;
}

#reserve .calendar-mark {
	font-size: inherit;
	background: none;
	width: 80%;
	margin: auto;
	border-radius: 3px;
	height: 60px;


	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	color: #333;
}

#reserve .day-number {
	font-size: 0.9em;
}

#reserve a.calendar-daylink {
	font-size: 0.9em;
	/* color: #bb2a1f; */
	transition: .3s;
	width: 100%;
}


#reserve .monthly-calendar table td.vacant:hover {
	background:#eef1f4;
	transition:.3s;	
}

#reserve a.calendar-daylink .marks {
	color: #bb2a1f;
	font-size: 2em;
	font-weight: bold;
}

#reserve .no-link {
    display:none;
}
.monthly-next {
	margin: 0 !important;
}
#reserve .monthly-prev a,.monthly-next a {
	font-size: 0.8em;
	padding: 5px 20px;
}

#reserve .monthly-prev a:hover,
.monthly-next a:hover{
	transition:.3s;
	color:#fff;

	background:#333;
}

/*++++++++++++++
時間選択
++++++++++++++*/
#reserve .day-calendar {
	font-family: 'Noto Sans JP', sans-serif;
}

#reserve .day-calendar p {
	margin: 0 0 20px;
	font-size: 1.2em;
	letter-spacing: 2px;
}

#reserve .day-calendar table{
	font-size: 0.9em;
}

#reserve .day-calendar tr{
	
}

#reserve .day-calendar .calendar-mark {
	height: auto;
}

#reserve .day-calendar th,
#reserve .day-calendar th.day-left,
#reserve .day-calendar th.day-right {font-size: 0.9em;}

#reserve .day-calendar th:last-child {
	border-right: 1px solid #dddddd;
}

#reserve .day-calendar td,
#reserve .day-calendar td.day-left,
#reserve .day-calendar td.day-right {
}

#reserve a.booking-timelink {
	color: #1DA4BC;
	
}
#reserve a.booking-timelink:hover {
	text-decoration:none;
}

/*++++++++++++++
予約フォーム
++++++++++++++*/
#booking-form {
	padding: 0;
}

#booking-form form {
    padding: 0;
}


.content-form fieldset table {
	margin:0 auto 20px;
}


.content-form fieldset tr.booking-form-people-number-row td {
	padding: 10px 0;
}

.content-form legend {
}

.content-form legend:after {
    content:"";
    position: absolute;
    background: #111;
    width: 300px;
    bottom: -1px;
    left: 0;
    z-index: 1;
    height: 1px;
}

#booking-form input.right {
	width: 100%;
}

.content-form table {
    font-size: 0.8em;
}
.content-form tr {
    background: none;
    /* border: 1px solid #ccc; */
    overflow: hidden;
}

.content-form tr:nth-child(odd) {
	background: none;
}

.content-form th {
	border: none;
	/* padding: 0 0 50px; */
	/* margin: 0 0 50px; */

	width: 30%;
	font-size: inherit;
	/* display: flex; */
	line-height: inherit;
	text-align: left;
	/* border-bottom: 1px solid #ccc; */
}

.content-form th {padding: 10px;width: 40%;box-sizing: border-box;background: #f7f7f7;}
.content-form th label {
	font-weight: 500;
	width: auto;
	display: flex;
	justify-content: left;
}
.content-form span.required {
    margin: 0;
}
.content-form td br {
    display:none;
}

.content-form td {
	padding:0 10px;
}

.content-form tr > td.option-confirm-header {background: #333;/* margin: 50px 0 0; */padding: 10px 15px;color: #fff;border-bottom: 3px solid #eee;}

.content-form td .input-number {
    margin: 0 10px 10px 0;
    padding: 0 20px 0 0;
    width: auto;

}

.content-form td .input-number:before {
    /* right: -5px; */
    align-items: self-end;
}

.reserve.group-reserve .content-form select {
	width: 80px;
	display: inline-block;
	}

.content-form td span.areas {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
.content-form .button4 {
}
.content-form .note {padding: 0 15px;}

.content-form td .list-item {


	width: auto;
	overflow: hidden;
	margin: 0 20px 0 0;
	text-align: left;
	}

.content-form td .list-item label {
	width:auto;
}

.content-form td label {
	text-align: left;
	width: auto;
	/* display: block; */
}
	.content-form select {
		width: 120px;
		background: #fff;
		display: block;
		/* margin: 0; */
	}

	.content-form select#client-baby {
	}

.content-form input {
}
.small-medium{
	width: 100% !important;
}
.set-left{
	margin-right: 6%;
}

.content-form input[type="radio"] {
    width: auto;
    margin: 0 6px 0 0;
}

.content-form button {
    padding: 20px 40px;
    font-size: 1em;
    max-width: 90%;
    margin: 0 auto 20px;
}


/*++++++++++++++
thanks
++++++++++++++*/

#yoyakuid .yoyakuid_name,
.booking-datetime-title	{font-size: 1.1em;}

.thanks {border: none;padding: 0;}

/*++++++++++++++
団体専用CSS
++++++++++++++*/
.reserve.group-reserve .content-form fieldset td,
.reserve.group-reserve .content-form fieldset tr.booking-form-people-number-row td {
	padding: 10px !important;
}

.reserve.group-reserve span.option-note.existence_exemption_application {
	display: block;
	line-height: 2;
}

.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) th,
.reserve.group-reserve .content-form tr:nth-child(3) th,
.reserve.group-reserve .content-form tr:nth-child(14) th,
.reserve.group-reserve .content-form tr:nth-child(22) th {
    padding: 60px 10px 10px;
}
.reserve.group-reserve .content-form table#booking-option-table tr:nth-child(1) td,
.reserve.group-reserve .content-form tr:nth-child(3) td,
.reserve.group-reserve .content-form tr:nth-child(14) td,
.reserve.group-reserve .content-form tr:nth-child(22) td {
    padding: 10px;
}
/*++++++++++++++
キャンセル
++++++++++++++*/
.reserve.cancel .flow li:last-child {
	margin: 0;
}

#thanks .plan-contact-button a{
	background:#333 !important;
}
	
}