@charset "utf-8";

/*----- reset -----*/
html{font-size:62.5%;height:100%;}
body{margin:0;padding:0;font-size:1.7rem;font-family:YakuHanJP,"Noto Sans CJK JP","Noto Sans JP","Roboto",sans-serif;line-height:1.5;color:#212121;height:100%;position:relative;letter-spacing:0.1em;overflow-wrap:break-word;word-wrap:break-word;-webkit-text-size-adjust:100%;background:#fff;width:auto;}
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,select{font-family:YakuHanJP,"Noto Sans CJK JP","Noto Sans JP","Roboto",sans-serif;}
input{font-family:YakuHanJP,"Noto Sans CJK JP","Noto Sans JP","Roboto",sans-serif;line-height:1.5;color:#212121;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:bold;}
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="text"],input[type="submit"],input[type="button"],input[type="email"],input[type="tel"],input[type="date"],select,button{-webkit-appearance:none;appearance:none;border-radius:0;border:none;background:none;}
select::-ms-expand{display:none;}

*,*::before,*::after{box-sizing:border-box;}
/*----- reset end -----*/
:root{
	--vw_100:100vw;
	--vw_50:calc(var(--vw_100) / 2);
	--font_montserrat:"Montserrat",sans-serif;
	--font_roboto:"Roboto",sans-serif;
	--font_saira:'Saira', sans-serif;
	--font_noto:"Noto Sans CJK JP","Noto Sans JP",sans-serif,YakuHanJP,;
}

html{
	visibility:hidden;
	overflow-y:scroll;
}
html.wf-active, html.wf-inactive{visibility:visible;}

#wrapper{
	position:relative;
	overflow:hidden;
}
#wrapper.fixed{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
}

.sp_size{display:none !important;}
.tab_size{display:none !important;}


/*----- header -----*/
#header_wrap{
	position:fixed;
	z-index:20;
	top:0;
	right:0;
	left:0;
	width:100%;
	background:#fff;
	transition:box-shadow 0.3s, transform 0.3s;
}
#header_wrap.scroll{box-shadow:0px 3px 6px rgba(0,0,0,0.16);}
#header_wrap.hide{
	box-shadow:none;
	transform:translateY(-105%);
}
.header_area{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:1500px;
	padding:18px 30px;
	margin:auto;
}
#logo{
	position:relative;
	z-index:1;
	width:364px;
	height:54px;
}
.logo_link, .logo_img{
	display:block;
	width:100%;
	height:100%;
}

#menu{
	display:flex;
	align-items:center;
}
#menu_job_btn{
	width:144px;
	text-align:center;
	background-color:#1C8416;
	border:1px solid #1C8416;
	border-radius:5px;
	transition:background 0.3s;
	margin-bottom:0;
}
#menu_job_btn:hover{background-color:#fff;}
#menu_job_btn a{
	display:block;
	padding:7px 10px;
	width:100%;
	height:100%;
	font-size:1.4rem;
	letter-spacing:0.7px;
	line-height:1.7rem;
	color:#fff;
	text-decoration:none;
	transition:color 0.3s;
}
#menu_job_btn:hover a{color:#1C8416;}
#toggle{
	display:block;
	width:102px;
	height:36px;
	margin-left:17px;
	border:2px solid #eee;
	border-radius:7px;
}
.toggle_btn{
	display:block;
	position:relative;
	width:100%;
	height:100%;
	padding:0 0 0 25px;
	background:#fff;
	border:1px solid #ccc;
	border-radius:5px;
	color:#333 !important;
	font-family:var(--font_montserrat);
	font-size:1.2rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:1.5rem;
	text-decoration:none;
	cursor:pointer;
	transition:border 0.3s, color 0.3s;
}
.toggle_btn:hover{
	border-color:#338B33;
	color:#338B33 !important;
}
.toggle_txt{
	position:relative;
	display:block;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	content:'';
	position:absolute;
	z-index:10;
	left:16px;
	width:16px;
	height:2px;
	background:linear-gradient(270deg, #3C933A 0%, #115316 100%);
	transition:opacity 0.3s;
}
.toggle_btn::before{top:9px;}
.toggle_btn::after{top:19px;}
.toggle_txt::before{
	top:0;
	bottom:0;
	left:-9px;
	width:16px;
	margin:auto;
}
.toggle_btn.open::before, .toggle_btn.open::after{opacity:0;}

#main_menu{
	position:fixed;
	z-index:-1;
	top:90px;
	left:0;
	width:100%;
	min-height:100%;
	height:100%;
	-webkit-overflow-scrolling:touch;
	overflow:auto;
	background:rgba(0, 0, 0, 0.9);
}
#main_menu.menu_dis{display:none;}
.main_menu_box{
	padding:65px 20px 20px;
	background: #F9F9F9;
}
.main_menu_box_in{
	position: relative;
	max-width: 1100px;
	margin: auto;
}
.main_menu_list{
	display:flex;
	flex-wrap:wrap;
	align-items:stretch;
	padding:0;
	margin:0;
}
.main_menu_item{
	width:calc((100% - 60px) / 3);
	list-style:none;
	margin-bottom:25px;
	font-size:1.5rem;
	font-weight:bold;
	letter-spacing:0.75px;
	line-height:2.1rem;
	position:relative;
}
.main_menu_item:not(:nth-child(3n)){margin-right:30px;}
.main_menu_item::before,.main_menu_item::after{
	display:inline-block;
	content:'';
	position:absolute;
	bottom:0;
	right:0;
	height:2px;
}
.main_menu_item::before{
	width:100%;
	background-color:#DDDDDD;
}
.main_menu_item::after{
	width:40px;
	background-color:#1C8416;
}
.main_menu_item a{
	padding:20px 40px 24px 0;
	display: flex;
    align-items: center;
	text-decoration:none;
	transition:color 0.3s;
	position:relative;
	height: 100%;
}
.main_menu_item a:visited{color:#333 !important;}
.main_menu_item a::after{
	position:absolute;
	display:inline-block;
	content:'';
	width:40px;
	height:100%;
	bottom:0;
	right:0;
	background:url(/recruit-career/img/common/arrow_r_green.svg) no-repeat center right 10px / 23px;
}
.main_menu_item:hover a{color:#1C8416;}
.main_menu_item:hover a::after{animation:arrow_l .3s cubic-bezier(0.4, 0, 0.2, 1) forwards;}
@-webkit-keyframes arrow_l{
	0%,100%{background-position:center right 10px;}
	50%,60%{background-position:center right -10px;}
	61%{opacity:0;background-position:center left -20px;}
	62%{opacity:1;background-position:center left -10px;}
}
.site_menu_item{
	width:auto;
	margin-right:35px;
}
.site_menu_item:nth-last-child(-n+3){
	margin-top:73px;
}
.main_menu_link{
	display:block;
	color:#333 !important;
	text-decoration:none !important;
	transition:background 0.3s, color 0.3s;
	font-size:1.3rem;
	letter-spacing:0.7px;
	line-height:2.47rem;
}
.site_menu_item{
	list-style:none;
	margin-bottom:15px;
	font-size:1.5rem;
	font-weight:500;
	letter-spacing:0.9px;
	line-height:2.2rem;
}
.site_menu_item .main_menu_link{
	padding:0 0 0 15px !important;
	background-position:top 7px left !important;
}
.main_menu_link_txt{
	border-bottom:1px solid transparent;
	transition:border-color 0.3s;
}
.main_menu_link:hover .main_menu_link_txt{
	border-bottom:1px solid #333333;
}
a:hover .main_menu_link_txt::after{
	transform:scaleX(1);
	transform-origin:left;
}
.close_btn{
	position: absolute;
	bottom: 19px;
	right: 0;
	font-size: 1.3rem;
	letter-spacing: 0.78px;
	line-height: 1.9rem;
	cursor: pointer;
	padding: 0;
	padding-left: 25px;
}
.close_btn_txt{
	position: relative;
	color: #333 !important;
	border-bottom: 1px solid transparent;
	transition: border-color 0.3s;
}
.close_btn:hover .close_btn_txt{border-bottom: 1px solid #333;}
.close_btn_txt::before,
.close_btn_txt::after {
	position: absolute;
	content: "";
	display: block;
	left: -25px;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 17px;
	height: 1px;        /* 線の細さ */
	background: #333333;
	transform-origin: center;
}

.close_btn_txt::before {
	transform: rotate(45deg);
}

.close_btn_txt::after {
	transform: rotate(-45deg);
}

/*----- footer -----*/
#return{
	position:relative;
	z-index:10;
}
.return_btn{
	position:fixed;
	right:20px;
	bottom:20px;
	width:50px;
	height:50px;
	background:#1C8416 url(/recruit-career/img/common/arrow_t_white.svg) no-repeat center;
	border: 1px solid #1C8416;
	opacity:0;
	visibility:hidden;
	font-size:0;
	text-decoration:none !important;
	transition:background 0.3s, opacity 0.3s, visibility 0.3s;
}
.return_btn:hover{background:#fff url(/recruit-career/img/common/arrow_t_green.svg) no-repeat center;}
.return_btn.display, .return_btn.pos_end{
	opacity:1;
	visibility:visible;
}
.return_btn.pos_end{
	position:absolute;
	bottom:-25px;
}

.rec_bottom_wrap{
	background:transparent linear-gradient(270deg, #3BAA2C 0%, #145810 100%) 0% 0% no-repeat padding-box;
	position:relative;
}
.rec_bottom_wrap::after{
	position:absolute;
	content:'';
	display:inline-block;
	height:100%;
	width:25%;
	top:0;
	right:0;
	background:#FFFFFF 0% 0% no-repeat padding-box;
	clip-path:polygon(35% 0, 100% 0, 100% 100%, 0% 100%);
	opacity:0.08;
}
.rec_bottom_box{
	padding:50px 20px;
	max-width:1140px;
	margin:auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
}
.rec_bottom_h2{
	font-size:3.5rem;
	letter-spacing:2.8px;
	line-height:5.4rem;
	font-weight:bold;
	color:#fff;
	margin:0 0 24px;
	padding-left: 0 !important;
}
.rec_bottom_h2::before,.rec_bottom_h2::after{display: none;}
.rec_bottom_info{color:#fff;margin-bottom: 0;}
.rec_bottom_btn{
	width:400px !important;
	position: relative;
	z-index: 10;
}
.rec_bottom_btn a{
	font-size:2rem !important;
	padding:23px 40px 23px 28px !important;
	background-position:center right 30px !important;
}
.rec_bottom_btn a:visited{color: #333;}
.footer_menu{
	display:flex;
	justify-content:space-between;
	position:relative;
	max-width:1140px;
	padding:45px 20px;
	margin:auto;
}
.footer_menu::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:0;
	left:calc(50% - var(--vw_50));
	width:var(--vw_100);
	height:100%;
	background:#F9F9F9;
}
.f_menu_list{
	padding:0;
	margin:0;
	display:grid;
	grid-template-columns:1fr auto;
	gap:10px 60px;
	margin-right:10px;
}
.f_menu_item{
	list-style:none;
	font-weight:500;
	letter-spacing:0.96px;
	line-height:2.4rem;
	margin-bottom:0;
	position:relative;
}
.f_menu_item::before{
	position:absolute;
	display:inline-block;
	content:'';
	width:6px;
	height:1px;
	background:#1C8416;
	top:0;
	bottom:0;
	left:0;
	margin:auto;
}
.f_menu_item:nth-child(1) { grid-row: 1; grid-column: 1; }
.f_menu_item:nth-child(2) { grid-row: 2; grid-column: 1; }
.f_menu_item:nth-child(3) { grid-row: 3; grid-column: 1; }
.f_menu_item:nth-child(4) { grid-row: 1; grid-column: 2; }
.f_menu_item:nth-child(5) { grid-row: 2; grid-column: 2; }
.f_menu_item:nth-child(6) { grid-row: 3; grid-column: 2; }
.f_menu_link{
	display:inline-block;
	text-decoration:none !important;
	font-size:1.4rem;
	letter-spacing:0.7px;
	line-height:2rem;
	height: 100%;
	width: 100%;
	padding-left:13px;
}
.f_menu_link:visited{color:#333 !important;}
.f_child_list{
	padding:0;
	margin:12px 0 0;
}
.f_child_item{
	list-style:none;
	margin-bottom:8px;
	font-size:1.3rem;
	font-weight:normal;
	letter-spacing:0.78px;
	line-height:1.9rem;
}
.f_child_link{
	display:inline-block;
	position:relative;
	padding-left:10px;
	color:#fff !important;
	text-decoration:none !important;
}
.f_child_link::before{
	content:'';
	position:absolute;
	top:10px;
	left:0;
	width:5px;
	height:1px;
	background:#fff;
}
.f_menu_link:hover, .f_child_link:hover, .f_sub_link:hover{text-decoration:underline !important;}
.connect_area{
	display:flex;
	align-items:center;
	max-width:1240px;
	padding:30px 20px;
	margin:auto;
}
.connect_logo{
	flex-shrink:0;
	width:215px;
	margin-right:50px;
}
.connect_list{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:15px;
	position:relative;
	max-width: 762px;
	width:100%;
	padding:0;
	margin:0 0 0 auto;
}
.connect_list::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:90%;
	height:1px;
	margin:auto;
	background:#ddd;
}
.connect_item{
	list-style:none;
	margin:0;
	font-weight:500;
	letter-spacing:0.96px;
	line-height:2.4rem;
}
.connect_link{
	display:flex !important;
	align-items:center;
	justify-content:center;
	width:100%;
	height:40px;
	padding:0 10px !important;
	background:#fff !important;
	border:1px solid #ddd;
	border-radius:5px;
	font-size: 1.3rem;
	letter-spacing: 0.78px;
	line-height: 1.9rem;
	color:#333 !important;
	text-decoration:none !important;
	transition:background 0.3s, border 0.3s, color 0.3s !important;
}
.connect_link:hover{
	background:#338B33 !important;
	border-color:#338B33;
	color:#fff !important;
}
.connect_link[href="/recruit-career/"]{
	background:#338B33 !important;
	border-color:#338B33;
	color:#fff !important;
}
.connect_link[href*="engi-press"]{
	position:relative;
	opacity:1 !important;
}
.connect_link[href*="engi-press"]::after{
	content:'';
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:88px;
	height:14px;
	margin:auto;
	background:url(/img/common/logo_engipress_white.svg) no-repeat center/cover;
	opacity:0;
	transition:opacity 0.3s;
}
.connect_link[href*="engi-press"]:hover::after{opacity:1;}
.connect_link[href*="engi-press"] img{transition:opacity 0.3s;width: 88px;}
.connect_link[href*="engi-press"]:hover img{opacity:0;}
.footer_area{border-top:1px solid #E6E6E6;}
.footer_box{
	display:flex;
	align-items:center;
	justify-content:space-between;
	max-width:1240px;
	padding:18px 20px 20px;
	margin:auto;
}
.f_sub_list{
	display:flex;
	align-items:center;
	padding:0;
	margin:0;
}
.f_sub_item{
	list-style:none;
	font-size:1.2rem;
	letter-spacing:0.72px;
	line-height:1.7rem;
	margin:0 25px 0 0;
}
.f_sub_link{
	color:#333 !important;
	text-decoration:none !important;
	background: none !important;
	padding-left: 0 !important;
}
.f_sub_link span{
	padding-left: 15px;
	background: url(/img/common/popup.svg) no-repeat center left;
}
.f_sub_item:last-of-type .f_sub_link span{
	padding-left: 0;
	background: none;
}
.copyright{
	font-size:1.2rem;
	letter-spacing:0.78px;
	line-height:1.9rem;
}


/*----- main -----*/
#index_wrap, #content_wrap{margin-top:90px;}
a{
	color:#212121;
	text-decoration:underline;
}
a:hover{text-decoration:none;}
a:visited{color:#8909A8;}
a[target="_blank"]{
	padding-left:15px;
	background:url(/img/common/popup.svg) no-repeat center left;
}
a.non{
	display:inline-block;
	transition:opacity 0.3s;
}
a.non[target="_blank"]{
	padding-left:0;
	background:none;
}
a.non:hover{opacity:0.5;}
a[href$=".doc"], a[href$=".docx"]{
	padding-left:20px;
	background:url(/img/common/icon_word.svg) no-repeat center left;
}
a[href$=".xls"], a[href$=".xlsx"], a[href$=".xlsm"]{
	padding-left:20px;
	background:url(/img/common/icon_excel.svg) no-repeat center left;
}
a[href$=".zip"]{
	padding-left:20px;
	background:url(/img/common/icon_zip.svg) no-repeat center left;
}
a[href$=".pdf"]{
	padding-left:20px;
	background:url(/img/common/icon_pdf.svg) no-repeat center left;
}
a.none[href$=".pdf"]{
	padding-left:0;
	background:none;
}
[href^="tel:"]{
	font-weight:normal;
	text-decoration:none !important;
	pointer-events:none;
}

img{
	display:block;
	max-width:100%;
	width:auto;
	height:auto;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
a img{pointer-events:none;}

.link_btn{width:255px;}
.link_btn a{
	display:block;
	width:100%;
	height:100%;
	padding:15px 40px 15px 20px;
	border:1px solid #fff;
	background:#fff;
	letter-spacing:0.8px;
	line-height:2.4rem;
	font-weight:bold;
	text-decoration:none;
	position: relative;
	transition:background 0.3s,color 0.3s;
}
.link_btn:hover a{
	color: #fff;
	background:#1C8416;
}
.link_btn a::before{
	position: absolute;
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	top: 0;
	bottom: 0;
	right:  20px;
	margin: auto;
	background: url(/recruit-career/img/common/arrow_r_green.svg) no-repeat center / contain;
	transition: opacity 0.3s;
}
.link_btn a::after{
	position: absolute;
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	top: 0;
	bottom: 0;
	right:  20px;
	margin: auto;
	opacity: 0;
	background: url(/recruit-career/img/common/arrow_r_white.svg) no-repeat center /contain;
	transition: opacity 0.3s;
}
.link_btn a:hover:before{opacity: 0;}
.link_btn a:hover:after{opacity: 1;}

.link_btn_blank a{
	border:1px solid #1C8416;
	background:#1C8416 ;
	color:#fff !important;
}
.link_btn_blank:hover a{
	background:#fff ;
	color:#1C8416 !important;
}
.link_btn_blank a::before{
	background: url(/recruit-career/img/common/icon_popup_white.svg) no-repeat center center/contain;
	width: 16px;
	height: 16px;
}
.link_btn_blank a::after{
	background: url(/recruit-career/img/common/icon_popup_green.svg) no-repeat center center/contain;
	width: 16px;
	height: 16px;
}
a:hover .link_btn_txt::before{opacity:0;}
a:hover .link_btn_txt::after{opacity:1;}
@media screen and (min-width:1025px) and (max-width:1160px){

.menu_item{
	font-size:1.5rem;
	letter-spacing:0.75px;
}

}


@media screen and (max-width:1024px){
.tab_size{display:block !important;}
/*----- header -----*/
.header_area{padding: 23px 21px 23px 9px;}
#logo{
	width:283px;
	height:40px;
}
#wrapper.fixed .logo_link::after{
	content:'';
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:url(/img/common/logo.svg) no-repeat center/cover;
}
#toggle{margin-left: 15px;}
#main_menu{top: 80px;}
.main_menu_item{
	width: calc((100% - 40px) / 2);
	margin-bottom:7px;
	font-size:1.4rem;
	letter-spacing:0.7px;
	line-height:2rem;
}
.main_menu_item:not(:nth-child(3n)){margin-right:0;}
.main_menu_item:not(:nth-child(2n)){margin-right:40px;}
.site_menu_item:nth-last-child(-n+3) {margin-top: 35px;}

/*----- footer -----*/
.rec_bottom_btn {
	width: 100% !important;
	max-width: 320px;
	margin-left: 30px;
}
.rec_bottom_btn a {
	font-size: 1.7rem !important;
	letter-spacing: 0.85px;
	line-height: 2.5rem;
	padding: 28px 40px 28px 20px !important;
	background-position: center right 30px !important;
}
.footer_box{
	display: block;
	text-align: center;
}
.f_sub_list{
	justify-content: center;
	margin-bottom: 18px;
}
.f_sub_item{margin:0 12px;}
.cta_area{
	padding:30px 20px 45px;
}
.cta_tel{
	top:1px;
	margin-left:5px;
}
.footer_top{display:block;}
.footer_logo{width: 286px;}
.f_menu_list{
	margin:0;
	gap: 5px 25px;
}
.f_menu_link {
	font-size:1.3rem;
	letter-spacing:0.65px;
	line-height:1.9rem;
}
.connect_area{display: block;}
.connect_logo{margin: 0 auto 30px;}
}


@media screen and (min-width:768px) and (max-width:1024px){

/*----- footer -----*/
.cta_head{
	font-size:3rem;
	letter-spacing:1.5px;
	line-height:3.7rem;
}
.cta_txt{
	font-size:1.6rem;
	line-height:2.3rem;
}
.cta_list{gap:20px;}
.cta_item{
	font-size:1.6rem;
	line-height:2.3rem;
}
.cta_item:last-child{
	padding:8px 20px 11px;
	font-size:1.3rem;
	line-height:1.9rem;
}
.cta_link{
	padding:21px 15% !important;
	background-position-x:right 6% !important;
}
.cta_tel{
	font-size:1.8rem;
	line-height:2.7rem;
}

.footer_top{padding:40px 0 35px;}
.f_address_txt{
	font-size:1.5rem;
	line-height:2.2rem;
}


/*----- main -----*/
.link_btn{
	padding-top:21px;
	padding-bottom:21px;
}
.link_txt{
	min-width:140px;
	font-size:1.4rem;
	letter-spacing:0.7px;
	line-height:2rem;
}

}
@media screen and (max-width:850px){

/*----- footer -----*/
.rec_bottom_box{
	display:block;
	padding:40px 20px;
}
.rec_bottom_h2{
	font-size:2.8rem;
	letter-spacing: 2.24px;
	margin-bottom: 11px;
}
.rec_bottom_h2 br{display: none;}
.rec_bottom_txt{text-align:center;}

.rec_bottom_btn{margin: 2px auto 0;}
.rec_bottom_wrap::after{
	width: 37%;
	clip-path: polygon(59% 0, 100% 0, 100% 100%, 0% 100%);
}
.rec_bottom_btn a {
	padding: 20px 50px 20px 30px !important;
	background-position: center right 20px !important;
}
}

@media screen and (max-width:767px){
#index_wrap, #content_wrap {margin-top:64px;}
.pc_size{display:none !important;}
.sp_size{display:block !important;}

/*----- header -----*/
.header_area{padding:13px 10px;}
#menu_job_btn{display:none;}
.toggle_txt{
	font-size:0;
	width: 100%;
	height: 100%;
}
#toggle{
	width:44px;
	height:44px;
}
.toggle_btn{
	padding:0;
}
.toggle_btn::before, .toggle_btn::after, .toggle_txt::before{
	width: 18px;
	right:0;
	left:0 !important;
	margin:auto;
}
.toggle_btn::before {top: 13px;}
.toggle_txt::before{top: 0;}
.toggle_btn::after{top: 23px;}
#main_menu{top:70px;}
.main_menu_box{padding-top: 13px;}
.main_menu_box_in{padding-bottom: 40px;}
.main_menu_list{display: block;}
.main_menu_item{
	width: 100%;
	margin-bottom: 0;
}
.main_menu_item:not(:nth-child(2n)){margin-right:0;}
.site_menu_item:first-of-type{margin-top: 30px;}
.site_menu_item:nth-last-child(-n+3) {margin-bottom:10px;}
.site_menu_item:nth-last-child(-n+2) {margin-top: 0;}
.site_menu_item .main_menu_link{display: inline-block;}
.main_menu_item a{padding: 27px 40px 20px 0;}
.main_menu_list > li:nth-child(6) {margin-bottom: 20px !important;}
.main_menu_list > li:nth-child(7) {margin-bottom: 8px !important;}
.close_btn{bottom: 0;}
/*----- footer -----*/
.rec_bottom_wrap::after {
	height: 90%;
	width: 41%;
	top: auto;
	bottom: 0;
	clip-path: polygon(100% 0, 100% 0, 100% 100%, 0% 100%);
}
.rec_bottom_box{padding: 45px 20px 55px;}
.rec_bottom_h2{
	font-size:2.6rem;
	letter-spacing:2.08px;
	line-height:4.3rem;
	margin-bottom:12px;
	margin-top: 0;
}
.rec_bottom_btn{padding-top: 14px;}
.rec_bottom_btn a {
	font-size: 1.6rem !important;
	letter-spacing: 1.6px;
	line-height: 2.4rem;
	padding: 16px 49px 17px 19px !important;
}
.footer_menu{
	display:block;
	padding:30px 20px 0;
}
.f_menu_list{
	display:block;
	margin-top:25px;
}
.f_menu_link {
	padding:18px 10px 18px 23px;
}
.f_menu_item{
	border-top:1px solid #DDDDDD;
}
.f_menu_item::before {left:10px;}
.connect_area{
	display:block;
	padding: 40px 20px;
}
.connect_logo{margin:0 auto 30px;}
.connect_list{
	grid-template-columns: 1fr 1fr;
	gap: 7px;
	margin:auto;
}
.connect_list::before{display:none;}
.connect_link {
	font-size: 1.4rem;
	letter-spacing: 0.84px;
	line-height: 2rem;
	height: 50px;
}
.connect_link[href*="engi-press"] img{width: 102px;}
.footer_area{border-top:none;}
.footer_box {
	padding:0;
}
.f_sub_list{
	display:block;
	margin-bottom: 0;
	padding: 0 20px;
}
.f_sub_item{
	border-top:1px solid #eee;
	margin:0;
}
.f_sub_link{
	display:block;
	font-size:1.2rem;
	letter-spacing:0.72px;
	line-height:2.7rem;
	padding:13px 10px !important;
}
.copyright{
	padding:20px 0 30px;
	font-size:1.2rem;
	letter-spacing:0.72px;
	line-height:2.7rem;
	display: block;
	border-top: 1px solid #eee;
}



/*----- main -----*/
[href^="tel:"]{
	text-decoration:underline !important;
	pointer-events:auto;
}
[href^="tel:"]:hover{text-decoration:none !important;}

.link_btn{
	padding-top:19px;
	font-size:1.5rem;
	line-height:2.1rem;
}
.link_txt{
	min-width:120px;
	background-position-y:top 6px;
	font-size:1.3rem;
	letter-spacing:0.65px;
	line-height:1.9rem;
}

}
@media screen and (max-width:767px){
.rec_bottom_h2 br{display: block;}
}
/*----- 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;
			transform:scale(.8);
			-moz-transform:scale(.8);
			-webkit-transform:scale(.8);
			transform-origin:0 0;
			margin:auto
		}
	}
}
/*----- print end -----*/