@charset "UTF-8";
/*==================================================
	Universal Reset
	Default Style
	eachstyle
==================================================*/
/*--------------------------------------------------
	Universal Reset
--------------------------------------------------*/
html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, del, ins, em, img, hr, q, strong, sub, sup, dl, dt, dd,
ol, ul, li, fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
  font-size: 100%;
}

ul, ol {
  list-style: none;
}

th {
  font-weight: normal;
  text-align: left;
}

caption {
  text-align: left;
}

em {
  font-style: italic;
}

strong {
  font-weight: bold;
}

img {
  border: 0;
  vertical-align: bottom;
}

dt {
  font-weight: normal;
}

button, input, select, textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
}

button, input {
  line-height: normal;
}

button, select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

sup {
  vertical-align: top;
}

sub {
  vertical-align: baseline;
}

a {
  color: #000;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

article, aside, details, figcaption, figure, footer, header,
hgroup, main, nav, section, summary {
  display: block;
}

div, ul, dl, dt, dd, p,
h1, h2, h3, h4, h5, h6 {
  zoom: 1;
}

/*--------------------------------------------------
	margin padding  others style
--------------------------------------------------*/
.mt00 { margin-top:  0   !important; }
.mt05 { margin-top:  5px !important; }
.mt10 { margin-top: 10px !important; }
.mt12 { margin-top: 12px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }
.mt55 { margin-top: 55px !important; }
.mt60 { margin-top: 60px !important; }
.mt65 { margin-top: 65px !important; }
.mt70 { margin-top: 70px !important; }
.mt75 { margin-top: 75px !important; }
.mt80 { margin-top: 80px !important; }
.mt85 { margin-top: 85px !important; }
.mt90 { margin-top: 90px !important; }
.mt95 { margin-top: 95px !important; }
.mt100 { margin-top: 100px !important; }
.mr00 { margin-right:  0   !important; }
.mr05 { margin-right:  5px !important; }
.mr10 { margin-right: 10px !important; }
.mr12 { margin-right: 12px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }
.mr55 { margin-right: 55px !important; }
.mr60 { margin-right: 60px !important; }
.mr65 { margin-right: 65px !important; }
.mr70 { margin-right: 70px !important; }
.mr75 { margin-right: 75px !important; }
.mr80 { margin-right: 80px !important; }
.mr85 { margin-right: 85px !important; }
.mr90 { margin-right: 90px !important; }
.mr95 { margin-right: 95px !important; }
.mr100 { margin-right: 100px !important; }
.mb00 { margin-bottom:  0   !important; }
.mb05 { margin-bottom:  5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb12 { margin-bottom: 12px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb55 { margin-bottom: 55px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb65 { margin-bottom: 65px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb75 { margin-bottom: 75px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb85 { margin-bottom: 85px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb95 { margin-bottom: 95px !important; }
.mb100 { margin-bottom: 100px !important; }
.ml00 { margin-left:  0   !important; }
.ml05 { margin-left:  5px !important; }
.ml10 { margin-left: 10px !important; }
.ml12 { margin-left: 12px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml30 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
.ml45 { margin-left: 45px !important; }
.ml50 { margin-left: 50px !important; }
.ml55 { margin-left: 55px !important; }
.ml60 { margin-left: 60px !important; }
.ml65 { margin-left: 65px !important; }
.ml70 { margin-left: 70px !important; }
.ml75 { margin-left: 75px !important; }
.ml80 { margin-left: 80px !important; }
.ml85 { margin-left: 85px !important; }
.ml90 { margin-left: 90px !important; }
.ml95 { margin-left: 95px !important; }
.ml100 { margin-left: 100px !important; }
.pt00 { padding-top:  0   !important; }
.pt05 { padding-top:  5px !important; }
.pt10 { padding-top: 10px !important; }
.pt12 { padding-top: 12px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt45 { padding-top: 45px !important; }
.pt50 { padding-top: 50px !important; }
.pt55 { padding-top: 55px !important; }
.pt60 { padding-top: 60px !important; }
.pt65 { padding-top: 65px !important; }
.pt70 { padding-top: 70px !important; }
.pt75 { padding-top: 75px !important; }
.pt80 { padding-top: 80px !important; }
.pt85 { padding-top: 85px !important; }
.pt90 { padding-top: 90px !important; }
.pt95 { padding-top: 95px !important; }
.pt100 { padding-top: 100px !important; }
.pr00 { padding-right:  0   !important; }
.pr05 { padding-right:  5px !important; }
.pr10 { padding-right: 10px !important; }
.pr12 { padding-right: 12px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }
.pr45 { padding-right: 45px !important; }
.pr50 { padding-right: 50px !important; }
.pr55 { padding-right: 55px !important; }
.pr60 { padding-right: 60px !important; }
.pr65 { padding-right: 65px !important; }
.pr70 { padding-right: 70px !important; }
.pr75 { padding-right: 75px !important; }
.pr80 { padding-right: 80px !important; }
.pr85 { padding-right: 85px !important; }
.pr90 { padding-right: 90px !important; }
.pr95 { padding-right: 60px !important; }
.pr100 { padding-right: 100px !important; }
.pb00 { padding-bottom:  0   !important; }
.pb05 { padding-bottom:  5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb12 { padding-bottom: 12px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb45 { padding-bottom: 45px !important; }
.pb50 { padding-bottom: 50px !important; }
.pb50 { padding-bottom: 55px !important; }
.pb60 { padding-bottom: 60px !important; }
.pb65 { padding-bottom: 65px !important; }
.pb70 { padding-bottom: 70px !important; }
.pb75 { padding-bottom: 75px !important; }
.pb80 { padding-bottom: 80px !important; }
.pb85 { padding-bottom: 85px !important; }
.pb90 { padding-bottom: 90px !important; }
.pb95 { padding-bottom: 95px !important; }
.pb100 { padding-bottom: 100px !important; }
.pl00 { padding-left:  0   !important; }
.pl05 { padding-left:  5px !important; }
.pl10 { padding-left: 10px !important; }
.pl12 { padding-left: 12px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl30 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }
.pl45 { padding-left: 45px !important; }
.pl50 { padding-left: 50px !important; }
.pl55 { padding-left: 55px !important; }
.pl60 { padding-left: 60px !important; }
.pl65 { padding-left: 65px !important; }
.pl70 { padding-left: 70px !important; }
.pl75 { padding-left: 75px !important; }
.pl80 { padding-left: 80px !important; }
.pl85 { padding-left: 85px !important; }
.pl90 { padding-left: 90px !important; }
.pl95 { padding-left: 95px !important; }
.pl100 { padding-left: 10px !important; }

.flotL    { display: inline; float: left; }
.flotR    { display: inline; float: right; }
.ovhid { overflow: hidden; zoom:1; }
.block   { display: block; }
.none    { display: none; }
.inline  { display: inline; }
.inlineb { display: inline-block; }
.bnone   { border:none !important; }

.fNormal { font-weight: normal; }
.fBold   { font-weight: bold; }
.fItalic { font-style: italic; }
.ident {text-indent:-1em; padding-left:1em;}
/*--------------------------------------------------
	default style
--------------------------------------------------*/
*{
	box-sizing:border-box;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	word-break: break-all;
}
html{
	font-size: 62.5%;
}
body {
  font-family:'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  background:#fff;
  -webkit-text-size-adjust: 100%;
  font-size: 1.4rem;
  color:#333;
  line-height:1.6;
}
.clearfix:after {
    display: block;	content: "." ;
	visibility: hidden; 
	height: 0;	
	clear: both; 
	font-size: 0; 
}
.inner{
	width:90%;
	margin:0 auto;
}
img{
	width:100%;
}
header{
	width:100%;
	border-top:5px solid #f0f0f0;
	padding:10px 0;
}
header h1{
	width:25%;
	float:left;
}
header .menu{
	width:8%;
	float:right;
}
header nav{
	width:100%;
	position:absolute;
	top:0;
	z-index:200;
	display:none;
}
header nav .close{
	width:10%;
	float:right;
	margin-right:3.5%;
	background:#f0f0f0;
	padding-top:10px;
}
header nav .box{
	background:#f0f0f0;
	padding:8px 0;
	clear:both;
}
header nav .box p{
	width:97.5%;
	margin:0 auto;
	margin-bottom:2px;
}
footer{
	width:100%;
	border-top:1px solid #dbdcdd;
}
footer .upper p{
	width:32.2%;
	margin:0 auto;
	padding:15px 0;
}
footer .middle p{
	width:50%;
	float:left;
}
footer address{
	text-align:center;
	background:#2e3093;
	color:#fff;
	font-size:12px;
	font-style:normal;
	padding:10px 0;
}
.pankuzu{
	background:#f0f0f0;
	padding:10px 5%;
	font-size:12px;
	font-family: Helvetica;
}
.pankuzu li{
	float:left;
}
.pankuzu a:link,
.pankuzu a:visited,
.pankuzu a:active,
.pankuzu a:hover{
	text-decoration:none;
}
.pagetop{
	width:100%;
	background:#babcbe;
	margin-bottom:25px;
}
.pagetop p{
	width:70.9%;
	margin:0 auto;
}
/*--------------------------------------------------
	each style
--------------------------------------------------*/
/*top*/
.top .lead{
	background:#f0f0f0;
	padding:13px 0;
	border-bottom:6px solid #2e3093;
}
.top .lead p{
	width:93%;
	margin:0 auto;
}
.top .news{
	padding:15px 0;
}
.top .news .newsindex{
	margin-top:15px;
	font-size:12px;
}
.top .news .newsindex dl:not(:nth-of-type(1)){
	margin-top:10px;
}
.top .news .newsindex dl dd{
	position:relative;
}
.top .news .newsindex dl dd.pdf::after{
	position:relative;
	content:"";
	display:inline-block;
	vertical-align:middle;
	width:40px;
	height:15px;
	background-image:url(../img/img_sp_pdficon.png);
	background-position:center top;
	background-repeat:no-repeat;
	background-size:cover;
	margin-left:15px;
}
.top .news-link{
	margin-top:20px;
}
/*business*/
.business .contents .inner{
	padding:30px 0;
}
.business .underArea{
	background:#f0f0f1;
	padding:15px 0 35px 0;
}
.business .underArea .ttl{
	width:20.5%;
	margin:0 auto;
}
.business .underArea .sub01{
	width:27.4%;
	margin:25px auto 10px auto;
}
.business .underArea .sub02{
	width:22.7%;
	margin:32px auto 10px auto;
}
.business .underArea .sub03{
	width:54%;
	margin:25px auto 10px auto;
}
.business .underArea .others{
	width:78.2%;
	margin:0 auto;
}
.business .att{
	margin-top:15px;
	font-size:1.2rem;
}
.business .flow{
	background:#f2f5fb;
}
.business .flow .inner{
	padding:15px 0;
}
/*index*/
.business .c01{
	border-bottom:1px solid #dbdcdd;
	padding-bottom:15px;
}
.business .c02{
	border-bottom:1px solid #dbdcdd;
	padding-bottom:25px;
}
.business .ttl01_01{
	width:79%;
	margin:0 auto;
}
.business .sub01_01{
	width:34%;
	margin:30px auto 25px auto;
}
.business .sub01_02{
	width:60.6%;
	margin:20px auto 25px auto;
}
.business .sub01_03{
	width:64.5%;
	margin:20px auto 25px auto;
}
.business .sub01_04{
	width:36.3%;
	margin:20px auto 25px auto;
}
/*tech*/
.tech .ttl02_01{
	width:29.4%;
	margin:0 auto;
}
.tech .sub02_01{
	width:64.3%;
	margin:25px auto;
}
.tech .sub02_02{
	width:66.5%;
	margin:25px auto;
}
.tech .sub02_03{
	width:45.7%;
	margin:25px auto;
}
.tech .sub02_04{
	width:82%;
	margin:25px auto;
}
.tech p{
    font-size: 1.3rem;
}
/*environ*/
.environ .ttl03_01{
	width:24.3%;
	margin:0 auto 25px auto;
}
.environ .sub03_01{
	width:60.5%;
	margin:0 auto;
}
.environ .txt01{
	margin:20px 0;
	text-align:center;
}
.environ .att{
    width: 98%;
    margin: 0 auto;
    font-size: 12px;
    text-align: right;
    padding-top: 10px;
}

/*company*/
.company .underArea{
	background:#f0f0f1;
	padding:15px 0 35px 0;
}
.company .underArea .ttl{
	width:20.5%;
	margin:0 auto;
}
.company .underArea .sub01{
	width:18.4%;
	margin:25px auto 10px auto;
}
.company .underArea .sub02{
	width:36.2%;
	margin:32px auto 10px auto;
}
.company .underArea .sub03{
	width:54%;
	margin:25px auto 10px auto;
}
.company .underArea .others{
	width:78.2%;
	margin:0 auto;
}
/*index*/
.company .ttl01_01{
	width:19.3%;
	margin:0 auto 17px auto;
}
.company .ttl01_02{
	width:19.4%;
	margin:0 auto 17px auto;
}
.company .ttl01_03{
	width:86.3%;
	margin:35px auto 17px auto;
}
.company .ttl01_04{
	width:19.4%;
	margin:0 auto 17px auto;
}
.company .list dl{
	padding:8px 0;
	border-bottom:1px solid #dbdcdd;
}
.company .list dl dt,
.company .map dl dt{
	color:#2e3093;
	font-weight:bold;
}
.company .list dl:last-child{
	border:none;
}
.company .map iframe{
	width:100%;
	height:150px;
	margin-top:20px;
}
/*message*/
.message .c01{
	border-bottom:1px solid #dbdcdd;
	padding-bottom:25px;
	margin-bottom:25px;
}
.message .ttl02_01{
	width:19.4%;
	margin:0 auto;
}
.message .president{
	width:36.8%;
	margin:30px auto 0 auto;
}
/*group*/
.group .c01{
	border-bottom:1px solid #dbdcdd;
	padding-bottom:25px;
	margin-bottom:25px;
}
.group .ttl03_01{
	width:38.1%;
	margin:0 auto;
}
.group .ttl03_02{
	width:38.1%;
	margin:0 auto;
}
.group .sub03_01{
	width:88.2%;
	margin:25px auto 0 auto;
}
.group .text03_01{
	width:67%;
	margin:25px auto 15px auto;
}
.group .logo03_01{
	width:66.8%;
	margin:30px 0 0 0;
}
.group .logo03_02{
	width:72%;
	margin:45px 0 0 0;
}
.group .list{
	margin-top:25px;
}
/*sitemap*/
.sitemap dl{
	border-bottom:1px solid #dbdcdd;
	padding:20px 0;
}
.sitemap dl dd{
	width:77.5%;
	margin:0 auto;
	margin-top:10px;
}
.sitemap dl dd:first-child{
	margin-top:0;
}
/*terms*/
.terms .contents div.inner{
	padding:25px 0 40px 0;
}
.terms .ttl01{
	width:39.8%;
	margin:35px auto 20px auto;
}
.terms .ttl02{
	width:43.7%;
	margin:35px auto 20px auto;
}
/*contact*/
.contact .contents div.inner{
	padding:20px 0 0 0;
}
.contact .c01{
	border-bottom:1px solid #dbdcdd;
	padding-bottom:35px;
	margin-bottom:25px;
}
.contact .ttl01_01{
	width:39.8%;
	margin:0 auto 25px auto;
}
.contact .att{
	font-size:1.2rem;
	margin-bottom:10px;
}
.contact .att01{
	font-size:1.2rem;
	margin-top:10px;
	text-align:right;
}
.contact .contents span{
	color:#bd1d2c;
}
.contact form .title{
	font-size:1.6rem;
	color:#2e3093;
	background:#eaeaf4;
	padding:5px 0;
}
.contact form .title p{
	font-weight:bold;
}
.contact form .inputArea{
	background:#f2f2f2;
	padding:15px 0;
}
.contact form .inputArea .inner{
	padding:0;
}
.contact form .inputArea .inner div{
	margin-top:15px;
}
.contact form .inputArea .inner div:first-child{
	margin-top:0;
}
.contact form textarea,
.contact form input{
	width:100%;
}
.contact form input{
	height:40px;
}
.contact form .post input:first-child{
	width:35%;
}
.contact form .post input{
	width:52%;
}
.contact form .tel input{
	width:24%;
}
.contact form .inputArea .must{
    width:39.6%;
    margin-top:2%;
}
.contact form .inputArea .error{
	display:block!important;
}
.contact .btnArea{
	width:290px;
	display:block;
	margin:30px auto;
	padding:0!important;
}
.contact .submit01{
	text-indent:-9999px;
	width:290px;
	height:41px;
	margin:0 auto;
	text-align:center;
	border:none;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:0 0;
	background-image:url(../../img/contact/btn_contact_confirm.gif);
	background-color:transparent;
}
.contact .submit02{
	text-indent:-9999px;
	width:290px;
	height:41px;
	margin:0 auto;
	text-align:center;
	border:none;
	background-size:contain;
	background-repeat:no-repeat;
	background-position:0 0;
	background-image:url(../../img/contact/btn_contact_send.gif);
	background-color:transparent;
}
input[type=radio],
input[type=checkbox] {
    display: inline-block;
    margin-right: 6px;
}
input[type=radio] + label,
input[type=checkbox] + label {
    position: relative;
    display: inline-block;
    margin-right: 12px;
    font-size: 14px;
    line-height: 30px;
    cursor: pointer;
}
 
@media (min-width: 1px) {
    input[type=radio],
    input[type=checkbox] {
        display: none;
        margin: 0;
    }
    input[type=radio] + label,
    input[type=checkbox] + label {
        padding: 0 0 0 24px;
    }
    input[type=radio] + label::before,
    input[type=checkbox] + label::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
		-webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        width: 18px;
        height: 18px;
        margin-top: -9px;
        background-color: white;
    }
    input[type=radio] + label::before {
        border: 2px solid #c2ced2;
        border-radius: 30px;
    }
    input[type=checkbox] + label::before {
        border: 2px solid #c2ced2;
    }
    input[type=radio]:checked + label::after,
    input[type=checkbox]:checked + label::after {
        content: "";
        position: absolute;
        top: 50%;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
    }
    input[type=radio]:checked + label::after {
        left: 5px;
        width: 8px;
        height: 8px;
        margin-top: -4px; 
        background: #2e3093;
        border-radius: 8px;
    }
    input[type=checkbox]:checked + label::after {
        left: 3px;
        width: 16px;
        height: 8px;
        margin-top: -8px;
        border-left: 3px solid #2e3093;
        border-bottom: 3px solid #2e3093;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
}
/*confirm*/
.contact .ttl02_01{
	width:39.8%;
	margin:0 auto 25px auto;
}
/*complete*/
.contact .ttl03_01{
	width:39.8%;
	margin:0 auto 25px auto;
}
.contact .sub03_01{
	width:72.4%;
	margin:25px auto;
}
/*system added*/
.err_message {
    padding: 2% 0 0 0;
    color: #bd1d2c;
}
 
.contact .submitback{
    text-indent:-9999px;
    width:290px;
    height:41px;
    margin:0 auto;
    text-align:center;
    border:none;
    background-size:contain;
    background-repeat:no-repeat;
    background-position:0 0;
    background-image:url(../../img/contact/btn_contact_back.gif);
    background-color:transparent;
}
/*news*/
.news-index .allnews{
	margin:15px 0 80px 0;
	font-size:12px;
}
.news-index .allnews dl{
	border-bottom:1px solid #bcbcbc;
	padding-bottom:10px;
}
.news-index .allnews dl:last-child{
	border-bottom:none;
	padding-bottom:0;
}
.news-index .allnews dl:not(:nth-of-type(1)){
	margin-top:10px;
}
.news-index .allnews dl dd{
	position:relative;
}
.news-index .allnews dl dd.pdf::after{
	position:relative;
	content:"";
	display:inline-block;
	vertical-align:middle;
	width:40px;
	height:15px;
	background-image:url(../img/img_sp_pdficon.png);
	background-position:center top;
	background-repeat:no-repeat;
	background-size:cover;
	margin-left:15px;
}