/* 会社情報 */
.page_main{
	padding: 0 5vw 5vw 18vw;
    position: relative;
    background-image: url(../images/about/page_main_bk.png);
	background-position: center bottom;
    background-size: cover;
}
.page_ttl{
	position: absolute;
	left: 20px;
	top: 0;
	writing-mode: vertical-rl;
}
.page_h1_wrap{
	justify-content: start;
	align-items: center;
	gap: 20px;
	padding-top: 5vw;
	position: relative;
	z-index: 1;
}
.page_h1{
	font-size: 3vw;
	/* filter: drop-shadow(1.5px 1.5px 0 #fff) drop-shadow(1.5px -1.5px 0 #fff) drop-shadow(-1.5px 1.5px 0 #fff) drop-shadow(-1.5px -1.5px 0 #fff); */
}
.page_h1_sub{
	font-size: 1.5vw;
}
.page_ttl_copy{
	padding-top: 8vw;
	font-size: 1vw;
	position: relative;
	z-index: 1;
}
.page_ttl_en{
	color: #c0d7e1;
	font-size: 10vw;
	line-height: 1.1;
	margin-right: -3vw;
}
.page_main_under{
	background-image: url(../images/about/page_bk01.png);
    background-size: cover;
    background-position: top center;
    width: 100%;
    height: 20vw;
    margin-top: -10vw;
    position: relative;
    z-index: 10;
}

.about01{
	padding: 0 40px 50px;
	margin-top: -5vw;
	position: relative;
	z-index: 11;
}
.ab01_wrap {
	gap: 20px;
}
.ab01_img{
	border: solid 3px #18578f;
	border-radius: 20px;
	overflow: hidden;
	width: 490px;
}
.ab01_copy{
	font-size: 60px;
}
.ab_name{
	font-size: 50px;
}
.ab_name_en{
	font-size: 24px;
}
.ab01_p{
	font-size: 20px;
	line-height: 2.2;
}
.ab01_oishisa{
	margin-top: 80px;
	background: #f2f2f2;
	padding: 100px;
	gap: 40px 50px;
}
.ab01_oishisa_copy{
	font-size: 50px;
}
.ab01_oishisa_txt{
	flex: 1;
}
.ab01_oishisa_img{
	width: 40%;
	max-width: 500px;
}
.ab_img03{
	width: calc(100% - 40px);
	max-width: 1200px;
	margin: auto;
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	z-index: 12;
}

.about02{
	background: #5a89bb;
	position: relative;
	z-index: 10;
	margin-top: -250px;
	padding: 300px 20px 100px;
}
.ab02_copy{
	font-size: 50px;
}

.link_section{
	padding: 150px 20px;
}
.link_wrap{
	flex-wrap: wrap;
	gap: 40px;
	justify-content: center;
	padding: 0 50px;
}
.ab_sign{
	max-width: 40%;
}

@media only screen and (max-width:1024px) {
	.page_main_under{
		height: 14vw;
	}
	.about01{
		padding: 0 20px 50px;
	}
	.ab01_img{
		width: 50%;
	}
	.ab01_copy{
		font-size:
		4vw;
	}
	.ab_name{
		font-size: 3vw;
	}
	.ab_name_en{
		font-size: 2vw;
	}
	.ab01_p{
		font-size: 18px;
		margin-top: 20px;
	}
	.ab01_oishisa{
		padding: 30px 20px;
		flex-wrap: wrap;
		margin-top: 40px;
	}
	.ab01_oishisa_txt{
		width: 100%;
		flex: none;
	}
	.ab01_oishisa_copy{
		writing-mode: horizontal-tb;
		font-size: 26px;
	}
	.ab01_oishisa_img{
		width: 100%;
		max-width: 100%;
	}
	.ab_img03{
		border-radius: 10px;
	}

	.about02{
		margin-top: -17vw;
		padding-top: 20vw;
	}
	.ab02_copy{
		font-size: 30px;
	}

	.link_section{
		padding: 100px 20px;
	}
	.link_wrap{
		gap: 20px;
	}
}


@media only screen and (max-width:480px) {
	.page_main{
		padding: 0 2vw 20vw 18vw;
	}
	.top_main_txt{
		top: 0;
		font-size: 7vw;
	}
	.page_main_under{
		height: 30vw;
		margin-top: -29vw;
	}
	.page_ttl{
		display: flex;
		left: 10px;
	}
	.page_ttl_inner{
		order: 2;
		display: flex;
		flex-flow: column;
		justify-content: center;
	}
	.page_h1_wrap{
		padding-top: 10vw;
		padding-top: 20px;
	}
	.page_h1 {
		font-size: 7vw;
		line-height: 1.2;
	}
	.page_h1_sub{
		font-size: 3vw;
	}
	.page_ttl_copy{
		font-size: 2.5vw;
		padding-top: 20px;
		order: 3;
	}
	.page_ttl_en{
		font-size: 16vw;
		order: 1;
		margin-right: -2vw;
	}

	.ab01_wrap{
		flex-wrap: wrap;
		justify-content: center;
	}
	.ab01_img{
		width: 80%;
	}
	.ab01_box {
		flex: none;
		width: 100%;
	}
	.ab01_copy{
		writing-mode: horizontal-tb;
		font-size: 28px;
	}
	.ab_name{
		font-size: 22px;
	}
	.ab_name_en{
		font-size: 14px;
	}


	.about02{
		padding-top: 28vw;
		margin-top: -30vw;
	}
	.link_section{
		padding: 50px 20px;
	}
	.link_wrap{
		gap: 20px;
		padding: 0;
	}

}

/* 会社概要 */
.page_ttl_en_s{
	font-size: 7vw;
	line-height: 0.8;
	margin-right: -2vw;
}
.com_h2{
	font-size: 60px;
}
.com01_p{
	font-size: 24px;
	letter-spacing: 0.1em;
	line-height: 2;
	padding: 50px;
	margin-top: 50px;
	background-image: url(../images/company/com_bk01.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.com02{
	background: #4a7db4;
	padding: 100px;
}
.com02_inner{
	background: #fff;
	padding: 70px 20px;
}
.com02_table{
	border-top: solid 2px #5390c6;
	border-left: solid 2px #5390c6;
	margin-top: 50px;
	font-size: 20px;
}
.com02_th{
	width: 240px;
	border-bottom: solid 2px #5390c6;
	border-right: solid 2px #5390c6;
	padding: 30px;
}
.com02_td{
	flex: 1;
	border-bottom: solid 2px #5390c6;
	border-right: solid 2px #5390c6;
	padding: 30px;
}

.com03{
	padding: 80px 20px;
}
.com03_inner{
	padding: 0 50px;
}
.his_en{
	font-size: 135px;
	color: #c0d7e1;
}
.his_table{
	position: relative;
}
.his_table::before{
	content: "";
	display: block;
	width: 5px;
	height: 100%;
	background: #5390c6;
	position: absolute;
	left: 280px;
}
.his_th{
	width: 280px;
	padding: 30px 20px 30px 0;
	font-size: 40px;
	line-height: 1.1;
	color: #4a7db4;
	letter-spacing: 0.3em;
	position: relative;
}
.his_td{
	flex: 1;
	font-size: 20px;
	padding: 40px 0 30px 40px;
}
.his_th::before{
	content: "";
	display: block;
	width: 25px;
	height: 25px;
	background: #5390c6;
	border-radius: 30px;
	position: absolute;
	right: -15px;
	top:41px;
}
.his_th::after{
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	background: #fff;
	border-radius: 30px;
	position: absolute;
	right: -10px;
	top: 46px;
}
.his_th_pht{
	width: 200px;
}
.his_td_pht{
	flex: 1;
	position: relative;
}
.his_img{
	position: absolute;
	right: 0;
	bottom: 0;
	border: dotted 3px #5390c6;
	width: 276px;
}
.his_td_pht::before{
	content: "";
	display: block;
	width: calc(100% - 310px);
	border-bottom: dotted 3px #5390c6;
	position: absolute;
	left: 30px;
	bottom: 0;
}
.his_img02{
	right: 50px;
}

.com04{
	background: #e9f4ff;
	padding: 100px 20px;
}
.com04_inner {
	padding: 0 60px;
}
.com04_wrap{
	gap: 40px 60px;
}
.com04_txt{
	flex: 1;
}
.com04_img{
	max-width: 490px;
	width: 35%;
}
.com04_copy{
	font-size: 2.5vw;
}
.com04_name{
	font-size: 30px;
}
.com04_table{
	border-top: solid 3px #5390c6;
	border-bottom: solid 3px #5390c6;
	padding: 30px 0;
}
.com04_tr{
	gap: 20px;
}
.com04_th{
	width: 100px;
}
.com04_td{
	flex: 1;
}


@media only screen and (max-width:1024px) {
	.com_h2{
		font-size: 35px;
	}
	.com02{
		padding: 40px 20px;
	}
	.com02_inner{
		padding: 40px 20px;
	}
	.com02_table{
		font-size: 16px;
	}
	.com02_th{
		width: 100px;
		padding: 20px 10px;
	}
	.com02_td{
		padding: 20px 10px;
	}

	.com03{
		padding: 40px 20px;
	}
	.com03_inner{
		padding: 0;
	}
	.ab_img03_wrap{
		margin-top: 40px;
	}
	.his_en{
		font-size: 80px;
		line-height: 1;
	}
	.his_table::before{
		left: 112px;
	}
	.his_th{
		width: 112px;
		font-size: 21px;
		letter-spacing: 0.05em;
		padding: 20px 10px 20px 0;
	}
	.his_th::before{
		width: 16px;
		height: 16px;
		right: -10px;
		top: 25px;
	}
	.his_th::after{
		width: 8px;
		height: 8px;
		right: -6px;
		top: 29px;
	}
	.his_td{
		font-size: 16px;
		padding: 19px 0 20px 20px;
	}

	.com04{
		padding: 40px 20px;
	}
	.com04_inner {
		padding: 0;
	}
	.com04_wrap{
		flex-wrap: wrap;
	}
	.com04_txt{
		flex: none;
		width: 100%;
	}
	.com04_copy{
		font-size: 30px;
		writing-mode: horizontal-tb;
	}
	.com04_p{
		margin-top: 10px;
	}
	.com04_img {
		width: 100%;
		max-width: 100%;
	}
}

@media only screen and (max-width:480px) {
	.page_ttl_en_s{
		font-size: 10vw;
		margin-right: -1vw;
	}
	.com01_p{
		padding: 0 10px;
		margin-top: 30px;
		font-size: 20px;
	}
}

/* 事業内容 */
.work01{
	padding: 0 40px 100px;
    margin-top: -5vw;
    position: relative;
    z-index: 11;
}
.wk01_wrap{
	margin-top: 50px;
	gap: 40px;
}
.wk01_img{
	border-radius: 20px;
	height: 27vw;
}
.wk01_box_ttl{
	font-size: 36px;
}
.wk01_p{
	line-height: 2;
}

.work02{
	background: #e9f4ff;
	padding: 100px 40px;
}
.wk02_inner{
	background: #fff;
	padding: 100px;
}
.wk_h3{
	font-size: 40px;
}
.wa02_wrap{
	gap: 20px;
}
.wk02_img_box{
	width: 30%;
}
.wk02_table{
	border-top: solid 2px #5390c6;
	border-left: solid 2px #5390c6;
	font-size: 20px;
	flex: 1;
}
.wk02_th{
	width: 240px;
	border-bottom: solid 2px #5390c6;
	border-right: solid 2px #5390c6;
	padding: 30px;
	background: #f7f7f7;
	letter-spacing: 0.2em;
}
.wk02_td{
	flex: 1;
	border-bottom: solid 2px #5390c6;
	border-right: solid 2px #5390c6;
	padding: 30px;
	flex-wrap: wrap;
}
.wk02_sub_table{
	padding: 0;
}
.wk02_sub_th{
	width: 200px;
	border-right: solid 2px #5390c6;
	padding: 20px;
	background: #f7f7f7;
	letter-spacing: 0.2em;
}
.wk02_sub_td{
	width: calc(100% - 200px);
	padding: 20px;
}
.wk02_sub_bb{
	border-bottom: solid 2px #5390c6;
}
.wk02_sub_td_logo{
	position: relative;
	/* padding-right: 100px; */
}
.jgap_logo{
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.work03{
	padding: 20px 40px 100px ;
}


@media only screen and (max-width:1024px) {
	.work01{
		padding: 0 20px 50px;
	}
	.wk01_copy{
		font-size: 22px;
	}
	.wk01_wrap{
		flex-wrap: wrap;
	}
	.wk01_box{
		width: 100%;
	}
	.wk01_img{
		height: 57vw;
	}
	.wk01_box_ttl{
		font-size: 28px;
	}
	.jgap_copy{
		margin-top: 40px;
	}

	.work02{
		padding: 50px 20px;
	}
	.wk02_inner{
		padding: 30px 20px;
	}
	.wk_h3{
		font-size: 7vw;
		margin-top: 60px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 5px;
	}
	.wa02_wrap{
		flex-wrap: wrap;
		margin-top: 20px;
	}
	.wk02_img {
		width: 50%;
		max-width: 300px;
	}
	.wk02_table{
		flex: none;
		width: 100%;
		font-size: 16px;
	}
	.wk02_th{
		padding: 10px 5px;
		width: 20%;
	}
	.wk02_td{
		padding: 10px 5px;
	}
	.wk02_sub_table{
		padding: 0;
	}
	.wk02_sub_th{
		padding: 10px 5px;
		width: 25%;
	}
	.wk02_sub_td{
		width: 75%;
		padding: 10px 5px;
	}
	.wk02_sub_td_logo{
		/* padding: 10px 5px 40px 10px; */
	}
	.jgap_logo{
		width: 50px;
		top: unset;
		bottom: 5px;
		transform: translateY(0);
	}

	.work03{
		padding: 40px 20px 50px;
	}
	.wk03_gray{
		margin-top: 0;
	}

}


/* 取り組みについて */
.ini01{
	padding: 0 0 100px;
    margin-top: -5vw;
    position: relative;
    z-index: 11;
}
.ini01_inner{
	padding: 0 100px;
}
.ini01_full{
	padding: 80px 20px 50px calc(250px + 15vw);
	background-image: url(../images/initiative/ini_bk01.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: left center;
}

.ini02{
	padding: 0 0 100px 5vw;
}
.ini02_inner{
	padding: 100px 0 100px 100px;
	position: relative;
	background: #f7f7f7;
}
.ini_txt01{
	padding-right: 50vw;
	margin: 5vw auto 0 1vw;
	position: relative;
}
.ini_img01{
	position: absolute;
	right: 0;
	top: 50%;
	width: 40vw;
	transform: translateY(-50%);
}
.ini_txt02{
	padding: 18vw 12vw 0 29vw;
	position: relative;
}
.ini_img02{
	position: absolute;
	left: -3vw;
	top: 7vw;
	width: 28vw;
}

@media only screen and (max-width:1024px) {
	.ini01{
		padding: 0 0 50px;
	}
	.ini01_inner{
		padding: 0 20px;
	}
	.ini01_p{
		margin-top: 0;
	}
	.ini01_full{
		padding: 50px 20px 50vw 20px;
		background-position: left bottom;
		background-size: 70vw;
	}

	.ini02{
		padding: 0 0 50px 20px;
	}
	.ini02_inner{
		padding: 40px 0 50px 20px;
	}
}

@media only screen and (max-width:768px) {
	.ini_txt01{
		padding-right: 20px;
		margin: 30px 0 0 0;
	}
	.ini_img01{
		position: static;
		transform: translateY(0);
		margin: -8vw -20px 0 auto;
		width: 45vw;
	}
	.ini_txt02{
		padding: 20px 20px 0 0;
	}
	.ini_img02{
		position: static;
		width: 40vw;
		margin: 30px 0 0;
	}
}

@media only screen and (max-width:480px) {
	.ini01_full{
		padding: 40px 20px 70vw 20px;
		background-size: 96vw;
	}
	.ini02_copy{
		writing-mode: horizontal-tb;
		font-size: 28px;
	}
}


/* 一日のスケジュール */
.schedule01{
	padding-bottom: 100px;
	margin-top: -10px;
	position: relative;
}
.sd_h2{
	font-size: 60px;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
.sd01_inner{
	padding-left: 400px;
	position: relative;
}
.sd02_inner{
	padding-right: 460px;
	position: relative;
}
.sd_ttl{
	font-size: 40px;
	background: #4a7db4;
	color: #fff;
	padding: 5px 30px;
	border-radius: 40px;
}
.sd_tr{
	gap: 10px 50px;
	padding-bottom: 30px;
}
.sd_th{
	width: 190px;
	position: relative;
}
.sd_td{
	flex: 1;
	position: relative;
}
.sd_time{
	border: solid 3px #4a7db4;
	background: #fff;
	font-size: 30px;
	line-height: 1.1;
	border-radius: 30px;
	padding: 10px 20px;
	position: relative;
	z-index: 1;
	font-weight: bold;
}
.sd_th::after{
	content: "";
	display: block;
	width: 5px;
	height: calc(100% + 50px);
	border-left: dotted 5px #4a7db4;
	position: absolute;
	top: 0;
	left: calc(50% - 2.5px);
}
.sd_th_last::after{
	display: none;
}
.sd_td_ttl{
	font-size: 30px;
	max-width: 530px;
}
.sd_td_txt{
	font-size: 20px;
	max-width: 530px;
}
.sd_td.right .sd_td_ttl,
.sd_td.right .sd_td_txt{
	margin: 0 0 0 auto;
}
.sd_td.right .sd_td_ttl.mt10,
.sd_td.right .sd_td_txt.mt10{
	margin-top: 10px;
}
.sd_rest{
	position: absolute;
	top: calc(50% + 30px);
	left: calc(50% - 75px);
	padding: 5px 20px;
	width: 150px;
	font-size: 22px;
	line-height: 1.2;
	z-index: 1;
	border: dashed 3px #4a7db4;
	border-radius: 35px;
	background: #fff;
	font-weight: bold;
}
/* .sd_rest::before{
	content: "";
	width: 20px;
	height: 20px;
	border: solid 5px #4a7db4;
	border-radius: 35px;
	background: #fff;
	position: absolute;
	left: 0;
	top: 0;
} */
.sd_td_img{
	position: absolute;
}
.sd_staff01{
	left: 20px;
	top: 0;
}
.sd_staff02{
	right: 0;
	top: 0;
}
.sd_img01{
	left: 600px;
	top: -50px;
}
.sd_img02{
	left: 500px;
	top: 30px;
}
.sd_img03{
	left: 430px;
	top: 280px;
}
.sd_img04{
	left: 500px;
	top: -40px;
}
.sd_img05{
	right: 340px;
	top: -170px;
}
.sd_img06{
	right: 400px;
	bottom: 20px;
}
.sd_img07{
	right: 330px;
	top: 0;
}

@media only screen and (max-width:1700px) {
	.sd_ttl{
		width: calc(100% - 40px);
		margin-left: auto;
		margin-right: auto;
	}
	.sd01_inner{
		padding-left: 20vw;
	}
	.sd02_inner{
		padding-right: 24vw;
	}
	.sd_td_txt{
		max-width: 60%;
	}
	.sd_staff01{
		width: 19vw;
	}
	.sd_staff02{
		width: 23vw;
	}
	.sd_img01{
		top: -30px;
		left: unset;
		right: 155px;
		width: 27vw;
	}
	.sd_img02{
		top: 60px;
		left: unset;
		right: 6vw;
		width: 22vw;
	}
	.sd_img03{
		top: 300px;
		left: unset;
		right: 8vw;
		width: 22vw;
	}
	.sd_img04{
		left: unset;
		right: 6vw;
		top: 0;
		width: 26vw;
	}
	.sd_img05{
		top: -130px;
		right: unset;
		left: 8vw;
		width: 24vw;
	}
	.sd_img06{
		right: unset;
		left: 1vw;
		width: 28vw;
	}
	.sd_img07{
		right: unset;
		left: 2vw;
		width: 23vw;
	}
}

@media only screen and (max-width:1024px) {
	.sd01_inner,
	.sd02_inner{
		padding: 0 20px;
	}
	.sd_h2{
		font-size: 30px;
		line-height: 1.1;
	}

	.sd_tr{
		gap: 20px;
	}
	.sd_th{
		width: 150px;
	}
	.sd_time{
		font-size: 24px;
	}
	.sd_rest{
		width: 110px;
		left: 0;
		padding: 5px;
		font-size: 17px;
	}
	.sd_td_ttl{
		font-size: 24px;
	}

	.sd_staff{
		position: absolute;
		left: unset;
		right: 0;
	}
	.sd_staff01{
		top: 30px;
	}
	.sd_staff02{
		top: -160px;
	}
}

@media only screen and (max-width:768px) {
	.sd_ttl{
		font-size: 26px;
		margin-top: 40px;
	}
	.sd_th{
		width: 110px;
	}
	.sd_time{
		font-size: 25px;
		padding: 10px;
	}
	.sd_td_ttl{
		font-size: 20px;
	}
	.sd_td_txt{
		font-size: 18px;
	}
	.sd_td_img{
		position: static;
		width: auto;
		margin: 10px auto 0;
		max-width: 70%;
	}
	.sd_td_txt{
		max-width: 100%;
	}
}

@media only screen and (max-width:480px) {
	.schedule01{
		padding-bottom: 50px;
	}
	.sd_staff01{
		top: 40px;
		width: 23vw;
	}
	.sd_staff02{
		top: -100px;
		width: 32vw;
	}
}


/* 採用情報 */
.recruit01 {
	padding-right: 20px;
	padding-left: 20px;
}
.ri01_img{
	max-width: 440px;
	width: 40%;
}
.ri01_box{
	width: 55%;
}
.ri_img01{
	border: solid 2px #18578f;
	border-radius: 20px;
	height: auto;
}
.ri_h3{
	font-size: 38px;
}

.recruit02{
	padding: 100px 40px;
}
.ri02_inner{
	padding: 0 30px;
}
.ri02_wrap{
	gap: 30px;
	flex-wrap: wrap;
}
.ri02_box{
	background: #1a5aa2;
	color: #fff;
	padding: 30px;
	border-radius: 20px;
	width: calc((100% - 60px) / 3);
}
.ri02_box_ttl{
	font-size: 30px;
}
.ri02_box_num{
	font-size: 30px;
}
.num_big{
	font-size: 80px;
	line-height: 1;
}

.recruit03{
	padding: 100px 20px;
	background: #4a7db4;
}
.ri03_inner{
	background: #fff;
	padding: 60px 8vw;
	border-radius: 20px;
}
.ri03_h3{
	font-size: 24px;
}
.ri03_table{
	border-top: solid 2px #4a7db4;
	border-left: solid 2px #4a7db4;
	font-size: 20px;
	letter-spacing: 0.1em;
}
.ri03_th{
	width: 20%;
	padding: 30px;
	border-bottom: solid 2px #4a7db4;
	border-right: solid 2px #4a7db4;
}
.ri03_td{
	flex: 1;
	padding: 30px;
	border-bottom: solid 2px #4a7db4;
	border-right: solid 2px #4a7db4;
}

.recruit04{
	padding: 100px 20px;
}
.ri04_copy {
	justify-content: start;
	align-items: baseline;
	gap: 5px 30px;
}
.ri_flow{
	gap: 10px;
}
.ri_flow_box{
	width: 260px;
	height: 260px;
	background: #0a4d98;
	color: #fff;
	font-size: 30px;
	border-radius: 400px;
}
.ri_flow_arrow{
	font-size: 40px;
}
.ri_contact_ttl{
	font-size: 24px;
}
a.ri_btn{
	display: block;
	background: #0a4d98;
	color: #fff;
	padding: 60px;
	border-radius: 20px;
	position: relative;
	font-size: 40px;
	background-image: url(../images/recruit/ri_btn_arrow.png);
	background-position: right 50px top 47%;
	background-repeat: no-repeat;
}
.ri_tel_wrap{
	border: solid 3px #4a7db4;
	border-radius: 20px;
	padding: 40px 60px;
}
.ri_tel_num{
	font-size: 60px;
	letter-spacing: 0.1em;
	border-bottom:  solid 5px #4a7db4;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
.ri_tel_txt{
	font-size: 40px;
}

.faq_box {
	overflow: hidden;
	border-radius: 10px;
}
.faq_q{
	background: #4a7db4;
	color: #fff;
	padding: 25px 150px;
	justify-content: start;
	gap: 20px;
	font-size: 22px;
	position: relative;
	cursor: pointer;
}
.faq_arrow{
	width: 20px;
	height: 20px;
	border-right: solid 3px #fff;
	border-bottom: solid 3px #fff;
	transform: rotate(45deg);
	transition: 0.3s ease-in-out;
	position: absolute;
	right: 150px;
	top: calc(50% - 10px);
}
.open .faq_arrow{
		transform: rotate(-135deg);
}
.faq_a{
	background: #eee;
	padding: 30px 200px;
	font-size: 20px;
}

@media only screen and (min-width:1025px) {
	a.ri_btn:hover{
		background-image: url(../images/top/arrow.png);
	}
}

@media only screen and (max-width:1440px) {
	.ri_flow{
		flex-wrap: wrap;
		justify-content: center;
	}
	.ri_flow_box{
		width: 15vw;
		height: 15vw;
		min-width: 160px;
		min-height: 160px;
		font-size: 22px;
	}
}

@media only screen and (max-width:1024px) {
	.ri01_wrap {
		flex-wrap: wrap;
		gap: 20px;
		justify-content: center;
		margin-top: 40px;
	}
	.ri01_img{
		width: 100%;
	}
	.ri01_box{
		width: 100%;
	}
	.ri_h3{
		font-size: 24px;
		text-align: left;
	}

	.recruit02{
		padding: 50px 20px;
	}
	.ri02_inner{
		padding: 0;
	}

	.ri03_inner{
		padding: 30px 20px;
		border-radius: 10px;
	}
	.ri03_th,.ri03_td{
		padding: 20px;
	}

	a.ri_btn{
		padding: 30px 40px 30px 20px;
		font-size: 30px;
		background-position: right 10px top 47%;
	}
	.ri_tel_wrap{
		padding: 30px 20px;
	}
	.ri_tel_num{
		font-size: 40px;
		line-height: 1;
	}
	.ri_tel_txt{
		font-size: 28px;
	}
	.faq_q{
		padding: 15px 50px 15px 20px;
	}
	.faq_arrow{
		right: 20px;
	}
	.faq_a{
		padding: 20px;
	}

	.recruit03{
		padding: 50px 20px;
	}
}

@media only screen and (max-width:768px) {
	.rec01_en_ttl{
		text-align: center;
		line-height: 1.1;
		margin-top: 0;
	}
	.ri02_wrap{
		gap: 20px;
		margin-top: 50px;
	}
	.ri02_box{
		width: calc((100% - 20px) / 2);
		padding: 20px 10px;
	}
	.ri02_box_ttl,.ri02_box_num {
		font-size: 19px;
	}
	.num_big{
		font-size: 45px;
	}
	.ri02_img{
		margin-top: 10px;
	}

	.ri03_inner{
		padding: 20px 10px;
	}
	.ri03_h3{
		font-size: 18px;
	}
	.ri03_th{
		min-width: 100px;
	}
	.ri03_th, .ri03_td{
		padding: 10px;
		font-size: 16px;
	}

	.recruit04{
		padding: 50px 20px;
	}
	.ri04_copy{
		flex-wrap: wrap;
		justify-content: center;
	}
	.ri04_h3{
		font-size: 17px;
	}
	.ri_flow{
		gap: 1vw;
	}
	.ri_flow_box{
		min-width: auto;
		min-height: auto;
		width: 25vw;
		height: 25vw;
		font-size: 3.8vw;
	}
	.ri_flow_arrow{
		font-size: 4vw;
	}
	.ri_contact_ttl{
		margin-top: 30px;
	}
}
@media only screen and (max-width:480px) {
	.ri01_img{
		padding: 0 30px;
	}
	a.ri_btn{
		font-size: 17px;
		border-radius: 10px;
		padding: 20px 30px 20px 10px;
		background-size: 15px;
	}
	.ri_tel_num{
		font-size: 30px;
	}
	.ri_tel_txt{
		font-size: 18px;
	}
	.faq_q{
		font-size: 18px;
		padding-right: 30px;
	}
	.faq_a{
		font-size: 18px;
	}
	.faq_arrow{
		width: 10px;
		height: 10px;
		top: calc(50% - 5px);
		right: 10px;
	}
}



/* 先輩インタビュー */
.interview01{
	padding-bottom: 100px;
	margin-top: -80px;
	position: relative;
	z-index: 10;
}
.iv01_inner {
	padding: 0 150px;
}
.iv_index {
	justify-content: center;
	gap: 60px;
}
.iv_index_box{
	position: relative;
}
.iv_index_img_wrap{
	border-radius: 20px;
	overflow: hidden;
	position: relative;
	display: block;
}
.iv_index_img{
	height: auto;
}
.iv_index_name_en{
	color: #fff;
	font-size: 23px;
	background: linear-gradient(to bottom, rgba(26,90,162,0) 0%,rgba(26,90,162,0.8) 50%,rgba(26,90,162,1) 100%);
	padding: 100px 20px 10px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
}
.iv_index_job{
	background: #4a7db4;
	color: #fff;
	border-radius: 20px;
	padding: 5px 20px;
}
.iv_index_name{
	font-size: 36px;
}
.iv_index_num{
	width: 94px;
	height: 94px;
	border-radius: 100px;
	background: #1a5aa2;
	color: #fff;
	position: absolute;
	right: -40px;
	top: -40px;
	font-size: 42px;
	letter-spacing: 0.1em;
}

.interview02{
	background: #75a6d1;
	padding: 100px 20px;
}
.iv_tag{
	background: #fff;
	padding: 20px 40px;
	border-radius: 20px 20px 0 0;
	gap: 20px;
	width: 450px;
	margin: 0 40px 0 auto;
}
.iv_content_year{
	font-size: 20px;
	line-height: 1.2;
}
.iv_content_name{
	font-size: 36px;
	line-height: 1.2;
}
.iv_tag_num{
	font-size: 116px;
	line-height: 0.9;
}
.iv_block01{
	padding: 50px 80px;
}
.iv_q{
	font-size: 28px;
}
.iv_a{
	font-size: 20px;
	line-height: 2;
}
.iv_block02{
	background: #fff;
	border-radius: 20px;
	padding: 90px 80px;
}
.iv_content_wrap{
	gap: 20px 5%;
}
.iv_content_img{
	width: 42%;
}
.iv_content_txt{
	width: 53%;
}
.iv_message{
	border: solid 1px #1a5aa2;
	padding: 80px 50px 50px;
	border-radius: 20px;
}
.iv_message_ttl{
	margin-top: -100px;
}
.iv_message_ttl_txt{
	background: #fff;
	padding: 0 30px;
	display: inline-block;
}


@media only screen and (max-width:1024px) {
	.interview01{
		margin-top: -30px;
	}
	.iv01_inner{
		padding: 0 20px;
	}
	.iv_index_img_wrap{
		width: calc(100% - 60px);
		margin: 0 0 0 auto;
	}
	.iv_index_name_wrap{
		position: absolute;
		left: 0;
		top: 0;
		writing-mode: vertical-rl;
		display: flex;
		align-items: center;
		gap: 20px;
	}
	.hansuuji{
		 text-combine-upright: all;
	}

	.interview02{
		padding: 80px 0;
	}
	.iv_index{
		flex-wrap: wrap;
	}
	.iv_tag{
		padding: 10px;
		font-size: 14px;
		margin: 0 5px 0 auto;
		width: 253px;
		border-radius: 10px 10px 0 0;
	}
	.iv_tag_num{
		font-size: 60px;
	}
	.iv_content_year{
		font-size: 16px;
	}
	.iv_content_name{
		font-size: 24px;
	}
	.iv_block01{
		padding: 40px 10px;
	}
	.iv_q{
		font-size: 24px;
	}
	.iv_a{
		font-size: 16px;
	}
	.iv_block02{
		padding: 40px 20px;
	}
	.iv_content_wrap{
		flex-wrap: wrap;
	}
	.iv_content_img{
		width: 100%;
		order: 1;
	}
	.iv_content_txt{
		width: 100%;
		order: 2;
	}
	.iv_message{
		padding: 20px;
	}
	.iv_message_ttl{
		margin-top: -40px;
	}
	.iv_message .iv_a{
		margin-top: 10px;;
	}
}

@media only screen and (max-width:768px) {
	.interview01{
		padding-bottom: 50px;
	}
}

@media only screen and (max-width:480px) {
	.iv_index_name_en{
		padding: 100px 10px 10px;
		font-size: 18px;
	}
	.iv_index_num{
		right: -10px;
	}

	.iv_content {
		margin-top: 50px;
	}
	.iv_message_ttl_txt{
		padding: 0 5px;
	}
}

/* 待遇・福利厚生 */
.ct01_txt{
	font-size: 24px;
}
.eb01_box{
	width: calc(50% - 20px);
}
.eb01_shikaku{
	padding: 20px;
	background: #f2f2f2;
}

@media only screen and (max-width:768px) {
	.eb01_box{
		width: 100%;
	}
}



/* お問い合わせ */
.ct_inner{
	padding: 0 50px;
}
.ct_h3{
	text-align: center;
}
.ct_form {
	border-radius: 20px;
	overflow: hidden;
}
.ct_box{
	background: #fff;
	padding: 30px 50px;
	gap: 10px;
}
.ct_box+.ct_box{
	margin-top: 5px;
}
.ct_box02{
	padding: 50px;
}
.ct_ttl{
	width: 20%;
	min-width: 120px;
	display: flex;
	align-items: center;
	font-size: 20px;
}
.ct_input_box{
	flex: 1;
	display: flex;
	align-items: center;
}
.ct_input_box p{
	width: 100%;
}
.ct_input{
	width: 100%;
	background: #f2f2f2;
	padding: 15px 20px;
	border: none;
	font-size: 20px;
	line-height: 1.5;
}
.ct_input_box .wpcf7-list-item {
	display: block;
}
.ct_file{
	font-size: 20px;
}
.wpcf7-list-item-label{
	font-size: 20px;
}
.form_btn,
.ct_form .smf-action .smf-button-control__control{
	display: block;
	width: 100%;
	max-width: 500px;
	margin: 0 auto 20px;
	font-size: 24px;
	background: #0a4d98;
	border: none;
	color: #fff;
	border-radius: 10px;
	padding: 30px 50px;
	cursor: pointer;
	font-family: "Hina Mincho", serif;
}
.ct_box .wpcf7-spinner{
	position: absolute;
}

.ct_form .smf-form--business .smf-item{
	border: none;
}
.ct_form .smf-form--business .smf-item:not(:first-child){
	margin-top: 5px;
}
.ct_form .smf-form--business .smf-item__col--label {
	background-color: transparent;
	border: none;
	padding: 0;
}
.ct_form .smf-form--business .smf-item__col--controls{
	padding: 0;
}
.ct_form .smf-form .smf-item .smf-text-control__control,
.ct_form .smf-form .smf-item .smf-textarea-control__control{
	width: 100%;
	background: #f2f2f2;
	padding: 15px 20px;
	border: none;
	font-size: 20px;
	line-height: 1.5;
}
.ct_form .smf-item__description{
	color: #0a4d98;
}
.ct_form .smf-form--business+.smf-action {
	background-color: #fff;
	padding: 10px 20px 10px;
	margin: 0;
}
.ct_form .snow-monkey-form[data-screen=complete] .smf-form--business+.smf-action ,
.ct_form .snow-monkey-form[data-screen=systemerror] .smf-form--business+.smf-action ,
.ct_form .snow-monkey-form[data-screen=complete] .snow-monkey-forms-turnstile,
.ct_form .snow-monkey-form[data-screen=systemerror] .snow-monkey-forms-turnstile{
	background-color: transparent;
}
.snow-monkey-forms-turnstile{
	background: #fff;
	padding: 0 20px 40px;
}
.snow-monkey-forms-turnstile>div{
	justify-content: center;
}
.ct_form .snow-monkey-forms-turnstile--position\:after{
	margin: 0;
}


@media only screen and (max-width:1024px) {
	.ct_inner{
		padding: 0;
	}
	.form_btn{
		padding: 20px 10vw;
	}
}

@media only screen and (max-width:768px) {
	.ct01_txt{
		font-size: 18px;
	}
	.ct_box{
		padding: 10px;
		gap:0;
	}
	.ct_ttl,.ct_input{
		font-size: 16px;
		padding: 10px;
	}
	.ct_box .ct_file{
		width: 100%;
		font-size: 16px;
	}
	.ct_box .wpcf7-list-item-label{
		font-size: 14px;
	}
	.smf-file-control__filename{
		font-size: 0.8em;
	}
}



/* 職場環境・周辺案内 */
.ev01_access{
	background: #f2f2f2;
	padding: 50px 150px 150px;
	position: relative;
}
.ev_h4{
	font-size: 32px;
	letter-spacing: 0.1em;
}
.ev01_ttl{
	font-size: 24px;
}
.icon_car{
	position: absolute;
	right: 50px;
	top: 50px;
}
.icon_mountain{
	position: absolute;
	bottom: 30px;
	left: 30px;
}
.ev01_wrap{
	gap: 40px 20px;
}
.narrow {
	padding: 0 150px;
}

@media only screen and (max-width:1024px) {
	.narrow{
		padding: 0 50px;
	}
	.ev01_access{
		padding: 100px 50px 160px;
	}
	.icon_car{
		top: 20px;
		right: 30px;
	}
	.icon_mountain{
		bottom: 20px;
		left: 20px;
	}
}

@media only screen and (max-width:480px) {
	.ev01_map{
		margin-top: 30px;
	}
	.narrow{
		padding: 0 20px;
		margin-top: 40px;
	}
	.ev01_access{
		padding: 12vw 20px 26vw;
	}
	.icon_car,
	.icon_mountain_img{
		width: 13vw;
	}
	.ev01_h2{
		margin-top: 80px;
	}
	.ev_h4{
		font-size: 18px;
		margin-top: 10px;
	}
	.ev01_wrap{
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 50px;
	}

	.ev02_img{
		margin-top: 40px;
	}
	.ev02_h3{
		margin-top: 40px;
	}
}


/* プライバシーポリシー */
.pp_h1{
	font-size: 37px;
}
.pp_ol{
	list-style: decimal;
	padding-left: 1em;
}

@media only screen and (max-width:1440px) {
	.pp_h1{
		font-size: 2.2vw;
	}
}

@media only screen and (max-width:480px) {
	.pp_h1{
		font-size: 3.8vw;
	}
	.pp_ttl_en{
		font-size: 15vw;
	}
	.pp_h3{
		font-size: 25px;
	}
}

/* サイトマップ */
.sm_wrap{
	gap: 80px 40px;
	flex-wrap: wrap;
}
.sm_box{
	width: calc((100% - 80px) / 3);
}
.sm_h3{
	font-size: 22px;
	line-height: 1.2;
	padding-left: 15px;
	border-left: solid 6px #0a4d98;
}
.sm_sub_item{
	position: relative;
	padding-left: 1.5em;
}
.sm_sub_item::before{
	content: "▶";
	font-size: 0.6em;
	position: absolute;
	left: 5px;
	top: 5px;
}

@media only screen and (max-width:1024px) {
	.sm_box{
		width: calc((100% - 40px) / 2);
	}
	.sm_h3{
		font-size: 19px;
		padding-left: 5px;
			border-left: solid 4px #0a4d98;
	}
}

@media only screen and (max-width:480px) {
	.sm_wrap{
		gap: 20px 40px;
		padding: 0 20px;
	}
	.sm_box{
		width: 100%;
	}
}