/* ▼ スマホ(767px以下)の場合 */ 
@media screen and (max-width: 767px) {

/* リセット
================================================== */
.pc_no{display:block !important;}
.sp_no{display:none !important;}

/* フォント・文字装飾
================================================== */
.fs_20{font-size:18px}
.fs_24{font-size:18px}
.fs_30{font-size:24px}
.fs_34{font-size:24px}

.vertical_title{letter-spacing: 0.1em;}

/* レイアウト
================================================== */
.sp_w88{width:88%; margin-right:auto; margin-left:auto;}
.fl_right, .fl_left{float: none;}

.flex_wp{display:block;}
.flex_wrp_sp{flex-wrap: wrap;}

@media screen and (max-width: 459px) {
	.flex_wp_spmd{display:block;}
}
.txt_center{text-align:left;}

.box_w25, .box_w30, .box_w35, .box_w40, .box_w45, .box_w48, .box_w50, .box_w55, .box_w60, .box_w65, .box_w70{width:100%}

.br_right{border-radius: 0 20px 20px 0;}
.br_left{border-radius: 20px 0 0 20px;}
.br_all,
.br_all_side{border-radius: 20px}
.br_all_side{border-radius: 0 20px 20px 0}

/* SP用
================================================== */
.mt15, .mt20, .mt30, .mt50, .mt70{margin-top:0}
.mb70{margin-bottom:0}
.pt50, .pt70, .pt100{padding-top:0}
.pb20, .pb50, .pb70, .pb100{padding-bottom:0}

.ptb70{padding:30px 0}
.ptb80{padding:50px 0}	
.ptb100{padding:70px 0}

.spmt15{margin-top:15px}
.spmt20{margin-top:20px}
.spmt30{margin-top:30px}
.spmt40{margin-top:40px}
	
.spmb20{margin-bottom:20px}
.spmb30{margin-bottom:30px}
.spmb40{margin-bottom:40px}

.sppt15{padding-top:15px}
.sppt30{padding-top:30px}
.sppt50{padding-top:50px}
.sppt70{padding-top:70px}

.sppb10{padding-bottom:10px}
.sppb30{padding-bottom:30px}
.sppb50{padding-bottom:50px}
	
/* 全体
================================================== */
body {
	font-size: 15px;
	line-height: 2.0em;
}
/* レイアウト
================================================== */
.contents_w85{width:87%;}
/* ヘッダー
================================================== */
#header_wp{
	position: relative;
}
.header_logo{
	position: absolute;
	width:35%;
	max-width:260px;
	top:20px;
	left:7%;
}

/* TOPスライダー
================================================== */
.top_wp{
	background: -moz-linear-gradient(top, #eeeef6 60%, #ffffff 60%, #ffffff 100%);
  	background: -webkit-linear-gradient(left, #eeeef6 60%, #ffffff 60%, #ffffff 100%);
  	background: linear-gradient(to bottom, #eeeef6 60%, #ffffff 60%, #ffffff 100%);	
}
.top_wp_front{
	background-size:80% auto;
}
.top_catch{
	left:5%;
	width:50%;
	max-width:350px;
}
/* 伸びるライン */
.line-animation {width: 22%;}
#viewer_wp,
.fadeslider li{height:500px}
.fadeslider img.slider_img{  border-radius:0 0 0 200px;}

@media screen and (max-width: 598px) {
	.top_wp{
		background: -moz-linear-gradient(top, #eeeef6 65%, #ffffff 65%, #ffffff 100%);
		background: -webkit-linear-gradient(left, #eeeef6 65%, #ffffff 65%, #ffffff 100%);
		background: linear-gradient(to bottom, #eeeef6 65%, #ffffff 65%, #ffffff 100%);	
	}
	.header_logo{width:45%; left:5%}
	.top_wp_front{padding-bottom:35%; background-size:80% auto;}
	.top_catch{
		width:70%;
		max-width:280px;
		left:0;
		right:0;
		bottom:-27%;
		margin:auto;
	}
	.line-animation {bottom:-26.5%; width: 41%;}
	.sliderwp{float:none; width: 100%;}
	#viewer_wp,
	.fadeslider li{height:400px}
	.fadeslider img.slider_img{  border-radius:0 0 0 120px;}
}

/* TOPページ
================================================== */
.pur_bk{
	width:100%;
	background:url("images/pur_bk.jpg") no-repeat center;
	background-size:cover;
}
.top_msgbk{padding-top:20px;}
img.top_msgimg_01{
	width:25%;
	top:-7%;
	left:0;
	border-radius:0 70px 10px 0;
}
img.top_msgimg_02{
	width:30%;
	top:38%;
	border-radius:10px 0 0 50px;
}
.top_msg{width:83%;}
.top_msg_title{
	max-width:160px;
	padding:40px 0 20px;
	background:url("images/top/brk_right.png"), url("images/top/brk_left.png");
	background-repeat:no-repeat, no-repeat;
	background-position:right top, left bottom;
	background-size:30px auto, 30px auto;
	margin:0 auto 40px;
}
.top_msg_title h2{
	font-size:26px;
	line-height:1.6em;
	font-weight:600;
}
@media screen and (max-width: 498px) {
	img.top_msgimg_01{
		width:25%;
		border-radius:0 40px 3px 0;
	}
	img.top_msgimg_02{
		width:30%;
		border-radius:3px 0 0 30px;
	}
	.top_msg_title h2{font-size:23px;}
}
.top_msgimg{
	width:100%;
	max-width:650px;
	margin:40px auto 0;
}
.top_msgimg img{
	border-radius:0 50px 0 50px;
}
.top_msgimg p{
	padding:35px 8.5% 30px;
	text-align:left;
}
.top_work_bk{
	width:100%;
	padding-top:60px;
	background:url("images/lpur_wave.png"), url("images/top/leaf_bk.jpg"), url("images/top/leaf_bk_r.jpg");
	background-repeat:no-repeat, no-repeat, no-repeat;
	background-position:center top, left top, right bottom 20%;
	background-size:100% auto, 60% auto, 40% auto;	
}
.top_work_wp{
	width:87%;
	margin:0 auto;
	padding:20px 0;
	display:block;
}
.top_work_text{width:100%;}
.wkt_left,
.wkt_right{padding:0; margin:30px auto}
.top_work_img{width:100%;}
.top_work_text p.tw-sub_title{
	font-size:14px;
	font-weight:500;
}
.top_work_text p.tw-sub_title span{
	border-top:1px solid #1d2087;
	border-left:1px solid #1d2087;
	border-right:1px solid #1d2087;
	padding:0.7em 1.5em 0.2em;
}
.top_work_text h2,
.top_work2_text h2{
	font-size:24px;
	font-weight:600;
	line-height:1.6em;
}
.top_work_text h2,
.top_work2_text h2{margin:20px 0 25px;}
.top_work_text p,
.top_work2_text p{line-height:1.9em; font-size:15px}

.top_work_img img{
	width:100%;
	height: 250px;
	object-fit: cover;
	border-radius:10px;
}
@media screen and (max-width: 498px) {
	.top_work_img img{height: 200px;}
	}
.text_link{
	margin-top:25px;
}
.text_link a{
	background : url("images/base_btn.png") no-repeat right 8px center;
	background-size: 40px auto;
	font-size:18px;
	font-weight:600;
	padding:0 50px 5px 3px;
}
.text_link a:hover{
	background : url("images/off_btn.png") no-repeat right 8px center;
	background-size: 40px auto;
}
.text_link a span{font-size:15px;}

.top_work2_bk{
	margin-top:50px;
	padding-bottom:20px;
 	background: -moz-linear-gradient(top, #ffffff 20%, #e5e6ed 20%, #e5e6ed 100%);
  	background: -webkit-linear-gradient(left, #ffffff 20%, #e5e6ed 20%, #e5e6ed 100%);
  	background: linear-gradient(to bottom, #ffffff 20%, #e5e6ed 20%, #e5e6ed 100%);	  	
}
.top_work2_img{
	width:100%;
	border-radius:0 50px 0 50px;
}
		
.top_work2_img ul.top_scroll{width:100%; margin-bottom:10px}
.top_work2_img ul.top_scroll li{margin-right:3px;}
.top_work2_img ul.top_scroll li img{
	width:100%;
	height: 230px;
	object-fit: cover;
}
.top_work2_img img.top_workimg{
	width:100%;
	height: 280px;
	object-fit: cover;
}
@media screen and (max-width: 498px) {
	.top_work2_img img.top_workimg{height: 200px;}
	}
.top_work2_text{width:85%; margin:30px auto; padding:20px 0 0;}
.top_target_bk{
	width:100%;
	padding:100px 0 100px;
	background:url("images/pur_wave.png") #f4f4f4 no-repeat center top;
	background-size:100% auto;	
}
.top_target_title{
	width:87%;
}
.tg_title{
	padding:20px 30px;
	background:url("images/top/brk-y_left.png"), url("images/top/brk-y_right.png");
	background-repeat:no-repeat, no-repeat;
	background-position:left top, right bottom;
	background-size:100px auto, 100px auto;
}
.top_target_title p{ text-align:left; }
.top_target_wp{
	width:100%;
	margin:30px auto 0;
	background:none;
	border-radius:none;
}
.top_target_box{
	width:90%;
	background:#fff;
	padding: 0;
	border-radius:0 50px 0 50px;
}
.top_target_box img{
	border-radius:0 50px 0 0;	
}
.top_target_box ul{
	width:85%;
	padding:25px 0 25px;
	margin:0 auto 30px;
}
.top_target_box ul li{
	background : url("images/list_mark.png") no-repeat left top 0.5em;
	background-size: 27px auto;
	font-weight:500;
	padding-left:38px;
	margin-bottom:1.5em;
	line-height:1.8em;
}
.top_target_box p{
	font-size:15px;
	padding:0 25px;
}
.top_btnwp{position:relative; bottom:-30px; text-align:center}
a.top_btn{
	display: inline-block;
	font-weight:600;
	font-size:16px;
	padding: 15px 70px 15px 40px;
	background: url("images/off_btn.png") #fff no-repeat right 30px center;
	background-size: 28px auto;
}
a.top_btn:hover{
	background: url("images/on_btn.png"), linear-gradient(45deg, #595cae, #2b6f9e);
	background-repeat: no-repeat;
	background-position: right 30px center, left top;
	background-size: 28px auto, cover;
}
/* 固定ページ　タイトル
================================================== */
.page_header_bk,
.recruit_header_bk{
	background-size:60% auto;
	padding-bottom:17%;
}
.page_title{
	left:7%;
	bottom:-10%;
}
.page_title h2{
	font-size:24px;
}
.page_line-animation{bottom:-17%; width:32%;}
#page_title_wp,
.page_titleimg img{height:170px;}
.page_titleimg img{
  	border-radius:0 0 0 150px;
}
@media screen and (max-width: 398px) {
	#page_title_wp,
	.page_titleimg img{height:155px;}
	}

/* 働く環境
================================================== */
.envi_meg_wp{
	margin:20px auto 40px;
}
.envi_meg_img{
	width:100%;
	max-width:650px;
	margin:0 auto;
	}
.envi_meg_img img{
	height: 280px;
	border-radius:0 50px 0 50px;
}
@media screen and (max-width: 398px) {
	.envi_meg_img img{height: 230px;}
	}
.envi_meg_text{
	width:87%;
	margin:10px auto 30px;
	padding:0;
}
.page_main_text{
	padding:40px 0 25px;
}
.page_main_text h2{
	font-size:23px;
	line-height:1.6em;
	margin:20px 0 25px;
}
.page_main_text p{line-height:1.9em;}
.loop_image {
	height: 200px;
	margin:25px auto 0;
}
.envi_sc_title{
	width:80%;
	max-width:270px;
	padding:50px 0 20px;
	background:url("images/top/brk_right.png"), url("images/top/brk_left.png");
	background-repeat:no-repeat, no-repeat;
	background-position:right top 30px, left bottom;
	background-size:30px auto, 30px auto;
}
.envi_sc_title_inner{gap: 2em;}
.envi_sc_title_inner p{
	font-size:18px;
	letter-spacing:0.07em;
	line-height:1.8em;
}
.envi_sc_text{
	width:85%;
	padding:35px 0 30px;
}
.development_bk{
	padding:75px 0 20px;
	background:url("images/lpur_wave.png"),  url("images/page/dev_text.png");
	background-repeat:no-repeat, no-repeat;
	background-position:center top, left bottom;
	background-size:100% auto, 90% auto;
}
.development_bottom{
	width:100%;
	padding-bottom:50px;
	background:url("images/page/sp-kensyu_bk.jpg") #ffffff no-repeat center bottom;
	background-size:100% auto;	
}
.development_wp{
	width:85%;
	margin:0 auto 20px;
}
.dev_inner{
	width:100%;
	margin:20px auto 20px;
	border-radius:10px;
	padding:17px 20px 20px 15px;
}
.dev_inner img.dev_no{
	top:-2px;
	left:12%;
	right:auto;
	width:42px;
}
.dev_inner h3{
	font-size:18px;
	padding-top:0;
	margin-bottom:10px;
	text-align:left;
	padding-left:35%;
}
.sp_dev_inner{
	display:flex;
	justify-content: space-between;		
}
.sp_devimg{width:30%;}
.sp_devtext	{width:65%; margin-top:0; padding-top:5px; text-align:left;}
.sp_devimg img{
	width:100%;
	border: 4px solid rgba(181,184,212,0.4);	
}
p.dev_info{	text-align:left; padding-left:10px;}
.career_bk{
	background: url("images/page/career_text.png") no-repeat right top 52%;
	background-size:90% auto;
	padding:40px 0 30px;
}
.career_img{width:95%;}
.page_ylwwave_bk{
	width:100%;
	padding:70px 0 50px;
}
.benefit_wp{
	width:100%;
	margin:20px auto 0;
	padding:50px 50px 30px;
	border-radius:0 50px 0 0;
}
.event_wp{
	width:100%;
	padding:35px 50px 35px;
	border-radius:0 0 0 50px;
}
.benefit_title, .benefit_inner{width:32%}
.benefit_title{	padding:10px 0 0 15px;}
.benefit_title h3{font-size:18px; font-weight:700; letter-spacing:0.08em;}

.benefit_inner{
	padding:13px 10px;
	border-radius:7px;
	margin-bottom:15px;
}
.benefit_inner p.bft_title{
	font-size:15px;
	margin-bottom:10px;
}
.benefit_inner img{
	width:65%;
	max-width:100px;
}
.benefit_inner p.bft_text{padding-top:10px;	line-height:1.5em; font-size:12px}
@media screen and (max-width: 598px) {
	.benefit_wp{
		padding:30px 25px 20px;
	}
	.event_wp{
		padding:25px 25px 25px;
	}
	.benefit_title{width:100%; padding:0 0 20px 15px;}
	.benefit_inner{width:48%; padding:15px 10px;}
	.benefit_title-inner{ 
		writing-mode: horizontal-tb;
		display: flex;
		align-items: flex-end;
		gap: 1em;
	}
	.benefit_inner img{	width:50%;}
	}
/* 募集要項
================================================== */
.recruit_wp,
.requirements-btn{
	width:90%;
}
@media screen and (max-width: 498px) {
	.recruit_wp{width:93%;}
	}
.recruit_wp{padding:30px 0}
.requirements-btn a{
	font-size:15px;
	font-weight:600;
	padding: 10px 70px 12px 50px;
	background: url("images/down_btn.png"), linear-gradient(45deg, #595cae, #2b6f9e);
	background-repeat: no-repeat;
	background-position: right 28px center, left top;
	background-size: 28px auto, cover;
}
.requirements-btn a:hover{
	background: url("images/down_btn_on.png"), linear-gradient(45deg, #595cae, #2b6f9e);
	background-repeat: no-repeat;
	background-position: right 28px center, left top;
	background-size: 28px auto, cover;
}
.requirements_bk{
	padding-top:80px;
}
.requirements_box{
	background:#fff;
	border-radius:20px;
	padding:40px 20px 20px;
}

h2.recruit_line_ttl{
	font-weight:400;
	font-size:22px;
}
h2.recruit_line_ttl::before {
  bottom: -15px;
}
p.recruit_en_ttl{font-size:12px;}
.recruit_infowp{
	margin:25px auto 30px;
}
.rec_text{
	width:100%;
	padding: 0 10px;
}
.rec_text h3{margin:20px 0 10px;}
.rec_text h3 span{
	padding:0.7em 1.4em;
	font-size:13px;
}
.rec_text p.rccom_info{padding-left:10px;}
.rec_text p.add{
	padding:15px 10px;
}
.rec_text p.add span.tel{margin-right:1.7em}
.rec_img{width:100%; max-width:500px; margin:20px auto}
.rec_img img{border-radius:10px}

/* フッター
================================================== */
#footer_wp{
	background: url("images/footer/footer_spbk.jpg") no-repeat center;
	background-size:cover;
	padding:60px 0;
}
.ft_contact_tl{width:80%; margin:0 auto 20px; text-align:center}
.ft_contact_tl h3 img{
	width:100%;
	max-width:280px;
}
.ft_contact{width:100%;}
img.ft_tel{
	width:70%;
	max-width:230px;
}
p.ft_tel_time{padding-left:5px; font-size:14px}
p.ft_tel_time span{margin-left:15px;}
.ft_btn{margin-top:20px}
.ft_btn a{
	display: inline-block;
	font-weight:600;
	font-size:15px;
	letter-spacing:-0.05em;
	padding: 15px 30px 15px 67px;
	background : url("images/mail_ic.png") #fff no-repeat left 20px center;
	background-size: 35px auto;
	transition: .4s;
}
.ft_btn a:hover{
	background: url("images/mail_ic_on.png"), linear-gradient(45deg, #595cae, #2b6f9e);
	background-repeat: no-repeat;
	background-position: left 20px center, left top;
	background-size: 35px auto, cover;
}
.footer_info{
	width:88%;
	margin:0 auto;
	padding:25px 0;
}
.ft_info_tl{width: 100%; margin-bottom:15px}
.ft_info_tl img.ft_logo{
	width:55%;
	max-width:250px;
	height:auto;
}
.ft_info_list{width:100%; text-align:left;}
.ft_info_list ul li{
	margin:0 25px 0 0;
}
	.ft_info_list ul li a{font-weight:600; padding:0;}
.ft_info_list ul li.outside_link a{
	background : url("images/link_icon.png") no-repeat right center;
	background-size: 12px auto;
	padding:0 17px 0 0;
}	
	
.copy{
	padding:0 5% 80px;
	font-size:10px;
	letter-spacing:0.05em;
}
/* SPフッターナビ
================================================== */
.sp_ftnavi_wp{
	width:100%;
	position: fixed;
	bottom:0;		
}
.sp_ftnavi{
	display:flex;
	justify-content: space-between;
}

.sp_ft-menu01{
	width:66%;
	background-color:#5961a7;
	border-radius:15px 0 0 0;
	text-align: center;
	padding:15px 0 15px;
}
.sp_ft-menu02{
	width:34%;
	background-color:#3b7ba6;
	border-radius:0 15px 0 0;
	text-align: center;
	padding:15px 0 15px;
}
.sp_ft-menu01 ul{
	display:flex;
	justify-content: space-between;		
}
.sp_ft-menu01 ul li{width:50% }
.sp_ft-menu01 ul li:first-child{border-right:1px solid #fff}
.sp_ft-menu01 ul li a,
.sp_ft-menu02 a{
	display: block;
	padding:2px 20px;
}
.sp_ft-menu01 ul li img,
.sp_ft-menu02 img{height:40px; width:auto}

@media screen and (max-width: 498px) {
.sp_ft-menu01 ul li img,
.sp_ft-menu02 img{height:auto; width:100%}
}


}
