@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 {
    opacity: 1;
  }
  body .js-fadeIn {
    transform: translateX(0);
  }
  body .js-fadeUp {
    transform: translateY(0);
  }
  body .js-fadeUp.is-view,
  body .js-fadeIn.is-view {
    animation-name: none;
  }
}
body {
  font-size: 62.5%;
  font-family: "Zen Old Mincho", "ヒラギノ角ゴ 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: "Zen Old Mincho", "ヒラギノ角ゴ 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;
  }
}
div.system-free {
  height: 100%;
  overflow: hidden;
  font: 500 20px/1.6 "Zen Old Mincho", "ヒラギノ角ゴ 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: #000;
}
@media screen and (max-width: 479px) {
  div.system-free {
    font-size: 18px;
  }
}
div.system-free hr {
  height: 0;
  margin: 0;
  border: none;
  border-top: 1px solid #000;
}
div.system-free table {
  border-collapse: collapse;
}
div.system-free img {
  height: auto;
  max-width: 100%;
}

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%;
  position: fixed;
  top: 0;
  z-index: 999;
  box-shadow: 0 0 2px 0 #9E9E9E;
  transition: top 0.5s ease;
  /*for headerUp.js*/
  /*--- hamburger menu START ---*/
  /*--- hamburger menu END ---*/
}
.header .hd-top {
  background-color: #fff;
}
.header .hd-top .flex {
  display: flex;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px 20px;
  margin: 0 auto;
  max-width: 100%;
  justify-content: space-between;
  gap: 15px;
}
@media screen and (min-width: 1441px) {
  .header .hd-top .flex {
    max-width: 1440px;
  }
}
@media screen and (max-width: 899px) {
  .header .hd-top .flex {
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .header .hd-top .flex {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.header .hd-top .left--top {
  font: 600 18px/1.2 "Klee One", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #1d1d1d;
}
@media screen and (max-width: 899px) {
  .header .hd-top .left--top {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .header .hd-top .left--top {
    font-size: 14px;
  }
}
@media screen and (max-width: 479px) {
  .header .hd-top .left--top {
    font-size: 12px;
  }
}
.header .hd-top .left--btm {
  display: flex;
  align-items: center;
  gap: 10px;
}
.header .hd-top .left--btm a {
  text-decoration: none;
  color: #1d1d1d !important;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media screen and (max-width: 329px) {
  .header .hd-top .left--btm a {
    word-break: keep-all;
  }
}
.header .hd-top .left--btm a:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .header .hd-top .left--btm a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
    -moz-transform: scale(0.98);
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
  }
}
.header .hd-top .left--btm span {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font: 600 32px/1.2 "Klee One", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #1d1d1d;
}
@media screen and (max-width: 899px) {
  .header .hd-top .left--btm span {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .header .hd-top .left--btm span {
    font-size: 18px;
  }
}
@media screen and (max-width: 479px) {
  .header .hd-top .left--btm span {
    display: inline-block;
    font-size: 14px;
  }
}
.header .hd-top .left--btm span.large {
  font-size: 48px;
}
@media screen and (max-width: 899px) {
  .header .hd-top .left--btm span.large {
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  .header .hd-top .left--btm span.large {
    font-size: 28px;
  }
}
@media screen and (max-width: 479px) {
  .header .hd-top .left--btm span.large {
    font-size: 22px;
  }
}
.header .hd-top .right {
  display: block;
  text-align: right;
}
@media screen and (max-width: 899px) {
  .header .hd-top .right {
    display: none;
  }
}
.header .hd-top .right--top {
  font: 500 20px/1.2 "Zen Old Mincho", "ヒラギノ角ゴ 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;
}
.header .hd-top .right--svg {
  margin-top: 2px;
}
.header .hd-top .right--svg img {
  max-width: 100%;
  height: auto;
}
.header .hd-top .right--btm {
  font: 500 18px/1.2 "Zen Old Mincho", "ヒラギノ角ゴ 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;
}
.header .btnMenu {
  display: none;
}
@media screen and (max-width: 899px) {
  .header .btnMenu {
    flex-shrink: 0;
    display: -webkit-block;
    display: -moz-block;
    display: -ms-block;
    display: -o-block;
    display: block;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-image: linear-gradient(-7deg, #366fab 2%, #578fca 100%);
    z-index: 20;
  }
  .header .btnMenu .menu-trigger {
    width: 100%;
    height: 100%;
    display: inline-block;
    text-decoration: none;
    transition: 0.1s linear;
    text-align: center;
  }
  .header .btnMenu .menu-trigger span {
    display: -webkit-block;
    display: -moz-block;
    display: -ms-block;
    display: -o-block;
    display: block;
    width: 39px;
    height: 2px;
    background-color: white;
    border-radius: 1px;
  }
  .header .btnMenu .menu-trigger span:nth-of-type(1) {
    margin: 19px auto 7px;
  }
  .header .btnMenu .menu-trigger span:nth-of-type(2) {
    margin: 0 auto;
  }
  .header .btnMenu .menu-trigger span:nth-of-type(3) {
    margin: 7px auto 0px;
  }
  .header .btnMenu .menu-trigger strong {
    font: 500 12px/1 "Zen Old Mincho", "ヒラギノ角ゴ 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;
    white-space: nowrap;
  }
  .header .btnMenu .menu-trigger.active span:nth-of-type(1) {
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
  }
  .header .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 .btnMenu .menu-trigger.active span:nth-of-type(3) {
    bottom: 15px;
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
  }
}

.gNav {
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
  padding: 0;
  background-image: linear-gradient(-7deg, #578fca 2%, #366fab 100%);
}
@media screen and (max-width: 899px) {
  .gNav {
    display: none;
    max-width: 100%;
    position: sticky;
    top: 90px;
    /*max-height: calc(100vh - 90px);*/
    /*gnavのスクロールに必須*/
    height: calc(100vh - 164px);
    overflow-y: auto;
  }
}
.gNav__inner {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 20px;
  margin: 0 auto;
  max-width: 100%;
}
@media screen and (min-width: 1441px) {
  .gNav__inner {
    max-width: 1440px;
  }
}
@media screen and (max-width: 899px) {
  .gNav__inner {
    height: 100%;
    padding: 50px 20px;
  }
}
.gNav__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1px;
}
@media screen and (max-width: 899px) {
  .gNav__list {
    flex-direction: column;
    padding-bottom: 80px;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .gNav__list {
    gap: 15px;
  }
}
@media screen and (max-width: 899px) {
  .gNav__item {
    max-width: 100%;
    width: 400px;
  }
}
.gNav__item--anchor {
  display: block;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 80px;
  padding: 20px;
  font: 600 24px/1.5 "Klee One", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #fff !important;
  text-decoration: none;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.gNav__item--anchor:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .gNav__item--anchor:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
    -moz-transform: scale(0.95);
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
  }
}
@media screen and (max-width: 1279px) {
  .gNav__item--anchor {
    padding: 24px 10px;
    font-size: 20px;
  }
}
@media screen and (max-width: 899px) {
  .gNav__item--anchor {
    min-height: auto;
    padding: 15px 30px;
    border-radius: 999px;
    border: 1px solid #fff;
    width: 100%;
    /*width: 400px;
    max-width: 100%;*/
    text-align: center;
  }
  .gNav__item--anchor:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 899px) and (hover: hover) {
  .gNav__item--anchor:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: alpha(opacity=100);
    color: #3674b5 !important;
    background-color: #fff;
  }
}

@media screen and (max-width: 479px) {
  .gNav__item--anchor {
    padding: 10px 20px;
  }
}

.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 100px;
  margin: 0 auto;
  max-width: 1440px;
}
@media screen and (min-width: 1441px) {
  .bdcb__inner {
    max-width: 1440px;
  }
}
@media screen and (max-width: 1279px) {
  .bdcb__inner {
    padding: 10px 20px;
  }
}
@media screen and (max-width: 899px) {
  .bdcb__inner {
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .bdcb__inner {
    padding-left: 15px;
    padding-right: 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 "Zen Old Mincho", "ヒラギノ角ゴ 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 "Zen Old Mincho", "ヒラギノ角ゴ 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.5s 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;
  }
}

.btnBox {
  position: relative;
  z-index: 998;
}
.btnBox__pt {
  max-height: 70px;
  position: fixed;
  right: 20px;
  border-radius: 999px;
}
@media screen and (max-width: 899px) {
  .btnBox__pt {
    right: 10px;
  }
}
.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.5s;
  transition: all 0.5s;
}
.btnBox__pt a:visited {
  opacity: 1;
}
.btnBox__pt a:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .btnBox__pt a:hover {
    text-decoration: none;
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
  }
}
.btnBox__pt a:active {
  opacity: 1;
}
.btnBox__pt a:focus {
  opacity: 1;
}
.btnBox__pt a img {
  display: -webkit-block;
  display: -moz-block;
  display: -ms-block;
  display: -o-block;
  display: block;
}
.btnBox__dlFile {
  position: fixed;
  bottom: 16.6%;
  right: 0;
  width: 70px;
  height: 300px;
  background-image: linear-gradient(90deg, #ad49e1, #7a1cac);
  box-shadow: 0px 2px 1px 0px rgba(85, 85, 85, 0.44);
  border-radius: 5px 0px 0px 5px;
}
@media screen and (max-width: 899px) {
  .btnBox__dlFile {
    display: none;
  }
}
.btnBox__dlFile a {
  width: 100%;
  height: 100%;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font: 500 22px/1.5 "Zen Old Mincho", "ヒラギノ角ゴ 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;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
.btnBox__dlFile a:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .btnBox__dlFile a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
    -moz-transform: scale(0.95);
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
  }
}
.btnBox__dlFile a img {
  width: 29px;
  display: block;
  height: auto;
  max-width: 100%;
}

.ctcBox {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 3px;
  padding-left: 10px;
  padding-right: 10px;
  display: none;
}
@media screen and (max-width: 899px) {
  .ctcBox {
    width: 100%;
    height: 74px;
    position: sticky;
    bottom: 0;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    background-color: #fff;
    box-shadow: 0 0 3px 0 #d1d1e6;
  }
}
@media screen and (max-width: 899px) and (max-width: 767px) {
  .ctcBox {
    gap: 10px;
  }
}
@media screen and (max-width: 899px) {
  .ctcBox .illust {
    height: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 25px;
    padding-left: 50px;
    position: relative;
    font: 600 15px/1.2 "Zen Old Mincho", "ヒラギノ角ゴ 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: #1b1a55;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 899px) and (max-width: 479px) {
  .ctcBox .illust {
    padding-top: 15px;
  }
}
@media screen and (max-width: 899px) {
  .ctcBox .illust br {
    display: none;
  }
}
@media screen and (max-width: 899px) and (max-width: 479px) {
  .ctcBox .illust br {
    display: block;
  }
}
@media screen and (max-width: 899px) {
  .ctcBox .illust:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: top left/contain no-repeat url(../img/common/fixed_illust.png);
  }
  .ctcBox .telNumber a {
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .ctcBox .telNumber a img {
    display: block;
    height: auto;
    max-width: 100%;
  }
}

.footer {
  position: relative;
  overflow: hidden;
}
.footer .ft__bgimg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 240px;
  background-image: url(../img/common/ft_bgimg.jpg);
  background-size: cover;
  background-position: top left;
  background-repeat: no-repeat;
}
@media screen and (max-width: 1279px) {
  .footer .ft__bgimg {
    background-position: top center;
  }
}
@media screen and (max-width: 479px) {
  .footer .ft__bgimg {
    background-image: url(../img/common/ft_bgimg_sp.jpg);
  }
}
.footer .ft__inner {
  margin-top: 160px;
  position: relative;
}
.footer .ft__inner .ft__hl {
  text-align: left;
  font: 600 36px/1.5 "Klee One", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #1d1d1d;
  background-color: #fff;
  border-radius: 10px 0 0 0;
  position: relative;
  left: 2%;
  padding: 80px 0 20px 80px;
}
@media screen and (max-width: 1279px) {
  .footer .ft__inner .ft__hl {
    left: 0;
    padding: 80px 0 20px 40px;
  }
}
@media screen and (max-width: 767px) {
  .footer .ft__inner .ft__hl {
    padding: 70px 0 20px 25px;
  }
}
@media screen and (max-width: 479px) {
  .footer .ft__inner .ft__hl {
    font-size: 24px;
    padding: 70px 0 0 15px;
  }
}
.footer .ft__inner .ft__hl span {
  display: block;
  padding-bottom: 10px;
  padding-right: 10px;
  border-bottom: 1px solid #a1e3f9;
}
.footer .ft__inner .flex {
  margin-left: 2%;
  padding: 60px 10px 100px 80px;
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 1279px) {
  .footer .ft__inner .flex {
    padding: 40px 10px 100px 20px;
  }
}
@media screen and (max-width: 767px) {
  .footer .ft__inner .flex {
    flex-direction: column;
    /*align-items: center;*/
    padding: 40px 25px 100px;
    margin-left: 0;
  }
}
@media screen and (max-width: 479px) {
  .footer .ft__inner .flex {
    padding-left: 15px;
    padding-right: 15px;
    gap: 80px;
  }
}
.footer .ft__inner .lt {
  flex-basis: 40%;
}
@media screen and (min-width: 1441px) {
  .footer .ft__inner .lt {
    flex-basis: 50%;
  }
}
.footer .ft__inner .lt .name__anchor {
  text-decoration: none;
}
.footer .ft__inner .lt .name__anchor span {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font: 600 32px/1.2 "Klee One", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "游明朝", YuMincho, "Meiryo UI", "メイリオ", "Meiryo", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  color: #1d1d1d;
}
@media screen and (max-width: 1279px) {
  .footer .ft__inner .lt .name__anchor span {
    font-size: 28px;
  }
}
@media screen and (max-width: 899px) {
  .footer .ft__inner .lt .name__anchor span {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .footer .ft__inner .lt .name__anchor span {
    font-size: 18px;
  }
}
.footer .ft__inner .lt .name__anchor span.large {
  font-size: 48px;
  padding-left: 10px;
}
@media screen and (max-width: 1279px) {
  .footer .ft__inner .lt .name__anchor span.large {
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  .footer .ft__inner .lt .name__anchor span.large {
    font-size: 28px;
  }
}
.footer .ft__inner .lt address {
  font: 500 24px/1.5 "Zen Old Mincho", "ヒラギノ角ゴ 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;
  font-style: normal;
  margin-top: 35px;
}
@media screen and (max-width: 1279px) {
  .footer .ft__inner .lt address {
    font-size: 20px;
    margin-top: 25px;
  }
}
@media screen and (max-width: 479px) {
  .footer .ft__inner .lt address {
    font-size: 18px;
  }
}
.footer .ft__inner .lt .tel {
  font: 500 24px/1.5 "Zen Old Mincho", "ヒラギノ角ゴ 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;
  margin-top: 15px;
}
@media screen and (max-width: 1279px) {
  .footer .ft__inner .lt .tel {
    font-size: 20px;
  }
}
@media screen and (max-width: 479px) {
  .footer .ft__inner .lt .tel {
    font-size: 18px;
  }
}
.footer .ft__inner .lt .contact__anchor {
  display: inline-block;
  margin-top: 40px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media screen and (max-width: 479px) {
  .footer .ft__inner .lt .contact__anchor {
    margin-top: 20px;
  }
}
.footer .ft__inner .lt .contact__anchor img {
  display: block;
  height: auto;
  max-width: 100%;
}
.footer .ft__inner .lt .contact__anchor:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .footer .ft__inner .lt .contact__anchor:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: alpha(opacity=70);
    -moz-transform: scale(0.95);
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
  }
}
.footer .ft__inner .rt {
  flex: 1;
}
@media screen and (min-width: 1441px) {
  .footer .ft__inner .rt {
    flex-basis: 50%;
  }
}
.footer .ft__inner .rt .ftNav {
  display: flex;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .footer .ft__inner .rt .ftNav {
    flex-direction: column;
    gap: 0;
  }
}
.footer .ft__inner .rt .ftNav__list {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
  flex-basis: 50%;
}
.footer .ft__inner .rt .ftNav__item {
  font: 500 18px/1.5 "Zen Old Mincho", "ヒラギノ角ゴ 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;
  margin-bottom: 10px;
}
.footer .ft__inner .rt .ftNav__item.txIndent {
  padding-left: 40px;
  position: relative;
}
@media screen and (max-width: 1279px) {
  .footer .ft__inner .rt .ftNav__item.txIndent {
    padding-left: 25px;
  }
}
@media screen and (max-width: 479px) {
  .footer .ft__inner .rt .ftNav__item.txIndent {
    padding-left: 30px;
  }
}
.footer .ft__inner .rt .ftNav__item.txIndent:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 30px;
  height: 3px;
  background-color: #3674b5;
}
@media screen and (max-width: 1279px) {
  .footer .ft__inner .rt .ftNav__item.txIndent:before {
    width: 20px;
  }
}
.footer .ft__inner .rt .ftNav__item--anchor {
  font: 500 18px/3 "Zen Old Mincho", "ヒラギノ角ゴ 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;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 1279px) {
  .footer .ft__inner .rt .ftNav__item--anchor {
    font-size: 17px;
  }
}
.footer .ft__inner .rt .ftNav__item--anchor span {
  display: inline-block;
  position: relative;
  line-height: 1.5;
}
.footer .ft__inner .rt .ftNav__item--anchor span:after {
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  content: '';
  left: 0;
  /* 初期位置を中央に */
  /*transform: translateX(-50%);*/
  /* 中央揃え */
  width: 0;
  height: 1px;
  background-color: #1d1d1d;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.footer .ft__inner .rt .ftNav__item--anchor:hover {
  text-decoration: none;
}
@media (hover: hover) {
  .footer .ft__inner .rt .ftNav__item--anchor:hover span:after {
    width: 100%;
  }
  .footer .ft__inner .rt .ftNav__item--anchor:hover {
    background-position: 0 100%;
    background-size: 100% 1px;
  }
}
.footer .ft__inner .rt .ftNav__item.dlFile .ftNav__item--anchor img {
  width: 18px;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
  padding-left: 8px;
  padding-bottom: 3px;
}

@media screen and (min-width: 768px) {
  #tel-link {
    cursor: default;
  }
  #tel-link:hover {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: alpha(opacity=100);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.copyright {
  text-align: center;
  font-size: 14px;
  color: #1d1d1d;
  line-height: 1.3;
  padding: calc(40px - (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;
  background-image: linear-gradient(to top, #ceecf6, #a1e3f9, #cdf1fd);
}
@media screen and (max-width: 479px) {
  .copyright {
    font-size: 13px;
    word-break: break-all;
    padding: calc(43px - (14px * 1.3 - 14px) / 2) 10px;
  }
}
