@charset "UTF-8";
/* Scss Document */
/* Scss Document */
/*naga add*/
/* 下からフェードイン(初期値) */
.js-fadeUp, .js-fadeUpSlow {
  opacity: 0;
  /* 最初は非表示 */
  transform: translateY(30px);
  /* 下に30pxの位置から */
  transition: opacity .8s, transform .8s;
  /* 透過率と縦方向の移動を0.8秒 */
}

/* 下からフェードイン(スクロールした後) */
.js-fadeUp.is-inview {
  opacity: 1;
  /* 表示領域に入ったら表示 */
  transform: translateY(0);
  /* 30px上に移動する */
  transition-delay: 0s;
  /*開始を遅らせる */
}

.js-fadeUpSlow.is-inview {
  opacity: 1;
  /* 表示領域に入ったら表示 */
  transform: translateY(0);
  /* 30px上に移動する */
  transition-delay: .5s;
  /* 開始を遅らせる */
}

/* 左からフェードイン(初期値) */
.js-fadeIn, .js-fadeInSlow {
  opacity: 0;
  /* 最初は非表示 */
  transform: translateX(-100px);
  /* 左に100pxの位置から */
  transition: opacity .8s, transform .8s;
  /* 透過率と縦方向の移動を0.8秒 */
}

/* 左からフェードイン(スクロールした後) */
.js-fadeIn.is-inview {
  opacity: 1;
  /* 表示領域に入ったら表示 */
  transform: translateX(0);
  /* 100px右に移動する */
  transition-delay: 0s;
  /* 開始を遅らせる */
}

.js-fadeInSlow.is-inview {
  opacity: 1;
  /* 表示領域に入ったら表示 */
  transform: translateX(0);
  /* 100px右に移動する */
  transition-delay: .5s;
  /* 開始を遅らせる */
}

/*ゆらゆら*/
.js-swing.is-inview {
  animation: swing 2.5s;
}

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg);
  }
  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }
  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg);
  }
  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
  }
  to {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
}
/*跳ねる*/
.js-bounce.is-inview {
  animation: bounce 2.5s;
  transform-origin: center bottom;
}

@keyframes bounce {
  0%,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }
  80% {
    -webkit-transform: translateZ(0) scaleY(0.95);
    transform: translateZ(0) scaleY(0.95);
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}
/* 用紙サイズの指定（A4） */
@page {
  margin: 8mm;
  size: 210mm 297mm;
  /* A4縦 */
}
@media print {
  /* 全体設定 */
  body {
    -webkit-print-color-adjust: exact;
    /* 印刷時でも背景色や背景画像を表示 */
    width: 1400px;
    /* 印刷時の全ページ幅を統一 */
    zoom: 0.8;
    /* なるべく多くのブラウザで切れないようにするため */
    /*no animation*/
  }
  body header {
    position: absolute !important;
    max-width: 1400px;
    width: 1400px !important;
  }
  body .header--flex {
    width: 1400px !important;
  }
  body .btnBox {
    display: none;
  }
  body #btn_pagetop {
    display: none;
  }
  body .js-fadeUp,
  body .js-fadeIn,
  body .js-fadeUpSlow,
  body .js-fadeInSlow {
    opacity: 1;
  }
  body .js-fadeIn,
  body .js-fadeInSlow {
    transform: translateX(0);
  }
  body .js-fadeUp,
  body .js-fadeUpSlow {
    transform: translateY(0);
  }
  body .js-fadeUp.is-view,
  body .js-fadeIn.is-view,
  body .js-fadeUpSlow.is-view,
  body .js-fadeInSlow.is-view {
    animation-name: none;
  }
}
body {
  font-size: 62.5%;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  -webkit-text-size-adjust: 100%;
  animation-name: fadeIn;
  animation-duration: 1.5s;
  animation-timing-function: ease;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
body, h1, h2, h3, h4, h5, h6, p {
  font-size: 1rem;
  color: #000;
  margin: 0;
  padding: 0;
  line-height: 1.5;
}

a {
  text-decoration: none;
}
a:hover {
  color: #FF0000;
  text-decoration: underline;
}
a:link {
  color: #0000FF;
}
a:active {
  color: #0000FF;
}
a:visited {
  color: #990066;
}

img {
  vertical-align: bottom;
}

a img {
  border: none;
}

input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  outline: none;
}

input:focus,
button {
  outline: 0;
}

.clear {
  display: none;
  clear: both;
}

img.centering {
  position: absolute;
}

::selection {
  background: #FFD7E9;
}

::-moz-selection {
  background: #FFD7E9;
}

.pcNone {
  display: none;
}

@media (max-width: 767px) {
  /* responsive none fore SP */
  .spNone {
    display: none;
  }
}
body.fixed {
  position: fixed;
  width: 100%;
}

div.system-free {
  height: 100%;
  overflow: hidden;
}
div.system-free hr {
  height: 0;
  margin: 0;
  border: none;
  border-top: 1px solid #000;
}
div.system-free table {
  border-collapse: collapse;
}

ol.transition {
  width: 100%;
  height: 29px;
  overflow: hidden;
  margin: 40px auto 0;
  padding: 0;
  text-align: center;
  list-style: none;
}
ol.transition li {
  width: 27px;
  height: 27px;
  overflow: hidden;
  margin: 0 1px;
  padding: 0;
  color: #0086dc;
  font-size: 0.875rem;
  text-align: center;
  line-height: 1.2;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  background-color: #FFF;
  border: 1px solid #0086dc;
}
ol.transition li a {
  width: 27px;
  height: 27px;
  margin: 0;
  padding: 0;
  color: #0086dc;
  display: block;
  text-decoration: none;
}
ol.transition li span {
  margin: 0;
  padding: 5px 0 0;
  display: block;
}
ol.transition li a:hover, ol.transition li.current {
  color: #FFF;
  font-weight: bold;
  background-color: #0086dc;
}

.header {
  width: 100%;
  height: 125px;
  margin: 0;
  padding: 0;
  position: fixed;
  top: 0;
  z-index: 999;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

/*--- hamburger menu START ---*/
.btnMenu {
  display: none;
  width: 105px;
  height: 105px;
  border-radius: 50%;
  background-color: #000;
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 20;
}
@media screen and (max-width: 900px) {
  .btnMenu {
    display: block;
  }
}
@media screen and (max-width: 750px) {
  .btnMenu {
    width: 80px;
    height: 80px;
    top: 5px;
    right: 5px;
  }
}
.btnMenu .menu-trigger {
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  padding-top: 28px;
  text-decoration: none;
  text-align: center;
  font: 500 13px/1.1 "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #fff !important;
  white-space: nowrap;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 750px) {
  .btnMenu .menu-trigger {
    padding-top: 16px;
  }
}
.btnMenu .menu-trigger span:not(.name) {
  display: -webkit-block;
  display: -moz-block;
  display: -ms-block;
  display: -o-block;
  display: block;
  width: 50px;
  height: 5px;
  background-color: white;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.btnMenu .menu-trigger span:not(.name):nth-of-type(2) {
  margin: 0 auto 12px;
}
.btnMenu .menu-trigger span:not(.name):nth-of-type(3) {
  margin: 0 auto;
}
.btnMenu .menu-trigger span.name {
  display: inline-block;
  margin-bottom: 12px;
}
@media screen and (max-width: 750px) {
  .btnMenu .menu-trigger span.name {
    margin-bottom: 7px;
  }
}
.btnMenu .menu-trigger.active {
  position: relative;
}
.btnMenu .menu-trigger.active span:nth-of-type(2) {
  margin-bottom: 0;
  -moz-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform: translateY(21.5px) rotate(-45deg);
  transform: translateY(21.5px) rotate(-45deg);
}
.btnMenu .menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(16.5px) rotate(45deg);
  transform: translateY(16.5px) rotate(45deg);
}
.btnMenu .menu-trigger.active span.name {
  display: none;
}

/*--- hamburger menu END ---*/
.header__menu {
  display: none;
  touch-action: pan-y;
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 70px 0 100px;
  background-color: #f6eb0c;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .header__menu {
    padding: 70px 15px 100px;
  }
}
.header__menu > img {
  display: block;
  height: auto;
  max-width: 100%;
  margin: 0 auto 54px;
}
@media screen and (max-width: 480px) {
  .header__menu > img {
    margin-bottom: 24px;
  }
}
@media screen and (max-width: 750px) {
  .header__menu > img:not(.menu-title) {
    max-width: 50%;
  }
}
@media screen and (max-width: 750px) {
  .header__menu > img.menu-title {
    width: 110px;
  }
}
@media screen and (max-width: 480px) {
  .header__menu > img.menu-title {
    width: 90px;
  }
}
.header__menu .gNav {
  width: 100%;
  height: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.header__menu .gNav__list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  flex-direction: column;
  row-gap: 30px;
}
@media screen and (max-width: 480px) {
  .header__menu .gNav__list {
    row-gap: 15px;
  }
}
.header__menu .gNav__item {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: auto;
  height: 100%;
  padding: 0;
  position: relative;
  /*a END*/
}
.header__menu .gNav__item a {
  width: 100%;
  height: 60px;
  max-width: 488px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 30px;
  background-color: #000;
  margin: 0 auto;
  padding: 20px 15px;
  transition: .3s linear;
  font: 700 30px/1.2 "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo UI", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
  color: #fff !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header__menu .gNav__item a:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .header__menu .gNav__item a:hover {
    color: #fef100 !important;
    background-color: #4E4E4E;
  }
}
@media screen and (max-width: 750px) {
  .header__menu .gNav__item a {
    height: auto;
    min-height: 50px;
    font-size: 24px;
    padding: 5px 10px;
  }
}
@media screen and (max-width: 480px) {
  .header__menu .gNav__item a {
    width: 80%;
    min-height: 40px;
    font-size: 20px;
  }
}
.header__menu .gNav__item a.extLink {
  background-color: #ed1c28;
}
.header__menu .gNav__item a.extLink:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .header__menu .gNav__item a.extLink:hover {
    color: #fef100 !important;
    background-color: #F05861;
  }
}
.header__menu .gNav.open {
  display: block;
}

.fixed-pt {
  max-height: 105px;
  position: fixed;
  right: 20px;
  border-radius: 50%;
}
@media screen and (max-width: 750px) {
  .fixed-pt {
    max-height: 80px;
  }
}
@media screen and (min-width: 901px) {
  .fixed-pt {
    display: none;
  }
}
.fixed-pt a {
  width: 100%;
  height: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.fixed-pt a:visited {
  opacity: 1;
}
.fixed-pt a:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .fixed-pt a:hover {
    text-decoration: none;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
  }
}
.fixed-pt a:active {
  opacity: 1;
}
.fixed-pt a:focus {
  opacity: 1;
}
.fixed-pt a img {
  display: block;
  height: auto;
  max-width: 100%;
}
@media screen and (max-width: 750px) {
  .fixed-pt a img {
    width: 80px;
  }
}
