/* **************************************************************

asset/cmn/css/cmn.css

************************************************************** */

/* **************************************************************

  header

************************************************************** */
header img{
  width: 100%;
}
header .header-nav-wrap{
  position: relative;
}
header .header-nav-inner{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background-color: #ffffff;
  border-bottom: 1px solid #DFDFDF;
  z-index: 9999;
  box-sizing: border-box;
}
header .header-nav-inner:after{
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
header .header-nav-logo{
  width: 135px;
  float: left;
  padding: 14px 0 0 66px;
}
header .header-nav-anker{
  float: right;
  margin-right: 330px;
}
header .header-nav-anker:after{
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
header .header-nav-anker li{
  position: relative;
  float: left;
  margin-right: 50px;
}
header .header-nav-anker li a{
  display: block;
  color: #525B5C;
  font-size: 18px;
  line-height: 80px;
}
header .header-nav-anker li a:hover{
  text-decoration: none;
  color: #D5D5D5;
}
header .header-nav-anker li a:after{
  position: absolute;
  top: 50%;
  right: -20px;
  margin-top: -3px;
  content: "";
  width: 10px;
  height: 10px;
  background: url(../img/icon_arrow.png) no-repeat;
  background-size: 100%;
}
header .header-nav-anker li a:hover:after{
  opacity: .3;
}
header .header-nav-language{
  position: absolute;
  padding-left: 30px;
  right: 220px;
  top: 50%;
  margin-top: -15px;
}
header .header-nav-language:before{
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 20px;
  height: 20px;
  background: url(../img/header_nav_global.png) no-repeat;
  background-size:100%;
}
header .header-nav-language li{
  position: relative;
  display: inline-block;
  margin-right: 10px;
  font-size: 16px;
}
header .header-nav-language li:after{
  content: "/";
  position: absolute;
  top: 0;
  left: -10px;
  font-size: 16px;
  color: #D5D5D5;
}
header .header-nav-language li:first-of-type:after{
  display: none;
}
header .header-nav-language-txt a{
  font-size: 16px;
  color: #D5D5D5;
}
header .header-nav-language-txt.act{
  border-bottom: 2px solid #525B5C;
  color: #525B5C;
}
header .header-nav-language-txt a:hover{
  text-decoration: none;
  color: #525B5C;
}
header .header-nav-language-txt{
  display: inline-block;
}
header .header-contact{
  position: absolute;
  top: 0;
  right: 80px;
  width: 80px;
  background: #F5002F url(../img/icon_contact.png) no-repeat center top 34%;
  background-size: 30.8%;
  box-sizing: border-box;
}
header .header-contact a{
  padding-top: 50px;
  display: block;
  height: 80px;
  text-align: center;
  box-sizing: border-box;
  font-size: 10px;
  color: #ffffff;
  letter-spacing: .8px;
}
header .header-contact a:hover{
  opacity: .6;
  text-decoration: none;
}
header .header-contact a img{
  width: 68px;
}
header .header-gmenu{
  position: fixed;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
  padding: 21px 26px 0 26px;
  background-color: #3D464E;
  box-sizing: border-box;
  cursor: pointer;
  z-index: 999999;
  font-size: 10px;
  letter-spacing: .8px;
  color: #ffffff;
}
header .header-gmenu img{
  width: 35px;
}
header .header-gmenu-toggle {
  position: relative;
}
header .header-gmenu-toggle span {
  position: absolute;
  width: 28px;
  height: 2px;
  background: #ffffff;
  transition: all 0.3s cubic-bezier(0.215, 0.61, 0.355, 1);
}
header .header-gmenu-toggle span:nth-last-of-type(2){
  top: 9px;
}
header .header-gmenu-toggle span:nth-last-of-type(3){
  width: 21px;
  top: 18px;
}
.menu-open header .header-gmenu-toggle span {
}
.menu-open header .header-gmenu-toggle span:nth-of-type(1){
  transform: scaleX(0);
}
.menu-open header .header-gmenu-toggle span:nth-of-type(2){
  top: 10px;
  transform: rotate(45deg);
}
.menu-open header .header-gmenu-toggle span:nth-of-type(3){
  top: 10px;
  transform: rotate(-45deg);
}
header .header-gmenu-txt {
  margin-top: 29px;
}
.menu-open header .header-gmenu-txt {
  position: absolute;
  left: 50%;
  margin-left: -1.7em;
}
header .header-menu-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  z-index: 99999;
  background: #ffffff;
  background-size: 40.73%;
  transition: height 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
  overflow: hidden;
}
.menu-open header .header-menu-wrap {
  height: 100%;
  display: block;
}
header .header-menu-outer {
  position: relative;
  z-index: 1;
}
header .header-menu-outer:after{
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
header .header-menu-img{
  position: relative;
  float: left;
  width: 50%;
  box-sizing: border-box;
}
header .header-menu-img img{
  position: relative;
	width: 72.08%;
  box-shadow: 0px 20px 35px 0px rgba(0,0,0,0.16);
}
header .header-menu-img:before{
  content: "";
  position: absolute;
  bottom: -8.98%;
  left: 0;
  width: 81.45%;
  height: 86.68%;
  background: url(../img/header-menu-bg01.gif) left top repeat;
  background-size: 100%;
}
/*header .header-menu-wrap:after {
  position: absolute;
  top: 20%;
  left: 0;
  width: 40%;
  height: 80%;
  background: url(../img/header-menu-bg01.gif) left top repeat;
  background-size: 100%;
  z-index: 0;
}*/

header .header-menu-inner{
  float: right;
  width: 50%;
}
header .header-menu-logo{
  margin-top: 33px;
  width: 135px;
}
header .header-menu-list{
  margin-top: 9.75%;
}
header .header-menu-list:first-child{
  margin-top: 0;
}
header .header-menu-list li{
  margin-top: 6%;
}
header .header-menu-list li:first-child{
  margin-top: 0;
}
header .header-menu-list-ttl1 a.icon-blank {
  position: relative;
  padding-right: 5%;
}
header .header-menu-list-ttl1 a.icon-blank:after {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -6.5%;
  width: 4.739%;
  height: 68%;
  background: url(../../asset/cmn/img/icon_window_r.gif) no-repeat center right;
  background-size: 100%;
}
header .header-menu-list-ttl1 a{
  font-size: 2.34em;
  font-weight: bold;
  color: #525B5C;
}
header .header-menu-list-ttl1 a:hover{
  color: #F5002F;
  text-decoration: none;
}
header .header-menu-list-ttl2 {
  margin-top: 1.5%;
}
header .header-menu-list-ttl2 a{
  font-size: 1.562em;
  color: #757C7D;
}
header .header-menu-list-ttl2 a:hover{
  color: #F5002F;
  text-decoration: none;
}
header .header-menu-linkarea{
  margin-top: 7%;
  margin-left: -4px;
}
header .header-menu-linkarea:after{
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
header .header-menu-linkarea a{
	font-size: 1.3em;
}
header .header-menu-btn.btn-type02{
  float: left;
  width: 47.19%;
  margin-top: 0;
  margin-right: 5.85%;
}
header .header-menu-btn.btn-type02 a{
  border: 1px solid #ACACAC;
  color: #525B5C;
}
header .header-menu-btn.btn-type02 a:hover{
  border: 1px solid #F5002F;
  color: #ffffff;
  background-color: #F5002F;
}
header .header-menu-btn.btn-type02 a:after {
  background: #F5002F;
}
header .header-menu-btn.btn-type02 a span:before{
  background: url(../../asset/cmn/img/icon_window_r.gif) no-repeat center right;
  background-size: 100%;
}
header .header-menu-btn.btn-type02 a:hover span:before{
  background: url(../../asset/cmn/img/icon_window_w.gif) no-repeat center right;
  background-size: 100%;
}
header .header-menu-language{
  position: relative;
  float: left;
  margin-top: 1.5%;
  padding-left: 30px;
}
header .header-menu-language:before{
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 20px;
  height: 20px;
  background: url(../img/header_nav_global.png) no-repeat;
  background-size:100%;
}
header .header-menu-language li{
  position: relative;
  display: inline-block;
  margin-right: 10px;
  font-size: 16px;
}
header .header-menu-language li:after{
  content: "/";
  position: absolute;
  top: 0;
  left: -10px;
  font-size: 16px;
  color: #D5D5D5;
}
header .header-menu-language li:first-of-type:after{
  display: none;
}
header .header-menu-language-txt a{
  font-size: 16px;
  color: #D5D5D5;
}
header .header-menu-language-txt.act{
  border-bottom: 2px solid #525B5C;
  color: #525B5C;
}
header .header-menu-language-txt a:hover{
  text-decoration: none;
  color: #525B5C;
}
header .header-menu-language-txt{
  display: inline-block;
}
/*.menu-open .container {
  display: none;
}*/
@media screen and (max-width: 1325px) {
  header .header-nav-anker li a{
    font-size: 16px;
  }
  
}
@media screen and (max-width: 1280px) {
  header .header-nav-anker li a{
    font-size: 14px;
  }
}
@media screen and (max-width:1200px) {
  header .header-nav-anker {
    display: none;
  }
}
@media screen and (max-width:768px) {
  header .header-menu-wrap:after,
  header .header-menu-img{
    display: none;
  }
  header .header-nav-inner {
    height: 60px;
  }
  header .header-nav-logo {
    width: 90px;
    padding: 16px 0 0 20px;
  }
  header .header-nav-language {
    right: 135px;
    padding-left: 23px;
  }
  header .header-nav-language:before {
    top: 5px;
    width: 16px;
    height: 16px;
  }
  header .header-nav-language li {
    font-size: 12px;
  }
  header .header-nav-language li a{
    font-size: 12px;
  }
  header .header-contact {
    right: 60px;
    width: 60px;
    background: #F5002F url(../img/icon_contact.png) no-repeat center top 34%;
    background-size: 38.8%;
  }
  header .header-contact a {
    height: 60px;
    padding-top: 38px;
    font-size: 6px;
		font-weight: bold;
  }
  header .header-contact a img {
    width: 42px;
  }
  header .header-gmenu {
    width: 60px;
    height: 60px;
    padding: 16px 20px 13px;
    font-size: 6px;
  }
  header .header-gmenu-toggle span {
  width: 21px;
  height: 2px;
  }
  header .header-gmenu-toggle span:nth-last-of-type(2){
    top: 7px;
  }
  header .header-gmenu-toggle span:nth-last-of-type(3){
    width: 18px;
    top: 14px;
  }
  .menu-open header .header-gmenu-toggle span:nth-of-type(2){
    top: 7px;
  }
  .menu-open header .header-gmenu-toggle span:nth-of-type(3){
    top: 7px;
  }
  header .header-gmenu-txt {
    margin-top: 22px;
    text-align: center;
    font-size: 6px;
  }
  header .header-menu-wrap {
    background: #ffffff;
  }
  header .header-menu-inner {
    width: 100%;
    margin-left: 0;
    padding: 0 20px;
    box-sizing: border-box;
  }
  header .header-menu-logo {
    width: 90px;
    margin-top: 16px;
  }
  header .header-menu-list {
    margin-top: 67px;
  }
  header .header-menu-list li {
    margin-top: 30px;
  }
  header .header-menu-list-ttl1 a {
    font-size: 1.46em;
  }
  header .header-menu-list-ttl2 {
    margin-top: 10px;
  }
  header .header-menu-list-ttl2 a {
    font-size: 1em;
  }
  header .header-menu-linkarea {
    margin-top: 40px;
    margin-left: 0;
  }
  header .header-menu-btn.btn-type02 {
    float: none;
    width: 237px;
    margin: 0 auto;
  }
  header .header-menu-btn.btn-type02 a {
    border: 1px solid #F5002F;
    background: #F5002F;
    color: #ffffff;
  }
  header .header-menu-btn.btn-type02 a:hover {
    border: 1px solid #F5002F;
  }
  header .header-menu-btn.btn-type02 a span:before{
    background: url(../../asset/cmn/img/icon_window_w.gif) no-repeat center right;
    background-size: 100%;
  }
  header .header-menu-language {
    float: none;
    width: 60px;
    margin: 38px auto 0;
  }
  header .header-menu-language:before {
    background-size: 14px;
    background-position: center top 1px;
  }
  header .header-menu-language li{
    font-size: .9333em;
  }
  header .header-menu-language-txt a {
    font-size: .9333em;

  }
}
@media screen and (max-width:350px) {

  header .header-nav-logo {
    width: 70px;
    padding-top: 19px;
  }
}

/* **************************************************************

  footer

************************************************************** */

footer a:hover{
  text-decoration: underline;
}
footer .foot-top{
  background-color:#757c7d;
  padding: 55px 0;
  text-align: center;
}
footer .foot-top .logo{
  display: inline-block;
  width: 136px;
  vertical-align: middle;
  margin-right: 90px;
}
footer .foot-top .logo img{
  width: 100%;
}
footer .foot-top ul{
  display: inline-block;
  vertical-align: top;
  text-align: left;
}
footer .foot-top ul a{
  color: #dcdede;
  line-height: 36px;
  font-size: 14px;
}
footer .foot-top ul li .foot-link {
  display: block;
  margin-left: 1em;
  line-height: 2;
  font-size: 12px;
}
footer .foot-top .footB{
  margin-right: 30px;
  padding-right: 30px;
  border-right: 1px solid #979d9d;
}
footer .foot-top .footS{
  width: 330px;
}
footer .foot-top .footS a{
  font-size: 14px;
}
footer .foot-top .footS a .sml{
  display: none;
}
footer .foot-top .footS li:nth-child(1),
footer .foot-top .footS li:nth-child(2),
footer .foot-top .footS li:nth-child(3),
footer .foot-top .footS li:nth-child(4){
  float: left;
  width: 188px;
}
footer .foot-btm{
  background-color: #525b5c;
  color: #babdbe;
  text-align: center;
  padding: 20px 0 25px;
}
footer .foot-btm li{
  display: inline-block;
  padding-right: 10px;
}
footer .foot-btm li:last-child{
  padding-right: 0;
}
footer .foot-btm li::after{
  content: "|";
  display: inline-block;
  margin-left: 10px;
  color: #757c7d;
}
footer .foot-btm li:last-child::after{
  display: none;
}
footer .foot-btm ul a{
  color: #babdbe;
  font-size: 13px;
  line-height: 36px;
}
footer .foot-btm .copyright{
  margin-top: 5px;
  font-size:12px;
}
@media screen and (max-width:767px){
  footer .foot-top{
    background-color:#fff;
    padding: 0;
    text-align: left;
    margin-top: 20px;
  }
  footer .foot-top .logo{
    display: none;
  }
  footer .foot-top ul{
    display: block;
  }
  footer .foot-top li{
    border-bottom: 1px solid #e6e6e6;
  }
  footer .foot-top .footB li:first-child{
    border-top: 1px solid #e6e6e6;
  }
  footer .foot-top ul a{
    display: block;
    color: #333;
    line-height: 1.4;
  }
  footer .foot-top .footB{
    margin-right: 0;
    padding-right: 0;
    border: none;
  }
  footer .foot-top ul li .foot-link{
    padding: 0 4% 15px;
    line-height: 1.2;
    font-size: 12px;
  }
  footer .foot-top ul li .foot-link:last-of-type{
    padding: 0 4% 12px;
  }
  footer .foot-top .footB a{
    padding: 12px 4%;
    background: url(/images/common/arrow_gray_r.png) no-repeat right 10px center;
    background-size: 6px 12px;
  }
  footer .foot-top .footS{
    border-left: 0;
    padding-left: 0;
    overflow: hidden;
    width: 100%;
    background-color: #757c7d;
  }
  footer .foot-top .footS a{
    font-size: 13px;
    padding: 12px 4%;
    color: #fff;
    background: #757c7d url(/images/common/arrow_wh_r.png) no-repeat right 10px center;
    background-size: 6px 12px;
  }
  footer .foot-top .footS li{
    float: left;
    width: 50%!important;
    border-bottom: 1px solid #979d9d;
    box-sizing: border-box;
  }
  footer .foot-top .footS li:nth-child(2n-1){
    border-right: 1px solid #979d9d;
  }
  footer .foot-top .footS li:last-child,
  footer .foot-top .footS li:nth-last-of-type(2){
    margin-left: 0;
    border-bottom: 0;
  }
  footer .foot-btm{
    padding: 15px 4% 20px;
  }
  footer .foot-btm ul a{
    display: inline-block;
    font-size: 12px;
    line-height: 2;
  }
  footer .foot-btm .copyright{
    margin-top: 10px;
    line-height: 1.4;
  }  
}
@media screen and (max-width:640px){
  footer .foot-btm ul{
    width:280px;
    margin:auto;
  }
  footer .foot-btm li:nth-child(2){
    padding-right: 0;
  }
  footer .foot-btm li:nth-child(2)::after{
    display: none;
  }
}
@media screen and (max-width:350px){
  footer .foot-top .footS li:nth-child(4) a{
    padding: 5px 4%;
    line-height: 1.3;
  }
  footer .foot-top .footS a .sml{
    display: block;
  }
}

