@charset "utf-8";

/* all
--------------------------------------------------------------*/
* {
  margin:0;
  padding:0;
}

html{
  font-size: 62.5%;/*10px*/
  overflow-x: hidden;
  position: relative;
}
body{
  font-size: 1.6rem;
  line-height:1.6;
  font-family: "游ゴシック Medium", "Yu Gothic UI", "Yu Gothic Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meriryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  color: #fff;
  background-color:#004097;
}
_:-ms-lang(x)::-ms-backdrop, html,body {/* IE11のみ */
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

/* link */
a {
  text-decoration:underline;
  color:#fff;
  transition: all 0.5s;
}
a img {transition: all 0.5s;}
a:hover {color:#95bce5;}
a:hover img {opacity: 0.8;}
a.blank::after{
  margin-left:0.3em;
  content:'';
  display:inline-block;
  width:16px;
  height:15px;
  background:url(../img/icon_window.svg) left center no-repeat;
}

/* img */
img, svg {
  line-height: normal;
  vertical-align: bottom;
}

/* list */
ul,ol {list-style: none;}

/* h */
h1, h2, h3, h4, h5, h6 {font-weight:bold;}

/* sup & sub */
sup,sub {font-size: small;}
sub {vertical-align: baseline;}

/* clear */
.clear{clear:both;}
.clear::after{
  content:".";
  height:0px;
  clear:both;
  display: block;
  visibility:hidden;
}

/* float */
.floatLeft{float:left;}
.floatRight{float:right;}

/* text */
.textLeft{text-align:left;}
.textRight{text-align:right;}
.textCenter{text-align:center;}

/* color */
.red{color:#f00;}

/* font weight */
.bold{font-weight:bold;}

/* br pc/tb/sp */
br.pc{display:block;}
br.tb{display:none;}
br.sp{display:none;}
br.pc_tb{display:block;}
br.pc_sp{display:block;}
br.tb_sp{display:none;}

/* table */
.table table {
  width:100%;
  border-collapse:collapse;
  border-spacing:0;
}
.table table th,
.table table td{
  padding:7px 10px;
  line-height:normal;
}
.table table th{
  font-weight:normal;
  width:30%;
}
.table table td{
  text-align:left;
}

@media only screen and (max-width:768px) {
  .floatLeft,
  .floatRight{float: none;}
  br.pc{display:none;}
  br.tb{display:block;}
  br.sp{display:none;}
  br.pc_tb{display:block;}
  br.pc_sp{display:none;}
  br.tb_sp{display:block;}
}
@media only screen and (max-width:480px) {
  .table table th,
  .table table td{
	font-size:14px;
	display:block;
	width:calc(100% - 20px);
  }
  br.pc{display:none;}
  br.tb{display:none;}
  br.sp{display:block;}
  br.pc_tb{display:none;}
  br.pc_sp{display:block;}
  br.tb_sp{display:block;}
}


/* wrapper
--------------------------------------------------------------*/
#wrapper{
  position:relative;
  height:100%;
}


/* header
--------------------------------------------------------------*/
header {
  position:absolute;
  width:96%;
  width:100%;
  height:70px;
  margin:70px 0 0;
  top:-70px;
  z-index:1000;
}
header::after {
  content:".";
  height:0px;
  clear:both;
  display: block;
  visibility:hidden;
}
header .logo {
  float:left;
  background-size:contain;
  position:relative;
  top: 10px;
  left: 10px;
}
header .logo a{
  display:block;
  width:360px;
  text-decoration:none;
}
header .logo a img{width:100%;}
header .logo:hover{opacity:0.8;}

/*グローバルナビ*/
header > nav{float:right;}
header > nav > ul{
  display:flex;
  justify-content:flex-end;
}
header > nav > ul > li > a{
  color:#fff;
  position:relative;
  line-height:70px;
  height:70px;
  display:block;
  padding:0 15px;
  text-align:center;
  text-decoration:none;
}
header > nav > ul > li > a:hover{color:#ccc;}

/*ハンバーガーメニュー*/
@media screen and (min-width: 1171px) {	
  header.fixed{
	margin-top:0;
	top:0;
	position: fixed;
	background:rgba(0,0,0,.7);
	/*box-shadow:0 5px 15px rgba(0,0,0,0.1);*/
	transition:top 0.65s ease-in;
	height:60px;
  }
  header.fixed .logo a{
    width:320px;
  }
  header.fixed > nav > ul > li > a{height:60px; line-height:60px;}
}
@media screen and (max-width: 1170px) {
  header > nav {
	position: fixed;
	top: 0;
	right: -300px;
	width: 300px;
	height: 100%;
	padding-top: 70px;
	background:#333;
	font-size: 16px;
	box-sizing: border-box;
	z-index: 2
  }
  header > nav > ul{
	display:block;
  }
  header > nav > ul > li {
	display:block;
  }
  header > nav > ul > li > a {
	text-decoration: none;
	color: #ddd;
  }
  /*ハンバーガー ボタン*/
  header .btn-gnavi {
	position: fixed;
	top: 25px;
	right: 25px;
	width: 30px;
	height: 24px;
	z-index: 3;
	box-sizing: border-box;
	cursor: pointer;
	-webkit-transition: all 400ms;
	transition: all 400ms;
  }
  
  header .btn-gnavi span {
	position: absolute;
	width: 30px;
	height: 4px;
	background: #fff;
	border-radius: 10px;
	-webkit-transition: all 400ms;
	transition: all 400ms;
  }
  header .btn-gnavi span:nth-child(1) {top:0}
  header .btn-gnavi span:nth-child(2) {top:10px}
  header .btn-gnavi span:nth-child(3) {top:20px}
  header .btn-gnavi.open {
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg)
  }
  header .btn-gnavi.open span {background: #666}
  header .btn-gnavi.open span {width: 24px;}
}
@media screen and (max-width: 480px) {
  header .logo a {
	width:280px;
  }
}


/* pagetop
--------------------------------------------------------------*/
#pagetop{
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 100;
  width: 50px;
  height: 50px;
  background: rgba(255,255,255,0.8);
  border-radius:100%;
}
#pagetop a{
  display: block;
  width: 50px;
  height: 50px;
}
#pagetop:before,
#pagetop:after{
  width: 16px;
  height: 2px;
  border-radius: 5px;
  position: absolute;
  display: block;
  background: #004097;
  content: '';
}
#pagetop:before{
  transform: rotate(45deg);
  top: 22px;
  right: 12px;
}
#pagetop:after{
  transform: rotate(-45deg);
  top: 22px;
  left: 12px;
}
#pagetop span{display: none;}

@media only screen and (max-width:480px) {
  #pagetop{
    position: inherit;
    bottom: auto;
    right: auto;
    background: transparent;
    width: auto;
    height: auto;
    text-align: center;
    border-radius:0;
  }
  #pagetop:before,
  #pagetop:after{display: none;}
  #pagetop a{
    width: 100%;
	height:50px;
    line-height: 50px;
	background-color:rgba(57,130,196,0.8);
	text-decoration:none;
  }
  #pagetop span{
    display: block;
    font-size: 16px;
    color: #fff;
  }
}


/* footer
--------------------------------------------------------------*/
footer{
  font-size:1.4rem;
  border-top:solid 1px #fff;
  background-color:#1a53a2;
  width:100%;
}
.footer{
  width:90%;
  max-width:1100px;
  margin:15px auto;
}
.footer .company{width:calc(100% - 220px);}
.footer .mwl{
  display:flex;
  flex-wrap:wrap;
	column-gap: 1.5em;
	align-items: baseline;
}
.footer .logo{width:250px;}
.footer .logo img{
	width: 100%;
	vertical-align: text-bottom;
}
.footer .url a{
  text-decoration:none;
  color:#fff;
  font-weight:bold;
  font-size:1.8rem;
}

footer .copy{
  background-color:#000;
  text-align:center;
  height:50px;
  line-height:50px;
}
@media only screen and (max-width:1099px) {
  .footer {max-width:none;}
}
@media only screen and (max-width:768px) {}
@media only screen and (max-width:480px) {
  .footer .company {width:100%;}
  .footer .mwl {display:block;}
}


/* for print
--------------------------------------------------------------*/
@media print {
  html{
    width: 100%;
    background-color: #004097;
  }
  body{
    width: 1580px;
    min-width: 1580px;
    max-width: 1580px;
    transform: scale(1);
    -ms-transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    transform-origin: 0 0;
    zoom:.8;
    margin: auto;
    -webkit-print-color-adjust: exact;
  }
  #pagetop{display:none;}
}