@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;600&display=swap');

.contact {
	margin: 82px 0 0;
}

@media screen and (max-width: 780px) {
	.contact {
		margin: 50px 0 0;
	}
}

.title {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-flow: column;
	width: 100%;
	height: 226px;
	background-color: #1450A9;
	background-image: url("title.jpg"), url("title.jpg");
	background-repeat: no-repeat;
	background-position: left -840px top 0, right -840px top 0;
	font-family: 'Noto Serif JP', serif;
	letter-spacing: 0.06em;
}

.title span {
	display: block;
	font-size: 31px;
	line-height: 1;
	font-weight: 600;
	color: #DFCC6C;
	margin-bottom: 20px;
}

.title strong {
	display: block;
	font-size: 56px;
	line-height: 1;
	font-weight: 600;
	color: #FFFFFF;
}

.pan {
	background: #EEEEEE;
	padding: 15px;
	font-size: 15px;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

.red {
	color: #E70C48;
}

form {
	max-width: 840px;
	margin: 0 auto;
	padding: 90px 0 120px;
	font-size: 16px;
	line-height: 1.6;
}

form table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 115px;
}

form table th {
	padding: 30px 0 30px 30px;
	font-weight: 400;
	text-align: left;
}

form table th.req::after {
	content: " ※";
	color: #E70C48;
}

form table td {
	padding: 30px;
}

form table tr>* {
	vertical-align: top;
}

form table tr:not(.nb)>* {
	border-bottom: 1px solid #AAAAAA;
}

form table tr.nb>* {
	padding-bottom: 0;
}

form label {
	display: inline-block;
	vertical-align: top;
}

form input[type="text"],
form input[type="email"],
form input[type="tel"],
form textarea {
	background: #EEEEEE;
	border-radius: 5px;
	border: none;
	width: 100%;
	padding: 5px 10px;
}

form textarea {
	height: 305px;
}

form select {
	background: #FFFFFF;
	border-radius: 5px;
	border: 1px solid #DDDDDD;
	width: 100%;
	padding: 5px 10px;
}

form .c1 {
	max-width: 445px;
	width: 100%;
}

form .c1+.c1 {
	margin-top: 10px;
}

form .c2 {
	max-width: 180px;
	width: 100%;
}

form .c2+.c2 {
	margin-left: 20px;
}

form .btns {
	display: flex;
	justify-content: center;
	align-items: center;
}

form .btns .bt {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 164px;
	height: 67px;
	border-radius: 5px;
	border: 2px solid #4EB4E4;
	margin: 0 15px;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 500;
}

form .btns .bt[type="submit"] {
	background: #4EB4E4;
	color: #FFFFFF;
}

form .btns .bt:not([type="submit"]) {
	background: #FFFFFF;
	color: #4EB4E4;
}

form .t1 {
	font-size: 20px;
	line-height: 1.2;
	text-align: center;
	margin-bottom: 115px;
}

.about__contact__img {
	display: block;
	max-width: 1164px;
	width: 100%;
	margin: 0 auto;
}

@media screen and (max-width: 780px) {
	.about__contact__img {
		width: 350px;
	}
	form{ padding:35px 25px 50px; }
	form table,
	form table tbody,
	form table tr,
	form table th{ display:block; width:100%; }
	form table td{ display:flex; flex-wrap:wrap; width:100%; }
	form table{ margin-bottom:50px; }
	form table th{ padding:25px 0 10px; border-bottom:none !important }
	form table td{ padding:0 0 25px; }
	form table tr.nb>*{ padding-bottom:10px; }
	form .c2{ width:calc((100% - 20px) / 2); }
	form .btns .bt{ width:132.5px; height:42.5px; font-size:14px; }
}

/* end */