




/* ---------------------------------------------------
	header
------------------------------------------------------ */
header {
	width: 100%;
	height: 140px;
	background-color: #F4F5F9;
}
header > div > a {
	position: absolute;
	top: 40px;
	left: 36px;
	display: block;
	width: 303px;
	filter: none;
}
/*hover*/
header > div > a:hover {
	opacity: 0.8;
}







/* フォーム導入部分 ***************************/
section.form_intro {
	padding-top: 60px;
	padding-bottom: 40px;
}
/*バナー部分*/
section.form_intro div.bnr {
	width: 680px;
	margin: 70px auto 40px;
	background-color: #F4F5F9;
	border-radius: 6px;
	padding: 20px 0;
	position: relative;
}
/*現在開催中のキャンペーン*/
section.form_intro div.bnr span {
	width: max-content;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	font-size: 15px;
	font-weight: 500;
	color: #222222;
}
section.form_intro div.bnr span::before {
	background-image: url(../images/g_zox/slash_black_left.png);
	content: '';
	display: inline-block;
	width: 10px;
	height: 18px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	vertical-align: middle;
	margin-right: 10px;
}
section.form_intro div.bnr span::after {
	background-image: url(../images/g_zox/slash_black_right.png);
	content: '';
	display: inline-block;
	width: 10px;
	height: 18px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	vertical-align: middle;
	margin-left: 10px;
}
section.form_intro div.bnr img {
	width: 640px;
	height: auto;
	margin: 0 auto;
}
/*説明文*/
section.form_intro div.cont {
	width: 797px;
	margin: 60px auto 0px;
	background-color: #F0F6FF;
	border-left: 3px solid #3B82F6;
	padding: 20px 18px;
}
section.form_intro div.cont > p {
	font-size: 16px;
	font-weight: 500;
	color: #333333;
	line-height: 1.6;
}
section.form_intro div.cont > ol {
	margin-top: 20px;
	padding-left: 0px;
}
section.form_intro div.cont > ol li {
	font-size: 14px;
	font-weight: 500;
	color: #333333;
	line-height: 1.6;
	padding-left: 1em;
	text-indent: -1em;
}
section.form_intro div.cont > ol li:before {
	content: '\f058';
	color: #3B82F6;
	font-size: 13px;
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	margin-right: 5px;
}
/*必須マーク*/
span.require {
	display: inline;
	font-size: 10px;
	font-weight: 400;
	color: #FFF;
	line-height: 1.0;
	margin-left: 5px;
	margin-right: 10px;
	padding: 2px 9px;
	background: #FF3F37;
}
/*任意マーク*/
span.non {
	background-color: #4299E1;
}







/* フォーム本体部分 ***************************/
section.form {
	padding-bottom: 150px;
}
section.form table {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
}
section.form table tr td {
	border: none;
	background-color: transparent;
	padding: 0;
	margin-bottom: 30px;
}
section.form table th,
section.form table td {
	display: block;
	width: 100%;
}
section.form table tr:nth-child(2n) th {
	padding: unset;
	border: unset;
	background: unset;
}
section.form table tr th {
	text-align: left;
	vertical-align: top;
	border: none;
	background-color: transparent;
	font-size: 18px;
	font-weight: bold;
	color: #333333;
	margin-bottom: 10px;
	padding: 0;
}
section.form input[type="text"],
section.form input[type="date"],
section.form select {
	width: calc(100% - 10px);
	min-height: 50px;
	padding: 2px 4px;
	border: 2px solid #E2E7F0 !important;
	border-radius: 4px;
}
section.form input[type="radio"] {
	margin: 3px;
	vertical-align: unset;
}
section.form textarea {
	width: calc(100% - 6px);
	min-height: 150px;
	line-height: 1.4;
	padding: 2px;
	border-radius: 4px;
	border: 2px solid #E2E7F0 !important;
}
section.form table tr td label {
	display: block;
	font-size: 15px;
}
section.form input,textarea,select {
  font-size: 16px;
}

/*注釈*/
div.owlet-input-sample {
	font-size: 14px;
	font-weight: 400;
	color: #333;
	line-height: 1.2;
	margin-top: 10px;
	padding-left: 1em;
	text-indent: -1em;
}
/*エラー*/
.alert {
	width: 100%;
	font-size: 15px;
	color: #ce0000;
	font-weight: bold;
}
.alert::before {
	content: '\f06a';
	font-size: 18px;
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	vertical-align: middle;
	margin-right: 5px;
}

/*選択部分*/
td.contract1,
td.contract2,
td.contract3 {
	width: 100%;
	display: flex !important;
	justify-content: space-between;
	flex-wrap: wrap;
}
td.contract1 label.check,
td.contract2 label.check,
td.contract3 label.check {
	background: #2040AE !important;
	color: #fff !important;
	border-color: #2040AE !important;
}
td.contract1 .owlet-input-sample,
td.contract2 .owlet-input-sample,
td.contract3 .owlet-input-sample {
	display: none;
}
td.contract1 label,
td.contract2 label,
td.contract3 label {
	width: 390px;
	background: #F4F4F4;
	font-size: 15px;
	font-weight: bold;
	color: #333333;
	border: 2px solid #E2E7F0;
	padding: 12px;
	display: inline-block;
	border-radius: 5px;
	margin-bottom: 10px;
}

/*カレンダー調整*/
.ui-widget {
	font-size: 16px;
}
.ui-datepicker table {
	width: 100%;
	font-size: 18px;
}
.ui-widget a:hover {
	color: #fff;
	background-color: #0068B7;
}
.ui-datepicker td a {
	padding-top: 4px;
	padding-bottom: 4px;
}



/*日時*/
input[name="input[time_date]"] {
	width: 150px !important;
}
select[name="input[time_hour]"] {
	width: unset !important;
}
select[name="input[time_minute]"] {
	width: unset !important;
}
/* 追加＿希望時間 */
section.form table tr td.time {
	display: flex;
	margin-bottom: 5px;
}
section.form table tr td.time input {
	width: 300px !important;
	margin-right: 5px;
}
section.form table tr td.time select {
	width: 150px !important;
	height: 50px !important;
} 

/*ボタン*/
section.form .form_button {
	margin: 40px auto 0;
	width: max-content;
	position: relative;
}
section.form .form_button input[type="submit"] {
	width: 440px;
	height: 72px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	position: relative;
	filter: drop-shadow(3px 3px 3px #aaa);
	color: #222222;
	background-color: #FFEE03;
	border: 2px solid #FFEE03;
}
/*hover*/
section.form .form_button input[type="submit"]:hover {
	color: #333;
	filter: brightness(1.15);
	transform: translate3d(0, 3px, 0);
}

/*予約フォーム枠*/
section.form div.waku {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
	border: 1px solid #46BDC6;
	border-radius: 8px;
	margin-bottom: 50px;
}
section.form div.waku > div {
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	text-align: center;
	background-color: #46BDC6;
	border-radius: 4px 4px 0 0;
	padding: 10px 10px 10px 30px;
	margin-bottom: 40px;
}

/*営業時間*/
section.form div.shop_info {
	width: auto;
	background-color: #F8F3F1;
	border-radius: 4px;
	padding: 15px 25px 5px 25px;
}
section.form div.shop_info > dl dt {
	width: 65px;
	font-size: 14px;
	font-weight: bold;
	clear: both;
	float: left;
}
section.form div.shop_info > dl dd {
	font-size: 14px;
	font-weight: 500;
	padding-left: 65px;
	margin-bottom: 10px;
}

/*個人情報取扱いについて*/
.owlet-rules {
	width: 100%;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
}
.owlet-rules-title {
	height: 36px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 16px;
	font-weight: 500;
	color: #FFF;
	background-color: #2040AE;
	border-radius: 4px 4px 0 0;
}
.owlet-rules-body {
	font-size: 14px;
	font-weight: 400;
	color: #162E44;
	line-height: 1.6;
	height:200px;
	padding:15px;
	border:1px solid #dcdcdc;
	border-radius: 0 0 4px 4px;
	box-sizing:border-box;
	margin-bottom: 25px;
	overflow-y:scroll;
}
.owlet-rules-agree {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	position: relative;
}
.owlet-rules-agree input {
	width: 20px;
	height: 20px;
	vertical-align: sub;
	margin-right: 5px;
}
/*safariバグ対策*/
/*safariスタイルをリセット*/
input[type="submit"] {
	appearance: none;
	-webkit-appearance: none;
}
select {
	appearance: none;
	-webkit-appearance: none;
	background: #fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
}






/*確認ページ=======================*/
section.form_intro.confirm {
	padding-top: 0;
}
section.form table.confirm th,
section.form table.confirm td {
	width: 100%;
}
section.form table.confirm tr th {
	height: 36px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: #2040AE;
	border: 1px solid #2040AE;
	font-size: 16px;
	font-weight: 500;
	color: #FFF;
	margin-bottom: 0;
}
section.form table.confirm td {
	min-height: 48px;
	border: 1px solid #2040AE;
	padding: 10px;
	font-size: 16px;
	line-height: 1.4;
	vertical-align: middle;
}
/*フォーム内見出し*/
section.form div.mds {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
	font-size: 18px;
	font-weight: bold;
	color: #4FC4CA;
	margin-bottom: 20px;
}
/*見出し直下のtable*/
section.form div.mds + table.confirm tr th {
	background-color: #46BDC6;
	border: 1px solid #46BDC6;
}
section.form div.mds + table.confirm tr td {
	border: 1px solid #46BDC6;
}

/*戻るボタン*/
table.confirm + div.form_button a {
	width: 359px;
	height: 54px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 30px auto !important;
	background: #CCCCCC;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	filter: drop-shadow(2px 2px 2px rgba(10, 10, 10, .6));
	position: relative;
}
/*hover*/
table.confirm + div.form_button a:hover {
	color: #333;
	filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, .6));
	transform: translate3d(0, 2px, 0);
}
table.confirm + div.form_button a::before {
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%) rotate(225deg);
	-webkit-transform: translateY(-50%) rotate(225deg);
	-ms-transform: translateY(-50%);
	content: "";
	vertical-align: middle;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}








/*完了ページ=======================*/
section.form_intro.complete {
	padding-bottom: 0;
}
section.form_intro.complete div.cont {
	margin-top: 0;
	background-color: #FFF;
	border-left: none;
	padding: 20px 18px 0;
}
section.form_intro.complete div.cont h3 {
	font-size: 20px;
	font-weight: 700;
	color: #162E44;
	text-align: center;
	margin-bottom: 40px;
}
/*TOPページに戻る*/
/*
section.form_intro.complete div.cont a {
	width: max-content;
	display: block;
	font-size: 16px;
	font-weight: bold;
	color: #1F40AF;
	text-align: center;
	border-bottom: 1px solid #1F40AF;
	padding-bottom: 3px;
	margin: 60px auto 0;
}
/*hover*/
/*
section.form_intro.complete div.cont a:hover {
	color: #333;
	border-bottom: 1px solid #333;
}
*/

section.form_intro.complete div.cont a {
	display: block;
	width: 360px;
	height: 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 80px auto 0;
	font-size: 18px;
	font-weight: 700;
	color: #222;
	background-color: #FFF;
	border: 1px solid #222;
	border-radius: 30px;
	filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, .2));
}
section.form_intro.complete div.cont a::before {
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	content: '\f060';
	font-size: 20px;
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
}
/*hover*/
section.form_intro.complete div.cont a:hover {
	opacity: 0.6;
	filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0));
}







/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■*/
@media screen and (max-width: 1079px) {







/* ---------------------------------------------------
	header
------------------------------------------------------ */
header {
	height: 60px;
}
/*ロゴ*/
header > div > a {
	top:18px;
	left: 10px;
	width: 150px;
}
/*ハンバーガーメニューボタン*/
div.menu-btn {
	width: 60px;
	height: 60px;
}





/* フォーム導入部分 ***************************/
section.form_intro {
	padding-top: 30px;
}
/*バナー部分*/
section.form_intro div.bnr {
	width: 90%;
	max-width: 600px;
	margin: 50px auto 40px;
}
/*現在開催中のキャンペーン*/
section.form_intro div.bnr img {
	width: 90%;
}
/*説明文*/
section.form_intro div.cont {
	width: 90%;
	max-width: 800px;
	margin: 40px auto 0px;
}





/* フォーム本体部分 ***************************/
section.form {
	padding-bottom: 120px;
}
section.form table tr th {
	font-size: 16px;
}
section.form input[type="text"],
section.form input[type="date"],
section.form select {
	width: 100%;
}
section.form table tr td label {
	width: 100%;
}

/*選択部分*/
td.contract1 label,
td.contract2 label,
td.contract3 label {
	width: 100%;
}
td.contract1 label.check,
td.contract2 label.check,
td.contract3 label.check {
	width: 100%;
}

/*営業時間*/
section.form div.shop_info {
	width: 100%;
}
section.form table tr td.time input {
	width: 49% !important;
}
section.form table tr td.time select {
	width: 49% !important;
	height: 50px !important;
}






/*個人情報取扱いについて*/
.owlet-rules {
	width: 90%;
}


/*営業時間*/
div.shop_info {
	padding: 15px 20px 5px 20px;
}

/*submitボタン*/
section.form .form_button {
	width: 90%;
	max-width: 320px;
	margin-top: 40px;
}
section.form .form_button input[type="submit"] {
	width: 100%;
	max-width: 320px;
	height: 68px;
}






/*確認ページ=======================*/
section.form table.confirm tr th {
	padding: 3px 10px !important;
}
section.form table.confirm td {
	margin-bottom: 20px;
}
/*戻るボタン*/
table.confirm + div.form_button a {
	width: 80%;
	max-width: 280px;
}






/*完了ページ=======================*/
section.form_intro.complete div.cont {
	padding: 20px 0 0;
}
section.form_intro.complete div.cont h3 {
	font-size: min(5vw, 20px);
}
section.form_intro.complete div.cont > p {
	font-size: 15px;
}
/*TOPページに戻る*/
/*
section.form_intro.complete div.cont a {
	font-size: 15px;
}
*/
section.form_intro.complete div.cont a {
	width: 80%;
	max-width: 400px;
	font-size: 16px;
	margin-top: 60px;
}
section.form_intro.complete div.cont a::before {
	font-size: 18px;
}





/* ---------------------------------------------------
	footer
------------------------------------------------------ */
footer {
	padding-bottom: 0;
}







}
/*■■■■■■■■■■■■■■ sp ■■■■■■■■■■■■■■■*/