@charset "UTF-8";
/*-----------------------------------

	mainvisual_lower_block

-----------------------------------*/
#mainvisual_lower_block {
	background: url(../img/business-service/img_mv.jpg) no-repeat center / cover;
}
#mainvisual_lower_block h2 {
	padding-top: 3.85vw;
	padding-bottom: 4.3vw;
}
@media screen and (max-width: 640px) {
	#mainvisual_lower_block {
		background: url(../img/business-service/sp/img_mv.jpg) no-repeat center / cover;
		margin-bottom: 8px;
	}
	#mainvisual_lower_block h2 {
        padding-top: 8.3vw;
        padding-bottom: 7.75vw;
	}
	#mainvisual_lower_block.ct h2 {
		top: 27.5vw;
	}
	#mainvisual_lower_block p {
		text-orientation: upright;
	}
}
/*-----------------------------------

	business_service_block

-----------------------------------*/
#business_service_block {
	color: #ffffff;
	padding-top: 141px;
}
#business_service_block .contents_inner {
	max-width: 1139px;
}
#business_service_block h3 {
	font-size: 60px;
	font-weight: 400;
	line-height: 1.77;
	padding: 17px 0;
	margin-bottom: 119px;
	position: relative;
}
html[lang="en"] #business_service_block h3 > font:first-of-type,
html[lang="en"] #business_service_block h3 br {
	display: none;
}
#business_service_block h3::after {
	content: '';
	display: block;
	background: #7a62a8;
	width: 100vw;
	height: 100%;
	margin: 0 calc(50% - 50vw);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#business_service_block .business_service_wrap {
	padding-bottom: 64px;
	position: relative;
}
#business_service_block .business_service_wrap:not(:last-of-type) {
	margin-bottom: 130px;
}
#business_service_block .business_service_wrap::after {
	content: '';
	display: block;
	background: #7a62a8;
	width: 100vw;
	height: calc(100% - min(17.2vw, 200px));
	margin: 0 calc(50% - 50vw);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}
#business_service_block .business_service_wrap:nth-of-type(3):after {
	height: calc(100% - min(17.2vw, 220px));
}
#business_service_block .details_wrap {
	align-items: flex-end;
}
#business_service_block .text_box {
	width: 58.6%;
}
#business_service_block .text_box .img_area {
	margin-bottom: 22px;
}
#business_service_block .text_box h4 {
	font-size: 48px;
	font-weight: 300; 
	letter-spacing: -0.02em;
	margin-bottom: 11.5px;
}
#business_service_block .text_box p {
	font-size: 19px;
	font-weight: 400;
	line-height: 1.9;
}
#business_service_block .img_box {
	width: 35.6%;
}
@media screen and (max-width: 640px) {
	#business_service_block {
		padding-top: 14px;
	}
	#business_service_block .business_service_wrap {
		padding-bottom: 0;
	}
	#business_service_block .business_service_wrap:not(:last-of-type) {
		margin-bottom: 114px;
	}
	#business_service_block .business_service_wrap::after {
		height: calc(100% - 35.2vw);
	}
	#business_service_block h3 {
		font-size: 20px;
		line-height: 1.385;
		padding: 15px 0;
		margin-bottom: 64px;
	}
	#business_service_block .text_box {
		width: 100%;
		margin-bottom: 20px;
	}
	#business_service_block .text_box .img_area {
		margin-bottom: 24.5px;
	}
	#business_service_block .text_box h4 {
		font-size: 22px;
		letter-spacing: 0;
		margin-bottom: 10.5px;
	}
	#business_service_block .text_box p {
		font-size: 11.5px;
		line-height: 1.83;
		letter-spacing: -0.02em;
	}
	#business_service_block .img_box {
		width: 54.3%;
		margin: 0 auto -31px;
	}
	#business_service_block .business_service_wrap:nth-of-type(2) .img_box {
		margin-bottom: -47px;
	}
	#business_service_block .business_service_wrap:nth-of-type(3) .img_box {
		margin-bottom: -54px;
	}
}
/*-----------------------------------

	business_service_contact_block

-----------------------------------*/
#business_service_contact_block {
	padding: 131px 0 127px;
}
#business_service_contact_block .contents_inner {
	max-width: 995px;
}
#business_service_contact_block h3 {
	font-size: 37px;
	font-weight: 400;
	width: max-content;
	max-width: 100%;
	padding: 6px 0;
	border-top: 1px solid #040000;
	border-bottom: 1px solid #040000;
	margin: 0 auto 47px;
}
#business_service_contact_block table {
	width: 100%;
}
#business_service_contact_block th,
#business_service_contact_block td {
	display: block;
	font-size: 21px;
	font-weight: 400;
	line-height: 1.67;
	text-align: left;
	width: 100%;
}
#business_service_contact_block th {
	padding-bottom: 11.5px;
}
#business_service_contact_block td {
	padding-bottom: 25px;
}
#business_service_contact_block tr:last-of-type td {
	padding-bottom: 23px;
}
#business_service_contact_block th span {
	display: inline-block;
	text-align: center;
	color: #ffffff;
	min-width: 77px;
	margin-left: 9px;
}
#business_service_contact_block th .required {
	background: #e60012;
}
#business_service_contact_block th .optional {
	background: #babbbb;
}
#business_service_contact_block td input,
#business_service_contact_block td textarea{
	appearance: none;
	font-size: 21px;
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	line-height: 1.67;
	width: 100%;
	padding: 7px 12px;
	border: 1px solid rgba(4, 0, 0, 0.25);
}
#business_service_contact_block td textarea{
	min-height: 181px;
}
#business_service_contact_block td textarea::placeholder{
	color: #babbbb;
}
#business_service_contact_block .privacy_box {
	padding: 15px 14px;
	border: 1px solid rgba(4, 0, 0, 0.25);
	margin-bottom: 20px;
}
#business_service_contact_block .privacy_wrap p {
	font-size: 18px;
	font-weight: 300;
	line-height: 1.53;
}
#business_service_contact_block .privacy_wrap input {
	display: none;
}
#business_service_contact_block .privacy_wrap label{
	display: block;
	font-family: "Noto Sans JP", sans-serif;
	position: relative;
	width: max-content;
	max-width: 100%;
	padding-left: 28px;
	margin: 0 auto;
	cursor: pointer;
}
#business_service_contact_block .privacy_wrap label::before{
	content: "";
    width: 23px;
    height: 23px;
    left: 0;
    display: block;
    position: absolute;
	top: 3px;
	margin: auto;
    border: 1px solid #040000;
	pointer-events: none; 
}
#business_service_contact_block .privacy_wrap label::after{
	content: "";
    display: block;
    position: absolute;
    top: 49%;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
	width: 16px;
    height: 9px;
    transform: rotate(-45deg) translateY(-90%);
    left: 9px;
    margin: auto;
    opacity: 0;
	pointer-events: none; 
}
#business_service_contact_block .privacy_wrap label:has(input:checked)::before{
	background: #e60012;
	border-color: #e60012;
}
#business_service_contact_block .privacy_wrap label:has(input:checked)::after{
    opacity: 1;
}
#business_service_contact_block .privacy_wrap .wpcf7-not-valid-tip {
	font-family: "Noto Sans JP", sans-serif;
	max-width: 730px;
	margin-left: auto;
	margin-right: auto;
}
html[lang="en"] #business_service_contact_block .privacy_wrap .wpcf7-not-valid-tip {
	max-width: 633px;
}
html[lang="zh-CN"] #business_service_contact_block .privacy_wrap .wpcf7-not-valid-tip {
	max-width: 532px;
}
#business_service_contact_block .send_box {
	margin-top: 37px;
}
#business_service_contact_block .send_box p:has(.submit_btn) {
	width: max-content;
	margin: 0 auto 13px;
}
#business_service_contact_block .send_box .submit_btn {
	appearance: none;
	font-size: 21px;
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	line-height: 1.67;
	color: #ffffff;
	background: #e60012;
	width: 189px;
	padding: 9px 0;
	border: none;
}
#business_service_contact_block .send_box .wpcf7-spinner,
#business_service_contact_block .send_box .wpcf7-not-valid-tip {
	display: none;
}
#business_service_contact_block .send_txt_box {
	padding-bottom: 310px;
	position: relative;
}
#business_service_contact_block .send_txt_box::after {
	content: '';
	display: block;
	background: url(../img/business-service/logo.png) no-repeat center center / contain;
	width: 310px;
	height: 310px;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
#business_service_contact_block .send_txt_box p {
	font-size: 18px;
	font-weight: 300;
	line-height: 1.53;
	text-align: center;
	margin-bottom: 52px;
}
#business_service_contact_block .wpcf7-list-item {
	display: block;
	margin: 0;
}
#business_service_contact_block .wpcf7-not-valid-tip {
	font-size: 16px;
}
#business_service_contact_block .details_row .wpcf7-not-valid-tip {
	margin-top: -9px;
}
#business_service_contact_block .wpcf7 form .wpcf7-response-output {
	font-size: 16px;
	text-align: center;
	padding: 2em 1em;
	border-color: #e60012;
	margin: 30px auto;
}
#business_service_contact_block .wpcf7 form.sent .wpcf7-response-output {
	border-color: #00a0d2;
}
@media screen and (max-width: 640px) {
	#business_service_contact_block {
		padding: 128px 0 19px;
	}
	#business_service_contact_block h3 {
		font-size: 18.5px;
		padding: 3px 0;
		margin-bottom: 26.5px;
	}
	html[lang="en"] #business_service_contact_block h3 {
		font-size: 16.5px;
	}
	#business_service_contact_block th,
	#business_service_contact_block td {
		font-size: 12.5px;
	}
	#business_service_contact_block th {
		padding-bottom: 7px;
	}
	#business_service_contact_block th span {
		min-width: 46.5px;
		margin-left: 5.5px;
	}
	#business_service_contact_block td {
		padding-bottom: 16.5px;
	}
	#business_service_contact_block tr:last-of-type td {
		padding-bottom: 15px;
	}
	#business_service_contact_block td input,
	#business_service_contact_block td textarea {
		font-size: 12.5px;
		padding: 4.5px 9px;
	}
	#business_service_contact_block .privacy_box {
		padding: 8px 9px;
		margin-bottom: 18px;
	}
	#business_service_contact_block .privacy_wrap p {
		font-size: 10.8px;
		line-height: 1.67;
	}
	#business_service_contact_block .privacy_wrap label {
		text-align: center;
		max-width: 278px;
		padding-left: 18.5px;
	}
	#business_service_contact_block .privacy_wrap label::before {
		width: 13.8px;
		height: 13.8px;
	}
	#business_service_contact_block .privacy_wrap label::after {
		top: 27%;
		width: 11px;
		height: 6px;
		left: 5px;
	}
	#business_service_contact_block .send_box {
		margin-top: 12px;
	}
	#business_service_contact_block .send_box p:has(.submit_btn) {
		margin-bottom: 14.7px;
	}
	#business_service_contact_block .send_box .submit_btn {
		font-size: 12.6px;
		width: 114px;
		padding: 6px 0;
	}
	#business_service_contact_block .send_txt_box {
		padding-bottom: 99px;
	}
	#business_service_contact_block .send_txt_box::after {
		width: 99px;
		height: 99px;
	}
	#business_service_contact_block .send_txt_box p {
		font-size: 10.8px;
		line-height: 1.67;
		margin-bottom: 12px;
	}
	#business_service_contact_block .wpcf7-not-valid-tip {
		font-size: 12px;
	}
	#business_service_contact_block .details_row .wpcf7-not-valid-tip {
		margin-top: -6px;
	}
	#business_service_contact_block .privacy_wrap .wpcf7-not-valid-tip,
	html[lang="en"] #business_service_contact_block .privacy_wrap .wpcf7-not-valid-tip,
	html[lang="zh-CN"] #business_service_contact_block .privacy_wrap .wpcf7-not-valid-tip {
		max-width: 278px;
	}
	#business_service_contact_block .wpcf7 form .wpcf7-response-output {
		font-size: 13px;
		padding: 1em 0.3em;
		margin: 15px auto;
	}
}