@charset "utf-8";
#fv{background: url(../images/contact/fv_bg.jpg) no-repeat center center; background-size: cover;}


.btns{width: 100%; display: flex; justify-content: center; gap: 2%; padding: 75px 0 0;}
.btns .submit_btn{background: #000; border: 1px solid #000; color: #fff; font-size: 20px; font-family: "Noto Sans JP"; font-weight: 500; text-align: center; line-height: 240%; padding: 17px 0 21px; width: 387px;} 
.btns a.back_btn{display: block; background: #BABABA; border: 1px solid #BABABA; color: #fff; font-size: 20px; font-family: "Noto Sans JP"; font-weight: 500; text-align: center; line-height: 240%; padding: 17px 0 21px; width: 387px;}
h3 { font-size: 50px; text-align: center; margin: 0 0 40px; padding: 0 0 30px; font-family: "Zen Old Mincho", serif; font-weight: 600; font-style: normal;}
.caution {line-height: 160%; font-size: 17px; text-align: center; margin: 0 0 40px;}
/* ------------------------------------------------------------ contact */
#contact { margin: 0 auto; padding: 93px 0 160px;}
#contact .contact-head{ margin: 0 auto; width: 916px; padding: 0 0 29px; border-bottom: 1px solid #000; }
#contact .intro { padding-bottom: 40px; text-align: left; line-height: 200%; font-size: 17px;}
#contact .intro-note{ text-indent: -1rem; padding-left: 1rem; }
#contact .form {font-size: 14px; text-align: center; margin: 0 0 25px; margin: 0 auto; width: 907px; padding: 69px 0 0;}
#contact .form p{font-size: 15px; text-align: center; line-height: 160%;}
#contact .form p span{font-size: 15px; color: #DD0000;}
#contact .form form{padding: 52px 0 0;}
#contact .form form table tr th{width: 249px; height: auto; font-size: 16px; font-family: "Noto Sans JP"; font-weight: 500; text-align: left; vertical-align: top;padding: 13px 0 16px; line-height: 150%; }
#contact .form form table tr th span{color: #DD0000;}
#contact .form form table tr td{text-align: left; vertical-align: top;}
#contact .form form table tr:not(:last-child) td{padding: 0 0 28px;}
#contact .form form table tr td input{background: #F4F4F4; border-radius: 0px; border: none; font-size: 16px; line-height: 150%; padding: 13px 17px 16px; width: 100%; height: auto;}
#contact .form form table tr td.box_2{display: flex; gap: 13px;}
#contact .form form table tr td.box_2 input{width: calc(100% / 2 - 7px); height: auto;}
#contact .form table tr td textarea { width: 100%; height: 100vw; max-height: 314px; padding: 13px 15px 16px; box-sizing: border-box; border: none; background: #F4F4F4; resize: none; line-height: 150%;font-size: 16px; }

#contact .form form table tr td.mail_td input{width: 209px; }

#contact .form .text_box{width: 100%; margin: 58px auto 0; padding: 36px 46px 41px 40px; border: 1px solid #D0D0CB;}
#contact .form .text_box h2{font-size: 22px; line-height: 120%; font-family: "Zen Old Mincho", serif; font-weight: 600; font-style: normal;}
#contact .form .text_box p{padding: 28px 0 0; line-height: 178.6%; font-size: 14px; text-align: left;}




/* ------------------------------------------------------------ error */
#error {padding: 93px 0 160px;}
#error .alert { margin: 0 0 50px;}
#error .alert span { display: block; text-align: center; margin: 0 0 20px; line-height: 160%; font-size: 16px;}



/* ------------------------------------------------------------ confirm */
#confirm { padding: 93px 0 160px;}
#confirm .form{width: 916px; margin: 0 auto;}
#confirm table { width: 100%; margin: 0 0 50px;}
#confirm table tr {	border-bottom: solid 1px #e5e5e5;}
#confirm table tr:first-of-type { border-top: solid 1px #e5e5e5;}
#confirm table tr th { width: 300px; line-height: 1.5; font-weight: bold; text-align: left; padding: 20px 0; font-size: 16px;}
#confirm table tr td { line-height: 1.5; padding: 20px 0; font-size: 16px;}
#confirm .btns { display: flex; justify-content: center;}
#confirm .btns .submit_btn { margin: 0 0 0 20px;}


/* ------------------------------------------------------------ thanks */
#thanks { margin: 50px 0 100px; }
#thanks small { display: block; font-size: 14px; text-align: center; line-height: 2; }




/* ------------------------------------------------------------ mobile */

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

	h3 { font-size: 28px; margin: 0 0 25px; padding: 0 0 20px; }
	.caution { font-size: 13px; margin: 0 0 25px; }

	.btns { padding: 35px 0 0; }
	.btns .submit_btn,
	.btns a.back_btn { flex: 1; width: auto; font-size: 16px; line-height: 180%; padding: 14px 0 16px; }

/* ------------------------------------------------------------ contact */
	#contact { padding: 20px 0 70px; }
	#contact .contact-head{ width: 100%; padding: 0 0 35px; }
	#contact .intro { font-size: 14px; line-height: 170%; padding-bottom: 13px; }
	#contact .form { width: 100%; padding: 35px 0 0; }
	#contact .form p { font-size: 13px; }
	#contact .form p span { font-size: 13px; }
	#contact .form form { padding: 30px 0 0; }
	#contact .form form table tr th { display: block; width: 100%; font-size: 14px; padding: 0 0 8px; }
	#contact .form form table tr td { display: block; }
	#contact .form form table tr:not(:last-child) td { padding: 0 0 20px; }
	#contact .form form table tr td input { font-size: 15px; padding: 12px 15px; }
	#contact .form form table tr td.box_2 { gap: 10px; }
	#contact .form form table tr td.box_2 input { width: calc(100% / 2 - 5px); }
	#contact .form form table tr td.mail_td input { width: 100%; }
	#contact .form table tr td textarea { height: 40vw; max-height: 200px; padding: 12px 15px; font-size: 15px; }
	#contact .form .text_box { margin: 30px auto 0; padding: 25px 20px 30px; }
	#contact .form .text_box h2 { font-size: 18px; line-height: 140%; }
	#contact .form .text_box p { padding: 18px 0 0; font-size: 13px; line-height: 180%; }

/* ------------------------------------------------------------ error */
	#error { padding: 20px 0 70px; }
	#error .alert { margin: 0 0 40px; }
	#error .alert span { display: block; font-size: 14px; margin: 0 0 20px; line-height: 170%; }

/* ------------------------------------------------------------ confirm */
	#confirm { padding: 20px 0 70px; }
	#confirm .form { width: 100%; }
	#confirm table { width: 100%; margin: 0 0 40px; }
	#confirm table tr th { display: block; width: 100%; font-size: 14px; padding: 15px 0 5px; }
	#confirm table tr td { display: block; font-size: 14px; line-height: 1.5; padding: 0 0 15px; }
	#confirm .btns .submit_btn { margin: 0; }

/* ------------------------------------------------------------ thanks */
	#thanks { margin: 30px 0 70px; }
	#thanks small { display: block; font-size: 12px; line-height: 2; text-align: left; margin: 0 0 30px; }

}