@charset "utf-8";

/* フォーム
----------------------------------------------------*/
.contact_form{background: url("../images/line-bg_g.webp") center bottom 40% / contain no-repeat;}
.contact_form .title{
	padding-bottom: 50px;
	background: linear-gradient(to right,#f4e051 36px,#e6e6e6 36px) bottom / 100% 2px no-repeat;
}
.contact_L{
	max-width: 460px;
	width: 30%;
}
.wpcf7{width: 65%;}
.form{
	width: 65%;
	padding: 60px 55px;
	background-color: #f5f9fa;
	border-radius: 10px;
}
.form > div{
	display: flex;
	align-items: flex-start;
}
.form > div:not(:last-child){margin-bottom: 30px;}
.form dt,.form dt span{font-family: 'NotoSansJP-Bold';}
.form dt{
	font-size: 18px;
	width: 230px;
	display: flex;
	align-items: center;
}
.form dt span{
	font-size: 14px;
	padding: 2px 0;
	width: 50px;
	background-color: #f4e051;
	border-radius: 5px;
	text-align: center;
	color: #033b7c;
	margin-left: 20px;
}
.form dd{width: calc(100% - 230px);}
.form input,.form select,.form textarea{
	border: solid 1px #e2e2e2;
	background-color: #fff;
	outline: none;
	padding: 10px 15px;
	width: 100%;
	border-radius: 5px;
	font-size: 16px;
}
.form input,.form select{height: 50px;}
.form textarea{
	width: 100%!important;
	height: 190px!important;
	padding: 20px 15px;
}
.form input:not([type="checkbox"]),.form select,.form textarea,.form button{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"!important;
	font-size: 16px!important;
	text-align: left!important;
}
.radio input{display: none;}
.radio dd{
	display: flex;
	flex-wrap: wrap;
}
.radio dd > div{width: 50%;}
.radio dd > div:not(:last-child){margin-bottom: 5px;}
input[type="checkbox"] {display: none;}
input[type="checkbox"] ~ label {
	display: block;
	position: relative;
	padding-left: 35px;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}
input[type="checkbox"] ~ label:last-child {margin-bottom: 0; }
input[type="checkbox"] ~ label:before {
	content: '';
	display: block;
	width: 20px;
	height: 20px;
	border: 1px solid #999;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin-top: 0.3rem;
	-webkit-transition: all .12s, border-color .08s;
	transition: all .12s, border-color .08s;
}
input[type="checkbox"]:checked ~ label:before {
	width: 10px!important;
	top: -5px!important;
	left: 5px!important;
	border-top-color: transparent!important;
	border-right: solid 2px #1768ff!important;
	border-bottom: solid 2px #1768ff!important;
	border-left-color: transparent!important;
	-webkit-transform: rotate(45deg)!important;
	transform: rotate(45deg)!important;
}
.check{
	display: block;
	width: fit-content;
	height: auto!important;
	margin: 0 auto 45px;
}
.check input[type="checkbox"] ~ label{font-size: 20px;}
.check input[type="checkbox"] ~ label:before {
	width: 25px;
	height: 25px;
	border: 1px solid #1768ff;
}
.check input[type="checkbox"] ~ label{padding-left: 40px;}
.check input[type="checkbox"] ~ label::after{
	width: 7px;
	height: 13px;
	left: 7px;
}
.text_line{text-decoration: underline;}

/* 送信ボタン */
.form_btn button,.form_btn .wpcf7-form-control,.thanks-box .btn{
	display: block;
	max-width: 400px;
	width: 100%;
	position: relative;
	font-family: 'NotoSansJP-Bold';
	color: #fff;
	font-size: 20px;
	letter-spacing: 0.08em;
	padding: 25px 0;
	background: linear-gradient(to right,#1768ff,#22a9f4);
	border: none;
	border-radius: 40px;
	margin: 0 auto;
	transition: 0.3s;
}
.form_btn button::after,.form_btn .wpcf7-form-control::after,.thanks-box .btn::after{
	content: "";
	width: 10px;
	height: 20px;	
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-mask: url("../images/arrow.svg") no-repeat center;
  	-webkit-mask-size: contain;
 	mask: url("../images/arrow.svg") no-repeat center;
 	mask-size: contain;
	background: #fff;
}

@media (any-hover: hover){.form_btn:hover button{
	transform: translateY(-10px);}
}
.wpcf7-checkbox{
	display: flex;
    flex-wrap: wrap;
}
.wpcf7-list-item{
	width: 50%;
	margin: 0;
}
.wpcf7-list-item input[type="checkbox"]{position: relative;}
.wpcf7-list-item input[type="checkbox"]::before{
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border: 1px solid #999;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin-top: 0.3rem;
    -webkit-transition: all .12s, border-color .08s;
    transition: all .12s, border-color .08s;
	margin: 0;
}
.wpcf7-list-item input[type="checkbox"]:not(:last-child){margin-bottom: 5px;}
.wpcf7-list-item input[type="checkbox"]:checked:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    border: 1px solid #999;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin-top: 0.3rem;
    -webkit-transition: all .12s, border-color .08s;
    transition: all .12s, border-color .08s;
}

/* thanks_page
---------------------------------------------------*/
.thanks-box{max-width: 850px;}

/* 1025px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1025px){
	
	/* フォーム
	----------------------*/
	.contact_form .title{padding-bottom: 30px;}
	.form{
		padding: 40px 25px;
		border-radius: 5px;
	}
	.form > div:not(:last-child){margin-bottom: 20px;}
	.form dt{
		font-size: 15px;
		width: 170px;
	}
	.form dt span{
		font-size: 12px;
		width: 35px;
		margin-left: 5px;
	}
	.form dd{width: calc(100% - 170px);}
	.form input,.form select,.form textarea{
		padding: 5px 10px;
		font-size: 14px;
	}
	.form input,.form select{height: 45px;}
	.form textarea{padding: 10px 10px;}
	.birth_day input{margin-right: 5px;}
	input[type="checkbox"] ~ label {padding-left: 25px;}
	input[type="checkbox"] ~ label:before {
		width: 15px;
		height: 15px;
	}
	input[type="checkbox"]:checked ~ label:before {width: 8px!important;}
	.check{margin-bottom: 30px;}
	.check input[type="checkbox"] ~ label{font-size: 18px;}
	.check input[type="checkbox"] ~ label:before {
		width: 20px;
		height: 20px;
	}
	.check input[type="checkbox"] ~ label{padding-left: 30px;}
	.radio dd > div{width: 100%;}
	.form textarea{height: 150px!important;}
	
	/* 送信ボタン */
	.form_btn button,.form_btn .wpcf7-form-control,.thanks-box .btn{
		max-width: 320px;
		font-size: 18px;
		padding: 20px 0;
	}
	.form_btn button::after,.form_btn .wpcf7-form-control::after,.thanks-box .btn::after{
		width: 8px;
		height: 16px;	
		right: 25px;
	}
}

/* 750px以下から
------------------------------------------------------------*/
@media only screen and (max-width:750px){
	
	/* フォーム
	----------------------*/
	.contact_L,.form{
		max-width: 100%;
		width: 100%;
	}
	.contact_L{margin-bottom: 50px;}
}

/* 500px以下から
------------------------------------------------------------*/
@media only screen and (max-width:500px){
	
	.form{padding: 20px 15px;}
	.form > div{flex-wrap: wrap;}
	.form dt,.form dd{width: 100%;}
	.form dt{margin-bottom: 10px;}
}