/*
Theme Name: profuture
Theme URI: http://solidseed.co.jp/
Author: ソリッドシード株式会社
Author URI: http://solidseed.co.jp/
Description: profutureオリジナルテーマ
Version: 1.0.0
*/

@charset "utf-8";

body{
    width:100%;
    height:100%;
	background: #fff;
	color: #333;
	line-height: 1.4;
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	word-wrap:break-word;
	font-size: 14px;
	letter-spacing: 0.05em;
	counter-reset: number 0; 
}

body,header,footer,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,hr,a{
	margin: 0;
	padding:0;
	box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6,th{font-weight: normal;}
ul,ol{list-style: none;}

input[name="birth_error"]{
    display: none;
}

/* =====================
#common
===================== */

div.wpcf7-validation-errors {
    border: 0px;
    color: #f00;
    font-size: 1em;
    font-weight: normal;
    display: block;
}
div.wpcf7-response-output {
    margin: 10px 0px 10px 0px;
    padding: 0px 0px 0px 0px;
    color: #f00;
}

.copy{
	margin: 48px auto 24px;
	font-family: 'Abel', sans-serif;
	text-align: center;
}

/* width */
.contentInr{
	width: 80%;
	min-width: 1000px;
	margin: 0 auto;
}

.inr768{
	width: 768px;
	margin: 0 auto;
}

#content{
	padding-top: 64px;
	padding-bottom: 120px;
}

.home #content{
	padding-top: 0;
}

/* float */
.alignleft {
	display: inline;
	float: left;
}

.alignright {
	display: inline;
	float: right;
}

.clear{
	clear: both;
}

/* fadeup */
.fade-up,
.fade-up-half {
	transition: opacity 3s;
	-moz-transition: opacity 3s;
	-webkit-transition: opacity 3s;
	-o-transition: opacity 3s;
	transition: transform 3s;
	-moz-transition: transform 3s;
	-webkit-transition: transform 3s;
	-o-transition: transform 3s;
}

.fade-side div {
	-webkit-transition: all 1s;
	-webkit-transform: translate(0, 0);
	opacity: 1;
}

.fade-side.fade-left div.move {
	-webkit-transform: translate(-20px, 0);
	opacity: 0;
}

.fade-side.fade-right div.move {
	-webkit-transform: translate(20px, 0);
	opacity: 0;
}

.fade-side.fade-left div.move img{
	-webkit-transform: translate(-120px, 0);
	opacity: 0;
}

.fade-side.fade-right div.move img{
	-webkit-transform: translate(-120px, 0);
	opacity: 0;
}

.serviceBoxWrap .fade-up-half:first-child{
	transition: opacity 0s;
	-moz-transition: opacity 0s;
	-webkit-transition: opacity 0s;
	-o-transition: opacity 0s;
	transition: transform 0s;
	-moz-transition: transform 0s;
	-webkit-transition: transform 0s;
	-o-transition: transform 0s;
}

.serviceBoxWrap .fade-up-half:nth-child(2){
	transition: opacity 2s;
	-moz-transition: opacity 2s;
	-webkit-transition: opacity 2s;
	-o-transition: opacity 2s;
	transition: transform 2s;
	-moz-transition: transform 2s;
	-webkit-transition: transform 2s;
	-o-transition: transform 2s;
}

.serviceBoxWrap .fade-up-half:nth-child(3){
	transition: opacity 4s;
	-moz-transition: opacity 4s;
	-webkit-transition: opacity 4s;
	-o-transition: opacity 4s;
	transition: transform 4s;
	-moz-transition: transform 4s;
	-webkit-transition: transform 4s;
	-o-transition: transform 4s;
}

/* font */
.gf01{font-family: 'Abel', sans-serif;}
.fs0{font-size: 0;}
.fs0 li{
	display: inline-block;
	font-size: 14px;
}

/* margin */
.mb2{margin-bottom: 2em;}
.mb4{margin-bottom: 4em;}
.mb8{margin-bottom: 8em;}

/* color */
.bgGray{
    background: #f0f0f0;
    padding-top: 8px;
    padding-bottom: 8em;
}

/* link */
.hpl{
    padding-top: 80px;
    margin-top: -80px !important;
}

a{color: #333;text-decoration: none;}
a:hover{opacity: 0.6;transition: 0.4s;}

/* btn */
.btn,
#entry .btn{
	text-align: center;
}

.btn a,
#entry .btn input{
	background: #008b9c;
	padding: 1em 10em;
	color: #fff;
	font-size: 0.9em;
    margin: 4em auto 0;
    display: inline-block;
	position: relative;
	border: 0;
}

.btn a:after,
#entry .btn input:after{
	position: absolute;
    top: 0;
    bottom: 0;
    right: 8px;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* =====================
cp --- header
===================== */
#spHeader{display: none;}

#header {
	height: 64px;
	width: 100%;
	background: rgba(255,255,255,.9);
	padding: 12px 0;
	position: fixed;
	border-bottom: 1px solid #f0f0f0;
}

.home .cb-header {
	position: fixed;
	top: 0;
	left: 0;
	display: none;
}

.cb-header{
	z-index: 99999;
}

#header h1 a{
	display: block;
	width: 59px;
	height: 40px;
	background: url(/images/logo.png)no-repeat;
	background-size: 59px 40px;
	text-indent: -9999px;
}

#header nav ul{
	font-size: 0;
}

#header nav li{
	display: inline-block;
	font-size: 14px;
}

#header nav li a{
	line-height: 40px;
	margin-left: 48px;
	font-size: 13px;
	font-family: 'Abel', sans-serif;
}

#header nav li.current-menu-item a{
	color: #008b9c;
}

/* =====================
cp --- footer
===================== */
#footer{
	text-align: center;
}

#footer ul{
	font-size: 0;
}

#footer li{
	display: inline-block;
	font-size: 14px;
}

#footer li a{
	font-size: 12px;
}

#footer li:after{
	content: "";
	display: inline-block;
	width: 1px;
	height: 1em;
	background: #333;
	margin: 0 24px -2px;
}

#footer li:last-child:after{
	content: none;
}

/* =====================
cp --- page
===================== */
.entry-header{
	padding: 120px 16px;
	text-align: center;
}

.entry-header h1{
	color: #008b9c;
    font-size: 1.8em;
    font-family: 'Abel', sans-serif;
    letter-spacing: 2px;
    font-weight: normal;
}

.entry-content h2{
	font-size: 1.5em;
    margin-top: 4em;
    margin-bottom: 1em;
	border-bottom: 1px solid #008b9c;
	padding-bottom: 0.5em;
}

.entry-content dt{
	margin-top: 3em;
    margin-bottom: 0.5em;
	border-left: #008b9c solid 0.5em;
    padding-left: 0.5em;
}

.entry-content ol,
.entry-content ul{
	padding-left: 1em;
}

.entry-content ol li,
.entry-content ul.alpha li{
	text-indent: -1.25em;
	padding-left: 1.25em;
	margin-bottom: 0.5em;
	list-style-position: inside;
}

.entry-content ul.alpha li{list-style-type: lower-alpha;}
.entry-content ol li{list-style-type: decimal;}

.entry-content ol li ul li{
	list-style-type: none;
	margin-bottom: 0.5em;
}

.entry-content table{
	width: 100%;
	border-collapse: collapse;
}

.entry-content th{
	background: #f0f0f0;
    padding: 0.5em;
}

.entry-content td{
	padding: 0.5em;
	border-bottom: 1px solid #f0f0f0;
}

/* page : footBnr
---------------------- */
#footBnr{
	margin-top: 120px;
	line-height: 0;
	letter-spacing: 0;
}

#footBnr .footBigBnr{
	margin-bottom: 24px;
}

#footBnr .footBigBnr li{
	width: 50%;
	overflow: hidden;
}

#footBnr li a img{
	width: 100%;
	transition: .3s;
	height: auto;
}

#footBnr .footBigBnr li a img:hover{
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
	transform: scale(1.1);
}

#footBnr .footSmallBnr li{
	width: 25%;
	overflow: hidden;
	padding: 16px;
	vertical-align: middle;
}

.recFootNav{
	letter-spacing: 0;
	margin-top: 4em;
}

.recFootNav li{
	width: 20%;
	padding: 8px;
}

/* ---------------------
page : #home
---------------------- */

/* #home : #mainImg
--------------------- */
#mainImg{
	height: 100vh;
	width: 100%;
	background-image: url(/images/mainBG.jpg);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	position: relative;
	text-align: center;
}

#mainImg .readArea{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	margin:	 auto;
	height: 12em;
}

#mainImg .readArea #typeText{
	font-family: serif;
	font-size: 48px;
	letter-spacing: 0.2em;
	line-height: 1.6;
	font-weight: normal;
}

#mainImg .mainImgLogo{
	display: none;
	width: 320px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 247px;
}

#mainImg .mainImgArrow{
	display: none;
}

#mainImg .mainImgArrow a{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	color: #fff;
	font-family: 'Abel', sans-serif;
	background: #fff;
	width: 56px;
	height: 48px;
	margin: auto;
}

#mainImg .mainImgArrow a:after{
	display: block;
	margin: 12px auto;
	content: "";
	width: 16px;
	height: 16px;
	border-top: 1px solid #008b9c;
	border-right: 1px solid #008b9c;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	background: none;	
}

/* #home : #topMessage
--------------------- */
#topMessage{
    line-height: 2;
    overflow: auto;
    padding-bottom: 8em;
}

#topMessage h2{
    border-bottom: 0;
    color: #008b9c;
    margin-bottom: 0;
    padding-bottom: 0;
}

#topMessage h3{
	font-family: 'Abel', sans-serif; 
    color: #008b9c;
    margin-bottom: 2em;
}

#topMessage ul{
	padding-left: 0;
}

#topMessage li:before{
    content: "・";
}

/* #home : #topService
--------------------- */
#topService{
	letter-spacing: 0;
}

#topService li{
	width: 25%;
	display: inline-block;
}

#topService li{
	width: 25%;
	display: inline-block;
	font-size: 14px;
}

#topService li .topServiceBox{
	position: relative;
	width: 100%;
}

#topService li .topServiceBox:before{
	content: "";
	display: block;
	padding-top: 100%;
}

#topService li .topServiceBox .topServiceBoxInr{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

#topService .ttl{
	text-align: center;
	background: #008b9c;
	color: #fff;
}

#topService .ttl .ttlArea{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 4em;
}

#topService .ttl .ttlArea h2{
	font-family: 'Abel', sans-serif;
	letter-spacing: 2px;
	font-size: 1.8em;
}

#topService .ttl .ttlArea p{
	font-size: 0.9em;
} 

#topService .cat{
	background: #cbd7d9;
	text-align: center;
}

#topService .cat h3{
	font-size: 1.2em;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 2em;	
}

#topService .content img{
	width: 100%;
	height: auto;
}

#topService .content .topScontentInr{
	padding: 16px;
	font-size: 0.85em;
	letter-spacing: 0.05em; 
}

#topService .content .topScontentInr h4{
	margin-bottom: 0.2em;
}

#topService .content .topScontentInr .url{
	font-family: 'Abel', sans-serif;	
	color: #008b9c;
	text-decoration: underline;
}

/* #home : #topNews
--------------------- */
#topNews h2{
	color: #008b9c;
	font-size: 1.8em;
    letter-spacing: 2px;
    font-weight: normal;
	text-align: center;
	margin-bottom: 4em;
}

#topNews dt{
	float: left;
	width: 184px;
}

#topNews dd{
	padding-left: 200px;
	margin-bottom: 2em;
}

#topNews dd a{
	color: #008b9c;
	text-decoration: underline;
}


/* =====================
cp --- single / archive / side
===================== */
.single .breadcrumb{
	padding-top: 4em;
}

.single .breadcrumb li{
	font-size: 12px;
	color: #969696;
}

.single .breadcrumb li a{
	text-decoration: none !important;
}

.single .breadcrumb li a:after{
	content: "/";
	color: #969696;
	padding: 0 0.2em;
}

.single .contentWrap{
	overflow: auto;
}

.single .entry-header,
.archive #main{
	padding: 4em 0;
}

.single .date{
	text-align: right;
	margin-top: 1em;
	font-size: 12px;
}

.single #main,
.archive #main{
	width: 72%;
}

.single #main h1,
.archive #main h1{
	text-align: left;
}

.single #main p,
.archive #main p{
	line-height: 1.8;
	margin-bottom: 2em;
}

.single #main a,
.archive #main a{
	color: #008b9c;
	text-decoration: underline;
}

.single #main img{
	width: auto;
	max-width: 100%;
	height: auto;
	margin: 2em auto;
	display: block;
}

.single #main .eye_catch{
    margin:0px 0px 10px 0px;
    padding:0px 0px 0px 0px;
}
.single #main .eye_catch img{
    margin:0px 0px 0px 0px;
    padding:0px 0px 0px 0px;
    width: 100%;
}

/* archive */
.archive dt{
	float: left;
	width: 160px;
	clear: both;
}

.archive dd{
	padding-left: 184px;
	border-bottom: 1px solid #f0f0f0;
	padding-bottom: 2em;
    margin-bottom: 2em;
}

/* side */
#side{
	width: 24%;
	padding: 4em 16px;
}

#side li{
	list-style: none;
}

#side li a{
	font-size: 12px;
    padding-bottom: 1em;
    margin-bottom: 1em;
    display: block;
    border-bottom: 1px solid #f0f0f0;
}

#side li a:hover{
	color: #008b9c;
}

#side h1{
	font-size: 1em;
	text-align: center;
	background: #008b9c;
	padding: 0.5em;
	margin-bottom: 1em;
	color: #fff;
}

#side .newPost{
	margin-top: 3em;
}

#side .newPost:first-child{
	margin-top: 0;
}

/* pageing */
.paging{
	overflow: auto;
	border-top: 1px solid #f0f0f0;
	border-bottom: 1px solid #f0f0f0;
}

.paging div{
	width: 50%;
	padding: 1em;
}

.paging .next{
	float: left;
	display: inline-block;
}

.paging .prev{
	float: right;
	display: inline-block;
}

.paging div a{
	color: #333 !important;
	font-size: 12px;
	text-decoration: none !important;
	position: relative;
	display: block;
}

.paging .next a{padding-left: 16px;}
.paging .prev a{padding-right: 16px;}

.paging .next a:before,
.paging .prev a:after{
	position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 4px;
    height: 4px;
    border-top: 2px solid #008b9c;
    border-right: 2px solid #008b9c;
}

.paging .prev a:after{
	-webkit-transform: rotate(45deg);
    transform: rotate(45deg);
	right: 0;
}

.paging .next a:before{
	-webkit-transform: rotate(225deg);
    transform: rotate(225deg);
	left: 0
}

/* ---------------------
page : #service
---------------------- */
#service{
	letter-spacing: 0;
}

#service h2{
    text-align: center;
    border-bottom: 0;
    margin-bottom: 1.8em;
}

#service .serviceBoxWrap{
	background: #f6f6f6;
	overflow: auto;
	text-align: center;
}

#service .serviceBG{
	height: 320px;
	background-size: cover;
	background-attachment: fixed;
	background-repeat: no-repeat;
	background-position: center center;
	z-index: 1;
	position: relative;
	text-align: center;
}

#service .serviceBG h2{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 1em;
	color: #fff;
	letter-spacing: 2px;
	font-size: 1.8em;
	font-weight: normal;
}

#service .serviceContent {
	height: auto;
	z-index: 2;
	margin: 6em auto;
}

#service .entry-content .serviceContent ul{
	padding-left: 0;
}

#service .serviceContent li{
	vertical-align: top;
	background: #fff;
}

#service .column1 li{
	width: 100%;
	padding: 80px 0;
}

#service .column2 li{
	width: 50%;
	padding: 80px 0;
}

#service .column3 li{
	width: 33.3%;
	padding: 40px 0;
}

#service .serviceContent img{
	width: 72%;
	height: auto;
}

#service .serviceContent .sTextArea{
	padding-left: 80px;
	padding-right: 80px;
}

#service .serviceContent.column3 .sTextArea{
	padding-left: 24px;
	padding-right: 24px;
}

#service .serviceContent.plr0 li{
	padding-top: 0;
}

#service .serviceContent.plr0 img{
	width: 100%;
}

#service .serviceContent li h3{
	margin: 24px 0;
	line-height: 1.6;
}

#service .serviceContent li h4{
	margin-bottom: 24px;
}

#service .serviceContent li p{
	line-height: 1.6;
	font-size: 0.9em;
	text-align: left !important;
}

#service .serviceContent li a{
	color: #008b9c;
	font-family: 'Abel', sans-serif;
	margin-top: 16px;
	display: block;
	font-size: 14px;
	text-align: right;
}

/* ---------------------
page : #company
---------------------- */
#company .entry-content th{
    background: none;
    width: 160px;
    padding: 16px;
    vertical-align: top;
    text-align: left;
}

#company .entry-content td{
    border-bottom: 0;
    padding: 16px;
}

#company .entry-content img{
    width: 240px;
    margin-left: 32px;
    margin-bottom: 8px;
    border: 8px solid #fff;
    height: auto;
}

#company .entry-content h3{
    color: #008b9c;
    margin-bottom: 0.5em;
    margin-top: 1.5em;
    font-size: 1.2em;
}

#company .entry-content li:before{
    content: "・";
}

#company .entry-content a{
    color: #008b9c;
    text-decoration: underline;
}

#company .entry-content .ico:before{
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background: url(/images/ico_pin.png)no-repeat;
	background-size: 16px;
	margin-bottom: -2px;
}
/* =====================
recruit --- common
===================== */
.recruit #header,.recruit #spheader,.recruit #footer,.recruit #footBnr{display: none;}

/* =====================
recruit --- header
===================== */
#recHeader{
	width: 240px;
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	padding: 24px;
	box-shadow: 0px 0px 6px 1px #cecece;
	background: #fff;
	z-index: 1;
}

#recHeader h1 a{
	display: block;
	width: 192px;
	height: 40px;
	background: url(/images/recLogo.png)no-repeat;
	background-size: 192px 40px;
	text-indent: -9999px;
}	

#recHeader #nav{
	margin-top: 144px;
}

#recHeader #nav li{
	margin-bottom: 1.6em;
}

#recHeader #nav .current-menu-item a{
	color: #008b9c;
}

#recHeader #nav .current-menu-item.btn a{
	color: #fff;
}

#recHeader #nav .btn a{
	width: 100%;
    padding: 1em;
}

#recHeader #nav .btn a:after{
	content: none;
}

/* =====================
recruit --- footer
===================== */
#recfooter{
	margin-left: 240px;	
	letter-spacing: 0;
	font-size: 12px;
}

#recfooter .contentInr{
	overflow: auto;
}

#recfooter ul{
	font-size: 0;
}

#recfooter li{
	width: 50%;
	display: inline-block;
	margin-bottom: 0.8em;
	font-size: 12px;
}

#recfooter li:before{
	content: "- ";
}

#recfooter .btn a{
	margin-top: 1em;
}

/* =====================
recruit --- page
===================== */
/* recruit : common
--------------------- */
.recruit #content{
	margin-left: 240px;
	padding-top: 0;
}

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

/* pageEntryBnr */
.pageEntryBnr{
	height: 320px;
	background: url(/images/entryBG.jpg)no-repeat;
	background-size: cover;
	background-position: center center;
	margin-top: 4em;
	position: relative;
}

.pageEntryBnr .btn{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 42px;
}

.pageEntryBnr .btn a{
	margin: 0 auto;
	background: #fff;
	color: #008b9c;
}

.pageEntryBnr .btn a:after{
	border-top: 2px solid #008b9c;
    border-right: 2px solid #008b9c;
}

/* interviewList */
.interviewList h2{
	margin-bottom: 0.2em;
	margin-top: 0;
}

.interviewList p{
	font-family: 'Abel', sans-serif;
	margin-bottom: 3em;
	letter-spacing: 0.05em;
	color: #ccc;
	text-align: center;
}

.interviewList{
	letter-spacing: 0;
	padding: 16px;
}

.interviewList li{
	width: 50%;
	padding: 16px;
}

.interviewList li div{
	width: 50%;
	float: left;
}

.interviewList li .interviewListL{
	background: #008b9c;
	height: 240px;
	text-align: center;
	padding: 64px 0;
}

.interviewList li .interviewListL p{
	color: #fff;	
}

.interviewList li .interviewListL .ttl:after{
	counter-increment: number 1;      /* number カウンタを増加 */
	content: "INTERVIEW : " counter(number) ;      /* 表示形式を指定 */
	font-family: 'Abel', sans-serif;
	letter-spacing: 0.1em;
	display: block;
	margin: 0.5em;
}

.interviewList li .interviewListL .btn{
	border: 1px solid #fff;
	padding: 0.3em 1em;
	display: inline-block;
	font-family: 'Abel', sans-serif;
	font-size: 0.8em;
	margin-top: 1.5em;
	letter-spacing: 0.1em;
}

.interviewList li .interviewListR{
    height: 240px;
	overflow: hidden;
}

.interviewList li .interviewListR .listImg{
    display: inline-block;
	width: 100%;
    height: 240px;
    background-color: #ccc;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	margin-right: 8px;
	-moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
}

.interviewList li:hover .interviewListR .listImg{
	-webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

/* careersInfo */
.careersInfo{
	text-align: center;
	margin-bottom: 8em;
	letter-spacing: 0;
	padding: 16px;
}

.careersInfo h2{
	margin-bottom: 0.2em;
	margin-top: 8em;
}

.careersInfo p{
	font-family: 'Abel', sans-serif;
	margin-bottom: 3em;
	letter-spacing: 0.05em;
	color: #ccc;
}

.careersInfo ul{
	text-align: left;
}

.careersInfo li{
	width: 33.3%;
	padding: 16px;
	text-align: left;
}

.careersInfo li a{
	color: #008b9c;
	border: 1px solid #008b9c;
	padding: 1.8em;
	display: block;
	position: relative;
	text-align: center;
	line-height: 1;
}

.careersInfo li a:after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 16px;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 4px;
	height: 4px;
	border-top: 2px solid #008b9c;
	border-right: 2px solid #008b9c;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	background: none;
}

/* recruit : recruitTop */
#recruit .entry-content h2{
	font-size: 2em;
	margin-bottom: 4em;
}

#recruit .entry-content h2 span{
	color: #008b9c;
}

#recruit .entry-content .careersInfo h2,
#recruit .entry-content .interviewList h2{
	margin-bottom: 0;
	font-size: 1.5em;
	margin-top: 1em;
}

#recruit .recruitTopImg{
	position: relative;	
	text-align: center;
	height: 100vh;
}

#recruit .recruitTopImg .imgPC{
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center;
}

#recruit .recruitTopImg .recTopText{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 8em;
	left: 0;
	right: 0;
}

#recruit .recruitTopImg .recTopText .pcNone{
	display: none;
}

#recruit .recruitTopImg .recTopTextBG{
	background: rgba(255,255,255,.8);	
	height: 8em;
	width: 100%;
}

#recruit .recruitTopImg .recTopText p{
	letter-spacing: 5px;
	font-size: 2.2em;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 1.5em;
}

#recruit .ceoMessageBnr .pcNone{display: none}

/* recruit : entry-content */
.recruit  .entry-content.contentInr{
	width: 100%;
	min-width: 100%;
	position: relative;
}

.recruit .entry-content h2{
	text-align: center;
	border-bottom: 0;
	padding-bottom: 0;
}

.recruit .entry-content tr{
	border-bottom: 1px solid #f0f0f0;
}

.recruit .entry-content th{
	background: none;
    width: 160px;
    padding: 16px;
    vertical-align: top;
    text-align: left;
	color: #969696;
}

.recruit .entry-content td{
	border-bottom: 0;
    padding: 16px;
}


/* recruit : #interview / #ceo_message
--------------------- */
/* common */
.InterviewHeadArea .imgSP{display: none;}

.InterviewHeadArea{
	position: relative;
}

.recpageHead{
	position: absolute;
    top: 0;
	bottom: 0;
	left: 120px;
	height: 120px;
	margin: auto;
}

.recpageHead h1{
	font-size: 0.9em;
	color: #008b9c;
	margin-bottom: 1em;
}

.recpageHead h3{
	font-size: 1.4em;
	margin-top: 1em;
}

.recpageHead p{
	font-size: 0.9em;
}

.interviewBox{
	padding-top: 4em;
	padding-bottom: 4em;
}

.interviewBox img{
	margin: 3em auto 0;
}

.interviewBox .alignleft{
	width: 280px;
	margin-right: 24px;
}

.interviewBox .alignright{
	width: 280px;
	margin-left: 24px;
}

.interviewBox h2{
	background: rgba(0, 139, 156, .8);
	color: #fff;
	padding: 2em;
	border-bottom: 0;
	text-align: center;
	letter-spacing: 0.2em; 
	margin-bottom: 4em;
}

.interviewBox h3{
	color: #008b9c;
	margin-bottom: 1em;
	margin-top: 3em;
}

.interviewBox h3:first-child{
	margin-top: 0;
}

.interviewBox p{
	line-height: 2;
}

.interviewBox strong{
	color: #008b9c;
	font-weight: normal;
}

/* ceo_message */
#ceo_message .topProfile{
	padding-top: 4em;
	padding-bottom: 4em;
}

#ceo_message .topProfile img{
	width: 240px;
	height: auto;
}

#ceo_message .topProfile h2{
	color: #008b9c;
	padding: 0 0 0 264px;
	text-align: left;
	font-size: 1.4em;
	margin-bottom: 1.6em;
	margin-top: 0;
}

#ceo_message .topProfile h3{
	font-size: 0.9em;
	color: #008b9c;
	padding-left: 264px;
}

#ceo_message .topProfile p{
	padding-left: 264px;
	line-height: 1.6;
    font-size: 0.95em;
}

#ceo_message .interviewBox{
	padding-top: 6em;
	padding-bottom: 6em;
}

/* recruit : entry
--------------------- */
#entry .entry-content{
	padding-bottom: 8em;
}

#entry h3{
	color: #008b9c;
	text-align: center;
	margin-top: 4em;
}

#entry .caution{
	margin-bottom: 24px;
}

#entry .caution span{
	color: #008b9c;
}


fieldset{
	border: 0;
	margin-bottom: 1em;
	padding-bottom: 1em;
}

fieldset .entryFormTtl{
    margin-bottom: 8px;
    display: block;
	color: #008b9c;
}

fieldset .grid2{
	float: left;
/*	width: 50%;*/
}

fieldset .grid3{
	float: left;
/*	width: 33.3%;*/
}

fieldset input{
	border: 0;
	border-radius: 4px;
    min-height: 48px;
	padding: 0 0.6em;
	margin: 0 0.25em;
	background: #f0f0f0;
}

fieldset.upload input{
	background: none;
}

fieldset.birth .grid1,
fieldset.job{
	padding: 0 0.3em 1em;
}

fieldset.job select{
	width: 180px;
}

fieldset select{
	border: 0;
	height: 48px;
	width: 80px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0 8px;
	position: relative;
	background-image: url(/images/ico_select.png);
    background-position: top 8px right;
    background-repeat: no-repeat;
    background-color: #f0f0f0;
	background-size: 20px;
}

fieldset.upload input{
	min-height: auto;
}

fieldset.upload dt{
	margin-top: 0;
	border: 0;
	padding-left: 0;
	float: left;
	width: 120px;
	clear: both;
    line-height: 48px;
}

fieldset.upload dd{
	display: inline-block;
    background: #f0f0f0;
    line-height: 48px;
	margin-bottom: 8px;
}

fieldset.sex input {
	min-height: auto;
	margin: auto;
	border-radius: unset;
	width: auto;
	border: 1px solid #333;
}

.recruit_doui h4{
	text-align: center;
	margin-bottom: 2em;
	font-size: 1.1em;
}

.recruit_doui table{
	border: 1px solid #f0f0f0;
	margin: 1em 0;
}

.recruit .entry-content  .recruit_doui table th{
	text-align: center;
	padding: 8px;
	border-left: 1px solid #f0f0f0;
	display: table-cell;
}

.recruit .entry-content .recruit_doui table td{
	padding: 8px;
	border-left: 1px solid #f0f0f0;
	display: table-cell;
}

.entry-content ol li table{
	text-indent: 0;
	padding-left: 0;
}


.page-txt {
  margin: 30px 0 0;
  height: 2000px;
}

#overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.3);
  display: none;
  z-index: 1
 }

#modalWindow {
  width: 350px;
  height: 150px;
  position: fixed;
  border: 2px solid #D04255;
  background-color: #FFF;
  display: none;
  z-index: 2
}



/* ============================================
- 1000px
============================================ */
@media screen and (max-width: 1000px){
	.contentInr{
		width: 100%;
		min-width: 100%;
		margin: 0 auto;
		padding-left: 16px;
		padding-right: 16px;
	}
	
	#topService .content .topScontentInr{
		padding: 8px;
	}
	
	#footer li:after{
		margin: 0 16px -2px;
	}
	
	#recHeader,#spHeader.cpHead{display: none !important;}
	
	#spHeader{
		display: block;
		position:fixed;
		width:100%;
		height:48px;
		top:0;
		left:0;
		z-index:100;
		background: #fff;
	}
	
	#spHeader p a{
		width: 36px;
		height: 24px;
		background: url(/images/logo.png)no-repeat;
		background-size: 36px 24px;
		text-indent: -99999px;
		margin: 12px 16px;
		display: block;
	}
	
	#spHeader .spmenu_btn {
		display:block;
		position:absolute;
		top:14px;
		right:16px;
		width:24px;
		height:22px;
		background:#008b9c;
		border-top:10px solid #fff;
		border-bottom:10px solid #fff;
		-moz-box-sizing:border-box;
		-webkit-box-sizing:border-box;
		box-sizing:border-box;
		-moz-transition:all 0.3s;
		-webkit-transition:all 0.3s;
		transition:all 0.3s;
	}
	
	#spHeader .spmenu_btn:before {
		content:'';
		position:absolute;
		width:24px;
		height:2px;
		background:#008b9c;
		top:-9px;
		right:0;
		-moz-transition:all 0.3s;
		-webkit-transition:all 0.3s;
		transition:all 0.3s;
	}
	
	#spHeader .spmenu_btn:after {
		content:'';
		position:absolute;
		width:24px;
		height:2px;
		background:#008b9c;
		bottom:-9px;
		right:0;
		-moz-transition:all 0.3s;
		-webkit-transition:all 0.3s;
		transition:all 0.3s;
	}
	
	#spHeader .spmenu_btn.active {
		background:#FFF;
	}
	
	#spHeader .spmenu_btn.active:before {
		-moz-transform:rotate(-135deg);
		-webkit-transform:rotate(-135deg);
		transform:rotate(-135deg);
		top:0;
		right:0;
	}
	
	#spHeader .spmenu_btn.active:after {
		-moz-transform:rotate(135deg);
		-webkit-transform:rotate(135deg);
		transform:rotate(135deg);
		bottom:0;
		right:0;
	}

	#spHeader .spmenu {
		display:none;
		position:absolute;
		top:48px;
		left:0;
		width:100%;
		background:#fff;
	}
	#spHeader #nav {
		display:block;
		width:100%;
		margin:0 auto;
	}
	
	#spHeader #nav li a {
		display:block;
		width:100%;
		padding:16px;
		-webkit-box-sizing:border-box;
		box-sizing:border-box;
		position:relative;
		border-bottom:1px solid #f0f0f0;
		font-size: 13px;
		position: relative;
		font-family: 'Abel', sans-serif;	
	}
	
	#spHeader #nav li a:after{
		position: absolute;
		top: 0;
		bottom: 0;
		right: 16px;
		margin: auto;
		content: "";
		vertical-align: middle;
		width: 4px;
		height: 4px;
		border-top: 2px solid #008b9c;
		border-right: 2px solid #008b9c;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
	/* recruit */
	.recruit #content,
	#recfooter{
		margin-left: 0px;
	}
	
	.recFootNav.contentInr{
		margin-top: 2em;
	}
}

/* ============================================
- 768px
============================================ */
@media screen and (max-width: 768px){
	/* common */
	.inr768{
		width: 100%;
		padding-left: 16px;
		padding-right: 16px;
	}
	
	.mb8{margin-bottom: 4em;}
	
	/* footer */
	#footer,
	#recfooter{
		padding: 40px 0 16px;
	}
	
	#recfooter .alignleft,
	#recfooter .alignright{
		display: block;
		float: none;
	}
	
	#recfooter .alignright{
		margin-top: 2em;
		text-align: center;
	}
	
	#footer li,
	#recfooter li{
		display: block;
		text-align: left;
	}
	
	#footer li:after,
	#recfooter li:before{
		content: none;
	}
	
	#footer li,
	#recfooter li{
		display: block;
		width: 100%;
		padding: 16px;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		position: relative;
		border-bottom: 1px solid #f0f0f0;
		font-size: 13px;
		position: relative;
		margin-bottom: 0;
	}
	
	#footer li:after,
	#footer li:last-child:after,
	#recfooter li:after{
		position: absolute;
		top: 0;
		bottom: 0;
		right: 16px;
		margin: auto;
		content: "";
		vertical-align: middle;
		width: 4px;
		height: 4px;
		border-top: 2px solid #008b9c;
		border-right: 2px solid #008b9c;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		background: none;
	}
	
	#footer .copy{
		margin-top: 32px;
	}
	
	#recfooter .contentInr{
		padding-left: 0;
		padding-right: 0;
	}
	
	/* cp : common */
	.archive dt,
	#topNews dt{
		width: 120px;
	}
	
	.archive dd,
	#topNews dd{
		padding-left: 152px;
	}
	
	#content{
		padding-bottom: 0;
	}
	
	.entry-header{
		padding: 4em 16px;
	}
	
	.entry-header h1{
		font-size: 1.6em;
	}
	
	.entry-content h2{
		margin-top: 2em;
	}
	
	/* cp : home */
	#topService .content .topScontentInr .url{
		display: none;
	}
	
	/* cp : service */
	#service .serviceContent{
		margin: 3em auto;
	}
	
	#service .column2 li{
		padding: 40px 0;
	}
	
	#service .serviceContent .sTextArea{
		padding-left: 40px;
		padding-right: 40px;
	}
	
	/* recruit */
	.recruit #content{
		margin-left: 0px;
		padding-top: 48px;
	}
	
	#recruit .entry-content h2{
		margin-bottom: 2em;
	}
	
	.recruit .careersInfo p{
		margin-bottom: 0;
	}
	
	.recruit .careersInfo h2{
		margin-top: 3em;
	}
	
	.recruit .careersInfo{
		margin: 3em 0;
		padding: 16px;
	}
	
	.interviewList p{
		margin-bottom: 1em;
	}
	
	.recruit .interviewList li .interviewListL{
		height: 160px;
		padding: 36px 0;
	}
	
	.interviewList li .interviewListR{
		height: 160px;
	}
	
	.recruit .interviewList li .interviewListR .listImg{
		height: 160px;
		background-position: center;
	}
	
	.recruit .interviewBox{
		top: -80px;
	}
	
	.recruit .interviewList li .interviewListL .ttl:after{
		margin: 0;
	}
	
	/* single */
	.archive dt{
		width: 100%;
		float: none;
		display: block;
		margin-bottom: 8px;
	}
	
	.archive dd{
		padding-left: 0;
	}
	
	.single #main, .archive #main{
		width: 64%;
	}
	
	#side{
		width: 36%;
	}
	
	fieldset input{
		margin-bottom: 8px;
		width: 100%;
	}
}

/* ============================================
- 640px
============================================ */
@media screen and (max-width: 640px){
	body{font-size: 13px;}
	.mb4{margin-bottom: 2em;}
	#content{padding-top: 40px;}
	.entry-content ol, .entry-content ul{
		padding-left: 0;
	}
	
	.entry-content h2{
		font-size: 1.2em;
	}
	
	/* cp : header */
	#header{display: none !important;}
	#spHeader.cpHead{display: block !important;}
	
	/* cp : home */
	#mainImg .readArea #typeText{
		font-size: 18px;
	}
	
	#mainImg .mainImgLogo{
		width: 240px;
		height: 185px;
	}
	
	#topMessage{
		padding-bottom: 4em;
	}
	
	#topMessage h2{
		margin-bottom: 0;
	}
	
	#topNews h2{
		margin-bottom: 1em;
	}
	
	#home img.alignright{
		width: 160px;
		height: auto;
	}
	
	.archive dt, #topNews dt{
		width: 100%;
		float: none;
		margin-bottom: 8px;
	}
	
	.archive dd, #topNews dd{
		padding-left: 0;
	}
	
	#home img.alignright{
		width: 160px;
		height: auto;
	}
	
	/* cp : topService */
	#topService{
		background: #008b9c;
    	padding: 8px;
	}
	
	#topService .content .topScontentInr h4{
		font-size: 0.8em;
	}
	
	#topService li{
		width: 50%;
	}
	
	#topService li .topServiceBox .topServiceBoxInr{
		background: #fff;
	}
	
	#topService li .topServiceBox.ttl .topServiceBoxInr{
		background: #008b9c;
	}
	
	/* cp : footer */
	#footBnr{
		margin-top: 0;
		padding-top: 4em;
	}
	
	#footBnr .footBigBnr li{
		width: 100%;
		margin-bottom: 8px;
	}
	
	#footBnr .footSmallBnr li{
		width: 50%;
		padding: 8px;
	}
	
	/* cp : news */
	.single #main, .archive #main,#side{
		width: 100%;
		float: none;
		display: block;
	}
	
	#side{
		padding: 0;
	}
	
	/* cp : service */
	#service .serviceBG{
		background-attachment: inherit;
		height: 160px;
	}
	
	#service .column2 li,
	#service .column3 li{
		width: 100%;
		margin-bottom: 8px;
	}
	
	#service .serviceContent{
		margin: 16px 0;
	}
	
	#service .serviceContent .sTextArea,
	#service .serviceContent.column3 .sTextArea{
		padding-left: 16px;
		padding-right: 16px;
	}
	
	#service #footBnr{
		padding-top: 0;
	}
	
	/* cp : company */
	#company .entry-content th,
	#company .entry-content td,
	.recruit .entry-content th,
	.recruit .entry-content td{
		width: 100%;
		display: block;
		padding: 4px 0;
	}
	
	.recruit .entry-content td{
		padding-bottom: 16px;
	}
	
	#company .entry-content th,
	.recruit .entry-content th{
		color: #008b9c;
		margin-top: 16px;
	}
	
	#company .entry-content img{
		width: 64%;
		display: block;
		float: none;
		margin: 8px auto;
	}
	
	/* recruit */
	#recruit .entry-content h2{
		font-size: 1.3em;
	}
	
	.pageEntryBnr .btn a{
		width: auto;
	}
	
	.recruit .careersInfo li{
		width: 100%;
		padding: 0;
	}
	
	.recruit .careersInfo li a {
		color: #008b9c;
		border: 0; 
		text-align: left;
		border-bottom: 1px solid #f0f0f0;
		padding: 1.2em 0.5em;
	}
	
	.recruit .interviewList li{
		width: 100%;
	}
	
	.recruit .fs0 li{
		font-size: 13px;
	}
	
	.recruit .interviewList li{
		padding: 0;
		margin-bottom: 8px;
	}
	
	.recruit .interviewList li .interviewListL{
		height: 120px;
		padding: 24px 0;
	}
	
	.recruit .interviewList li .interviewListR .listImg{
		height: 120px;
		background-position: center;
	}
	
	.pageEntryBnr{
		height: 120px;
	}
	
	.recruit .careersInfo,
	.interviewList{
		padding: 0;
	}
	
	.interviewList li .interviewListL .btn{
		margin-top: 0.5em;
	}
	
	.interviewList li .interviewListR{
		height: 120px;
	}
	
	.recFootNav li{
		width: 50%;
	}
	
	.recFootNav li:first-child{
		width: 100%;
	}
	
	.recruit .InterviewHeadArea .imgPC{display: none;}
	
	.recruit .InterviewHeadArea .imgSP{
		display: block;
		line-height: 0;
	}
	
	.recruit .recpageHead{
		position: static;
		background: #f0f0f0;
		padding: 24px;
		height: auto;
	}
	
	#ceo_message .interviewBox{
		padding-top: 3em;
		padding-bottom: 3em;
	}
	
	#ceo_message .topProfile img{
		display: block;
		float: none;
		width: 64%;
		margin: 0 auto 8px;
	}
	
	#ceo_message .topProfile h3,
	#ceo_message .topProfile h2,
	#ceo_message .topProfile p{
		padding-left: 0;
	}
	
	#recruit .ceoMessageBnr .pcNone{display: block}
	#recruit .ceoMessageBnr .spNone{display: none}
	
	.entryForm.inr768{
		padding-left: 0;
		padding-right: 0;
	}
	
	#recruit .recruitTopImg .imgPC{
		height: 93vh;
	}
	
	#recruit .recruitTopImg .recTopTextBG{
		height: 10em;
	}
	
	#recruit .recruitTopImg .recTopText{
		top: -60px;
	}
	
	#recruit .recruitTopImg .recTopText p{
		font-size: 1.6em;
		padding: 0 1em;
		letter-spacing: 2px;
	}
	
	#recruit .recruitTopImg .recTopText .pcNone{
	display: block;
}

}