@charset "UTF-8";
/*------------------------------------------
  header-03
------------------------------------------*/
.header-03 .header-description {padding: .5em 0;}
.header-03 .header-description .sitecatch {font-size: 12px; font-size: 1.2rem; line-height: 1.5; margin-bottom: 0 !important;}
.header-03 .header-contents {padding: 15px 40px; -webkit-align-items: center; align-items: center;}
.header-03 .header-logo {margin-right: auto; line-height: 1; margin-bottom: 0 !important;}
.header-03 .header-logo img {width: auto; max-height: 45px; max-width: 380px;}
.header-03 .header-info {text-align: right;}
.header-03 .header-info .info-text {margin-bottom: .6em; font-size: 13px; font-size: 1.3rem;}
.header-03 .header-info .info-text p {display: inline-block; vertical-align: middle;}
.header-03 .header-info .mail {font-size: 16px; font-size: 1.6rem; margin-right: 2%;}
.header-03 .header-info .phone {font-size: 16px; font-size: 1.6rem; margin-right: 2%;}
.header-03 .btn-contact a:hover {background: #fff; opacity: 1;}
.header-03 .gnav-toggle {display: none;}
.header-03 .gnav-list {text-align: right; position: relative; list-style-type: none; padding-left: 0;}
.header-03 .menu-item {display: inline-block; vertical-align: middle; margin-left: 1.5em; text-align: center;}
.header-03 .menu-item:first-child {margin-left: 0;}
.header-03 .menu-item .txt-ja {font-size: 15px;font-size: 1.5rem;}
.header-03 .menu-item .txt-en {font-size: 12px; font-size: 1.2rem; line-height: 1.1;}
.header-03 .gnav-link {display: block; padding-left: 26px; position: relative;}
.header-03 .gnav-link:hover .txt-ja, .header-03 .gnav-link:hover .txt-en {opacity: 1;}
.header-03 .gnav-link:before {content: ""; width: 22px; height: 2px; position: absolute; top: .8em; left: 0;}
.header-03 .sub-menu {display: none; background: #eee; position: absolute; width: 100%; left: 0; z-index: 15; list-style-type: none; padding-left: 0;}
.header-03 .sub-menu li {display: block; margin-left: 0;}
.header-03 .sub-menu a {color: #333; padding: .75em 0; display: block;}
.header-03 .sub-menu a:hover {color: #fff; opacity: 1;}
.header-03 .sub-menu a:before {content: none;}

@media only screen and (max-width: 1024px) {
  .header-03 .header-contents {padding: 15px 20px;}
  .header-03 .header-info .info-text {display: none;}
  .header-03 .gnav-list {display: block; position: fixed; width: 40%; height: 100vh; background: #333; left: -40%; top: 0; z-index: 2; -webkit-transition: .4s; transition: .4s;}
  .header-03 .gnav-list-open {left: 0 !important; border-right: 1px solid #fff; -webkit-transition: .4s; transition: .4s;}
  .header-03 .menu-item {border-right: none; border-bottom: 1px solid #fff; display: block; text-align: left; margin-left: 0;}
  .header-03 .menu-item .txt-ja, .menu-item .txt-en {display: inline-block; vertical-align: middle;}
  .header-03 .menu-item.current-menu-item .txt-ja {color: #333;}
  .header-03 .menu-item .txt-en {display: none;}
  .header-03 .gnav-link:before {content: none;}
  .header-03 .menu-item.current-menu-item .gnav-link {background: #fff; color: #333;}
  .header-03 .menu-item .gnav-link:hover {background: #fff; color: #333; opacity: 1;}
  .header-03 .menu-item a.gnav-link {color: #fff; padding: 1em;}
  .header-03 .sub-menu a.gnav-link {color: #333; padding: 1em;}
  .header-03 .sub-menu {position: static;}
  .header-03 .gnav-toggle {z-index: 20; position: fixed; top: 50px; right: 20px; display: block; cursor: pointer; width: 50px; height: 20px;}
  .header-03 .gnav-toggle .toggle-icon {position: relative;}
  .header-03 .gnav-toggle .toggle-icon div {position: absolute; width: 22px; height: 20px; top: 0; left: 14px;}
  .header-03 .gnav-toggle .toggle-icon span {-webkit-transition: .2s; transition: .2s; display: block; width: 100%; height: 2px; background: #333; position: absolute; left: 0;}
  .header-03 .gnav-toggle .toggle-icon span:nth-of-type(1) {top: 0;}
  .header-03 .gnav-toggle .toggle-icon span:nth-of-type(2) {top: 50%; margin-top: -1px;}
  .header-03 .gnav-toggle .toggle-icon span:nth-of-type(3) {bottom: 0;}
  .header-03 .gnav-toggle.gnav-open .toggle-icon span {-webkit-transition: .2s; transition: .2s;}
  .header-03 .gnav-toggle.gnav-open .toggle-icon span:nth-of-type(1) {-webkit-transform: translateY(9px) rotate(-45deg); transform: translateY(9px) rotate(-45deg);}
  .header-03 .gnav-toggle.gnav-open .toggle-icon span:nth-of-type(2) {opacity: 0;}
  .header-03 .gnav-toggle.gnav-open .toggle-icon span:nth-of-type(3) {-webkit-transform: translateY(-9px) rotate(45deg); transform: translateY(-9px) rotate(45deg);}
}

@media only screen and (max-width: 768px) {
  .header-03 .header-logo img {width: auto;}
  .header-03 .header-description .sitecatch {font-size: 9px; font-size: .9rem;}
  .header-03 .header-contents {padding: 10px;}
  .header-03 .gnav-toggle {right: 10px; top: 46px;}
}

@media only screen and (max-width: 480px) {
  .header-03 .header-contents {padding: 10px 0;}
  .header-03 .header-logo {text-align: center; width: 100%; margin: 0;}
  .header-03 .gnav-toggle {display: none;}
  .header-03 .gnav-list {width: 60%; left: -60%;}
}