@media print {
  body {
    zoom: 70%;
  }
}

@media screen and (max-width: 768px) {
  #overlay {
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    width: 100%;
    height: 100%;
    display: none;
    z-index: 9;
  }
}
#stage {
  overflow: hidden;
  min-width: 1200px;
}
@media screen and (max-width: 768px) {
  #stage {
    min-width: initial;
    min-width: auto;
  }
}
@media print {
  #stage {
    min-width: 1600px;
    width: auto !important;
    width: 1600px;
    overflow: initial;
    overflow: inherit;
    overflow: auto;
    display: inline;
  }
}

/*------------------------------
header
------------------------------*/
#header {
  opacity: 0;
  margin-top: 20px;
}
@media print {
  #header {
    position: static;
    width: 100%;
  }
}
#header .inner {
  width: 1200px;
  margin: 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #header .inner {
    width: 100%;
  }
}
@media print {
  #header .inner {
    position: static;
    width: 100%;
  }
}
@media print {
  #header {
    opacity: 1;
  }
}
#header .header-top {
  padding: 10px 0;
}
@media screen and (max-width: 768px) {
  #header .header-top {
    display: none;
  }
}
#header .header-top p {
  float: left;
  color: #00479d;
  font-size: 12px;
}
#header .header-top .submenu {
  float: right;
  overflow: hidden;
}
#header .header-top .submenu li {
  float: left;
  margin-left: 26px;
}
#header .header-top .submenu li a {
  font-size: 12px;
}
#header .header-top .submenu li a:hover {
  color: #00479d;
  text-decoration: underline;
}
#header .header-top .submenu li a.nolink {
  opacity: 0.3;
}
#header .header-top .submenu li a.nolink:hover {
  color: #333;
  cursor: default;
}
#header .header-bottom {
  background-color: #003e82;
}
@media screen and (max-width: 768px) {
  #header .header-bottom {
    background-color: #fff;
  }
  #header .header-bottom.spfix {
    position: fixed;
    z-index: 9999;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.7);
  }
}
#header .header-bottom.fix {
  position: fixed;
  width: 100%;
  min-width: 1200px;
  top: 0;
  z-index: 99999;
}
@media screen and (max-width: 768px) {
  #header .header-bottom.fix {
    min-width: initial;
    min-width: auto;
  }
}
@media print {
  #header .header-bottom.fix {
    position: static;
  }
}
#header .header-bottom h1 {
  float: left;
  padding: 10px 0;
}
@media screen and (max-width: 768px) {
  #header .header-bottom h1 {
    padding: 0;
    width: 18%;
  }
}
@media screen and (max-width: 768px) {
  #header .header-bottom .sp-head {
    width: 100%;
    padding: 20px 4.5%;
    box-sizing: border-box;
    border-bottom: 1px solid #00479d;
  }
  #header .header-bottom .sp-head .sp-text {
    margin: 0 3.5%;
    width: 64%;
  }
  #header .header-bottom .sp-head .sp-menu-btn {
    float: right;
    width: 9%;
  }
}
#header .header-bottom #nav {
  float: right;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #header .header-bottom #nav {
    float: none;
    position: fixed;
    width: 100%;
    height: 102%;
    background-color: #fff;
    z-index: 99999;
    top: 0;
    display: none;
    overflow-y: scroll;
  }
}
#header .header-bottom #nav ul {
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #header .header-bottom #nav ul {
    background-color: #003e82;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
  }
}

#header .header-bottom #nav li {
  float: left;
  margin-left: 42px;
}
#header .header-bottom #nav li:first-child {
  margin-left: 0;
}

@media screen and (min-width: 769px) {
  /* SNS */
  #header .header-bottom #nav li.icon {
    margin-left: 50px;
  }
  #header .header-bottom #nav li.icon + li {
    margin-left: 14px;
  }
  #header .header-bottom #nav li.icon a {
    width: 24px;
    padding-top: 17px;
    display: block;
    border-bottom: none !important;
    line-height: 1;
  }
  #header .header-bottom #nav li.icon a:hover {
    opacity: .7;
  }
  #header .header-bottom #nav li.icon a.facebook {
    padding-top: 18px;
  }
  #header .header-bottom #nav li.icon a svg {
    fill: #fff;
  }
}

@media screen and (max-width: 768px) {
  #header .header-bottom #nav li {
    float: none;
    margin-left: 0;
    display: block;
    box-sizing: border-box;
  }
  #header .header-bottom #nav li:last-child {
    border-bottom: 1px solid #fff;
  }
  #header .header-bottom #nav li.w50 {
    width: 50%;
    border: 1px solid #fff;
    float: left;
  }
  #header .header-bottom #nav li.w50.w50-left {
    border-width: 1px 0;
  }
  #header .header-bottom #nav li.w50.w50-right {
    border-width: 1px 0 1px 1px;
  }
  #header .header-bottom #nav li.sp a {
    font-size: 15px;
    font-weight: normal;
  }
  #header .header-bottom #nav li:last-child {
    clear: both;
  }
}
#header .header-bottom #nav li a {
  color: #fff;
  display: block;
  position: relative;
  border-bottom: 3px solid #003e82;
  padding-top: 20px;
  font-size: 15px;
}
#header .header-bottom #nav li a:hover, #header .header-bottom #nav li a.current {
  border-bottom: 3px solid #fff;
}
#header .header-bottom #nav li a.nolink {
  opacity: 0.3;
}
#header .header-bottom #nav li a.nolink:hover {
  border-bottom: none;
  cursor: default;
}
@media screen and (max-width: 768px) {
  #header .header-bottom #nav li a {
    border-bottom: none;
    text-align: center;
    padding: 15px 0;
    background: url(/common/images/sp_menu_line.png) center bottom no-repeat;
    background-size: 77%;
    font-size: 20px;
  }
  #header .header-bottom #nav li a:hover, #header .header-bottom #nav li a.current {
    border-bottom: none;
  }
  #header .header-bottom #nav li a.noborder {
    background: none;
  }
  #header .header-bottom #nav li.other a + a {
      border-top: 1px solid #fff;
  }

  /* SNS */
  #header .header-bottom #nav li.icon {
    display: none;
  }
  #header .header-bottom #nav .ul_sns {
    height: auto;
    /* margin: -10px 0 0; */
    padding: 10px 0 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
  }
  #header .header-bottom #nav .ul_sns li {
    margin: 0 10px;
    border-bottom: none;
  }

  #header .header-bottom #nav .ul_sns li a {
    width: 30px;
    padding-top: 0;
    display: block;
    /* border-bottom: none !important; */
    line-height: 1;
    background: none;
  }

  #header .header-bottom #nav .ul_sns li a svg {
    fill: #fff;
  }

}
.pagetop {
  position: relative;
  text-align: center;
}
.pagetop a {
  display: inline-block;
  position: absolute;
  top: -20px;
  left: 50%;
  margin-left: -58px;
  transition: top 0.2s ease 0.15s;
}
@media screen and (max-width: 768px) {
  .pagetop a {
    top: -56px;
    transition: none;
  }
}
.pagetop a:hover {
  top: -56px;
}

#contents {
  opacity: 0;
  margin-top: 20px;
}

/*------------------------------
footer
------------------------------*/
#footer {
  background-color: #003e82;
  position: relative;
}
#footer p {
  color: #fff;
}
#footer .inner {
  width: 1200px;
  margin: 0 auto;
  overflow: hidden;
  padding: 20px 0 0;
}
#footer .inner.inner2 {
  padding: 0 0 20px;
}
@media screen and (max-width: 768px) {
  #footer .inner {
    width: 100%;
    box-sizing: border-box;
    padding: 30px 5%;
  }
}
#footer .footer-left, #footer .footer-right {
  float: left;
  width: 49%;
}
@media screen and (max-width: 768px) {
  #footer .footer-left, #footer .footer-right {
    width: 100%;
    float: none;
  }
  #footer .footer-left iframe, #footer .footer-right iframe {
    width: 100%;
  }
}
#footer .footer-left p, #footer .footer-right p {
  margin: 0 0 20px;
}
#footer .footer-left p.address, #footer .footer-right p.address {
  font-size: 12px;
  line-height: 2em;
}
@media screen and (max-width: 768px) {
  #footer .footer-left p.address, #footer .footer-right p.address {
    text-align: center;
    font-size: 14px;
  }
}
#footer .footer-left p.company, #footer .footer-right p.company {
  margin: 5px 0 20px;
}
#footer .footer-right {
  float: right;
}
#footer .footer-right p.company {
  margin: 5px 0 20px;
}
#footer .footer-right ul {
  overflow: hidden;
}
#footer .footer-right ul li {
  float: left;
}
@media screen and (max-width: 768px) {
  #footer .footer-right ul li {
    float: none;
  }
}
#footer .footer-right ul li:first-child {
  margin: 6px 30px 0 0;
}
#footer .footer-right ul li:first-child a:hover {
  cursor: default;
}
@media screen and (max-width: 768px) {
  #footer .footer-right ul li:first-child {
    margin: 0 0 30px;
    text-align: center;
  }
  #footer .footer-right ul li:first-child img {
    zoom: 0.8;
  }
}
#footer .footer-right ul li a.contact {
  display: block;
  width: 220px;
  padding: 13px 0;
  text-align: center;
  color: #fff;
  border: 2px solid #fff;
  transition: color 0.15s ease 0.15s , background 0.15s ease 0.15s;
}
@media screen and (max-width: 768px) {
  #footer .footer-right ul li a.contact {
    margin: 0 auto;
    padding: 8px 0;
  }
}
#footer .footer-right ul li a.contact:hover {
  color: #003e82;
  border: 2px solid #003e82;
  background-color: #fff;
}
#footer .copyright {
  background-color: #333;
  padding: 12px 0;
}

#footer .copyright .inner {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#footer .copyright .policy {
  color: #fff;
  font-size: 12px;
}
#footer .copyright .policy:hover {
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  #footer .copyright p {
    width: 100%;
    text-align: center;
  }
  #footer .copyright .policy {
    margin: 10px auto;
  }
}

#map_canvas, #map_canvas1 {
  width: 100%;
  height: 400px;
}
@media screen and (max-width: 768px) {
  #map_canvas, #map_canvas1 {
    height: 300px;
  }
}

#page404 h2 {
  color: #fff;
  font-size: 36px;
}
#page404 .page404-text {
  max-width: 1000px;
  margin: 0 auto 180px;
}
#page404 .page404-text p {
  font-size: 15px;
}
#page404 .page404-text a.btn {
  display: block;
  width: 200px;
  margin: 40px auto;
  padding: 15px 0;
  border: 1px solid #00326e;
  background-color: #00326e;
  color: #fff;
  text-align: center;
}
#page404 .page404-text a.btn:hover {
  opacity: 0.7;
  cursor: pointer;
}
