@charset "UTF-8";

/*お問い合わせフォーム*/
.form {
	width: 100%;
	border-collapse:collapse;
	margin-top: 16px;
	border: 1px solid #4e3300;
	margin-bottom: 3%;
}
.form th {
	width: 25%;
	vertical-align: middle;
	padding: 16px 14px;
	text-align: left;
	background-color: #f5f0e6;
	box-sizing: border-box;
	border: 1px solid #4e3300;
	line-height: 1.4em;
}
.form th.group {
	background-color: #CECECE;
}
.form td {
	width: 75%;
	vertical-align: middle;
	padding: 16px 14px;
	text-align: left;
	border: 1px solid #4e3300;
	box-sizing: border-box;
	line-height: 1.4em;
}
@media screen and (max-width : 700px){
	.form {
		border-top-width: 1px;
		border-top-style: solid;
		border-top-color: #4e3300;
		border-right-style: none;
		border-bottom-style: none;
		border-left-style: none;
	}
	.form th {
		border-top: none;
		border-bottom: none;
		width: 100%;
        display: block;
		padding-top: 8px;
		padding-bottom: 6px;
		line-height: normal;
    }
	.form th.bousai_th {
		border-bottom-width: 1px;
		border-bottom-style: solid;
		border-bottom-color: #4e3300;
	}
	.form td {
		width: 100%;
        display: block;
		padding-top: 8px;
		padding-bottom: 12px;
		line-height: normal;
    }
}

.form td p{
	padding-top: 0px;
	padding-bottom: 0px;
}
.form td a {
	color: #4F6671;
	text-decoration: underline;
}
.form td a:visited {
	color: #4F6671;
	text-decoration: underline;
}
.form td a:active {
	color: #4F6671;
	text-decoration: underline;
}
.form td a:hover {
	color: #35b8bd;
	text-decoration: underline;
}

.form_2nd th {
	width: 15%;
}
.form_2nd tr td {
	width: auto;
}

/* カレンダー */
.form_calendar {
	width: 100%;
	border-collapse:collapse;
	margin-top: 16px;
	border: 1px solid #4e3300;
}
.form_calendar th {
	width: -webkit-calc(100% / 7);
    width: calc(100% / 7);
    text-align: center;
	background-color: #ede3cf;
    padding: 16px 5px;
    border: 1px solid #4e3300;
	line-height: 1.4em;
}
.form_calendar td {
	width: -webkit-calc(100% / 7);
    width: calc(100% / 7);
    text-align: center;
    vertical-align: top;
    padding: 16px 5px;
    border: 1px solid #4e3300;
	line-height: 1.4em;
}


.cap {
	font-size: 13px;
	width: 100%;
	margin-top: 10px;
}
.cap_s {
	line-height: 1.2em;
}

.privacy_ck {
	padding-top: 8px;
}

select {
	padding: 12px 8px;
	border: 1px solid #000;
	background-color: #fbf8f5;
	margin-bottom: 2px;
    border-radius: 6px;-webkit-border-radius: 6px;-moz-border-radius: 6px;
}
input, textarea {
	width: 100%;
	border: 1px solid #000;
	background-color: #fbf8f5;
	margin-bottom: 2px;
	padding: 12px 8px;
    font-size: 14px;
    outline: none;
    border-radius: 6px;-webkit-border-radius: 6px;-moz-border-radius: 6px;
	box-sizing: border-box;
}
.input_file {
    padding: 2px;
    margin: 8px 0 0 0;
}
textarea {
	height: 160px;
	padding-top: 5px;
	padding-bottom: 5px;
}
.input_r {float: right;}
.input_l {float: left;}



/*無効化*/
.disabled {
    border: 1px solid #ccc !important;
    background: #e6e6e6 !important;
}


.ime_active {
	ime-mode: active;
}
.ime_auto {
	ime-mode: auto;
}

.h_60p {
	height: 60px;
}
.h_120p {
	height: 120px;
}
.h_400p {
	height: 400px;
}
.h_200p {
	height: 200px;
}

.w_48 {
	width: 48%;
}
.w_49 {
	width: 49%;
}

.w_60 {
	width: 60%;
}
@media screen and (max-width : 600px){
	.w_60 {
		width: 80%;
	}
}
@media screen and (max-width : 560px){
	.w_60 {
		width: 100%;
	}
}
.w_80 {
	width: 80%;
}
@media screen and (max-width : 560px){
	.w_80 {
		width: 100%;
	}
}
.w_100 {
	width: 100%;
}
.w_50p {
	width: 50px;
}
.w_70p {
	width: 70px;
}
.w_100p {
	width: 100px;
}
.w_120p {
	width: 120px;
}
.w_160p {
	width: 160px;
}
.w_180p {
	width: 180px;
}
.w_280p {
	width: 280px;
}

.form_biko {
	height: 50px;
}


/*入力必須*/
.input_hisu {
	font-size: 12px;
	float: left;
	width: 100%;
}

/*エラーメッセージ*/
.error_cap {
	color: #CC0000;
	padding-bottom: 4px;
}
.error_t {
	color: #CC0000;
    font-size: 13px;
}
.error {
	background-color: #FFD0D0 !important;
}

.required {
    border: 2px solid #d10808;
    background: #ffecec;
}
.error-mese {
    color: #d10808;
    font-size: 12px;
}
.error-input {
    border: 2px solid #d10808;
    background: #ffecec;
}



.error_privacy {
	color: #CC0000;
	background-color: #FFFF99;
	padding-top: 4px;
	padding-bottom: 4px;
}
.error_mese {
	text-align: center;
	width: 100%;
	margin-top: 14px;
	margin-bottom: 20px;
	color:#ffffff;
	background-color: #dc143c;
	font-size: 16px;
	font-weight: bold;
	padding-top: 6px;
	padding-bottom: 5px;
}

/*送信終了時メッセージ*/
.end_mese {
	line-height: 1.6em;
	width: 100%;
	padding-bottom: 20%;
	margin-top: 40px;
}

/*リンクボタン*/
.btn_a {
	font-size: 15px;
	line-height: 1.8em;
    padding:10px 0;
	color: #ffffff;
    cursor: pointer;
	width: 100%;
    display: block;
    text-align: center;
    text-decoration: none;
	border: none;
	border-radius: 6px;-webkit-border-radius: 6px;-moz-border-radius: 6px;
	background: #3663ab;
    -webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
}
@media screen and (max-width : 599px){
	.btn_a {
		font-size: 14px;
	}
}
.btn_a:hover {
	color: #fff;
	background: #cc0000;
    -webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
}
.btn_a:visited {color: #fff;}.btn_a:active {color: #fff;}


/*フォームボタン*/
.btn_box {
	width: 100%;
	margin-top: 10px;
}
.btn_box_l {
	float: left;
	width: 49%;
	margin-top: 10px;
}
.btn_box_r {
	float: right;
	width: 49%;
	margin-top: 10px;
}
.btn_box_three {
	width: 32%;
    margin: 0 0.6%;
}
button.btn_form {
	font-size: 15px;
	line-height: 2.95em;
	color: #ffffff;
    cursor: pointer;
	width: 100%;
	border-style: none;
	border-radius: 6px;-webkit-border-radius: 6px;-moz-border-radius: 6px;
	background-color: #3663ab;
    -webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
}
button.btn_form:hover {
	color: #fff;
	background-color: #cc0000;
    -webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
}

button.cha_color_form {
    background-color: #4e3300 !important;
}

/*無効化ボタン*/
.btn_form_none {
	font-size: 15px;
	line-height: 2.95em;
	color: #ffffff;
    /*cursor: pointer;*/
    text-align: center;
	width: 100%;
	border-style: none;
	border-radius: 6px;-webkit-border-radius: 6px;-moz-border-radius: 6px;
	background-color: #acacac;
    -webkit-transition: 0.3s ease-in-out;-moz-transition: 0.3s ease-in-out;-o-transition: 0.3s ease-in-out;transition: 0.3s ease-in-out;
}

/*ボタンリスト用*/
button.btn_form_list {
	font-size: 14px;
	line-height: 2.2em;
}

/*チェックボックス*/
.form [type="checkbox"]:checked,
.form [type="checkbox"]:not(:checked) {
	position: absolute;
	left: -9999px;
}
.form [type="checkbox"]:checked + label,
.form [type="checkbox"]:not(:checked) + label {
	position: relative;
	padding-left: 28px;
	cursor: pointer;
	line-height: 18px;
	display: inline-block;
	color: #4e3300;
}
.form [type="checkbox"]:checked + label:before,
.form [type="checkbox"]:not(:checked) + label:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 18px;
	height: 18px;
	border: 1px solid #000;
	background: #fff;
}
.form [type="checkbox"]:checked + label:after,
.form [type="checkbox"]:not(:checked) + label:after {
	content: '';
	width: 8px;
	height: 8px;
	background: #cc0000;
	position: absolute;
	top: 6px;
	left: 6px;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}
.form [type="checkbox"]:not(:checked) + label:after {
	opacity: 0;
	-webkit-transform: scale(0);
	transform: scale(0);
}
.form [type="checkbox"]:checked + label:after {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}

/* チェック不可（スクロール前） */
.form [type="checkbox"]:disabled + label {
	color: #999;
	cursor: default;
}
/* 枠をグレーに */
.form [type="checkbox"]:disabled + label:before {
	border: 1px solid #ccc;
	background: #f5f5f5;
}
/* チェックマークもグレー */
.form [type="checkbox"]:disabled + label:after {
	background: #ccc;
}



/*ラジオボタン*/
.form_radio label.radio_text {
	cursor: pointer;
	position: relative;
	margin-right: 20px;
	overflow: hidden;
	padding-left: 20px;
	padding-bottom: 5px;
	padding-top: 1px;
	display: inline-block;
}
.form_radio label.radio_text:before {
	position: absolute;
	width: 15px;
	height: 15px;
	border: 1px solid #000;
	border-radius: 50%;
	left: 0px;
	top: 4px;
	content: '';
	z-index: 3;
}
.form_radio label.radio_text:after {
	content: '';
	position: absolute;
	width: 9px;
	height: 9px;
	border-radius: 100%;
	left: 4px;
	top: 8px;
	background-color: #cc0000;
	z-index: 1;
}
.form_radio label.radio_text input[type="radio"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position: absolute;
	z-index: 2;
	width: 20px;
	height: 20px;
	left: -23px;
	top: 1px;
	margin: 0px;
	box-shadow: 20px -1px #FFF;
}
.form_radio label.radio_text input[type="radio"]:checked {
	box-shadow: none;
}
.form_radio label.radio_text input[type="radio"]:focus {
	opacity: 0.2;
	box-shadow: 20px -1px #FFF;
}
.form_radio label.radio_out:before {
	border: 1px solid #EEEEEE;
}






/*予約フォームの基本料金*/
.form_radio_pay label.radio_text {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 20px;
}
/* デフォルトのラジオボタンを非表示 */
.form_radio_pay input[type="radio"] {
	display: none;
}
/* 外側の丸 */
.custom_radio {
	width: 20px;
	height: 20px;
	border: 2px solid #4e3300;
	border-radius: 50%;
	position: relative;
}
/* 選択時の中の丸 */
.form_radio_pay input[type="radio"]:checked + .custom_radio::after {
	content: "";
	width: 12px;
	height: 12px;
	background: #cc0000;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
