@charset "utf-8";
/* 共通 */
.content_area h2{
	display: block;
	margin: 0 0 25px;
	font-size: 7rem;
	line-height: 8rem;
	text-align: center;
	padding: 0 110px;
	position: relative;
}
.content_area h2::before,.content_area h2::after{
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	width: 75px;
	height: 110px;
	margin: auto;
	transform: none;
}
.content_area h2::before{
	left: 25px;
	background: url(/img/common/pic_deco_l_blue.png)no-repeat center / contain;
}
.content_area h2::after{
	right: 29px;
	background: url(/img/common/pic_deco_r_blue.png	)no-repeat center / contain;
}
.tab_size{display: none;}
.content_area h2 span{
	font-size: 5rem;
    display: block;
    line-height: 6rem;
}
.recruit_catch h2{margin: 25px 0;}
.recruit_catch p{
	font-size: 1.8rem;
	letter-spacing: 0;
	line-height: 2.75rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 42px;
}
.h2_head{
	display: flex;
    flex-direction: column-reverse;
}
.section_label{
	font-size: 2.2rem;
    line-height: 3.2rem;
    font-weight: 500;
    color: #fff;
    font-family: 'Dela Gothic One', sans-serif;
    text-align: center;
    border-radius: 22px;
    background: #306EEB;
	padding: 5px 10px 8px;
	margin-bottom: 40px;
}

h4{
	font-size: 2.8rem;
    letter-spacing: 0;
    line-height: 3.2rem;
    color: #306EEB;
    padding-left: 0;
    margin: 30px 0 15px;
}
h4::before{display: none;}
.txt_center {
	text-align: center;
	margin-bottom: 42px;
	font-size: 1.8rem;
}

/* 冒頭スライダー */
.environment_slider{
	width: 100vw;
	max-width: none;
	margin: 0 calc(50% - 50vw) 150px;
	overflow: hidden;
}
.environment_slider .slick-track{
	display: flex;
}
.environment_slider .slick-slide{
	height: auto;
}
.environment_slider .slick-slide > div{
	height: 100%;
}
.environment_slider .environment_slider_item{
	width: 330px;
	margin-right: 30px;
}
.environment_slider .environment_slider_item img{
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
}
/* 数字で見る働きやすさ */
.numbers_area{margin-bottom: 150px;}
.numbers_list {
    margin-top: 45px;
}
.numbers_area .column_2{
	grid-template-columns: repeat(2,1fr);
	gap: 60px 40px;
}
.numbers_item div{
	border: 1px solid #D4D4D4;
    border-radius: 20px;
    text-align: center;
    padding: 30px 20px 25px;
	margin-bottom: 15px;
}
.numbers_item div h3{margin: 0 0 30px;}
.numbers_item div img{margin: 0 auto 20px;}
.numbers_item div p{
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 2rem;
	margin-bottom: 0;
}
.numbers_item > p{
	line-height: 2.4rem;
	text-align: center;
}
.numbers_item > p span{
	background-image: linear-gradient(to top, #ffff87 1em, transparent 1em);
    font-weight: bold;
}

/* 制度・福利厚生 */
.workstyle_txt h3{
	font-size: 5rem;
    line-height: 5rem;
    font-weight: 500;
    font-family: 'Dela Gothic One';
    margin: 60px 0 35px;
}
.support_area{margin-bottom: 150px;}
.support_area .column_2{
	grid-template-columns: repeat(auto-fit, calc((100% - 40px) / 2));
	grid-gap: 40px;
}
.support_area .column_2 img{border-radius: 20px;}
.support_area .column_2 h4:first-of-type{margin-top: 0;}
.column_2.woman{margin-bottom: 30px;}
.row-3{
	display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 30px;
}
.row-2{
	display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}
.scard{
	border: 1px solid #DDDDDD;
    border-radius: 20px;
	text-align: center;
	padding: 36px 20px 50px;
}
.scard-label{
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom:35px;
}
.scard img{
	margin: auto;
}
.certification_img {
	width: 100%;
	max-width: 202px;
	margin: auto;
}
.certification div div {
	border: 1px solid #D4D4D4;
	border-radius: 20px;
	padding: 0;
	height: 240px;
	display: flex;
}
.certification p {
	font-size: 1.4rem;
	text-align: center;
	margin-top: 12px;
}


/* 社内イベント */
.workstyle_list{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 20px;
	padding-left: 0;
}
.workstyle_list li{
	list-style: none;
	margin-bottom: 0 !important;
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}
.workstyle_list li a {
	display: block;
	position: relative;
}
.workstyle_list li a::after {
	content: '';
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 26px;
	height: 26px;
	background: #238CF9 url(/img/common/icon_search_white.svg) no-repeat center right 6px / 14px;
	border-radius: 50%;
}

/* 一言でいうと？ */
.voice_txt{
	font-weight: bold;
	text-align: center;
    margin-bottom: 42px;
    font-size: 1.8rem;
}
.qgrid{
	display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 40px;
}
.qcard {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	border-radius: 20px;
	height: 230px;
	padding: 20px;
	position: relative;
}
.qcard:nth-child(1){background-color: #D5F3F1;}
.qcard:nth-child(2){background-color: #E5F2FF;}
.qcard:nth-child(3){background-color: #FBEBEF;}
.qcard:nth-child(4){background-color: #F8F4D7;}
.qcard:nth-child(5){background-color: #F8F4D7;}
.qcard:nth-child(6){background-color: #FBEBEF;}
.qcard:nth-child(7){background-color: #E5F2FF;}
.qcard:nth-child(8){background-color: #D5F3F1;}

.qtext{
	font-size: 2.4rem;
	text-align: center;
    font-weight: bold;
	line-height: 3.2rem;
}
.qq{position: absolute;}
.qq.top-q{
	top: 15px;
	right: 15px;
}
.qq.bot-q{
	bottom: 15px;
	left: 15px;
}
.mint .qtext{color: #1E7B75;}
.blue .qtext,.lcyan .qtext{color: #1F558B;}
.pink .qtext,.lpink .qtext{color: #A13450;}
.yellow .qtext{color: #81750C;}

/* エントリー */
.jobs_entry_area{
	margin: 80px auto 49px;
	border-radius: 20px;
	padding: 65px 40px;
	color: #000000;
	background: #FFD631;
}
.jobs_entry_box{
	display: flex;
    align-items: center;
	justify-content: space-between;
	gap: 35px;
}
.jobs_entry_area h2{
	font-size: 6rem;
	line-height: 6rem;
	padding: 0 !important;
	margin: 0 0 10px;
	border-bottom: none;
	text-align: left;
}
.jobs_entry_area h2::before, .jobs_entry_area h2::after{display: none;}
.jobs_entry_area p{
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 2.8rem;
}
.jobs_entry_list{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 10px;
	width: 100%;
    max-width: 580px;
	padding-left: 0;
	margin-bottom: 0;
}
.jobs_entry_list li{
	margin-bottom: 0;
	list-style: none;
}
.jobs_entry_list li a{
	display: block;
	text-decoration: none;
}
.jobs_entry_list li a h3{
	font-size: 1.8rem;
	line-height: 2.6rem;
	color: #000;
	font-weight: bold;
	margin: 0 0 10px 5px;
}
.jobs_entry_list li a img{
	border: 2px solid transparent;
	padding: 2px;
	transition: border-color 0.3s;
}
.jobs_entry_list li a:hover img{border-color: #238CF9;}


@media screen and (max-width: 1024px){
/* 共通 */
.content_area h2{
	font-size: 5.5rem;
	line-height: 5.5rem;
}
.content_area h2::before{left: 15px;}
.content_area h2::after{right: 15px;}
.content_area h2 span{
	font-size: 3.4rem;
    line-height: 4.9rem;
}
.recruit_catch h2{margin: 15px 0 25px;}
.recruit_catch p {
	font-size: 1.7rem;
	margin-bottom: 55px;
}
.tab_size{display: block;}
.section_label{
	font-size: 2rem;
    line-height: 3rem;
	padding: 5px 10px;
	margin-bottom: 20px;
}
h4{
	font-size: 2.2rem;
    line-height: 3.2rem;
}
.txt_center {
	font-size: 1.7rem;
	margin-bottom: 50px;
}

/* 冒頭スライダー */
.environment_slider{margin-bottom: 100px;}

/* 数字で見る働きやすさ */
.numbers_area{margin-bottom: 100px;}
.numbers_list{margin-top: 10px;}
.numbers_area .column_2{grid-gap: 25px 20px;}
.numbers_item div{
    padding: 20px;
	margin-bottom: 10px;
}
.numbers_item div h3{
	font-size: 2rem;
	line-height: 3.2rem;
	margin: 0 0 25px;
}
.numbers_item div img{
	max-width: 185px;
	margin: 0 auto 10px;
}
.numbers_item > p{
	font-size: 1.4rem;
	line-height: 2.6rem;
}

/* 制度・福利厚生 */
.workstyle_txt h3{
	font-size: 4rem;
    margin: 65px 0 30px;
}
.support_area .column_2{
	grid-template-columns: repeat(auto-fit, calc((100% - 20px) / 2));
	grid-gap: 20px;
}
.column_2.woman{margin-bottom: 30px;}
.row-3{
    gap: 20px;
    margin-bottom: 20px;
}
.row-2{ gap: 20px;}
.scard{padding: 20px 15px 20px;}
.scard-label{
	font-size: 2rem;
	line-height: 3.2rem;
	margin-bottom: 30px;
}
.row-3 .scard img{max-width: 175px;}
.row-2 .scard img{max-width: 260px;}
.certification div div {height: 210px;}

/* 一言でいうと？ */
.voice_txt{
	font-size: 1.7rem;
	margin-bottom: 30px;
}
.qgrid{
	gap: 15px;
	margin: 0 20px;
}
.qcard {
	border-radius: 10px;
	height: 150px;
	padding: 15px;
}
.qtext{
	font-size: 1.6rem;
	line-height: 2.6rem;
}
.qq.top-q{
	width: 24px;
	height: 16px;
	top: 10px;
	right: 10px;
}
.qq.bot-q{
	width: 24px;
	height: 16px;
	bottom: 10px;
	left: 10px;
}

/* エントリー */
.jobs_entry_area{padding: 30px;}
.jobs_entry_box{
	flex-direction: column;
	gap: 8px;
}
.jobs_entry_area h2{
	font-size: 5rem;
	line-height: 5rem;
	margin: 0 0 15px;
	text-align: center;
}
.jobs_entry_area p{
	text-align: center;
	font-size: 1.4rem;
	line-height: 2.6rem;
}
.jobs_entry_list li a h3{
	text-align: center;
	margin: 0 0 10px;
}
}

@media screen and (max-width: 767px){
/* 共通 */
.content_area h2{
	font-size: 3rem;
	line-height: 3.4rem;
	padding: 0 40px;
	margin: 5px 0 15px;
}
.content_area h2::before, .content_area h2::after{
	width: 30px;
	height: 51px;
}
.content_area h2::before{left: 0;}
.content_area h2::after{right: 0;}
.content_area h2 span{
	font-size: 2rem;
    line-height: 2.2rem;
}
.recruit_catch h2{margin: 10px 0 15px;}
.recruit_catch p{
	font-size: 1.5rem;
	line-height: 2.3rem;
	margin-bottom: 20px;
}
.section_label{
	font-size: 1.6rem;
    line-height: 2.4rem;
	padding: 3px 10px;
	border-radius: 15px;
}
h4{
	font-size: 1.8rem;
	line-height: 2.7rem;
	margin: 30px 0 15px;
}
.txt_center{
	font-size: 1.5rem;
	line-height: 2.3rem;
	margin-bottom: 20px;
}

/* 冒頭スライダー */
.environment_slider{margin-bottom: 80px;}
.environment_slider .environment_slider_item{
	width: 235px;
	margin-right: 16px;
}

/* 数字で見る働きやすさ */
.numbers_area{margin-bottom: 80px;}
.numbers_area .column_2{
	grid-template-columns: 1fr;
	grid-gap: 20px;
}
.numbers_item div{
    border-radius: 10px;
    padding: 20px 20px 15px;
	margin-bottom: 15px;
}
.numbers_item div h3{
	font-size: 1.5rem;
	line-height: 2.1rem;
	margin: 0 0 15px;
}
.numbers_item div img{max-width: 145px;}
.numbers_item div p{
	font-size: 1.2rem;
	line-height: 1.7rem;
}
.numbers_item > p{
	font-size: 1.3rem;
	line-height: 2.4rem;
}

/* 制度・福利厚生 */
.workstyle_txt h3{
	font-size: 3rem;
    line-height: 4rem;
    margin: 35px 0 10px;
}
.support_area{margin-bottom: 80px;}
.support_area .column_2{
	display: flex;
	flex-direction: column-reverse;
	gap: 20px;
}
.support_area .column_2 img{border-radius: 10px;}
.support_area .column_2 h4{
	font-size: 1.8rem;
	line-height: 2.7rem;
	margin: 20px 0 10px;
}
.support_area .column_2 p{
	font-size: 1.3rem;
	line-height: 2.4rem;
}
.column_2.woman{margin-bottom: 30px;}
.row-3{
	grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 20px;
}
.row-2{
	grid-template-columns: 1fr;
    gap: 20px;
}
.scard{
    border-radius: 10px;
	padding: 20px 15px 20px;
}
.row-3 .scard img{max-width: 134px;}
.row-2 .scard img{max-width: 220px;}
.scard-label{
	font-size: 1.5rem;
	line-height: 2.4rem;
	margin-bottom: 20px;
}
.certification div div {
	border-radius: 20px;
	padding: 0;
	height: 200px;
	display: flex;
}
.certification_img{max-width: 180px;}
.certification p {
	font-size: 1.4rem;
	text-align: center;
	margin-top: 12px;
}

/* 社内イベント */
.workstyle_list{
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}

/* 一言でいうと？ */
.voice_txt{
	font-size: 1.5rem;
	line-height: 2.3rem;
	margin-bottom: 30px;
}
.qgrid{
	grid-template-columns: repeat(2,1fr);
    gap: 15px;
	margin: 0;
}
.qcard {
	border-radius: 10px;
	height: 150px;
	padding: 15px;
}
.qtext{
	font-size: 1.6rem;
	line-height: 2.6rem;
}
.qq.top-q{
	width: 24px;
	height: 16px;
	top: 10px;
	right: 10px;
}
.qq.bot-q{
	width: 24px;
	height: 16px;
	bottom: 10px;
	left: 10px;
}

/* エントリー */
.jobs_entry_area{
	padding: 50px 30px 40px;
	border-radius: 10px;
}
.jobs_entry_area h2{
	font-size: 3.6rem;
	line-height: 3.6rem;
	margin: 0 0 10px;
}
.jobs_entry_list{
	grid-template-columns: 1fr;
	grid-gap: 15px;
	max-width: 280px;
}
.jobs_entry_list li a h3{
	font-size: 1.4rem;
	line-height: 2rem;
}
}