
/* --------------- Entry --------------- */

.bg_pagettl.contact {
	background-image: url(../img/contact/bg_pagettl.jpg);
	background-repeat: no-repeat;
}
@media screen and (max-width: 850px) {
	.bg_pagettl.contact {
		background-image: url(../img/contact/sp/bg_pagettl.jpg);
		background-repeat: no-repeat;
	}
}
.bg_gray1 {
	margin: 0;
	padding: 0;
	background-color: #ebebec;
}
@media screen and (max-width: 700px) {
	.bg_gray1 { padding: 60px 0 0; }
}
.bg_contact {
	margin: 0;
	padding: 0 0 110px;
	position: relative;
	z-index: 0;
}
.bg_contact::before {
	content: "";
	width: 100%;
	height: calc( 100% - 110px );
	margin: 0;
	padding: 0;
	background-color: #1f2a67;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}
@media screen and (max-width: 700px) {
	.bg_contact { padding: 0 0 60px; }
	.bg_contact::before { height: calc( 100% - 60px ); }
}
.col_contact {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 95px 0;
	background-color: #fff;
}
@media screen and (max-width: 700px) {
	.col_contact { padding: 60px 0; }
}
.col_contact .mds_contact {
	width: 90%;
	margin: 0 auto 35px;
	padding: 0 0 30px;
	position: relative;
	z-index: 0;
}
@media screen and (max-width: 700px) {
	.col_contact .mds_contact {
		margin: 0 auto 25px;
		padding: 0 0 20px;
	}
}
.col_contact .mds_contact .mds {
	margin: 0;
	padding: 0;
	color: #1f2a67;
	font-size: min(6.9vw, 32px);
	font-weight: 500;
	text-align: center;
}
.txt_contact1 {
	width: 90%;
	margin: 0 auto 50px;
	padding: 0;
	text-align: center;
}
.cont_list_contact {
	width: 90%;
	max-width: 820px;
	margin: 0 auto;
	padding: 0;
}
.cont_list_contact dl.list_contact {
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
}
@media screen and (max-width: 700px) {
	.cont_list_contact dl.list_contact { display: block; }
}
.cont_list_contact dl.list_contact dt {
	width: 27.3%;
	margin: 0;
	padding: 1.5em 0.8em;
	color: #1f2a67;
	line-height: 1.6;
	border-top: solid 1px #1f2a67;
	box-sizing: border-box;
}
@media screen and (max-width: 700px) {
	.cont_list_contact dl.list_contact dt {
		width: 100%;
		padding: 0.85em 0.5em;
	}
}
.cont_list_contact dl.list_contact dt.require {
	padding-right: 40px;
	position: relative;
	z-index: 0;
}
@media screen and (max-width: 700px) {
	.cont_list_contact dl.list_contact dt.require { padding-right: 0.5em; }
}
.cont_list_contact dl.list_contact dt.require .label {
	width: 2.8em;
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: 13px;
	text-align: center;
	line-height: 1.6;
	background-color: #b79734;
	border-radius: 4px;
	display: inline-block;
	position: absolute;
	top: 26px;
	right: 5px;
}
@media screen and (max-width: 700px) {
	.cont_list_contact dl.list_contact dt.require .label {
		margin: 0 0 0 10px;
		position: static;
	}
}
.cont_list_contact dl.list_contact dd {
	width: 70%;
	margin: 0;
	padding: 1.5em 0.8em;
	border-top: solid 1px #c9caca;
	box-sizing: border-box;
}
@media screen and (max-width: 700px) {
	.cont_list_contact dl.list_contact dd {
		width: 100%;
		padding: 1.2em 0.5em;
	}
}
.cont_list_contact dl.list_contact dd input[type="text"],
.cont_list_contact dl.list_contact dd input[type="email"] {
	width: 100%;
	max-width: 310px;
	margin: 0;
	padding: 0.7em 0.6em;
	font-family: 'Noto Sans JP', Meiryo, sans-serif;
	font-size: 15px;
	background-color: #f0f0f0;
	border: none;
	border-radius: 6px;
	box-sizing: border-box;
}
.cont_list_contact dl.list_contact dd .postcode {
	margin: 0 0 8px;
	padding: 0;
}
.cont_list_contact dl.list_contact dd .postcode input[type="text"] {
	width: calc( 100% - 40px );
	max-width: 155px;
	margin: 0 0 0 10px;
}
.cont_list_contact dl.list_contact dd .address {
	margin: 0;
	padding: 0;
}
.cont_list_contact dl.list_contact dd .address input[type="text"] { max-width: 460px; }
@media screen and (max-width: 700px) {
	.cont_list_contact dl.list_contact.sp_noborder dt { padding: 0.85em 0.5em 0.5em; }
	.cont_list_contact dl.list_contact.sp_noborder dd {
		padding: 0 0.5em 0.5em;
		border-top: none;
	}
}
.cont_list_contact dl.list_contact.bottom dt {
	padding: 0 0.8em 1.5em;
	border-top: none;
}
.cont_list_contact dl.list_contact.bottom dd {
	padding: 0 0.8em 1.5em;
	border-top: none;
}
@media screen and (max-width: 700px) {
	.cont_list_contact dl.list_contact.bottom dt { padding: 0.85em 0.5em 0.5em; }
	.cont_list_contact dl.list_contact.bottom dd { padding: 0 0.5em 0.5em; }
}
.cont_list_contact dl.list_contact dd textarea {
	width: 100%;
	max-width: 460px;
	height: 12em;
	margin: 0;
	padding: 0.7em 0.6em;
	font-family: 'Noto Sans JP', Meiryo, sans-serif;
	font-size: 15px;
	background-color: #f0f0f0;
	border: none;
	border-radius: 6px;
	box-sizing: border-box;
}
.txt_privacy_contact {
	width: 100%;
	margin: 0 0 40px;
	padding: 15px 0 0;
	text-align: center;
}
.txt_privacy_contact a {
	color: #1f2a67;
	text-decoration: underline;
}
.txt_privacy_contact a:hover { text-decoration: none; }
.btn_submit_entry {
	margin: 0;
	padding: 0;
	text-align: center;
}
.btn_submit_entry .btn {
	width: calc( 100% - 20px );
	max-width: 230px;
	margin: 0 10px 15px;
	display: inline-block;
	position: relative;
	z-index: 0;
}
.btn_submit_entry .btn::after {
	content: "";
	width: 10px;
	height: 3px;
	margin: 0;
	padding: 0;
	border-right: solid 1px #fff;
	border-bottom: solid 1px #fff;
	transform: skewX(45deg);
	transition: width .3s;
	position: absolute;
	top: calc( 50% - 2px );
	left: calc( 50% + 50px );
	pointer-events: none;
}
.btn_submit_entry .btn:hover::after { width: 13px; }

.btn_submit_entry input[type="submit"] {
	width: 100%;
	height: 55px;
	margin: 0;
	padding: 0;
	color: #fff;
	font-size: 15px;
	border: solid 1px #1f2a67;
	background-color: #1f2a67;
	border-radius: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.btn_submit_entry input[type="submit"]:hover {
	background-color: #5c6bc1;
}

.btn_submit_entry input[type="button"] {
	width: 100%;
	height: 55px;
	margin: 0;
	padding: 0;
	color: #1f2a67;
	font-size: 15px;
	border: solid 1px #1f2a67;
	background-color: #fff;
	border-radius: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background .3s;
}
.btn_submit_entry input[type="button"]:hover { background-color: #eff1fb; }

.btn_submit_entry .wpcf7-spinner {
	margin: 0 auto;
	display: block;
}

.col_contact .btn_topdetail {
	width: 220px;
	height: 50px;
	margin: 0 auto;
	padding: 0;
	color: #fff;
	border-color: #1f2a67;
	background-color: #1f2a67;
	border-radius: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.col_contact .btn_topdetail .inner {
	width: 7.5em;
	height: 1.5em;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.col_contact .btn_topdetail .inner .btntxt {
	line-height: 1.5;
	display: inline-block;
}
.col_contact a.btn_topdetail:hover .inner .btntxt { animation: btn-hover1 1s forwards; }
@keyframes btn-hover1 {
	0% { transform: translateY(100%); }
	100% { transform: translateY(0%); }
}
.col_contact .btn_topdetail .arrow {
	width: 10px;
	height: 10px;
	margin: 0 0 0 8px;
	padding: 0;
	position: relative;
	z-index: 0;
}
.col_contact .btn_topdetail .arrow::before {
	content: "";
	width: 100%;
	height: 3px;
	margin: 0;
	padding: 0;
	border-right: solid 1px #fff;
	border-bottom: solid 1px #fff;
	transform: skewX(45deg);
	transition: width .3s;
	position: absolute;
	top: calc( 50% - 2px );
	left: 0;
}
.col_contact a.btn_topdetail:hover .arrow::before { width: calc( 100% + 3px ); }





