@charset "UTF-8";
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}

.clearfix:after{
    content: ".";
    display: block;
    height: 0;
    font-size:0;
    clear: both;
visibility:hidden;
}
.clearfix{ display: inline-block; }
/* Hides from IE Mac */
* html .clearfix{ height: 1%; }
.clearfix{ display:block; }

/* ---------- 初期 ---------- */
body { letter-spacing: 0.01em; font-family:  "Hiragino Sans", "ヒラギノ角ゴシック", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", sans-serif;}
img { max-width: 100%;}
a { text-decoration: none;}
strong { font-weight: bold;}
/* ---------- /共通部分 ---------- */
#jougetyuou { position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); -webkit-transform: translateY(-50%) translateX(-50%); margin: auto;}
#kadomaru { border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: 10px;}
#resbtn { -webkit-appearance: none;}
.ancr { position: relative; transition: 0.5s;}
.anca { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: block; z-index: 10; cursor: pointer;}
.ancr:hover { opacity: 0.75; transition: 0.5s; cursor: pointer;}
/* ---------- /参考タグ部分 ---------- */




/* PC */
@media screen and (min-width: 769px) {
	.wrap { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;}
	.sponly { display: none!important;}
	
	header { position: absolute; top: 0; left: 0; z-index: 5; width: 100%;}
	header .header_inner { width: 100%; background-color: transparent;}
	header .header_inner .header_logo { margin-left: 3.14%; width: 15.45%; padding-top: 3.07vw;}
	header .header_inner nav { padding-top: 3.51vw; margin-right: 6.36%;}
	header .header_inner nav ul { font-size: 0; letter-spacing: 0;}
	header .header_inner nav ul li { display: inline-block; margin-left: 3em; font-size: 16px;; font-weight: 700;}
	header .header_inner nav ul li a { color: #fff;}
	header .header_inner nav ul li a:hover { text-decoration: underline;}
	
	header.privacy { position: absolute; top: 0; left: 0; z-index: 5; width: 100%;}
	header.privacy .header_inner { width: 100%; background-color: transparent;}
	header.privacy .header_inner .header_logo { margin-left: 3.14%; width: 15.45%; padding-top: 3.07vw;}
	header.privacy .header_inner nav { padding-top: 3.51vw; margin-right: 6.36%;}
	header.privacy .header_inner nav ul { font-size: 0; letter-spacing: 0;}
	header.privacy .header_inner nav ul li { display: inline-block; margin-left: 3em; font-size: 16px; font-weight: 700;}
	header.privacy .header_inner nav ul li a { color: #000;}
	header.privacy .header_inner nav ul li a:hover { text-decoration: underline;}
	
	#mv { position: relative; width: 100%;}
	#mv .mv_inner { width: 100%; position: relative;}
	#mv .mv_inner .mv_img { width: 100%;}
	#mv .mv_inner .mv_img img { width: 100%; height: auto;}
	#mv .mv_inner h1 { font-size: 2.56vw; letter-spacing: 0; line-height: 2.6em; font-weight: 600; color: #fff; position: absolute; left: 53.73%; top: 35.02%;}
	#mv .mv_inner .contact_btn { width: 6.88%; position: absolute; right: 2.19%; bottom: 3.1%;}
	#mv .mv_inner .contact_btn a { display: block;}
	#mv .mv_inner .contact_btn a img { width: 100%; height: auto;}
	
	#contents {}
	#contents .inner { width: 100%; position: relative; margin-bottom: 93px;}
	#contents .inner .gray_bg { width: 77.37%; padding: 99.5px 0 199px; background: #F5F5F5;}
	#contents .inner .bg_txt { width: 98.75%; position: absolute; left: -3.36%; top: 21px; z-index: 1;}
	#contents .inner p.ja_ttl { font-size: 16px; letter-spacing: 0; line-height: 1.68em; color: #009313; font-weight: 300; margin-left: 8.4%; position: relative; z-index: 2;}
	#contents .inner h2.en_ttl { font-size: 54px; letter-spacing: 0; font-weight: 700; margin-left: 8.4%; margin-bottom: 152px; position: relative; z-index: 2;}
	#contents .inner h4 { font-size: 20px; letter-spacing: 0.06em; font-weight: 600; margin-bottom: 50px; margin-left: 12.57%;}
	#contents .inner p.content_txt { font-size: 16px; letter-spacing: -0.01em; line-height: 2.93em; font-weight: 500; margin-bottom: 53px; margin-left: 12.57%;}
	#contents .inner .contents_img { width: 45.16%; position: absolute; left: 51.3%; top: 33.95%; z-index: 2;}
	#contents .inner .contents_img img { width: 100%; height: auto;}
	
	#company { /*overflow-x: hidden; overflow-y: auto;*/}
	#company .inner { width: 100%; position: relative; padding: 104px 0 128px; /*margin-bottom: 93px;*/}
	#company .inner .bg_txt { width: 86.66%; position: absolute; right: 0; top: 0; z-index: 1;}
	#company .inner p.ja_ttl { font-size: 16px; letter-spacing: 0; line-height: 1.68em; color: #009313; font-weight: 300; margin-right: 8.41%; position: relative; z-index: 2; text-align: right;}
	#company .inner h2.en_ttl { font-size: 54px; letter-spacing: 0; font-weight: 700; margin-right: 8.41%; margin-bottom: 62px; position: relative; z-index: 2; text-align: right;}
	#company .inner .company_img { width: 34.04%; position: absolute; left: -3.36%; top: 16.63%; z-index: 3;}
	#company .inner .company_img img { width: 100%; height: auto;}
	#company .inner table { width: 52.27%; margin-left: 37.48%; font-size: 16px; letter-spacing: 0.03em;}
	#company .inner table tr { background: url("images/company_line.png")no-repeat left bottom; background-size: 100%;}
	#company .inner table tr th { width: 15.4%; padding: 28px 0; font-weight: 600;}
	#company .inner table tr td { width: 84.6%; padding: 28px 0 28px 35px; box-sizing: border-box; font-weight: 500;}
	#company .inner table tr:last-child th { padding: 38px 0;}
	#company .inner table tr:last-child td { padding: 38px 0 38px 35px;}
	#company .inner table tr td dl {}
	#company .inner table tr td dl dt.row { display: inline-block; margin-right: 25px; margin-bottom: 30px;}
	#company .inner table tr td dl dt:last-of-type { margin-bottom: 13px;}
	#company .inner table tr td dl dd { padding-left: 1.06em; line-height: 1.625em; font-weight: 300;}
	#company .inner table tr td dl dd span.indent { padding-left: 7em; text-indent: -7em; display: block;}
	
	#access {}
	#access .inner { width: 100%; background: #F7F7F7; padding: 105px 0 131px; position: relative; z-index: 2;}
	#access .inner .bg_txt { width: 100%; position: absolute; left: 0; bottom: 0; z-index: 1;}
	#access .inner p.ja_ttl { font-size: 16px; letter-spacing: 0; line-height: 1.68em; color: #009313; font-weight: 300; position: relative; z-index: 2; text-align: center;}
	#access .inner h2.en_ttl { font-size: 54px; letter-spacing: 0; font-weight: 700; margin-bottom: 45px; position: relative; z-index: 2; text-align: center;}
	#access .inner .white_bg { width: 68.22%; margin: 0 auto; padding: 10px 8px; box-sizing: border-box; background: #fff; position: relative; z-index: 2; border-radius: 13px; -webkit-border-radius: 13px; -moz-border-radius: 13px; box-shadow: 0 3px 6px rgba(0,0,0,0.16);}
	#access .inner .white_bg .map { width: 100%;}
	#access .inner .white_bg .map iframe { width: 100%; border-radius: 8px; -webkit-border-radius: 8px; -moz-border-radius: 8px;}
	
	#recruit {}
	#recruit .inner { width: 100%; background: #585858; padding: 105px 0 96px; position: relative; color: #fff;}
	#recruit .inner .bg_txt { width: 76.23%; position: absolute; left: -0.95%; bottom: 0; z-index: 1;}
	#recruit .inner p.ja_ttl { font-size: 16px; letter-spacing: 0; line-height: 1.68em; font-weight: 300; position: relative; z-index: 4; text-align: center;}
	#recruit .inner h2.en_ttl { font-size: 54px; letter-spacing: 0; font-weight: 700; margin-bottom: 43px; position: relative; z-index: 4; text-align: center;}
	#recruit .inner table { width: 48.84%; position: relative; z-index: 4; margin-left: 28.11%; letter-spacing: 0;}
	#recruit .inner table tr { background: url("images/recruit_line.png")no-repeat left bottom; background-size: 100%;}
	#recruit .inner table tr th { width: 19.48%; text-align: right; font-size: 18px; font-weight: 500; padding: 27px 0 0;}
	#recruit .inner table tr td { width: 80.52%; box-sizing: border-box; font-size: 16px; line-height: 1.7em; font-weight: 300; padding: 27px 0 25px 37px;}
	#recruit .inner table tr td span.small { font-size: 14px; line-height: 1.1em; display: inline-block; margin-top: 5px;}
	#recruit .inner table tr:nth-of-type(5) td { line-height: 1em;}
	
	#contact {}
	#contact .inner { width: 100%; background: #F7F7F7; padding: 102px 0 136px; position: relative;}
	#contact .inner .bg_txt { width: 84.18%; position: absolute; right: 0; bottom: 0; z-index: 1;}
	#contact .inner p.ja_ttl { font-size: 16px; letter-spacing: 0; line-height: 1.68em; color: #009313; font-weight: 300; position: relative; z-index: 2; text-align: center;}
	#contact .inner h2.en_ttl { font-size: 54px; letter-spacing: 0; font-weight: 700; margin-bottom: 44px; position: relative; z-index: 2; text-align: center;}
	#contact .inner .white_bg { width: 60.46%; margin: 0 auto; padding: 57px 0; box-sizing: border-box; background: #fff; position: relative; z-index: 2; border-radius: 13px; -webkit-border-radius: 13px; -moz-border-radius: 13px;}
	#contact .inner .white_bg table { width: 72.88%; margin: 0 auto 69px;}
	#contact .inner .white_bg table tr th { width: 28.23%; text-align: left; position: relative; font-size: 16px; letter-spacing: -0.02em; line-height: 1.5em; font-weight: 400; box-sizing: border-box;}
	#contact .inner .white_bg table tr:last-child th { vertical-align: top; text-align: right; padding-right: 5px;}
	#contact .inner .white_bg table tr th span.hissu { width: 24.7%; position: absolute; top: 4px; right: 0;}
	#contact .inner .white_bg table tr td { width: 71.77%; box-sizing: border-box; padding-left: 18px; padding-bottom: 47px; font-size: 14px; letter-spacing: 0; font-weight: 300; color: #696969;}
	#contact .inner .white_bg table tr:last-child td { padding-bottom: 0;}
	#contact .inner .white_bg table tr td input { width: 100%; box-sizing: border-box; height: 25px; line-height: 25px; margin-bottom: 6.2px; background: #F4F4F4; border: none;}
	#contact .inner .white_bg table tr td textarea { width: 100%; box-sizing: border-box; height: 146px; background: #F4F4F4; border: none; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; padding: 6px 8px; font-size: 16px; resize: none;}
	#contact .inner .white_bg input.btn { width: 26.51%; margin: 0 auto; display: block; padding: 13px 0; font-size: 16px; letter-spacing: 0; font-weight: 600; color: #fff; text-align: center; border: none; background: url("images/contact_arrow.png")no-repeat 86.75% center #009313; background-size: 5px 8px;}
	
	footer { width: 100%; background: url("images/footer_bg.png")no-repeat center; background-size: cover;}
	footer .footer_inner { width: 83.16%; margin: 0 auto; padding: 82px 0 70px; color: #fff;}
	footer .footer_inner .left { width: 18.58%;}
	footer .footer_inner .left img { width: 100%; height: auto;}
	footer .footer_inner .right { text-align: right;}
	footer .footer_inner .right ul { font-size: 0; margin-bottom: 60px;}
	footer .footer_inner .right ul li { display: inline-block; font-size: 16px; letter-spacing: 0; font-weight: 600; margin-left: 45px;}
	footer .footer_inner .right ul li a { color: #fff;}
	footer .footer_inner .right a:hover { text-decoration: underline;}
	footer .footer_inner .right a.privacy { display: inline-block; font-size: 14px; color: #fff; margin-bottom: 14px; font-weight: 300;}
	footer .footer_inner .right .copyright { font-size: 12px; letter-spacing: 0; font-weight: 300;}
	
	#privacy_head { width: 100%; position: relative;}
	#privacy_head .bg_txt { width: 71.2%; position: absolute; top: 23.92%; left: -1.68%; z-index: 1;}
	#privacy_head .inner { width: 67.05%; margin: 0 auto; padding: 254px 0 70px; position: relative; z-index: 2;}
	#privacy_head .inner p.ttl { font-size: 44px; letter-spacing: 0; font-weight: 700; text-align: center; margin-bottom: 70px;}
	#privacy_head .inner p.txt { font-size: 16px; letter-spacing: -0.01em; line-height: 2.937em; font-weight: 400;}
	
	#privacy_body { width: 100%; background: #F7F7F7; margin-bottom: 171px;}
	#privacy_body .inner { width: 67.05%; margin: 0 auto; padding: 98px 0 75px;}
	#privacy_body .inner p.ttl { font-size: 22px; letter-spacing: 0; font-weight: 600; margin-bottom: 65px; text-align: center;}
	#privacy_body .inner ul {}
	#privacy_body .inner p.txt { font-size: 16px; letter-spacing: -0.01em; line-height: 1.5em; font-weight: 400;}
	#privacy_body .inner {}
	
	.thanks_inner { width: 50.46%; margin: 0 auto; padding: 200px 0 100px;}
	.thanks_inner .txt { font-size: 16px; letter-spacing: -0.01em; line-height: 1.5em; font-weight: 400; margin-bottom: 50px;}
	.thanks_inner a { width: 30.51%; margin: 0 auto; display: block; padding: 16px 0; font-size: 16px; letter-spacing: 0; font-weight: 600; color: #fff; text-align: center; border: none; background: url("images/contact_arrow.png")no-repeat 86.75% center #009313; background-size: 5px 8px;}
	
}

/* SP */
@media screen and (max-width: 768px) {
	.wrap { display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-pack:justify; -ms-flex-pack:justify; justify-content:space-between;}
	.pconly { display: none!important;}
	
	header { position: absolute; top: 0; left: 0; z-index: 5; width: 100%;}
	header .header_inner { width: 89.33%; margin: 0 auto; padding-top: 8.1vw; background-color: transparent;}
	header .header_inner .header_logo { width: 28.14vw; position: relative; z-index: 2;}
	
	/*ハンバーガー メニュー*/
	nav.hum {
	  display: block;
	  position: fixed;
	  top: 2.4vw;
	  right: -100vw;
	  bottom: 0;
	  width: 92.93vw;
	  height: 172vw;
	  box-sizing: border-box;
	  overflow-x: hidden;
	  overflow-y: auto;
	  -webkit-overflow-scrolling: touch;
	  transition: all .5s;
	  z-index: 21;
	  background: rgba(255,255,255,0.1);
	  filter: brightness(105%);
	  -webkit-backdrop-filter: blur(15px);
	  backdrop-filter: blur(15px);
	  border-radius: 4.13vw; -webkit-border-radius: 4.13vw; -moz-border-radius: 4.13vw;
	}
	.open nav.hum {
		top: 2.4vw;
	 	right: 3.46vw;
	 	opacity: 1;
	}
	
	nav.hum .header_logo { width: 28.14vw; position: absolute; z-index: 2; top: 5.73vw; left: 4vw;}
	nav.hum .hum_inner { width: 69.33vw; margin: 0 auto; padding: 28.26vw 0 0;}
	nav.hum .hum_inner ul { margin-bottom: 24.4vw;}
	nav.hum .hum_inner ul li { width: 100%; font-size: 4.26vw; letter-spacing: 0; font-weight: 600; border: solid 0.26vw rgba(255,255,255,0.61); border-radius: 8.6vw; -webkit-border-radius: 8.6vw; -moz-border-radius: 8.6vw; margin-bottom: 3.86vw; background: rgba(0,0,0,0.14);}
	nav.hum .hum_inner ul li:last-child { margin-bottom: 0;}
	nav.hum .hum_inner ul li a { display: block; width: 100%; box-sizing: border-box; height: 15.2vw; line-height: 15.2vw; text-align: center; color: #fff; border-radius: 8.6vw; -webkit-border-radius: 8.6vw; -moz-border-radius: 8.6vw;}
	nav.hum .hum_inner a.contact_btn { display: block; width: 100%; box-sizing: border-box; height: 15.2vw; line-height: 15.2vw; padding-left: 30.1vw; color: #fff; font-weight: 500; background: url("images/hum_icon_01.png")no-repeat 13.86vw center #009313; background-size: 6.92vw; border-radius: 8.6vw; -webkit-border-radius: 8.6vw; -moz-border-radius: 8.6vw;}
	
	/*============
	.toggle_btn
	=============*/
	.toggle_btn {
	  display: block;
	  position: fixed;
	  top: 6.17vw;
	  right: 5.93vw;
	  width: 13.76vw;
	  height: 7.52vw;
	  transition: all .5s;
	  cursor: pointer;
	  z-index: 21;
	}
	.toggle_btn span.on {
	  display: block;
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 7.52;
	  transition: all .5s;
	}
	.toggle_btn span.off {
		display: none;
	}
	.open .toggle_btn span.off {
		position: absolute;
		top: -1vw;
		display: block;
	}
	.open .toggle_btn span.on {
		display: none;
	}
	/*============
	#mask
	=============*/
	#mask {
	  display: none;
	  transition: all .5s;
	}
	.open #mask {
		display: block; transition: all .5s;
		position: absolute; top: 0; right: 0; width: 100%; height: 100vh; z-index: 20;
	}
	
	#mv { position: relative; width: 100%;}
	#mv .mv_inner { width: 100%; position: relative;}
	#mv .mv_inner .mv_img { width: 100%;}
	#mv .mv_inner .mv_img img { width: 100%; height: auto;}
	#mv .mv_inner h1 { font-size: 4.8vw; letter-spacing: 0; line-height: 2.52em; font-weight: 600; color: #fff; position: absolute; left: 8vw; top: 118vw;}
	#mv .mv_inner .contact_btn { width: 20.6vw; position: absolute; right: 1.73vw; bottom: 2.66vw;}
	#mv .mv_inner .contact_btn a { display: block;}
	#mv .mv_inner .contact_btn a img { width: 100%; height: auto;}
	
	#contents { overflow-x: hidden; padding-bottom: 45vw;}
	#contents .inner { width: 100%; position: relative; background: #F5F5F5;}
	#contents .inner .gray_bg { width: 89.33%; margin: 0 auto; padding: 11.3vw 0 35.33vw;}
	#contents .inner .bg_txt { width: 179%; position: absolute; left: -8vw; top: 4.13vw; z-index: 1;}
	#contents .inner p.ja_ttl { font-size: 3.2vw; letter-spacing: 0; margin-bottom: 1.33vw; color: #009313; font-weight: 300; position: relative; z-index: 2;}
	#contents .inner h2.en_ttl { font-size: 7.2vw; letter-spacing: 0; font-weight: 700; margin-bottom: 8.53vw; position: relative; z-index: 2;}
	#contents .inner h4 { font-size: 5.6vw; letter-spacing: 0.06em; line-height: 1.9em; font-weight: 600; margin-bottom: 7.8vw;}
	#contents .inner p.content_txt { font-size: 4vw; letter-spacing: -0.01em; line-height: 1.9em; font-weight: 500;}
	#contents .inner .contents_img { width: 84.66%; position: absolute; right: -1.2vw; top: 120vw; z-index: 2;}
	#contents .inner .contents_img img { width: 100%; height: auto;}
	
	#company { overflow-x: hidden;}
	#company .inner { width: 100%; position: relative; padding: 20.8vw 0 13.6vw; background: url("images/company_img_sp.png")no-repeat -58.9vw bottom; background-size: 200%;}
	#company .inner .bg_txt { width: 119.6%; position: absolute; left: -7.33vw; top: 3.86vw; z-index: 1;}
	#company .inner .white_bg { width: 91%; box-sizing: border-box; background: rgba(255,255,255,0.78); padding: 7.6vw 0 10.6vw; border-radius: 0 3.6vw 3.6vw 0; -webkit-border-radius: 0 3.6vw 3.6vw 0; -moz-border-radius: 0 3.6vw 3.6vw 0;　-webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);}
	#company .inner p.ja_ttl { font-size: 3.2vw; letter-spacing: 0; margin-bottom: 1.33vw; color: #009313; font-weight: 300; margin-right: 5.33vw; position: relative; z-index: 2; text-align: right;}
	#company .inner h2.en_ttl { font-size: 7.2vw; letter-spacing: 0; font-weight: 700; margin-right: 5.33vw; margin-bottom: 7.6vw; position: relative; z-index: 2; text-align: right;}
	#company .inner table { width: 84.69%; margin-left: 5.33vw; letter-spacing: 0.03em;}
	#company .inner table tr { background: url("images/company_line_sp.png")no-repeat left bottom; background-size: 100%;}
	#company .inner table tr th { width: 100%; padding: 4vw 0 0; font-weight: 600; display: block; text-align: left; font-size: 4.26vw}
	#company .inner table tr td { width: 100%; padding: 2.4vw 0 3.86vw; box-sizing: border-box; font-weight: 300; display: block; font-size: 4vw; letter-spacing: 0.003em;}
	#company .inner table tr:last-child td { padding-bottom: 8.4vw;}
	#company .inner table tr td dl {}
	#company .inner table tr td dl dt.row { display: inline-block; margin-right: 3vw; margin-bottom: 2.9vw;}
	#company .inner table tr td dl dt:last-of-type { margin-bottom: 13px;}
	#company .inner table tr td dl dd { padding-left: 2.26vw; line-height: 1.67em; font-weight: 300; font-size: 3.73vw;}
	#company .inner table tr td dl dd span.indent { padding-left: 7em; text-indent: -7em; display: block; letter-spacing: 0;}
	
	#access { overflow-x: hidden;}
	#access .inner { width: 100%; background: #F7F7F7; padding: 13.06vw 0 16.53vw; position: relative;}
	#access .inner .bg_txt { width: 111%; position: absolute; left: -6vw; bottom: 0; z-index: 1;}
	#access .inner p.ja_ttl { font-size: 3.2vw; letter-spacing: 0; margin-bottom: 1.33vw; color: #009313; font-weight: 300; position: relative; z-index: 2; text-align: center;}
	#access .inner h2.en_ttl { font-size: 7.2vw; letter-spacing: 0; font-weight: 700; margin-bottom: 6vw; position: relative; z-index: 2; text-align: center;}
	#access .inner .white_bg { width: 95.33%; margin: 0 auto; padding: 1.06vw 0.8vw; box-sizing: border-box; background: #fff; position: relative; z-index: 2; border-radius: 1.73vw; -webkit-border-radius: 1.73vw; -moz-border-radius: 1.73vw; box-shadow: 0 3px 6px rgba(0,0,0,0.16);}
	#access .inner .white_bg .map { width: 100%;}
	#access .inner .white_bg .map iframe { width: 100%; height: 48vw; border-radius: 1.06vw; -webkit-border-radius: 1.06vw; -moz-border-radius: 1.06vw;}
	
	#recruit { overflow-x: hidden;}
	#recruit .inner { width: 100%; background: #585858; padding: 14.46vw 0 12.81vw; position: relative; color: #fff;}
	#recruit .inner .bg_txt { width: 111%; position: absolute; left: -6vw; bottom: 0; z-index: 1;}
	#recruit .inner p.ja_ttl { font-size: 3.2vw; letter-spacing: 0; margin-bottom: 1.33vw; font-weight: 300; position: relative; z-index: 4; text-align: center;}
	#recruit .inner h2.en_ttl { font-size: 7.2vw; letter-spacing: 0; font-weight: 700; margin-bottom: 43px; position: relative; z-index: 4; text-align: center;}
	#recruit .inner table { width: 89.33%; margin: 0 auto; position: relative; z-index: 4; letter-spacing: 0;}
	#recruit .inner table tr { background: url("images/recruit_line.png")no-repeat left bottom; background-size: 100%;}
	#recruit .inner table tr th { width: 100%; text-align: left; font-size: 4vw; font-weight: 500; padding: 6.4vw 0 0 4.4vw; display: block;}
	#recruit .inner table tr td { width: 100%; box-sizing: border-box; font-size: 3.73vw; line-height: 1.46em; font-weight: 300; padding: 2.6vw 3.33vw 5.3vw 5.73vw; display: block;}
	#recruit .inner table tr td span.small { font-size: 3.46vw; line-height: 1.1em; display: inline-block; margin-top: 2.66vw;}
	#recruit .inner table tr td span.indent { padding-left: 1.3em; text-indent: -1.3em; display: inline-block;}
	#recruit .inner table tr:nth-of-type(5) td { line-height: 1em;}
	
	#contact { overflow-x: hidden;}
	#contact .inner { width: 100%; background: #F7F7F7; padding: 12.66vw 0 15.6vw; position: relative;}
	#contact .inner .bg_txt { width: 103%; position: absolute; right: 0; bottom: 0; z-index: 1;}
	#contact .inner p.ja_ttl { font-size: 3.2vw; letter-spacing: 0; margin-bottom: 1.33vw; color: #009313; font-weight: 300; position: relative; z-index: 2; text-align: center;}
	#contact .inner h2.en_ttl { font-size: 7.2vw; letter-spacing: 0; font-weight: 700; margin-bottom: 5.6vw; position: relative; z-index: 2; text-align: center;}
	#contact .inner .white_bg { width: 95.6%; margin: 0 auto; padding: 9.6vw 0 10.93vw; box-sizing: border-box; background: #fff; position: relative; z-index: 2; border-radius: 4.8vw; -webkit-border-radius: 4.8vw; -moz-border-radius: 4.8vw;}
	#contact .inner .white_bg table { width: 85.63%; margin: 0 auto 6.6vw;}
	#contact .inner .white_bg table tr th { width: 100%; text-align: left; position: relative; font-size: 3.73vw; letter-spacing: -0.02em; font-weight: 400; box-sizing: border-box; display: block; padding: 0.26vw 0 1.46vw;}
	#contact .inner .white_bg table tr th span.hissu { width: 9.86vw; position: absolute; top: 0; left: 29.2vw;}
	#contact .inner .white_bg table tr td { width: 100%; box-sizing: border-box; padding-bottom: 9.33vw; font-size: 3.2vw; letter-spacing: 0; font-weight: 300; color: #696969; display: block;}
	#contact .inner .white_bg table tr:last-child td { padding-bottom: 0;}
	#contact .inner .white_bg table tr td input { width: 100%; box-sizing: border-box; height: 7.2vw; line-height: 7.2vw; margin-bottom: 1.06vw; background: #F4F4F4; border: none;}
	#contact .inner .white_bg table tr td textarea { width: 100%; box-sizing: border-box; height: 21.2vw; background: #F4F4F4; border: none; border-radius: 6px; -webkit-border-radius: 6px; -moz-border-radius: 6px; padding: 1.86vw 2.13vw; font-size: 4vw; line-height: 1.7em; resize: none; font-weight: 300;}
	#contact .inner .white_bg table tr td textarea::placeholder { color: #696969;}
	#contact .inner .white_bg input.btn { width: 42vw; margin: 0 auto; display: block; padding: 2vw 0; font-size: 3.73vw; letter-spacing: 0; font-weight: 600; color: #fff; text-align: center; border: none; background: url("images/contact_arrow_sp.png")no-repeat 86.75% center #009313; background-size: 1vw;}
	
	footer { width: 100%;  color: #fff;}
	footer .footer_inner { width: 100%; margin: 0 auto; padding: 14.6vw 0 6.17vw; background: url("images/footer_bg_sp.png")no-repeat center; background-size: cover;}
	footer .footer_inner .right { text-align: center;}
	footer .footer_inner .right ul { width: 53.6%; margin: 0 auto; font-size: 0; margin-bottom: 16.8vw; text-align: center;}
	footer .footer_inner .right ul li { display: inline-block; width: 4em; font-size: 16px; letter-spacing: 0; font-weight: 600; float: left; margin-bottom: 8.77vw; margin-right: 3vw;}
	footer .footer_inner .right ul li:nth-child(2n) { float: right; margin-right: 0;}
	footer .footer_inner .right ul li:last-child { margin-bottom: 0;}
	footer .footer_inner .right ul li a { color: #fff; text-align: center;}
	footer .footer_inner .right a:hover { text-decoration: underline;}
	footer .footer_inner .right a.privacy { display: inline-block; font-size: 4vw; color: #fff; margin-bottom: 6.13vw; font-weight: 300; text-align: center;}
	footer .footer_inner .right .logo { width: 28.14%; margin: 0 auto;}
	footer .footer_inner .right .logo img { width: 100%; height: auto;}
	footer .footer_inner .right .copyright { font-size: 12px; letter-spacing: 0; font-weight: 300;}
	footer .copyright { font-size: 2.93vw; letter-spacing: 0; font-weight: 300; padding: 4vw 0; text-align: center; background: #000;}
	
	#privacy_head { width: 100%; position: relative;}
	#privacy_head .bg_txt { width: 98.4%; position: absolute; top: 28.8vw; left: 0; z-index: 1;}
	#privacy_head .inner { width: 100%; margin: 0 auto; padding: 40vw 0 21.4vw; position: relative; z-index: 2;}
	#privacy_head .inner p.ttl { font-size: 7.2vw; letter-spacing: 0; font-weight: 700; text-align: right; margin-bottom: 8.06vw; margin-right: 2.93vw;}
	#privacy_head .inner p.txt { font-size: 4vw; letter-spacing: -0.01em; line-height: 1.9em; font-weight: 500; width: 89.33%; margin: 0 auto;}
	
	#privacy_body { width: 100%; background: #F7F7F7; margin-bottom: 19.33vw;}
	#privacy_body .inner { width: 87.86%; margin: 0 auto; padding: 16vw 0 20vw;}
	#privacy_body .inner p.ttl { font-size: 5.33vw; letter-spacing: 0; font-weight: 600; margin-bottom: 10.66vw; text-align: center;}
	#privacy_body .inner p.txt { font-size: 4vw; letter-spacing: 0; line-height: 1.8em; font-weight: 500;}
	
	.thanks_inner { width: 89.33%; margin: 0 auto; padding: 40vw 0 21.4vw;}
	.thanks_inner .txt { font-size: 4vw; letter-spacing: 0; line-height: 1.8em; font-weight: 500; margin-bottom: 10vw;}
	.thanks_inner a { width: 42vw; margin: 0 auto; display: block; padding: 3vw 0; font-size: 3.73vw; letter-spacing: 0; font-weight: 600; color: #fff; text-align: center; border: none; background: url("images/contact_arrow_sp.png")no-repeat 86.75% center #009313; background-size: 1vw;}
	
}