@charset "UTF-8";

.inner {
  max-width: 100%;
  padding: 0 6vw;
}

/**********************************************************
 * header
 **********************************************************/
header {
  height: 15.38461vw;
}
header h1 {
  position: relative;
  left: 4vw;
  width: 40vw;
  z-index: 11;
}
header .nav_global {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #FFF;
  padding-top: 15.38461vw;
  transform: translate(100%, 0);
  transition: all .3s;
}
header .nav_global.active {
  transform: translate(0, 0);
}
header .nav_global ul {
  flex-direction: column;
  align-items: center;
  gap: 3em;
  font-size: 4vw;
  margin-top: 12vw;
}
.menu_trigger {
  display: block;
  z-index: 11;
  position: absolute;
  top: 50%;
  right: 3.125vw;
  transform: translateY(-50%);
  width: 12.5vw;
  height: 12.5vw;
  box-sizing: border-box;
  border-radius: 50%;
}
.menu_trigger .menu_line {
  position: relative;
  width: 5.625vw;
  height: 5.625vw;
  margin: 3.4375vw auto;
}
.menu_trigger .menu_line span {
  position: absolute;
  left: 0;
  width: 5.625vw;
  height: .533333333vw;
  background-color: #333;
  display: inline-block;
  transition: all .3s;
  box-sizing: border-box;
}
.menu_trigger .menu_line span:nth-of-type(1) {
  top: 0;
}
.menu_trigger .menu_line span:nth-of-type(2) {
  top: 50%;
  transform: translateY(-50%);
}
.menu_trigger .menu_line span:nth-of-type(3) {
  bottom: 0;
}
.menu_trigger.active span:nth-of-type(1) {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.menu_trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu_trigger.active span:nth-of-type(3) {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

header .nav_global .has-submenu {
  text-align: center;
}
header .nav_global .submenu {
  position: static;
  flex-direction: column;
  align-items: flex-start;
  gap: 2vw;
  margin-top: 0;
  padding-top: 5.3333vw;
  font-size: 3.5vw;
  min-width: 0;
  border-radius: 0;
  box-shadow: none;
  z-index: 12;
}
header .nav_global .has-submenu:focus-within > .submenu {
  display: none;
}
header .nav_global .has-submenu.open > .submenu {
  display: flex;
}
header .nav_global .submenu a {
  width: 100%;
  padding: 1vw 0;
  font-size: 3.7333vw;
  text-decoration: none;
}
header .nav_global .submenu li:last-of-type a {
  border-radius: 0;
}

/**********************************************************
 * main
 **********************************************************/
main {
  margin-top: 15.38461vw;
}

a.btn {
  font-size: 3.5vw;
}

#title {
  padding: 10vw 0 8vw;
}
#title .title_page {
  font-size: 8vw;
}

/**********************************************************
 * footer
 **********************************************************/
footer {
  padding: 4vw 0 6vw;
}
footer .copyright {
  font-size: 3.25vw;
}