/* CSS Document */

.page_title{position: relative; z-index: 3;}
.page_title > img,
.page_title::before{position: absolute; inset:0; width:100%; height:100%;}
.page_title > img{z-index: -2;}
.page_title::before{z-index: -1; content:''; display: block; background-color: rgba(255,255,255,0.7);}
.page_title[now="company"]::before{display: none;}
.page_title .inner{
	min-height: min(500px,calc(300 * var(--size-sp)));
	padding-top: var(--size-header-H);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
}
.page_title .en{color:var(--color-B); font-size: min(18px,calc(14 * var(--size-sp))); margin-bottom: 0.5em; word-break: break-word;}
.page_title h2{white-space: pre-wrap; font-size: min(65px,calc(37 * var(--size-sp)));}
.page_title h2 font[size="-1"]{display: inline-block; border: solid 1px var(--color-K); margin-left: 1em;
font-size: 23px; padding: 0.125em 0.5em; border-radius: 8px;
}

section.pan{padding: min(30px,calc(15 * var(--size-sp))) 0 min(90px,calc(50 * var(--size-sp)));}
section.pan .inner{font-size: 0.75em; gap: 1em; display: flex; flex-wrap: wrap; align-items: center;}
section.pan .inner a{color: var(--color-gray-B);}
section.pan .inner a:first-of-type{font-size: 14px;}
section.pan .inner .arrow{display: flex; align-items: center;}
section.pan .inner .arrow::before{content:'●'; font-size: 0.5em; color: var(--color-gray-8);}

section .inner_R{background-color:  var(--color-B-T010); padding: min(110px,calc(40 * var(--size-sp))) 0;
	border-radius: var(--size-radius-sp8) 0 0 var(--size-radius-sp8);
	margin-left: auto;
	padding-left: var(--size-inner-mgn);
	padding-right: max(var(--size-inner-mgn),calc(var(--size-inner-mgn) + (1vw - 14px) * 50));
	width:calc(1250px + calc((1vw - 14px) * 150 / 2));
	max-width: calc(100% - var(--size-inner-mgn));
}
section .inner_R > *{margin-left: auto; margin-right: auto; max-width: 960px;}

.page_catch{}
.page_catch .inner{display: flex; justify-content: space-between;}
.page_catch .inner .L{flex-grow: 1; max-width: 100%; position: relative; z-index: 2;}
.page_catch .inner .L *[ct]{font-size: min(50px,calc(28 * var(--size-sp))); margin-bottom: 0.94em; position: relative;}
.page_catch .inner .L *[ct]::before{content:attr(ct); display: block;
	font-size: min(142px,calc(76 * var(--size-sp))); font-family: var(--font-en); color:var(--color-gray-E);
	position: absolute; top:0; left:0; margin: -0.2em 0; z-index: -1;
}
.page_catch .inner .L *[ct] h3{font-size: 1em; padding-top: 1.35em; white-space: pre-wrap;}
.page_catch .inner .L .cmn_text{max-width: 35em; margin-top: -0.3em;}
.page_catch .inner .R{max-width: 100%; display: flex;}
.page_catch .inner .R > *{max-width: 100%; position: relative;}
.page_catch .inner .R > * > *{border-radius: var(--size-radius); overflow: hidden;}
@media screen and (min-width: 1000px) {
	.page_catch .inner .L{width: 570px;}
	.page_catch .inner .R{
		width:min(504px,max(360px,calc(360px + 144 * (1vw - 10px) / 4)));
		margin-right: min(0px,max(-70px,calc(-70 * (1vw - 12px) / 2)));
		flex-direction: column;
	}
	.page_catch .inner .R > *:nth-child(1){width:360px; margin-left: auto; z-index: 3;}
	.page_catch .inner .R > *:nth-child(1) > *{margin-top: -220px;}
	.page_catch .inner .R > *:nth-child(2){width:240px; margin-right: auto; z-index: 4;}
	.page_catch .inner .R > *:nth-child(2) > *{margin-top: -120px;}
}
@media screen and (max-width: 999px) {
	.page_catch .inner{gap:min(50px,calc(25 * var(--size-sp))) 0; flex-direction: column; align-items: center;}
	.page_catch .inner .R{width:100%; max-width: min(407px,calc(1% * 259 / 3.35)); flex-direction: row-reverse; justify-content: center;}
	.page_catch .inner .R > *{width:153px; max-width: 240px; flex-grow: 1;}
	:root{
	--pagecatch-p-mgnLR:calc(-1% * 23.5 / 2.59)
	}
	.page_catch .inner .R > *:nth-of-type(1){margin-left: var(--pagecatch-p-mgnLR);}
	.page_catch .inner .R > *:nth-of-type(2){margin-right: var(--pagecatch-p-mgnLR); margin-top: calc(1% * 76 / 2.59);}
}

.business02{margin-top: min(135px,calc(50 * var(--size-sp)));}
.feature_list{max-width:960px; margin:min(75px,calc(35 * var(--size-sp))) auto  0; counter-reset: number 0;
gap: min(96px,calc(40 * var(--size-sp))) 0; display: flex; flex-direction: column;}
.feature_list li{display: flex; justify-content: space-between;}
.feature_list .p{width:480px; max-width:100%;}
.feature_list .p > *{width:100%; border-radius: var(--size-radius-sp8); overflow: hidden;}
.feature_list .t{display: flex; flex-direction: column; align-items: flex-start;}
.feature_list .t .f{font-size: min(20px,calc(13 * var(--size-sp))); font-family: var(--font-en); color:var(--color-B);
gap:0.5em 0; display: flex; flex-direction: column; align-items: center;}
.feature_list .t .f::before,
.feature_list .t .f::after{margin: -0.2em 0;}
.feature_list .t .f::before{content:'FEATURES';}
.feature_list .t .f::after{font-size: 5em;
counter-increment: number 1;
content: counter(number, decimal-leading-zero);}
.feature_list .t h4{white-space: pre-wrap;}
@media screen and (min-width: 1000px) {
	.feature_list li:nth-of-type(2n){flex-direction: row-reverse;}
	.feature_list .t{width:24em;}
	.feature_list .t h4{margin: 1em 0;}
}
@media screen and (max-width: 999px) {
	.feature_list li{gap:30px 0; flex-direction: column; align-items: center;}
	.feature_list .t{width:100%; gap: 1em 0; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-end;}
	.feature_list .t h4{
		flex-grow: 1;
		max-width: calc(100% - min(130px,calc(90 * var(--size-sp))) );
		font-size: min(26px, calc(18 * var(--size-sp)));
	}
}

.business03,
section[class*="business"] + .cmn_recruit{margin-top: min(115px,calc(50 * var(--size-sp)));}
.business03 .inner_R{width:calc(1320px + calc((1vw - 14px) * 80 / 2));}
.business03 .inner_R > *{max-width: 1030px;}
.service_list{margin-top: min(75px,calc(35 * var(--size-sp)));
gap:min(96px,calc(40 * var(--size-sp))) 0; display: flex; flex-wrap: wrap; justify-content: space-between;}
.service_list li{gap: 1.5em 0; display: flex; flex-direction: column;}
.service_list .p > *{width:100%; border-radius: var(--size-radius-sp8); overflow: hidden;}
.service_list .t h4{font-size: min(23px,calc(20 * var(--size-sp))); margin: -0.25em 0;}
.service_list .t h4 + .cmn_text{line-height: 2em; margin-top: 1em;}
.service_list .b{display: flex; justify-content: flex-end;}
@media screen and (min-width: 1000px) {
	.service_list li{width:477px; max-width: 48.5%;}
}
@media screen and (max-width: 999px) {
}

.business_case{margin-top: min(120px,calc(50 * var(--size-sp)));}
.business_case .inner{display: flex; justify-content: space-between;}
.case_list{max-width: 100%; border-top: solid 1px var(--color-gray-B);}
.case_list li{border-bottom: solid 1px var(--color-gray-B); padding: min(36px,calc(24 * var(--size-sp))) 0;
gap:0 50px; display: flex; justify-content: space-between;}

.case_list li .p > *{width:100%; border-radius: var(--size-radius-sp8); overflow: hidden;}
.case_list li .t{flex-grow: 1;}
.case_list li .t h5{font-size: min(20px,calc(18 * var(--size-sp))); margin-top: 0.75em;}
.case_list li .t h5 + .cmn_text{line-height: 2em; margin-top: 2em;}
@media screen and (min-width: 1000px) {
	.case_list{width:673px;}
	.case_list li .p{width:210px; min-width: 210px;}
}
@media screen and (max-width: 999px) {
	.business_case .inner,
	.case_list li{flex-direction: column;}
	.business_case .inner{gap:30px 0;}
	.case_list{width:100%;}
	.case_list li{gap:20px 0; align-items: center;}
	.case_list li > *{width:100%;}
	.case_list li .p{max-width: 420px;}
	.case_list li .t h5 + .cmn_text{margin-top: 1em;}
}

.page_kadai1{background-color: var(--color-B-T010);
margin-top: min(120px,calc(50 * var(--size-sp)));
padding: min(100px,calc(50 * var(--size-sp))) 0 min(115px,calc(50 * var(--size-sp)));}
.page_kadai1 ul{max-width: 100%; margin: min(110px,calc(45 * var(--size-sp))) auto 0; display: flex; justify-content: space-between;}
.page_kadai1 ul li{width: 430px; max-width: 100%; gap: 1.5em; display: flex; flex-direction: column;}
.page_kadai1 ul li .p{position: relative;}
.page_kadai1 ul li .p > div{
background-color: var(--color-B); color: #FFF; font-size: min(96px,calc(60 * var(--size-sp))); width:1em; height:1em; border-radius: 100%;
position: absolute; top: max(-48px,calc(-30 * var(--size-sp))); left: max(-20px,calc(-15 * var(--size-sp)));
display: flex; flex-direction: column; justify-content: center; align-items: center;}
.page_kadai1 ul li .p > div::before,
.page_kadai1 ul li .p > div::after{margin: -0.2em 0;}
.page_kadai1 ul li .p > div::before{content:'課題'; font-size: min(16px,calc(10.24 * var(--size-sp)));}
.page_kadai1 ul li .p > div::after{font-size: min(35px,calc(22.4 * var(--size-sp)));
counter-increment: number 1;
content: counter(number, decimal-leading-zero);}
.page_kadai1 ul li .p img{background-color: #FFF; border-radius: var(--size-radius-sp8);}
.page_kadai1 ul li .t{font-size: min(20px,calc(16 * var(--size-sp))); font-weight: 700; text-align: center; line-height: 1.5em; white-space: pre-wrap;}
@media screen and (min-width: 1000px) {
	.page_kadai1 ul{width:940px;}
}
@media screen and (max-width: 999px) {
	.page_kadai1 ul{width: max(275px, calc(1vw * 275 / 3.75));
	gap:min(75px,calc(50 * var(--size-sp))) 0; flex-direction: column; align-items: center;}
}

.page_kadai2{position: relative; z-index: 2;}
.page_kadai2 .bg,
.page_kadai2 .bg > *{position: absolute; inset:0; width:100%; height:100%;}
.page_kadai2 .bg img{height:100%;}
.page_kadai2 .bg{z-index: -1;}
.page_kadai2 .arrow{position: absolute; top: min(35px,calc(28 * var(--size-sp))); left: 0; right: 0; margin: auto;
width: min(270px,calc(151 * var(--size-sp))); display: flex;}
.page_kadai2 .arrow::before,
.page_kadai2 .arrow::after{content:''; display: block;
border-top: solid min(4px,calc(3 * var(--size-sp))) #FFF;
flex-grow: 1; width: 50%;}
.page_kadai2 .arrow::before{transform: rotate(30deg); transform-origin: right bottom;}
.page_kadai2 .arrow::after{transform: rotate(-30deg); transform-origin: left bottom;}
.page_kadai2 .inner{min-height: min(600px,calc(459 * var(--size-sp))); color:#FFF;
display: flex; justify-content: center; align-items: center; flex-direction: column;}
.page_kadai2 .inner > *{text-align: center;}
.page_kadai2 .inner h4{font-size: min(40px,calc(26 * var(--size-sp))); line-height: 1.75em; white-space: pre-wrap;
margin-bottom: min(1.75em,calc(30 * var(--size-sp)));}
@media screen and (max-width: 999px) {
	.page_kadai2 .inner h4{margin-top: 1em;}
	.page_kadai2 .inner h4 + *{text-align: justify;}
}

.page_tuyo{background-color: #000; color:#FFF; padding: min(115px,calc(50 * var(--size-sp))) 0 min(120px,calc(50 * var(--size-sp)));}
.page_tuyo .inner ul{margin-top: min(80px,calc(40 * var(--size-sp))); gap:16px; display: flex;}
.page_tuyo .inner ul li{width:263px; flex-grow: 1;
gap: min(1.5em,calc(12 * var(--size-sp))) 0; display: flex; flex-direction: column;}
.page_tuyo .inner ul li .p > *{width:100%; border-radius: var(--size-radius-sp8); overflow: hidden;}
.page_tuyo .inner ul li .t{text-align: center; font-weight: 700; line-height: 1.5em; white-space: pre-wrap;}
@media screen and (max-width: 999px) {
	.page_tuyo .inner ul{gap:30px calc(1% * 15 / 3.35); flex-wrap: wrap;}
	.page_tuyo .inner ul li{width:calc(1% * 159 / 3.35);}
}

.company_menu{padding-bottom: min(120px,calc(50 * var(--size-sp)));}
.company_menu .inner{gap:min(55px,calc(20 * var(--size-sp-pc1vw))) 60px; display: flex; flex-wrap: wrap; justify-content: space-between;}
.company_menu .inner > *{flex-grow: 1; width: 520px; max-width: 100%; height:min(120px,calc(60 * var(--size-sp)));
	padding-left: min(40px,calc(20 * var(--size-sp))); padding-right: min(1.5em,calc(20 * var(--size-sp)));
	border-radius: var(--size-radius);
	border: solid 1px var(--color-gray-E);
	display: flex; justify-content: space-between; align-items: center;
}
.company_menu .inner > * .t{position: relative; z-index: 2; font-size: min(1.5em,calc(16 * var(--size-sp))); font-weight: 700;}
.company_menu .inner > * .a{font-size: min(56px,calc(32 * var(--size-sp)));}
.company_menu .inner > * .a svg{height:calc(1em * 23 / 56);}
@media screen and (max-width: 999px) {
}

.company_page{background-color: var(--color-B-T010); padding: min(120px,calc(50 * var(--size-sp))) 0;}
.company_page .inner_R{background-color: #FFF;}
.company_page .inner_R > .anchor ~ .anchor{margin-top: min(110px,calc(50 * var(--size-sp)));}
.company_page .cmn_subt2{font-size: min(55px,calc(29 * var(--size-sp))); margin-bottom: min(70px,calc(35 * var(--size-sp)));}
.company_page .rinen .catch{font-size: min(47px, calc(17 * var(--size-sp)));
display: flex; justify-content: center; align-items: center;}
.company_page .rinen .catch > *{position: relative; z-index: 2; font-weight: 700; text-align: center; padding: 5px 1.5em;}
.company_page .rinen .catch > *::before,
.company_page .rinen .catch > *::after{
	content:''; display: block; width:1em; height:1em;
	border: solid min(5px,calc(3 * var(--size-sp))) var(--color-gray-B); position: absolute; z-index: -1;
}
.company_page .rinen .catch > *::before{top:0; left:0; border-right: none; border-bottom: none;}
.company_page .rinen .catch > *::after{bottom: 0; right:0; border-top: none; border-left: none;}
.company_page .shishin{}
.company_page .shishin .num_list{
	margin: 0 auto;
	gap: min(55px,calc(25 * var(--size-sp)));
	display: flex; flex-direction: column; align-items: center;
}
.company_page .shishin li{max-width: 100%; min-height: 70px;
font-size: min(1rem,calc(12 * var(--size-sp)));
gap:2em; display: flex;}
.company_page .shishin li > div{
	min-width: 5em; padding-right: 2em; border-right: solid 1px var(--color-gray-B);
	gap:0.5em; display: flex; flex-direction: column; justify-content: center; align-items: center;
}
.company_page .shishin li > div::before,
.company_page .shishin li > div::after{
	margin: -0.25em 0;
	background: var(--grad-BK-text);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.company_page .shishin li > div::before{content:'約束'; font-weight: 700;}
.company_page .shishin li > div::after{
font-size: 2.5em; font-family: var(--font-en);
counter-increment: number 1;
content: counter(number, decimal-leading-zero);}
.company_page .shishin li > dl{
	max-width: calc(100% - 7em);
	gap:1em; display: flex; flex-direction: column; justify-content: center;
}
.company_page .shishin li > dl > *{margin: -0.25em 0;}
.company_page .shishin li > dl dt{font-size: min(25px,calc(16 * var(--size-sp))); font-weight: 700;}
.company_page .shishin li > dl dd{width:34em; max-width: 100%;}
@media screen and (max-width: 999px) {
	.company_page .shishin li{gap:1em;}
	.company_page .shishin li > div{min-width: 4em; padding-right: 1em;}
	.company_page .shishin li > dl{max-width: calc(100% - 5em);}
}
.company_page .msg h4{font-size: min(47px, calc(26 * var(--size-sp))); margin-bottom: 1em;}
.company_page .msg .cmn_text + .cmn_text{margin-top: 1em; display: flex; justify-content: flex-end;}
.company_page .msg .cmn_text font[size="+1"]{font-size: 19px; line-height: 2.5em;}
@media screen and (max-width: 999px) {
	.company_page .msg .cmn_text + .cmn_text{margin-top: 1.5em;}
}

table[class*="tbl_type"]{font-size: min(1em, calc(13 * var(--size-sp))); border-spacing: 0;}
table[class*="tbl_type"] tr > *{text-align: justify; vertical-align: middle;}
table[class*="tbl_type"] tr > *{border-bottom: solid 1px var(--color-gray-E);}
table.tbl_type2 tr > *{border-bottom: solid 1px var(--color-gray-A);}
table[class*="tbl_type"] tr:first-of-type > *{border-top: solid 1px var(--color-gray-E);}
table.tbl_type2 tr:first-of-type > *{border-top: solid 1px var(--color-gray-A);}
table[class*="tbl_type"] th{box-sizing: content-box;}
table.tbl_type1 th{text-align: center; border-color: var(--color-B-T050) transparent!important;}
table.tbl_type2 th{background-color: var(--color-B-T010);}
table[class*="tbl_type"] td{line-height: 1.75em; white-space: pre-wrap;}
@media screen and (min-width: 1000px) {
	table[class*="tbl_type"] tr > *{padding: 1.5em 2em;}
	table.tbl_type1 th{padding-right: 3em;}
	table.tbl_type1 td{padding-left: 3em;}
}
@media screen and (max-width: 999px) {
		table[class*="tbl_type"] tr > *{padding: 1em;}
}

.company_page .prof,
.company_page .history{gap:0 1em; display: flex; justify-content: space-between;}
.company_page .prof .cmn_subt2 h3{min-width: 4em;}
.company_page .prof table,
.company_page .history .list{flex-grow: 1; border: none; border-spacing: 0;}
.company_page .prof table th{width:4em;}

@media screen and (min-width: 1000px) {
	.company_page .prof table,
	.company_page .history .list{max-width: 610px;}
}
@media screen and (max-width: 999px) {
	.company_page .prof,
	.company_page .history{flex-direction: column;}
}
.company_page .jisseki dl{
	gap:0 1em; display: flex; flex-wrap: wrap; justify-content: space-between;
}
.company_page .jisseki > dl{gap: min(60px,calc(30 * var(--size-sp))) 1em;}
.company_page .jisseki dl dd{flex-grow: 1; max-width:445px;}
.company_page .jisseki h4{font-size: 20px; font-weight: 700; color:var(--color-B);
position: relative; padding-bottom: 0.25em; margin-bottom: 1em;
border-bottom: solid 1px var(--color-gray-E);}
.company_page .jisseki h4::after{content:''; display: block; position: absolute; left:0; bottom:-1px;
width:150px; max-width: 100%;
border-bottom: solid 1px var(--color-B-T050);}
.company_page .jisseki h4 ~ h4{margin-top: min(60px,calc(30 * var(--size-sp)));}
.company_page .jisseki dl + dl{margin-top: 0.5em;}
.company_page .jisseki dl > *,
.company_page .jisseki .cmn_text{line-height: 2em;}
.company_page .jisseki dl dt{width:10em; min-width: 10em;}
.company_page .jisseki dl dd{flex-grow: 1;}
/*
.company_page .jisseki table{border-collapse: collapse;}
.company_page .jisseki table tr > *{text-align: left; vertical-align: top;}
.company_page .jisseki table tr:nth-of-type(n+2) > *{padding-top: 0.5em;}
.company_page .jisseki table td:nth-of-type(1){width:10em;}
*/
.company_page .history .list{font-size: min(1em, calc(13 * var(--size-sp)));}
.company_page .history .list dl{gap:0 3em; display: flex;}
.company_page .history .list dl dd{line-height: 2em;}
.company_page .history .list dl dd[d]{width: 5.75em; min-width: 5.75em; font-weight: 700; color: var(--color-B);}
.company_page .history .list dl dd[b]{display: flex; flex-direction: column; align-items: center;}
.company_page .history .list dl dd[b]::before,
.company_page .history .list dl dd[b]::after{content: ''; display: block; width:2px; background-color: var(--color-gray-E);}
.company_page .history .list dl:first-of-type dd[b]::before,
.company_page .history .list dl:last-of-type dd[b]::after{background-color: transparent;}
.company_page .history .list dl dd[b]::before{height: 0.5em; margin-bottom: -1px;}
.company_page .history .list dl dd[b]::after{flex-grow: 1; margin-top: -1px;}
.company_page .history .list dl dd[b] > *{font-size: 10px; width:1em; height:1em;
position: relative; z-index: 2;
border-radius: 100%; background-color: var(--color-B);}
.company_page .history .list dl dd[t]{white-space: pre-wrap;}
.company_page .history .list dl:not(:last-of-type) dd[t]{padding-bottom: 3em;}
@media screen and (max-width: 999px) {
	.company_page .history .list dl{gap:0 1em;}
	.company_page .history .list dl:not(:last-of-type) dd[t]{padding-bottom: 2em;}
}

.recruit_box{}
.recruit_box table{width:100%;}
.recruit_box table th{width:10em;}
@media screen and (max-width: 999px) {
	.recruit_box table th{width:4em;}
}


section *[privacy]{counter-reset: number 0;}
section *[privacy] .cmn_text{line-height: 2em;}
section *[privacy] h4{
	font-size: min(20px,calc(18 * var(--size-sp))); font-weight: 700; color: var(--color-B);
	text-indent: -1.25em;
	padding-left: 1.25em;
}
section *[privacy] h4::before{
	counter-increment: number 1;
	content: counter(number) '.';
	/* margin-right: 0.5em; */
	display: inline-block;
	width: 1.25em;
	text-indent: 0;
}
section *[privacy="page"]{}
section *[privacy="page"] .cmn_text + *{margin-top: min(90px,calc(45 * var(--size-sp)));}
section *[privacy="page"] h4{
position: relative; padding-bottom: 0.25em; margin-bottom: 1em;
border-bottom: solid 1px var(--color-gray-E);}
section *[privacy="page"] h4::after{content:''; display: block; position: absolute; left:0; bottom:-1px;
width:150px; max-width: 100%;
border-bottom: solid 1px var(--color-B-T050);}
main section .inner[privacy="page"]{max-width:var(--size-inner-960);}
section *[privacy="contact"]{
	background-color: var(--color-gray-F);
	width:100%; height:200px; margin-top: 30px; padding: 1em 2em;
	overflow: auto;
	scrollbar-color: var(--color-gray-C) var(--color-gray-F);
}
/*
section *[privacy="contact"]::-webkit-scrollbar{}
section *[privacy="contact"]::-webkit-scrollbar-track{}
section *[privacy="contact"]::-webkit-scrollbar-thumb{}
section *[privacy="contact"]::-webkit-scrollbar-button{}
*/
section *[privacy="contact"] .cmn_text + *{margin-top: 40px;}
section *[privacy="contact"] h4{margin-bottom: 0.5em;}