@charset "UTF-8";
/*base*/
*{
	margin: 0px;
	padding: 0px;
	}

header, footer, nav, section, article {
	display:block;
	}

html{
	font-size: 100%;
	overflow-y: scroll; 
	}

body{
	font-size: 0.875em;
	color: #000000;
	background: #ffffff;
	font-family: 'Helvetica','Helvetica Neue','Avenir','Arial','メイリオ',sans-serif;
	word-wrap: break-word;
	}

ul li{
	/*list-style-type: none;*/
	list-style-position: outside;
	}

ol li{
	list-style-position: outside;
	margin: 0px 0px 1em 2em;
	}
p{
	line-height: 2;
	}


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

.alignright{
	float: right;
	}

.cl{
	clear: both;
	}

.clearfix{
	overflow: hidden;
	}
* html .clearfix { zoom: 1; }  /* IE6 */
*:first-child+html .clearfix{ zoom: 1; }  /* IE7 */

img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
 	}

img.alignright {
/*	padding: 4px;*/
	margin: 0 0 2px 7px;
	display: inline;
	 }

img.alignleft {
/*	padding: 4px;*/
	margin: 0 7px 2px 0;
	display: inline;
	}

img.alignnone {
/*	padding: 4px;*/
	margin: 7px;
	display: inline;
	}

/*text-align*/

.txt_alignleft{
	text-align: left !important;
	}
.txt_alignright{
	text-align: right !important;
	}
.txt_aligncenter{
	text-align: center !important;
	}

/*vertical-align*/

.txt_aligntop{
	vertical-align: top !important;
	}
.txt_alignmiddle{
	vertical-align: middle !important;
	}
.txt_alignbottom{
	vertical-align: bottom !important;
	}

/*link*/
a img {
    border-style: none;
	}

a:link{
	color: #005baa;
	text-decoration: none;
	}

a:active{
	text-decoration: underline;
	}

a:visited{
	color: #005baa;
	}

a:hover{
	text-decoration: underline;
	}

a img:hover{
	opacity: 0.8;
	}

div.inner{
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
	}

/*header*/
header{
	}
header div.inner{
	-js-display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	height: 80px;
	}

header h1 a{
	display: block;
	text-decoration: none;
	text-indent: -9999px;
	width: 240px;
	height: 48px;
	background: url('../img/header_logo.png') left center no-repeat;
	background-size: 219px 48px;
	}
header h1 a:hover{
	opacity: 0.8;
	}

header img.header_mark{
	display: block;
	margin-left: 19px;
	width: 69px !important;
	height: 40px;
	}


/*mainmenu*/
#mainmenu{
	width: calc(100% - 240px);
	-js-display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	}

#mainmenu ul{
	-js-display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	border-right: 1px solid #cccccc;
	}

#mainmenu li{
	list-style-type: none;
	border-left: 1px solid #cccccc;
	}
  
#mainmenu li a{
	display: block;
	text-decoration: none;
	height: 80px;
	-js-display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
                                text-align: center;
	line-height: 1;
	}

#mainmenu li.mainmenu_service a{
                                width: 115px;
                                }
#mainmenu li.mainmenu_company a{
                                width: 115px;
                                }
#mainmenu li.mainmenu_inquiry a{
                                width: 150px;
                                }
#mainmenu li.mainmenu_recruiting a{
                                width: 127px;
                                }
#mainmenu li.mainmenu_environment a{
                                width: 160px;
                                }

#mainmenu li a .main{
	font-size: 1.285em;
	color: #005baa;
	text-align: center;
	}

#mainmenu li a .en{
                                display: inline-block;
                                padding-top: 10px;
	font-size: 0.7142em;
	color: #a1b4c6;
	font-family: 'Helvetica',sans-serif;
	}

#mainmenu li a:hover,#mainmenu li a.current{
	background: #005baa;
	}

#mainmenu li a:hover .main,#mainmenu li a.current .main{
	color: #ffffff;
	}

#mainmenu li a:hover .en,#mainmenu li a.current .en{
	color: #ffffff;
	}

#mainmenu .is-open{
	display: none;
	}


/*contents*/

section{
	}

section div.inner{
	}

/*footer*/
footer{
	padding: 20px 0 0;
	}

footer div.inner{
	-js-display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	}

footer address{
	display: block;
	font-style: normal;
	line-height: 1.7;
	}

#footermenu{
	-js-display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	padding-bottom: 20px;
	}

#footermenu ul.footer_parentmenu{
	width: 730px;
	-js-display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	list-style-type: none;
	}

#footermenu ul.footer_parentmenu li{
	width: calc(100% / 5);
	line-height: 1.7;
	}

#footermenu ul.footer_parentmenu li a{
	font-weight: bold;
	}

#footermenu ul.footer_submenu{
	display: block;
	list-style-type: none;
	}

#footermenu ul.footer_submenu li{
	width: auto;
	position: relative;
	padding-left: 15px;
	}
#footermenu ul.footer_submenu li::before{
	content: '';
	position: absolute;
	bottom: 8px;
	left: 0;
	border-top: 4px solid transparent;
	border-right: 0px solid transparent;
	border-left: #cccccc 8px solid;
	border-bottom: 4px solid transparent;
	}

#footermenu ul.footer_submenu li a{
	font-weight: normal;
	}

footer p.copyright{
	text-align: center;
	border-top: 1px solid #cccccc;
	height: 60px;
	line-height: 60px;
	font-size: 0.857em;
	color: #666666;
	}

/*pagetop*/
#btn_pagetop{
	position: fixed;
	bottom: 0;
	right: 0;
	display: none;
	z-index: 1001;
	}
#btn_pagetop a{
	position: absolute;
	bottom: 0;
	right: 0;
	display: block;
	text-decoration: none;
	text-indent: -9999px;
	width: 60px;
	height: 60px;
	background: url('../img/btn_pagetop.gif') center center no-repeat;
	}
#btn_pagetop a:hover{
	opacity: 0.8;
	}


/*width*/
.quattro{
	width: 25%;
	}

.half{
	width: 50%;
	}
*:first-child+html .half { width: 49%; }  /* IE7 */

.full{
	width: 100%;
	}

.w480{
	width: 480px;
	}

.w1000{
	width: 1000px;
	}

/*margin*/
.mgt1em{
	margin-top: 1em !important;
	}

.mgt10{
	margin-top: 10px;
	}

.mgt20{
	margin-top: 20px;
	}

.mgt30{
	margin-top: 30px;
	}

.mgt35{
	margin-top: 30px;
	}

.mgt40{
	margin-top: 40px;
	}

.mgt50{
	margin-top: 50px;
	}

.mgl50{
	margin-left: 50px;
	}


/*fontsize*/
.txt_reset{
	font-size: 1em;
	}
.txt_12{
	font-size: 0.857em;
	}
.txt_16{
	font-size: 1.142em;
	}
.txt_18{
	font-size: 1.285em;
	}
.txt_20{
	font-size: 1.428em;
	}
.txt_24{
	font-size: 1.714em;
	}
.txt_30{
	font-size: 2.14em;
	}


/*fontweight*/
.txt_bold{
	font-weight: bold;
	}
.txt_normal{
	font-weight: normal;
	}

/*sup*/
sup{
	font-size: 0.857em;
	}

/*color*/

.col_cc3333{
                                color: #cc3333;
                                }

/*background*/
.bg_ccc{
	background: #cccccc;
	padding: 20px;
	}

.bg_fff{
	background: #ffffff;
	padding: 10px;
	}

/*box*/
.box_ccc{
	border: 1px solid #cccccc;
	padding: 50px;
	}
.box_p1020{
                    padding: 10px 20px;
                    }


/*icon*/
.icon_newwin{
	padding: 0px 17px 1px 0px;
	background: url('../img/icon_newwin.png') right top no-repeat;
                                background-size: 12px 10px;
	}

.icon_pdf{
	display: inline-block;
	min-height: 32px;
	padding: 5px 0 0 40px;
	background: url('../img/icon_pdf.png') left top no-repeat;
	}


/*li*/

li.disc{
	list-style-type: disc;
	margin: 0px 0px 5px 1.5em;
	}

li.square{
	list-style-type: none;
	margin: 10px 0;
	padding-left: 20px;
	position: relative;
	}

li.square::before{
	content: "";
	width: 14px;
	height: 14px;
	background-color: #005baa;
	position: absolute;
	top: 3px;
	left: 0;
	}

li.square_cross{
	list-style-type: none;
	margin: 10px 0;
	padding-left: 20px;
	background: url('../img/icon_square_cross.gif') left 9px no-repeat;
	}

li.circle{
	list-style-type: none;
	margin: 0px 0px 5px 0;
	padding-left: 20px;
	position: relative;
	}

li.circle::before{
	content: "";
	width: 14px;
	height: 14px;
	border-radius: 100%;
	background-color: #333333;
	position: absolute;
	top: 3px;
	left: 0;
	}

li.icon_link{
	position: relative;
	width: 220px;
	padding-left: 20px;
	}

li.icon_link::before{
	content: '';
	position: absolute;
	bottom: 8px;
	left: 0;
	border-top: 5px solid transparent;
	border-right: 0px solid transparent;
	border-left: #333333 11px solid;
	border-bottom: 5px solid transparent;
	}

ol.wrap,ol.wrap_r{
	list-style-type: none;
	margin-left: 0em;
	}

ol.wrap li,ol.wrap_r li{
	counter-increment: cnt;
	margin-bottom: 1em;
	}

ol.wrap li:before{
	content: "(" counter(cnt) ") ";
	display:inline-block;
	margin-left: -2em;
	width: 2em;
	}

ol.wrap_r li:before{
	content: "" counter(cnt) ") ";
	display:inline-block;
	margin-left: -1.5em;
	width: 1.5em;
	}

ol.wrap li > ul >li{
	counter-increment: none;
	}

ol.wrap li > ul >li:before {
	display: none;
	}

/*h*/


/*table*/
table.tbl_01{
	width: 100%;
	border-spacing: 0px;
	border-left: 1px solid #cccccc;
	}

table.tbl_01 th,table.tbl_01 td{
	border-bottom: 1px solid #cccccc;
	border-right: 1px solid #cccccc;
	padding: 20px 10px;
	line-height: 180%;
	}
table.tbl_01 tr:first-of-type th,table.tbl_01 tr:first-of-type td{
	border-top: 1px solid #cccccc;
                                }

table.tbl_01 th{
	}

table.tbl_01 td{
	}

table.tbl_01 .bg_005baa{
	background: #005baa;
	color: #ffffff;
	}

table.tbl_01 .bg_bfd6e9{
	background: #bfd6e9;
	}

table.tbl_01 td.bd_none{
	border-bottom: none;
	border-right: none;
	}
table.tbl_01 tr:first-of-type td.bd_none{
	border-top: none;
                                }
table.tbl_02{
	width: 100%;
	border-spacing: 0px;
	border-bottom: 1px solid #cccccc;
	}

table.tbl_02 th,table.tbl_02 td{
	border-top: 1px dotted #cccccc;
	padding: 20px 10px;
	line-height: 180%;
	vertical-align: top;
	}
table.tbl_02 th{
	text-align: left;
	}

table.tbl_02 th.bd_none,table.tbl_02 td.bd_none{
	border-top: none;
	padding: 0 10px 20px;
	}

table.tbl_03{
	width: 100%;
	border-spacing: 0px;
	border-bottom: 1px solid #cccccc;
	}

table.tbl_03 th,table.tbl_03 td{
	border-top: 1px solid #cccccc;
	padding: 20px;
	line-height: 180%;
	vertical-align: top;
	}
table.tbl_03 th{
	text-align: left;
	}

table.tbl_03 th.bd_none,table.tbl_03 td.bd_none{
	border-top: none;
	padding: 0 20px 20px;
	}

/*form*/
input[type="text"], button, textarea{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	}


/*flex*/
.flex{
	-js-display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	}

.align_items_start{
	-webkit-box-align: start;
	-ms-flex-align: start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	}

.align_items_center{
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	}

.justify_content_space_between{
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	}

.justify_content_start{
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	}

.justify_content_center{
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	}

.flex_wrap{
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	}

/*hide*/
.sp,.mainmenu_btn{
	display: none !important;
	}



/* Media Queries
==========================================================================*/
@media screen and (max-width:1200px) {
div.inner{
	width: calc(100% - 20px);
	}
header div.inner{
	width: 1000px;
	}
img {
	max-width: 100%;
	height: auto;
     }

}
@media screen and (max-width:1025px) {
header div.inner{
	width: calc(100% - 20px);
	}
header img.header_mark{
	margin-right: 10px;
	}
#mainmenu li a{
	padding: 0 15px;
	}

#mainmenu li.mainmenu_service a,#mainmenu li.mainmenu_company a,#mainmenu li.mainmenu_inquiry a,#mainmenu li.mainmenu_recruiting a,#mainmenu li.mainmenu_environment a{
                                width: auto;
                                }
}


@media screen and (max-width:767px) {
/*hide*/
.pc{
	display: none !important;
	}
.sp{
	display: block !important;
	}


body{
	overflow-x: hidden;
	}

html {
	-webkit-text-size-adjust: none;
	}
header div.inner{
	height: 40px;
	}

header h1 a{
	width: 110px;
	height: 24px;
	background-size: 110px 24px;
	}

header img.header_mark{
	width: 35px !important;
	height: 20px;
	margin-right: 45px;
	}

.mainmenu_btn{
	display: block !important;
	position: absolute;
	width: 30px;
	height: 30px;
	top: 5px;
	right: 5px;
	z-index: 1000;
	background-color: #005baa;
	}
.mainmenu_btn span{
	position: absolute;
	left: 7px;
	width: 16px;
	height: 2px;
	background-color: #ffffff;
	}
.mainmenu_btn span.top {
	top: 8px;
	}
.mainmenu_btn span.middle {
	top: 14px;
	}
.mainmenu_btn span.bottom {
	bottom: 8px;
	}
.mainmenu_btn.active{
	background-color: #ffffff;
	}
.mainmenu_btn.active span{
	background-color: #005baa;
	}
.mainmenu_btn.active span.top {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(6px) rotate(-45deg);
	}
.mainmenu_btn.active span.middle {
	opacity: 0;
	}
.mainmenu_btn.active span.bottom {
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-6px) rotate(45deg);
	}


#mainmenu{
	display: none;
	position: fixed;
	top: 40px;
	left: 0;
	z-index: 999 !important;
	width: 100%;
	height: calc(100vh - 50px);
	padding: 25px 0 0;
	overflow: auto;
	background: rgba(255,255,255,0.9);
	}

#mainmenu .is-open{
	display: block;
	}

#mainmenu ul{
	width: calc(100% - 70px);
	display: block;
	margin: 0 auto;
	border-right: none;
	border-top: 1px solid #cccccc;
	}

#mainmenu li{
                    width: auto;
	list-style-type: none;
	border-left: none;
	border-bottom: 1px solid #cccccc;
	}

#mainmenu li a{
	width: 100%;
	height: 50px;
                    padding: 0;
	}

#mainmenu li a .main{
	font-size: 1.285em;
	}
#mainmenu li a .en{
                                padding-top: 0;
	font-size: 0.6666em;
	}
	
#mainmenu ul.sp_menu{
	-js-display: flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	list-style-type: none;
	width: calc(100% - 70px);
	margin: 10px auto;
	border-top: none;
	}

#mainmenu ul.sp_menu li{
	width: calc(50% - 15px);
	position: relative;
	padding-left: 15px;
	border-bottom: none;
	}

#mainmenu ul.sp_menu li::before{
	content: '';
	position: absolute;
	bottom: 8px;
	left: 0;
	border-top: 4px solid transparent;
	border-right: 0px solid transparent;
	border-left: #cccccc 8px solid;
	border-bottom: 4px solid transparent;
	}

#mainmenu ul.sp_menu li a{
	display: inline;
	text-decoration: none;
	text-indent: 0;
	width: auto;
	height: auto;
	}

#mainmenu ul.sp_menu li a:hover{
	background: none;
	}

section,article{
	}
section{
	}

.flex{
	display: block;
	}
/*footer*/

footer div.inner{
	display: block;
	margin-bottom: 10px;
	}

#footermenu{
	display: none;
	}

footer address{
	text-align: center;
	}

footer img.footer_logo{
	width: 24%;
	}

footer p.copyright{
	height: 30px;
	line-height: 30px;
	}


/*pagetop*/
#btn_pagetop{
	position: fixed;
	bottom: 0;
	right: 0;
	display: none;
	z-index: 1001;
	}
#btn_pagetop a{
	width: 30px;
	height: 30px;
	background-size: 30px 30px;
	}
/*margin*/
.mgt50,.mgt40{
	margin-top: 10px;
	}
/*width*/
.w480{
	width: 100%;
	}

/*form*/
input,button,textarea,select{
	font-size: 1.142em;
	}



/*txt*/
.txt_30{
	font-size: 1.428em;
	}



/*background*/
.bg_ccc{
	padding: 10px;
	}

.bg_fff{
	background: #ffffff;
	padding: 5px;
	}

/*box*/
.box_ccc{
	width: calc(100% - 22px);
	padding: 10px;
	}
.box_p1020{
                    padding: 10px;
                    }
/*h*/


/*table*/

table.tbl_01{
	/*margin: 2em 0 1em;*/
	border-top: 1px solid #cccccc;
	}

table.tbl_01 th,table.tbl_01 td{
	padding: 10px;
	}

table.tbl_01 tr:first-of-type th,table.tbl_01 tr:first-of-type td{
	border-top: none;
                                }

table.tbl_01 .bg_005baa{
                                margin: 0;
                                }

table.tbl_02 th.bd_none,table.tbl_03 th.bd_none{
	padding: 0 10px 0;
	}

table.tbl_02 td.bd_none,table.tbl_03 td.bd_none{
	padding: 0 10px 10px;
	}



table.tbl_sp colgroup{
                                display: none;
                                }

table.tbl_sp tr{
	display: block;
	}
table.tbl_sp th,table.tbl_sp td{
	display: list-item;
	list-style-type: none;
	width: auto;
	padding: 10px;
	word-break: break-all;
	}

table.tbl_sp th{
	width: calc(100% - 20px);
	border-bottom: none;
	padding-bottom: 0;
	}

table.tbl_02.tbl_sp td,table.tbl_03.tbl_sp td{
	border-top: none;
	padding-top: 0;
	}

img.aligncenter,img.alignright,img.alignleft,img.alignnone{
	margin: 5px 0;
	}

}
@media screen and (max-width:340px) {

#mainmenu ul{
	width: calc(100% - 50px);
	}
	
#mainmenu ul.sp_menu{
	width: calc(100% - 50px);
	}

}
@media print{
}