@charset "utf-8";

/*===============================================
●画面の横幅が769px以上
===============================================*/
@media screen and (min-width : 769px ){
#pc------------------------------------------- {
}
.helo {
	margin-top: 70px;
	height: 260px;
	background-image: url("../images/contact/h_bg.webp");
	background-position: center center;
	background-size: cover;
	position: relative;
}
.helo h1 {
	color: #fff;
	font-size: 26px;
	font-weight: 500;
	padding-top: 110px;
}




.contact_section {
	margin-top: 130px;
	width: 880px;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	margin-bottom: 100px;
}
.contact_section table {
	border-bottom: 1px solid #595757;
}
.contact_section th {
	width: 230px;
	font-size: 17px;
	font-weight: 500;
	padding-top: 15px;
	padding-bottom: 15px;
	border-top: 1px solid #595757;
}
.contact_section th span {
	background-color: #DA1603;
	width: 49px;
	height: 24px;
	display: inline-block;
	text-align: center;
	line-height: 24px;
	color: #fff;
	border-radius: 5px;
	font-size: 16px;
	font-weight: 500;
	margin-left: 15px;
}
.contact_section td {
	padding-top: 20px;
	padding-bottom: 20px;
	border-top: 1px solid #595757;
}
.contact_section td select {
	border: 1px solid #999999;
	border-radius: 5px;
	width: 195px;
	padding-left: 5px;
	height: 35px;
}
.contact_section td input[type="text"],
.contact_section td input[type="tel"],
.contact_section td input[type="email"]
{
	width: 500px;
	padding-left: 5px;
	height: 40px;
	background-color: #f4f4f4;
	border-radius: 15px;
}
.p-postal-code,
.p-region
{
	width: 250px!important;
}
.contact_section td textarea {
	background-color: #f4f4f4;
	border-radius: 15px;
	height: 335px;
	width: 645px;
	padding-left: 5px;
}
.contact_section td ul li+li {
	margin-top: 15px;
}
.contact_section h3 {
	text-align: center;
	font-size: 18px;
	margin-top: 60px;
}
.contact_section .box {
	width: 770px;
	height: 145px;
	margin-left: auto;
	margin-right: auto;
	overflow-x: scroll;
	border: 1px solid #595757;
	border-radius: 10px;
	padding: 30px;
	margin-top: 10px;
	line-height: 1.8em;
}
.contact_section .doui {
	text-align: center;
	font-size: 18px;
	margin-top: 30px;
}
input[type="submit"] {
	width: 340px;
	height: 70px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 100px;
	padding-right: 50px;
	display: block;
	font-size: 23px;
	background-color: #009CD2;
	color: #fff;
	background-image: url("../images/contact/arrow.svg");
	background-size: 27px;
	background-repeat: no-repeat;
	background-position: center right 50px;
	margin-top: 50px;
	cursor: pointer;
	transition: 0.3s;
}
input[type="submit"]:hover {
	opacity: 0.7;
	transition: 0.3s;
}
.finish {
	margin-top: 100px;
	margin-bottom: 300px;
}
}



/*===============================================
●画面の横幅が768pxまで
===============================================*/
@media screen and (max-width:768px){
	
/*===============================================
●sp-tablet
===============================================*/
#sptablet------------------------------------------- {
}
.helo {
	margin-top: 13.3333333333vw;
	height: 40vw;
	background-image: url("../images/contact/h_bg.webp");
	background-position: center center;
	background-size: cover;
	position: relative;
}
.helo h1 {
	color: #fff;
	font-size: 6vw;
	font-weight: 500;
	padding-top: 16vw;
}






.contact_section {
	margin-top: 15vw;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	margin-bottom: 15vw;
}
.contact_section table {
	border-bottom: 1px solid #595757;
	width: 100%;
}
.contact_section th {
	width: 100%;
	display: block;
	font-weight: 500;
	border-top: 1px solid #595757;
	padding-top: 5vw;
}
.contact_section th span {
	background-color: #DA1603;
	width: 12vw;
	display: inline-block;
	text-align: center;
	color: #fff;
	border-radius: 1vw;
	font-weight: 500;
	margin-left: 3vw;
}
.contact_section td {
	padding-top: 3vw;
	padding-bottom: 5vw;
	width: 100%;
	display: block;
}
.contact_section td select {
	border: 1px solid #999999;
	border-radius: 1vw;
	width: 97%;
	padding-left: 3%;
	height: 10vw;
}
.contact_section td input[type="text"],
.contact_section td input[type="tel"],
.contact_section td input[type="email"]
{
	width: 97%;
	padding-left: 3%;
	height: 10vw;
	background-color: #f4f4f4;
	border-radius: 1vw;
}
.contact_section td textarea {
	background-color: #f4f4f4;
	border-radius: 15px;
	height: 50vw;
	width: 97%;
	padding-left: 3%;
}
.contact_section td ul li+li {
	margin-top: 15px;
}
.contact_section h3 {
	text-align: center;
	font-size: 4.5vw;
	margin-top: 8vw;
}
.contact_section .box {
	width: 80%;
	height: 50vw;
	margin-left: auto;
	margin-right: auto;
	overflow-x: scroll;
	border: 1px solid #595757;
	border-radius: 2vw;
	padding: 5vw;
	margin-top: 3vw;
	line-height: 1.8em;
}
.contact_section .doui {
	text-align: center;
	font-size: 4vw;
	margin-top: 5vw;
}
input[type="submit"] {
	width: 80%;
	height: 15vw;
	margin-left: auto;
	margin-right: auto;
	border-radius: 100px;
	padding-right: 5vw;
	display: block;
	font-size: 5vw;
	background-color: #009CD2;
	color: #fff;
	background-image: url("../images/contact/arrow.svg");
	background-size: 5vw;
	background-repeat: no-repeat;
	background-position: center right 5vw;
	margin-top: 8vw;
	cursor: pointer;
	transition: 0.3s;
}
input[type="submit"]:hover {
	opacity: 0.7;
	transition: 0.3s;
}
.finish {
	margin-top: 20vw;
	margin-bottom: 25vw;
}
}



/*===============================================
●画面の横幅が400pxまで
===============================================*/
@media screen and (max-width:400px){
/*===============================================
●sp400
===============================================*/
#sp400------------------------------------------- {
}
}



/*===============================================
●画面の横幅が320pxまで
===============================================*/
@media screen and (max-width:320px){
/*===============================================
●sp320
===============================================*/
#sp320------------------------------------------- {
}
}



/*===============================================
●画面の横幅が481pxから768pxまで
===============================================*/
@media screen and (min-width:481px) and (max-width:768px) {
/*===============================================
●tablet
===============================================*/
#tab------------------------------------------- {
}
}





/*===============================================
CF7 確認画面・バリデーション用 追加CSS
===============================================*/

/* 表示切り替え */
.contact_section .is-hidden {
	display: none !important;
}

/* エラーメッセージ */
.contact_section .form-error {
	display: none;
	margin-top: 8px;
	color: #DA1603;
	font-size: 14px;
	line-height: 1.6;
}

.contact_section .form-error.is-show {
	display: block;
}

/* エラー時の入力欄 */
.contact_section input.is-error,
.contact_section select.is-error,
.contact_section textarea.is-error,
.contact_section .wpcf7-not-valid {
	border: 1px solid #DA1603 !important;
	background-color: #fff4f4 !important;
}

/* CF7標準エラー */
.contact_section .wpcf7-not-valid-tip {
	margin-top: 8px;
	color: #DA1603;
	font-size: 14px;
	line-height: 1.6;
}

/* 確認画面 */
.contact_section .contact-confirm-area h3 {
	text-align: center;
}

.contact_section .confirm-table {
	width: 100%;
	border-bottom: 1px solid #595757;
}

.contact_section .confirm-table th,
.contact_section .confirm-table td {
	border-top: 1px solid #595757;
}

.contact_section .confirm-value {
	display: inline-block;
	line-height: 1.8;
}

.contact_section .confirm-textarea {
	white-space: pre-wrap;
}

/* 確認・戻る・送信ボタン */
.contact_section .contact-btn-wrap {
	text-align: center;
}

.contact_section .contact-btn-wrap-confirm {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.contact_section button.contact-btn,
.contact_section input.contact-btn {
	width: 340px;
	height: 70px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 100px;
	padding-right: 50px;
	display: block;
	font-size: 23px;
	background-color: #009CD2;
	color: #fff;
	background-image: url("../images/contact/arrow.svg");
	background-size: 27px;
	background-repeat: no-repeat;
	background-position: center right 50px;
	margin-top: 50px;
	cursor: pointer;
	transition: 0.3s;
	border: none;
	text-align: center;
}

.contact_section button.contact-btn:hover,
.contact_section input.contact-btn:hover {
	opacity: 0.7;
	transition: 0.3s;
}

/* 戻るボタンだけ色変更 */
.contact_section .contact-btn-back {
	background-color: #777 !important;
	background-image: none !important;
	padding-right: 0 !important;
}

/* 確認画面内のボタンは横並びなので余白調整 */
.contact_section .contact-btn-wrap-confirm button.contact-btn,
.contact_section .contact-btn-wrap-confirm input.contact-btn {
	margin-left: 0;
	margin-right: 0;
}

/*===============================================
スマホ調整
===============================================*/
@media screen and (max-width:768px) {
	.contact_section .form-error {
		font-size: 3.5vw;
		margin-top: 2vw;
	}

	.contact_section .confirm-table th,
	.contact_section .confirm-table td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	.contact_section .confirm-table th {
		padding-top: 5vw;
	}

	.contact_section .confirm-table td {
		padding-top: 3vw;
		padding-bottom: 5vw;
	}

	.contact_section .contact-btn-wrap-confirm {
		gap: 4vw;
	}

	.contact_section button.contact-btn,
	.contact_section input.contact-btn {
		width: 80%;
		height: 15vw;
		padding-right: 5vw;
		font-size: 5vw;
		background-size: 5vw;
		background-position: center right 5vw;
		margin-top: 8vw;
	}

	.contact_section .contact-btn-back {
		padding-right: 0 !important;
	}
}





/* Contact Form 7 hidden fields の余白・枠を消す */
.wpcf7 form .hidden-fields-container {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}