@charset "UTF-8";

.form_title {
	font-size: 34px;
	text-align: center;
	padding-left: 0px;
	line-height: 1.4em;
}
@media screen and (min-width : 670px){
	.form_title_br {
		display: none;
	}
}
@media screen and (max-width : 820px){
	.form_title {
		font-size: 28px;
	}
}
@media screen and (max-width : 449px){
	.form_title {
		font-size: 22px;
	}
}
@media screen and (max-width : 359px){
	.form_title {
		font-size: 19px;
	}
}

.pg_th {
    width: 100%;
    background: #e0e0e0;
    padding: 4px 10px;
    margin-top: 20px;
    -moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}

/*お問い合わせフォーム*/
.form {
	width: 100%;
	border-collapse:collapse;
	margin-top: 16px;
	border: 1px solid #999999;
	margin-bottom: 3%;
}
.form th {
	width: 25%;
	vertical-align: middle;
	padding-top: 16px;
	padding-bottom: 16px;
	padding-left: 14px;
	padding-right: 14px;
	font-weight: normal;
	text-align: left;
	background-color: #ECECEC;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border: 1px solid #999999;
	line-height: 1.4em;
}
.form th.group {
	background-color: #CECECE;
}
.form td {
	width: 75%;
	vertical-align: middle;
	padding-top: 16px;
	padding-right: 14px;
	padding-bottom: 16px;
	padding-left: 14px;
	text-align: left;
	border: 1px solid #999999;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	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: #999999;
		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: #999999;
	}
	.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;
}

.cap {
	font-size: 13px;
	width: 100%;
	margin-top: 10px;
}
.cap_s {
	line-height: 1.2em;
}

.privacy_ck {
	padding-top: 8px;
}

select {
	padding: 4px 8px;
	border: 1px solid #000;
	background-color: #fbf8f5;
	margin-bottom: 2px;
}
input, textarea {
	width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
	border: 1px solid #000;
	background-color: #faf2eb;
	margin-bottom: 2px;
	padding: 5px 8px;
    outline: none;
    font-size: 15px;
	-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;
}
textarea {
	height: 80px;
	padding-top: 5px;
	padding-bottom: 5px;
}
input:disabled, textarea:disabled, select:disabled {
    color: black;
    opacity: 1;
    font-size: 15px;
    -webkit-text-fill-color: black;
}

/* 縦方向の中央揃え※これで要素を囲う */
.h-container {
    display: flex;
    align-items: center;
    gap: 2px; /* 要素間の間隔 */
}

.input_r {float: right;}
.input_l {float: left;}

/* ファイルアップロード */
.custom-file-upload {
	display: inline-block;
	padding: 10px 20px;
	margin: 6px 0;
	cursor: pointer;
	background-color: #007bff;
	color: white;
	border-radius: 3px;
}

.price_box {
	height: 20px;
	padding-left: 4px;
	padding-right: 4px;
	text-align: right;
}
.price_box_top {
	text-align: left;
	height: 20px;
	padding-left: 4px;
	padding-right: 4px;
}
.ime_active {
	ime-mode: active;
}
.ime_auto {
	ime-mode: auto;
}

.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;
}
.error {
	background-color: #FFD0D0 !important;
}
.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: 3px;-webkit-border-radius: 3px;-moz-border-radius: 3px;
	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_a_apply {
	line-height: normal;
    padding: 3px 0;
}


/*QRコードボタン*/
.qr_cord {
    color: #000;
    background: #ffeb00;
}
.qr_cord:hover {
	color: #000;
	background: #ff8000;
}
.qr_cord:visited {color: #000;}.qr_cord:active {color: #000;}

/*エントリー中*/
.entry {
    color: #000;
    background: #ffeb00;
	font-size: 15px;
    text-align: center;
	line-height: 2.95em;
	width: 100%;
	border-style: none;
	border-radius: 3px;-webkit-border-radius: 3px;-moz-border-radius: 3px;
    -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_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: 1px solid #3663ab;
	border-radius: 3px;-webkit-border-radius: 3px;-moz-border-radius: 3px;
	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;
    border: 1px solid #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.save {
	font-size: 15px;
	line-height: 2.95em;
	color: #3663ab;
    cursor: pointer;
	width: 100%;
	border: 1px solid #3663ab;
	border-radius: 3px;-webkit-border-radius: 3px;-moz-border-radius: 3px;
	background-color: #fff;
    -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.save:hover {
	color: #fff;
	background-color: #cc0000;
    border: 1px solid #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.btn_hiss {
    cursor: default;
    opacity: 0.4;
}

/*無効化ボタン*/
.btn_form_none {
	font-size: 15px;
	line-height: 2.95em;
	color: #ffffff;
    /*cursor: pointer;*/
    text-align: center;
	width: 100%;
	border-style: none;
	border-radius: 3px;-webkit-border-radius: 3px;-moz-border-radius: 3px;
	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: #000000;
}
.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 #1f7daf;
	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);
}
/* 特定のチェックボックス（.bold-border）にだけ太い枠線を適用 */
.form input.bold-border:checked + label:before,
.form input.bold-border:not(:checked) + label:before {
	border: 2px solid #1f7daf;
}

/*ラジオボタン*/
/*
.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 #1f7daf;
	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 {
    padding: 4px 0;
}
.form_radio label {
	position: relative;
	cursor: pointer;
	padding-left: 24px;
}
.form_radio label::before,
.form_radio label::after {
	content: "";
	display: block; 
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}
.form_radio label::before {
	background-color: #fff;
	border: 1px solid #1f7daf;
	border-radius: 50%;
	width: 16px;
	height: 16px;
	left: 0px;
}
.form_radio label::after {
	background-color: #cc0000;
	border-radius: 50%;
	opacity: 0;
	width: 10px;
	height: 10px;
	left: 4px
}
.form_radio input:checked + label::after {
	opacity: 1;
}
.form_radio .visually-hidden {
	position: absolute;
	white-space: nowrap;
	border: 0;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	margin: -1px;
	padding: 0;
}
/*
ラジオボタンサンプル
＜p class="form_radio"＞＜input  class="visually-hidden" type="radio" name="fruits" id="apple"  /＞＜label for="apple"＞りんご＜/label＞＜/p＞
*/







/* 入力必須 */
.input_hiss {
	background-color: #fbe3d6;
    border: 2px solid #cc0000;
}
/* 何か入力されたら背景色を白にする */
.input_hiss:not(:placeholder-shown) {
	background-color: white;
    border: 1px solid #000;
}


/* 入力必須(テキストエリア) */
.input_hiss_textarea {
    background-color: #fbe3d6;
    border: 2px solid #cc0000;
}
/* 入力されたら背景色を変更(テキストエリア) */
.input_hiss_textarea.filled {
    background-color: white;
    border: 1px solid #000;
}


/* 初回入力時用 */
button.btn_form_new {
    cursor: pointer;
	opacity: 1;
}