/* CSS Document */

.page_title{position: relative; z-index: 3;
background-image: url("../img/page/bg-pagetop.svg");
background-position: center center;
background-repeat: no-repeat;
background-size: 960px 240px;
}
/*
.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))); */
	min-height: min(240px,calc(120 * var(--size-sp)));
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.page_title .en{color:var(--color-B); font-size: min(18px,calc(14 * var(--size-sp))); font-weight: 700; /* margin-bottom: 0.5em; */ word-break: break-word;}
.page_title h2{white-space: pre-wrap; font-size: min(40px,calc(37 * var(--size-sp))); font-weight: 500;}
.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;}
@media screen and (min-width: 1000px) {
	.page_title.photoR h2{padding-left: 0.9em; white-space: pre-wrap;}
	.page_title.photoR{padding: 50px 0 20px; background-image: none; overflow: hidden;}
	.page_title.photoR .inner{position: relative;
flex-direction: row; justify-content: space-between;}
	.page_title.photoR .inner::before{content:''; display: block;
position: absolute; top:24px; left:-55px; width:298px; height:247px; z-index: -1;
background-image: url("../img/page/bg-pagetop-L.svg");
background-position: center center;
background-repeat: no-repeat;
background-size: 298px 247px;}
	.page_title.photoR .inner img{width:654px; height:331px; border-radius: var(--size-radius);}
	.page_title.photoR .inner img[src*="-2."]{width:202px; height:145px;
	position: absolute; right:-40px; top:-50px;}
}
@media screen and (max-width: 999px) {
	.page_title{background-size: contain;}
	.page_title.photoR h2 br,
	.page_title.photoR .inner img{display: none;}
}

section.pan{padding: 0 0 min(70px,calc(40 * var(--size-sp)));}
section.pan .inner{font-size: 0.75em; position: relative;
gap: 0.5em; display: flex; flex-wrap: wrap; align-items: center;}
section.pan .inner .arrow{display: flex; align-items: center;}
section.pan .inner .arrow::before{content:'＞';}
section.pan .inner img{position: absolute; top: 30px; right: 0; width: 55px; z-index: -1;}
@media screen and (max-width: 999px) {
	section.pan .inner img{display: none;}
}

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-C);}
table.tbl_type2 tr > *{border-bottom: solid 1px var(--color-gray-C);}
table[class*="tbl_type"] tr:first-of-type > *{border-top: solid 1px var(--color-gray-C);}
table.tbl_type2 tr:first-of-type > *{border-top: solid 1px var(--color-gray-C);}
table[class*="tbl_type"] th{box-sizing: content-box;}
table.tbl_type1 th{text-align: center; border-color: var(--color-C) transparent!important;}
table.tbl_type2 th{background-color: var(--color-B-L);}
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{width: 10em; padding-left: 0; padding-right: 0;}
	table.tbl_type1 td{padding-left: 3em;}
}
@media screen and (max-width: 999px) {
	table[class*="tbl_type"] tr > *{padding: 1em;}
	table.tbl_type1 th{width:5em;}
}

.about_catch{overflow: hidden;}
.about_catch .inner{padding-bottom: var(--size-mgnT); justify-content: space-between;}
.about_catch .inner h4{font-size: 36px; font-weight: 500;}
.about_catch .inner .cmn_text{margin-top: 2em; line-height: 3em;}
.about_catch .R{width: 406px; max-width: 100%; margin-right: -40px; position: relative;
gap: 40px 0; display: flex; flex-direction: column;}
.about_catch .R img[src*="deco"]{width:32px; position: absolute; left: 0; bottom: 50px;}
.about_catch .R img[src*="-p"]{width:202px; border-radius: var(--size-radius);}
.about_catch .R img[src*="-p02"]{width:274px; margin-left: auto;}
.about_catch .R img[src*="-p03"]{margin-left: calc(1% * 85 / 4.06);}
@media screen and (max-width: 999px) {
	.about_catch .inner{gap: 50px 0; flex-direction: column;}
	.about_catch .R{margin-right: 0;}
}

.about_msg{}
.about_msg .inner{padding: 80px 0; max-width: var(--size-inner-1100); position: relative;
justify-content: space-between; align-items: stretch;}
.about_msg .inner > img{position: absolute;}
.about_msg .inner > img[src*="L"]{width:135px; left:15px; top: -30px;}
.about_msg .inner > img[src*="R"]{width:97px; right:35px; bottom: 90px;}
.about_msg .inner > div{width:100%; max-width: 640px;margin: 0 auto;}
.about_msg .inner h4{font-size: 28px; font-weight: 500; margin-top: 1.75em;}
.about_msg .inner .cmn_text{margin-top: 1em; line-height: 2em;}
.about_msg .inner .name{text-align: right; gap: 0 1em; display: flex; justify-content: flex-end; align-items: baseline;}
.about_msg .inner .name b{font-size: 1.25em;}

.about_company{}
.about_company .inner{padding: var(--size-mgnT) 0; justify-content: space-between; align-items: flex-start;}
.about_company .inner .R{width:720px; max-width: 100%; padding-top: 30px;}
.about_company .inner .R iframe{margin-top: 50px;}
@media screen and (max-width: 999px) {
	.about_company .inner{flex-direction: column;}
	.about_company .inner .R{width:100%;}
}

.about_location{}
.about_location .inner{padding: 70px 0 var(--size-mgnT); flex-direction: column; align-items: flex-start;}
.about_location .list{width: 100%; margin-top: 30px; gap: 50px 0; display: flex; flex-direction: column;}
.about_location .list a{background-color: #FFF; display: block; border-radius: var(--size-radius); overflow: hidden;}
.about_location .list dl{height:220px; display: flex;}
.about_location .list dl dd[p]{width:320px; display: flex;}
.about_location .list dl dd[p] img{width:100%; height:100%;}
.about_location .list dl dd[t]{flex-grow: 1; padding-left: 30px;
display: flex; flex-direction: column; justify-content: center;}
.about_location .list dl dd[t] h4{font-size:24px; font-weight: 500;}
.about_location .list dl dd[t] h4 + *{margin-top: 0.5em;}
.about_location .list dl dd[a]{padding-right: 50px; display: flex; align-items: center;}
.about_location .list dl dd[a] > *{font-size: 42px;}
.about_location a:hover svg[fn*="arrow-"] circle{fill:var(--color-C);}
@media screen and (max-width: 999px) {
	.about_location .list dl{height: auto; flex-direction: column;}
	.about_location .list dl dd[p]{width:100%;}
	.about_location .list dl dd[p] img{aspect-ratio: 335 / 220;}
	.about_location .list dl dd[t]{padding: 30px;}
	.about_location .list dl dd[a]{padding: 0 0 30px; justify-content: center;}
}

.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 .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-C);}
.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 .cmn_subt1 + table{margin-top: 30px;}
@media screen and (max-width: 999px) {
	.recruit_box table th{width:4em;}
}

section *[privacy]{counter-reset: number 0;}
section *[privacy] .cmn_text{line-height: 1.75em;}
section *[privacy] h4{
	font-size: min(20px,calc(18 * var(--size-sp))); font-weight: 700; line-height: 1.2em;
	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] h4 + .cmn_text{margin-top: 0.25em;}
section *[privacy="page"]{}
section *[privacy="page"] .cmn_text + *{margin-top: 2em;}
section *[privacy="page"] h4{}
main section .inner[privacy="page"]{}
section *[privacy="contact"]{
	/* background-color: var(--color-gray-C); */
	background-color: #FFF;
	border:solid 1px var(--color-gray-C);
	width:100%; height:200px; margin-top: 30px; padding: 1em 2em;
	overflow: auto;
	/* scrollbar-color: var(--color-gray-C) var(--color-gray-C); */
}
/*
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;}