@charset "UTF-8";

.mod_main {
	padding-top: 11.8rem;
}

.contact_area {
    background-color: #FFF;
    margin-top: 0;
}

@media screen and (max-width:640px) {
	body {
		overflow-x: hidden;
	}
	.mod_main {
		padding-top: calc(75 * 100vw / 375);
	}
}

/**/

.sec_contact {
	margin-top: 8rem;
	padding-bottom: 8rem;
}

.sec_contact > .in {
	max-width: 128rem;
	width: 100%;
	margin: 0 auto;
}

.sec_contact .txt_box .ttl {
	font-size: 4rem;
	line-height: 1;
	font-weight: 700;
	padding-left: 3.3rem;
	position: relative;
}

.sec_contact .txt_box .ttl::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background-image: url(/img/index/list_type.svg);
	width: 2.2rem;
	height: 2.2rem;
	background-size: cover;
	background-repeat: no-repeat;
}

.sec_contact .txt_box .txt {
	font-size: 1.6rem;
	line-height: 2;
	font-weight: 500;
	margin-top: 2.4rem;
}

.contact_box_wrap {
	background-color: #fff;
	margin-top: 8rem;
	border-radius: 1.6rem;
	padding: 12rem 16rem;
	box-sizing: border-box;
}

@media screen and (max-width:640px) {

	.sec_contact {
		margin-top: calc(32 * 100vw / 375);
		padding-bottom: calc(24 * 100vw / 375);
	}

	.sec_contact > .in {
	}

	.sec_contact .txt_box .ttl {
		font-size: calc(24 * 100vw / 375);
		padding-left: calc(19 * 100vw / 375);
		line-height: 1.4;
	}

	.sec_contact .txt_box .ttl::before {
		left: 0;
		top: calc(11 * 100vw / 375);
		bottom: auto;
		width: calc(11 * 100vw / 375);
		height: calc(11 * 100vw / 375);
	}

	.sec_contact .txt_box {
	}

	.sec_contact .txt_box {
		padding-left: calc(24 * 100vw / 375);
		padding-right: calc(24 * 100vw / 375);
	}

	.sec_contact .txt_box .txt {
		font-size: calc(16 * 100vw / 375);
		margin-top: calc(24 * 100vw / 375);
	}

	.contact_box_wrap {
		border-radius: calc(16 * 100vw / 375);
		width: calc(100% - (48 * 100vw / 375));
		padding: calc(32 * 100vw / 375);
		padding-bottom: calc(40 * 100vw / 375);
		margin: 0 auto;
		margin-top: calc(32 * 100vw / 375);
		box-sizing: border-box;
	}

}

/**/

.formlistWrap {

}

.formlistWrap .formlist {
	margin-top: 3.2rem;
}

.formlistWrap .formlist.flex {
	display: flex;
	justify-content: space-between;
}

.formlistWrap .formlist.flex .formlistIn {
	max-width: 46.6rem;
	width: 100%;
}

.formlistWrap .formlistIn {

}

.formlistWrap .formlistTit {
	font-size: 2rem;
	line-height: 1;
}

.formlistWrap .formlistTit .hissu_mark {
	font-size: 1.2rem;
	line-height: 1;
	background-color: #D57979;
	color: #FFF;
	border-radius: 0.2rem;
	margin-left: 1.2rem;
	padding: 0.3rem 0.5rem;
	font-weight: 500;
	box-sizing: border-box;
}

.formlistWrap .formlistContent {
	margin-top: 1.4rem;
}

.formlistWrap .formlistContent input {
	font-size: 2rem;
	line-height: 1;
	background-color: #f5f5fa;
	border-radius: 0.8rem;
	padding: 1.6rem;
	box-sizing: border-box;
	width: 100%;
}

.formlistWrap .formlistContent select {
	font-size: 1.6rem;
	width: 100%;
	padding: 1.6rem;
	background-color: #f5f5fa;
	max-width: 45.8rem;
	border-radius: 0.8rem;
	color: #8d8d8d;

	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;

	cursor: pointer;
	border: none;
	outline: none;

	background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="%23333" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>');
	background-repeat: no-repeat;
	background-size: 1.4rem; /* 矢印のサイズを少し調整 */
	background-position: calc(100% - 1.6rem) center;
}
.formlistWrap .formlistContent textarea {
	width: 100%;
	padding: 1.6rem;
	background-color: #f5f5fa;
	border-radius: 0.8rem;
	font-size: 2rem;
}

.formlistWrap .wpcf7-not-valid-tip {
	color: #D57979;
	font-size: 1.6rem;
	margin-top: 0.8rem;
}

.formlistWrap .formlistContent .wpcf7-not-valid {
	border: 1px solid #D57979;
}

.formlistWrap .check_wrap {
	margin-top: 3.6rem;
}

.formlistWrap .check_wrap .check_content {
	border: 1px solid #F0E5FC;
	border-radius: 0.8rem;
	padding: 4rem 3.2rem;
	box-sizing: border-box;
	margin-top: 3.5rem;
}

.formlistWrap .form_txt_box .check_txt {
}

.formlistWrap .form_txt_box .check_txt label {
	display: flex;
	align-items: center;
	cursor: pointer;
	font-size: 2rem;
	line-height: 2;
}

.formlistWrap .form_txt_box .check_txt .wpcf7-list-item-label {
	position: relative;
	padding-left: 3.5rem; /* ボックスの幅 + 余白 */
	display: inline-block;
}

.formlistWrap .form_txt_box .check_txt .wpcf7-list-item-label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 2.4rem;
	height: 2.4rem;
	background-color: #f5f5f5;
	border-radius: 0.4rem;
	transition: all 0.3s;
}

.formlistWrap .form_txt_box .check_txt input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
}

.formlistWrap .form_txt_box .check_txt .wpcf7-list-item-label::after {
	content: "";
	position: absolute;
	left: 0.8rem;
	top: 50%;
	transform: translateY(-65%) rotate(45deg);
	width: 0.7rem;
	height: 1.2rem;
	border-right: 2px solid #D57979;
	border-bottom: 2px solid #D57979;
	opacity: 0;
	transition: all 0.3s;
}

.formlistWrap .form_txt_box .check_txt input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
	opacity: 1;
}

.formlistWrap .form_txt_box .check_txt02 {
	margin: 3.2rem 0;
}

.formlistWrap .form_txt_box .check_txt02 .wpcf7-checkbox {
	font-size: 2rem;
	line-height: 2;
	background-color: #f5f5f5;
	border-radius: 0.8rem;
	padding: 1.4rem 0 1.4rem 0;
	width: 100%;
	display: block;
	box-sizing: border-box;
}

.formlistWrap .form_txt_box .check_txt02 label {
	display: block;
	cursor: pointer;
	font-size: 2rem;
	line-height: 2;
}

.formlistWrap .form_txt_box .check_txt02 .wpcf7-list-item-label {
	position: relative;
	padding-left: 3.5rem; /* ボックスの幅 + 余白 */
	display: inline-block;
}

.formlistWrap .form_txt_box .check_txt02 .wpcf7-list-item-label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 2.4rem;
	height: 2.4rem;
	background-color: #fff;
	border-radius: 0.4rem;
	transition: all 0.3s;
}

.formlistWrap .form_txt_box .check_txt02 input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
	background-color: #fff;
}

.formlistWrap .form_txt_box .check_txt02 .wpcf7-list-item-label::after {
	content: "";
	position: absolute;
	left: 0.8rem;
	top: 50%;
	transform: translateY(-65%) rotate(45deg);
	width: 0.7rem;
	height: 1.2rem;
	border-right: 2px solid #D57979;
	border-bottom: 2px solid #D57979;
	opacity: 0;
	transition: all 0.3s;
}

.formlistWrap .form_txt_box .check_txt02 input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
	opacity: 1;
}






.formlistWrap .form_txt_box .text {
	font-size: 2rem;
	line-height: 2;
}

.formlistWrap .form_txt_box .text > a {
	font-size: 1.6rem;
	color: #BB83FC;
	text-decoration: underline;
}

.formlistWrap .form_btn input {

}

.formlistWrap .form_btn {
	position: relative;
	margin: 0 auto;
	margin-top: 8rem;
	width: 100%;
	max-width: 35.2rem;
}

.formlistWrap .form_btn input {
	font-size: 2rem;
	font-weight: bold;
	width: 100%;
	display: block;
	z-index: 1;
	position: relative;
	padding: 1.8rem;
	padding-left: 2.4rem;
	box-sizing: border-box;
	position: relative;
	color: #FFF;
	text-align: left;
	cursor: pointer;
}
.formlistWrap .form_btn::before {
	content: "";
	position: absolute;
	right: 1.8rem;
	top: 0;
	bottom: 0;
	margin: auto;
	background-size: cover;
	width: 6.1rem;
	height: 3.3rem;
	background-image: url(/assets/img/arrow_w.svg);
	border-radius: 0.4rem;
	z-index: 10;
}

.formlistWrap .form_btn > p::before {
	content: "";
	background-color: #E99DC5;
	border-radius: 16px;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.formlistWrap .wpcf7-spinner {
	position: absolute;
}

@media screen and (max-width:640px) {
	.formlistWrap {

	}

	.formlistWrap .formlist {
		margin-top: calc(24 * 100vw / 375);
	}

	.formlistWrap .formlist.flex {
		flex-wrap: wrap;
	}

	.formlistWrap .formlist.flex {
	}

	.formlistWrap .formlistIn {

	}

	.formlistWrap .formlistIn + .formlistIn {
		margin-top: calc(15 * 100vw / 375);
	}

	.formlistWrap .formlistTit {
		font-size: calc(16 * 100vw / 375);
		line-height: 1;
	}

	.formlistWrap .formlistContent {
		margin-top: calc(16 * 100vw / 375);
	}

	.formlistWrap .formlistContent input {
		font-size: calc(16 * 100vw / 375);
		border-radius: calc(8 * 100vw / 375);
		padding: calc(16 * 100vw / 375);
		width: 100%;
	}

	.formlistWrap .formlistContent select {
		font-size: calc(16 * 100vw / 375);
		padding: calc(16 * 100vw / 375);
		border-radius: calc(8 * 100vw / 375);
		background-size: calc(14 * 100vw / 375);
		background-position: calc(100% - (16 * 100vw / 375)) center;
		color: #373737;
	}

	.formlistWrap .formlistContent textarea {
		font-size: calc(16 * 100vw / 375);
		padding: calc(16 * 100vw / 375);
		border-radius: calc(8 * 100vw / 375);
	}

	.formlistWrap .check_wrap {
		margin-top: calc(36 * 100vw / 375);
	}

	.formlistWrap .check_wrap .check_content {
		border: 1px solid #F0E5FC;
		border-radius: calc(8 * 100vw / 375);
		padding: calc(24 * 100vw / 375);
		margin-top: calc(24 * 100vw / 375);
	}

	.formlistWrap .form_txt_box .check_txt {
		font-size: calc(16 * 100vw / 375);
		line-height: 1.5;
	}

	.formlistWrap .form_txt_box .text {
		font-size: calc(16 * 100vw / 375);
		line-height: 2;
	}

	.formlistWrap .form_txt_box .text > a {
		font-size: calc(16 * 100vw / 375);
		color: #BB83FC;
	}


	.formlistWrap .form_btn input {

	}

	.formlistWrap .form_btn {
		margin-top: calc(24 * 100vw / 375);
	}

	.formlistWrap .form_btn input {
		font-size: calc(16 * 100vw / 375);
		padding: calc(22 * 100vw / 375);
		padding-left: calc(24 * 100vw / 375);
		text-align: left;
	}
	.formlistWrap .form_btn::before {
		right: 1.8rem;
		top: 0;
		bottom: 0;
		width: 6.1rem;
		height: 3.3rem;
		background-image: url(/assets/img/arrow_w.svg);
		border-radius: calc(4 * 100vw / 375);
	}

	.formlistWrap .form_btn > p::before {
		border-radius: calc(8 * 100vw / 375);
	}

	.formlistWrap .wpcf7-spinner {
	}

	.formlistWrap .form_txt_box .check_content .check_txt {
		font-size: calc(16 * 100vw / 375);
		line-height: 1.5;
		padding: calc(15 * 100vw / 375);
		border-radius: calc(8 * 100vw / 375);
		background-color: #F5F5F5;
		margin-top: calc(11 * 100vw / 375);
		margin-bottom: calc(24 * 100vw / 375);
	}





.formlistWrap .form_txt_box .check_txt label {
	font-size: calc(16 * 100vw / 375);
}

.formlistWrap .wpcf7-list-item {
	margin: 0;
}

.formlistWrap .form_txt_box .check_txt .wpcf7-list-item-label {
	padding-left: calc(36 * 100vw / 375);
}

.formlistWrap .form_txt_box .check_txt .wpcf7-list-item-label::before {
	width: calc(20 * 100vw / 375);
	height: calc(20 * 100vw / 375);
	border-radius: calc(4 * 100vw / 375);
	top: calc(16 * 100vw / 375);
}

.formlistWrap .form_txt_box .check_txt input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
}

.formlistWrap .form_txt_box .check_txt .wpcf7-list-item-label::after {
	left: calc(8 * 100vw / 375);
	width: calc(7 * 100vw / 375);
	height: calc(12 * 100vw / 375);
	top: calc(16 * 100vw / 375);
}

.formlistWrap .form_txt_box .check_txt input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
}

.formlistWrap .form_txt_box .check_txt02 {
	margin-top: calc(11 * 100vw / 375);
	margin-bottom: calc(24 * 100vw / 375);
}

.formlistWrap .form_txt_box .check_txt02 .wpcf7-checkbox {
	font-size: calc(16 * 100vw / 375);
	border-radius: 0.8rem;
	padding-top: calc(16 * 100vw / 375);
	padding-bottom: calc(16 * 100vw / 375);
}

.formlistWrap .form_txt_box .check_txt02 label {
	font-size: calc(16 * 100vw / 375);
}

.formlistWrap .form_txt_box .check_txt02 .wpcf7-list-item-label {
	padding-left: calc(44 * 100vw / 375);
	padding-right: calc(15 * 100vw / 375);
}

.formlistWrap .form_txt_box .check_txt02 .wpcf7-list-item-label::before {
	width: calc(20 * 100vw / 375);
	height: calc(20 * 100vw / 375);
	border-radius: calc(4 * 100vw / 375);
	left: calc(16 * 100vw / 375);
	top: calc(16 * 100vw / 375);
}

.formlistWrap .form_txt_box .check_txt02 input[type="checkbox"]:checked + .wpcf7-list-item-label::before {
}

.formlistWrap .form_txt_box .check_txt02 .wpcf7-list-item-label::after {
	width: calc(7 * 100vw / 375);
	height: calc(12 * 100vw / 375);
	left: calc(21 * 100vw / 375);
	top: calc(16 * 100vw / 375);
}

.formlistWrap .form_txt_box .check_txt02 input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
}



}


/**/


.sec_contact .btn_box {
	position: relative;
	margin-top: 8rem;
	width: 100%;
	max-width: 35.2rem;
}

.sec_contact .btn_box > a {
	font-size: 2rem;
	font-weight: bold;
	width: 100%;
	display: block;
	z-index: 1;
	position: relative;
	padding: 1.8rem;
	box-sizing: border-box;
	position: relative;
	color: #FFF;
}
.sec_contact .btn_box > a::before {
	content: "";
	position: absolute;
	right: 1.8rem;
	top: 0;
	bottom: 0;
	margin: auto;
	background-size: cover;
	width: 6.1rem;
	height: 3.3rem;
	background-image: url(/assets/img/arrow_w.svg);
	border-radius: 0.4rem;
	transform: rotate(180deg);
}

.sec_contact .btn_box::before {
	content: "";
	background-color: #e12881;
	border-radius: 16px;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}


@media screen and (max-width:640px) {
	.sec_contact .btn_box {
		position: relative;
		margin-top: calc(24 * 100vw / 375);
		width: 100%;
		max-width: calc(263 * 100vw / 375);
		margin-left: calc(24 * 100vw / 375);
	}

	.sec_contact .btn_box > a {
		font-size: calc(20 * 100vw / 375);
		font-weight: bold;
		width: 100%;
		display: block;
		z-index: 1;
		position: relative;
		box-sizing: border-box;
		position: relative;
		color: #FFF;
		padding-top: calc(20 * 100vw / 375);
		padding-right: calc(28 * 100vw / 375);
		padding-bottom: calc(19 * 100vw / 375);
		padding-left: calc(24 * 100vw / 375);
	}
	.sec_contact .btn_box > a::before {
		content: "";
		position: absolute;
		right: calc(28 * 100vw / 375);
		top: 0;
		bottom: 0;
		margin: auto;
		background-size: cover;
		width: calc(41 * 100vw / 375);
		height: calc(23 * 100vw / 375);
		background-image: url(/assets/img/arrow_w.svg);
		border-radius: calc(6 * 100vw / 375);
	}

	.sec_contact .btn_box::before {
		content: "";
		background-color: #8d8d8d;
		border-radius: calc(8 * 100vw / 375);
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}
}