@charset "UTF-8";

/* header
-------------------------------------------------- */
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
}

.is-animation {
  background: #FFF;
  box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.1);
  -webkit-box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.1);
  -moz-box-shadow: 0px 5px 3px -3px rgba(0,0,0,0.1);
  transition: .5s;
}

header:hover{
  background: #FFF;
  transition: .5s;
}

#headerArea{
  width:98%;
  margin: 0 auto;
  padding:10px 20px 0;
  box-sizing: border-box;
  position: relative;
  border-bottom:1px solid rgba(229,229,229,0.3);
  border:none;
}

.is-animation #headerArea{
  border-bottom:1px solid #CCCCCC;
  border:none;
  padding:0 20px 0;
}

header:hover #headerArea{
  border-bottom:1px solid #CCCCCC;
  border:none;
}

@media only screen and  (max-width: 810px) {
#headerArea{
  width:100%;
  padding:10px 0 10px 10px;
}
.is-animation #headerArea{
  border-bottom:none;
  padding:10px 0 10px 10px;
}

header:hover #headerArea{
  border-bottom:none;
}
}

/* logo */

header #logo{
  width:250px;
  height:60px;
  display:block;
  margin:6px auto 10px;
  background-size:auto 60px;
  background-repeat: no-repeat;
  transition: .1s;
  background-image: url(../images/common/g-logo-w.png);
}

.is-animation #logo{
  display:none;
  margin:0 auto;
}

header:hover #logo{
  background-image: url(../images/common/g-logo.png);
}

header #logo a{
  width:250px;
  height:60px;
  text-decoration:none;
  display: block;
  text-indent:-9999px;
}

@media only screen and  (max-width: 810px) {
header #logo{
  width:167px;
  height:40px;
  background-size:auto 40px;
  margin:0;
}
header #logo a{
  width:167px;
  height:40px;
}

.is-animation #logo{
  display: block;
  margin:0;
  background-image: url(../images/common/g-logo.png);
}
}

.tel-box{
  position: absolute;
  top: 0px;
  right: 0;
}

.tel-box .uk-time{
  font-size:12px;
  color:#FFF;
  text-align: center;
  margin-top:5px;
}

.is-animation .tel-box .uk-time{
  color:#000;
}

header:hover .tel-box .uk-time{
  color:#000;
}

.login_bt{
  font-family: 'Roboto', sans-serif;
  font-weight:400;
  letter-spacing:.15em;
  text-transform: uppercase;
  line-height:1;
  padding:10px 20px;
  background-color:#1D2088;
  color:#FFF;
  display:inline-table;
}


@media only screen and  (max-width: 810px) {
.tel-box{
  display:none;
}
}

.login_bt .fa{font-size:1.15em;margin-right:5px;}


.icon-link{
  position: absolute;
  top: 35px;
  left: 20px;
  line-height:1;
}

.is-animation .icon-link{
  top: 30px;
}

@media only screen and  (max-width: 810px) {
.icon-link{top: 20px;left: 9px;}
.is-animation .icon-link{
  top: 20px;
}
}

@media only screen and  (max-width: 568px) {
.icon-link{top: 14px;left: 5px;}
.is-animation .icon-link{
  top: 14px;
}
}

.icon-link li{
  display:inline-block;
  vertical-align:middle;
}

.icon-link .hdbt{
  font-size:18px;
}

@media only screen and  (max-width: 810px) {
.icon-link .hdbt{font-size:18px;}
}

@media only screen and  (max-width: 568px) {
.icon-link .hdbt{display:none;}
}

.hdbt a{text-decoration:none;padding:11px 15px 12px;color:#FFF;}

@media only screen and  (max-width: 810px) {
.hdbt a{padding:11px 13px 12px;}
}

@media only screen and  (max-width: 568px) {
.hdbt a{padding:12px 10px 12px;}
}

.icon-link .insbt{
  font-size:18px;
}

.insbt a{text-decoration:none;padding:11px 15px 12px;color:#FFF;}

@media only screen and  (max-width: 810px) {
.icon-link .insbt{font-size:18px;}
.insbt a{padding:11px 13px 12px;}
}

@media only screen and  (max-width: 568px) {
.icon-link .insbt{
  font-size:20px;
}
.insbt a{padding:10px 10px}
}

.icon-link .lines{
  width:23px;
  height:22px;
  margin:0 15px 0 7px;
  background-size:auto 22px;
  background-repeat: no-repeat;
  background-image: url(../images/common/line-logo.png);
}

@media only screen and  (max-width: 810px) {
.icon-link .lines{
  margin:0 15px 0 5px;
}
}

@media only screen and  (max-width: 568px) {
.icon-link .lines{
  width:26px;
  height:25px;
  background-size:auto 25px;
  margin:0 10px 0 15px;
}
}

.is-animation .icon-link .lines{
  background-image: url(../images/common/line-logo2.png);
}

header:hover .icon-link .lines{
  background-image: url(../images/common/line-logo2.png);
}

.icon-link .lines a{
  width:23px;
  height:22px;
  text-decoration:none;
  display: block;
  text-indent:-9999px;
}

@media only screen and  (max-width: 568px) {
.icon-link .lines a{
  width:26px;
  height:25px;
}
}

.icon-link .lines:hover {  
  opacity: 0.6;
  text-decoration: none;
}

.is-animation .icon-link a{color:#504F4F;text-decoration: none;}
header:hover .icon-link a{color:#504F4F;text-decoration: none;}

.icon-link a:hover {
  text-decoration: none;
  opacity: 0.6;
}

.icon-link .login{
  font-size:20px;
}

.login a{text-decoration:none;padding:9px 15px;color:#FFF;}


@media only screen and  (max-width: 810px) {
.icon-link .login{ font-size:22px;}
.login a{padding:9px 13px;}
}

@media only screen and  (max-width: 568px) {
.icon-link .login{ display:none;}
}

/* sub-menu
--------------------------------------- */
.icon-link li ul.sub-menu {
  display: none; 
  position: absolute;
  top: 30px;
  left:0px;
  border-collapse: collapse;
  list-style: none;
  width: 180px;
  box-sizing: border-box;
  padding:0;
  background:#E8E8E8;
  text-align: center;
  z-index:2;
}

.icon-link li:hover ul.sub-menu {
  display: block;
}
.icon-linku li ul.sub-menu li {
  float: none;
}

.icon-link .sub-menu li {
  border-right: none;
  border-bottom: 1px dotted #333A56;
}

.icon-link .sub-menu li:last-child {
  border-bottom: none;
}

.icon-link .sub-menu p{
  line-height: 0;
  font-size:0.9em!important;
}


@media only screen and  (max-width: 810px) {
.icon-link .sub-menu p{
  line-height: 0;
  font-size:16px!important;}
}

.icon-link .sub-menu li .fa{margin-right:3px!important;}

.icon-link .sub-menu li a {
  display: block!important;
  box-sizing: border-box;
  width: 100%;
  padding: 15px;
  -moz-transition-duration: 0.5s;
  -moz-transition-timing-function: ease;
  -webkit-transition-duration: 0.5s;
  -webkit-transition-timing-function: ease;
  color: #051FA9!important;
  font-size:0.9em!important;
}

.icon-link .sub-menu li a:hover {
  color: #333A56!important;
  text-decoration: none;
  display: block!important;
  opacity: 0.6!important;
}

.icon-link .sub-menu:before {
  position: absolute;
  display: block;
  content: "";
  width: 140px;
  height: 9px;
  top: -9px;
  background-image: url(../images/common/popup_arrow.png);
  background-repeat: no-repeat;
  background-position: 10px top;
}

.fixed {
  position: fixed;
  top: 0;
  z-index: 1000;
  -moz-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.2);
}

/*gnav
-------------------------------------------------- */
.gnav-wrapper {
  position: relative;
  width:100%;
  max-width:1200px;
  margin:0 auto;
}

@media only screen and  (max-width: 810px) {
.gnav-wrapper {
  display:none;
}
}

.main-wrapper {
  width:100%;
  text-align: center;
}

.main-wrapper .gmv {
  display:inline-block;
  line-height:1.1;
  margin:0;
  font-size:16px;
  font-family: 'Noto Sans Japanese', sans-serif;
  font-weight: 400;
  height:60px;
  overflow: hidden;
  font-weight:400;
  vertical-align: top;
}

.main-wrapper .gmv a{
  display:block;
  padding:13px 30px;
  color:#FFF;
  text-decoration: none;
}

@media only screen and  (max-width: 1280px) {
.main-wrapper .gmv a{
  padding:13px 25px;
}
}

.is-animation .main-wrapper .gmv a{
  color: #000;
}

header:hover .main-wrapper .gmv a{
  color: #000;
}

.is-animation .main-wrapper .gmv a .en {
  color: #696969!important;
}

header:hover .main-wrapper .gmv a.en {
  color: #696969!important;
}

.main-wrapper .gmv a:hover {
  background-color:#F3F3F3;
  text-decoration: none;
}

.main-wrapper .gmv .en{
  font-family: Barlow,sans-serif;
  font-weight:400;
  text-transform: uppercase;
  line-height:1;
  font-size:12px;
  letter-spacing:0em;
}

/* .megamenu
-------------------------------------------------- */
.gnav li:hover {
  background-color:#F3F3F3;
}

.gnav > li:hover .megamenu {
  max-height: 9999px;
  opacity: 1;
  padding: 1% 0;
}

.megamenu {
  background: #F3F3F3;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  width: 100%;
  position: absolute;
  top: 60px;
  left: 0;
  transition: all .4s ease-in;
  z-index: 999;
}

.megamenu-inner {
  text-align: center;
  text-align: left;
  padding: 0 1.5%;
  box-sizing: border-box;
  width:100%;
}

.megamenu-inner li {
  width:25%;
  display:inline-block;
  padding: 1.5% 1% 1%;
  box-sizing: border-box;
  transition: all .3s ease-in-out;
  vertical-align: top;
}

.megamenu-inner a {
  border-left: none;
  color: #000;
  text-shadow:none!important;
  padding:0!important;
}

.megamenu-inner a:hover {
  text-decoration: none;
  background:none!important;
}

.megamenu-inner-img {
  margin: 0 0 8px;
}

.megamenu-inner img {
  width: 100%;
  height:auto
}

.megamenu-inner li a:hover { opacity: 0.7;}

.megamenu-inner-text p {
  text-align: center;
  line-height:1.5;
  color:#000;
  font-size:0.95em;
  letter-spacing:0em!important;
}

.megamenu-inner-text p span{
  font-family: Libre Baskerville,sans-serif!important;
  font-weight:300;
  text-transform: uppercase;
  font-size:0.85em;
  letter-spacing:0.03em;
}

.megamenu-inner-text p small{
  font-size:11px;
}

/* sp_head
--------------------------------------------------*/
.sp_head {display:none; }

@media only screen and  (max-width: 810px) {
.sp_head {
  display:block;
  position:absolute;
  top: 0;
  right: 61px;
  width: 60px;
  padding:0 0;
  height: 64px;
  overflow:hidden;
}

@media only screen and  (max-width: 568px) {
.sp_head {
  right: 62px;
  width: 55px;
  height: 55px;
}
}

.sp_head .sp_nav{
  width:100%;
  padding: 0;
  margin:0 auto;
  position: relative;
}

.sp_head ul{
  width:100%;
  padding: 0;
  margin:0 auto;
}

.sp_head li{
  text-align: center;
  width:60px;
  padding: 0 0 0;
  text-align: center;
  margin:0;
  box-sizing: border-box;
  display:inline-block;
  height: 64px;
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media only screen and  (max-width: 568px) {
.sp_head li{
  width:55px;
  height: 55px;
}
}

.sp_head a {
  color: #FFF;
  display:block;
  text-decoration: none;
}

.is-animation .sp_head a{
  color:#000;
}

header:hover .sp_head a{
  color:#000;
}

.sp_head li a:hover {
  opacity: 0.6;
}

.sp_head li .fa{
  font-size:24px;
}

@media only screen and  (max-width: 568px) {
.sp_head li .fa{
  font-size:20px;
}
}

.sp_head li span{
  margin:0;
  padding:0;
}

.sp_head li p{
  font-size:11px;
  margin:0;
  padding:2px 0 0;
  line-height:1.7;
}

@media only screen and  (max-width: 568px) {
.sp_head li p{
  padding:3px 0 0;
  line-height:1.6;
}

.is-animation .sp_head li p{
  padding:2px 0 0;
}

header:hover .sp_head li p{
  padding:2px 0 0;
}
}