@charset "utf-8";
/* CSS Document */ :root {
  --font-family-sans-serif: "Noto Sans JP", "Helvetica Neue", Helvetica, Arial, "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
img {
  max-width: 100%;
  height: auto;
}
body {
  font-family: source-han-sans-japanese, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Meiryo, Verdana, sans-serif !important;
}
h1, h2, h3, h4, h5, h6, p {
  font-family: source-han-sans-japanese, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Meiryo, Verdana, sans-serif !important;
  line-height: 1.6 !important;
  letter-spacing: 0.05em;
}
p {
  margin-bottom: 0 !important;
}
body {
  padding-top: 20px;
}
a :hover {
  transition: 0.5s !important;
}
.nav-item a:hover {
  opacity: 0.7;
  transition: 0.5s !important;
}
figure a :hover {
  opacity: 0.7;
  transition: 0.5s !important;
}
/*----- フェードイン -----*/
.inviewfadeIn {
  opacity: 0;
  transition: .8s;
}
.fadeIn {
  opacity: 1.0;
}
/*----- 上へスライド -----*/
.inviewUp {
  transform: translate(0, 40px);
  -webkit-transform: translate(0, 40px);
  transition: .8s;
}
.Up {
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}
/*----- ズームイン -----*/
.inviewzoomIn {
  transform: scale(0, 0);
  -webkit-transform: scale(0, 0);
  transition: .8s;
}
.zoomIn {
  transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
}
/*----- フェードインしながら上へスライド -----*/
.inviewfadeInUp {
  opacity: 0;
  transform: translate(0, 60px);
  -webkit-transform: translate(0, 60px);
  transition: .8s;
}
.fadeInUp {
  opacity: 1.0;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}
/*=========
accordion
=========*/
.accordion_area {}
.accordion_area .accordion_one .ac_header {
  background-color: #ffffff;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 1.5rem 4rem 1.5rem 2rem;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition: .2s;
}
.accordion_area .accordion_one .ac_header:not(.open):hover {
  background-color: #fff;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header {
  background-color: #fff;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover {
  background-color: #fff;
}
.accordion_area .accordion_one .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}
.accordion_area .accordion_one .ac_header .i_box:before, .accordion_area .accordion_one .ac_header .i_box:after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
}
.accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 2px solid #014897;
  width: 20px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
.accordion_area .accordion_one .ac_header .i_box:after {
  border-left: 2px solid #014897;
  width: 0;
  height: 20px;
  top: 0;
  bottom: 0;
  right: 9px;
  transition: .3s;
}
.accordion_area .accordion_one .ac_header.open .i_box:after {
  height: 0;
}
.accordion_area .accordion_one .ac_inner {
  display: none;
  padding: 1.5rem 2rem 1.5rem 2rem;
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  box-sizing: border-box;
  background: #ccc;
}
/*=========
faq
=========*/
.p-faq__headinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
.p-faq__headinner::before {
  position: absolute;
  left: 0;
  content: "Q．";
  color: #28a745;
  font-size: 20px;
  font-weight: bold;
}
.p-faq__headinner p.p-faq__q-txt {
  font-size: 20px;
}
.p-faq__bodyinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
.p-faq__bodyinner::before {
  position: absolute;
  left: 0;
  content: "A．";
  color: #de0000;
  font-size: 20px;
  font-weight: bold;
}
.p-faq__bodyinner p.p-faq__a-txt {
  font-size: 20px;
}
/*=========
背景
=========*/
.issue {
  background-color: #fffcf5;
}
.bg-second {
  background-color: #e9e3d7;
}
.base-triangle {
  position: relative;
}
.custom-shape-divider-top-1717736232 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
}
.custom-shape-divider-top-1717736232 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 139px;
}
.custom-shape-divider-top-1717736232 .shape-fill {
  fill: #FFFCF5;
}
.bg01 {
  background: url("../images/bg02.jpg") left center / cover no-repeat;
}
.bg02 {
  background: url("../images/bg03.jpg") center center / cover no-repeat;
}
.bg03 {
  background: url("../images/bg04.jpg") center center / cover no-repeat;
}
.bg04 {
  background: url("../images/bg05.jpg") right center / cover no-repeat;
}
.bg05 {
  background: url("../images/bg06.jpg") center center / cover no-repeat;
}
.bg06 {
  background: url("../images/bg07.jpg") left center / cover no-repeat;
}
/* 下層背景の遅延読み込み（追加ヘッダのスクリプトが有効な場合のみ。近づくと is-bg-loaded で表示） */
.js-bg-lazy .bg01:not(.is-bg-loaded), .js-bg-lazy .bg02:not(.is-bg-loaded), .js-bg-lazy .bg03:not(.is-bg-loaded), .js-bg-lazy .bg04:not(.is-bg-loaded), .js-bg-lazy .bg05:not(.is-bg-loaded), .js-bg-lazy .bg06:not(.is-bg-loaded) {
  background-image: none;
}
.text-blown {
  color: #c7ae72 !important;
}
@media (min-width: 768px) { /* 768px以上*/
  /*=========
メインビジュアル
=========*/
  .jumbotron-extend {
    background: url("../images/bg.jpg") center center / cover no-repeat;
  }
  #pagetop {
    width: 50px;
    height: 50px;
    position: fixed;
    right: 25px;
    bottom: 100px;
    background: #28a745;
    opacity: 0.8;
    border-radius: 50%;
    z-index: 999;
  }
  #pagetop a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
    text-align: center;
  }
  #pagetop a::before {
    font-family: "Font Awesome 5 Pro";
    content: '\f106';
    font-weight: 900;
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: 0px;
    bottom: 10px;
    right: 0;
    left: 0;
    margin: auto;
  }
  #pagetop a:hover {
    opacity: 0.7;
  }
}
@media(max-width:767.98px) { /* 767.98px以下（768px以上と重複させない）*/
  #pagetop {
    display: none !important;
  }
 .jumbotron-extend {
    background: url("../images/sp_bg.jpg") center center / cover no-repeat;
  }
	.pc{display: none;}
}
