@charset "utf-8";
/* ================ */
.agree_wrap {
		text-align: center;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 780px;
		background-image: url("../images/agree_bg_pc.png");
		max-width: 780px;
		height: 590px;
		margin: 80px auto 0;
		display: flex;
		justify-content: center;
		align-items: center;
}
.agree_wrap .in {
		position: relative;
		top: -1em
}
.agree_wrap h5 {
		text-align: center;
		font-size: 18px;
		font-weight: 700;
		margin: 0 0 30px;
}
.agree_wrap .agree_lead {
		margin-bottom: 20px;
		line-height: 1.8;
		font-size: 16px;
}
.agree_wrap .agree_lead a {
		color: #1e1e1e;
		text-decoration: underline;
}
@media (hover: hover) {
		.agree_wrap .agree_lead a:hover {
				text-decoration: none;
		}
}
.agree_wrap .agree_check {
		font-size: 16px;
		line-height: 1.8;
		font-weight: 700;
}
.mw_wp_form_confirm .agree_wrap .agree_check {
		display: none !important
}
.agree_check input[type="checkbox"] {
		width: 20px;
		height: 20px;
		margin-right: 20px;
		opacity: 0;
}
.agree_wrap .agree_check label {
		position: relative;
		left: -15px;
		font-weight: 700 !important;
}
.agree_check label span {
		position: relative;
		cursor: pointer
}
.agree_check label span::before, .agree_check label span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 10px);
		left: -40px;
		width: 20px;
		height: 20px;
		border-radius: 0;
		box-sizing: border-box;
}
.agree_check label span::before {
		background: #fff;
		border: 1px solid #000;
}
.agree_check label span::after {
		background: #000;
		transform: scale(0);
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		opacity: 0;
}
input[type="checkbox"]:checked + span::after {
		transform: scale(0.6);
		opacity: 1 !important;
}
@media(max-width: 767px) {
		.agree_check input[type="checkbox"] {
				width: 30px;
				height: 30px;
				margin-right: 10px;
		}
		.agree_check label span::before, .agree_check label span::after {
				top: calc(50% - 25px);
				left: -40px;
				width: 30px;
				height: 30px;
		}
}
.agree_wrap .agree_check label span::before, .agree_wrap .agree_check label span::after {
		left: -30px;
}
.agree_wrap .sendBtn {
		margin-top: 40px;
}
.agree_wrap .sendBtn button {
		width: 320px;
		height: 45px;
		font-size: 15px;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		box-sizing: border-box;
		padding-left: 20px;
		padding-right: 5px;
		background: #fff;
		color: #1e1e1e;
		text-align: left;
}
.agree_wrap .sendBtn button span::after {
		background-image: url("../images/icon_right_blk.png");
}
@media (hover: hover) {
		.agree_wrap .sendBtn button:hover {
				background: #1e1e1e;
				color: #fff;
		}
		.agree_wrap .sendBtn button:hover span::after {
				background-image: url("../images/icon_right_wht.png");
		}
}
@media(max-width: 767px) {
		.agree_wrap {
				position: relative;
				width: calc(100% + 40px);
				left: -20px;
				background-size: 100%;
				background-image: url("../images/agree_bg_sp.png");
				height: 118vw;
				margin: 60px auto 0;
				box-sizing: border-box;
				padding-left: 30px;
				padding-right: 30px;
		}
		.agree_wrap h5 {
				font-size: 16px;
				margin: 0 0 25px;
		}
		.agree_wrap .agree_lead {
				margin-bottom: 20px;
				font-size: 14px;
				text-align: justify;
		}
		.agree_wrap .agree_lead br {
				display: none !important
		}
		.agree_wrap .agree_check {
				font-size: 14px;
		}
		.agree_wrap .agree_check label span::before, .agree_wrap .agree_check label span::after {
				top: calc(50% - 10px);
				left: -30px;
				width: 20px;
				height: 20px;
		}
		.agree_wrap .sendBtn button {
				width: 240px;
		}
}
/* ============== */
.send_wrap, .mw_wp_form_confirm .agree_wrap {
		max-width: 480px;
		height: 370px;
		margin: 60px auto 0;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 480px;
		background-image: url("../images/confirm_bg.png");
		display: flex;
		justify-content: center;
		align-items: center;
}
@media(max-width: 767px) {
		.send_wrap, .mw_wp_form_confirm .agree_wrap {
				max-width: inherit;
				width: 100%;
				height: 77.2vw;
				margin: 40px auto 0;
				background-position: center center;
				background-size: 100%;
		}
}
.send_btn_gr {
		position: relative;
		max-width: inherit;
		width: 320px;
		margin: 0;
}
.mw_wp_form_input .send_btn_gr {
		margin-left: auto;
		margin-right: auto;
		margin-top: 40px;
}
.send_btn_gr .wpcf7-spinner {
		position: absolute;
		left: calc(50% - 12px);
		bottom: -45px;
		margin: 0 !important;
}
.sendbtn_item {
		width: 320px;
		margin: 0 0 15px;
		position: relative;
}
.sendbtn_item.confirm {
		margin: 0 auto
}
.sendbtn_item::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 5px);
		right: 10px;
		width: 27px;
		height: 11px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 27px;
		pointer-events: none
}
@media(max-width: 767px) {
		.sendbtn_item {
				width: 240px;
				margin: 0 auto 12px;
		}
		.send_btn_gr .sendbtn_item:last-child {
				margin-bottom: 0;
		}
		.sendbtn_item::after {
				top: calc(50% - 4px);
				right: 20px;
				width: 19px;
				height: 8px;
				background-size: 19px;
		}
}
.sendbtn_item.confirm::after {
		background-image: url("../images/icon_right_blk.png");
}
.sendbtn_item.back::after {
		background-image: url("../images/icon_left_blk.png");
}
.sendbtn_item.send::after {
		background-image: url("../images/icon_right_wht.png");
}
@media (hover: hover) {
		.sendbtn_item.confirm:hover::after {
				background-image: url("../images/icon_right_wht.png");
		}
		.sendbtn_item.back:hover::after {
				background-image: url("../images/icon_left_blk.png");
		}
		.sendbtn_item.send:hover::after {
				background-image: url("../images/icon_right_blk.png");
		}
}
.send_btn_gr input, .sendbtn_item.back a {
		width: 100%;
		height: 45px;
		border-radius: 60px;
		background: none;
		border: 1px solid #000;
		transition: background 0.2s;
		cursor: pointer;
		color: #000;
		font-size: 16px;
		font-weight: 700;
		box-sizing: border-box;
		padding: 0 25px;
		text-align: center;
		text-decoration: none;
		background: #fff;
}
.sendbtn_item.back a {
		display: flex;
		justify-content: center;
		align-items: center;
}
@media(max-width: 767px) {
		.send_btn_gr input {
				padding: 0 20px;
		}
}
.send_btn_gr .sendbtn_item.send input {
		background: #000;
		color: #fff;
}
@media (hover: hover) {
		.send_btn_gr .sendbtn_item.back:hover input, .sendbtn_item.back a:hover {
				background: #ededed;
				color: #000;
		}
		.send_btn_gr .sendbtn_item.confirm:hover input {
				background: #000;
				color: #fff;
		}
		.send_btn_gr .sendbtn_item.send:hover input {
				background: #fff;
				color: #000;
		}
}
/* ========== */
.thank_wrap {
		text-align: center;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 780px;
		background-image: url(../images/agree_bg_pc.png);
		max-width: 780px;
		height: 590px;
		margin: 80px auto 0;
		display: flex;
		justify-content: center;
		align-items: center;
}
.thank_en {
		font-family: "Baloo 2", sans-serif;
		font-weight: 500;
		letter-spacing: 0;
		font-size: 80px;
		margin: 0 0 10px;
		line-height: 1;
}
.thank_jp {
		font-size: 24px;
		font-weight: 700;
}
.backhome_btn {
		width: 225px;
		margin-top: 50px;
}
.backhome_btn a {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 70px;
		border-radius: 8px;
		border: 1px solid #787878;
		color: #1e1e1e;
		text-decoration: none;
		padding: 0;
		padding-right: 42px;
		position: relative;
		background: #fff;
		transition: background 0.4s;
}
.backhome_btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 5px);
		right: 15px;
		width: 27px;
		height: 11px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 27px;
		background-image: url("../images/icon_left_blk.png");
}
@media (hover: hover) {
		.backhome_btn a:hover {
				background: #000;
				color: #fff;
		}
		.backhome_btn a:hover::after {
				background-image: url("../images/icon_left_wht.png");
		}
}
@media(max-width: 767px) {
		.thank_wrap {
				text-align: center;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 100%;
				background-image: url(../images/agree_bg_sp.png);
				max-width: 780px;
				height: 118vw;
				margin: 0 auto;
		}
		.thank_en {
				font-size: 60px;
				margin: 0 0 10px;
		}
		.thank_jp {
				font-size: 18px;
				font-weight: 700;
		}
		.backhome_btn {
				width: 225px;
				margin-top: 40px;
		}
		.backhome_btn {
				width: 190px;
				margin-top: 50px;
		}
		.backhome_btn a {
				height: 52px;
				border-radius: 8px;
				padding-right: 32px;
		}
}