@charset "utf-8";
/* CSS Document */

/*===================================
	.block01
=====================================*/

.block01{
	padding: 78px 0 66px;
	position: relative;
}

.block01::before{
	content: '';
	background: url("../images/department/b01_bg.webp")no-repeat;
	background-size: 100% 100%;
	width: 101.4864%;/*1502*/
	height: 905px;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -2;
}

.block01 .block_inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
}

html.pageLarge .block01 .block_inner{
	max-width: 1181px;/*1050*1.125*/
}

.block01 .block_inner .img_area{
	width: 100%;
	margin-top: 45px;
	position: relative;
}

.block01 .block_inner .img_area::before{
	content: '';
	background: url("../images/department/img_area_parts.webp")no-repeat;
	background-size: cover;
	width: 126.8%;/*1268*/
	height: auto;
	aspect-ratio: 1268 / 588;
	position: absolute;
	top: 71px;
	right: -29.3%;/*-293*/
	z-index: -1;
}

/* 色変更 */
html:is(.pageYellow, .pageBlack, .pageBlue) .block01::before,
html:is(.pageYellow, .pageBlack, .pageBlue) .block01 .block_inner .img_area::before{
	content: none;
}
/**/

.block01 .block_inner .img_area + .img_area{
	margin-top: 60px;
}

.block01 .block_inner .img_area img{
	width: 100%;
	height: auto;
}

/*===================================
	.block02
=====================================*/

.block02{
	padding: 66px 0 220px;
	position: relative;
}

.block02::before{
	content: '';
	background: url("../images/department/b02_bg.webp")no-repeat;
	background-size: 100% 100%;
	width: 101.4189%;/*1501*/
	height: 1718px;
	position: absolute;
	bottom: 322px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

/* 色変更 */
html:is(.pageYellow, .pageBlack, .pageBlue) .block02::before{
	content: none;
}
/**/

.block02 .block_inner{
	width: 100%;
	max-width: 1150px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
}

html.pageLarge .block02 .block_inner{
	max-width: 1294px;/*1150*1.125*/
}

.block02 .block_inner h2{
	width: 90.9090%;/*1000*/
	margin: 0 auto;
}

.block02 .block_inner .bumon_wrap{
	width: 100%;
	margin-top: 34px;
}

.block02 .block_inner .bumon_wrap ul.bumon_list{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 51px 0;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li{
	width: 48.0909%;/*529*/
	padding: 23px 0 24px;
	background: #fff;
	border-radius: 20px;
	box-shadow: 15px 15px 10px rgba(173, 208, 216, 0.35);
	overflow: hidden;
	position: relative;
	z-index: 1;
}

/* 色変更 */
html:is(.pageYellow) .block02 .block_inner .bumon_wrap ul.bumon_list li{
	background: #F4E621;
	border: 1px solid #000;
}

html:is(.pageBlack) .block02 .block_inner .bumon_wrap ul.bumon_list li{
	background: #000;
	border: 1px solid #fff;
}

html:is(.pageBlue) .block02 .block_inner .bumon_wrap ul.bumon_list li{
	background: #0071b4;
	border: 1px solid #fff;
}
/**/

.block02 .block_inner .bumon_wrap ul.bumon_list li::before{
	content: '';
	background: #4d92ad;
	width: 83.5538%;/*442*/
	height: 160px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon02::before{
	background: #288479;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon03::before{
	background: #d87f36;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon04::before{
	background: #686868;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon05::before{
	background: #37a3d3;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon06::before{
	background: #367189;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon07::before{
	background: #2e9caf;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon08::before{
	background: #5b7f64;
}

/* 色変更 */
html:is(.pageYellow, .pageBlack, .pageBlue) .block02 .block_inner .bumon_wrap ul.bumon_list li::before{
	content: none;
}
/**/

.block02 .block_inner .bumon_wrap ul.bumon_list li a{
	display: block;
	width: 100%;
	height: 100%;
	background: url("../images/common/link_ico_ora02.webp")no-repeat right 5.4820% bottom 10px;/*29*/
	background-size: 6.2381% auto;/*33*/
	position: relative;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li a:hover{
	opacity: 1;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li a .inner{
	width: 86.0113%;/*455*/
	margin: 0 auto;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li a .inner .bumon_name{
	width: 100%;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li a .inner .bumon_name p{
	display: flex;
	align-items: center;
	width: 100%;
	height: 70px;
	font-size: 2.5em;/*40*/
	line-height: 1;
	letter-spacing: 0.2em;
	padding-left: 3.9560%;/*18*/
	box-sizing: border-box;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon01 a .inner .bumon_name p{
	border-left: 1px solid #026a9e;
	color: #026a9e;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon02 a .inner .bumon_name p{
	border-left: 1px solid #007167;
	color: #00756a;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon03 a .inner .bumon_name p{
	border-left: 1px solid #e05927;
	color: #ec5a24;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon04 a .inner .bumon_name p{
	border-left: 1px solid #333333;
	color: #333333;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon05 a .inner .bumon_name p{
	border-left: 1px solid #00a0d8;
	color: #0079a3;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon06 a .inner .bumon_name p{
	border-left: 1px solid #003651;
	color: #003651;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon07 a .inner .bumon_name p{
	border-left: 1px solid #026a9e;
	color: #026a9e;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li.bumon08 a .inner .bumon_name p{
	border-left: 1px solid #006837;
	color: #006837;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li a .inner .thumb{
	margin-top: 14px;
	width: 100%;
	height: auto;
	aspect-ratio: 455 / 323;
	border-radius: 20px;
	overflow: hidden;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li a .inner .thumb img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s ease;/* ゆっくり変化させる */
}

.block02 .block_inner .bumon_wrap ul.bumon_list li a:hover .inner .thumb img{
	transform: scale(1.1);/* 拡大 */
}

.block02 .block_inner .bumon_wrap ul.bumon_list li a .inner .txt_area{
	margin-top: 21px;
}

.block02 .block_inner .bumon_wrap ul.bumon_list li a .inner .txt_area p{
	font-size: 1.25em;/*20*/
	line-height: 1.5;
	letter-spacing: 0.1em;
	color: #fff;
	padding-right: 17.5824%;/*80*/
	box-sizing: border-box;
}

/*===================================
	.single_block01
=====================================*/

.single_block01{
	padding: 44px 0 34px;
	position: relative;
}

.single_block01::before{
	content: '';
	background: url("../images/department/sb01_bg.webp")no-repeat;
	background-size: 100% 100%;
	width: 100%;
	height: 1185px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.single_block01.no-bg::before{
	content: none;
}

/* 色変更 */
html:is(.pageYellow, .pageBlack, .pageBlue) .single_block01::before{
	content: none;
}
/**/

.single_block01 .block_inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
}

html.pageLarge .single_block01 .block_inner{
	max-width: 1181px;/*1050*1.125*/
}

.single_block01 .block_inner .flex_area{
	width: 100%;
	display: flex;
	justify-content: space-between;
}

.single_block01 .block_inner .flex_area .photo_area{
	width: 50.0%;/*500*/
	position: relative;
}

.single_block01 .block_inner .flex_area .photo{
	width: 157.0%;/*785*/
	height: auto;
	aspect-ratio: 785 / 557;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	left: -57.2%;/*-286*/
}

.single_block01 .block_inner .flex_area .photo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single_block01 .block_inner .flex_area .detail_area{
	width: 43.6%;/*436*/
	margin-top: 65px;
}

.single_block01 .block_inner .flex_area .detail_area p.small_txt{
	font-size: 1.125em;/*18*/
	line-height: 1.2;
	letter-spacing: 0.1em;
	color: #026a9e;
}

.single_block01 .block_inner .flex_area .detail_area h2.bumon_name{
	padding: 25px 0 38px;
	font-size: 2.7777em;/*50*/
	line-height: 1;
	letter-spacing: 0.2em;
	color: #026a9e;
	position: relative;
}

.single_block01 .block_inner .flex_area .detail_area h2.bumon_name::before{
	content: '';
	background: #026a9e;
	width: calc(50vw - 5px);/*735*/
	height: 1px;
	position: absolute;
	bottom: 0;
	left: 0;
}

/* 色変更 */
html:is(.pageYellow) .single_block01 .block_inner .flex_area .detail_area h2.bumon_name::before{
	background: #000;
}

html:is(.pageBlack, .pageBlue) .single_block01 .block_inner .flex_area .detail_area h2.bumon_name::before{
	background: #fff;
}
/**/

.single_block01 .block_inner .flex_area .detail_area .mokuji_wrap{
	width: 100%;
	margin-top: 35px;
	display: flex;
	justify-content: space-between;
}

.single_block01 .block_inner .flex_area .detail_area .mokuji_wrap ul.mokuji_list{
	list-style: none;
	width: 42.2018%;/*184*/
}

.single_block01 .block_inner .flex_area .detail_area .mokuji_wrap ul.mokuji_list li{
	width: 100%;
	padding-left: 13.0434%;/*24*/
	box-sizing: border-box;
	font-size: 1.125em;/*18*/
	line-height: 1.25;
	letter-spacing: 0.05em;
	color: #026a9e;
	position: relative;
}

.single_block01 .block_inner .flex_area .detail_area .mokuji_wrap ul.mokuji_list li::before{
	content: '';
	background: #f28e1e;
	width: 8.6956%;/*16*/
	height: auto;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	position: absolute;
/*
	top: 50%;
	transform: translateY(-50%);
*/
	top: 0.45rem;
	left: 0;
}

/* 色変更 */
html:is(.pageYellow) .single_block01 .block_inner .flex_area .detail_area .mokuji_wrap ul.mokuji_list li::before{
	background: #000;
}

html:is(.pageBlack, .pageBlue) .single_block01 .block_inner .flex_area .detail_area .mokuji_wrap ul.mokuji_list li::before{
	background: #fff;
}
/**/


.single_block01 .block_inner .flex_area .detail_area .mokuji_wrap ul.mokuji_list li + li{
	margin-top: 22px;
}

/**/

.single_block01 .block_inner .flex_area .detail_area p.url_txt{
	padding: 5em 0 3em;
	font-size: 1.125em;/*18*/
	line-height: 1;
	letter-spacing: 0.1em;
}

.single_block01 .block_inner .flex_area .detail_area p.url_txt a{
	color: #026a9e;
	text-decoration: underline;
}

/*===================================
	.single_block02
=====================================*/

.single_block02{
	padding: 34px 0 100px;
}

.single_block02 .block_inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
}

html.pageLarge .single_block02 .block_inner{
	max-width: 1181px;/*1050*1.125*/
}

.single_block02 .block_inner .flex_img_area{
	width: 100%;
	margin-top: 33px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px 0;
}

.single_block02 .block_inner .flex_img_area .img_area{
	width: 48.0%;
	height: auto;
	aspect-ratio: 480 / 384;
	overflow: hidden;
}

.single_block02 .block_inner .flex_img_area .img_area img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single_block02 .block_inner .txt_area{
	width: 100%;
	margin-top: 42px;
}

.single_block02 .block_inner .txt_area p{
	font-size: 1em;
	line-height: 1.875;
	letter-spacing: 0.05em;
	color: #333333;
	text-align: justify;
}

/*===================================
	.single_block03
=====================================*/

.single_block03{
	background: #f0f5f7;
	padding: 92px 0 171px;
}

/* 色変更 */
html:is(.pageYellow) .single_block03{
	background: #F4E621;
}

html:is(.pageBlack) .single_block03{
	background: #000;
}

html:is(.pageBlue) .single_block03{
	background: #0071b4;
}
/**/

.single_block03 .block_inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
}

html.pageLarge .single_block03 .block_inner{
	max-width: 1181px;/*1050*1.125*/
}

.single_block03 .block_inner .division_wrap{
	width: 100%;
	margin-top: 60px;
}

.single_block03 .block_inner .division_wrap + .division_wrap{
	margin-top: 85px;
}

.single_block03 .block_inner .division_wrap h3.division_name{
	padding-bottom: 20px;
	border-bottom: 2px solid #f28e1e;
	font-size: 1.875em;/*30*/
	line-height: 1;
	letter-spacing: 0.05em;
	color: #026a9e;
	text-align: center;
}

.single_block03 .block_inner .division_wrap .flex_area{
	width: 100%;
	margin-top: 40px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}

.single_block03 .block_inner .division_wrap .flex_area .photo{
	width: 48.0%;
	height: auto;
	aspect-ratio: 480 / 384;
	overflow: hidden;
}

.single_block03 .block_inner .division_wrap .flex_area .photo img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single_block03 .block_inner .division_wrap .flex_area .detail_area{
	width: 47.0%;
}

.single_block03 .block_inner .division_wrap .flex_area .detail_area.full{
	width: 100%;
}

.single_block03 .block_inner .division_wrap .flex_area .detail_area p.large_txt{
	font-size: 1.875em;/*30*/
	line-height: 1.4333;
	letter-spacing: 0.1em;
	color: #026a9e;
	margin-top: 17px;
}

.single_block03 .block_inner .division_wrap .flex_area .detail_area p.txt01{
	font-size: 1em;
	line-height: 1.875;
	letter-spacing: 0.1em;
	color: #333333;
	text-align: justify;
	margin-top: 35px;
}

/*===================================
	.single_block04
=====================================*/

.single_block04{
	padding: 100px 0 95px;
}

.single_block04 .block_inner{
	width: 100%;
	max-width: 1050px;
	padding: 0 25px;
	box-sizing: border-box;
	margin: 0 auto;
}

html.pageLarge .single_block04 .block_inner{
	max-width: 1181px;/*1050*1.125*/
}

.single_block04 .block_inner .link_bnr{
	width: 61.9%;
	margin: 67px auto 0;
	position: relative;
}

.single_block04 .block_inner .link_bnr::before{
	content: '';
	background: url("../images/department/btn_shadow.webp")no-repeat;
	background-size: cover;
	width: 98.7075%;/*611*/
	height: auto;
	aspect-ratio: 611 / 194;
	border-radius: 1.37rem;
	position: absolute;
	bottom: -32px;
	right: -4.0387%;/*-25*/
	z-index: -1;
}

.single_block04 .block_inner .link_bnr a{
	display: block;
	width: 100%;
	height: 100%;
}

.single_block04 .block_inner .link_bnr a .flex_area{
	display: flex;
	width: 100%;
	height: 178px;
	border-radius: 13px;
	background: url("../images/common/link_ico_ora02.webp")no-repeat #026a9e right 3.2310% bottom 21px;/*20*/
	background-size: 4.3618% auto;/*27*/
	overflow: hidden;
/*	box-shadow: 15px 15px 10px rgba(85, 205, 248, 0.57);*/
}

/* 色変更 */
html:is(.pageYellow) .single_block04 .block_inner .link_bnr a .flex_area{
	background: url("../images/common/link_ico_ora02.webp")no-repeat #F4E621 right 3.2310% bottom 21px;/*20*/
	background-size: 4.3618% auto;/*27*/
	border: 1px solid #000;
}

html:is(.pageBlack) .single_block04 .block_inner .link_bnr a .flex_area{
	background: url("../images/common/link_ico_ora02.webp")no-repeat #000 right 3.2310% bottom 21px;/*20*/
	background-size: 4.3618% auto;/*27*/
	border: 1px solid #fff;
}

html:is(.pageBlue) .single_block04 .block_inner .link_bnr a .flex_area{
	background: url("../images/common/link_ico_ora02.webp")no-repeat #0071b4 right 3.2310% bottom 21px;/*20*/
	background-size: 4.3618% auto;/*27*/
	border: 1px solid #fff;
}
/**/

.single_block04 .block_inner .link_bnr a .flex_area .img_area{
	width: 50.8885%;/*315*/
	height: 100%;
}

.single_block04 .block_inner .link_bnr a .flex_area .img_area img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single_block04 .block_inner .link_bnr a .flex_area .txt_area{
	width: calc(100% - 50.8885%);
	padding-top: 28px;
}

.single_block04 .block_inner .link_bnr a .flex_area .txt_area p{
	padding-left: 10.8552%;/*33*/
	box-sizing: border-box;
}

.single_block04 .block_inner .link_bnr a .flex_area .txt_area p.en_tit{
	font-size: 1.7125em;/*27.4*/
	line-height: 1;
	color: #fff;
}

.single_block04 .block_inner .link_bnr a .flex_area .txt_area p.en_tit:first-letter{
	color: #f28e1e;
}

/* 色変更 */
html:is(.pageYellow) .single_block04 .block_inner .link_bnr a .flex_area .txt_area p.en_tit:first-letter{
	color: #000;
}

html:is(.pageBlack, .pageBlue) .single_block04 .block_inner .link_bnr a .flex_area .txt_area p.en_tit:first-letter{
	color: #fff;
}
/**/

.single_block04 .block_inner .link_bnr a .flex_area .txt_area p.link_txt{
	padding-top: 22px;
	font-size: 1.625em;/*26*/
	line-height: 1;
	color: #fff;
}

/*===================================
	.pager_block
=====================================*/

.pager_block{
	padding-bottom: 167px;
}

.pager_block .block_inner .wp-pagenavi a.previouspostslink,
.pager_block .block_inner .wp-pagenavi a.nextpostslink{
	display: none;
}
