@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;
  /* 開始を遅らせる */
}

/* 用紙サイズの指定（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.fixed {
  position: fixed;
  width: 100%;
}

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: #D2E3FF;
}

::-moz-selection {
  background: #D2E3FF;
}

.pcNone {
  display: none;
}

@media (max-width: 767px) {
  /* responsive none fore SP */
  .spNone {
    display: none;
  }
}
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: 42px;
  overflow: hidden;
  margin: 100px auto 0;
  padding: 0;
  text-align: center;
  list-style: none;
}
@media screen and (max-width: 479px) {
  ol.transition {
    height: 38px;
  }
}
ol.transition li {
  width: 40px;
  height: 40px;
  overflow: hidden;
  margin: 0 1px;
  padding: 0;
  color: #1d1d1d;
  text-align: center;
  font: 500 20px/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;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  background-color: #FFF;
  border: 1px solid #c0c0c0;
}
@media screen and (max-width: 479px) {
  ol.transition li {
    width: 36px;
    height: 36px;
    font: 500 16px/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;
  }
}
ol.transition li a {
  width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  color: #1d1d1d;
  display: block;
  text-decoration: none;
}
@media screen and (max-width: 479px) {
  ol.transition li a {
    width: 36px;
    height: 36px;
  }
}
ol.transition li span {
  margin: 0;
  padding: 7px 0;
  display: block;
}
@media screen and (max-width: 479px) {
  ol.transition li span {
    padding: 9px 0;
  }
}
ol.transition li a:hover, ol.transition li.current {
  color: #FFF;
  font-weight: bold;
  background-color: #ff9a24;
}

.bdcb {
  margin-top: 5px;
}
.bdcb__inner {
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 40px;
  margin: 0 auto;
  max-width: 1720px;
}
@media screen and (max-width: 767px) {
  .bdcb__inner {
    padding: 10px 15px;
  }
}
.bdcb__list {
  width: 100%;
  height: 100%;
  -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;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.bdcb__item {
  font: 500 15px/1.5 "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: #1d1d1d;
  padding-right: 16px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
@media screen and (max-width: 767px) {
  .bdcb__item {
    font-size: 14px;
  }
}
.bdcb__item--anchor {
  font: 500 15px/1.5 "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: #1d1d1d !important;
  transition: 0.3s linear;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .bdcb__item--anchor {
    font-size: 14px;
  }
}
.bdcb__item--anchor:link {
  color: #1d1d1d;
}
.bdcb__item--anchor:hover {
  text-decoration: none;
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: alpha(opacity=80);
}
.bdcb__item--anchor:visited {
  color: #1d1d1d;
}
.bdcb__item--anchor img {
  vertical-align: middle;
  padding-bottom: 3px;
  padding-right: 6px;
}
@media screen and (max-width: 767px) {
  .bdcb__item--anchor img {
    padding-bottom: 5px;
    padding-right: 4px;
    width: 13px;
    height: auto;
  }
}
.bdcb .polygon {
  padding-right: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .bdcb .polygon {
    padding-right: 16px;
  }
}
.bdcb .polygon:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: #1d1d1d;
  width: 5px;
  height: 7.5px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
@media screen and (max-width: 767px) {
  .bdcb .polygon:after {
    right: 5px;
  }
}

.header {
  width: 100%;
  height: 100px;
  margin: 0;
  padding: 0;
  position: fixed;
  top: 0;
  z-index: 999;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .header {
    height: 80px;
  }
}
.header--flex {
  width: 100%;
  height: 100px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 30px 0 20px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  /*--- hamburger menu START ---*/
  /*--- hamburger menu END ---*/
}
@media screen and (max-width: 1279px) {
  .header--flex {
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .header--flex {
    height: 80px;
    padding: 0 15px;
  }
}
.header--flex .btnMenu {
  display: none;
}
@media screen and (max-width: 1279px) {
  .header--flex .btnMenu {
    display: -webkit-block;
    display: -moz-block;
    display: -ms-block;
    display: -o-block;
    display: block;
    width: 64px;
    height: 60px;
    margin-top: 15px;
    z-index: 20;
  }
  .header--flex .btnMenu .menu-trigger {
    width: 100%;
    height: 100%;
    display: inline-block;
    text-decoration: none;
    transition: 0.1s linear;
    text-align: center;
  }
  .header--flex .btnMenu .menu-trigger span {
    display: -webkit-block;
    display: -moz-block;
    display: -ms-block;
    display: -o-block;
    display: block;
    width: 35px;
    height: 3px;
    background-color: #ff9a24;
    border-radius: 1px;
  }
  .header--flex .btnMenu .menu-trigger span:nth-of-type(1) {
    margin: 0 auto 8px;
  }
  .header--flex .btnMenu .menu-trigger span:nth-of-type(2) {
    margin: 0 auto;
  }
  .header--flex .btnMenu .menu-trigger span:nth-of-type(3) {
    margin: 8px auto 4px;
  }
  .header--flex .btnMenu .menu-trigger strong {
    color: #1d1d1d;
    font-family: "M PLUS 1", sans-serif;
    font-weight: 500;
    white-space: nowrap;
  }
}
@media screen and (max-width: 1279px) and (max-width: 767px) {
  .header--flex .btnMenu .menu-trigger strong {
    font-size: 13px;
  }
}
@media screen and (max-width: 1279px) {
  .header--flex .btnMenu .menu-trigger.active span:nth-of-type(1) {
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform: translateY(11px) rotate(-45deg);
    transform: translateY(11px) rotate(-45deg);
  }
  .header--flex .btnMenu .menu-trigger.active span:nth-of-type(2) {
    left: 50%;
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: alpha(opacity=0);
    animation-name: active-menu-bar;
    animation-duration: 0.8s;
    animation-timing-function: forwards;
  }
  .header--flex .btnMenu .menu-trigger.active span:nth-of-type(3) {
    bottom: 15px;
    -webkit-transform: translateY(-11px) rotate(45deg);
    transform: translateY(-11px) rotate(45deg);
  }
}
.header .headerTitle {
  margin: 0;
  padding: 0;
}
.header .headerTitle__anchor {
  display: inline-block;
  width: auto;
  height: 60px;
  font-family: "M PLUS 1", sans-serif;
  line-height: 1.1;
  letter-spacing: 0.05em;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 80px;
  background-image: url("../img/common/logo.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom left;
}
@media screen and (max-width: 767px) {
  .header .headerTitle__anchor {
    height: 45px;
    padding-left: 65px;
  }
}
@media screen and (max-width: 479px) {
  .header .headerTitle__anchor {
    height: 40px;
    padding-left: 55px;
  }
}
@media screen and (max-width: 329px) {
  .header .headerTitle__anchor {
    background-image: none;
    padding-left: 0;
  }
}
.header .headerTitle__anchor:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .header .headerTitle__anchor:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
  }
}
.header .headerTitle__anchor--sub {
  font-size: 13px;
  color: #1d1d1d;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .header .headerTitle__anchor--sub {
    font-size: 11px;
  }
}
@media screen and (max-width: 479px) {
  .header .headerTitle__anchor--sub {
    font-size: 9px;
  }
}
.header .headerTitle__anchor--main {
  font-size: 30px;
  color: #1d1d1d;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .header .headerTitle__anchor--main {
    font-size: 24px;
  }
}
@media screen and (max-width: 479px) {
  .header .headerTitle__anchor--main {
    font-size: 20px;
  }
}

.header--jsHeaderBack {
  background-color: #ffefe7 !important;
  box-shadow: 0px 3px 3.7px 0.3px rgba(90, 90, 90, 0.1);
}

/*1279px以下はハンバーガーメニュー*/
.gNav {
  width: 100%;
  height: auto;
  max-width: 880px;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 1279px) {
  .gNav {
    display: none;
    max-width: 100%;
    position: fixed;
  }
}
@media screen and (max-width: 1279px) {
  .gNav--bgimg {
    width: auto;
    height: calc(100% - 100px);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    position: fixed;
    top: 100px;
    right: 0;
    padding: 30px 50px 100px;
    background-color: #fff;
    background-image: url("../img/common/bg_leaf.png");
    background-size: contain;
    background-position: top left;
    touch-action: pan-y;
    overflow: scroll;
  }
}
@media screen and (max-width: 767px) {
  .gNav--bgimg {
    height: calc(100% - 80px);
    top: 80px;
  }
}
@media screen and (max-width: 479px) {
  .gNav--bgimg {
    width: 100%;
    padding: 30px 30px 100px;
  }
}
.gNav__list--flex {
  margin: 0;
  padding: 0;
  width: 100%;
  height: auto;
  -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;
  align-items: center;
}
@media screen and (max-width: 1279px) {
  .gNav__list--flex {
    align-items: baseline;
    flex-direction: column;
    row-gap: 15px;
  }
}
@media screen and (max-width: 479px) {
  .gNav__list--flex {
    row-gap: 25px;
  }
}
.gNav__item:nth-child(4)::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-image: url("../img/common/menu_arrow.png");
  background-size: 13px;
  background-repeat: no-repeat;
  background-position: center;
  padding-bottom: 60px;
  cursor: pointer;
}
@media screen and (max-width: 1279px) {
  .gNav__item:nth-child(4)::before {
    content: none;
  }
}
.gNav__item {
  margin: 0;
  padding: 0;
  width: auto;
  height: auto;
  list-style-type: none;
  position: relative;
  flex-grow: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 479px) {
  .gNav__item {
    width: 100%;
    /*text-align: center;*/
  }
}
.gNav__item--anchor {
  font: 500 18px/1.5 "M PLUS 1", sans-serif;
  color: #1d1d1d !important;
  margin-left: 15px;
  margin-right: 15px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  overflow: hidden;
}
@media screen and (max-width: 1279px) {
  .gNav__item--anchor {
    margin-left: 5px;
    margin-right: 0;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 479px) {
  .gNav__item--anchor {
    margin-left: 10px;
  }
}
.gNav__item--anchor:after {
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  content: '';
  left: 50%;
  /* 初期位置を中央に */
  transform: translateX(-50%);
  /* 中央揃え */
  width: 0;
  height: 1px;
  background: #1d1d1d;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 1279px) {
  .gNav__item--anchor:after {
    width: 100%;
  }
}
.gNav__item--anchor:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .gNav__item--anchor:hover:after {
    width: 100%;
  }
  .gNav__item--anchor:hover {
    background-position: 0 100%;
    background-size: 100% 1px;
  }
}
.gNav__item .childNav {
  display: none;
  position: absolute;
  top: 60px;
  left: 50%;
  width: 720px;
  height: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px 30px 30px;
  background-color: #fff;
  box-shadow: 1px 1px 3px 1px #eee;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 999;
}
@media screen and (max-width: 1279px) {
  .gNav__item .childNav {
    display: block;
    position: static;
    width: 100%;
    height: auto;
    padding: 0;
    background-color: inherit;
    box-shadow: none;
    -moz-transform: translateX(0);
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@media screen and (max-width: 767px) {
  .gNav__item .childNav {
    margin-top: 50px;
  }
}
.gNav__item .childNav > div {
  display: flex;
  justify-content: center;
  row-gap: 30px;
  column-gap: 40px;
}
@media screen and (max-width: 767px) {
  .gNav__item .childNav > div {
    display: block;
  }
}
.gNav__item .childNav__list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px 0;
}
@media screen and (max-width: 1279px) {
  .gNav__item .childNav__list {
    margin-bottom: 10px;
  }
}
.gNav__item .childNav__item.name {
  font: 500 22px/1.5 "M PLUS 1", sans-serif;
  color: #1d1d1d;
  display: block;
  padding: 20px 5px 10px;
  margin-bottom: 20px;
  border-bottom: 1px solid #ff9a24;
}
@media screen and (max-width: 1279px) {
  .gNav__item .childNav__item.name {
    font-size: 20px;
    padding: 10px 20px 10px 10px;
    margin-top: 20px;
    background-color: #ffefe7;
  }
}
@media screen and (max-width: 767px) {
  .gNav__item .childNav__item.name {
    font-size: 18px;
  }
}
.gNav__item .childNav__item {
  max-width: 300px;
}
@media screen and (max-width: 1279px) {
  .gNav__item .childNav__item {
    max-width: 100%;
  }
}
.gNav__item .childNav__item--anchor {
  font: 500 18px/1.5 "M PLUS 1", sans-serif;
  color: #1d1d1d !important;
  width: auto;
  height: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 20px;
  position: relative;
  display: inline-block;
  overflow: hidden;
}
@media screen and (max-width: 1279px) {
  .gNav__item .childNav__item--anchor {
    font-size: 16px;
    letter-spacing: 0.05em;
    padding-left: 10px;
    padding-right: 10px;
    margin-bottom: 15px;
  }
}
.gNav__item .childNav__item--anchor:after {
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  content: '';
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 1px;
  background: #1d1d1d;
  -webkit-transition: width 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition: width 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}
.gNav__item .childNav__item--anchor:hover:after {
  width: 100%;
}
.gNav__item .childNav__item--anchor:hover {
  background-position: 0 100%;
  background-size: 100% 1px;
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: alpha(opacity=70);
  text-decoration: none;
}
@media screen and (min-width: 1280px) {
  .gNav__item .gNav__item--anchor:hover + .childNav,
  .gNav__item .gNav__item--anchor:focus-within + .childNav,
  .gNav__item .childNav:hover,
  .gNav__item .childNav:focus-within {
    display: block;
  }
}
.gNav .gNav__item.pc-none {
  display: none;
}
@media screen and (max-width: 1279px) {
  .gNav .gNav__item.pc-none {
    display: block;
  }
}
.gNav__ctc {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
  /*
  @include sp {
    margin: 0 auto;
  };*/
}
@media screen and (max-width: 1279px) {
  .gNav__ctc {
    display: none;
  }
}
.gNav__ctc--btn {
  font: 500 18px/1.5 "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: #1d1d1d !important;
  display: inline-block;
  width: 113px;
  height: 50px;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin-left: 15px;
  padding-top: 12px;
  background: #ffd131;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.gNav__ctc--btn:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .gNav__ctc--btn:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
    -moz-transform: scale(1.05);
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
}

.footer {
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  /*ftTop END*/
}
.footer .ftTop {
  background-image: linear-gradient(to left, #fdd035, #ffb830, #ff9825);
  padding-top: 50px;
  padding-bottom: 60px;
}
.footer .ftTop__flex {
  display: flex;
  justify-content: space-between;
  column-gap: 40px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 120px;
  max-width: 1440px;
  text-align: center;
}
@media screen and (max-width: 1279px) {
  .footer .ftTop__flex {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .footer .ftTop__flex {
    display: block;
  }
}
.footer .ftTop__flex--right {
  display: flex;
  align-items: center;
  column-gap: 40px;
}
@media screen and (max-width: 1279px) {
  .footer .ftTop__flex--right {
    column-gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .footer .ftTop__flex--right {
    column-gap: 30px;
    margin-top: 40px;
  }
}
@media screen and (max-width: 479px) {
  .footer .ftTop__flex--right {
    flex-wrap: wrap;
    gap: 30px;
  }
}
.footer .ftTop__flex--right img {
  display: block;
  height: auto;
  max-width: 100%;
}
@media screen and (max-width: 479px) {
  .footer .ftTop__flex--right img {
    width: auto;
    height: 60px;
  }
}
.footer .ftTop__paragraph {
  margin-top: 20px;
  text-align: left;
}
.footer .ftTop__paragraph.polygon {
  font: 500 18px/1.5 "M PLUS 1", sans-serif;
  color: #fff;
  padding-left: 24px;
  position: relative;
}
@media screen and (max-width: 479px) {
  .footer .ftTop__paragraph.polygon {
    font-size: 16px;
  }
}
.footer .ftTop__paragraph.polygon:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: #fff;
  width: 11px;
  height: 16px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.footer .ftTop__paragraph:first-child {
  margin-top: 0;
}
.footer .ftTop__paragraph a {
  text-decoration: none;
  color: #fff !important;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (hover: hover) {
  .footer .ftTop__paragraph a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
  }
}
.footer .ftTop__paragraph a span {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer .ftBtm {
  background-color: #005739;
}
.footer .ftBtm__inner {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 50px 40px 80px;
  /*max-width必要なら追加する*/
}
@media screen and (max-width: 767px) {
  .footer .ftBtm__inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.footer .ftBtm__flex {
  display: flex;
}
@media screen and (max-width: 1279px) {
  .footer .ftBtm__flex {
    flex-wrap: wrap;
  }
}
.footer .ftBtm__flex--left {
  flex: 0 0 420px;
}
@media screen and (min-width: 1441px) {
  .footer .ftBtm__flex--left {
    flex: 0 0 600px;
  }
}
@media screen and (max-width: 1279px) {
  .footer .ftBtm__flex--left {
    flex-basis: 100%;
    margin-bottom: 60px;
  }
}
.footer .ftBtm__flex--right {
  flex: 1 1 auto;
}
@media screen and (max-width: 479px) {
  .footer .ftBtm__logo {
    text-align: center;
  }
}
.footer .ftBtm__logo--anchor {
  display: inline-block;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  overflow: hidden;
}
.footer .ftBtm__logo img {
  display: block;
  height: auto;
  max-width: 100%;
  margin-bottom: 25px;
}
.footer .ftBtm__name {
  font: 500 14px/2 "M PLUS 1", sans-serif;
  color: #fff;
  margin-bottom: 25px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
@media screen and (max-width: 479px) {
  .footer .ftBtm__name {
    text-align: center;
  }
}
.footer .ftBtm__name span {
  display: block;
  font: 500 30px/2 "M PLUS 1", sans-serif;
  color: #fff;
}
@media screen and (max-width: 479px) {
  .footer .ftBtm__name span {
    line-height: 1.5;
  }
}
.footer .ftBtm__ctc {
  font: 500 16px/2 "M PLUS 1", sans-serif;
  color: #fff;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
@media screen and (max-width: 479px) {
  .footer .ftBtm__ctc {
    text-align: center;
  }
}
.footer .ftBtm__ctc span {
  display: block;
  font: bold 30px/2 "M PLUS 1", sans-serif;
  color: #fff;
}
@media screen and (max-width: 479px) {
  .footer .ftBtm__ctc span {
    font-size: 28px;
  }
}
.footer .ftBtm__ctc span img {
  display: inline-block;
  height: auto;
  max-width: 100%;
  padding-right: 10px;
  vertical-align: middle;
  position: relative;
  top: -4px;
}
.footer .ftBtm__paragraph {
  font: 500 16px/2 "M PLUS 1", sans-serif;
  color: #fff;
  margin-top: 40px;
}
.footer .ftNav {
  display: flex;
  column-gap: 25px;
}
@media screen and (max-width: 767px) {
  .footer .ftNav {
    padding-top: 15px;
    border-top: 1px dashed #fff;
  }
}
@media screen and (max-width: 479px) {
  .footer .ftNav {
    display: block;
  }
}
.footer .ftNav__wrap {
  flex: 0 0 340px;
}
@media screen and (max-width: 767px) {
  .footer .ftNav__wrap {
    flex: 1 1 auto;
  }
}
.footer .ftNav__list {
  list-style: none;
  padding: 0;
  margin-bottom: 40px;
}
@media screen and (max-width: 479px) {
  .footer .ftNav__list {
    margin-bottom: 20px;
  }
}
.footer .ftNav__item {
  font: 500 16px/2.2 "M PLUS 1", sans-serif;
  color: #fff !important;
  cursor: default;
}
@media screen and (max-width: 767px) {
  .footer .ftNav__item {
    margin-bottom: 15px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 479px) {
  .footer .ftNav__item {
    margin-bottom: 20px;
  }
}
.footer .ftNav__item.indent {
  padding-left: 2em;
  position: relative;
}
.footer .ftNav__item.indent:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 25px;
  height: 1px;
  background-color: #fff;
}
.footer .ftNav__item--anchor {
  font: 500 16px/2.2 "M PLUS 1", sans-serif;
  color: #fff !important;
  display: inline-block;
  text-decoration: none;
  position: relative;
}
@media screen and (max-width: 767px) {
  .footer .ftNav__item--anchor {
    line-height: 1.5;
  }
}
.footer .ftNav__item--anchor:after {
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  content: '';
  bottom: 5px;
  left: 50%;
  /* 初期位置を中央に */
  transform: translateX(-50%);
  /* 中央揃え */
  width: 0;
  height: 1px;
  background: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  /*@include mobpc {
    width: 100%;
  };*/
}
.footer .ftNav__item--anchor:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .footer .ftNav__item--anchor:hover:after {
    width: 100%;
  }
  .footer .ftNav__item--anchor:hover {
    background-position: 0 100%;
    background-size: 100% 1px;
  }
}

.copyright {
  text-align: center;
  font-size: 14px;
  color: #FFF;
  line-height: 1.3;
  padding: calc(33px - (14px * 1.3 - 14px) / 2) 0;
  border-top: 0.5px solid #FFF;
  letter-spacing: 0.05em;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
@media screen and (max-width: 479px) {
  .copyright {
    font-size: 13px;
    word-break: break-all;
    padding: calc(33px - (14px * 1.3 - 14px) / 2) 10px;
  }
}

.btnBox {
  position: relative;
  z-index: 998;
}
.btnBox .btnBox__pt {
  max-height: 60px;
  position: fixed;
  bottom: 15px;
  right: 20px;
  border-radius: 5px;
}
.btnBox .btnBox__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;
}
.btnBox .btnBox__pt a:visited {
  opacity: 1;
}
.btnBox .btnBox__pt a:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .btnBox .btnBox__pt a:hover {
    text-decoration: none;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
  }
}
.btnBox .btnBox__pt a:active {
  opacity: 1;
}
.btnBox .btnBox__pt a:focus {
  opacity: 1;
}
.btnBox .btnBox__pt a img {
  display: -webkit-block;
  display: -moz-block;
  display: -ms-block;
  display: -o-block;
  display: block;
}
.btnBox .btnBox__rct {
  display: none;
}
@media screen and (max-width: 1279px) {
  .btnBox .btnBox__rct {
    display: block;
    position: fixed;
    bottom: 80px;
    right: 0px;
    animation: slideInRight 2s forwards;
  }
  .btnBox .btnBox__rct 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;
  }
  .btnBox .btnBox__rct a:visited {
    opacity: 1;
  }
  .btnBox .btnBox__rct a:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 1279px) and (hover: hover) {
  .btnBox .btnBox__rct a:hover {
    text-decoration: none;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
  }
}
@media screen and (max-width: 1279px) {
  .btnBox .btnBox__rct a:active {
    opacity: 1;
  }
  .btnBox .btnBox__rct a:focus {
    opacity: 1;
  }
  .btnBox .btnBox__rct a img {
    display: block;
    box-shadow: 0px 3px 3.7px 0.3px rgba(90, 90, 90, 0.1);
  }
}

@keyframes slideInRight {
  0% {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
    opacity: 0;
  }
  to {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    opacity: 1;
  }
}
