.mainvisual{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: -1;
}

.mainvisual img{
	height: 50vw;
	object-fit: cover;
	width: 100%;
}

section{
	background-color: #fff;
	padding-top: 12rem;
	padding-bottom: 12rem;
}

section:first-child{
	border-top-right-radius: 15.63vw;
	margin-top: 34.38vw;
}

.page .page_title{
	margin-bottom: 12rem;
}



/*----- ↓ under 767px ↓ -----*/
@media screen and (max-width: 767.98px){
	section{
		padding-top: 5rem;
		padding-bottom: 5rem;
	}
	
	section:first-child{
		margin-top: 80.69vw;
	}
	
	.mainvisual img{
		height: auto;
	}
	
	.page .page_title{
		margin-bottom: 5rem;
	}
}

/*================================

People -- ハヤシのひとたち

================================*/
:root{
	--c-department: var(--c-main);
}

#sales-department,
.sales-department{/* -- 営業（赤） -- */
	--c-department: #FF5C5C;
}
#sales-office,
.sales-office{/* -- 営業事務（橙） -- */
	--c-department: #FF9233;
}
#design-department,
.design-department{/* -- 設計（緑） -- */
	--c-department: #9BD75F;
}
#procurement-department,
.procurement-department{/* -- 調達（青） -- */
	--c-department: #6EB1FF;
}
#management-department,
.management-department{/* -- 管理（紫） -- */
	--c-department: #B983FF;
}

#people h2{
	font-size: clamp(3rem,4.24vw,5rem);
	margin-bottom: 5rem;
	letter-spacing: 0.05em;
	text-align: center;
}

#people h2::before{
	-webkit-mask-size: contain;
	background-color: var(--c-department);
	content: "";
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: clamp(3rem,3.39vw,4rem);
    mask-size: contain;
}

/*-------------------------------
アンカーボタン
-------------------------------*/
#people .intro{
	padding-bottom: 0px;
}

#people .bottom{
	padding-top: 12rem;
	padding-bottom: 12rem;
}

#people .anchor_box .link_btn{
	width: 19%;
}

#people .anchor_box a{
	background-color: var(--c-department);
	border-color: var(--c-department);
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	padding: 1.5rem;
}
#people .anchor_box a:hover{
	background-color: #fff;
	color: var(--c-department);
}

#people .anchor_box a::before{
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	content: '';
	height: 1rem;
	margin-top: -1.2rem;
	position: absolute;
	top: 50%;
	right: 2.5rem;
	transform: rotate(135deg) translateY(-50%);
	width: 1rem;
}
#people .anchor_box a:hover::before{
	border-color: var(--c-department);
}

#people .bottom .anchor_box a::before{
	margin-top: 0.2rem;
	transform: rotate(-45deg) translateY(-50%);
}

/*----- ↓ under 767px ↓ -----*/
@media screen and (max-width: 767.98px){
	#people .anchor_box .link_btn{
		margin-bottom: 2%;
		width: 49%;
	}
	
	#people .anchor_box .link_btn a{
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
}


/*-------------------------------
インタビュー
-------------------------------*/
.tmp_interview{
	padding-bottom: 0;
}

.tmp_interview .profile_box{
	align-items: center;
	max-width: 1600px;
	margin-bottom: 12rem;
	width: 95%;
}
.tmp_interview:nth-of-type(odd) .profile_box{
	flex-flow: row-reverse;
	margin-left: auto;
	margin-right: 0;
}

.tmp_interview .profile_box .img_box{
	margin-bottom: 16px;
	position: relative;
	width: 58.5%;
}

.tmp_interview .profile_box .img_box::before{
	background-color: var(--c-department);
	border-radius: 0 10px 10px 0;
	content: "";
	height: 100%;
	position: absolute;
	top: 15px;
	left: 0;
	width: 100%;
}
.tmp_interview:nth-of-type(odd) .profile_box .img_box::before{
	border-radius:  10px 0 0 10px;
}

.tmp_interview .profile_box .img_box img{
	border-radius: 0 10px 10px 0;
	filter: grayscale(100%);
	object-fit: cover;
	position: relative;
	width: calc(100% - 16px);
	z-index: 2;
}
.tmp_interview:nth-of-type(odd) .profile_box .img_box img{
	border-radius:  10px 0 0 10px;
	margin-left: auto;
	margin-right: 0;
}

.tmp_interview .profile_box .text_box{
	width: 38%;
}

.tmp_interview .profile_box .text_box .department{
	color: var(--c-department);
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1.6em;
	margin-bottom: 3rem;
}

.tmp_interview .profile_box .text_box .name{
	color: #aaa;
	font-family: var(--en);
	font-weight: 900;
	font-size: 9rem;
	line-height: 1em;
	margin-bottom: 4rem;
}

.tmp_interview .profile_box .text_box .catch{
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.6em;
	margin-bottom: 3rem;
}

.tmp_interview .profile_box .text_box .year,
.tmp_interview .profile_box .text_box .recruitment_type{
	background-color: #000;
	border: 1px solid #000;
	color: #fff;
	display: inline-block;
	font-size: 2rem;
	margin-right: 10px;
	min-width: 150px;
	padding: 5px 2rem;
	text-align: center;
}

.tmp_interview .profile_box .text_box .recruitment_type{
	background-color: #fff;
	color: #000;
}

.tmp_interview .block{
	margin-bottom: 8rem;
}
.tmp_interview .block:nth-child(even),
.tmp_interview:nth-of-type(odd) .block:nth-child(odd){
	flex-flow: row-reverse;
}

.tmp_interview:nth-of-type(odd) .block:nth-child(even){
	flex-flow: wrap;
}

.tmp_interview .block .img_box{
	width: 47.5%;
}

.tmp_interview .block .text_box{
	width: 47%;
}

.tmp_interview .block h3{
	color: var(--c-department);
	font-size: 3.2rem;
	line-height: 1.6em;
	margin-bottom: 20px;
}

.tmp_interview .block p{
	font-weight: 700;
	 text-indent: 1em;
}

.tmp_interview .block img{
	border-radius: 10px;
}


.tmp_interview .schedule_box{
	background-color: var(--c-sub_01);
	padding-top: 12rem;
	padding-bottom: 12rem;
}

.tmp_interview .schedule_box .head{
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 50px;
	cursor: pointer;
	font-size: 3rem;
	font-weight: 700;
	padding: 20px;
	position: relative;
	text-align: center;
}

.tmp_interview .schedule_box .head::before,
.tmp_interview .schedule_box .head::after{
	content: '';
	display: inline-block;
	position: absolute;
	top: 2.4rem;
	right: 6rem;
	width: 3px;
	height: 5rem;
	background-color: var(--c-department);
}
.tmp_interview .schedule_box .head::after{
 	transform: rotate(90deg);
}
.tmp_interview .schedule_box .head.open::before{
	display: none;
}

.tmp_interview .schedule_box .accordion_inner{
	display: none;
}

.tmp_interview .schedule_box .accordion_inner hgroup{
	margin-top: 5rem;
	margin-bottom: 6rem;
}

.tmp_interview .schedule_box .accordion_inner hgroup p{
	color: var(--c-department);
	font-size: 2rem;
	margin-bottom: 10px;
}

.tmp_interview .schedule_box .accordion_inner hgroup h3{
	font-size: 4rem;
}

.tmp_interview .schedule_box .accordion_inner dl{
	display: flex;
	flex-wrap: wrap;
	margin-left: auto;
	margin-right: auto;
	max-width: 750px;
	position: relative;
	width: 100%;
}

.tmp_interview .schedule_box .accordion_inner dl::before{
	background-color: var(--c-department);
	content: "";
	height: calc(100% - 30px);
	position: absolute;
	top: 10px;
	left: 103px;
	width: 2px;
}

.tmp_interview .schedule_box .accordion_inner dl dt{
	flex-shrink: 0;
	font-size: 2.3rem;
	font-weight: 700;
	margin-bottom: 3.8rem;
	padding-top: 8px;
	padding-bottom: 8px;
	position: relative;
	width: 150px;
}

.tmp_interview .schedule_box .accordion_inner dl dt::before{
	background-color: var(--c-sub_01);
	border: 1px solid var(--c-department);
	border-radius: 50%;
	content: "";
	height: 30px;
	position: absolute;
	top: 10px;
	right: 30px;
	width: 30px;
}

.tmp_interview .schedule_box .accordion_inner dl dt::after{
	background-color: var(--c-department);
	border-radius: 50%;
	content: "";
	height: 20px;
	position: absolute;
	top: 16px;
    right: 36px;
	width: 20px;
}

.tmp_interview .schedule_box .accordion_inner dl dd{
	background-color: #fff;
	border-radius: 25px;
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 3.8rem;
	padding: 10px 20px;
	width: calc(100% - 150px);
}

.tmp_interview .schedule_box .accordion_inner dl dt:last-of-type,
.tmp_interview .schedule_box .accordion_inner dl dd:last-of-type{
	margin-bottom: 0;
}

/*----- ↓ under 767px ↓ -----*/
@media screen and (max-width: 767.98px){
	.tmp_interview .profile_box{
		margin-bottom: 5rem;
	}
	
	.tmp_interview .profile_box .img_box{
		margin-bottom: 45px;
		width: 100%;
	}
	
	.tmp_interview .profile_box .text_box{
		padding-left: 15px;
		width: 100%;
	}
	.tmp_interview:nth-of-type(odd) .profile_box .text_box{
		padding-left: 0;
		padding-right: 15px;
	}
	
	.tmp_interview .profile_box .text_box .department{
		font-size: 2rem;
		margin-bottom: 10px;
	}
	
	.tmp_interview .profile_box .text_box .name{
		font-size: 5.5rem;
		letter-spacing: 0.05em;
		margin-bottom: 20px;
	}
	
	.tmp_interview .profile_box .text_box .catch{
		font-size: 2rem;
	}
	
	.tmp_interview .profile_box .text_box .year,
	.tmp_interview .profile_box .text_box .recruitment_type{
		font-size: 1.6rem;
		min-width: 10rem;
	}
	
	.tmp_interview .block:nth-child(even),
	.tmp_interview:nth-of-type(odd) .block:nth-child(odd),
	.tmp_interview:nth-of-type(odd) .profile_box{
		flex-flow: wrap;
	}
	
	.tmp_interview .block{
		margin-bottom: 5rem;
	}
	
	.tmp_interview .block .img_box{
		margin-bottom: 15px;
		width: 100%;
	}
	
	.tmp_interview .block .text_box{
		width: 100%;
	}
	
	.tmp_interview .block h3{
		font-size: 2rem;
		margin-bottom: 10px;
	}
	
	.tmp_interview .block p{
		font-weight: 500;
		margin-bottom: 1em;
	}
	
	.tmp_interview .schedule_box{
		padding-top: 7rem;
		padding-bottom: 7rem;
	}
	
	.tmp_interview .schedule_box .head{
		font-size: 2rem;
		line-height: 1.4em;
		padding: 20px 50px;
	}
	
	.tmp_interview .schedule_box .head::before,
	.tmp_interview .schedule_box .head::after{
		height: 25px;
		top: 50%;
		right: 3rem;
		transform: translateY(-50%);
	}
	
	.tmp_interview .schedule_box .head::after{
		margin-top: -12.5px;
		transform: rotate(90deg);
	}
	
	.tmp_interview .schedule_box .accordion_inner hgroup{
		margin-bottom: 4rem;
	}
	
	.tmp_interview .schedule_box .accordion_inner hgroup p{
		font-size: 1.8rem;
	}
	
	.tmp_interview .schedule_box .accordion_inner hgroup h3{
		font-size: 2rem;
	}
	
	.tmp_interview .schedule_box .accordion_inner dl::before{
		 left: 88px;
	}
	
	.tmp_interview .schedule_box .accordion_inner dl dt{
		font-size: 2rem;
		margin-bottom: 2rem;
		width: 120px;
	}
	
	.tmp_interview .schedule_box .accordion_inner dl dt::before{
		top: 8px;
		right: 15px;
	}
	
	.tmp_interview .schedule_box .accordion_inner dl dt::after{
		top: 14px;
		right: 21px;
	}
	
	.tmp_interview .schedule_box .accordion_inner dl dd{
		font-size: 1.6rem;
		margin-bottom: 2rem;
		width: calc(100% - 120px);
	}
}



/*-----------
営業部
-----------*/
#sales-department h2::before{
	-webkit-mask-image: url("../img/common/icon_sales-department.png");
	mask-image: url("../img/common/icon_sales-department.png");
	height: 70px;
	width: 82px;
}

/*----- ↓ under 767px ↓ -----*/
@media screen and (max-width: 767.98px){
	#sales-department h2::before{
		height: 56px;
		width: 65.6px;
	}
}

/*-----------
営業事務
-----------*/
#sales-office h2::before{
	-webkit-mask-image: url("../img/common/icon_sales-office.png");
	mask-image: url("../img/common/icon_sales-office.png");
	height: 82px;
	width: 100px;
}

/*----- ↓ under 767px ↓ -----*/
@media screen and (max-width: 767.98px){
	#sales-office h2::before{
		height: 65.6px;
		width: 80px;
	}
}

/*-----------
設計
-----------*/
#design-department h2::before{
	-webkit-mask-image: url("../img/common/icon_design-department.png");
	mask-image: url("../img/common/icon_design-department.png");
	height: 80px;
	width: 80px;
}

/*----- ↓ under 767px ↓ -----*/
@media screen and (max-width: 767.98px){
	#design-department h2::before{
		height: 64px;
		width: 64px;
	}
}

/*-----------
調達
-----------*/
#procurement-department h2::before{
	-webkit-mask-image: url("../img/common/icon_procurement-department.png");
	mask-image: url("../img/common/icon_procurement-department.png");
	height: 100px;
	width: 100px;
}

/*----- ↓ under 767px ↓ -----*/
@media screen and (max-width: 767.98px){
	#procurement-department h2::before{
		height: 80px;
		width: 80px;
	}
}

/*-----------
管理
-----------*/
#management-department h2::before{
	-webkit-mask-image: url("../img/common/icon_management-department.png");
	mask-image: url("../img/common/icon_management-department.png");
	height: 92px;
	width: 69px;
}

/*----- ↓ under 767px ↓ -----*/
@media screen and (max-width: 767.98px){
	#management-department h2::before{
		height: 73px;
		width: 55.2px;
	}
}


/*================================

privacy-policy -- プライバシーポリシー

================================*/
#page_title_wrap{
	padding-top: 20rem;
	padding-bottom: 16rem;
}

#page_title_wrap .page_title{
	margin-bottom: 0;
}

#privacy-policy section{
	background-color: var(--c-sub_02);
}

#privacy-policy h2{
	font-size: clamp(2rem,3.91vw,5rem);
	margin-bottom: clamp(3rem,6.25vw,8rem);
	text-align: center;
}

#privacy-policy .policy_content{
	background-color: #fff;
	margin-top: clamp(3rem,4.69vw,6rem);
	padding: 5rem 5rem;
}

#privacy-policy .policy_content .block{
	counter-increment: h3_number;
	margin-bottom: clamp(4rem,4.69vw,6rem);
}

#privacy-policy .policy_content h3{
	border-bottom: 1px solid #aaa;
	font-size: clamp(1.9rem,2.5vw,3.2rem);
	margin-bottom: clamp(2rem,2.34vw,3rem);
	padding-bottom: clamp(0.8rem,0.94vw,1.2rem);
}

#privacy-policy .policy_content h3::before{
	color: var(--c-main);
    content: counter(h3_number);
	font-family: var(--en);
	font-size: clamp(3.2rem,3.91vw,5rem);
	line-height: 1em;
	margin-right: 1.5rem;
	vertical-align: middle;
	position: relative;
	top: -0.5rem;
}

#privacy-policy .policy_content h4{
	color: var(--c-main);
	font-size: clamp(1.8rem,2.19vw,2.8rem);
	margin-top: clamp(2rem,3.13vw,4rem);
	margin-bottom: 2rem;
}

#privacy-policy .policy_content p{
	font-weight: 500;
	margin-bottom: 2rem;
}

#privacy-policy .policy_content p a{
	text-decoration: underline;
}


/*----- ↓ under 767px ↓ -----*/
@media screen and (max-width: 767.98px){
	#page_title_wrap{
		padding-top: 12rem;
   		padding-bottom: 6rem;
	}
	
	#privacy-policy .policy_content{
		padding: 3rem 15px 4rem;
	}
}