.contact_area {
/*	visibility: hidden;*/
}
.wpcf7-form-control.wpcf7-submit {
}
.wpcf7-submit:disabled {
    opacity: .5;
}
.attach_attention {
	font-size: 16px;
	color: #181586;	
	line-height: 30px;
	margin-bottom: 40px;
}
.attach_attention span {
	color: red;
}
.contact_mainvis {
	position: relative;
	height: 438px;
	background-repeat: no-repeat;
	background-image: url("../../common/images/contact/contact_mainvis_img.jpg");
	background-position: center top;
	margin-bottom: -100px;
	display: grid;
	place-content: center;
}
.contact_mainvis_chatch {
	color: #FFF;
	text-align: center;
}
.contact_mainvis_oswald_m {
	font-size: 58px;
	margin-bottom: 20px;
}
.contact_mainvis_ym_m {
	font-size: 20px;
}
section.contact_area01 {
	position: relative;
/*	height: 2656px;*/
    /*height: 2076px;*/
	background-position: center 100px;
    /*background-position: 0 -330px;*/
	background-image: url("../../common/images/contact/contact_bg.png");
	background-repeat: no-repeat;
	padding-top: -40px;
}
.pankuzu_area {
	position: absolute;
	top: 20px;
	left: 770px;
}
.contact_area01_inner {
	position: relative;
	height: auto;
	background-color: #fff;
	margin: 0 auto;
	border-radius: 20px;
	filter: drop-shadow(2px 4px 6px black);
	width: 1128px;
	padding-top: 50px;
	padding-bottom: 20px;
/*	left: calc((2560px - 1128px) / 2);*/
	z-index: 5;
}
.contact_area01_top {
	position: relative;
	width: 560px;
	height: 192px;
	margin: 0 auto;
}
.contact_area01_top img {
	position: relative;
	display: block;
	margin: 0 auto 35px;
}
.contact_area01_top p {
	font-size: 16px;
	color: #4c4c4c;
	line-height: 24px;
	text-align: center;
}
.contact_qanda {
	position: relative;
	width: 950px;
	height: 314px;
	margin: 0 5%;
}
.contact_banner {
	position: absolute;
	width: 900px;
	height: 284px;
	background-position: 0px 0;
	background-image: url("../../common/images/contact/contact_qanda_banner_bg.png");
	background-repeat: no-repeat;
	bottom: 0;
	right: 0;
}
.contact_qanda_des {
	position: absolute;
	width: 220px;
	height: 246px;
	background-position: 0 0;
	background-image: url("../../common/images/contact/contact_qanda_frame.png");
	background-repeat: no-repeat;
	top: 0;
	left: 0;
}
.contact_qanda_des > p {
	font-size: 16px;
	color: #fff;
	text-align: center;
	position: relative;
	margin: 70px auto 0;
	line-height: 36px;
}
.more_btn {
	position: absolute;
	width: 160px;
	bottom: 70px;
	left: 35px;
}
.more_btn_inner {
	position: relative;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto;
	display: flex;
	width: 144px;
}
.more_btn_inner > p {
	font-size: 16px;
	color: #fff;
	border-bottom: solid 2px #fff;
}
.banner_ttl {
	position: absolute;
	width: 128px;
	height: 69px;
	left: 222px;
	top: 130px;
}
.banner_ttl p.oswald_m {
	position: relative;
	font-size: 40px;
	color: #181586;
	text-align: center;
	margin: -5px auto 16px;
}
.banner_ttl p.ym_m {
	position: relative;
	font-size: 18px;
	color: #181586;
	text-align: center;
	letter-spacing: .01em;
}
.contact_notice {
	display: none;
	position: relative;
	width: 900px;
	height: auto;
	margin: 90px auto 0;
	z-index: 30;	
}
.contact_notice > p {
	margin: 100px auto;
	color: #4c4c4c;
	font-size: 18px;
	line-height: 40px;
	text-align: center;
}
.contact_notice > p span {
	color: red;
	font-weight: bold;
}
.contact_notice > p > a {
	font-weight: bold;
	color: blue;
	padding-bottom: 5px;
	border-bottom: dashed 1px blue;
}
.contact_form {
	/*display: none;20220519クライアント要望で非表示に*/
	position: relative;
	width: 900px;
	height: auto;
	margin: 90px auto 0;
	z-index: 30;
}
.contact_form h3 {
	color: #181586;
}
.cd-upload-btn {
	color: blue;
}
.codedropz-upload-inner span {
	color: #4c4c4c;
}
.contact_form_ttl {
	position: relative;
	width: 205px;
	height: 78px;
	color: #181586;
	margin: 0 auto 30px;
}
.contact_form_ttl p.oswald_m {
	position: relative;
	font-size: 46px;
	text-align: center;
	margin: -5px auto 20px;
}
.contact_form_ttl p.ym_m {
	position: relative;
	font-size: 20px;
	text-align: center;
	margin: 0 auto 50px;
}
.contact_form table {
	position: relative;
	width: 900px;
	margin: 30px auto;
/*	margin-bottom: 30px;*/
	border-collapse:collapse;
}
.contact_form table tr {
	position: relative;
	padding-bottom: 10px;
	border-bottom: solid 1px #898989;
/*	min-height: 68px;*/
	display: flex;
	align-items: center;
}
.contact_form table tr + tr {
	margin-top: 10px;
}
.contact_form table th {
	font-size: 16px;
/*	padding-top: 22px;
*/	color: #181586;
/*	min-height: 68px;*/
	width: 320px;
	vertical-align: middle;
	text-align: left;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.contact_form table tr:last-child th {
	vertical-align: middle;
	height: 165px;
}
.contact_form .condition,
.contact_form table td {
	font-size: 20px;
	width: 560px;
	/*padding-top: 22px;*/
	color: #181586;
	/*height: 38px;*/
	text-align: left;
}
ul.upload_area > li > div[data-id="group-500"] > p:after,
.contact_form table th:after {
	content: "必須";
	border: solid 1px red;
	padding: 3px;
	color:red;
	font-size: 14px;
}
ul.upload_area > li > p:after {
	margin-left: 20px;	
}
.contact_form table th:after {
	margin-right: 20px;
}
.contact_form table tr:last-child td:before {
	position: relative;
    top: -62px;
}
.contact_form table tr:nth-of-type(6) td {
	vertical-align: middle;
}
.contact_form table tr td input,
.contact_form table tr td textarea {
	font-size: 16px;
}
.contact_form table tr td input:not([type="radio"]) {
	height: 30px;
	margin-right: 10px;
}
.contact_form table tr td input + span {
}

.wpcf7-form-control-wrap {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.wpcf7-not-valid-tip {

}
.wpcf7 input[name="text-163"],
.wpcf7 input[name="kana-163"],
.wpcf7 input[name="text-830"],
.wpcf7 input[name="email-370"],
.wpcf7 input[name="tel-649"],
.wpcf7 input[name="subject"] {
/* 	margin-top: 20px;*/
/*	height: 30px;*/
	/*margin-bottom: 20px;*/
}
.wpcf7 input[name="radio-51"] {
}
.wpcf7 input[name="subject"] {
	width: 100%;
}
.wpcf7 textarea[name="textarea-665"] {
	height: 120px;
	width: 100%;
	margin-top: 20px;
/*	margin-top: 20px;
	margin-bottom: 20px;*/
}
.wpcf7 input {
/*	margin-top: 20px;
	margin-bottom: 20px;*/
}
.wpcf7-form-control.wpcf7-submit {
	position: relative;
	display: block;
	font-size: 16px;
	margin: 30px auto;
	border: none;
	background-color: #f9d401;
	color: #181586;
	width: 238px;
	height: 52px;
	border-radius: 3px;
	filter: drop-shadow(1px 3px 3px gray);
}
.notice {
	margin-top: 10px;
	color: red;
	font-size: 16px;
	line-height: 24px;
	display: none;
}
.notice span {
	font-weight: bold;
}
.notice span a {
	border-bottom: dashed 2px red;
}
.wpcf7-not-valid-tip {
	padding-top: 0;
	margin-top: 0;
}
.wpcf7 form .wpcf7-response-output {
	margin-top: 0!important;
	text-align: center;
}
ul.upload_area {
	margin: 30px 0;
}
ul.upload_area > li > div > p {
	font-size: 20px;
	color: #181586;
	text-align: left;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
ul.upload_area > li > div > p span {
	margin-top: 10px;
	font-size: 16px;
	line-height: 20px;
	text-indent: -1em;
    margin-left: 1em;
}
ul.upload_area > li > div > p > *:first-of-type {
	margin-right: 20px;
}
ul.upload_area > li > div > p > * + * {
	margin-left: 20px;
}
ul.upload_area > li .upload_wrap {
	margin-top: 10px;
	display: flex;
	align-items: center;
}
ul.upload_area > li .upload_wrap > p {
	font-size: 18px;
	color: #181586;
	margin-right: 10px;
	display: flex;
	align-items: center;
	flex-direction: row;
	justify-content: flex-start;
}
ul.upload_area > li .upload_wrap p img,
ul.upload_area > li .upload_wrap .contact_slide p img {
	height: 100px;
	width: auto;
	margin: 0 20px 10px 0;
}

ul.upload_area textarea {
	width: 800px;
	height: 100px;
	margin-top: 10px;
}

/*　▼　sp style START.
*********************************************/
@media screen and (max-width: 750px){
	#sp_contact_mainvis {
		background-image: url("../../common/images/common/sp_common_mainvis.png");
		background-position: center 100%;
		background-repeat: no-repeat;
		height: 360px;
		position: relative;
		width: 100%;
	}
	.sp_inner {
		padding: 40px 3% 300px;
	}
	.sp_contact_mainvis_chatch {
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: 100%;
	}
	.sp_contact_mainvis_oswald_m {
		color: white;
		font-size: 50px;
		padding-bottom: 15px;
		text-align: center;
	}
	.sp_contact_mainvis_ym_m {
		color: white;
		font-size: 20px;
		text-align: center;
	}
	#sp_contact_area01 {
		background-image: url("../../common/images/privacy/sp_privacy_area01_1_deco_img.png");
	    background-position: 55% top;
	    background-repeat: no-repeat;
	    background-size: 100%;
		position: relative;
		width: 100%;
		z-index: 3;
	}
	#sp_contact_area01::before {
		background-image: url("../../common/images/contact/sp_contact_area01_2_deco_img.png");
	    background-position: center;
	    background-repeat: no-repeat;
	    background-size: contain;
	    content: '';
	    display: block;
	    height: 374px;
	    position: absolute;
	    top: -31px;
	    right: -60px;
	    transform: scale(.7);
	    width: 269px;
	}
	#sp_contact_area01::after {
		background-image: url("../../common/images/contact/sp_contact_area01_3_deco_img.png");
	    background-position: center;
	    background-repeat: no-repeat;
	    background-size: contain;
	    content: '';
	    display: block;
	    height: 505px;
	    position: absolute;
	    bottom: 35px;
    	left: -45px;
	    transform: scale(.7);
	    width: 271px;
	}
	.sp_contact_area01_wrap {
		/* link-wrapと同じ */
		background-color: #fff;
	    border-radius: 10px;
	    box-shadow: -2px 15px 20px rgba(0, 0, 0, .3);
	    box-sizing: border-box;
	    height: 100%;
	    margin: auto;
	    padding: 50px 20px;
	    position: relative;
	    width: 95%;
	    z-index: 2;
	}
	.sp_contact_area01_head {
		margin: auto;
		text-align: center;
	}
	.sp_contact_area01_ttl {
		padding-bottom: 50px;
	}
	.sp_contact_area01_des {
		padding-bottom: 50px;
		text-align: center;
	}
	.sp_contact_qanda {
		position: relative;
	}
	.sp_contact_banner {
		position: relative;
	}
	.sp_contact_banner_img {
		width: 100%;
	}
	.sp_banner_ttl {
		position: absolute;
		top: 5%;
		left: 50%;
		-webkit-transform: translate(-50%);
		transform: translate(-50%);
		width: 100%;
	}
	.sp_contact_area01_head_txt_ten_r_img {
		max-width: 300px;
		width: 100%;
	}
	.sp_banner_ttl p.oswald_m {
	    color: #181586;
	    font-size: calc(42px + ((1vw – 6.4px)*(20/8.6)));
	    text-align: center;
	}
	.sp_banner_ttl p.ym_m {
	    color: #181586;
	    font-size: 16px;
	    text-align: center;
	}
	.sp_contact_qanda_des {
		background-image: url("../../common/images/contact/contact_qanda_frame.png");
		background-position: center center;
		background-repeat: no-repeat;
		background-size: contain;
		box-sizing: border-box;
		height: 206px;
		position: absolute;
		bottom: -155px;
		left: 50%;
		-webkit-transform: translate(-50%);
		transform: translate(-50%);
		width: 180px;
	}
	.sp_contact_qanda_des_inner {
		box-sizing: border-box;
		height: 206px;
		padding: 50px 5px;
		width: 180px;
	}
	.sp_contact_qanda_des p {
		color: #fff;
		padding-bottom: 10px;
		font-size: 14px;
		text-align: center;
	}
	.sp_contact_more_btn {
		margin: auto;
		text-align: center;
	}
	.sp_contact_more_btn a {
		color: #fff;
		display: inline-block;
		font-size: 16px;
		padding: 5px 30px 5px 5px;
		position: relative;
	}
	.sp_contact_more_btn a span {
		border-bottom: solid 2px #fff;
	}
	.sp_contact_more_btn a::after {
		background-image: url("../../common/images/contact/arrow.svg");
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		content: '';
		display: inline-block;
		height: 25px;
		position: absolute;
		top: 5px;
		right: 0;
		width: 25px;
	}
	/* ▼以下コンタクトフォーム */
	.sp_contact_notice {
		display: none;
		margin-top: 230px;
	}
	.sp_contact_notice p {
		margin-top: 100px;
	}
	.sp_contact_notice p span {
		color: red;
		font-weight: bold;
	}
	.sp_contact_notice p a {
		color: blue;
		font-weight: bold;
		padding-bottom: 5px;
		border-bottom: dashed 1px blue;
	}
	.sp_contact_form {
		/*isplay: none;*/
		margin-top: 230px;
	}
	.sp_contact_form_ttl {
		margin: auto;
    padding-bottom: 20px;
		text-align: center;
	}
	.sp_contact_notice p.oswald_m,
	.sp_contact_form_ttl p.oswald_m {
		color: #181586;
		font-size: calc(42px + ((1vw – 6.4px)*(20/7.6)));
	}
	.sp_contact_notice p.ym_m,
	.sp_contact_form_ttl p.ym_m {
		color: #181586;
	}
	.sp_contact_form table {
	    border-collapse: collapse;
	    margin-bottom: 10px;
	    table-layout: fixed;
	    word-break: break-all;
	    word-wrap: break-all;
		width: 100%;
   	}
   	.sp_contact_form table tr {
   		box-sizing: border-box;
   		width: 100%;
   	}
   	.sp_contact_form table tr::after {
   		border-bottom: solid 1px #898989;
   		content: '';
   		display: table;
   		margin-bottom: 20px;
   		width: 100%;
   	}
   	.sp_contact_form table th {
   		position: relative;
   	}
   	.sp_contact_form table th::after {
   		border: solid 1px #181586;
   		border-radius: 8px;
   		content: '必須';
   		display: inline-block;
   		font-size: 14px;
   		padding: 5px 10px;
   		position: absolute;
   		top: -3px;
   		right: 0;
   	}
   	.sp_contact_form .condition,
	.sp_contact_form table th,
	.sp_contact_form table td {
		box-sizing: border-box;
	    color: #181586;
	    display: table;
	    text-align: left;
	    width: 100%;
	}
	.sp_contact_form .condition label {
		display: flex;
		flex-direction: column-reverse;
	}
	.sp_contact_form table th span {
		display: block;
		font-size: 14px;
	}
	.sp_contact_form table td {
		margin-bottom: 20px;
	}
	.sp_contact_form table td input {
		height: 30px;
	}
	.sp_contact_form table td input,
	.sp_contact_form .wpcf7 input[name="subject"],
	.sp_contact_form .wpcf7 textarea[name="textarea-665"] {
		border: solid 1px #999;
		box-sizing: border-box;
    	width: 100%;
	}
	.sp_contact_form .wpcf7-form-control {
		display: flex;
		align-content: center;
		justify-content: center;
	}
	.sp_contact_form .wpcf7-list-item {
		display: flex;
		align-items: center;
	}
	.sp_contact_form .wpcf7-list-item.first input,
	.sp_contact_form .wpcf7-list-item.last input {
		width: auto;
	}
	.sp_contact_form span.wpcf7-list-item.first {
		margin-left: 0;
	}
	.sp_contact_form .wpcf7-list-item-label {
		vertical-align: 7px;
	}
	.sp_contact_form .wpcf7-not-valid-tip {
		margin-top: 10px;
	}
	.codedropz-upload-inner h3,
	.codedropz-upload-inner span,
	.codedropz-upload-inner .codedropz-btn-wrap {
		white-space: initial;
	}
	ul.upload_area > li .upload_wrap > p {
		flex-direction: column;
	}
}
