@charset "utf-8";

/*----------------------------------------------------------
 FONT
----------------------------------------------------------*/

@font-face {
    font-family: 'NotoSansCJKjp';
    font-style: normal;
    font-weight: 300;
    src: url('../font/NotoSansCJKjp-DemiLight.eot');
    src: url('../font/NotoSansCJKjp-DemiLight.eot?#iefix') format('embedded-opentype'),
    url('../font/NotoSansCJKjp-DemiLight.woff') format('woff'),
    url('../font/NotoSansCJKjp-DemiLight.ttf')  format('truetype');
}
@font-face {
 font-family: "NotoSansCJKjp";
 font-style: normal;
 font-weight: 500;
 src: url('../font/NotoSansCJKjp-Medium.eot');
 src: local('Noto Sans CJK JP Regular'),
 url('../font/NotoSansCJKjp-Medium.eot?#iefix') format('embedded-opentype'),
 url('../font/NotoSansCJKjp-Medium.woff') format('woff'),
 url('../font/NotoSansCJKjp-Medium.otf') format('opentype')
}


.noto { font-family: "NotoSansCJKjp",sans-serif; font-weight:normal; }
.sawarabi { font-family: "Sawarabi Mincho", serif; }
.futura { font-family: "futura-pt",sans-serif; }
.light { font-weight:300; }
.book { font-weight:400; }
.medium { font-weight:500; }
.bold { font-weight:600; }
.thick { font-weight:700; }
.italic { font-style:italic; }


/*----------------------------------------------------------
 COMMON
----------------------------------------------------------*/

* { margin:0; padding:0; -webkit-box-sizing:border-box;-moz-box-sizing:border-box; box-sizing:border-box; -webkit-appearance:none; }

html { font-size:62.5%; overflow-x: hidden; }

body { font-family:"NotoSansCJKjp", sans-serif; font-weight:300; color:#231f20; background:#fff; -webkit-font-smoothing: antialiased; font-size:1.4rem; line-height:1.5; -webkit-text-size-adjust:100%; min-width:320px; overflow-x: hidden; }
	.bodyOpen { position:fixed ; width: 100%; }
	
	/*
	@media only screen and (max-width:1024px) {
		.bodyOpen { position:fixed !important; width: 100%; }
	}*/

img { width:100%; max-width:100%; height:auto; }

a { font-size:100%; vertical-align:baseline; text-decoration:none; transition:0.3s; color:#45a77d; }
a:active,
a:hover,
a:link,
a:visited { font-size:100%; vertical-align:baseline; }
a.disabled { pointer-events:none; cursor:default; }

.btn_round { max-width:260px; padding:10px 0; display:block; margin:0; transition:0.3s; border-radius:30px; text-align:center; font-size:14px; line-height:1.5; }
	.btn_round:hover { opacity:0.8; }
.btn_white { color:#45a77d; background:#fff; }
.btn_green { color:#fff; background:#45a77d; }
.centerText .btn_round { margin:0 auto; }

.green { color:#45a77d; }
.bg_green { background:#e3f2ec; }

.icon, .icon_2 { position:relative; }
.icon:after { content:""; position:absolute; top:38%; right:8%; width:20px; height:10px; }
.icon_2:after { content:""; position:absolute; top:38%; left:8%; width:20px; height:10px; }
.icon01:after { background:url(../img/recruit/common/ico_arrow.png) no-repeat center right / 100% auto; }
.icon01_2:after { background:url(../img/recruit/common/ico_arrow.png) no-repeat center right / 100% auto; transform:rotate(180deg); }
.icon02:after { background:url(../img/recruit/common/ico_arrow2.png) no-repeat center right / 100% auto; }
.icon03:after { background:url(../img/recruit/common/ico_arrow3.png) no-repeat center right / 100% auto; }

.text_link { position:relative; padding-right:35px; color:#231f20; }
.text_link:after { content:""; position:absolute; top:20%; right:0; width:20px; height:10px; }
.text_link.icon01:after { background:url(../img/recruit/common/ico_arrow.png) no-repeat center right / 100% auto; }
.text_link.icon02:after { background:url(../img/recruit/common/ico_arrow2.png) no-repeat center right / 100% auto; }
.text_link.icon03:after { background:url(../img/recruit/common/ico_arrow3.png) no-repeat center right / 100% auto; }

.freedial { position:relative; display:inline-block; padding-left:30px; }
.freedial::before { display:block; position:absolute; top:50%; -webkit-transform:translateY(-50%); transform:translateY(-50%); left:0; content:""; background-image:url(../img/common/ico_phone.svg); background-repeat:no-repeat; background-position:center center; background-size:contain; width:12%; padding-top:12%; }

	@media only screen and (min-width: 768px) {
		a[href^="tel:"] { cursor:default; pointer-events:none; }
	}

	/*@media screen and (-webkit-min-device-pixel-ratio:0) {*/
	  select:focus,
	  textarea:focus,
	  input:focus {
	    /*font-size: 16px;*/
	    background: #eee;
	  }
	/*}*/

select::-ms-expand { display:none; }
input[type="button"],input[type="text"],input[type="tel"],input[type="email"], input[type="submit"], select, textarea { -webkit-appearance:none; border-radius:0; }

input[type="text"], input[type="tel"], input[type="email"], select { height:52px; font-size:14px; } 

.inner { max-width:1064px; margin:0 auto; padding:0 20px; }
#main .inner { padding: 50px 20px 50px; }

.title_with_en h3 { font-size:28px;font-family:"NotoSansCJKjp", sans-serif; }
.title_with_en h3::before { content:attr(data-en) ""; font-size:16px; text-align:center; font-family:'futura', sans-serif; display:block; letter-spacing:0.01em; color:#45a77d; }


	@media only screen and (max-width:767px) {
    	a.btn_round { max-width:100%; }
    	.inner { padding:0 5%; }
    	.title_with_en h3 { font-size:24px; }
    	.title_with_en h3::before { font-size:13px; }
    }
	
	@media only screen and (max-width:450px) {
		input, select, textarea { font-size:16px;}
	}
	

/* fresh index
----------------------------------------------------------*/

body.fresh_index { /*height:100%;*/ margin: 0; }

.fresh_index h3 { font-size:68px; line-height:1.2; }
.fresh_index h3 span { display:block; font-size:16px; font-family:"NotoSansCJKjp", sans-serif; }

.fresh_slide { max-width:100%; max-height:100%; height:100vh; width:auto\9; /* ie8 */ margin:0 auto; }

	@media only screen and (max-width:1024px) {
		.fresh_index h3 { font-size:45px; }
    }
    
    @media only screen and (max-width:767px) {
		.fresh_index h3 { font-size:30px; }
		.fresh_index h3 span { font-size:13px; }
    }


/*----------------------------------------------------------
 HEADER
----------------------------------------------------------*/

#header { position:absolute; z-index:10; width:100%; height:80px; top:0; left:0; background:#fff}
#header a { color:#333; transition:0.3s; font-weight:400; }
#header a:hover { color:#45a77d; }
#header .logo { position:fixed; width:180px; height:80px; }
#header .logo h1 { width:80px; height:80px; background: url(../img/common/img_logo.svg) no-repeat center center / 50px auto; text-indent:-9999px; transition:0.3s; }
#header .logo em { display:block; position:absolute; top:26px; right:25px; transition: .4s cubic-bezier(0.650, 0.085, 0.150, 1.000); }

#header .gNav { position:absolute; right:15%; display:block; height:80px; /**/transition:0.2s; transform: scale(1); }
#header .gNav ul { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; }
#header .gNav ul li { position:relative; transition:0.3s; margin:0 15px; padding:25px 0 25px; line-height:1.5; letter-spacing:0.05em; transition:0.3s; }
#header .gNav ul li:before { content:""; position:absolute; top:0; left:0; width:100%; height:5px; background:#45a77d; transform:scale(0, 0); transition:transform .3s; }
#header .gNav ul li:hover:before { transform:scale(1, 1); }

    #header .gNav ul li.active::before,
	.fresh_news #header .gNav ul li:nth-child(1)::before,
	.fresh_corporate #header .gNav ul li:nth-child(2)::before,
	.fresh_jobs #header .gNav ul li:nth-child(3)::before,
	.fresh_employee-list #header .gNav ul li:nth-child(4)::before,
	.fresh_cross_talk #header .gNav ul li:nth-child(5)::before,
	.fresh_environment #header .gNav ul li:nth-child(6)::before,
	.fresh_flow #header .gNav ul li:nth-child(7)::before,
	.career_interview #header .gNav ul li:nth-child(1)::before { transform:scale(1, 1); }

    #header .gNav ul li.active a,
	.fresh_news #header .gNav ul li:nth-child(1) a,
	.fresh_corporate #header .gNav ul li:nth-child(2) a,
	.fresh_jobs #header .gNav ul li:nth-child(3) a,
	.fresh_employee-list #header .gNav ul li:nth-child(4) a,
	.fresh_cross_talk #header .gNav ul li:nth-child(5) a,
	.fresh_environment #header .gNav ul li:nth-child(6) a,
	.fresh_flow #header .gNav ul li:nth-child(7) a,
	.career_interview #header .gNav ul li:nth-child(1) a { color:#45a77d; }


#header .entryBtn { max-width:165px; height:80px; opacity:1; transform:scale(1); position:fixed; right:0px; top:0; padding:0 40px; display:block; margin:0; transition:0.3s; text-align:center; font-size:22px; color:#fff; line-height:80px; letter-spacing:0.1em;
background: #5dac8a;
background: -moz-linear-gradient(left, #5dac8a 0%, #dddd73 100%);
background: -webkit-linear-gradient(left, #5dac8a 0%,#dddd73 100%);
background: linear-gradient(to right, #5dac8a 0%,#dddd73 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5dac8a', endColorstr='#dddd73',GradientType=1 ); }

#header .entryBtn:hover { background-image:linear-gradient(90deg,#5dac8a 0,#dddd73 32%,#5dac8a 67%,#dddd73 100%);
background-size:400% 400%; animation:colors 20s ease infinite; color:#fff; }



	#overlayMenu { background:rgba(255,255,255,0.9); position:fixed; top:0; left:0; bottom:0; right:0; z-index:11; font-family: 'Ropa Sans', sans-serif; font-size:24px; display:flex; justify-content:center; align-items:center; margin: 0; width: auto; }
	.overlayMenu_inner { display:flex; justify-content:center; width:100%; }
	.overlayMenu_inner > ul:nth-child(3) { margin:0 50px; }

	#overlayMenu a { color:#333; }
	#overlayMenu a:hover, #overlayMenu .active { color:#43a8c7; }
	#overlayMenu ul { padding-left:30px; width:25%; }
	#overlayMenu ul li { margin-bottom:50px; }
	
	.bodyOpen .menu-trigger span:nth-of-type(1) { -webkit-transform:translateY(20px) rotate(-45deg); transform:translateY(20px) rotate(-45deg); top:-10px; }
	.bodyOpen .menu-trigger span:nth-of-type(2) { opacity:0;}
	.bodyOpen .menu-trigger span:nth-of-type(3) { -webkit-transform:translateY(-20px) rotate(45deg); transform:translateY(-20px) rotate(45deg); bottom:0; width:100%; }

	.h_menu { position:absolute; position:fixed; right:0; top:0; width:80px; height:80px; background:#45a77d; color:#fff; transition: .4s cubic-bezier(0.650, 0.085, 0.150, 1.000); cursor:pointer; }
	.menu-trigger,
	.menu-trigger span { display:inline-block; transition:all .4s; box-sizing:border-box; }
	.menu-trigger { position:relative; top:24px; left:20px; width:35px; height:35px; }
	.menu-trigger span { position:absolute; right:0; width:100%; height:4px; background-color:#fff; }
	.menu-trigger span:nth-of-type(1) { top:0; }
	.menu-trigger span:nth-of-type(2) { top:13px; }
	.menu-trigger span:nth-of-type(3) { bottom:5px; right:0; }
	
		.menu-trigger2,
		.menu-trigger2 span { display:inline-block; transition:all .4s; box-sizing:border-box; }
		.menu-trigger2 { position:relative; top:24px; left:20px; width:35px; height:35px; }
		.menu-trigger2 span { position:absolute; right:0; width:100%; height:4px; background-color:#fff; }
		.menu-trigger2 span:nth-of-type(1) { top:0; }
		.menu-trigger2 span:nth-of-type(2) { top:13px; }
		.menu-trigger2 span:nth-of-type(3) { bottom:5px; right:0; }
	
	
	.g-menu-btn { position:fixed; top:-100px; left:80px; width:80px; height:80px; background:#45a77d; z-index:98; cursor:pointer; /*transform: scale(0, 0);*/  transition: .4s cubic-bezier(0.650, 0.085, 0.150, 1.000);}
	/*.g-menu-btn::after { content:""; position:absolute; top:0; left:0;
		width: 100%; height: 100%; background: #45a77d; z-index: -1;
		-webkit-transform-origin: 0 50% 0;
		transform-origin: 0 50% 0;
		-webkit-transform: scale(0, 1);
		transform: scale(0, 1);
		-webkit-transition: all .45s cubic-bezier(0.215, .61, .355, 1) 0s;
		transition: all .45s cubic-bezier(0.215, .61, .355, 1) 0s;
	}*/
	
	
	
	.bodyScroll #header .logo h1 { background:#fff url(../img/common/img_logo.svg) no-repeat center center / 50px auto; position:fixed; }
	.bodyScroll .g-menu-btn { display:block; top:0px; }
	.bodyScroll #header .logo em { margin-top:-100px; }
	
	.bodyScroll #header .gNav { display:none; }
	 #header .gNav.btn_open { position:fixed; left:150px; height:80px; }
		
		#header.fixedmenu .g-menu-btn .menu-trigger2 span:nth-of-type(1) { -webkit-transform:translateY(20px) rotate(-45deg); transform:translateY(20px) rotate(-45deg); top:-10px; }
		#header.fixedmenu .g-menu-btn .menu-trigger2 span:nth-of-type(2) { opacity:0;}
		#header.fixedmenu .g-menu-btn .menu-trigger2 span:nth-of-type(3) { -webkit-transform:translateY(-20px) rotate(45deg); transform:translateY(-20px) rotate(45deg); bottom:0; width:100%; }
	 
	 .show .gNav { display:block!important; }

	 

	@media only screen and (min-width: 1025px) {
		.h_menu { display:none!important; }
		#overlayMenu { display:none!important; }/**/
		
		#header.fixedmenu { background:rgba(255,255,255,0.9); position:fixed; transition:1s; transition: all 500ms 0s ease; }
	}

	@media only screen and (max-width:1024px) {
		
		html { height:100%; }
		
		#header .logo { height:60px; }
		#header .logo h1 { width: 60px; height: 60px; background: url(../img/common/img_logo.svg) no-repeat center center / 40px auto; }
		#header .logo em { top:20px; left:75px; } 
		#header .gNav { display:none!important; }
		.show .gNav { display:none!important; }
		
		#overlayMenu { font-size:14px; margin-top:0px; align-items:flex-start; justify-content:flex-start; /*overflow-y: scroll;*/ -webkit-overflow-scrolling:touch; z-index:9; }
		.overlayMenu_inner { display:block; padding-top:0px; width:100%; }
		.overlayMenu_inner > ul:nth-child(3) { margin:0; }
		#overlayMenu ul { padding-left:0px; width:80%; margin:120px auto 0; }
		#overlayMenu ul li { margin-bottom:25px; padding-bottom:25px; }
		#overlayMenu ul li a { position:relative; padding-top:20px; color:#45a77d; font-family: "NotoSansCJKjp", sans-serif; font-size:18px;  }
		#overlayMenu ul li a:before { content:""; position:absolute; top:0; left:0; width:30px; height:3px; background:#45a77d; }
		#overlayMenu ul.nest { margin:10px 0 5px; }
		#overlayMenu ul.nest li { color:#333; margin-bottom:5px; padding-bottom:10px; }
		#overlayMenu ul.nest li:last-child { margin-bottom:0px; padding-bottom:0px; }
		#overlayMenu ul.nest li a { color:#333; padding-top:0px; font-size:12px; }
		#overlayMenu ul.nest li a:before { display:none; }
		
		.h_menu { width:60px; height:60px; }
		.h_menu .menu-trigger { top:15px;left:14px; width:30px; height:30px; }
		.h_menu .menu-trigger span:nth-of-type(3) { bottom:0px; }
		.bodyOpen .h_menu .menu-trigger span:nth-of-type(1) { top:-7px;left:1px; }
		.bodyOpen .h_menu .menu-trigger span:nth-of-type(3) { bottom:-7px; left:1px; }
		
		.bodyScroll #header .logo h1 { width:60px; height:60px; background:#fff url(../img/common/img_logo.svg) no-repeat center center / 35px auto; }
		.bodyOpen #header { position:fixed; }
		
		#header .entryBtn { max-width:100px; height:60px; padding:0 20px; font-size:18px; line-height:60px; right:60px; }
		#header .gNav { display:none; }
		.g-menu-btn { display:none!important; }
		
	}

	@media screen and (max-height: 800px) {
   		#overlayMenu { font-size:18px; overflow-y:scroll;/**/ height:100%; display:block; }
		.overlayMenu_inner { padding:50px 0 50px 0; }
		#overlayMenu ul li a { /*font-size:12px;*/ }
	}

	
	@media only screen and (max-width:450px) {
		.overlayMenu_inner { padding:0px 0 20px 0; }
		#overlayMenu ul { width:90%; margin:100px auto 0; }
		#overlayMenu ul li { margin-bottom:15px; padding-bottom:30px; }
		#overlayMenu ul li a { /*font-size:12px;*/ }
		#overlayMenu ul.nest { /*margin-top:-5px;*/ }
		#overlayMenu ul.nest li { margin-bottom:0px; padding-bottom:0px; }
		
		#header .logo h1 { width:60px; height:60px; background:url(../img/common/img_logo.svg) no-repeat center center / 40px auto; }
		#header .logo em { display:none; }

	}
	


/* mainvisual
----------------------------------------------------------*/

#mainVisual { position:relative;  }
.fresh_index #mainVisual { height:100vh; }

body.fresh_index .main_title_wrap { width:58.5%; height:auto; position:absolute; left:calc(50% - 30px); top:38%; z-index:1; font-family:"Sawarabi Mincho",serif; }
body.fresh_index .main_title_wrap h2 { /*font-size:62px;*/ font-size:5vw; background-color:rgba(255,255,255,0.8); position:relative; top:-5%; padding:2% 5%; letter-spacing:0.18em; display:flex; align-items:center; }
body.fresh_index .main_title_wrap h2 em { /*font-size:105px;*/ font-size:9vw; line-height:1; letter-spacing:0.05em; padding-right:5px;
  color: #FF8C00;
  background: -webkit-linear-gradient(0deg, #5dac8a, #dddd73);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
body.fresh_index .main_title_wrap p { font-size:3vw; background-color:rgba(255,255,255,0.5); display:inline-block; padding:0 5%; letter-spacing:0.1em; margin-top:20px; }

body.fresh_index .main_title_wrap img { display:none; }


	@media only screen and (min-width:1500px) { 
		body.fresh_index .main_title_wrap { /*width:50em;*/ top:35%; }
		body.fresh_index .main_title_wrap h2 { font-size:72px; }
		body.fresh_index .main_title_wrap h2 em { font-size:115px; }
		body.fresh_index .main_title_wrap p { font-size:43px; }
	}



.fresh_slide { text-indent:-9999px; }
.fresh_slide .image { height:100vh; }
.slide_pic01 { background:url(../img/recruit/fresh/img_main01.jpg) no-repeat top center /cover; }
.slide_pic02 { background:url(../img/recruit/fresh/img_main02.jpg) no-repeat top center /cover; }
.slide_pic03 { background:url(../img/recruit/fresh/img_main03.jpg) no-repeat top center /cover; }
.slide_pic04 { background:url(../img/recruit/fresh/img_main04.jpg) no-repeat top center /cover; }

#mainVisual .slick-initialized .slick-slide { float:left; } /* edge */

#mainVisual .inner { margin:0 auto; width:85.8%; text-align:right; }

.mainVisual_bottom { position:absolute; bottom:0; width:100%; }
.mainVisual_bottom a { color:#231f20; }
.mainVisual_bottom_inner { background:#fff; max-width:1240px; padding:25px 20px; margin:0 auto; display:flex; align-items:center; justify-content:flex-end; position:relative; }
.mainVisual_bottom_inner p { font-size:16px; }
.mainVisual_bottom_inner .anchor { position:absolute; top:35%; right:5%; text-indent:-9999px; }
.mainVisual_bottom_inner .anchor { display:block; animation: fluffy1 3s ease infinite; }
.mainVisual_bottom_inner .anchor::after { content:""; position:absolute; z-index:1; top:0; left:0; width:30px; height:30px; background: url(../img/recruit/common/ico_arrow2.png) no-repeat center center / 20px auto; transform:rotate(90deg); }

#mainVisual_no_image { position:relative; margin-top:80px; }
.mainVisual_title_wrap { display:flex; align-items:top; justify-content:center; padding:90px 0 0; min-height:320px; }
.mainVisual_title_wrap.v_middle { align-items:center; padding:0; }

	@media all and (-ms-high-contrast: none){ /* IE10 over */
	  .mainVisual_title_wrap .inner { margin:0; }
	  #mainVisual .inner { margin:0; }
	}

#mainVisual_no_image h2, .main_title h2 { font-size:52px; line-height:1.4; }
#mainVisual_no_image h2 span, .main_title h2 span { font-size:18px; display:block;font-family:"NotoSansCJKjp", sans-serif; }

.mainVisual_bottom_inner { display:block; }


#breadcrumbs ol { display:flex; justify-content:start; flex-wrap:wrap; font-size:13px; padding-right:5%; }
#breadcrumbs li:first-child { padding:0 5px 0 0px; }
#breadcrumbs li:not(:first-child) { position:relative; padding:0 5px 0 15px; }
#breadcrumbs li:not(:first-child):after { content:" > "; position:absolute; top:1px; left:0; width:1em; height:1em; }
#breadcrumbs li:last-child a { color:#6fb797; }


	@keyframes fluffy1 {
		0% { transform:translateY(0) }
		5% { transform:translateY(0) }
		10% { transform:translateY(0) }
		20% { transform:translateY(-5px) }
		25% { transform:translateY(0) }
		30% { transform:translateY(-5px) }
		50% { transform:translateY(0) }
		100% { transform:translateY(0) }
	}
	
	
	@media only screen and (max-width:1024px) { 
		#mainVisual_no_image { margin-top:60px; }
	}
	
	
	@media only screen and (max-width:767px) {
		body.fresh_index .main_title_wrap { width:75%; top:45%; left:auto; right:0; }
		body.fresh_index .main_title_wrap h2 { font-size:6vw; }
		body.fresh_index .main_title_wrap h2 em { font-size:16.5vw; }
		body.fresh_index .main_title_wrap p { font-size:4vw; }
		
		.slide_pic01 { background:url(../img/recruit/fresh/img_main01.jpg) no-repeat 28% 0% / cover; }
		.slide_pic02 { background:url(../img/recruit/fresh/img_main02.jpg) no-repeat 28% 0% / cover; }
		.slide_pic03 { background:url(../img/recruit/fresh/img_main03.jpg) no-repeat 25% 0% / cover; }
		.slide_pic04 { background:url(../img/recruit/fresh/img_main04.jpg) no-repeat 28% 0% / cover; }
		
		.mainVisual_bottom_inner { margin:0 20px; padding:15px 10px; }
		#mainVisual .inner { width:100%; text-align: center; }
		.mainVisual_bottom_inner p { font-size:12px; }
		.mainVisual_bottom_inner .anchor { top:27%; right:10%; }
		
		#mainVisual_no_image h2, .main_title h2 { font-size:28px; line-height:1.2; }
		#mainVisual_no_image h2 span, .main_title h2 span { font-size:12px; }
		
		.mainVisual_title_wrap { padding:50px 0 0; min-height:200px; }
	}
	
	@media only screen and (max-width:450px) {
		body.fresh_index .main_title_wrap { width:95%; top:56%; }
		body.fresh_index .main_title_wrap h2 { font-size:8vw; }
		body.fresh_index .main_title_wrap h2 em { font-size:20vw; }
		body.fresh_index .main_title_wrap p { font-size:6vw; }
	}


@media all and (-ms-high-contrast: none){ /* IE10 over */
	body.fresh_index .main_title_wrap img { display:block; }
	body.fresh_index .main_title_wrap h2,
	body.fresh_index .main_title_wrap p { display:none; }
}



/* movie
----------------------------------------------------------*/

.fresh_movie { padding-bottom:5%; }
.fresh_movie_inner { max-width:1240px; margin:0 auto; background:#fff; padding:0 0 8%; }
.fresh_movie_inner h2 img { max-width:715px; }
.fresh_movie_inner p { line-height:2.5; font-size:16px; font-weight:300; }

.movie { position:relative; width:100%; max-width:980px; padding-top:56.25%; margin:0 auto 5%; }
.movie iframe { position:absolute; top:0; right:0; width:100%; height:100%; }

.fresh_index .hidden { display:none; }
.fresh_index .video { position:relative; width:100%; max-width:980px; margin:5% auto 5%; }
.fresh_index iframe { position:absolute; top:0; right:0; width:100%; height:100%; }
.fresh_index .active .video { padding-top:56.25%; }


	@media only screen and (max-width:767px) {
		.fresh_movie_inner { padding: 0px 0 4%; }
		.movie { margin:0 auto 10%; }
		.fresh_movie_inner p { line-height:2.0; font-size:14px; }
	}


/* cross_talk
----------------------------------------------------------*/

.cross_talk { position:relative; }
.cross_talk:after { content:""; position:absolute; z-index:-1; bottom:0; left:0; width:100%; height:40%; background:#f8f8f8; }

.recruit_interviewSec .inner_wrap { position: relative; }
.interview_slider2 a { display: block; color:#333; }
.interview_slider2 a:hover { opacity: 0.7; }
.interview_slider2 .slick-list { overflow: visible; }
.interview_slider2 .profile { position: absolute; left:0; bottom:-10px; }
.interview_slider2 .position { font-size:15px; font-weight:500; line-height:1.4; letter-spacing:0.04em; margin-top:20px; }

	.recruit_col2.interview .btn { background-color:#6cd8af; color:#fff; }
	.recruit_col2.interview .btn:hover { background:rgba(0, 0, 0, 0.5); }
	.recruit_col2.interview .image { width:51%; }
	.recruit_col2 { padding-right:60%; position:relative; min-height:450px; }
	.recruit_col2 .title { font-size:20px; padding-top:30px; line-height:1.3; }
	.recruit_col2 .title span { font-size:14px; font-weight:normal; display:block; margin-top:10px; }
	.recruit_col2 .image { width: 55.5%; position: absolute; top:0; right:0; padding:20px 20px 20px 0; }
	.recruit_col2 .image::after { content:""; display:block; position:absolute; right:0; top:0; bottom:0; left:35%; border:20px solid; z-index:1; border-color: #45a77d #45a77d transparent transparent; }
	.recruit_col2 .text { margin-top: 30px; line-height: 2.0; font-weight:300; }
	.recruit_col2 .btn { margin-left: 0; margin-top: 74px; }	
	.recruit_col2 .btn_round { position:absolute; bottom:45%; left:0; width:260px; }
	
	.cross_talk .slick-dots { width:auto; position:absolute; right:30px; bottom:30px; }
	.cross_talk .slick-dots li button::before { font-size:30px; color:#45a77d; opacity:0.25; }
	.cross_talk .slick-dots li.slick-active button::before { color:#45a77d; }
	
	.interview_slider2_navi { width:40%; padding-left:0; position:absolute!important; z-index:2; left:0; bottom:20%; }
	.interview_slider2_navi .draggable { width: 100%; }
	.interview_slider2_navi .slick-track { transform:none!important; }
	.interview_slider2_navi li { width:23%!important; cursor:pointer; outline:0; -webkit-transition: .3s; transition: .3s;  }
	.interview_slider2_navi li:not(.slick-current) { opacity:0.7; }
	.interview_slider2_navi li:not(.slick-current):hover { opacity:1; }
	.interview_slider2_navi li + li { margin-left:2.2%; }
	
	
	@media only screen and (max-width: 767px) {	
		.recruit_interviewSec { padding:30px 0 50px; }
		.recruit_interviewSec .inner_wrap { width:122%; margin-left:-6.5%; }
		
		.cross_talk:after { height:50%; }
		.interview_slider2 a:hover { opacity:1; }
		.interview_slider2 .profile { right: -12px; bottom: -23px; padding: 18px 20px 20px 20px; height:135px; }
		.interview_slider2 .profile:before { font-size: 24px; padding-bottom: 10px; min-width: 62px; border-bottom: 1px solid #fff; }
		.interview_slider2 .profile:after { border-right: 64px solid #6cd8af; border-top: 135px solid transparent; position: absolute; bottom: 0; left: -64px; }
		.interview_slider2 .position { font-size: 9px; margin-top: 10px; }
		.interview_slider2 .name { font-size: 15px; }
		.interview_slider2 .more { font-size: 11px; }
		.interview_slider2 .more:after { width: 17px; height: 10px; margin-left: 6px; }
		
		.interview_slider2_navi { width:84%; left: 0; bottom: 0; margin-bottom: 62%; display:none!important; }
		
		.recruit_col2 { padding-right:0; position:relative; min-height:auto; padding-top:120%; }
		.recruit_col2.interview .image { width:100%; padding: 29px 20px 20px 0; }
		.recruit_col2 .image::after { border:30px solid; border-color: #45a77d transparent transparent transparent; margin-right: -5%; }
		.recruit_col2.interview .textBox { position:relative; width:85%; left:5%; background:none; margin-top:10%; }
		.recruit_col2 .text { margin-top:15px; }
		.recruit_col2 .btn_round { max-width:100%; width:100%; position:relative; top:30px; }
		
		.cross_talk .slick-dots { width:100%; right:auto; bottom:45%; top:55%; left:5%; }
		/**/.cross_talk .slick-prev, .cross_talk .slick-next { z-index: 2; background:#fff; width:40px; height:40px; position:absolute; top:55%; top:70%; }
		.cross_talk .slick-prev { left:5%; }
		.cross_talk .slick-next { right:12%; }
		.cross_talk .slick-prev:hover, .cross_talk .slick-next:hover,
		.cross_talk .slick-prev:focus, .cross_talk .slick-next:focus { background:#fff; }
		
		.cross_talk .slick-prev::before, .cross_talk .slick-next::before  { color: #666; font-family:sans-serif; font-size:12px; }
		.cross_talk .slick-prev::before { content:"<"; }
		.cross_talk .slick-next::before { content:">"; }
		
	}
	
	@media only screen and (max-width: 450px) {	
		.recruit_col2 { padding-top:145%;/* */ }
		.cross_talk { padding-bottom:5%; }
		.cross_talk .slick-prev, .cross_talk .slick-next { top:60%; }
	}



/* about / culture
----------------------------------------------------------*/

.about .inner_bg { max-width:1400px; background:url(../img/recruit/fresh/img_about.png) no-repeat top left / 50% auto; margin:10% auto 5%; padding-bottom:15%; }
#main .about .inner { padding-left:45%; }
#main .about .inner p { font-weight:300; line-height: 2.0; }

.culture .inner_bg { max-width:1400px; background:url(../img/recruit/fresh/img_culture.png) no-repeat top right / 50% auto; margin:5% auto; padding-bottom:10%; }
#main .culture .inner { padding-right:45%; }
#main .culture .inner p { font-weight:300; line-height: 2.0; }

	@media only screen and (max-width:1024px) {
		.about .inner_bg { background:url(../img/recruit/fresh/img_about.png) no-repeat top left / 45% auto; }
		.culture .inner_bg { background:url(../img/recruit/fresh/img_culture.png) no-repeat top right / 45% auto; }
		
	}
	
	@media only screen and (max-width:767px) {
		.about { padding-top:6.5%; }
		.about .inner_bg,
		.culture .inner_bg { background:none; margin:0; padding-bottom:0; padding-top:5%; }
		.about .inner_bg { position:relative; margin-bottom:5%; padding-top:10%; }
		.about .inner_bg:after { content:""; position:absolute; z-index:-1; bottom:0; left:0; width:100%; height:50%; background:#f8f8f8; }
		#main .about .inner { padding-left:20px; }
		#main .culture .inner { padding-right:20px; padding-bottom:0; }
		.about h3, 
		.culture h3 { text-align:center; }
    }


/* guide_line
----------------------------------------------------------*/

.guide_line { background: url(../img/recruit/common/bg_guide.jpg) no-repeat bottom center / cover; height:380px; display:flex; align-items:center; } 
.guide_line .inner { width:100%; } 

	@media only screen and (max-width:767px) {
		.guide_line { background: url(../img/recruit/common/bg_guide_sp.jpg) no-repeat top left / cover; height:auto; } 
		#main .guide_line .inner { padding-bottom:30px; }
	}



/* willraise blog
----------------------------------------------------------*/

.blog_slider { background: #f7f6f8; margin:0; padding: 50px 0; }
.blog_slider h2 img { max-width:334px; }
.blog_slider a { color:#231f20; }

.blogSlider_box { max-width:1000px; padding: 0 30px; }
.carousel_wrap { overflow:hidden; height:500px; margin-top:5%; }
.carousel-cell { width:980px; height:445px; margin:30px 80px 0 0; }
.carousel-item { padding:50% 0; text-indent:-9999px; background-repeat:no-repeat; background-position:top center; background-size:100% auto; }
.blog_slider .cell_inner { max-width:980px; height:445px; border-radius:10px; margin:0 auto; background-size:cover!important; background-position:top center!important; background-repeat:no-repeat!important; position:relative; display:flex; justify-content:space-between; }

.blog_slider .img_box { width:60%; height:93%; background-position:center center; background-size: cover; background-repeat:no-repeat; border-radius:0 9px 9px 0; }
.blog_slider .bg_white { background:#fff; height:93%; width:40%; border-radius:9px 0 0 9px; }
.blog_slider .textBox { position:absolute; width:40%; bottom:calc(50% - 50px); padding:0 50px; }
.blog_slider .textBox span { font-size:12px; }
.blog_slider .textBox .artileTitle { font-size:16px; font-weight:bold; line-height:1.5; margin:30px 0 50px; word-wrap:break-word; }
.blog_slider .textBox .tag { border-radius:20px; background:#666; color:#fff; font-size:12px; display:inline-block; padding:5px 10px; line-height:1; }

.blog_slider .flickity-page-dots { bottom:0; }

	@media only screen and (max-width:1024px) {
		.carousel-cell { width:85%; height:auto; margin:30px 80px 30px 0; }
	
	}

	@media only screen and (max-width:767px) {
		.carousel_wrap { height:auto; }
		.carousel-cell { width:90%; height:auto; margin:30px 80px 30px 0; }
		.cell_inner { height:auto; background-position:center center; display:block; padding: 50% 0 50%; height:100%;  }
		.blog_slider .img_box { width:100%; padding:50% 0 0; position: absolute; top: 0; height:50%; background-size:cover; background-position:top center; border-radius:9px 9px 0 0; }
		.blog_slider .bg_white { width:100%; background:#fff; height:50%; width:100%; display:block;  position:absolute; top:50%; border-radius:0 0 9px 9px; }
		.blog_slider .textBox { width:100%; bottom:0px; height:50%; padding:20px 25px; background:#fff; height:100%; width:100%; bottom:auto; padding:20px 25px; background:#fff; top:0; border-radius:0 0 9px 9px; }
		.blog_slider .textBox span { font-size:10px; }
		.blog_slider .textBox .artileTitle { font-size:14px; margin:15px 0 10px; }
		.blog_slider h2 img { max-width:50%; }
		.blog_slider .flickity-prev-next-button.previous { left:0px; margin-left:0; }
    	.blog_slider .flickity-prev-next-button.next { right:0px; margin-right:0; }
		
	}


/* news
----------------------------------------------------------*/

.newsBox { display:flex; justify-content:space-between; flex-wrap:wrap; position:relative; }
.newsBox .newsBox_title { width:27.34%; }
.newsBox_list { width:72.66%; }
.newsBox_list.w_100 { width:100%; }
.newsBox_list ul { border-top:1px solid #eee; }
.newsBox_list li a { display:flex; justify-content:space-between;  padding:20px 0; border-bottom:1px solid #eee; position:relative; color:#231f20; transition:0.3s; }
.newsBox_list li span { width:15%; font-weight:300; }
.newsBox_list li .text_wrap { width:90%; }
.newsBox_list li .text_wrap .title_box { display:inline-block; position:relative; padding-right:15%; transition:0.3s; margin-bottom:15px; font-size:16px; font-weight:300; }
.newsBox_list li .text_wrap .text_box { line-height:1.75; font-weight:300; }
.newsBox_list li .text_wrap .title_box:after { color:#45a77d; content:""; position:absolute; top:48%; right:0; width:25%; height:1px; background:#45a77d; transform:scale(0, 0); transition:transform .3s; }
/*.newsBox_list li a:hover .text_wrap .title_box:after { transform:scale(1, 1); color:#45a77d; }*/
.newsBox_list li:hover .text_wrap .title_box { color:#45a77d; }


/* detail page */
.article_detailBox { max-width:800px; margin:0 auto; min-height:500px; }
.article_detailBox .titleWrap { display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; padding-bottom:30px; border-bottom:1px solid #eee; }
.article_detailBox .titleWrap h3 { font-size:24px; }
.article_detailBox .article_item_box { margin-bottom:45px; line-height:1.75; }
.article_detailBox b { font-size:2rem; }
.article_detailBox .box_gray { padding:5%; background:#f8f8f8; }
.article_item_box a { text-decoration: underline; }


	@media only screen and (max-width:767px) {
		.newsBox .rightText { position:absolute; top:18%; right:20px; }
		.newsBox_title,
		.newsBox_list { width:100%; }
		.newsBox_list { margin-top:20px; }
		.newsBox_list li a { flex-wrap:wrap; }
		.newsBox_list .rightText { /*margin-top:-10%;*/ }
		.newsBox_list li span,
		.newsBox_list li .text_wrap { width:100%; }
		.newsBox_list li .text_wrap { margin-top:10px; }
		.newsBox_list li .text_wrap .title_box { padding-right:0; }
		.newsBox_list li .text_wrap .title_box:after { display:none; }
		
		.article_detailBox { min-height:auto; }
		.article_detailBox .titleWrap { flex-wrap:wrap; margin-bottom:20px; padding-bottom:20px; }
		.article_detailBox .titleWrap h3 { font-size:20px; order:2; width:100%; margin-top:5px;}
    }


/*
 entry
----------------------------------------------------------*/

.entry { color:#fff; position:relative;
background: #5dac8a;
background: -moz-linear-gradient(left, #5dac8a 0%, #dddd73 100%);
background: -webkit-linear-gradient(left, #5dac8a 0%,#dddd73 100%);
background: linear-gradient(to right, #5dac8a 0%,#dddd73 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5dac8a', endColorstr='#dddd73',GradientType=1 ); }

.entry::after { content:""; position:absolute; z-index:1; top:0; left:0; width:100%; height:100%; background: url(../img/recruit/common/bg_town.png) no-repeat bottom right / 100% auto; }
#main .entry .inner { position:relative; z-index:2; padding:6.5% 20px 6.5%; }

.entry_title { font-size:60px; }
.entry_title_sdgs { font-size:30px; text-align: center; }
.entry_text { font-size:16px; margin:20px 0 10px; }
.entry .btn_round { letter-spacing:0.1em; font-size:22px; line-height:1; }

	@media only screen and (max-width:767px) {
    	.entry_title { font-size:8vw; }
		.entry_title_sdgs { font-size:8vw; text-align: center; }
    	.entry_text { font-size:14px; margin:10px 0; }
    	.entry .btn_round { font-size:5vw; margin:5% 0; }
    }




/*
 sdgs
----------------------------------------------------------*/

.sdgs { color:#fff; position:relative;
background: #008965;
}


#main .sdgs .inner { position:relative; z-index:2; padding:6.5% 20px 6.5%; }

.sdgs_title { font-size:10px; }
.sdgs_text { font-size:10px; margin:20px 0 10px; }
.sdgs .btn_round { letter-spacing:0.1em; font-size:22px; line-height:1; }

	@media only screen and (max-width:767px) {
    	.sdgs_title { font-size:8vw; }
    	.sdgs_text { font-size:14px; margin:10px 0; }
    	.sdgs .btn_round { font-size:5vw; margin:5% 0; }
    }


/*
 sdgs
----------------------------------------------------------*/

.sdgs_blue { color:#fff; position:relative;
background: #0092bb;
}


#main .sdgs_blue .inner { position:relative; z-index:2; padding:6.5% 20px 6.5%; }

.sdgs_blue_title { font-size:10px; }
.sdgs_blue_text { font-size:10px; margin:20px 0 10px; }
.sdgs_blue .btn_round { letter-spacing:0.1em; font-size:22px; line-height:1; }

	@media only screen and (max-width:767px) {
    	.sdgs_blue_title { font-size:8vw; }
    	.sdgs_blue_text { font-size:14px; margin:10px 0; }
    	.sdgs_blue .btn_round { font-size:5vw; margin:5% 0; }
    }


/*----------------------------------------------------------
 INDEX
----------------------------------------------------------*/
	
	@media only screen and (min-width: 768px) {
		
	}

	@media only screen and (max-width:1240px) {
		
	}
	
	@media only screen and (max-width:1024px) {
		
	}
	
    @media only screen and (max-width:767px) {
    	
    }


/*----------------------------------------------------------
 FOOTER
----------------------------------------------------------*/

#footer { padding:80px 0; background:#f8f8f8; }
#footer a { font-size:12px; }
#footer .inner:nth-child(1) { display:flex; align-items:top; justify-content:space-between; flex-wrap:wrap; margin-bottom:20px; width:100%; }
#footer .inner:nth-child(1) .col:nth-child(1) { max-width:100px; width:9.76%; }
#footer .inner:nth-child(1) .col:nth-child(2) { max-width:684px; width:66.79%; }
#footer .inner:nth-child(1) .col:nth-child(3) { max-width:240px; width:23.43%; }
#footer .logo { margin:0 auto 20px; position:relative;  }
#footer .logo a:first-child {  width:100px; height:100px; text-indent:-9999px; margin:0; display:block; background:url(../img/common/img_logo.svg) no-repeat top center / 100px auto; }
#footer .logo a:last-child { font-size:16px; color:#231f20; margin-top:8px; display:block; width:6.5em; } 

#footer .gNav ul:not(.nest) { display:flex; align-items:top; justify-content:space-between; flex-wrap:wrap; width:75%; margin:0 auto; }
#footer .gNav ul li { width:24%; margin-bottom:15px; }
#footer .gNav ul li:first-child { width:28%; }

#footer .gNav ul::before{ content:""; display:block; width:24%; order:1; }
#footer .gNav ul::after{ content:""; display:block; width:24%; } 

#footer .gNav ul.nest { margin-top:5px; }
#footer .gNav ul.nest li { width:100%; margin-bottom:3px; }
#footer .gNav ul.nest li a { color:#999; position:relative; padding-left:1em; }
#footer .gNav ul.nest li a::before { content:">"; color:#999; position:absolute; top:0; left:0; }

#footer .innerBox { text-align:right; }

#footer a.entry_btn { max-width:240px; padding:12px 0; display:block; margin:0; transition:0.3s; border-radius:5px; text-align:center; font-size:22px; color:#fff; line-height:1; letter-spacing:0.1em;
background: #5dac8a;
background: -moz-linear-gradient(left, #5dac8a 0%, #dddd73 100%);
background: -webkit-linear-gradient(left, #5dac8a 0%,#dddd73 100%);
background: linear-gradient(to right, #5dac8a 0%,#dddd73 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5dac8a', endColorstr='#dddd73',GradientType=1 ); }

#footer a.entry_btn:hover { background-image:linear-gradient(90deg,#5dac8a 0,#dddd73 32%,#5dac8a 67%,#dddd73 100%);
background-size:400% 400%; animation:colors 20s ease infinite; }

	@keyframes colors {
		0%,100% { background-position: 0 50%; }
		50% { background-position: 100% 50%; }
	}


#footer .copyright { text-align:right; font-size:11px; margin-top:10px; opacity:0.5; letter-spacing:0.1em; }

	@media only screen and (max-width:1024px) {
		#footer .gNav ul:not(.nest) { width:95%; margin:0 auto; }
		#footer .inner:nth-child(1) .col:nth-child(1) { max-width:100px; width:15.76%; }
		#footer .inner:nth-child(1) .col:nth-child(2) { max-width:684px; width:60.79%; }
		#footer .inner:nth-child(1) .col:nth-child(3) { max-width:240px; width:23.43%; }
		
	}

	@media only screen and (max-width:767px) {
		#footer { padding:40px 0 15px; }
		#footer .logo a:first-child { width:13.3%; height:auto; padding:10% 0 2%; background:url(../img/common/img_logo.svg) no-repeat center center / 100% auto; }
		#footer .logo a:last-child { font-size:2vw; margin-top:4px; } 
    	#footer .inner:nth-child(1) { margin-bottom:0px; }
    	#footer .inner:nth-child(1) .col:nth-child(1) { max-width:100%; width:100%; }
    	#footer .inner:nth-child(1) .col:nth-child(2) { display:none; }
    	#footer .inner:nth-child(1) .col:nth-child(3) { position:absolute; top:0; right:5%; width:37.3%; }
    	#footer a.entry_btn { font-size:4vw; }
    	#footer ul { border-top:1px solid #dcdcdc; }
    	#footer ul li { border-bottom:1px solid #dcdcdc; padding:10px 0; }
    	#footer .innerBox { text-align:left; }
    	#footer .innerBox a { border-bottom:1px solid #dcdcdc; display:block; padding:10px 0; }
    	#footer .copyright { text-align:center; margin-top:8%; }
    }



/*----------------------------------------------------------
 pagetop
----------------------------------------------------------*/

.pageTop { position:fixed; z-index:1000; bottom:10%; right:2.5%; cursor:pointer; width:50px; height:50px; display:flex; text-align:center; align-items:center; justify-content:center; background:#45a77d url(../img/common/ico_arrow_white.svg) no-repeat center center / 8px auto; transform:rotate(-90deg); border-radius:50%; opacity:0.8; }
.pageTop span { text-indent:-9999px; }

#topBtn { position:fixed; right:30px; z-index:2; display:block; background:#45a77d url(../img/common/ico_arrow_white.svg) no-repeat center center / 8px auto;  cursor:pointer; width:50px; height:50px; transform:rotate(-90deg); border-radius:50%; opacity:0.8; text-indent: -9999px; }


	@media only screen and (max-width:767px) {
		.pageTop, #topBtn { width:35px; height:35px; }
		#topBtn { background:#45a77d url(../img/common/ico_arrow_white.svg) no-repeat center center / 5px auto; }
		#topBtn { right:15px; }
	}

/*----------------------------------------------------------
 library
----------------------------------------------------------*/

@media only screen and (min-width: 768px) {
	.onlySp { display: none!important; }
}
@media only screen and (max-width: 767px) {
	.onlyPc { display: none!important; }
}

.relative {	position:relative; }

.centerText { text-align:center; }
.rightText { text-align:right; }
.leftText { text-align:left; }

.border_box { border:1px solid #eee; }
.border_t { border-top:1px solid #e6e2e7; }
.border_r { border-right:1px solid #eee; }
.border_b { border-bottom:1px solid #e6e2e7; }
.border_l { border-left:1px solid #eee; }
.border_t_b { border-top:1px solid #eee; border-bottom:1px solid #eee; }

.bg_gray { background:#f7f6f8; }
.bg_white { background:#fff; }
.border_side { border-right:1px solid #e6e2e7; border-left:1px solid #e6e2e7; }

.red { color:#f82a2a; }

.f_right { float:right; }
.f_left { float:left; }

.white { color:#fff; }
.gray { color:#515151; }

.xs { font-size:10px; }
.small { font-size:12px; }
.large { font-size:16px; }
.ex_large { font-size:18px; }

.btnIcon { position:relative; }
.btnIcon::after { content:""; position:absolute; bottom:10%; left:50%; margin-left:-10px; background:#4c4c4c url(../img/common/ico_arrow_white.svg) no-repeat center center / 10px 10px; width:35px; height:35px; transition:0.3s; }

.c-underLineLink { text-decoration:underline; }
.c-underLineLink:hover { text-decoration: none; }

.pdf { position:relative; padding-right:23px; padding-bottom:2px; background:url(../img/common/ico_pdf.svg) no-repeat center right; }

.block { display:block; }

.w100 { margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); text-align:center; }

.row { display:flex; justify-content:center; }
.row_box { display:table; width:100%; }
.row_box > .col {display:table-cell; vertical-align:middle; }

.clearfix:after { content:"."; display:block; clear:both; height:0; visibility:hidden; }
.clearfix { min-height:1px; }
* html .clearfix { height:1px; /*¥*//*/ height:auto; overflow:hidden;/**/ }

.m_auto { margin:0 auto; }

.mt_0 { margin-top:0!important; }
.mt_5 { margin-top:5px!important; }
.mt_10 { margin-top:10px!important; }
.mt_20 { margin-top:20px!important; }
.mt_30 { margin-top:30px!important; }
.mt_40 { margin-top:40px!important; }
.mt_50 { margin-top:50px!important; }
.mt_60 { margin-top:60px!important; }
.mt_70 { margin-top:70px!important; }
.mt_80 { margin-top:80px!important; }
.mt_90 { margin-top:90px!important; }
.mt_100 { margin-top:100px!important; }

.mb_0 { margin-bottom:0!important; }
.mb_5 { margin-bottom:5px!important; }
.mb_10 { margin-bottom:10px!important; }
.mb_20 { margin-bottom:20px!important; }
.mb_30 { margin-bottom:30px!important; }
.mb_40 { margin-bottom:40px!important; }
.mb_50 { margin-bottom:50px!important; }
.mb_60 { margin-bottom:60px!important; }
.mb_70 { margin-bottom:70px!important; }
.mb_80 { margin-bottom:80px!important; }
.mb_90 { margin-bottom:90px!important; }
.mb_100 { margin-bottom:100px!important; }

.pt_0 { padding-top:0!important; }
.pt_5 { padding-top:5px!important; }
.pt_10 { padding-top:10px!important; }
.pt_20 { padding-top:20px!important; }
.pt_30 { padding-top:30px!important; }
.pt_40 { padding-top:40px!important; }
.pt_50 { padding-top:50px!important; }

.pb_0 { padding-bottom:0!important; }


	@media only screen and (max-width:767px) {
		body { line-height:1.5; }
		.btn { max-width:430px; }
		.btn_square { max-width:100%; }
		.btn_squareL { width: 100%; font-size: 14px !important; height: 50px; }
		.btn_squareL.fsizeL { font-size: 18px !important; }
		.btn_squareS { width: 100%; font-size: 14px !important; height: 40px; }

		.mt_50 { margin-top:25px!important; }
		.mt_60 { margin-top:30px!important; }
		.mt_70 { margin-top:35px!important; }
		.mt_80 { margin-top:40px!important; }
		.mt_90 { margin-top:45px!important; }
		.mt_100 { margin-top:50px!important; }

		.mb_50 { margin-bottom:25px!important; }
		.mb_60 { margin-bottom:30px!important; }
		.mb_70 { margin-bottom:35px!important; }
		.mb_80 { margin-bottom:40px!important; }
		.mb_90 { margin-bottom:45px!important; }
		.mb_100 { margin-bottom:50px!important; }
	}


/*----------------------------------------------------------
 jobs
----------------------------------------------------------*/

.fresh_jobs #mainVisual { position:relative; margin-top:80px; background:url(../img/recruit/fresh/jobs/bg_job.jpg) no-repeat top center / cover; }
.fresh_jobs #mainVisual h2 { position:relative; top:0; right:0; z-index:2; }
.fresh_jobs .mainVisual_title_wrap { padding:110px 0 0; min-height:420px; }

.joblistBox { margin-bottom:8%; }
.joblistBox li { background:#45a77d; color:#fff; margin-bottom:10px; padding:50px 50% 50px 50px; position:relative; min-height:320px; }
.joblistBox li::after { content:""; position:absolute; top:50px; right:50px; width:40%; padding:23% 0 0; }
.joblistBox li:nth-child(1)::after { background:url(../img/recruit/fresh/jobs/img_list01.jpg) no-repeat top center; }
.joblistBox li:nth-child(2)::after { background:url(../img/recruit/fresh/jobs/img_list02.jpg) no-repeat top center; }
.joblistBox li em { font-size:24px; position:relative; padding-bottom:25px; display:block; }
.joblistBox li em::after { content:""; position:absolute; bottom:10px; left:-50px; width:calc(100% + 50px); height:2px; background:#fff; display:block; }
.joblistBox li p { margin-top:15px; line-height:1.8; width:100%; font-weight: 300; }


	@media only screen and (max-width:1024px) {
		.fresh_jobs #mainVisual { margin-top:60px; }
	}

	@media only screen and (max-width:767px) {
		.fresh_jobs .mainVisual_title_wrap { padding:50px 0 0; min-height:200px; }
		.joblistBox li { padding:60% 25px 25px 25px; min-height:auto; }
		.joblistBox li::after { content:""; position:absolute; top:25px; right:auto; left:25px; width:calc(100% - 50px); padding:50% 0 0; }
		.joblistBox li:nth-child(1)::after { background:url(../img/recruit/fresh/jobs/img_list01.jpg) no-repeat top center / 100% auto; }
		.joblistBox li:nth-child(2)::after { background:url(../img/recruit/fresh/jobs/img_list02.jpg) no-repeat top center / 100% auto; }
		.joblistBox li em { font-size:18px; }
		.joblistBox li p { font-size:12px; }
	}


.joblistBox1 { margin-bottom:8%; }
.joblistBox1 li { background:#45a77d; color:#fff; margin-bottom:10px; padding:50px 50% 50px 50px; position:relative; min-height:320px; }
.joblistBox1 li::after { content:""; position:absolute; top:50px; right:50px; width:40%; padding:23% 0 0; }
.joblistBox1 li:nth-child(1)::after { background:url(../img/recruit/fresh/jobs/img_list01.jpg) no-repeat top center; }
.joblistBox1 li:nth-child(2)::after { background:url(../img/recruit/fresh/jobs/img_list02.jpg) no-repeat top center; }
.joblistBox1 li em { font-size:24px; position:relative; padding-bottom:25px; display:block; }
.joblistBox1 li em::after { content:""; position:absolute; bottom:10px; left:-50px; width:calc(100% + 50px); height:2px; background:#fff; display:block; }
.joblistBox1 li p { margin-top:15px; line-height:1.8; width:100%; font-weight: 300; }


	@media only screen and (max-width:1024px) {
		.fresh_jobs #mainVisual { margin-top:60px; }
	}

	@media only screen and (max-width:767px) {
		.fresh_jobs1 .mainVisual_title_wrap { padding:50px 0 0; min-height:200px; }
		.joblistBox1 li { padding:60% 25px 25px 25px; min-height:auto; }
		.joblistBox1 li::after { content:""; position:absolute; top:25px; right:auto; left:25px; width:calc(100% - 50px); padding:50% 0 0; }
		.joblistBox1 li:nth-child(1)::after { background:url(../img/recruit/fresh/jobs/img_list01.jpg) no-repeat top center / 100% auto; }
		.joblistBo1 li:nth-child(2)::after { background:url(../img/recruit/fresh/jobs/img_list02.jpg) no-repeat top center / 100% auto; }
		.joblistBox1 li em { font-size:18px; }
		.joblistBox1 li p { font-size:12px; }
	}


/*----------------------------------------------------------
 corporte
----------------------------------------------------------*/

.corporateBox { position:relative; max-width:885px; margin:0 auto 50px; }
.corporateBox_message { margin-top:-20%; margin-bottom:40px; }
.corporateBox .bg { background:url(../img/company/img_message.jpg) no-repeat top right / auto 100%; padding:20% 0; width:60%; }
.corporate_message_text { background:linear-gradient(transparent 0%, #45a77e 0%); line-height:3; padding:6px 0 9px; display:inline; font-size:20px; color:#fff; position:relative; z-index:1; top:290px; left:50%; } 
.corporate_message_text span { padding:0 10px; }
.corporateBox em { font-size:20px; }
.corporateBox p { line-height:2.2; }
.corporateBox .rightText img { max-width:97px; }

.bnrBlock { margin:30px 0; }
.bnrBlock a { width:100%; padding:5%; display:block; position:relative; }
.bnrBlock a::before { content:""; position:absolute; top:0; left:0; width:100%; height:100%; display:block; background:rgba(96,173,139,0.5); transition:0.3s; }
.bnrBlock a:hover::before { background:rgba(96,173,139,0); }
	.bnrBlock.company_profile_bg a { background: url(../img/company/bg_index.jpg) no-repeat top center / cover; }
.bnrBlock p { font-size:45px; letter-spacing:0.03em; position:relative; line-height:1.3; margin-bottom:3%; }
.bnrBlock span { font-size:16px; display:block; }
.bnrBlock .btn_round { margin:0 auto; }
.bnrBlock .btn_round:hover { opacity:1; }
.bnrBlock a:hover .btn_round { opacity:0.8; }


	@media only screen and (max-width:1024px) {
		.corporate_message_text { left:45%; }
		
	}

	@media only screen and (max-width:767px) {	
		.corporateBox_message { margin-top:0; margin-bottom:20px; /*margin-top:-20%;*/ } 
		.corporateBox .bg { display:none; }
		.corporate_message_text { top:0; left:0; font-size:3.6vw; }
		.corporateBox em { font-size:16px; line-height:1.5; }
		.corporateBox p { /*line-height:1.5;*/ }
		
		.bnrBlock { margin:0; }
		.bnrBlock p { font-size:7vw; }
		.bnrBlock span { font-size:2.75vw; }
	}

/*----------------------------------------------------------
 form ( career )
----------------------------------------------------------*/

.step_box ul li { color:#bdbaba; }
.step_box ul li.active {  border:1px solid #45a77d; background:#45a77d; }
.step_box ul li.active:after { background:#45a77d; }
.step_box ul li:nth-child(2).active::before, .step_box ul li:nth-child(3).active::before { background: #45a77d; }


.checkbox01-input:checked + .checkbox01-parts::after{ border-bottom:3px solid #45a77d; border-right:3px solid #45a77d; }
.radio input[type="radio"]:checked + label:after { background:#45a77d; }

.textbox01 label { width:120px; }

.inline { display:flex; justify-content:flex-start; }
.inline .select01 { display:flex; align-items:center; justify-content:center; width:130px; }
.inline .select01::after, .inline .select02::after { right:45px; }
.inline .select01 span, .inline .select02 span { margin:0 10px; }
.inline .select01 select, .inline .select02 select { height:40px; }

.inline .select02 { display:flex; align-items:center; justify-content:left; width:130px; position:relative; }
.inline .select02::after { content: ""; position:absolute; z-index:10; top:0; left: auto; bottom:0; right:10px; margin:auto; width:0; height:0; border-style:solid; border-width:5px 5px 0 5px; border-color:#333 transparent transparent transparent; pointer-events:none; box-sizing:border-box;}
.inline .select02::after { right:45px; }
.inline .select02.no_icon { width:1em; }
.inline .select02.no_icon::after { display:none; }

.lightbox { display:none; }
.privacyBox em { display:block; font-size:24px; font-weight:bold; color:#45a77d; text-align:center; margin:20px auto 30px; }
.privacy_lead { margin:0 0 30px; }
.privacyBox dt { font-weight:bold; margin:0 0 10px; }
.privacyBox dd { margin:0 0 30px; }
.privacyBox ol { margin:10px 0; }
.privacyBox ol li { text-indent: -1.6em; margin-left: 1.6em; }

.input_wrap span.bar { line-height:40px; }


	@media only screen and (max-width: 767px) {
	
		.career_form .article_detailBox p.centerText { text-align:left; }
		.textbox01 { display: block; }
		.textbox01 label { margin-bottom:10px;  display: block;}
		.item input.text01 { max-width:100%; }
		.inline { flex-wrap:wrap; }
		.inline .select01 { margin-bottom:10px; }
		.input_wrap { justify-content:flex-start; }
	    .privacyBox em { font-size:20px; }

	}

/* ------------------------------
 PRINT
------------------------------ */

	@media print {
	
		/*#mainVisual, #mainVisual_no_image,*/ #breadcrumbs, #header,#footer,.pageTop,#topBtn, #main .lowerMenu, #main .entry, .onlySp { display:none!important; }
		
	}

/*----------------------------------------------------------
 other
----------------------------------------------------------*/

/* read more btn */
.js-readMoreRecruit { display: none; }
.is-show { display: block; }