@charset "utf-8";
/*---------- reset ----------*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.6rem;font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",Yu Gothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";line-height:1.5;color:#333;height:100%;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;font-weight:300;}
header,main,article,section,nav,footer{display:block;}
div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{margin:0;padding:0;font-size:100%;}
textarea{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";}
input{font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";line-height:1.5;color:#333;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,th,var{font-style:normal;font-weight:normal;}
em{font-style:normal;font-weight:500;}
ol,ul{list-style:none;}
caption{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;}
input[type="button"],input[type="submit"],input[type="email"]{-webkit-appearance:none;border-radius:0;}
select::-ms-expand{display:none;}

*, *::before, *::after{box-sizing:border-box;}
.cf::after{content:"";clear:both;display:block;}
/*---------- reset end ----------*/
:root{
	--vw-100:100vw;
	--vw-50:calc(var(--vw-100)*.5);
	--font-noteserif:'Noto Serif JP',serif;
	--font-Rajdhani:'Rajdhani', sans-serif;
	--font-roboto:'Roboto Condensed',sans-serif;
	--color-gold:#C4A552;
	--transition-img:transform .3s cubic-bezier(0.25, 0.46, 0.45, 0.94);

}

html{visibility:hidden;}
html.wf-active, html.wf-inactive{visibility:visible;}
body{top:auto !important;background:url(/recruit/img/common/bg_beige.jpg);}
body.fix{overflow:hidden;}

#wrapper{overflow:hidden;}

.sp_size{display:none !important;}
.sph_size{display:none !important;}
.spv_size{display:none !important;}
p{font-weight:300;}
/*---------- header ----------*/
#header_wrap{
	position:fixed;
	width:100%;
	z-index:100;
	transition:background-color .3s, transform .3s;
	min-height:80px;
}
#header_wrap.scroll{background-color:rgba(255,255,255,0.9);}
#header_wrap.hide{transform:translateY(-100%);}
.fix #header_wrap{background-color:#fff;}
#header_box{
	padding:0 30px;
	position:relative;
}
 #logo{padding:17px 0 0;}
.logo_link{
	display:block;
	max-width:341px;
	height:auto;
}
#header_sub{
	position:absolute;
	right:99px;
	top:28px;
}
.header_sub_list{
	display:flex;
	align-items:center;
}
.headersub_item{margin-left:20px;}
.header_link_w{
	display:block;
	font-family: "Shippori Mincho", serif;
	font-weight:500;
	color:#713E0B !important;
	text-decoration:none;
	letter-spacing:0.5px;
}
.header_link_w:hover span{text-decoration:underline;}
.header_link_w span{
	display:inline-block;
	padding-left:21px;
	background:url(/recruit/img/index/popup.svg) 0 center no-repeat;
}
.header_link_note,.header_link_note img,.header_link_insta,.header_link_insta img{display:block;width:auto;height:auto;transition:transform .3s;}
.header_link_note:hover img,.header_link_insta:hover img{transform:scale(1.03);}


#toggle{display:block;position:absolute;top:22px;right:30px;z-index:100;}
body.fix #toggle{top:22px;}
.toggle_btn{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	width:40px;
	height:39px;
	font-size:0;
	text-decoration:none;
	border:none;
	background:none;
	padding:0;
	cursor:pointer;
}
.toggle_txt{
	position:relative;
	display:block;
	width:100%;
	height:100%;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	content:'';
	display:block;
	position:absolute;
	z-index:10;
	left:0;
	right:0;
	margin:auto;
	width:40px;
	height:1px;
	background:#713E0B;
	transition:all 0.3s;
}
.toggle_btn::before{top:11px;}
.toggle_btn::after{top:27px;}
.toggle_txt::before{top:19px;}

.fix .toggle_btn::before{
	top:18px;
	transform:rotate(150deg);
}
.fix .toggle_btn::after{
	top:18px;
	transform:rotate(-150deg);
}
.fix .toggle_txt::before{
	opacity:0;
	visibility:hidden;
}
#menu_box{
	position:fixed;
	z-index:50;
	top:80px;
	right:0;
	width:100%;
	height:auto;
	background:#fff;
	opacity:0;
	visibility:hidden;
	transition:opacity 0.4s ease, visibility 0.4s;
}
body.fix #menu_box{
	opacity:1;
	visibility:visible;
	transform:translateY(0);
}
.nav_bg{
	position:fixed;
	width:100vw;
	height:100vh;
	background:rgba(0,0,0,0.3);
	top:80px;
	right:0;
	opacity:0;
	visibility:hidden;
	transition:opacity .3s,visibility .3s;
}
body.fix .nav_bg{
	opacity:1;
	visibility:visible;
}
.menu_list_wrap.on .menu_ttl{display:none;}

#menu{
	overflow-y:scroll;
	-webkit-overflow-scrolling:touch;
	position:relative;
	height:100%;
	width:100%;
}
#menu_in{width:100%;padding:20px 20px 40px;position:relative;}
.menu_list_wrap{padding:0 20px;max-width:1140px;margin:auto;}
.menu_ttl{
	display:inline-block;
	font-size:2.2rem;
	font-weight:500;
	text-decoration:none;
	line-height:1.5;
	color:#333 !important;
}
.menu_ttl img{display:block;width:auto;height:auto;max-width:100%;transition:opacity 0.3s;}
.menu_ttl:hover img{opacity:0.5;}
.menu_list{
	position:relative;
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:0 30px;
	width:100%;
	padding:0;
}
.menu_item{margin:0;}
.menu_link{
	position:relative;
	display:block;
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:3.3rem;
	color:#713E0B !important;
	text-decoration:none;
	font-weight:500;
	padding:13px 20px 13px 10px;
	transition:color 0.3s;
	border-bottom:1px solid #ccc;
}
.menu_link::after{
	content:'';
	display:block;
	position:absolute;
	bottom:-1px;
	left:0;
	width:0;
	height:1px;
	background:#713E0B;
	transition:width 0.3s;
}
.menu_link:hover::after{width:100%;}
.menu_link::before{
	display:block;
	content:'';
	width:18px;
	height:16px;
	position:absolute;
	right:9px;
	top:calc(50% - 5px);
	background:url(/recruit/img/common/arrow_b_brown.svg) center no-repeat;
}
.menu_link span{
	display:inline-block;
	position:relative;
}
.header_menu_sub{
	list-style: none;
	padding: 0;
	margin:61px 0 0;
}
.header_menu_sub .header_link_w{
	display:inline-block;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
}
.entry_link{display:none;}


#index_wrap{padding-top:80px;}

.mv{position:relative;padding:0 20px 59px;}
.mv::before{
	content:'';
	display:block;
	width:100%;
	height:415px;
	background:#F6EDD4;
	position:absolute;
	left:0;
	bottom:0;
}
.mv::after{
	content:'';
	display:block;
	width:100%;
	height:65px;
	background:url(img/index/bg_brown_wave_t.svg) 0 bottom repeat-x;
	background-size:auto 65px;
	position:absolute;
	left:0;
	bottom:414px;
}
.mv_in{position:relative;max-width:1240px;padding:0 20px;margin:auto;z-index:1;}
.mv_img{width:auto;height:auto;max-width:637px;margin:-5px auto 0;display:block;}
.mv_copy1{
	display:block;
	position:absolute;
	right:114px;
	top:92px;
}
.mv_copy2{
	display:block;
	position:absolute;
	left:0;
	bottom:30px;
}

.content_index{position:relative;padding-top:137px;}
.content_index::before{
	content:'';
	display:block;
	width:100%;
	height:65px;
	background:url(img/index/bg_brown_wave_b.svg) 0 bottom repeat-x;
	background-size:auto 65px;
	position:absolute;
	left:0;
	top:0;
}

.content_area{
	max-width:1160px;
	padding:0 30px;
	margin:auto;
	position:relative;
}
.page_list{
	margin:0 0 140px;
	display:grid;
	grid-gap:20px;
	grid-template-columns:repeat(auto-fit, calc((100% - 40px) / 3));
}
.page_link{
	display:flex;
	width:100%;
	height:70px;
	align-items:center;
	background:#fff url(img/common/arrow_b_brown.svg) right 20px center no-repeat;
	border-radius:10px;
	padding:0 40px 0 20px;
	font-weight:500;
	color:#713E0B !important;
	font-size:1.7rem;
	letter-spacing:1.7px;
	text-decoration:none;
	border:1px solid #fff;
	transition:border .3s;
}
.page_link:hover{border-color:#CD7824;}

#about{position:relative;background:#F6EDD4;padding-bottom:21px;}
#about::before{
	content:'';
	display:block;
	width:100%;
	height:65px;
	background:url(img/index/bg_brown_wave_t.svg) 0 bottom repeat-x;
	background-size:auto 65px;
	position:absolute;
	left:0;
	top:-64px;
}
#about .content_area{
	display:flex;
	justify-content:space-between;
	position:relative;
}
.about_txt{max-width:650px;width:59%;color:#713E0B;position:relative;}
.about_txt::before{
	content:'';
	background:url(img/index/pic_about_2.png) center no-repeat;
	background-size:220px 220px;
	position:absolute;
	width:220px;
	height:220px;
	left:-180px;
	bottom:0;
}
#about h2{
	font-family: "Shippori Mincho", serif;
	font-size:3.8rem;
	letter-spacing:3.8px;
	margin:88px 0 38px;
}
.about_txt p{font-size:1.8rem;letter-spacing:1.8px;line-height:3.3rem;position:relative;}
.about_txt p.about_lead{margin-bottom:30px;}
.about_txt strong{
	font-size:2.8rem;
	letter-spacing:2.8px;
	font-weight:500;
	line-height:1.5;
}
.about_img{width:40%;padding:55px 0 0 20px;}
.about_img img{
	display:block;
	width:610px;
}

.about_img{width:60%;margin:0 -60px 0 0;}
.about_img img{width:100%;height:auto;}

#message{position:relative;color:#713E0B;margin:125px 0 170px;}
#message::before{
	content:'';
	display:block;
	width:100%;
	height:65px;
	background:url(img/index/bg_brown_wave_b.svg) 0 bottom repeat-x;
	background-size:auto 65px;
	position:absolute;
	left:0;
	top:-125px;
}
#message h2{
	font-family: "Shippori Mincho", serif;
	font-size:3.8rem;
	letter-spacing:3.8px;
	margin:0 0 30px;
	text-align:center;
}
#message img{
	display:block;
	border-radius:10px;
	width:auto;
	height:auto;
	max-width:100%;
}
#message p.message_lead{
	margin:40px 0 19px;
	text-align:center;
}
#message p.txt_center{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:3.3rem;
	text-align:center;
}
#message p.message_lead strong{
	font-size:2.8rem;
	letter-spacing:2.8px;
	margin-bottom:19px;
	font-weight:500;
	line-height:1.6;
}
#message h3{
	font-family: "Shippori Mincho", serif;
	font-size:3.2rem;
	letter-spacing:3.2px;
	margin:100px 0 26px;
	text-align:center;
}
.message_point{
	position:relative;
	margin-bottom:170px;
}
.message_point div{
	position:relative;
	margin-top:20px;
	background:#fff;
	border-radius:10px;
	padding:40px;
}
.message_point div:first-child::before{
	content:'';
	background:url(img/index/bg_message_1.png) center no-repeat;
	background-size:220px 220px;
	position:absolute;
	width:220px;
	height:220px;
	right:-110px;
	top:-26px;
	z-index:-1;
}
.message_point div:last-child::before{
	content:'';
	background:url(img/index/bg_message_2.png) center no-repeat;
	background-size:220px 220px;
	position:absolute;
	width:220px;
	height:220px;
	left:-110px;
	top:0;
	z-index:-1;
}
#message h4{
	font-family: "Shippori Mincho", serif;
	font-size:2.6rem;
	letter-spacing:2.6px;
	margin:0 0 16px;
}
.message_point p{
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:3.1rem;
}

#flow{position:relative;background:#F6EDD4;padding-bottom:49px;color:#713E0B;padding-top:57px;}
#flow::before{
	content:'';
	display:block;
	width:100%;
	height:65px;
	background:url(img/index/bg_brown_wave_t.svg) 0 bottom repeat-x;
	background-size:auto 65px;
	position:absolute;
	left:0;
	top:-64px;
}
#flow h2{
	font-family:"Shippori Mincho", serif;
	font-size:3.8rem;
	letter-spacing:3.8px;
	margin:0 0 14px;
	text-align:center;
}
p.txt_center{text-align:center;font-size:1.8rem;letter-spacing:1.8px;}
.flow_list{margin:38px auto 0;max-width:1000px;}
.flow_item{
	background:#fff;
	border-radius:10px;
	margin-bottom:20px;
	padding:40px 40px 40px 50px;
	display:flex;
	justify-content:space-between;
}
.flow_item.non{display:block;}
.flow_txt{width:calc(100% - 410px);}
.flow_item h3{
	font-family:"Shippori Mincho", serif;
	font-size:3.2rem;
	letter-spacing:3.2px;
	margin:0 0 19px;
	position:relative;
}
.flow_item:nth-child(1) h3::before{content:'1. ';}
.flow_item:nth-child(2) h3::before{content:'2. ';}
.flow_item:nth-child(3) h3::before{content:'3. ';}
.flow_item h4{
	font-size:2.2rem;
	letter-spacing:2.2px;
	margin:0 0 12px;
	font-weight:500;
}
.flow_item p{
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:3.1rem;
	margin-bottom:20px;
}
.flow_item .flow_txt p{margin-bottom:0;}
.flow_item img{border-radius:10px;width:auto;height:auto;display:block;max-width:100%;}
.flow_item img.flow_img{max-width:370px;}

#job{position:relative;color:#713E0B;margin:125px 0 110px;}
#job::before{
	content:'';
	display:block;
	width:100%;
	height:65px;
	background:url(img/index/bg_brown_wave_b.svg) 0 bottom repeat-x;
	background-size:auto 65px;
	position:absolute;
	left:0;
	top:-125px;
}
#job h2{
	font-family: "Shippori Mincho", serif;
	font-size:3.8rem;
	letter-spacing:3.8px;
	margin:0 0 14px;
	text-align:center;
}
.job_list{margin:35px auto 0;max-width:1000px;}
.job_item{
	background:#fff;
	border-radius:10px;
	margin-bottom:20px;
	padding:40px;
	display:flex;
	justify-content:space-between;
	flex-direction:row-reverse;
	align-items:center;
}
.job_txt{width:calc(100% - 420px);}
.job_txt h3{
	font-family:"Shippori Mincho", serif;
	font-size:3.2rem;
	letter-spacing:3.2px;
	margin:0 0 16px;
}
.job_txt p{
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:3.1rem;
}
.job_img{display:block;border-radius:10px;width:auto;height:auto;max-width:370px;}

#interview{position:relative;background:#F6EDD4;padding-bottom:1px;color:#713E0B;padding-top:108px;}

#interview h2{
	font-family: "Shippori Mincho", serif;
	font-size:3.8rem;
	letter-spacing:3.8px;
	margin:0 0 59px;
	text-align:center;
}
.interview_box{position:relative;margin-bottom:110px;}
.interview_box:last-child{margin-bottom:80px;}
.interview_catch{position:relative;display:flex;flex-direction:row-reverse;}
.interview_catch::before{
	content:'';
	background:url(img/index/bg_interview_1.png) center no-repeat;
	background-size:248px 248px;
	position:absolute;
	width:248px;
	height:248px;
	right:-93px;
	bottom:-39px;
}
.interview_catch::after{
	content:'';
	background:url(img/index/pic_interview_2.png) center no-repeat;
	background-size:218px 218px;
	position:absolute;
	width:218px;
	height:218px;
	left:-98px;
	top:1px;
}
.interview_box:nth-child(odd) .interview_catch::before{
	background-size:218px 218px;
	width:218px;
	height:218px;
	left:-94px;
	right:auto;
	bottom:-20px;
}
.interview_box:nth-child(odd) .interview_catch::after{
	background-size:248px 248px;
	width:248px;
	height:248px;
	right:-90px;
	left:auto;
	top:-37px;
}
.interview_img{max-width:700px;position:relative;z-index:1;}
.interview_img img{display:block;width:auto;height:auto;max-width:700px;border-radius:10px;position:relative;}
.interview_h{
	position:absolute;
	left:0;
	top:0;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:flex-end;
	z-index:2;
}
.interview_h_in{
	background:#fff;
	min-width:480px;
	border-radius:10px;
	padding:47px 49px 48px;
	position:relative;
}
.interview_h_in h3{
	font-family: "Shippori Mincho", serif;
	font-size:3.2rem;
	letter-spacing:3.2px;
	margin:0 0 12px;
	line-height:5.2rem;
}
.interview_h_in p{
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:3.1rem;
}

.interview_txt{position:relative;max-width:1000px;margin:70px auto 0;z-index:1;}
.interview_txt h4{
	position:relative;
	font-family: "Shippori Mincho", serif;
	font-size:2.8rem;
	letter-spacing:2.8px;
	margin:60px 0 16px;
}
.interview_txt h4::before{
	content:'Q. ';
	color:#CD7824;
}
.interview_txt p{line-height:1.8;font-size:1.7rem;letter-spacing:1.7px;}
.interview_txt .interview_flow_h{margin:87px 0 29px;text-align:center;}
.interview_txt .interview_flow_h::before{display:none;}
.interview_flow_wrap.flow_2{
	display:flex;
	justify-content:space-between;
}
.interview_flow_wrap.flow_c{
	display:flex;
	justify-content:space-between;
	background:#fff;
	border-radius:10px;
	padding:40px 60px 40px;
	color:#713E0B;
}
.interview_flow_box{position:relative;}
.flow_2 .interview_flow_box{
	width:48%;
	background:#fff;
	border-radius:10px;
	padding:40px 40px 36px;
	color:#713E0B;
}
.flow_c .interview_flow_box{
	width:47.72727%;
	background:#fff;
	border-radius:10px;
}
.flow_c .interview_flow_box::before{
	position:absolute;
	content:'';
	width:1px;
	height:100%;
	background:#ccc;
	top:0;
	left:74px;
}

.interview_flow_box h5{
	position:relative;
	font-family: "Shippori Mincho", serif;
	font-size:2.2rem;
	letter-spacing:2.2px;
	margin:0 0 16px;
	text-align:center;
}
.interview_flow_box p{
	text-align:center;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:1.8;
}
.interview_flow_box dl{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	margin-top:25px;
}
.flow_c .interview_flow_box dl{margin-top:0;}
.interview_flow_box dl::before{
	position:absolute;
	content:'';
	width:1px;
	height:100%;
	background:#ccc;
	top:0;
	left:74px;
}
.flow_c .interview_flow_box dl::before{display:none;}
.interview_flow_box dt{
	position:relative;
	width:99px;
	font-size:1.7rem;
	letter-spacing:1.7px;
	font-weight:500;
	line-height:3.1rem;
}
.interview_flow_box dt::after{
	position:absolute;
	content:'';
	width:9px;
	height:9px;
	background:#CD7824;
	border-radius:50%;
	top:12px;
	right:20px;
}
.interview_flow_box dd{
	width:calc(100% - 100px);
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:1.8;
	margin-bottom:16px;
}
.interview_flow_box dd:last-child{margin-bottom:0;}
.interview_flow_box dd span{
	display:inline-block;
	font-weight:500;
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:3.1rem;
	margin-bottom:3px;
}



#gallery{position:relative;color:#713E0B;margin:121px 0 110px;}
#gallery::before{
	content:'';
	display:block;
	width:100%;
	height:65px;
	background:url(img/index/bg_brown_wave_b.svg) 0 bottom repeat-x;
	background-size:auto 65px;
	position:absolute;
	left:0;
	top:-121px;
}
#gallery h2{
	font-family: "Shippori Mincho", serif;
	font-size:3.8rem;
	letter-spacing:3.8px;
	margin:0 0 13px;
	text-align:center;
}
#gallery p{
	text-align:center;
	font-size:1.8rem;
	letter-spacing:1.8px;
}
.gallery_list{
	margin:50px 0 0;
	display:grid;
	grid-gap:20px;
	grid-template-columns:repeat(4,1fr);
}
.gallery_pic{
	display:block;
	overflow:hidden;
	border-radius:10px;
}
.gallery_pic img{
	display:block;
	width:auto;
	height:auto;
	max-width:100%;
	transition:transform .3s;
}
.gallery_pic:hover img{transform:scale(1.03);}

.gallery-arrow{
	position: absolute;
	top: 50%;
	margin-top: -40px;
	display: block;
	width:80px;
	height:80px;
	left: 50%;
	cursor: pointer;
}
.gallery-arrow-left{background:url(/recruit/img/index/arrow_l_white.svg) center no-repeat;}
.gallery-arrow-right{background:url(/recruit/img/index/arrow_r_white.svg) center no-repeat;}
.mfp-container {
    padding-left:80px;
    padding-right:80px;
}
.mfp-image-holder .mfp-close{
	position:relative;
	display:block;
	height:30px;
	margin-bottom:10px;
	opacity:1;
	right:0;
	color:rgba(0,0,0,0);
}
.mfp-image-holder .mfp-close::before{
	content:'';
	width:30px;
	height:30px;
	display:block;
	position:absolute;
	right:0;
	top:0;
	background:url(/recruit/img/index/icon_close.svg) center no-repeat;
}
img.mfp-img{padding-top:0;max-height:600px !important;}

#environment{position:relative;background:#F6EDD4;padding-bottom:1px;color:#713E0B;padding:105px 0 65px;}

#environment h2{
	font-family: "Shippori Mincho", serif;
	font-size:3.8rem;
	letter-spacing:3.8px;
	margin:0 0 16px;
	text-align:center;
}
#environment h3{
	font-family: "Shippori Mincho", serif;
	font-size:3.2rem;
	letter-spacing:3.2px;
	margin:60px 0 26px;
}
.env_list{
	display:grid;
	grid-gap:30px;
	grid-template-columns:repeat(auto-fit, calc((100% - 60px) / 3));
}
.env_item{
	background:#fff;
	border-radius:10px;
	padding:21px 25px 27px;
	display:flex;
	flex-direction:column;
}
.env_item img{display:block;margin:0 auto;order:1;}
.env_item h4{
	font-family: "Shippori Mincho", serif;
	font-size:2.6rem;
	letter-spacing:2.6px;
	margin:6px 0 12px;
	text-align:center;
	order:2;
}
.env_item p{
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:1.8;
	order:3;
}
.env_box{
	border-top:1px dotted #713E0B;
	margin-top:77px;
}
#environment .env_box h3{margin:80px 0 11px;}
#environment .env_box p{font-size:1.8rem;letter-spacing:1.8px;line-height:3.3rem;}
.column_2, .column_3{
	display:grid;
	grid-gap:30px;
	margin:40px 0 30px;
	grid-template-columns:repeat(auto-fit, calc((100% - 30px) / 2));
}
.column_3{grid-template-columns:repeat(auto-fit, calc((100% - 60px) / 3));}
.column_2 img, .column_3 img{
	display:block;
	border-radius:10px;
	max-width:100%;
	height:auto;
}
#environment .env_box .column_2 p,#company .column_2 p{
	text-align:center;
	font-size:1.6rem;
	margin:16px 0 0;
}
a[href$=".pdf"]{
	padding-left:20px;
	background:url(img/common/icon_pdf.svg) no-repeat 0 center;
	color:#713E0B;
}
a[href$=".pdf"]:hover{text-decoration:none;}
a[href$=".pdf"]:visited{color:#9E088F;}


#company{position:relative;color:#713E0B;margin:120px 0 155px;}
#company::before{
	content:'';
	display:block;
	width:100%;
	height:65px;
	background:url(img/index/bg_brown_wave_b.svg) 0 bottom repeat-x;
	background-size:auto 65px;
	position:absolute;
	left:0;
	top:-120px;
}
#company h2{
	font-family: "Shippori Mincho", serif;
	font-size:3.8rem;
	letter-spacing:3.8px;
	margin:0 0 16px;
	text-align:center;
}
.company_img{
	display:block;
	width:auto;
	height:auto;
	max-width:100%;
	margin:40px 0 50px;
	border-radius:10px;
}
.company_table{
	width:100%;
	line-height:1.8;
	margin-top:40px;
}
.company_table th{
	border-bottom:1px solid #713E0B;
	padding:21px 20px 22px;
	width:22%;
	text-align:left;
	vertical-align:top;
	font-weight:bold;
}
.company_table td{
	border-bottom:1px solid #ccc;
	padding:21px 20px 22px;
}
.company_table tr:first-child th{border-top:1px solid #713E0B;}
.company_table tr:first-child td{border-top:1px solid #ccc;}

#faq{position:relative;color:#713E0B;margin:125px 0 0;background:#F6EDD4;padding:60px 0 120px;}
#faq::before{
	content:'';
	display:block;
	width:100%;
	height:65px;
	background:url(img/index/bg_brown_wave_t.svg) 0 bottom repeat-x;
	background-size:auto 65px;
	position:absolute;
	left:0;
	top:-64px;
}
#faq h2{
	font-family: "Shippori Mincho", serif;
	font-size:3.8rem;
	letter-spacing:3.8px;
	margin:0 0 38px;
	text-align:center;
}
#faq_all{
	background:none;
	border:none;
	color:#713E0B;
	font-size:1.7rem;
	letter-spacing:1.7px;
	cursor:pointer;
	position:relative;
	font-family:YakuHanJP,'Noto Sans CJK JP','Noto Sans JP',sans-serif,"游ゴシック","Yu Gothic",Yu Gothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ ゴシック";
	padding:0;
	margin-bottom:6px;
}
#faq_all span{
	display:inline-block;
	padding:0 0 0 30px;
	text-decoration:underline;
}
#faq_all span::before,#faq_all span::after{
	position:absolute;
	content:'';
	width:18px;
	height:2px;
	background:#713E0B;
	top:2px;
	bottom:0;
	left:0;
	margin:auto;
	transition:transform 0.3s;
}
#faq_all span::after{transform:rotate(90deg);}
#faq_all.open span::after{transform:rotate(0);}
#faq_all span:hover{text-decoration:none;}
.faq_box{
	border-radius:10px;
	background:#fff;
	margin:14px 0 0;
	border:1px solid #fff;
	transition:border .3s;
}
.faq_box:hover{border-color:#713E0B;}
.faq_h{
	position:relative;
}
.faq_h::before,.faq_h::after{
	position:absolute;
	content:'';
	width:18px;
	height:2px;
	background:#CD7824;
	top:0;
	bottom:0;
	right:30px;
	margin:auto;
	transition:transform 0.3s;
}
.faq_h::after{transform:rotate(90deg);}
.faq_h.open::after{transform:rotate(0);}
.faq_h button{
	display:block;
	position:relative;
	padding:22px 60px 23px 64px;
	font-family: "Shippori Mincho", serif;
	font-size:2.2rem;
	letter-spacing:2.2px;
	cursor:pointer;
	border:none;
	background:none;
	color:#713E0B;
	text-align:left;
	width:100%;
}
.faq_h button::before{
	content:'Q.';
	color:#CD7824;
	position:absolute;
	left:28px;
	top:21px;
}
.faq_txt{
	display:none;
	padding:14px 0 23px;
	margin:0 30px;
	border-top:1px dotted #ccc;
}
.faq_txt p{line-height:1.8;}

#return{
	position:relative;
	z-index:10;
}
.return_btn{
	display:block;
	position:fixed;
	right:20px;
	bottom:20px;
	width:60px;
	height:60px;
	background:#fff;
	border:1px solid #fff;
	border-radius:50px;
	opacity:0;
	visibility:hidden;
	text-decoration:none !important;
	transition:border 0.3s, opacity 0.3s, visibility 0.3s;
}
.return_btn::after{
	content:'';
	display:block;
	position:absolute;
	top:8px;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	width:20px;
	height:20px;
	border-top:2px solid #CD7824;
	border-right:2px solid #CD7824;
	transform:rotate(-45deg);
}
.return_btn:hover{border-color:#CD7824;}
.return_btn.display{
	opacity:1;
	visibility:visible;
}
.return_btn.pos_end{
	position:absolute;
	bottom:20px;
	opacity:1;
	visibility:visible;
}
.return_txt{display:none;}

.cta_area{
	position:relative;
	padding:40px 20px;
	text-align:center;
}
.cta_area::before{
	content:'';
	position:absolute;
	background:url(img/index/bg_entry.jpg) center no-repeat;
	background-size:cover;
	margin:0 calc(50% - 50vw);
	width:100vw;
	height:100%;
	top:0;
	left:0;
}
.cta_content{
	max-width:1100px;
	margin:auto;
	position:relative;
}
.cta_content h2{
	position:relative;
	font-family: "Shippori Mincho", serif;
	font-size:3.8rem;
	letter-spacing:3.8px;
	margin-bottom:29px;
	color:#fff;
}
.cta_list{
	display:flex;
	justify-content:space-between;
}
.cta_item{
	width:48.18181818%;
	background:#fff;
	border-radius:10px;
	padding:38px 20px 40px;
	color:#713E0B;
}
.cta_item h3{
	position:relative;
	font-family: "Shippori Mincho", serif;
	font-size:2.8rem;
	letter-spacing:2.8px;
	margin-bottom:19px;
}
.cta_item a{
	display:block;
	background:#fff;
	border-radius:10px;
	display:flex;
	max-width:440px;
	height:100px;
	justify-content:center;
	align-items:center;
	background:#874C11 !important;
	text-decoration:none !important;
	margin:auto;
	position:relative;
	font-family: "Shippori Mincho", serif;
	font-weight:500;
	color:#fff !important;
	font-size:2.2rem;
	letter-spacing:2.2px;
	transition:background .3s;
}
.cta_item a:hover{background:#AB641B !important;}
.cta_item a span{
	display:inline-block;
	padding-left:26px;
	background:url(/recruit/img/index/popup_white.svg) 0 10px no-repeat;
}
.cta_item p{
	font-family: "Shippori Mincho", serif;
	font-size:2.2rem;
	letter-spacing:2.2px;
	margin:29px 0 0;
	line-height:1.8;
}
.cta_contact h3{
	position:relative;
	font-family: "Shippori Mincho", serif;
	font-size:2.2rem;
	letter-spacing:2.2px;
	margin:29px 0 10px;
	color:#fff;
}
.cta_tel{
	display:flex;
	align-items:baseline;
	font-family: "Shippori Mincho", serif;
	justify-content:center;
	color:#fff;
}
.cta_tel_link{
	display:inline-block;
	position:relative;
	font-size:2.8rem;
	letter-spacing:2.8px;
	padding-left:35px;
	background:url(img/index/icon_tel.svg) 0 center no-repeat;
	color:#fff !important;
	text-decoration:none !important;
	cursor:default;
}
.cta_tel span{font-size:1.7rem;letter-spacing:1.7px;}

#footer_wrap{
	max-width:1140px;
	margin:auto;
	padding:0 20px;
}
.f_logo{
	position:relative;
	display:flex;
	justify-content:space-between;
	padding:34px 0;
}
.f_logo a,.f_logo img{
	display:block;
	width:340px;
	height:43px;
	max-width:100%;
}
.footer_sns{
	display:flex;
	align-items:center;
}
.footer_sns_item{margin-left:20px;}
.footer_sns_note a,.footer_sns_note img,.footer_sns_insta a,.footer_sns_insta img{display:block;width:auto;height:auto;transition:transform .3s;}
.footer_sns_note:hover img,.footer_sns_insta:hover img{transform:scale(1.03);}

.footer_b{
	position:relative;
	display:flex;
	justify-content:space-between;
	padding:22px 0 28px;
	border-top:1px solid #D5CDB4;
}
.footer_b a[target="_blank"]{
	display:block;
	font-family: "Shippori Mincho", serif;
	color:#713E0B !important;
	font-size:1.4rem;
	letter-spacing:1.4px;
	text-decoration:none;
	padding-left:21px;
	background:url(img/index/popup.svg) 0 center no-repeat;
}
.footer_b a[target="_blank"]:hover{text-decoration:underline;}
small.copyright{
	display:block;
	font-family: "Shippori Mincho", serif;
	color:#713E0B !important;
	font-weight:500;
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:2.1rem;
}


@media screen and (max-width:1240px){
.mv_img{max-width:600px;}
.mv_copy1{width:30px;}
.mv_copy2{bottom:10px;max-width:400px;}
}



@media screen and (min-width:1023px) and (max-width:1156px){
#about{padding-bottom:90px;}
}


@media screen and (max-width:1023px){
#about h2{
	font-size:3rem;
	letter-spacing:3px;
	margin:0 0 20px;
}
.about_txt p{font-size:1.4rem;letter-spacing:1.4px;line-height:2.52rem;}
.about_txt p.about_lead{margin-bottom:20px;}
.about_txt strong{
	font-size:2rem;
	letter-spacing:2px;
	line-height:3.6rem;
}

#message h2{
	font-size:3rem;
	letter-spacing:3px;
	margin:0 0 28px;
}
#message h3{
	font-size:2.2rem;
	letter-spacing:2.2px;
	margin:70px 0 18px;
}
#message p.message_lead{margin:30px 0 20px;}
#message p.txt_center{
	margin:0 0 70px;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.52rem;
	text-align:left;
}
#message p.txt_center strong{
	font-size:2rem;
	letter-spacing:2px;
}
#message h4{
	font-size:2rem;
	letter-spacing:2px;
}
.message_point div{padding:26px 20px;}
.message_point p{font-size:1.4rem;letter-spacing:1.4px;line-height:2.52rem;}
.message_point div:first-child::before{
	width:140px;
	height:140px;
	background-size:140px 140px;
	right:-40px;
	top:-20px;
}
.message_point div:last-child::before{
	width:140px;
	height:140px;
	background-size:140px 140px;
	left:-60px;
	top:auto;
	bottom:-20px;
}

#flow{padding:50px 0;}
#flow h2{
	font-size:3rem;
	letter-spacing:3px;
	margin:0 0 28px;
}
p.txt_center{font-size:1.4rem;letter-spacing:1.4px;}
.flow_list{margin:20px auto 0;}
.flow_item{
	margin-bottom:16px;
	padding:24px;
}
.flow_item h3{
	font-size:2.3rem;
	letter-spacing:2.3px;
	margin:0 0 16px;
}
.flow_item h4{
	font-size:1.8rem;
	letter-spacing:1.8px;
	margin:0 0 12px;
}
.flow_item p{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.52rem;
	margin-bottom:16px;
}
.flow_item .flow_txt p{margin-bottom:0;}

#job{margin:0 0 60px;padding-top:50px;}
#job h2{
	font-size:3rem;
	letter-spacing:3px;
	margin:0 0 28px;
}
.job_list{margin:20px auto 0;}
.job_item{
	margin-bottom:16px;
	padding:24px;
}
.job_txt h3{
	font-size:2.3rem;
	letter-spacing:2.3px;
	margin:0 0 16px;
}
.job_txt p{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.52rem;
}

#interview{padding-top:40px;}
#interview h2{
	font-size:3rem;
	letter-spacing:3px;
	margin:0 0 40px;
}
.interview_box{margin-bottom:80px;}
.interview_h_in{min-width:335px;}
.interview_h_in h3{
	font-size:2.2rem;
	letter-spacing:2.2px;
	margin:0 0 12px;
	line-height:3.52rem;
}
.interview_h_in p{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.52rem;
}
.interview_txt{margin:50px auto 0;}
.interview_txt h4{
	font-size:2rem;
	letter-spacing:2px;
	margin:33px 0 14px;
}
.interview_txt p{font-size:1.5rem;letter-spacing:1.5px;}
.interview_catch::before,.interview_box:nth-child(odd) .interview_catch::before{
	width:162px;
	height:162px;
	background-size:162px 162px;
	right:-29px;
	bottom:-40px;
}
.interview_catch::after{
	width:144px;
	height:144px;
	background-size:144px 144px;
	top:-31px;
	left:-72px;
}
.interview_box:nth-child(2n+1) .interview_catch::after{
	width:144px;
	height:144px;
	background-size:144px 144px;
	right:-28px;
	top:-31px;
}
.interview_box:nth-child(odd) .interview_catch::before{
	right:auto;
	left:-68px;
	bottom:-40px;
}

#gallery h2{
	font-size:3rem;
	letter-spacing:3px;
	margin:0 0 20px;
}
#gallery p{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:1.8;
}

#environment h2{
	font-size:3rem;
	letter-spacing:3px;
	margin:0 0 28px;
}
#environment h3{
	font-size:2.3rem;
	letter-spacing:2.3px;
	margin:66px 0 18px;
}
.env_item{padding:15px 15px 12px;}

.env_item h4{margin:4px 0 5px;font-size:1.8rem;letter-spacing:1.8px;}
.env_item img{max-width:60px;max-height:60px;}
.env_item p{font-size:1.2rem;letter-spacing:1.2px;line-height:1.8;}


.env_box{margin-top:50px;}
#environment .env_box h3{margin:40px 0 19px;}
#environment .env_box p{font-size:1.4rem;letter-spacing:1.4px;line-height:2.52rem;margin-bottom:26px;}
.column_2, .column_3{
	grid-gap:20px;
	margin:20px 0;
	grid-template-columns:repeat(auto-fit, calc((100% - 20px) / 2));
}
.column_3{grid-template-columns:repeat(auto-fit, calc((100% - 40px) / 3));}
#environment .env_box .column_2 p,#company .column_2 p{
	font-size:1.3rem;
	letter-spacing:1.3px;
	margin:14px 0 0;
	text-align:center;
}

#company{padding:50px 0;}
#company h2{
	font-size:3rem;
	letter-spacing:3px;
	margin:0 0 18px;
}
.company_img{margin:20px 0 30px;}

#faq_all{
	font-size:1.4rem;
	letter-spacing:1.4px;
	margin-bottom:6px;
}
#faq_all span{
	padding:0 0 0 21px;
}
#faq_all span::before,#faq_all span::after{width:14px;}
#faq h2{
	font-size:3rem;
	letter-spacing:3px;
	margin:0 0 48px;
}
.faq_box{
	margin:12px 0 0;
}
.faq_h button{
	display:block;
	position:relative;
	font-size:1.6rem;
	letter-spacing:1.6px;
	padding:16px 40px 16px 20px;
}
.faq_h::before,.faq_h::after{
	width:14px;
	right:20px;
}
.faq_h button::before{
	content:'Q.';
	color:#CD7824;
	position:relative;
	left:auto;
	top:auto;
}
.faq_txt{
	padding:12px 0 20px;
	margin:0 20px;
}

#return{
	position:relative;
	z-index:10;
}
.return_btn{
	width:50px;
	height:50px;
}
.return_btn::after{
	top:8px;
	width:16px;
	height:16px;
}


.f_logo a,.f_logo img{
	width:247px;
	height:32px;
}
.footer_b a[target="_blank"]{
	font-size:1.3rem;
	letter-spacing:1.3px;
}
small.copyright{
	font-size:1rem;
	letter-spacing:1px;
}
}

@media screen and (min-width:768px) and (max-width:1023px){
body{
	-webkit-text-size-adjust:100%;
	width:auto;
	font-size:1.4rem;
}
#header_wrap{min-height:73px;}
#header_box{padding:0 17px 0 19px;}
#logo{padding-top:20px;}
.logo_link{max-width:247px;}
#header_sub{top:25px;right:79px;}
#toggle{top:16px;right:20px;}
body.fix #toggle{right:20px;top:18px;}
.toggle_btn{width:34px;}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	width:34px;
	height:1px;
}
.menu_list_wrap{padding:0 10px;}
.menu_link{font-size:1.4rem;letter-spacing:1.4px;}
#menu_box{top:73px;}

#index_wrap{padding-top:60px;}
.mv{margin:30px 0 0;padding-bottom:62px;}
.mv_copy1{right:65px;width:27px;height:auto !important;top:48px;}
.mv_copy2{width:365px;height:auto;bottom:-7px;left:9px;}
.mv_img{max-width:428px;}
.mv::before{height:260px;}
.mv::after{
	height:37px;
	background-size:auto 37px;
	left:0;
	bottom:260px;
}

.content_index{padding-top:94px;}
.content_index::before{
	height:37px;
	background-size:auto 37px;
}
.page_list{
	margin:0 0 102px;
	grid-gap:10px;
	grid-template-columns:repeat(auto-fit, calc((100% - 20px) / 3));
}
.page_link{
	height:60px;
	font-size:1.4rem;
	letter-spacing:1.4px;
}

#about{padding:40px 0 36px;}
#about::before{
	height:36px;
	background-size:auto 36px;
	left:0;
	top:-36px;
}
#about h2{margin:0 0 17px;}
.about_txt{width:calc(100% - 321px);}
.about_txt p.about_lead{margin-bottom:15px;}
.about_img{padding:10px 0 0;width:371px;margin:0 -50px 0 0;}
.about_img img{width:426px;height:auto;max-width:100%;}
.about_txt strong br{display:inline !important;}

#message{margin:0 0 120px;padding-top:70px;}
#message::before{
	height:37px;
	background-size:auto 37px;
	left:0;
	top:0;
}
.message_point{margin-bottom:116px;}
#message p.message_lead strong{font-size:2rem;letter-spacing:2px;}

#flow{padding:50px 0 40px;}
#flow::before{
	height:36px;
	background-size:auto 36px;
	left:0;
	top:-36px;
}
#flow h2{margin:0 0 19px;}
.flow_item img.flow_img{width:auto;max-width:287px;margin:16px 0 0;}
.flow_txt{width:calc(100% - 315px);}
.flow_list{margin:30px auto 0;}
.flow_item{padding:30px;margin-bottom:20px;}
.flow_item h3{margin:0 0 14px;}
.flow_item h4{margin:0 0 9px;}

#job{margin:0 0 60px;padding-top:85px;}
#job::before{
	height:37px;
	background-size:auto 37px;
	left:0;
	top:0;
}
#job h2{margin:0 0 19px;}
.job_img{width:285px;}
.job_txt{width:calc(100% - 315px);}
.job_list{margin:31px auto 0;}

#interview{padding-top:40px;}
#interview::before{
	height:36px;
	background-size:auto 36px;
	left:0;
	top:-36px;
}
.interview_txt .interview_flow_h{margin-top:50px;}
.interview_flow_box h5{
	font-size:1.8rem;
	letter-spacing:1.8px;
	margin:0 0 16px;
}
.interview_flow_box p{
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.8;
}
.flow_2 .interview_flow_box{padding:27px 25px 32px;}
.interview_flow_wrap.flow_c{padding:24px 38px;}
.interview_flow_box dl{margin-top:27px;}
.interview_flow_wrap.flow_c .interview_flow_box dl:first-child{padding-bottom:10px;}
.interview_flow_box dl::before,.flow_c .interview_flow_box::before{left:57px;}
.interview_flow_box dt{
	width:73px;
	font-size:1.4rem;
	letter-spacing:1.4px;
	font-weight:500;
	line-height:2.52rem;
}
.interview_flow_box dt::after{
	width:7px;
	height:7px;
	top:9px;
	right:12px;
}
.interview_flow_box dd{
	width:calc(100% - 73px);
	font-size:1.2rem;
	letter-spacing:1.2px;
	margin-bottom:12px;
}
.interview_flow_box dd span{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:1.8;
	line-height:2.52rem;
	margin-bottom:0;
}


#gallery{padding:45px 0 0;margin:36px 0 55px;}
#gallery::before{
	height:36px;
	background-size:auto 36px;
	left:0;
	top:-36px;
}
.gallery_list{
	margin-top:40px;
	gap:18px;
}

#environment{margin:0;padding-top:50px;}
#environment::before{
	height:36px;
	background-size:auto 36px;
	left:0;
	top:0;
}
.env_list{
	grid-gap:20px;
	grid-template-columns:repeat(auto-fit, calc((100% - 40px) / 3));
}
.column_2, .column_3{
	grid-gap:20px;
	margin:20px 0;
	grid-template-columns:repeat(auto-fit, calc((100% - 20px) / 2));
}
.column_3{grid-template-columns:repeat(auto-fit, calc((100% - 40px) / 3));}

#company{padding:45px 0 40px;margin:36px 0 55px;}
#company::before{
	height:36px;
	background-size:auto 36px;
	left:0;
	top:-36px;
}
.company_table th{width:28.3%;}
.company_table th,.company_table td{padding:13px 16px;}

#faq{padding-top:51px;margin-top:0;}
#faq::before{
	height:36px;
	background-size:auto 36px;
	left:0;
	top:-36px;
}

.cta_area{padding:40px 30px;}
.cta_content h2{
	font-size:3rem;
	letter-spacing:3px;
	margin-bottom:20px;
}
.cta_item{
	width:48.18181818%;
	padding:25px 20px 27px;
}
.cta_item h3{
	font-size:2rem;
	letter-spacing:2px;
	margin-bottom:19px;
}
.cta_item a{
	max-width:295px;
	height:76px;
	font-size:1.8rem;
	letter-spacing:1.8px;
}
.cta_item a span{
	padding-left:23px;
	background:url(/recruit/img/index/popup_white.svg) 0 6px no-repeat;
}
.cta_item p{
	font-size:1.6rem;
	letter-spacing:1.6px;
	margin:30px 0 0;
}
.cta_contact h3{
	font-size:1.8rem;
	letter-spacing:1.8px;
	margin:23px 0 7px;
}
.cta_tel_link{
	font-size:2.2rem;
	letter-spacing:2.2px;
	padding-left:28px;
	background-size:21px 21px;
}
.cta_tel span{font-size:1.3rem;letter-spacing:1.3px;}

#footer_wrap{padding:0 30px;}
#footer_wrap .cta_area{padding:40px 0;}
.f_logo{padding:30px 0 22px;}
.footer_b{padding:17px 0 18px;}
}

@media screen and (min-width:768px) and (max-width:810px){
.interview_img img{max-width:430px;}
.interview_h_in{padding:27px 29px 28px;}
}

@media screen and (max-width:767px){
body{
	-webkit-text-size-adjust:100%;
	width:auto;
	font-size:1.3rem;
}

input,textarea,select{font-size:16px;}
#header_wrap{min-height:60px;}
#header_box{padding:12px 0 11px 20px;}
#logo{padding:0;}
.logo_link{max-width:250px;}
.logo_link img{width:250px;height:auto;}
#header_sub{display:none;}
#toggle{top:0;right:0;}
body.fix #toggle{right:0;top:0;}
.toggle_btn{
	width:74px;
	height:60px;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{width:34px;}
.toggle_btn::before{top:21px;}
.toggle_btn::after{top:37px;}
.toggle_txt::before{top:29px;}
.fix .toggle_btn::before{top:27px;}
.fix .toggle_btn::after{top:27px;}
#menu_box{width:100%;top:60px;max-height:calc(100vh - 60px);overflow-y:auto;}
.nav_bg{top:60px;background:none;}
#menu{padding:0;display:block;width:100%;}
#menu_in{padding:0 0 50px;}
.menu_ttl img{width:250px;height:32px;}
.menu_list{margin-top:5px;display:block;}
.menu_link,.header_link_w{
	font-size:1.4rem;
	letter-spacing:1.4px;
}
.menu_link{padding:10px 20px 10px 10px;}
.header_menu_sub{margin:25px 0 0;}
.header_menu_sub_item.entry_link{display:block;margin-bottom:30px;}
.header_menu_sub_item.entry_link .header_link_w{
	display:block;
	border:1px solid #ddd;
	border-radius:5px;
	text-align:center;
	padding:16px 20px;
}

#index_wrap{padding-top:60px;}
.mv{padding:10px 0 43px;}
.mv::before{height:290px;}
.mv::after{
	height:20px;
	background-size:auto 20px;
	left:0;
	bottom:290px;
}
.mv_in{padding:77px 20px 190px;}
.mv_img{width:100%;max-width:335px;}
.mv_copy1{
	right:0;
	left:0;
	margin:auto;
	top:18px;
	width:auto;
	height:auto;
	max-width:100%;
}
.mv_copy2{
	left:0;
	right:0;
	margin:auto;
	max-width:335px;
	bottom:0;
}
.content_area{padding:0 20px;}
.content_index{padding-top:66px;}
.content_index::before{
	height:20px;
	background-size:auto 20px;
	top:0;
}
.page_list{
	margin:0 0 75px;
	grid-gap:10px;
	grid-template-columns:repeat(auto-fit, calc((100% - 10px) / 2));
}
.page_link{
	height:50px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	background-position:right 18px center;
}

#about{padding-bottom:21px;}
#about::before{
	height:20px;
	background-size:auto 20px;
	left:0;
	top:-19px;
}
#about .content_area{display:block;}
.about_txt{max-width:none;width:auto;padding-top:38px;}
.about_txt p.about_lead{margin-bottom:13px;}
.about_txt::before{
	background-size:150px 150px;
	width:150px;
	height:150px;
	left:auto;
	bottom:auto;
	top:50px;
	right:-50px;
}
.about_img{width:auto;padding:0;margin:26px 0 0;position:relative;height:308px;}
.about_img img{
	position:absolute;
	left:calc(50% - 190px);
	top:0;
	width:380px;
	height:auto;
}

#message{margin:0 auto 70px;padding-top:60px;}
#message::before{
	height:20px;
	background-size:auto 20px;
	left:0;
	top:0;
}
#message h2{margin:0 0 18px;}
#message p.message_lead{margin-top:30px;}
#message p.message_lead strong{font-size:2rem;letter-spacing:2px;}
#message p.txt_center{
	margin:0 0 50px;
	text-align:left;
}
.message_point{margin-bottom:90px;}
.message_point div{padding:26px 20px;}
.message_point div:first-child::before{
	width:140px;
	height:140px;
	background-size:140px 140px;
	right:-40px;
	top:-20px;
}
.message_point div:last-child::before{
	width:140px;
	height:140px;
	background-size:140px 140px;
	left:-60px;
	top:auto;
	bottom:-20px;
}

#flow{padding:40px 0 30px;}
#flow::before{
	height:20px;
	background-size:auto 20px;
	left:0;
	top:-19px;
}
#flow h2{margin:0 0 18px;}
p.txt_center{text-align:left;line-height:1.8;}
.flow_list{margin:17px auto 0;}
.flow_item{
	display:block;
	margin-bottom:16px;
	padding:24px;
}
.flow_item h4{margin-bottom:8px;}
.flow_txt{width:auto;}
.flow_item .flow_txt p{margin-bottom:0;}
.flow_item img.flow_img{width:100%;max-width:370px;margin:16px auto 0;}

#job{margin:0 0 60px;padding-top:52px;}
#job::before{
	height:20px;
	background-size:auto 20px;
	left:0;
	top:0;
}
#job h2{margin:0 0 19px;}
.job_list{margin:16px auto 0;}
.job_item{
	margin-bottom:16px;
	padding:24px 24px 21px;
	display:block;
}
.job_txt{width:auto;}
.job_txt h3{margin:0 0 12px;}
.job_img{width:100%;max-width:370px;margin:22px auto 0;}

#interview{padding-top:50px;}
#interview::before{
	height:20px;
	background-size:auto 20px;
	left:0;
	top:-20px;
}
#interview h2{margin-bottom:30px;}
.interview_catch{flex-direction:column-reverse;}
.interview_box{margin-bottom:70px;}
.interview_img{max-width:none;margin:auto;}
.interview_img img{width:100%;max-width:none;}
.interview_h{
	position:relative;
	right:auto;
	top:auto;
	height:auto;
	display:block;
	z-index:2;
	margin:-20px 10px 0;
}
.interview_h_in{
	min-width:100px;
	padding:18px 20px;
}
.interview_h_in h3{margin:0 0 9px;}
.interview_txt{margin:40px auto 0;}
.interview_txt p{font-size:1.4rem;letter-spacing:1.4px;line-height:2.52rem;}
.interview_catch::before,.interview_box:nth-child(odd) .interview_catch::before{
	width:124px;
	height:124px;
	background-size:124px 124px;
	right:-40px;
	bottom:-20px;
}
.interview_catch::after{
	width:144px;
	height:144px;
	background-size:144px 144px;
	top:calc(50% - 48px);
	left:-74px;
}
.interview_box:nth-child(odd) .interview_catch::before{left:-73px;bottom:-20px;}
.interview_box:nth-child(2n+1) .interview_catch::after{top:calc(50% - 38px);right:-55px;}
.interview_txt .interview_flow_h{margin:39px 0 20px;}
.interview_flow_wrap.flow_2{display:block;}
.interview_flow_wrap.flow_c{
	display:block;
	padding:24px 22px 22px;
}
.flow_2 .interview_flow_box{
	width:auto;
	padding:24px 25px 32px;
	margin-top:20px;
}
.flow_c .interview_flow_box{width:auto;}

.interview_flow_box h5{
	font-size:1.8rem;
	letter-spacing:1.8px;
	margin:0 0 16px;
}
.interview_flow_box p{
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.8;
}
.interview_flow_box dl{margin-top:27px;}
.interview_flow_wrap.flow_c .interview_flow_box dl:first-child{padding-bottom:10px;}
.interview_flow_box dl::before,.flow_c .interview_flow_box::before{left:57px;}
.interview_flow_box dt{
	width:73px;
	font-size:1.4rem;
	letter-spacing:1.4px;
	font-weight:500;
	line-height:2.52rem;
}
.interview_flow_box dt::after{
	width:7px;
	height:7px;
	top:9px;
	right:12px;
}
.interview_flow_box dd{
	width:calc(100% - 73px);
	font-size:1.2rem;
	letter-spacing:1.2px;
	margin-bottom:12px;
}
.interview_flow_box dd span{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:1.8;
	line-height:2.52rem;
	margin-bottom:0;
}


#gallery{margin:0 0 60px;padding-top:54px;}
#gallery::before{
	height:20px;
	background-size:auto 20px;
	left:0;
	top:0;
}
#gallery h2{margin-bottom:17px;}
#gallery p{text-align:left;}
.gallery_list{
	margin:28px 0 0;
	grid-gap:13px;
	grid-template-columns:repeat(auto-fit, calc((100% - 13px) / 2));
}

.gallery-arrow{
	margin-top:-20px;
	width:40px;
	height:40px;
	top:calc(50% - 20px);
}
.gallery-arrow-left,.gallery-arrow-right{background-size:12px 20px;}
.gallery-arrow-left{left:0 !important;margin:auto !important;}
.gallery-arrow-right{margin:auto !important;right:0;left:auto !important;}
.mfp-container {
    padding-left:40px;
    padding-right:40px;
}


#environment{margin:0;padding-top:50px;}
#environment::before{
	height:20px;
	background-size:auto 20px;
	left:0;
	top:-20px;
}
#environment h3{margin:40px 0 18px;}
.env_list{
	grid-gap:15px;
	grid-template-columns:repeat(auto-fit, calc((100% - 30px) / 3));
}
.env_item{padding:15px 14px 11px;}
.env_box{margin-top:50px;}
#environment .env_box h3{margin:39px 0 19px;}
#environment .env_box p{font-size:1.4rem;letter-spacing:1.4px;line-height:1.8;}
.column_2, .column_3{
	grid-gap:13px;
	margin:20px 0;
	grid-template-columns:repeat(auto-fit, calc((100% - 13px) / 2));
}
.column_3{grid-template-columns:repeat(auto-fit, calc((100% - 26px) / 3));}
#environment .env_box .column_2 p,#company .column_2 p{
	font-size:1.3rem;
	letter-spacing:1.3px;
	margin:14px 0 0;
}
.env_item h4{margin:4px 0 5px;font-size:1.8rem;letter-spacing:1.8px;}
.env_item img{max-width:60px;max-height:60px;}
.env_item p{font-size:1.2rem;letter-spacing:1.2px;line-height:1.8;}

#company{padding:53px 0 40px;margin:0 0 30px;}
#company::before{
	height:20px;
	background-size:auto 20px;
	left:0;
	top:0;
}
.company_img{margin:20px 0 50px;}
.company_table{font-size:1.4rem;letter-spacing:1.4px;}

#faq{margin:0;padding:40px 0 104px;}
#faq::before{
	height:20px;
	background-size:auto 20px;
	left:0;
	top:-19px;
}
#faq h2{margin:0 0 50px;}
#faq_all{margin-bottom:13px;}
.faq_box{
	padding:0;
	margin:12px 0 0;
}
.faq_h button{padding:16px 40px 16px 20px;}
.faq_h button::before{margin-right:5px;}
.faq_txt{padding:13px 0 17px;}
.faq_txt p{font-size:1.3rem;letter-spacing:1.3px;}


.cta_area{padding:30px 20px;}
.cta_content h2{
	font-size:3rem;
	letter-spacing:3px;
	margin-bottom:19px;
}
.cta_list{display:block;}
.cta_item{
	width:auto;
	padding:25px 20px 26px;
	margin-bottom:17px;
}
.cta_item h3{
	font-size:2rem;
	letter-spacing:2px;
	margin-bottom:10px;
}
.cta_item a{
	height:76px;
	font-size:1.8rem;
	letter-spacing:1.8px;
	margin-top:20px;
}
.cta_item a span{
	padding-left:24px;
	background:url(/recruit/img/index/popup_white.svg) 0 7px no-repeat;
}
.cta_item p{
	font-size:1.6rem;
	letter-spacing:1.6px;
	margin:11px 0 0;
}
.cta_contact h3{
	font-size:1.8rem;
	letter-spacing:1.8px;
	margin:21px 0 8px;
}
.cta_tel_link{
	font-size:2.2rem;
	letter-spacing:2.2px;
	padding-left:28px;
	background-size:21px 21px;
}
.cta_tel span{font-size:1.3rem;letter-spacing:1.3px;}


#footer_wrap{padding:0;}
.f_logo{
	display:block;
	padding:29px 20px 27px;
}
.footer_b{padding:17px 20px;}

.sp_size{display:inline !important;}
}

@media screen and (max-width:599px){
.page_list{
	display:block;
	grid-gap:0;
}
.page_item{margin-bottom:8px;}

.env_list{
	grid-gap:13px;
	grid-template-columns:repeat(auto-fit, calc((100% - 13px) / 2));
}
.column_2:not(.event_column), .column_3{
	display:block;
	grid-gap:0;
	margin:20px 0 20px;
}
.column_2:not(.event_column) div, .column_3 div{margin-top:26px;}
.company_table th,.company_table td{display:list-item;list-style:none;}
.company_table th{
	border-bottom:1px solid #ccc;
	padding:14px 16px 13px;
	width:auto;
	font-weight:bold;
}
.company_table td{
	border-bottom:1px solid #713E0B;
	padding:14px 16px 24px;
}
.company_table tr:first-child th{border-top:1px solid #713E0B;}
.company_table tr:first-child td{border-top:none;}
}
@media screen and (min-width:600px) and (max-width:767px){
.interview_h_in h3 br{display:none;}
}
@media screen and (max-width:374px){
.flow_item h3{font-size:2rem;letter-spacing:2px;}
#job h2{font-size:2.7rem;letter-spacing:2.7px;}
.cta_item h3{font-size:1.7rem;letter-spacing:1.7px;}
.cta_tel_link,.interview_h_in h3{font-size:1.9rem;letter-spacing:1.9px;}
.cta_tel span{font-size:1.2rem;letter-spacing:1.2px;}

}


@media screen and (max-height:400px){
#menu{padding:0 0 50px;display:block;width:100%;height:100%;}
#menu_in{padding:0 0 20px;margin-bottom:50px;}

}


/*----- print -----*/
@media print{
	:root{--vw-100:1200px;}
	body{
		width:1200px;
		transform:scale(1);
		-moz-transform:scale(1);
		-webkit-transform:scale(1);
		transform-origin:0 0;
		zoom:.91;
		margin:auto
	}
	@media all and (-ms-high-contrast:none){
		body{width:1200px}
	}
	@media (-ms-high-contrast:none),(-ms-high-contrast:active){
		body{width:1200px}
	}
	@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:.001dpcm){
		body{
			width:1200px !important;
			transform:scale(.8);
			-moz-transform:scale(.8);
			-webkit-transform:scale(.8);
			transform-origin:0 0;
			margin:auto
		}
	}
}
/*---------- print end ----------*/