@charset "utf-8";

/******************* 統一設定 *******************/
div.contents{
	overflow-x:hidden;
}

/******************* ヘッダー *******************/
header{
	width:100%;
	height:100%;
	background:url("./../img/top/header.webp") no-repeat center/cover;
	position:relative;
}

header h1{
	width:95%;
	max-width:fit-content;
	max-width:-moz-fit-content;
	height:fit-content;
	height:-moz-fit-content;
	margin:auto;
	color:#fff;
	text-align:center;
	line-height:1.25;
	font-size:5em;
	font-weight:900;
	position:absolute;
	top:-65px;
	left:0;
	right:0;
	bottom:0;
}

header .newsbox{
	position:absolute;
	right:25px;
	bottom:30px;
}

header .newsbox h3{
	color:#fff;
	text-shadow:0 0 7px #000;
}

header .newsbox .irp-item{
	border-radius:15px;
}

header .newsbox .irp-press-release .irp-item:nth-child(n+2){
	display:none;
}

/******************* 各セクション *******************/
#sec01{
	width:95%;
	max-width:1366px;
	margin:0 auto;
	padding:50px 0 170px;
	position:relative;
}

#sec01::after{
	width:150vw;
	color:#e9e9e9;
	font-size:5em;
	font-weight:bold;
	white-space:nowrap;
	position:absolute;
	left:-25vw;
	bottom:0;
	z-index:0;
	overflow:hidden;
	content:"Group Company Group Company Group Company Group Company Group Company Group Company";
}

#sec01 .titlebox{
	width:100%;
	margin:0 auto;
	color:#9f8c5a;
	font-size:var(--sm-font-size-20px);
}

#sec01 .titlebox h1{
	line-height:1;
	font-size:3.5em;
	font-weight:bold;
}

#sec01 .newsbox{
	margin-top:30px;
	flex-direction:row;
	column-gap:50px;
}

#sec01 .newsbox .category{
	width:30%;
	max-width:270px;
}

#sec01 .newsbox .category .title{
	margin-bottom:15px;
	font-weight:900;
	column-gap:10px;
	align-items:center;
}

#sec01 .newsbox .category .title::after{
	width:100%;
	border-top:solid 2px #000;
	position:relative;
	top:2px;
	content:"";
}

#sec01 .newsbox .category form{
	row-gap:5px;
	flex-direction:column;
}

#sec01 .newsbox .category form label{
	margin-left:-5px;
	padding:10px;
	color:#555;
	border-radius:5px;
	transition:background-color .2s ease;
	user-select:none;
	cursor:pointer;
	align-items:center;
}

#sec01 .newsbox .category form label:has(input:checked){
	background:#f5ecd5;
}

#sec01 .newsbox .category form input[type="radio"]{
	width:0;
	height:0;
	appearance:none;
	-webkit-appearance:none;
	position:absolute;
	opacity:0;
}

#sec01 .newsbox .category form label span:first-of-type::before{
	width:16px;
	height:16px;
	margin-right:10px;
	background:#fff;
	border:solid 1px #999;
	border-radius:50%;
	vertical-align:middle;
	transition:border-color .2s ease,background-color .2s ease;
	display:inline-block;
	position:relative;
	top:-1px;
	content:"";
}

#sec01 .newsbox .category form input[type="radio"]:checked + span{
	font-weight:bold;
}

#sec01 .newsbox .category form input[type="radio"]:checked + span::before{
	border-color:#9f8c5a;
	background:radial-gradient(circle,#9f8c5a 60%,transparent 61%);
}

#sec01 .newsbox .category form label:hover {
	background:#eee;
}

#sec01 .newsbox .list{
	width:100%;
	row-gap:20px;
	flex-direction:column;
}

#sec01 .newsbox .list details{
	width:100%;
	padding:10px 5px;
	color:#fff;
	background:#9f8c5a;
	text-align:center;
	font-size:1.25em;
	border-radius:10px;
	cursor:pointer;
	list-style:none;
	display:none;
}

#sec01 .newsbox .list details summary{
	list-style:none;
}

#sec01 .newsbox .list details summary p{
	font-weight:bold;
	position:relative;
}

#sec01 .newsbox .list details summary p::before{
	position:absolute;
	left:10px;
	content:"\f0b0";
}

#sec01 .newsbox .list details form{
	padding:10px 10px 0;
	flex-direction:column;
	row-gap:15px;
}

#sec01 .newsbox .list details form label{
	column-gap:10px;
}

#sec01 .newsbox .list details form label input{
	width:18px;
	position:relative;
	top:1px;
}

#sec01 .newsbox .button{
	width:100%;
	margin-top:20px;
}

#sec01 .newsbox .button a{
	width:100vw;
	padding:15px 0;
	color:#fff;
	background:#9f8c5a;
	text-align:center;
	font-weight:500;
	border-radius:10px;
	position:relative;
}

#sec01 .newsbox .button a::after{
	margin-top:-4px;
	color:#fff;
	font-size:1.25em;
	font-weight:bold;
	position:absolute;
	right:30px;
	content:"\f054";
}

#sec02{
	width:100%;
	padding:50px 0;
	position:relative;
}

#sec02::before{
	width:100vw;
	height:100%;
	background:#8b8b8b url("./../img/top/section2_bg.webp") no-repeat top center/cover;
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	z-index:-1;
	content:"";
}

#sec02 .innerbox{
	width:95%;
	max-width:1366px;
	margin:0 auto;
}

#sec02 .titlebox{
	font-size:var(--sm-font-size-20px);
}

#sec02 .titlebox *{
	color:#fff;
	font-weight:bold;
}

#sec02 .titlebox h1{
	line-height:1;
	font-size:3.5em;
	font-weight:bold;
}

#sec02 .groupWrapper{
	margin-top:50px;
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:50px 30px;
	align-items:stretch;
}

#sec02 .grouplist{
	display:contents;
}

#sec02 .grouplist .category{
	width:100%;
	grid-template-rows:auto 1fr;
	row-gap:30px;
	align-self:stretch;
}

#sec02 .grouplist .category p.label{
	color:#fff;
	text-align:left;
	font-size:1.1em;
	border-bottom:solid 3px #9f8c5a;
}

#sec02 .grouplist .category .itemlist{
	display:grid;
	grid-template-columns:1fr;
	gap:30px;
	align-items:stretch;
	flex:initial!important;
}

#sec02 #education .itemlist{
	grid-template-columns:repeat(2,1fr);
}

#sec02 .grouplist .category .item{
	width:auto;
	background:#fff;
	border-radius:10px;
	box-shadow:0 0 12px #0008;
	height:100%;
	flex-direction:column;
	flex:initial!important;
}

#sec02 .grouplist .category .item .logo{
	flex:1 1 auto;
	min-height:150px;
	padding:20px 10px;
	align-items:center;
	justify-content:center;
}

#sec02 .grouplist .category .item .companyName{
	width:100%;
	height:75px;
	color:#fff;
	background:#858585;
	text-align:center;
	font-weight:500;
	border-radius:0 0 9px 9px;
	line-height:1.4;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	overflow:hidden;
	text-overflow:ellipsis;
	align-items:center;
	justify-content:center;
}

#sec02 #education{
	grid-column:span 2;
}

#sec02 #welfare{
	grid-column:auto!important;
}


@media (max-width:1366px){
	#sec01 .titlebox h1{
		font-size:2.8em;
	}
}

@media (max-width:999px){
	#sec01 .titlebox{
		width:76.5%;
		right:max(30px,5.75vw)
	}

	#sec02::before{
		background:#8b8b8b url("./../img/top/section2_bg_sp.webp") no-repeat top center/cover;
	}

	#sec01 .titlebox{
		width:100%;
	}

	#sec01 .newsbox .category{
		display:none;
	}

	#sec01 .newsbox .list details{
		display:block;
	}

	#sec02 .groupWrapper,#sec02 .grouplist .category .itemlist{
		display:flex;
		flex-direction:column;
	}
}

@media (max-width:767px){
	header{
		background-position-x:7%;
	}

	header h1{
		margin:auto 0;
		text-align:left;
		font-size:3.5em;
		top:20%;
		left:20px;
		bottom:unset;
	}

	header .newsbox{
		width:95%;
		margin:0 auto;
		left:0;
		right:0;
		bottom:20px;
	}

	header .newsbox h3{
		display:none;
	}

	header .newsbox .itembox{
		padding:20px 15px;
	}
	
	#sec01::before,#sec01::after{
		display:none;
	}

	#sec01 .titlebox{
		margin:20px auto 0;
		row-gap:10px;
		right:unset;
	}

	#sec01 .titlebox h1{
		font-size:2.45em;
	}

	#sec01 .titlebox div.button{
		width:100%;
	}

	#sec01 .titlebox div.button a{
		width:100vw;
	}
}
