/*  General CSS  */
body{
    background: #fff;
}

.wrapper{
	max-width: 1020px;
	margin: 0 auto;
	padding: 18px 0 0 0;
    }


h1, h2, h3, h4, h5 ,h6{
	color: #333;
	/* [disabled]font-family: lato-regular, Helvetica, Arial, sans-serif; */
	/* [disabled]letter-spacing: 1px; */
}

/*h1              { font-size: 2em; margin: .67em 0 }
h2              { font-size: 1.5em; margin: .75em 0 }
h3              { font-size: 1.17em; margin: .83em 0 }
h5              { font-size: .83em; margin: 1.5em 0 }
h6              { font-size: .75em; margin: 1.67em 0 }
h1, h2, h3, h4,
h5, h6          { font-weight: bolder }
*/
.clearfix:before,  
.clearfix:after {  
    content: " ";  
    display: table;  
}  
.clearfix:after {  
    clear: both;  
}  
 
.clearfix {  
    *zoom: 1;  
}

p{font-size:13px; margin:0 0 2.0em 0; padding:0;}

p.ml{font-size:14px; }

p.large{font-size:18px; line-height:1.8em; }

div.border-bottom{
	border-bottom: 1px dotted #CCC;
	padding-bottom: 0.5em;
	margin-bottom: 2em;
	}

p.border-bottom{
	border-bottom:1px dotted #CCC;
	padding-bottom:1em;
	}

h4{
	font-size: 15px;
	margin: 0 0 0.4em 0;
	padding: 0;
	font-weight: bold;
}

h3.heading{
	font-size: 18px;
	margin: 0 0 1.8em 0;
	padding: 0;
	font-weight: bold;
	line-height: 1.8em;
}


.sp{display:none}	

.pc{display:block}	



#page-top {
    position: fixed;
    bottom: 100px;
    right: 20px;
}
#page-top img{
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; /* IE */
	filter: alpha(opacity=65); /* IE */
	-moz-opacity: 0.65; /* Firefox(old) */
	-khtml-opacity: 0.7; /* Safari(old) */
	opacity: 0.65;
}


section#wrap{
	width: 100%;
	/* [disabled]height: 100px; */
	background: #FFF;
	overflow: hidden;
}

#contener{
	width: 95%;
	max-width: 910px;
	padding: 0;
	margin: 0 auto;
	text-align: center;
}

.square{background:url(../img/bg_square.gif) no-repeat;
background-size:contain;
padding:10px 5px;}

.titleimg{
	padding: 0;
	margin: 0 auto 5px auto;
	}
	
.p_list{
	padding: 0;
	margin: 0 auto 35px auto;
	font-size: 12px;
	color: #999;
	}	


h2.pagetitle{
	font-size: 26px;
	line-height: 1.5em;
	border-left: 8px solid #00a384;
	padding: 0.14em 0 0.15em 0.8em;
	margin: 0 0 1em 0;
	}
	
h2.pagetitle span{
	font-size: 13px;
	}
h2.pagetitle img{
	max-width:160px;
	padding-bottom:0.5em;
	}
		
h2.pagetitle img.full{
	max-width: 300px;
	}
	

.side_navi{
	float: right;
	width: 19%;
	margin-left: 5%;
	background: #FFF;
	padding: 0.5%;
}
.side_navi ul{
	list-style:none;
	border-top:1px solid #DDD;
}
.side_navi ul li{
	border-bottom: 1px solid #DDD;
	padding: 0;
	font-size: 14px;
	line-height: 1.4em;
	margin: 0px;
}
.side_navi ul li a{
	display: block;
	background: url(../img/point.png) no-repeat 7px 16px;
	color: #333;
	background-color: #EEE;
	padding: 12px 2px 10px 20px;
	margin: 3px;
}

.side_navi ul li a:hover{
background-color:#daf1ed;
text-decoration:none;
}

.side_navi ul li a.hover{
	background-color: #daf1ed;
	background-image: none;
	padding: 12px 2px 10px 10px;
}



	
.cont{
	float:left;
	width:75%;
	}	
	
.cont_full{
	margin: 0 auto 0 auto;
	width: 90%;
	padding-top: 1.2em;
	}		


/*  Header Section  */


header{
	width: 100%;
	/* [disabled]height: 100px; */
	background: #FFF;
	overflow: hidden;
}



header .logo{
	margin-top: 0px;
	/* [disabled]float: left; */
}

a.hamburger{
	text-decoration: none;
	display: none;
	float: right;
	margin: 10px 10px 0 0;
	width: 24px;
	height: 19px;
	background: url('../img/hamburger_icon.png') no-repeat;
}

a.hamburger.opned{
    width: 19px;
    background: url('../img/close_menu_icon.png') no-repeat;
}


nav{
	/* [disabled]float: right; */
	opacity: 1;
}


nav ul{
	margin-top: 15px;
	list-style: none;
	overflow: hidden;
	/* [disabled]float: left; */
}


nav ul li {

	display:inline;
	}

nav ul li a{
	float: left;
	margin: 0 1%;
	width: 31.5%;
	text-align: center;
	text-decoration: none;
	color: #333;
	font-size: 13px;
	border-top: 4px solid #DDD;
	padding: 10px 0 8px 0;
	display: block;
	}
	
nav ul li.hover a{
	
	border-top: 4px solid #00a384;

}

nav ul li a:hover{
	border-top: 4px solid #00a384;
	text-decoration:none;
}

nav ul li.g_home a{
	width: 31%;
}



nav .login_btn{
	
}

nav .login_btn{
    float: right;
    margin: 30px 0 0 50px;
    padding: 10px 30px 11px 30px;
    border: 2px solid #ffffff;
    background: transparent;

    transition: background .1s linear;
    -webkit-transition: background .1s linear;
    -moz-transition: background .1s linear;
    -o-transition: background .1s linear;
}




li.contact{
        display:none;
    }
	
	


#logo{
	float: left;
	width: 40%;
	text-align: center;
	margin-left: 30%;
	padding: 0px 0 0px 0;
	margin-top:0;
	margin-bottom:0;
}

.contact_btn{
	float: left;
	width: 29%;
	text-align: right;
	padding: 12px 1% 0 0;
}











/*  Hero Section  */

.hero{
    width: 100%;
    height: 900px;
    position: relative;
    background: url('../img/hero.jpg') no-repeat bottom center;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
}

.hero .caption{
    width: 100%;
    position: absolute;
    text-align: center;
    top: 50%;
    margin-top: -105px;
    z-index: 10;
}

.hero .caption h2{
    color: #fff;
    font-family: "p22_corinthia", Helvetica, Arial, sans-serif;
    font-size: 100px;
    font-weight: lighter;
    margin: 0;
    position: relative;
    display: block;
}

.hero .caption h3{
    color: #fff;
    
    font-size: 14px;
    margin: -15px 0 0 25px;
    left: 1px;
}




#top_slide{
	margin: 0 auto;
	width: 98%;
	max-width: 1000px;
	position: relative;
}
#top_slide h2{
	margin: 0 auto;
	padding:0;
}

.mainImg img{
	width:100%;
	}	



/*  TopMenu  */

.bg_topmenu{
	width:100%;
	background:#d9f1ed;
	margin:40px auto 30px auto;
	padding:20px 0;
	overflow:hidden;
	}

#topmenu{
	width:98%;
	max-width:1010px;
	margin:0 auto;
	}

#topmenu .content{
	width: 24%;
	margin: 0px 0.5%;
	float: left;
	background: #FFF;
	}
	
#topmenu .content div{
	margin:0;
	padding:0;
	}
#topmenu .content .ph{
	text-align:center;
	}
	
#topmenu .content .ph img{
	width: 100%;
	margin:0;
	padding:0;
	line-height:1.0em;
	}
	
#topmenu .content .ph img.logo{
	max-width:160px;
	}	
	
#topmenu .content h2{
	text-align: center;
	margin: 0px;
	padding: 0px;
	line-height: 1em;
	}
		

#topmenu .content h3{
	background: #d9f1ed;
	text-align: center;
	margin: 0 4px 5px 4px;
	font-size: 15px;
	padding: 6px 0 4px 0;
	line-height: 1.2em;
	color:#00a384;
	}
	
#topmenu .content p{
	font-size: 12px;
	line-height: 1.5em;
	text-align: center;
	padding-bottom: 4px;
	margin: 0;
	}
	
#topmenu a .content{
	color:#333;
	text-decoration:none;
	}
	
#topmenu a:hover .content{
	opacity: 0.8;
	}






/*  Toplist  */


#toplist{
	width:98%;
	max-width:1020px;
	margin:0 auto 30px auto;
	overflow:hidden;
	}
	
#toplist ul li{
	width: 17.8%;
	margin: 0 1%;
	float: left;
	text-align: center;
	list-style: none;
	line-height: 1.5em;
	}	
	
#toplist ul li img{
	padding-bottom: 8px;
	}		
	
	


/*  NEWS  */


#news{
	width:98%;
	max-width:1000px;
	margin:0 auto;
	}

#news .titlearea{
	background:#EEE;
	margin:0 auto 15px auto;
	padding:8px 10px 8px 0px;
	}
	
#news .titlearea h3{
	font-size: 15px;
	border-left: 8px solid #00a384;
	float: left;
	width: 40%;
	padding: 0 0 0 6px;
	margin:0;
	line-height:1.2em;
	margin-top:3px;
	}
		
#news .titlearea .newsbtn{
	float:right;
	width:50%;
	text-align:right;
	}
	
#news dl{
	margin-left:15px;
	}	
	
#news dl.list{
	margin-left:0px;
	}	

#news dt{
	width:15%;
	float:left;
	text-align:1.6em;
	padding-bottom:10px;
	}	
	
#news dd{
	width:85%;
	float:left;
	text-align:1.6em;
	padding-bottom:10px;
	}	
#news dd a{
	color:#333;
	text-decoration:underline;
	}

#news dl.list dt, #news dl.list dd{
	padding-bottom:30px;
	font-size:13px;
	}




/*  footer  */

#footer{
	padding: 30px 0 10px 0;
	background: #EEE;
	margin-top: 0px;
}

.footerarea{
	width: 98%;
	max-width: 1000px;
	margin: 0 auto;
}

.footerarea ul{
	
}


.footerarea li{
	list-style: none;
	border-left: 4px solid #00a384;
	margin: 0 0 1.2em 0;
	padding: 2px 0 0 10px;
	line-height: 1.5em;
	list-style-position: outside;
}

.footerarea li a{
	color:#333;
}

.fleft{
	width: 17%;
	margin-right: 5%;
	float: left;
	display: inline;
	position: relative;
}

.fcenter{
	width: 31%;
	margin-right: 5%;
	float: left;
	display: inline;
	position: relative;
}

.fcenter ul.slist{
	margin-top: 1.2em;
}

.fcenter ul.slist li{
	border-left: none;
	margin: 0 0 0.8em 0;
	padding: 2px 0 0 0px;
	line-height: 1.5em;
}


.fright{
	width: 19%;
	margin-right: 5%;
	float: left;
	display: inline;
	position: relative;
}

.flogo{
	width: 100%;
	text-align: center;
	margin-top: 0em;
	position: relative;
}




/*　共通　*/

.green, h3.green, h4.green{color:#00a384}

.frame_a{
	border: 5px solid #DDD;
	padding: 16px;
	/* [disabled]margin-bottom: 1em; */
	}
	
.frame_a p{
	margin-bottom:0;
	}

h3{
	font-size: 16px;
	margin: 0 0 0.8em 0;
	padding: 0;
	}
h3.f_or{
	font-size: 16px;
	margin: 0 0 0.6em 0;
	padding: 0;
	line-height:1.6em;
	}
	
h3.large{
	font-size:18px;
	}	
	
h3.subtitle{
	border-top: 1px solid #CCC;
	border-bottom: 1px solid #CCC;
	background: #EEE;
	padding: 12px 4px 8px 8px;
	line-height: 1.5em;
	margin: 0 0 1.8em 0;
	font-size:18px;
	}

h3.subtitle span{
	font-size:70%;
	color:#999;
	font-weight:normal;
	}	
	
h3.subtitle:first-letter {
  color: #00a384;
}

.bg_table{
	background: #AAA;
	margin-bottom: 6px;
	}
	
table.table_a th{
	background: #DDD;
	padding: 8px 8px 6px 8px;
	font-weight: bold;
	}
	
table.table_a td{
	background:#FFF;
	padding:8px 8px 6px 8px;
	}
		
table.table_a td.lb{
	background: #F0FFFF;
	}
	
table.table_a td.ye{
	background: #FFFACD;
	}
	
h4.feature1{
	background:url(../img/service/item-feature1.jpg) no-repeat 0px 1px;
	display:block;
	padding:0 0 0 85px;
	margin-bottom:0.8em;
	}

h4.feature2{
	background:url(../img/service/item-feature2.jpg) no-repeat 0px 1px;
	display:block;
	padding:0 0 0 85px;
	margin-bottom:0.8em;
	}

h4.feature3{
	background:url(../img/service/item-feature3.jpg) no-repeat 0px 1px;
	display:block;
	padding:0 0 0 85px;
	margin-bottom:0.8em;
	}

h4.feature4{
	background:url(../img/service/item-feature4.jpg) no-repeat 0px 1px;
	display:block;
	padding:0 0 0 85px;
	margin-bottom:0.8em;
	}
	
h4.feature5{
	background:url(../img/service/item-feature5.jpg) no-repeat 0px 1px;
	display:block;
	padding:0 0 0 85px;
	margin-bottom:0.8em;
	}


h4.feature6{
	background:url(../img/service/item-feature6.jpg) no-repeat 0px 1px;
	display:block;
	padding:0 0 0 85px;
	margin-bottom:0.8em;
	}
	
	
	

.float_left{
	float:left;
	margin:0 5% 0 0;
	}

.float_right{
	float:right;
	margin:0 0 0 0;
	}
	
	
.w25{
	width:25%;
	}
.w30{
	width:30%;
	}
.w65{
	width:65%;
	}	
	
		
.w70{
	width:70%;
	}
	
.w35{
	width:35%;
	}
.w45{
	width:45%;
	}	
		
.w60{
	width:60%;
	}		

.f_or{color:#F60;
}	
	
.wide_01 {
  -moz-transform:    scale( 2.5, 1 );  /* Firefox */
  -webkit-transform: scale( 2.5, 1 );  /* Chrome,Safari */
  -o-transform:      scale( 2.5, 1 );  /* Opera */
  -ms-transform:     scale( 2.5, 1 );  /* IE */
  transform:         scale( 2.5, 1 );  /* CSS3 */
}
	
	
	
/*  サービス  */


table.t_case{
	margin-bottom:1em;
	width:100%;
	}

table.t_case th,table.t_case td{
	line-height:1.6em;
	vertical-align:top;
	text-align:left;
	font-weight:normal;
	}

table.t_case th{
	padding: 0 1.3em 1em 0
	}
table.t_case td{
	padding:0 0 0.5em 0
	}	
	
table.t_case td.align_r{
	text-align:right;
	}	


ul.case li {
    list-style-type:none;
	font-size:120%;
	font-weight:bold;
	border-bottom:1px dotted #AAA;
}

ul.case li span{
	font-size:80%;
	font-weight:;
	color:#333;
}
ul.case li.active{
    background-color:#EEE;
	padding:0.8em 2px 0.7em 28px;
	margin:0;
	display:block;
}

ul.case li a{
    background:url(../img/service/file.png) no-repeat 5px 0.9em;
	padding:0.8em 2px 0.7em 28px;
	margin:0;
	display:block;
}
ul.case li a:hover{
    background-color:#ddf3ee;
	text-decoration:none;
	
}


ul.service_cont li {
    list-style-type:disc;
	margin:0 0 0.3em 1.5em;
	list-style-position:outside;
	color:#00a384;
	line-height:1.6em;
}
ul.service_cont li span{
	color:#333;
}
ul.service_cont li strong{
	color: #F60;
}

.option{
	border:1px solid #999;
	background:#EEE;
}

h3.subtitle_op{
	background:#999;
	color:#FFF;
	text-align:center;
	padding:0.5em;
}

h3.subtitle_op span{
	font-weight:normal; font-size:75%;
}

.op_space{
	padding:0.5em 1em 0 1em;
}


/*ul.service_cont li:before {
    content: "● ";
    color: #f00;
	left:-1em;
}*/


.btn_print{
	float:right;
	padding-top:8px;
	width:150px;
	display:block;
	text-align:right;
}
.btn_print img{
	border:3px solid #FFF;
}

.service_menu{
	background:#efedf0;
	width:100%;
	border:1px solid #CCC;
	padding:15px 0;
	margin-bottom:2em;
	}
.service_menu ul{
	list-style: none;
	width: 96%;
	margin: 0 auto;
	}
		
.service_menu li{
	width:25%;
	float:left;
	text-align:center;
	}	
	
.service_menu img{
	width: 95%;
	max-width: 146px;
	}	
	
p.voice{
	border-bottom:1px dotted #CCC;
	padding-bottom:1.5em;
	}
	
	

/*  会社概要  */

img.sign{max-width:320px;}

dl.com_table{
	
	border-top:1px solid #DDD;
	}

dl.com_table dt{
	float:left;
	width:21%;
	margin:0;
	padding:16px 0 14px 2%;
	border-bottom:1px solid #DDD;
	line-height:2.0em;
	font-size:14px;
	}
	
dl.com_table dd{
	float:left;
	width:75%;
	margin:0;
	padding:16px 2% 14px 0;
	border-bottom:1px solid #DDD;
	line-height:2.0em;
	font-size:14px;
	}
	
dl.holder dt{
	float: left;
	width: 20%;
	margin: 0;
	padding: 6px 0 4px 5%;
	border-bottom: none;
	line-height: 1.8em;
	font-size: 14px;
	}
	
dl.holder dd{
	float: left;
	width: 73%;
	margin: 0;
	padding: 6px 2% 4px 0;
	border-bottom: none;
	line-height: 1.8em;
	font-size: 14px;
	}
	

iframe.map{width:550px; height:350px;}



/*お問い合わせ*/



form table{width:100%; border:1px;}

form table th{background:#EEE;
padding:10px; text-align:left; width:30%;
font-size:13px;}


form table td{background:#FFF;
padding:10px; text-align:left;font-size:13px;}

table th em,span.or{
	color:#F30;
	}
	
p.error{
	color:#F30; margin-bottom:0.8em; font-size:14px; font-weight:bold;
	}	
	
form table td input{
	height: 28px;
	font-size: 13px;
	}
		
form table td textarea{
	font-size: 13px;
	}	
.confirm{
	padding: 20px 0;
	text-align: center;
	background:#FFF;
	}	
	
p.copyright	{DISPLAY:none;}

.confirm input{
	margin: 0 12px;
	padding: 5px 10px;
	width: 120px;
	height: 40px;
	}
	

input[type=radio]{
	margin-left:10px;
	}	
	
#contact form{	background: #AAA;}
	
	

/*ダウンロード*/

.download ul{
	border-top:1px dotted #999;
	}

.download li{
	list-style:none;
	border-bottom:1px dotted #999;
	}
	
.download li a{
	padding:18px 2px 14px 33px;
	display:block;
	background:url(../img/pdf.png) no-repeat 8px 20px;
	color:#333;
	}
	
.download li a.xls{
	background:url(../img/xls.png) no-repeat 10px 20px;
	}		
	
.download li a:hover{
	text-decoration: none;
	background-color: #ddf3ee;
	}	



/*採用ボタン*/

.btn_recruit a{background:#00a384; color:#FFF; line-height:1.2em; display:block; width:11em; padding:1.2em 2em 1em 2em; margin:10px auto; border:2px solid #FFF;
box-shadow: 2px 2px 6px 2px #CCC;
font-size:14px;
}


.btn_recruit a:hover{ text-decoration:none; background:#4cbea9;
}



/*デスクトップボタン*/

.btn_dtp a{
	background: #00a384;
	color: #FFF;
	line-height: 1.4em;
	display: block;
	width: 26em;
	padding: 1.2em 2em 1em 2em;
	margin: 10px auto 1.5em auto;
	border: 2px solid #FFF;
	box-shadow: 2px 2px 6px 2px #CCC;
	font-size: 14px;
	text-align: center;
}

.btn_dtp_s a{
	background: #00a384;
	color: #FFF;
	line-height: 1.4em;
	display: block;
	width: 16em;
	padding: 0.8em 1em 0.6em 1em;
	margin: 10px auto 1em auto;
	border: 2px solid #FFF;
	box-shadow: 2px 2px 6px 2px #CCC;
	font-size: 13px;
	text-align: center;
	float:right;
}


.btn_dtp a:hover,.btn_dtp_s a:hover{ text-decoration:none; background:#4cbea9;
}


/*デスクトップフォーム*/

.flow{background:#FFFACD;
padding:12px;}

.flow .title{
	float: left;
	width: 16%;
	background: #00a384;
	padding: 3.2% 0 2.8% 0;
	text-align: center;
	font-size: 15px;
	color: #FFF;
	font-weight: bold;
}

.flow .nagare{
	float: right;
	width: 82%;
	text-align: center;
}
	
	
h4.redbox{background:#F00; 
padding:4px 10px 3px 10px; 
color:#FFF; text-align:center;
margin-bottom:10px;}


.frame_lg{
	background:#D7FFEF;
	padding:1.5em;
	}
	
.frame_lg table td{
	vertical-align: top;
	padding: 0 1.5em 0.5em 0;
	font-size: 110%;
	}
.frame_lg p{
	font-size:110%;
	}	
	
p.nomargin{margin-bottom:0;}	
	
	
ol.privacy li{
	margin: 0 0 8px 2em;
}
ol.privacy{
	padding: 0 0 16px 0;
}
	
	
	
/******/

.head img{width:100%;}

.main{
	width: 95%;
	max-width: 950px;
	margin: 30px auto 0 auto;
	text-align:center;
}

.obi{
	width:100%;
	margin-top:30px;
	background:#253F96;
	text-align:center;}
	
.obi img{
	width:85%;
	max-width:500px;}	
	
.frame_contact{
	width:100%;
	background:#FFFAC6;
	text-align:center;
	padding:30px 0 15px 0;}	
	
.frame_contact{
	width:100%;
	background:#FFFAC6;
	text-align:center;
	padding:40px 0 20px 0;
	border-bottom:1px solid #253F96;}	
		
.frame_contact img{
	width:70%;
	max-width:397px;
	padding:0 0 20px 0;}	