@charset "UTF-8";
.d-inline-block { display: inline-block; }
.square_top {
	width: 285px;
	height: 285px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.square_top:before {
	content: "";
	background: #fff;
	width: 80px;
	height: 280px;
	position: absolute;
	top: 0;
	left: 0;
}
.square_top:after {
	content: "";
	background: #fff;
	width: 280px;
	height: 80px;
	position: absolute;
	top: 0;
	left: 0;
}
.square_bottom {
	width: 285px;
	height: 285px;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
}
.square_bottom:after {
	content: "";
	background: #fff;
	width: 280px;
	height: 80px;
	position: absolute;
	bottom: 0;
	right: 0;
}
@media screen and (max-width: 767px) {
	.square_top {
		width: 90px;
		height: 90px;
	}
	.square_top:before {
		width: 25%;
		height: 100%;
	}
	.square_top:after {
		width: 100%;
		height: 25%;
	}
	.square_bottom {
		width: 90px;
		height: 90px;
	}
	.square_bottom:after {
		width: 100%;
		height: 25%;
	}
	.square_bottom::before {
		content: "";
		background: #fff;
		width: 25%;
		height: 100%;
		position: absolute;
		bottom: 0;
		right: 0;
	}
}
/*==================================================================
	Contents setting
===================================================================*/
.section {
	position: relative;
	padding: 170px 0 130px;
}
.section .pos_title {
	position: absolute;
	top: 0;
	left: calc(100% + 30px);
	width: 82px;
	z-index: 1;
}
@media screen and (max-width: 1440px) {
	.section .pos_title {
		left: calc(100% + 7px);
		width: 80px;
	}
	.section .pos_title img {
		transform: translateX(-100%);
	}
}
@media screen and (max-width: 1200px) {
	.section .pos_title {
		display: none;
		width: 60px;
	}
}
@media screen and (max-width: 767px) {
	.section .pos_title {
		display: none;
	}
	.section {
		padding: 70px 0;
	}
}
/* .sec_vision */
.sec_vision { padding: 165px 0 135px;}
.vision_list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-gap: 65px;
}
.vision_list .cont {
	color: #1d2088;
	/* min-height: 208px; */
	aspect-ratio: 1/1;
	background-color: #fff100;
	display: flex;
    align-items: center;
    justify-content: center;
	text-align: center;
	position: relative;
}
.vision_list .item:nth-child(1) .cont {
	background-color: #1d2088;
	color: #fff;
}
.vision_list .txt {
	line-height: 1.75;
	font-weight: 600;
	position: relative;
	padding-top: 0;
	z-index: 10;
}
.vision_list .num {
	height: 106%;
	top: -3%;
	position: absolute;
	right: 0;
	transform: translateX(30%);
}
.vision_list .num img {
	height: 100%;
	width: auto;
}
@media screen and (max-width: 1200px){
	.vision_list {
		grid-gap: 30px;
	}
}
@media screen and (max-width: 767px){
	.sec_vision { padding: 100px 0;}
	.vision_list {
		width: 100%;
		max-width: 220px;
		grid-template-columns: auto;
		margin: 0 auto;
	}
}
/* sec_recruit */
.sec_recruit {
	padding: 100px 0 100px;
}
.sec_recruit .sec_headline {
	margin-bottom: 95px;
}
.recruit_block {
	position: relative;
	padding: 135px 135px 170px 135px;
	z-index: 0;
}
.recruit_block .ttl_img {
	display: flex;
	flex-direction: column;
	position: absolute;
	top: 135px;
	bottom: 0;
	right: 0;
	width: 80px;
}
.recruit_block .ttl_img:after {
	content: "";
	display: block;
	width: 100%;
	height: auto;
	flex: 1;
	background: #fff;
}
.recruit_box {
	width: 100%;
	max-width: 510px;
	margin: 0 auto;
}
.topic {
	font-size: 3.2rem;
	line-height: 1.5;
	font-weight: 600;
	margin: 0 0 30px;
}
.recruit_list {
	position: relative;
}
 .recruit_list .item + .item .name,
.recruit_list .item + .item .desc {
	padding-top: 30px;
}
.recruit_list .cont {
	display: grid;
	grid-template-columns: 100px auto;
	gap: 0;
}
.recruit_list .name {
	font-size: 1.9rem;
	line-height: 1.2;
	font-weight: 600;
	color: #1d2088;
	padding-right: 15px;
}
.recruit_list .txt {
	line-height: 1.5;
}
.recruit_list .desc {
	border-left: 1px solid #000;
	padding-left: 20px;
}
.recruit_list .item:last-child .desc {
	padding-top: 50px;
	padding-left: 0;
	border: none;
}
.list_dot li {
	text-indent: -1.15em;
	padding-left: 1.15em;
}
@media screen and (max-width: 1200px) {
	.recruit_block {
		padding: 115px 115px 130px 115px;
	}
}
@media screen and (max-width: 767px) {
	.sec_recruit {
		padding: 80px 0 80px;
	}
	.recruit_block {
		padding: 40px 40px 60px 40px;
		width: 100vw;
		margin-left: -15px;
	}
	.recruit_list {
		display: none;
	}
	.recruit_block .ttl_img {
		display: none;
	}
	.topic {
		font-size: 3.2rem;
		margin: 0;
		text-align: center;
		padding: 0 50px;
		min-height: 96px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		position: relative;
	}
	.topic:after {
		content: "";
		background: #1d2088 url(../images/common/icon_arrow.png) no-repeat center center / 80% auto;
		border-radius: 50%;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 42px;
		height: 42px;
	}
	.sec_recruit .sec_headline {
		margin-bottom: 40px;
	}
}

.sec_benefits {
	padding: 30px 0;
}
.sec_benefits .sec_headline {
	margin: 0 0 80px;
}
.sec_benefits .inner {
	padding: 100px 0;
}
.benefit_block {
	background: #e0e9ee;
	position: relative;
	padding: 0 0 1px;
	z-index: 0;
}
.benefit_block .ttl {
	font-size: 3.2rem;
	font-weight: 600;
	text-align: center;
	position: relative;
	transform: translateY(-50%);
}
.benefit_block + .benefit_block {
	margin-top: 80px;
}
.benefit_block .box {
	padding: 30px 30px 60px;
	width: 100%;
	max-width: 870px;
	margin: 0 auto;
	position: relative;
}
.benefit_block .box_list {
	position: relative;
	z-index: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 120px;
	padding-bottom: 0;
	margin-bottom: 60px;
}
.benefit_block .box_list::before {
	content: "";
	border: 1px dashed #1d2088;
	height: 100%;
	width: 0px;
	left: 50%;
	top: 0;
	position: absolute;
	z-index: -1;
}
.benefit_block .lbl {
	color: #1d2088;
	font-size: 1.9rem;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 0 15px;
}
.benefit_block .text .txt {
	font-size: 1.6rem;
	letter-spacing: -0.01em;
	line-height: 1.7;
	padding-left: 1.15em;
	text-indent: -1.15em;
}

.sec_daily .sec_headline {
	margin-bottom: 70px;
}
.daily_block {
	position: relative;
	padding: 140px 0 140px 140px;
}
.daily_block .square_bottom::before {
	content: "";
	background: #fff;
	width: 80px;
	height: 380px;
	position: absolute;
	bottom: 0;
	right: 0;
}
.daily_position {
	display: grid;
	grid-template-columns: 106px auto;
	gap: 30px;
	align-items: center;
	margin: 0 0 15px;
}
.daily_position .name {
	font-size: 3.2rem;
	color: #1d2088;
}
.daily_cont {
	position: relative;
	z-index: 0;
	padding-right: 44.6%;
}
.daily_cont .image {
	position: absolute;
	top: 0;
	right: 0;
	transform: translateY(-130px);
	width: 44.6%;
}
.daily_cont .lbl {
	background: #fff;
	color: #1d2088;
	display: inline-block;
	padding: 8px 15px;
	min-width: 190px;
}
.daily_cont .text {
	border-top: 1px solid #000;
	padding: 15px 15px 0;
	position: relative;
	margin: 0 0 30px;
	z-index: 0;
}
.daily_cont .text:after {
	content: "";
	background: #000;
	width: 1px;
	bottom: 1em;
	top: 0;
	left: 160px;
	position: absolute;
	z-index: -1;
}
.daily_cont .text .lines {
	display: grid;
	grid-template-columns: 130px auto;
	gap: 60px;
	font-size: 1.6rem;
	line-height: 1.5;
	position: relative;
	z-index: 1;
}
.daily_cont .text .lines .times {
	letter-spacing: -0.05em;
	padding-right: 7px;
}
.daily_cont .text .lines::before {
	content: "";
	background: #fff100;
	border-radius: 50%;
	width: 10px;
	height: 10px;
	top: 6px;
	left: 135px;
	position: absolute;
	z-index: 0;
	transform: translateX(50%);
}
.daily_cont .text .lines::after {
	content: "";
	border: 1px solid #000;
	border-radius: 50%;
	width: 14px;
	height: 14px;
	top: 3px;
	left: 129px;
	position: absolute;
	z-index: 0;
	transform: translateX(50%);
}
.daily_cont .capt {
	font-size: 1.6rem;
	letter-spacing: 0;
	line-height: 1.5;
	padding: 0 15px;
}
.daily_cont .capt .sub {
	text-indent: -1.15em;
	padding-left: 1.15em;
}
@media screen and (max-width: 1200px) {
	.daily_block {
		padding: 110px 0 110px 110px;
	}
	.daily_cont .text .lines {
		display: grid;
		grid-template-columns: 130px auto;
		gap: 60px;
		font-size: 1.4rem;
	}
	.daily_cont .capt {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 767px) {
	.sec_benefits {
		padding: 80px 0;
	}
	.sec_benefits .inner {
		padding: 0;
	}
	.benefit_block .box_list::before {
		display: none;
	}
	.benefit_block .box_list {
		grid-template-columns: auto;
		gap: 0;
		padding: 0 15px;
		margin-bottom: 20px;
	}
	.benefit_block .box_list .cont + .cont {
		margin-top: 30px;
		padding-top: 30px;
		border-top: 1px dashed #1d2088;
	}
	.benefit_block .box {
		padding: 0 15px 30px;
	}
	.daily_block {
		padding: 40px 40px 60px;
		width: 100vw;
		margin-left: -15px;
	}
	.daily_position {
		grid-template-columns: auto;
		gap: 15px;
		margin: 0;
		text-align: center;
	}
	.daily_position .icon {
		width: 106px;
		margin: 0 auto;
	}
	.daily_cont {
		padding-right: 0;
		display: none;
	}
	.daily_block .square_bottom::before {
		width: 25%;
		height: 100%;
	}
	.daily_position .name {
		color: inherit;
		line-height: 1.7;
		padding: 0 50px;
		position: relative;
	}
	.daily_position .name:after {
		content: "";
		background: #1d2088 url(../images/common/icon_arrow.png) no-repeat center center / 80% auto;
		border-radius: 50%;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 42px;
		height: 42px;
	}
}

.sec_step .step_list {
	padding-top: 60px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 40px;
}
.sec_step .step_list .item {
	background: #fff100;
	position: relative;
	padding: 45px 30px 30px;
	z-index: 0;
}
.sec_step .step_list .item:after {
	content: "";
	width: 36px;
	height: 36px;
	background: #fff100;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(50%, -50%) rotate(45deg);
	z-index: -1;
}
.sec_step .step_list .item:last-child:after { display: none; }
.sec_step .step_list .item .num {
	color: #fff;
	font-size: 7rem;
	line-height: 1;
	letter-spacing: 0;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,-50%);
	filter: drop-shadow(1px 0 0 #1d2088) 
			drop-shadow(0 1px 0 #1d2088)
			drop-shadow(-1px 0 0 #1d2088) 
			drop-shadow(0 -1px 0 #1d2088);
	z-index: 1;
}
.sec_step .step_list .item .ttl {
	color: #1d2088;
	font-size: 3.2rem;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	margin: 0 0 15px;
}
.sec_step .step_list .item .txt {
	font-size: 1.6rem;
	line-height: 1.7;
	letter-spacing: 0;
}
@media screen and (max-width: 1200px) {
	.sec_step .step_list .item .ttl {
		font-size: 2.8rem;
	}
	.sec_step .step_list .item .txt {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 767px) {
	.sec_step .step_list {
		grid-template-columns: auto;
		gap: 80px;
		padding-top: 40px;
	}
	.sec_step .step_list .item::after {
		right: 50%;
		top: auto;
		transform: translate(50%, 50%) rotate(45deg);
		bottom: 0;
	}
	.sec_step .step_list .item .ttl {
		font-size: 3.2rem;
	}
	.sec_step .step_list .item .txt {
		font-size: 1.6rem;
	}
}

.apply_btn {
	text-align: center;
	margin-top: 70px;
}
.address_cont {
	text-align: center;
	margin-top: 70px;
	font-size: 1.9rem;
	line-height: 1.4;
}
.address_cont .tels {
	margin: 0 0 15px;
}
.address_cont .tels .large {
	font-size: 168%;
}
.address_cont .mails .large {
	font-size: 126%;
}

#footer { margin-top: 0; }

.modal_wrap {
	background: #e0e9ee;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
}
.modal_box {
	padding: 0 45px;
}
.modal_inner {
	margin: 45px 0;
	height: calc(100% - 90px);
	overflow: auto;
}
.is_hidden {
	overflow: hidden;
}
.md_open .modal_wrap {
	opacity: 1;
	visibility: visible;
}
.md_open .modal_wrap .recruit_list {
	display: block;
}
.md_open .modal_wrap .recruit_list .cont {
	grid-template-columns: auto;
}
.md_open .modal_wrap .recruit_list .desc {
	border-left: none;
	padding-left: 0;
}
.md_open .modal_wrap .recruit_list .item + .item .name,
.md_open .modal_wrap .recruit_list .item + .item .desc {
	padding-top: 0;
}
.md_open .modal_wrap .recruit_list .item {
	padding: 15px 10px;
	border-top: 1px solid #000;
}
.md_open .modal_wrap .topic {
	text-align: left;
	padding: 0 50px 0 0;
	align-items: flex-start;
}
.md_open .modal_wrap .daily_position .name::after,
.md_open .modal_wrap .topic:after {	display: none; }

.md_open .modal_wrap .icon_close {
	content: "";
	background: #1d2088;
	border-radius: 50%;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 44px;
	height: 44px;
}
.md_open .modal_wrap .icon_close:before {
	content: "";
	width: 60%;
	left: 20%;
	height: 2px;
	background: #fff100;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.md_open .modal_wrap .icon_close:after {
	content: "";
	height: 60%;
	top: 20%;
	width: 2px;
	background: #fff100;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.md_open .modal_wrap .modal_box .ttl_img {
	display: none;
}
.md_open .modal_wrap .ttl_img {
	position: absolute;
	bottom: 90px;
	right: 0;
	width: 22px;
}
.md_open .modal_wrap .list_dot li { letter-spacing: -0.03em; }

.md_open .modal_box .daily_cont {
	display: block;
}
.md_open .modal_box .daily_cont .image {
	position: relative;
	top: 0;
	right: 0;
	transform: translateY(0);
	width: 100%;
	margin: 0 0 30px;
}
.md_open .modal_box .daily_position .name {
	padding-left: 0;
	text-align: left;
	margin: 0 0 15px;
}
.md_open .modal_box .daily_cont .text {
	padding: 15px 0 0;
}
.md_open .modal_box .daily_cont .text .lines {
	gap: 0;
	display: flex;
}
.md_open .modal_box .daily_cont .text .lines .times {
	letter-spacing: -0.1em;
	padding-right: 3px;
	width: 70px;
}
.md_open .modal_box .daily_cont03 .text .lines .times {
	width: 110px;
}
.md_open .modal_box .daily_cont .text .lines .txt {
	flex: 1;
	padding-left: 25px;
}
.md_open .modal_box .daily_cont .text .lines::after {
	width: 11px;
	height: 11px;
	left: 62px;
}
.md_open .modal_box .daily_cont03 .text .lines::after {
	left: 102px;
}
.md_open .modal_box .daily_cont .text .lines::before {
	width: 7px;
	height: 7px;
	top: 6px;
	left: 68px;
}
.md_open .modal_box .daily_cont03 .text .lines::before {
	left: 108px;
}
.md_open .modal_box .daily_cont .text::after {
	left: 75px;
}
.md_open .modal_box .daily_cont03 .text::after {
	left: 115px;
}
.md_open .modal_box .daily_cont .capt {
	font-size: 1.2rem;
	padding: 0;
}
.sp_btn { 
	margin-top: 60px;
	text-align: center;
}
.space_anchor {
	position: relative;
	transform: translateY(-120px);
}
.f_full {
	display: inline-block;
	padding-left: 2px;
}
@media screen and (max-width: 767px) {
	.sp_btn { 
		margin-top: 30px;
	}
	.address_cont .mails .large {
		font-size: 110%;
	}
}