@charset "UTF-8";

body {
  min-width: inherit;
}
.inner {
  width: 100%;
  padding: 0 6.25vw;
}

/**********************************************************
 * メイン
 **********************************************************/
main {
  margin-top: 21vw;
}
main h2 {
  text-align: center;
}
main h2 span {
  position: relative;
  font-size: 4.6875vw;
  color: #0f8b95;
  padding-right: 0;
  padding-bottom: .5em;
  background: none;
  border-bottom: solid 1px #0f8b95;
}
main h3 {
  font-size: 4.3vw;
  line-height: 1.9;
  margin-bottom: 0;
}

/**********************************************************
 * button
 **********************************************************/
.btn {
  font-size: 4vw;
}
.btn.box {
  width: 100%;
}

/**********************************************************
 * ヘッダー
 **********************************************************/
header {
  display: block !important;
  min-width: inherit;
  height: 21vw;
  background-color: #FFF;
}
header .inner {
  position: relative;
}
header h1 {
  position: fixed;
  top: 7.5vw;
  left: 10vw;
  width: 24vw;
  padding: 0;
  background-color: inherit;
}
header.fixed h1 {
  top: 7.5vw;
}
header nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: calc(100vw - 6.25vw);
  height: 100vh;
  background-color: #FFF;
  -webkit-transition: all .4s;
  -o-transition: all .4s;
  transition: all .4s;
}
header nav.active {
  right: -.5px;
}
header nav ul {
  display: block;
  padding: 34.5vw 0 0 12vw;
}
header nav ul li {
  margin: 0;
  padding: 4vw 0;
}
header nav a {
  font-size: 4vw;
  color: #000;
}
.menu_trigger,
.menu_trigger span {
  display: inline-block !important;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}
.menu_trigger {
  z-index: 101;
  position: fixed;
  top: 9vw;
  right: 6.25vw;
  width: 6.4vw;
  height: 2.9333vw;
}
.menu_trigger.active {
  right: 80vw;
}
.menu_trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #FFF;
}
.menu_trigger.active span {
  background-color: #656464;
}
.menu_trigger span:first-of-type {
  top: 0;
}
.menu_trigger span:last-of-type {
  bottom: 0;
}
.menu_trigger.active span:first-of-type {
  -webkit-transform: translateY(1.3vw) rotate(-45deg);
  transform: translateY(1.3vw) rotate(-45deg);
}
.menu_trigger.active span:last-of-type {
  -webkit-transform: translateY(-1.3vw) rotate(45deg);
  transform: translateY(-1.3vw) rotate(45deg);
}

/**********************************************************
 * フッター
 **********************************************************/
footer {
  margin-top: 20vw;
  padding: 13.333vw 0 0;
  background-color: inherit;
  overflow: hidden;
}
footer::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 13.333vw;
  background-image: url(../img/index/bg_footer_sp.svg);
  background-size: 100% 13.333vw;
}
footer .inner {
  width: 100%;
  padding: 0 8vw 6.5vw;
  background: rgba(255,255,255,0.8);
  box-sizing: border-box;
}
footer .logo {
  display: block;
  width: 30vw;
  margin: 0 auto;
}
footer table {
  float: none;
  margin-top: 10vw;
  max-width: none;
  width: 100%;
  font-size: 3.125vw;
}
footer th {
  width: 29.87vw;
}
footer tr:not(:last-child) td {
  padding-bottom: 1em;
}
footer small {
  position: static;
  display: block;
  text-align: center;
  font-size: 3.4666vw;
  margin-top: 13vw;
}