@charset "utf-8";
/* CSS Document */
/*--------------------------------------------------------reset*/
html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, 
a, em, img, figure,
dl, dt, dd, ul, li,form,
table, tr, th, td,
article, aside, footer, header,section{
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
    color:#555;
}
/* HTML5 display-role reset for older browsers */
article, aside, 
footer, header, section {
	display: block;
}
body {
    line-height: 1;
    font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	text-align: justify;
	font-feature-settings: "pkna" 1;
}
ol, ul {
    margin:0;
    padding:0;
    list-style: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
p,li,dt,dd{
    line-height: 1.6;
}
em{
    font-style:normal;
    font-weight: bold;
}
/*reset form*/
input,
button,
select,
textarea {/*
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;*/
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

/*input[type='checkbox'],
input[type='radio'] {
  display: none;
}*/

input[type='submit'],
input[type='button'],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}
/*common*/
html{
    font-size:62.5%;
}
body{
    background:#999;
}
img{
    width: 100%;
    height:auto;
    vertical-align: bottom;
}
a{
    text-decoration:none;
    color:#184ca7;
}
a:hover{
    text-decoration:underline;
}
a[target="_blank"]{
    background:url("../images/icn_blank.svg") no-repeat 99% 50%;
    padding-right:27px;
}
a.noIcn[target="_blank"]{
    background:none!important;
    padding:none!important;
}
.br::after{
    content:" ";
}
h1{
    margin:40px;
    font-weight: 100;
    line-height:1.3;
    text-align: center;
    position: relative;
    /*display: inline-block;*/
}
  h1>span{
    position: relative;
    display: inline-block;
    padding: 0 20px;
    animation: h1Anim 0.5s ease normal forwards;
  }
  @keyframes h1Anim{
    0%{opacity: 0}
    50%{opacity: 0}
    100%{opacity: 1}
  }
  h1 .motion{
    display: inline-block;
    position: absolute;
    height: 100%;
    left:calc(50%);
    width:auto;
    animation: animMotion 0.6s cubic-bezier(0.680, -0.550, 0.265, 1.550) normal forwards;
  }
  @keyframes animMotion{
    0%{
      width:0%;
      opacity: 0;
    }
    100%{
      width:100%;
      left:0%;
      opacity: 1;
    }
  }
  h1 .motion:before{
    position: absolute;
    content: '';
    top: 0;
    right: -10px;
    width: 12px;
    height: 100%;
    border: 1px solid #555;
    border-left: none;
  }
  h1 .motion:after{
    position: absolute;
    content: '';
    top: 0;
    left: -10px;
    width: 12px;
    height: 100%;
    border: 1px solid #555;
    border-right: none;
  }
/*h1 span{
    position: relative;
    display: inline-block;
    padding: 0 20px;
} 
h1 span::before{
    position: absolute;
    content: '';
    top: 0;
    right: -10px;
    width: 12px;
    height: 100%;
    border: 1px solid #555;
    border-left: none;
}
h1 span::after{
    position: absolute;
    content: '';
    top: 0;
    left: -10px;
    width: 12px;
    height: 100%;
    border: 1px solid #555;
    border-right: none;
}*/
    .path{
        position:relative;
        top:-100px;
    }
    .path2svg{
        width:100%;
        height:auto;
    }
    .lineWave{
        fill:none;
        stroke:#ccc;
        stroke-width:1px;
        stroke-dasharray:1300;
        stroke-dashoffset:1300;
        animation:anim 0.6s linear 1 forwards;
    }
    @keyframes anim{
        to{stroke-dashoffset:0;}
    } 
/*
h1 span{
    position: relative;
    display: inline-block;
    padding: 0 20px;
} 
h1 span::before{
    position: absolute;
    content: '';
    top: 0;
    right: -10px;
    width: 12px;
    height: 100%;
    border: 1px solid #555;
    border-left: none;
}
h1 span::after{
    position: absolute;
    content: '';
    top: 0;
    left: -10px;
    width: 12px;
    height: 100%;
    border: 1px solid #555;
    border-right: none;
}*/
/*h1 {
    position: relative;
    color: #333;
    margin: 47px auto;
    text-align:center;
    text-shadow: 0 0 2px white;
    z-index: 1;
}
h1::before {
    content: "";
    position: absolute;
    background: #ddd;
    opacity:0.3;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    z-index: -1;
    line-height: 1.2;
}
h1 span:before{
    content: "\A" ;
    white-space: pre ;
}
h1 span{
    font-size:2rem;
    line-height: 1;
}*/

h2 {
    margin-bottom:10px;
    position: relative;
    padding-left: 1em;
}
h2::after {
    position: absolute;
    top: 2rem;
    left:0;
    transform:translateY(-50%);
    content: '';
    width: 10px;
    height:10px;
    border: solid 4px #184ca7;
    border-radius:100%;
}
h3{
    margin-bottom: 6px;
}
h3 {
     position: relative;
     padding-left: 1.2em;
}
 
h3::after {
     position: absolute;
     top: 50%;
     left:0;
     transform:translateY(-50%);
     content: '';
     width: 20px;
     height:1px;
     background-color: #555;
}
@media(max-width:640px){
    .br::after{
    content: "\A" ;
    white-space: pre;
    }
}
.w220{width:220px!important;}
.w400{width:400px!important;}
.w50per{width:50%!important;}
.mt20{margin-top:20px!important;}
.mt30{margin-top:30px!important;}
.mr30{margin-right:30px!important;}

.mb6{margin-bottom:6px!important;}
.mb10{margin-bottom:10px!important;}
.mb20{margin-bottom:20px!important;}
.mb30{margin-bottom:30px!important;}
.mb50{margin-bottom:50px!important;}

.ml30{margin-left:30px!important;}

.fs14{font-size:1.4rem!important;}
.txtC{text-align: center!important;}
.txtL{text-align: left!important;}
.txtR{text-align: right!important;}

/*table*/
.tbl01,.tbl02,.tbl03,.tbl04,.tbl05,.tbl06{
    width:100%;
    border-collapse: collapse;
    border:1px solid #ccc;
}
.tbl01 .hl01 th,.tbl02 .hl01 th,.tbl03 .hl01 th,.tbl04 th,.tbl05 th,.tbl06 th{
    background:#999;
    color:#fff;
    font-weight:normal;
}
.tbl01 .hl01 th:first-child{
    width:40%;
}
.tbl01 th,.tbl01 td,.tbl02 th,.tbl02 td,.tbl03 th,.tbl03 td,.tbl04 th,.tbl04 td,.tbl06 th,.tbl06 td{
    border:1px solid #ccc;
    padding:5px;
}
.tbl05 th,.tbl05 td{
    width:33%;
    border:1px solid #ccc;
    padding:5px;
    text-align: center;
}

.tbl03 th,.tbl03 td,.tbl04 th,.tbl04 td{
    vertical-align: middle;
}
.tbl01 th,.tbl02 th{
    background:#999;
    vertical-align: middle;
    color:#fff;
    font-weight:normal;
}
.tbl01 td,.tbl06 td{
    padding-right:20px;
    text-align: right;
}
.tbl02 tr:nth-child(even){
    background:#f5f5f5;
}
.nameCompany{
    width:32%;
}
.nameCeo{
    width:12%;
}
.nameOffice{
    width:10%;
}
.nameAddress{}
.tbl02 td{
    vertical-align: middle;
}
.tbl02 tr td:nth-child(2),.tbl02 tr td:nth-child(3){
    text-align:center;
}
.th02{
    background:#e8e8e8!important;
    color:#555!important;
}
.txtInd >*{
    margin-left:1.6rem;
    text-indent:-1.6rem;
}
.txtInd2{
    margin-left:1.6rem;
    text-indent:-1.6rem;
}

/*--------------------------------------------------------layout*/
body{
    background:#666;
    font-size:1.6rem;
}
#wrap{
    max-width:1200px;
    margin:auto;
    padding:0 30px;
    background:#fff;
}
main{
    display: flex;
    justify-content: space-between;
    flex-direction:row-reverse;
    line-height: 1.6;
}
#boxContent{
    width:calc(100% - 280px);
}

aside{
    width:230px;
}

footer{
    margin-top:50px;
    padding-top:20px;
    border-top:1px solid #ccc;
}

@media(max-width:640px){
	#wrap{
		padding:0 15px;
	}
	main{
		display:block!important;
		background:#fff;
	}
	#boxContent{
		width:100%!important;
	}
    aside{
        width:100%;
    }
}
/*--------------------------------------------------------header*/
header{
    margin-bottom:20px;
}
header #boxTop{
    display:flex;
    justify-content: space-between;
	padding-bottom:30px;
}
.headLogo{
    max-width:300px;
    padding:30px 0 0;
}
.headTel{
    width:280px;
    margin-bottom:10px;
	padding:10px;
    background:#184ca7;
	text-align: center;
	color:#fff;
	font-size:1.4rem;
}
.headTel img{
	width:240px;
	margin-top:10px;
}

/*navigation*/
nav{
    border-bottom:1px solid #ccc;
}
nav>ul{
    display:flex;
}
nav>ul>li{
    width:calc(100% / 5);
	position: relative;
    text-align:center;
}
nav>ul>li>a{
    display: block;
    padding:5px 0;
	/*210110*/
	height: calc(100% - 10px);
	background: #184ca7;
	color:#fff;
	transition: background-color 0.2s;
}
nav>ul>li>a:hover{
    /*background: #184ca7;*/
    color: #fff;
    text-decoration:none;
	/*210110*/
	background:#5f91e8;
}

nav .subNav{
    position: absolute;
    top:calc(100% + 1px);
    left: 0;
    z-index: 99;
}
nav>ul>li:last-child .subNav{
    left: -100%;
    width: 100%
}
nav .subNav li{
    overflow: hidden;
    width: 200%;
    height: 0;
    color: #fff;
    text-align: left;
    -moz-transition: .2s;
    -webkit-transition: .2s;
    -o-transition: .2s;
    -ms-transition: .2s;
    transition: .2s;
}
nav .subNav li a{
    display: block;
    padding: 6px 15px;
    background: #eee;
    text-align: left;
    border-bottom: 1px solid #fff;
}
nav .subNav li a:hover{
    background:#ccc;
    transition: .16s;
}
nav>ul>li:hover .subNav li{
    overflow: visible;
    height:auto;
}
nav>ul>li:hover .subNav li:first-child{
    border-top: 0;
}
nav>ul>li:hover .subNav li:last-child{
    border-bottom: 0;
}
/*@media(max-width:640px){
    header #boxTop{
        display:block;
    }
    .headLogo{
        max-width:80%;
		margin:0 auto 30px;
    }
    .headTel{
		width:calc(100% - 20px);
        margin: 10px 0 20px;
    }
	.headTel img{
		width:60%;
		max-width:300px;
		margin:10px 0 10px;
	}
}*/

/*--------------------------------------------------------Common*/
#breadCrumb{
    margin-bottom:30px;
}
#breadCrumb ul{
    display: flex;
}
#breadCrumb li{
    margin-right:3px;
}
#breadCrumb a{
    padding-right:3px;
}

@media(max-width:640px){
    h1{
        margin:40px 0;
    }
    #breadCrumb{
        display:none;
    }
}
/*--------------------------------------------------------footer*/
footer{
    padding-bottom:30px;
    text-align: center;
    position: relative;
}
.pagetop{
    position: absolute;
    top:-30px;
    right:0;
}
.ftLogo{
    margin-bottom:30px;
}
.ftLogo img{
    width:300px;
}
#boxFootLink{
    width:90%;
    margin:auto;
    display:flex;
    justify-content:space-between;
    text-align: left;
}
#boxFootLink ul{
}
#boxFootLink li{
    margin-bottom:8px;
}
#boxFootLink ul ul{
    margin-left:10px;
}
#boxFootLink>ul>li>ul>li {
     position: relative;
     padding-left: 1em;
}
#boxFootLink>ul>li>ul>li::after {
     position: absolute;
     top: 1.4rem;
     left:0;
     transform:translateY(-50%);
     content: '';
     width: 12px;
     height:1px;
     background-color: #184ca7;
}
#boxFootLink>ul>li>ul>li:first-child{
    margin-top:8px;
}

@media(max-width:640px){
	#boxFootLink{
		display:block!important;
	}
	#boxFootLink>ul{
		display:flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	#boxFootLink>ul li{
		margin:14px 5px!important;
	}
	#boxFootLink>ul li a{
		background:#184ca7;
		padding:10px 14px;
		border-radius:5px;
		color:#fff;
	}
	#boxFootLink>ul li a:hover{
		opacity:0.7;
		text-decoration:none;
	}
	#boxFootLink ul ul{
		display:none!important;
	}
}

/*--------------------------------------------------------sideMenu*/
#sideNav .sideNavSub a{
    border-left:5px solid #ccc;
}
#sideNav li{
    margin-bottom:0!important;
    border-top:1px solid #bbb;
    line-height: 1 !important;
}
#sideNav>ul>li:last-child,#sideNav .listSideNav li:last-child{
    border-bottom:1px solid #bbb;
}

#sideNav li>a{
    position: relative;
    display:block;
    padding:20px 10px;
    color:#333;
    overflow: visible;
	cursor: pointer;
}
#sideNav li.sideW>a{
    position: relative;
    display:block;
    padding:12px 10px;
    color:#333;
    overflow: visible;
}
#sideNav li>a:hover{
    background:#184ca7;
    text-decoration: none;
    color:#fff;
    transition: .3s;
}
#sideNav li.activ>a,#sideNav li.wActiv>a{
    background:#184CA7;
    color:#fff;
}
#sideNav li.activ>a:after,#sideNav li.wActiv>a:after{
    position:absolute;
    display: block;
    content:"";
    width:30px;
    height:56px;
    top:0;
    right:-26px;
    background:url("../images/sideActiv.svg") no-repeat;
}
#sideNav li.wActiv>a:after{
    height:72px;
    background:url("../images/sideActivW.svg") no-repeat;
}
#sideNav li.activParent>a{
    background:#999;
    color:#fff;
}
#sideNav li.activParent>a:after{
    position:absolute;
    display: block;
    content:"";
    width:30px;
    height:56px;
    top:0;
    right:-26px;
    background:url("../images/sideActivParent.svg") no-repeat;
}

@media(max-width:640px){
    aside{
        overflow: hidden!important;
    }
	#sideNav li.activ>a:after{
		display:none!important;
		}
    #sideNav>li>ul{
        width:auto;
    }
}