/* ******************************************************************
 *	File name		: page.css
 *	Summary			: css base
 * ******************************************************************
 */

/* -----------------------------------------------------------------
   company
----------------------------------------------------------------- */

#access_list{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	width:950px;
	max-width:100%;
	}
	#access_list li{
		width:45.26%;
		margin:0 0 100px !important;
	}
	#access_list li div.map{
		position:relative;
		margin:0 0 20px;
		}
		#access_list li div.map iframe{
			position:relative;
			width:100%;
			height:320px;
	}
	#access_list li h4{
		position:relative;
		margin:0 0 20px;
		padding-left:30px;
		color:rgba(59,65,130,1);
		}
		#access_list li h4::before{
			content:" ";
			position:absolute;
			top:11px;
			left:0px;
			width:20px;
			height:20px;
			background:rgba(59,65,130,1);
			-moz-border-radius:50%;
			-webkit-border-radius:50%;
			border-radius:50%;
	}
	#access_list li p{
		margin:0 0px;
		font-size:1.2rem;
		line-height:1.5;
	}

#cpy_build{
	position:absolute;
	right:0px;
	width:300px;
	max-width:23%;
}

#bdid_company .accordion > div{
	padding:10px 20px 10px;
}
#bdid_company table.cualifications{
	width:100%;
	border:none;
	}
	#bdid_company table.cualifications th,
	#bdid_company table.cualifications td{
		position:relative;
		padding:5px;
		font-weight:bold;
		font-size:0.9rem;
		text-align:left;
		color:#000;
		border:none;
		border-bottom:2px solid #D8D9E6 !important;
		background:none;
	}
	#bdid_company table.cualifications th{
		vertical-align:text-top;
		padding-left:20px;
		}
		#bdid_company table.cualifications th::before{
			content:" ";
			display:block;
			position:absolute;
			top:13px;
			left:0px;
			width:12px;
			height:12px;
			-moz-border-radius:50%;
			-webkit-border-radius:50%;
			border-radius:50%;
			background:#3B4182;
	}
	#bdid_company table.cualifications td{
		font-weight:normal;
}

/* --- responsive --- */
@media only screen and (max-width:1100px){
	#cpy_build{
		position:absolute;
		right:0px;
		width:150px;
		max-width:100%;
	}
	#bdid_company table.cualifications{
		border:none;
	}
	#access_list li{
		width:100%;
		margin:0 0 50px !important;
	}
	#access_list li div.map iframe{
		height:250px;
	}
	#access_list li h4{
		margin:0 0 0px;
		padding-left:20px;
		font-size:1.1rem;
		}
		#access_list li h4::before{
			top:7px;
			left:0px;
			width:15px;
			height:15px;
	}
	#access_list li p{
		font-size:0.9rem;
	}
}
@media only screen and (max-width:767px){
	#cpy_build{
		position:relative;
		width:300px !important;
		margin:0 auto 20px;
	}
	#bdid_company table.cualifications th,
	#bdid_company table.cualifications td{
		display:block;
	}
	#bdid_company table.cualifications td{
		width:calc(100% - 10px);
		margin:0 0 0 10px;
		padding:2px 10px 0px 10px;
		border-bottom:1px solid #D8D9E6 !important;
	}
}

/* -----------------------------------------------------------------
   service
----------------------------------------------------------------- */

.service_box{
	position:relative;
	padding:0px 20px 20px;
	text-align:left;
	}
	.service_box .box_lr{
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:space-between;
		flex-wrap:wrap;
		position:relative;
	}
	.service_box .box_lr div{
		width:calc(100% - 310px);
	}
	.service_box .box_lr div.figure_s{
		position:relative;
		width:290px;
	}
	.service_box .box_lr figure{
		position:relative;
		right:0px;
		width:290px;
		}
		.service_box .box_lr figure img{
			width:100%;
			height:auto;
	}
	.service_box .box_lr figure figcaption{
		font-size:0.9rem;
	}
	.service_box p{
		line-height:1.6;
	}
	.service_box h5{
		font-size:1.1rem;
		font-weight:bold;
		color:var(--base-color);
	}
	.service_box h5 + h5{
		margin-top:10px;
}
/* --- responsive --- */
@media only screen and (max-width:1100px){
	.service_box .box_lr div{
		width:100%;
		margin:0 0 20px;
	}
	.service_box .box_lr figure{
		width:290px;
		margin:0 auto;
	}
}

#bdid_service #anchor_01 .contents::before,
#bdid_service #anchor_02 .contents::before,
#bdid_service #anchor_03 .contents::before,
#bdid_service #anchor_04 .contents::before{
	content:" ";
	position:absolute;
	right:0px;
}
#bdid_service #anchor_01 .contents::before{
	top:-20px;
	width:255px;
	height:206px;
	background:url(../../image/service/illust_01.png) no-repeat 0 0;
	z-index:10;
}
#bdid_service #anchor_02 .contents::before{
	top:-20px;
	width:232px;
	height:160px;
	background:url(../../image/service/illust_02.png) no-repeat 0 0;
	z-index:10;
}
#bdid_service #anchor_03 .contents::before{
	top:0px;
	width:290px;
	height:107px;
	background:url(../../image/service/illust_03.png) no-repeat 0 0;
	z-index:10;
}
#bdid_service #anchor_04 .contents::before{
	top:-20px;
	width:185px;
	height:185px;
	background:url(../../image/service/illust_04.png) no-repeat 0 0;
	z-index:10;
}

/* --- responsive --- */
@media only screen and (max-width:640px){
	#bdid_service #anchor_01 .contents::before,
	#bdid_service #anchor_02 .contents::before,
	#bdid_service #anchor_03 .contents::before,
	#bdid_service #anchor_04 .contents::before{
		display:none;
	}
}

#bdid_service footer::before{
	background:url(../../image/base/ft_bg.webp) no-repeat 0 0 #F2F2F2;
	background-size:cover;
}

/* -----------------------------------------------------------------
   survey
----------------------------------------------------------------- */

#survey_event figure{
	position:relative;
	width:372px;
	max-width:100%;
	margin:0 auto -200px;
	z-index:10;
}
#survey_event_box{
	position:relative;
	padding:230px 30px 10px;
	background:#F5F5F9;
	-moz-border-radius:20px;
	-webkit-border-radius:20px;
	border-radius:20px;
}
#survey_event_box h4{
	position:absolute;
	left:30px;
	font-weight:bold;
	font-size:1.2rem;
	color:rgba(59,65,130,1);
}
#survey_event_box p{
	font-size:0.9rem;
}
#survey_event_box table{
	position:relative;
	width:calc(100% - 200px);
	margin-left:200px;
	border:none;
	}
	#survey_event_box table th{
		text-align:left;
		border:none;
		border-bottom:1px solid rgba(59,65,130,0.3);
		color:rgba(59,65,130,1);
	}
	#survey_event_box table td{
		text-align:right;
		border:none;
		border-bottom:1px solid rgba(59,65,130,0.3);
}

/* --- responsive --- */
@media only screen and (max-width:1100px){
	#survey_event{
		width:100%;
	}
}
@media only screen and (max-width:767px){
	#survey_event figure{
		margin:0 auto -100px;
	}
	#survey_event_box{
		padding:130px 20px 10px;
	}
	#survey_event_box h4{
		position:relative;
		left:0px;
	}
	#survey_event_box p{
		font-size:1.0rem;
	}
	#survey_event_box table{
		width:100%;
		margin-left:0px;
	}
	#survey_event_box table *{
		font-size:0.8rem;
	}
}

.bg_black{
	background:#000;
}
.bg_black *{
	color:#FFF;
	}
	#main_contents .bg_black h3,
	#main_contents .bg_black h3 span{
		color:#FFF;
}
.survey_black_01{
	margin:0 0 0px;
	padding-bottom:0px !important;
}
.survey_black_01 .contents{
	margin:0 0 0px;
}
.survey_black_01 .survey_black_01_box{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	}
	.survey_black_01 .survey_black_01_box figure{
		width:357px;
	}
	.survey_black_01 .survey_black_01_box figure + div{
		width:calc(100% - 377px);
	}
	.survey_black_01 .survey_black_01_box figure + div h4{
		margin:0 0 20px;
		padding-left:20px;
		font-weight:bold;
		font-size:2.0rem !important;
		border-left:7px solid #FFF;
}

/* --- responsive --- */
@media only screen and (max-width:1100px){
	.survey_black_01 .survey_black_01_box figure{
		width:357px;
		margin:0 auto 20px;
	}
	.survey_black_01 .survey_black_01_box figure + div{
		width:100%;
	}
}
@media only screen and (max-width:767px){
	.survey_black_01 .survey_black_01_box figure + div h4{
		font-size:1.4rem !important;
		border-left:7px solid #FFF;
	}
}

#survey_black_img{
	padding:0 0 100px;
	background:#000;
}
@media only screen and (max-width:767px){
	#survey_black_img{
		padding:0 0 50px;
	}
}

.survey_black_02_box .title{
	margin:50px 0 30px;
	padding:0 0 0 15px;
	border-left:7px solid #FFF;
	}
	.survey_black_02_box .title h4{
		margin:0 0 0px;
		padding:5px 0 0;
		font-size:2.0rem !important;
		line-height:1.2 !important;
}
@media only screen and (max-width:767px){
	.survey_black_02_box .title h4{
		padding:0;
		font-size:1.4rem !important;
	}
}

#bdid_survey #anchor_01 .contents::before{
	content:" ";
	position:absolute;
	top:-50px;
	right:0px;
	width:200px;
	height:181px;
	background:url(../../image/survey/illust_01.png) no-repeat 0 0;
	background-size:contain;
	z-index:10;
}

/* --- responsive --- */
@media only screen and (max-width:640px){
	#bdid_survey #anchor_01 .contents::before{
		display:none;
	}
}

/* -----------------------------------------------------------------
   works
----------------------------------------------------------------- */

#tag_category{
	margin-bottom: 50px;
	}
	#tag_category ul{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
	}
	#tag_category ul li{
		display:inline-block;
		position:relative;
		margin:0 10px 7px 0;
		padding: 8px 24px;
		color: var(--base-color);
		background-color: #fff;
		border: 1px solid var(--base-color);
		border-radius: 100vmax;
		transition-duration:0.5s;
		cursor:pointer;
	}
	#tag_category ul li.active,
	#tag_category ul li:hover{
		color: #fff;
		text-decoration:none;
		background-color:var(--base-color);
}


#works_list_all{
}
#works_list_all ul{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:flex-start;
	flex-wrap:wrap;
	position:relative;
	width:100%;
	}
	#works_list_all ul li{
		display:inline-block;
		position:relative;
		top:0px;
		width:32%;
		max-width:100%;
		padding:20px;
		}
		#works_list_all ul li:nth-child(3n+2):last-child{
			margin-right:34%;
		}
		#works_list_all ul li::before{
			content:" ";
			display:block;
			position:absolute;
			top:0px;
			left:0px;
			width:100%;
			height:100%;
			background:#F2F2F2;
			transition-duration:0.5s;
		}
		#works_list_all ul li:hover::before,
		#works_list_all ul li.active::before{
			background:var(--base-color);
		}
		#works_list_all ul li a{
			display:block;
			position:relative;
			width:100%;
			height:100%;
			padding:20px 20px 40px;
			text-align:left;
			-moz-border-radius:15px;
			-webkit-border-radius:15px;
			border-radius:15px;
			background:#FFF;
			color:#484E8A;
	}
	#works_list_all ul li figure{
		display:block;
		position:relative;
		width:100%;
		height:0px;
		padding-top:66%;
		margin:0 0 20px;
		-moz-border-radius:15px 15px 0 0;
		-webkit-border-radius:15px 15px 0 0;
		border-radius:15px 15px 0 0;
		overflow:hidden;
		}
		#works_list_all ul li figure img{
			position:absolute;
			top:0px;
			left:0px;
			transform:scale(1,1);
			transition-duration:0.5s;
		}
		#works_list_all ul li:hover figure img,
		#works_list_all ul li.active figure img{
			transform:scale(1.1,1.1);
	}
	#works_list_all ul li p{
		padding:0;
		font-size:1.2rem;
		line-height:1.5;
	}
	#works_list_all ul li .w_category{
		position:relative;
		width:100%;
		margin:0 0 10px;
		font-size:1.2rem;
		text-align:left;
		}
		#works_list_all ul li .w_category span{
			display:inline-block;
			position:relative;
			margin:0 7px 0 0;
			padding:5px 20px;
			font-size:1.0rem;
			background:#196C19;
			color:#FFF;
	}
	#works_list_all ul li .num{
		display:inline-block;
		margin:0 0 10px;
		padding:0px;
		font-size:1.2rem;
		border-bottom:1px solid #196C19;
		line-height:1;
	}
	#works_list_all ul li .date{
		position:absolute;
		bottom:-10px;
		right:20px;
		font-size:1.2rem;
		color:#999;
}

/* --- responsive --- */
@media only screen and (max-width:1440px){
	#works_list_all ul li{
		padding:1vw;
		}
		#works_list_all ul li a{
			padding:1vw 1vw 2vw;
		}
		#works_list_all ul li figure{
			margin:0 0 1vw;
		}
		#works_list_all ul li p{
			font-size:1.2vw;
		}
		#works_list_all ul li .w_category{
			margin:0 0 1vw;
			font-size:1.2vw;
			}
			#works_list_all ul li .w_category span{
				padding:0.5vw 1vw;
		}
		#works_list_all ul li .num{
			margin:0 0 0.5vw;
			font-size:1vw;
		}
		#works_list_all ul li .date{
			bottom:-1vw;
			right:1vw;
			font-size:1vw;
	}
}
/* --- responsive --- */
@media only screen and (max-width:860px){
	#works_list_all ul li{
		width:49%;
		}
		#works_list_all ul li:nth-child(3n+2):last-child{
			margin-right:0;
	}
	#works_list_all ul li{
		padding:2vw;
		}
		#works_list_all ul li a{
			padding:2vw 2vw 4vw;
		}
		#works_list_all ul li figure{
			margin:0 0 2vw;
		}
		#works_list_all ul li p{
			font-size:1.8vw;
		}
		#works_list_all ul li .w_category{
			margin:0 0 2vw;
			font-size:1.8vw;
			}
			#works_list_all ul li .w_category span{
				padding:1vw 2vw;
		}
		#works_list_all ul li .num{
			margin:0 0 1vw;
			font-size:1.5vw;
		}
		#works_list_all ul li .date{
			bottom:-2vw;
			right:2vw;
			font-size:1.5vw;
	}
}
/* --- responsive --- */
@media only screen and (max-width:500px){
	#works_list_all ul{
		left:-20px;
		width:calc(100% + 40px);
	}
	#works_list_all ul li{
		width:100%;
	}
	#works_list_all ul li{
		padding:4vw;
		}
		#works_list_all ul li a{
			padding:4vw 4vw 8vw;
		}
		#works_list_all ul li figure{
			margin:0 0 4vw;
		}
		#works_list_all ul li p{
			font-size:3.6vw;
		}
		#works_list_all ul li .w_category{
			margin:0 0 4vw;
			font-size:3.6vw;
			}
			#works_list_all ul li .w_category span{
				padding:2vw 4vw;
		}
		#works_list_all ul li .num{
			margin:0 0 2vw;
			font-size:3.6vw;
		}
		#works_list_all ul li .date{
			bottom:-4vw;
			right:4vw;
			font-size:3.6vw;
	}
}

#bdid_works footer::before{
	background:url(../../image/base/ft_bg.webp) no-repeat 0 0 #F2F2F2;
	background-size:cover;
}

/* -----------------------------------------------------------------
   contact
----------------------------------------------------------------- */

/* -----------------------------------------------------------------
   News
----------------------------------------------------------------- */

#news_list{
	width:1000px;
	max-width:100%;
	margin:0 auto;
	}
	#news_list ul{
		list-style: none;
}
#news_list li{
	display:flex;
	align-items:flex-start;
	justify-content:flex-start;
	padding:20px 20px;
	border-radius:10px;
	position:relative;
	transition-duration:0.5s;
	gap:16px;
	color:var(--base-color);
	background:#FFF;
}
#news_list li:has(a){
	display:flex;
	align-items:flex-start;
	justify-content:flex-start;
	padding:0px;
	position:relative;
	border-radius:10px;
	color:var(--base-color);
	transition-duration:0.5s;
	background:#FFF;
	gap:0px;
	}
	#news_list li > a{
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		width:100%;
		height:100%;
		padding:20px 70px 20px 20px;
		color:inherit;
		border-radius:10px;
		text-decoration: none;
		transition-duration:0.5s;
		gap: 16px;
	}
	#news_list li > a:hover{
		color:#FFF;
		background:var(--base-color);
	}

	/* 右側の矢印と丸 */
	#news_list li::before{
		display:none;
		content:" ";
		position:absolute;
		top:17px;
		right:22px;
		width:30px;
		height:30px;
		background:var(--base-color);
		border:1px solid var(--base-color);
		-moz-border-radius:50%;
		-webkit-border-radius:50%;
		border-radius:50%;
		z-index:0;
		transition-duration:0.5s;
		}
		#news_list li:has(a)::before{
			display:block;
		}
		#news_list li:hover::before{
			background:#FFF;
	}
	#news_list li > a::before,
	#news_list li > a::after{
		content:" ";
		position:absolute;
		right:33px;
	}
	#news_list li > a::before{
		top:33px;
		width:11px;
		height:1px;
		background:#FFF;
	}
	#news_list li > a::after{
		top:29px;
		width:8px;
		height:8px;
		border-top:1px solid #FFF;
		border-right:1px solid #FFF;
		transform:rotate(45deg);
	}
	#news_list li > a:hover::before{
		background:var(--base-color);
	}
	#news_list li > a:hover::after{
		border-top:1px solid var(--base-color);
		border-right:1px solid var(--base-color);
}
#news_list span.date{
	display: inline-flex;
	align-items:center;
	justify-content: center;
	min-width:100px;
	line-height:1.5;
}
#news_list li p{
	margin:0px;
	padding:0px;
	flex:1;
	line-height:1.5;
}

@media screen and (max-width:767px){
	#news_list li{
		display:block !important;
		gap:0px;
	}
	#news_list li:has(a){
		display:block !important;
		gap:0px;
	}
	#news_list li a{
		display:block !important;
		gap:0px;
	}
	#news_list span.date{
		display:block;
		text-align:left;
		width:100%;
		min-width:0px;
		margin:0 0 7px;
	}
}

#bdid_news footer::before{
	background:url(../../image/base/ft_bg.webp) no-repeat 0 0 #F2F2F2;
	background-size:cover;
}

/* -----------------------------------------------------------------
   Works
----------------------------------------------------------------- */


/* -----------------------------------------------------------------
   about
----------------------------------------------------------------- */

#bdid_about .more_read{
	display:none;
}

#about_icon{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
	}
	#about_icon figure{
		margin:0 0 20px;
		max-width:32%;
}
/* --- responsive --- */
@media only screen and (max-width:767px){
	#bdid_about .more_read{
		display:block;
	}
	#about_icon figure{
		margin:0 0 20px;
		max-width:48%;
	}
}
@media only screen and (max-width:500px){
	#about_icon figure{
		max-width:100%;
	}
}


.about_listbox{
}
	.about_listbox ul{
		display:-webkit-flex;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:space-between;
		flex-wrap:wrap;
	}
	.about_listbox ul li{
		display:-webkit-flex;
		display:flex;
		justify-content:center;
		align-items:center;
		position:relative;
		width:32%;
		height:90px;
		font-weight:bold;
		font-size:1.35vw !important;
		text-align:center !important;
		background:#F5F5F9;
		color:#3B4182;
		line-height:1.5;
		}
		.about_listbox ul li::before{
			content:" ";
			position:absolute;
			top:0px;
			left:0px;
			width:calc(100% - 10px);
			height:calc(100% - 10px);
			border:5px solid #FFF;
		}
		.about_listbox ul li:nth-child(3n+2):last-child{
			margin-right:calc(32% + 2%) !important;
}
/* --- responsive --- */
@media only screen and (min-width:1500px){
	.about_listbox ul li{
		font-size:1.2rem !important;
	}
}
@media only screen and (max-width:1100px){
	.about_listbox ul li{
		font-size:1.6vw !important;
	}
}
@media only screen and (max-width:767px){
	.about_listbox ul li{
		width:48%;
		font-size:2.9vw !important;
	}
	.about_listbox ul li:nth-child(3n+2):last-child{
		margin-right:0px !important;
	}
}
@media only screen and (max-width:500px){
	.about_listbox ul li{
		width:100%;
		margin:0px !important;
		font-size:5.0vw !important;
	}
}

#bdid_about footer::before{
	background:url(../../image/base/ft_bg.webp) no-repeat 0 0 #F2F2F2;
	background-size:cover;
}


#bdid_about #anchor_01 .contents::before,
#bdid_about #anchor_02 .contents::before,
#bdid_about #anchor_03 .contents::before{
	content:" ";
	position:absolute;
	right:0px;
}
#bdid_about #anchor_01 .contents::before{
	top:-70px;
	width:180px;
	height:172px;
	background:url(../../image/about/illust_01.png) no-repeat 0 0;
	background-size:cover;
	z-index:10;
}
#bdid_about #anchor_02 .contents::before{
	top:-150px;
	width:250px;
	height:224px;
	background:url(../../image/about/illust_02.png) no-repeat 0 0;
	background-size:cover;
	z-index:10;
}
#bdid_about #anchor_03 .contents::before{
	top:-40px;
	width:257px;
	height:130px;
	background:url(../../image/about/illust_03.png) no-repeat 0 0;
	background-size:cover;
	z-index:10;
}

/* --- responsive --- */
@media only screen and (max-width:640px){
	#bdid_about #anchor_01 .contents::before,
	#bdid_about #anchor_02 .contents::before,
	#bdid_about #anchor_03 .contents::before{
		display:none;
	}
}

/* -----------------------------------------------------------------
   seiwa_hito
----------------------------------------------------------------- */

#bdid_seiwa_hito .page_title{
	padding:0 20px;
	}
	#bdid_seiwa_hito .page_title p{
		margin:0 auto 10px;
		font-weight:bold;
	}
	#bdid_seiwa_hito h2 img{
		width:425px;
		max-width:100%;
}

#seiwano_hito_list{
	display:-webkit-flex;
	display:flex;
	-webkit-box-pack:justify;
	-ms-flex-pack:justify;
	justify-content:space-between;
	flex-wrap:wrap;
}
#seiwano_hito_list li{
	position:relative;
	top:0px;
	left:0;
	width:32%;
	margin:0 0 25px !important;
	background:none;
	transition-duration:0.5s;
	}
	#seiwano_hito_list li a{
		display:block;
		position:relative;
		padding:20px;
		background:#FFF;
		border:20px solid #F2F2F2;
		transition-duration:0.5s;
		color:#000;
	}
	#seiwano_hito_list li a:hover{
		border:20px solid rgba(59,65,130,1);
	}
	#seiwano_hito_list li figure{
		position:relative;
		margin:0 auto 20px;
		width:100%;
	}
	#seiwano_hito_list li .hito_info{
		position:relative;
		text-align:left;
		min-height:180px;
	}
	#seiwano_hito_list li .hito_info .hito_name{
		margin:0 0 20px;
		font-size:2.5rem;
		line-height:1.3;
	}
	#seiwano_hito_list li .hito_info .hito_year{
		margin:0 0 20px;
		font-size:1.2rem;
		line-height:1.3;
	}

	#seiwano_hito_list li .tag{
		text-align:left;
	}
	#seiwano_hito_list li .tag p{
		display:inline-block;
		height:30px;
		margin:0 10px 0 0;
		padding:0 15px 0;
		font-size:0.95rem;
		-moz-border-radius:15px;
		-webkit-border-radius:15px;
		border-radius:15px;
		background:#000;
		color:#FFF
	}

	#seiwano_hito_list li .interviewer{
		position:absolute;
		right:20px;
		bottom:20px;
		width:35%;
		max-width:145px;
		padding:10px;
		text-align:center;
		-moz-border-radius:15px;
		-webkit-border-radius:15px;
		border-radius:15px;
		background:#196C1A;
		}
		#seiwano_hito_list li .interviewer figure{
			position:relative;
			margin:0 auto 0px;
			width:100%;
		}
		#seiwano_hito_list li .interviewer p{
			display:inline-block;
			margin:0 0 0.10px !important;
			font-size:1.05rem;
			color:#FFF;
			border-bottom:1px solid #fFF;
			text-align:center;
			line-height:1;
		}
		#seiwano_hito_list li .interviewer p:last-child{
			display:block;
			margin:0 !important;
			font-size:1.9rem;
			border-bottom:none;
			line-height:1;
}
/* --- responsive --- */
@media only screen and (max-width:1400px){
	#seiwano_hito_list li a{
		padding:1vw;
	}
	#seiwano_hito_list li figure{
		margin:0 auto 1vw;
	}
	#seiwano_hito_list li .hito_info{
		width:calc(100% - 11vw);
		min-height:12.5vw;
	}
	#seiwano_hito_list li .hito_info .hito_name{
		margin:0 0 2vw;
		font-size:2.5vw;
	}
	#seiwano_hito_list li .hito_info .hito_year{
		margin:0 0 2vw;
		font-size:1.2vw;
	}
	#seiwano_hito_list li .tag p{
		height:2vw;
		margin:0 1vw 0 0;
		padding:0 1vw 0;
		font-size:1.0vw;
	}
	#seiwano_hito_list li .interviewer{
		right:1vw;
		bottom:1vw;
		width:10.5vw;
		padding:1vw;
		}
		#seiwano_hito_list li .interviewer p{
			margin:0 0 0.5vw !important;
			font-size:1.05vw;
		}
		#seiwano_hito_list li .interviewer p:last-child{
			font-size:1.9vw;
	}
}
@media only screen and (max-width:767px){
	#seiwano_hito_list li a{
		padding:1vw;
	}
	#seiwano_hito_list li figure{
		margin:0 auto 1vw;
	}
	#seiwano_hito_list li a{
		border:10px solid #F2F2F2;
	}
	#seiwano_hito_list li a:hover{
		border:10px solid rgba(59,65,130,1);
	}
	#seiwano_hito_list li{
		width:49%;
	}
	#seiwano_hito_list li .hito_info{
		width:calc(100% - 11.5vw);
		min-height:14.0vw;
	}
	#seiwano_hito_list li .hito_info .hito_name{
		margin:0 0 2vw;
		font-size:5vw;
	}
	#seiwano_hito_list li .hito_info .hito_year{
		margin:0 0 2vw;
		font-size:2.4vw;
	}
	#seiwano_hito_list li .tag p{
		height:4vw;
		margin:0 1vw 0 0;
		padding:0 2vw 0;
		font-size:2.0vw;
	}

	#seiwano_hito_list li .interviewer{
		right:1vw;
		bottom:1vw;
		width:11.0vw;
		padding:1.0vw;
		}
		#seiwano_hito_list li .interviewer figure{
		}
		#seiwano_hito_list li .interviewer p{
			margin:0 0 0.5vw !important;
			font-size:1.7vw;
		}
		#seiwano_hito_list li .interviewer p:last-child{
			font-size:2.0vw;
	}
}
@media only screen and (max-width:500px){
	#seiwano_hito_list li a{
		border:5px solid #F2F2F2;
	}
	#seiwano_hito_list li a:hover{
		border:5px solid rgba(59,65,130,1);
	}
	#seiwano_hito_list li .interviewer{
		-moz-border-radius:8px;
		-webkit-border-radius:8px;
		border-radius:8px;
	}
}

#bdid_seiwa_hito footer::before{
	background:url(../../image/base/ft_bg.webp) no-repeat 0 0 #F2F2F2;
	background-size:cover;
}

/* -----------------------------------------------------------------
   recruit
----------------------------------------------------------------- */

#bdid_recruit table.tableset_01 th,
#bdid_recruit table.tableset_01 td{
	padding: 10px 5px;
	border-bottom: 1px solid #D8D9E6;
}
@media screen and (max-width:414px){
	#bdid_recruit table.tableset_01 th{
		border-bottom: none;
	}
	#bdid_recruit table.tableset_01 td{
		padding-bottom:10px;
	}
}

#bdid_recruit table.tableset_01 td{
  font-weight: normal;
}
#bdid_recruit table.tableset_01 p{
  font-weight: normal;
}

#bdid_recruit p.note{
  background-color: #fff;
  padding: 20px;
  margin-top: 10px;
}
/* 各ステップボックス */
#bdid_recruit #step_wrapper .step_box{
  background-color: #F5F5F9;
  padding: 30px;
  border: 4px solid #fff;
  color: var(--base-color);
  border-radius: 10px;
  margin-bottom: 100px; /* ▼の分の余白。下のtriangleが-5rem位置なら十分に確保 */
  position: relative;
}

#bdid_recruit #step_wrapper .step_box h4 {
  font-weight: bold;
}

/* ▼（記号）をボックス下中央に配置 */
#bdid_recruit #step_wrapper .step_box::after {
  content: "▼";
  position: absolute;
  left: 50%;                 /* 中央起点 */
  bottom: -4.2rem;             /* ボックス外の下に配置。見た目に応じて調整 */
  transform: translateX(-50%); /* 正確に中央寄せ */
  font-size: 2rem;
  color: var(--base-color);
  line-height: 1;
  pointer-events: none;      /* クリック干渉防止（任意） */
}

/* 最後のボックスでは▼を表示しない */
#bdid_recruit #step_wrapper .step_box:last-of-type{
  margin-bottom: 30px;;
}
#bdid_recruit #step_wrapper .step_box:last-of-type::after {
  content: none;
}

#bdid_recruit em{
  font-weight: bold;
  font-style: normal;
  color: var(--base-color);
}

#bdid_recruit .btn_link,
#bdid_recruit .btn_more{
	position: relative;
    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 70px;
    text-align: center;
    transition-duration: 0.5s;
    opacity: 1;
	margin-top: 100px;
}
#bdid_recruit .btn_link span,
#bdid_recruit .btn_more span {
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 336px;
    max-width: 80%;
    height: 70px;
    margin: 0 auto;
    font-weight: bold;
    font-size: 1.2rem;
    background: #3C4183;
    border: 1px solid #3C4183;
    -moz-border-radius: 35px;
    -webkit-border-radius: 35px;
    border-radius: 35px;
    color: #FFF;
    cursor: pointer;
    transition-duration: 0.5s;
    z-index: 10;
    overflow: hidden;
}
#bdid_recruit .btn_link span:hover,
#bdid_recruit .btn_more span:hover{
	background: #fff;
	color: var(--base-color);
}
#bdid_recruit .btn_link a,
#bdid_recruit .btn_more a{
  text-decoration: none;
}
#bdid_recruit .btn_link{
  margin: 50px auto;
}
/* テキスト直後に白アイコンを表示（右端ではない） */
#bdid_recruit .btn_link.download a > span {
  display: inline-flex;
  align-items: center;
}

/* 擬似要素で白いダウンロードアイコン（テキストの少し右） */
#bdid_recruit .btn_link.download a > span::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 8px; /* テキストとの間隔。必要に応じて調整 */
  background-repeat: no-repeat;
  background-size: 24px 24px;
  /* 白ストロークのアイコン */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='3' x2='12' y2='15'/></svg>");
}
/* ホバー時：アイコン色だけ差し替える */
#bdid_recruit .btn_link.download a > span:hover::after {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%233B4182' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/><polyline points='7 10 12 15 17 10'/><line x1='12' y1='3' x2='12' y2='15'/></svg>");
}


@media only screen and (max-width:500px){
	#bdid_recruit .btn_link span,
	#bdid_recruit .btn_more span {
	    width: 100% !important;
	    max-width:100%;
	    font-size: 1.1rem;
	}
}





#bdid_recruit #main_contents ul.list_disc{
  list-style: disc;
  margin:10px 0 10px 30px;
}
#bdid_recruit #main_contents ul.list_disc li{
  font-size: 1rem;
  font-weight: normal;
  margin: 0;
}


#bdid_recruit .wrap-long {
  overflow-wrap: break-word; /* 現代的プロパティ。必要なら単語途中で改行 */
  word-wrap: break-word;     /* 旧プロパティ。互換用 */
  word-break: break-word;    /* 一部ブラウザで補助的に効く */
  hyphens: auto;             /* 可能ならハイフンで分割（言語設定に依存） */
}
#bdid_recruit .blue_gray{
  background-color: #F5F5F9 !important;
}

/* column2 を2カラムのグリッドにする */
#bdid_recruit .column2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2カラム */
  gap: 20px; /* カード間の余白。必要に応じて調整 */
}

/* モーダル仮実装 */
#bdid_recruit .modal {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0,0,0,0.7);
  align-items: center;
  justify-content: center;
  animation: modalFadeIn 0.3s;
}
#bdid_recruit .modal img {
  max-width: 90%;  /* 画像の最大幅を親要素(modal)の90%に制限し、画面内に収まるようにする */
  max-height: 100vh;  /* 画像の最大高さをビューポートの高さ(100vh)に制限し、画面内に収まるようにする  */
  object-fit: contain;  /* 画像の比率を保持しつつ、指定された高さと幅に収める */
}
#bdid_recruit .modal-image:hover {
  cursor: zoom-in;  /* ホバー時にカーソルをズームインのアイコンに変更 */
}
#bdid_recruit .modal img:hover {
  cursor: zoom-out;  /* モーダル内の画像にホバー時にカーソルをズームアウトのアイコンに変更 */
}
@keyframes modalFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes modalFadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

#bdid_recruit #recruit_lead p{
	color:var(--base-color);
}
#bdid_recruit footer::before{
	background:url(../../image/base/ft_bg.webp) no-repeat 0 0 #F2F2F2;
	background-size:cover;
}

#bdid_recruit #anchor_02 .contents::before,
#bdid_recruit #anchor_03 .contents::before,
#bdid_recruit #anchor_04 .contents::before{
	content:" ";
	position:absolute;
	right:0px;
}
#bdid_recruit #anchor_02 .contents::before{
	top:-70px;
	width:279px;
	height:162px;
	background:url(../../image/recruit/illust_01.png) no-repeat 0 0;
	background-size:cover;
	z-index:10;
}
#bdid_recruit #anchor_03 .contents::before{
	top:-50px;
	width:238px;
	height:156px;
	background:url(../../image/recruit/illust_02.png) no-repeat 0 0;
	background-size:cover;
	z-index:10;
}
#bdid_recruit #anchor_04 .contents::before{
	top:-40px;
	width:254px;
	height:120px;
	background:url(../../image/recruit/illust_03.png) no-repeat 0 0;
	background-size:cover;
	z-index:10;
}

/* --- responsive --- */
@media only screen and (max-width:640px){
	#bdid_recruit #anchor_02 .contents::before,
	#bdid_recruit #anchor_03 .contents::before,
	#bdid_recruit #anchor_04 .contents::before{
		display:none;
	}
}
