@charset "utf-8";
:root {
  --spnav-mainBgColor: rgba(255, 255, 255, 0.8);
  --spnav-main-color: #1D4999;
  --spnav-icon-childMenubg: transparent;
  --spnav-icon-menubg: #FFFFFF;
  --spnav-icon-menuLine: #000000;
  --spnav-menuBg: #60bd6d;
  --spnav-childMenuBg: #73c87f;
  --spnav-text-link: #FFFFFF;
  --spnav-text-nolink: #FFFFFF;
  --spnav-text-lightText: #FFFFFF;
  --spnav-text-normalText: #FFFFFF;
  --spnav-border: #FFFFFF;
}
.globalMenuSp .main_menu dd ul ul li br {
  display: none;
  white-space: pre-line;
}
.navToggle {
  display: block;
  position: absolute;
  right: 0;
  top: 0px;
  width: 80px;
  height: 80px;
  cursor: pointer;
  z-index: 99999 !important;
  background: var(--spnav-icon-childMenubg);
}
@media (max-width: 768px) {
    .navToggle {
      right: 0;
      top: 0px;
    }
}
.navToggle .menus-wrap {
  position: relative;
  width: 100%;
  height: 100%;
}
.navToggle .menus-inner {
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 70px;
}
.navToggle span {
  display: block;
  position: absolute; /* .navToggleに対して */
  width: 40px;
  border-bottom: solid 3px var(--spnav-icon-menuLine);
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
.navToggle span:nth-child(1) {
  top: 0px;
}
.navToggle span:nth-child(2) {
  top: 9px; /*+9ずつしていく*/
}
.navToggle span:nth-child(3) {
  top: 18px; /*+9ずつしていく*/
}
.navToggle span:nth-child(4) {
  border: none;
  color: var(--spnav-icon-menuLine);
  font-size: 12px;
  font-weight: bold;
  top: 27px;
  text-align: center;
}
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
  top: 10px;
  left: 0px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2), .navToggle.active span:nth-child(3) {
  top: 10px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
}
/*menu*/
.overflowHidden {
  overflow: hidden;
}
nav.globalMenuSp .forpc {
  margin: 0 auto;
  padding-top: 100px;
  width: 100%;
  display: block;
  color: var(--spnav-text-link);
}
nav.globalMenuSp .forpc .inframe {
  width: 96%;
  margin: 0 2% 1%;
}
nav.globalMenuSp .forpc .inframe .inwrap {
  background: #FFF;
}
.globalMenuSp .main_menu dl {
  margin: 0;
}
.globalMenuSp .inframe .ttl, .globalMenuSp .inframe dt.sh, .globalMenuSp .inframe ul.main_menu > li {
  display: block;
  background: var(--spnav-menuBg);
  padding: 0 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  color: var(--spnav-text-nolink);
  font-weight: bold;
  line-height: 50px;
  border-bottom: 1px solid var(--spnav-border);
}
.globalMenuSp .inframe dt.sh a {
  color: var(--spnav-text-link);
}
.globalMenuSp .inframe dt.sh:last-child {
  border: 0;
}
.globalMenuSp .inframe .ttl a {
  color: var(--spnav-text-link);
  display: block;
}
.globalMenuSp .inframe dl dd.main_menu {
  background: var(--spnav-childMenuBg);
}
.globalMenuSp .inframe dd.main_menu ul {
  background-color: rgba(255, 255, 255, 0.15);
}
.globalMenuSp .main_menu li {}
.globalMenuSp .main_menu li a {
  color: var(--spnav-text-lightText);
  display: inline-block;
}
.globalMenuSp .main_menu ul li span, .globalMenuSp .main_menu ul li > a {
  color: var(--spnav-text-lightText);
  border-bottom: 1px solid var(--spnav-border);
  line-height: 50px;
  display: block;
  padding: 0 10px;
}
.globalMenuSp .inframe ul.main_menu > li a {
  color: var(--spnav-text-link);
  font-weight: normal;
}
.globalMenuSp .main_menu li img {
  vertical-align: middle;
  margin: 0 10px 0 0;
  width: 25px;
  height: auto;
}
.globalMenuSp .main_menu dt.sh span, .globalMenuSp .main_menu ul li span {
  display: block;
  position: relative;
  cursor: pointer;
}
.globalMenuSp .main_menu dt.sh span::after, .globalMenuSp .main_menu ul li span::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 1em;
  width: 1em;
  content: "＋";
  font-weight: bold;
  color: var(--spnav-text-nolink);
}
.globalMenuSp .main_menu dt.sh.active span::after, .globalMenuSp .main_menu ul li span.active::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 1em;
  width: 1em;
  content: "－";
  font-weight: bold;
  color: var(--spnav-text-nolink);
}
.globalMenuSp .main_menu ul li span::after, .globalMenuSp .main_menu ul li span.active::after {
  color: var(--spnav-text-lightText);
}
.globalMenuSp .main_menu dd ul.child li ul.child {
  background: var(--spnav-menuBg);
}
.globalMenuSp .main_menu dd ul.child li ul.child li span {
  color: var(--spnav-text-lightText);
  border-bottom: 1px dotted var(--spnav-border);
  line-height: 35px;
  display: block;
  padding: 0 1em;
}
.globalMenuSp .main_menu dd ul.child li ul.child li a {
  color: var(--spnav-text-normalText);
  display: inline-block;
}
.globalMenuSp .main_menu dd ul.child li ul.child li > a {
  color: var(--spnav-text-normalText);
  display: block;
  border-bottom: 1px dotted var(--spnav-border);
  line-height: 35px;
  padding: 0 1em;
}
.globalMenuSp .main_menu dd ul ul li a {
  padding-left: 2em;
}
.globalMenuSp .main_menu dd ul ul li ul li a {
  padding-left: 4em;
}
.globalMenuSp .mob-phone {
  font-size: 1.5em;
  font-weight: 800;
  color: var(--spnav-text-link);
  text-align: center;
  margin: 1em 0;
}
.globalMenuSp .mob-phone a {
  color: var(--spnav-text-link);
  text-decoration: none;
}
.globalMenuSp .mob-phone img {
  margin-right: .5em;
  vertical-align: middle;
}
.globalMenuSp .mob-search {
  width: 95%;
  margin: auto;
  text-align: center;
}
.globalMenuSp .mob-search input[type=text] {
  width: 80%;
  height: 45px;
  padding: 0 0.5em;
  box-sizing: border-box;
  line-height: 45px;
  background: #E0E5EF;
  border: 0;
}
.globalMenuSp .mob-search input[type=submit] {
  width: 17%;
  height: 45px;
  background: url("../img/icon_header_src.svg") no-repeat center center var(--spnav-main-color);
  text-indent: -99999px;
  border: 0;
  cursor: pointer;
}
.globalMenuSp .translation {
  margin: 0 10px 30px;
  padding: 30px;
  background: #e7f4f9;
}
.globalMenuSp .translation .title {
  color: var(--spnav-text-link);
  font-weight: 800;
  font-size: 1.313em;
  text-align: center;
  margin-bottom: .5em;
}
.globalMenuSp .translation ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  column-gap: 5px;
  row-gap: 5px;
  align-items: stretch;
}
.globalMenuSp .translation ul li {
  border: 1px solid var(--spnav-main-color);
  border-radius: 5px;
}
.globalMenuSp .translation ul li a {
  display: block;
  text-decoration: none;
  color: var(--spnav-text-link);
  padding: 1em;
  text-align: center;
}
.globalMenuSp ul.mob-sns {
  display: table;
  margin: 1.5em auto 0;
  align-items: center;
  padding: 30px 0;
}
.globalMenuSp ul.mob-sns li {
  display: table-cell;
  vertical-align: middle;
  padding: 0 15px;
  box-sizing: border-box;
}
.globalMenuSp ul.mob-sns li img {
  width: 40px;
  height: auto;
}
nav.globalMenuSp {
  position: fixed;
  z-index: 66666;
  top: 0;
  left: 0;
  height: 100%;
  overflow: auto;
  background-color: var(--spnav-mainBgColor);
  color: var(--spnav-text-normalText);
  transform: translateX(-100%);
  transition: all 0.6s;
  width: 100%;
  -webkit-overflow-scrolling: touch;
}
nav.globalMenuSp.active {
  transform: translateX(0%);
}
nav.globalMenuSp .forpc {
  margin: 0 auto;
  width: 100%;
  display: block;
  padding-top: 170px; /*headerの高さ+α*/
}
@media (max-width: 768px) {
    nav.globalMenuSp .forpc {
        padding-top: 120px;
    }
}