@charset "UTF-8";
html,
body {
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 62.5%;
}

body {
  width: 100%;
  margin: 0;
  color: #000;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 500;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

.pc {
  display: none !important;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

a {
  color: #007DB8;
  text-decoration: underline;
}
summary::-webkit-details-marker {
  display: none !important;
}

img {
  max-width: 100%;
}

ul li,
ol li {
  line-height: 1.8;
  font-size: 16px;
  margin-left: 1.5em;
}

#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #f4f4f4;
  z-index: 1;
}

#loader {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  margin-top: -30px;
  margin-left: -30px;
  text-align: center;
  color: #fff;
  z-index: 2;
}

.fulfilling-bouncing-circle-spinner, .fulfilling-bouncing-circle-spinner * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.fulfilling-bouncing-circle-spinner {
  height: 60px;
  width: 60px;
  position: relative;
  -webkit-animation: fulfilling-bouncing-circle-spinner-animation infinite 4000ms ease;
          animation: fulfilling-bouncing-circle-spinner-animation infinite 4000ms ease;
}

.fulfilling-bouncing-circle-spinner .orbit {
  height: 60px;
  width: 60px;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50%;
  border: 1.8px solid #ec7b3f;
  -webkit-animation: fulfilling-bouncing-circle-spinner-orbit-animation infinite 4000ms ease;
          animation: fulfilling-bouncing-circle-spinner-orbit-animation infinite 4000ms ease;
}

.fulfilling-bouncing-circle-spinner .circle {
  height: 60px;
  width: 60px;
  color: #ff1d5e;
  display: block;
  border-radius: 50%;
  position: relative;
  border: 6px solid #ec7b3f;
  -webkit-animation: fulfilling-bouncing-circle-spinner-circle-animation infinite 4000ms ease;
          animation: fulfilling-bouncing-circle-spinner-circle-animation infinite 4000ms ease;
  -webkit-transform: rotate(0deg) scale(1);
          transform: rotate(0deg) scale(1);
}

@-webkit-keyframes fulfilling-bouncing-circle-spinner-animation {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes fulfilling-bouncing-circle-spinner-animation {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes fulfilling-bouncing-circle-spinner-orbit-animation {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  62.5% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  75% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  87.5% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes fulfilling-bouncing-circle-spinner-orbit-animation {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  62.5% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  75% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  87.5% {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes fulfilling-bouncing-circle-spinner-circle-animation {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    border-color: transparent;
    border-top-color: inherit;
  }
  16.7% {
    border-color: transparent;
    border-top-color: initial;
    border-right-color: initial;
  }
  33.4% {
    border-color: transparent;
    border-top-color: inherit;
    border-right-color: inherit;
    border-bottom-color: inherit;
  }
  50% {
    border-color: inherit;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  62.5% {
    border-color: inherit;
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  75% {
    border-color: inherit;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  87.5% {
    border-color: inherit;
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  100% {
    border-color: transparent;
    border-top-color: inherit;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes fulfilling-bouncing-circle-spinner-circle-animation {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
    border-color: transparent;
    border-top-color: inherit;
  }
  16.7% {
    border-color: transparent;
    border-top-color: initial;
    border-right-color: initial;
  }
  33.4% {
    border-color: transparent;
    border-top-color: inherit;
    border-right-color: inherit;
    border-bottom-color: inherit;
  }
  50% {
    border-color: inherit;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  62.5% {
    border-color: inherit;
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  75% {
    border-color: inherit;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  87.5% {
    border-color: inherit;
    -webkit-transform: scale(1.4);
            transform: scale(1.4);
  }
  100% {
    border-color: transparent;
    border-top-color: inherit;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes cv-link-animation {
  0% {
    left:-101%;
    transform:translate(-50%) rotate(45deg);
  }
  80% {
    left:-101%;
    transform:translate(-50%) rotate(45deg);
  }
  100% {
    left:150%;
    transform:translate(50%) rotate(45deg);
    transition-timing-function:ease-out, ease-out;
  }
}
.fadein {
  opacity: 0;
  -webkit-transform: translate(0, 100px);
          transform: translate(0, 100px);
  -webkit-transition: all 1s;
  transition: all 1s;
}

.fadein.active {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

#wrapper {
  overflow-x: hidden;
  background: #fff;
}

.header {
  width: 100%;
  background: #fff;
}
.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 23px;
  width: 100%;
}
.header-inner p {
  max-width: 168px;
  width: 42.9%;
  height: auto;
}
.header-inner p img {
  max-height: 35px;
}
.header-utility {
  display: flex;
}
.header-utility-tel,
.header-utility-btn {
  width: 75px;
}
.footer {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 0;
  padding: 45px 0 30px;
  width: 100%;
  height: 363px;
  overflow: hidden;
  background: url(../img/common/footer_bg01.png) no-repeat top center / 1920px auto;
}
.footer::before,
.footer::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
.footer::before {
  right: 1740px;
  background-color: #299BAB;
}
.footer::after {
  left: 1740px;
  background-color: #4EAFBC;
}
.footer-nav {
  display: flex;
  position: fixed;
  left: 0;
  bottom: -70px;
  width: 100%;
  list-style: none;
  z-index: 10;
}
.footer-nav > li {
  margin: 0;
  padding: 0;
  width: 50%;
}
.footer-nav > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 10px 10px 10px;
  color: #fff;
  text-decoration: none;
  font-size: 1.8rem;
  font-weight: bold;
  height: 70px;
}
.footer-nav-tel > a {
  background: #3AA832;
}
.footer-nav-contact > a{
  background: #E37100;
}
.footer-nav-tel > a::before,
.footer-nav-contact > a::before {
  content: '';
  display: block;
  margin-right: 10px;
  height: 100%;
}
.footer-nav-tel > a::before {
  width: 30px;
  background: url(../img/common/footer_ic02.svg) no-repeat 0 50% / 30px auto;
}
.footer-nav-contact > a::before {
  width: 40px;
  background: url(../img/common/footer_ic01.svg) no-repeat 0 50% / 40px auto;
}
.footer-inner {
  position: relative;
  padding: 0 16px;
  color: #fff;
  z-index: 2;
}
.footer-read {
  margin-bottom: 24px;
  line-height: 1.7;
  letter-spacing: 0.04em;
  text-align: center;
  font-size: 2.3rem;
  font-weight: bold;
}
.footer-text {
  margin-bottom: 40px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
}
.copyright {
  margin-bottom: 30px;
  font-size: 1.4rem;
  text-align: center;
  font-weight: 300;
  line-height: 1.5;
}
.main {
  margin-bottom: 40px;
  width: 100%;
}
.main > :last-child {
  margin-bottom: 0;
}
.main section > :last-child {
  margin-bottom: 0;
}
.inner {
  padding: 0 16px;
}
.inner > :last-child {
  margin-bottom: 0;
}
.keyvisual {
  margin-bottom: 40px;
}
.sect01 {
  margin-bottom: 25px;
}
.sect03 {
  margin-bottom: 22px;
}
.sect04 {
  margin-bottom: 23px;
}
.sect05 {
  margin-bottom: 38px;
}
.sect06 {
  margin-bottom: 24px;
}
.sect01 > .contents {
  padding: 32px 0 47px;
  background-color: rgba(226, 212, 188,0.4);
}
.sect02 > .contents {
  padding: 32px 0 48px;
  background-color: rgba(226, 212, 188, 0.1);
}
.sect03 > .contents {
  padding: 32px 0 48px;
  background-color: rgba(226, 212, 188, 0.1);
}
.sect04 > .contents {
  padding: 33px 0 47px;
  background-color: rgba(226, 212, 188,0.4);
}
.sect05 > .contents {
  padding: 32px 0 50px;
  background-color: rgba(226, 212, 188, 0.1);
}
.sect06 > .contents {
  padding: 33px 0 40px;
  background-color: rgba(226, 212, 188,0.4);
}
.sect05 section {
  margin-bottom: 50px;
}
.sect01 > .inner > :last-child,
.sect02 > .inner > :last-child,
.sect03 > .inner > :last-child,
.sect04 > .inner > :last-child,
.sect05 > .inner > :last-child,
.sect06 > .inner > :last-child {
  margin-bottom: 0;
}
.cv-sect {
  display: flex;
  justify-content: center;
  position: relative;
  margin: 0;
  padding: 0 18px;
}
.cv-sect01 {
  margin-bottom: 42px;
}
.cv-sect02 {
  margin-bottom: 42px;
}
.cv-sect03 {
  margin-bottom: 42px;
}
.cv-sect04 {
  margin-bottom: 82px;
}
.cv-btn,
.cv-tel {
  position: absolute;
  overflow:hidden;
}
.cv-btn {
  left: 10.1%;
  right: 11.2%;
  bottom: 34.5%;
}
.cv-tel {
  left: 10.3%;
  right: 11.5%;
  bottom: 50.9%;
}
.cv-btn::before,
.cv-tel::before {
  position:absolute;
  top:0;
  left:-101%;
  bottom:0;
  margin:auto 0;
  width:50%;
  height:1000%;
  content:"";
  background:#fff;
  opacity:0.3;
  transform:translate(-50%) rotate(45deg);
  transition:left 0.4s ease-in, transform 0.4s ease-in;
}
.cv-btn::before {
  animation: cv-link-animation 3s 0.5s infinite ease-in;
}
.cv-tel::before {
  animation: cv-link-animation 3s infinite ease-in;
}
.row {
}
.row > .col {
}
.media {
}
.media-img {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}
.media-detail > :last-child {
  margin-bottom: 0;
}
.image {
  margin-inline: auto;
}
.text {
  margin-bottom: 20px;
  line-height: 2;
  letter-spacing: 0.04em;
  font-size: 1.6rem;
}
.note {
  line-height: 1.5;
  letter-spacing: 0.04em;
  font-size: 1.4rem;
}
.headding-lv2 {
  margin: 0 auto;
  position: relative;
  width: 100%;
}
.headding-lv3-01 {
  margin: 0 auto 42px;
  padding: 17px 0;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
  font-size: 2.8rem;
  background-color: #fff;
  border-top: 3px solid #000;
  border-bottom: 3px solid #000;
}
.headding-lv3-02 {
  margin: 0 auto 20px;
  padding: 17px 0;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-align: center;
  font-size: 2.8rem;
  background-color: #fff;
  border-top: 3px solid #000;
  border-bottom: 3px solid #000;
}
.details {
  display: block;
  margin-bottom: 36px;
}
.details-title {
  display: block;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 2rem;
  color: #229BAB;
  text-decoration: underline;
  cursor: pointer;
}
.details-title::after {
  content: ' ▼';
}
.details[open] .details-title::after {
  content: ' ▲';
}
.details-title:hover {
  text-decoration: none;
}
.details-contents {
  display: none;
}
.details[open] > .details-contents {
  display: block;
  padding-top: 14px;
}
.details-text {
  margin-bottom: 0;
  line-height: 1.5;
  letter-spacing: 0.04em;
  font-size: 1.4rem;
}
.details-list {
  display: block;
  list-style: none;
}
.details-list > li {
  display: inline;
  margin: 0;
  padding: 0;
  line-height: 1.5;
  font-size: 1.4rem;
  letter-spacing: 0.054em;
}
.details-list > li::after {
  content: ' ';
  display: inline;
}
.details-list > li:last-child:after {
  display: none;
}
.details02-wrap > :last-child {
  margin-bottom: 0;
}
.details02 {
  margin-bottom: 26px;
}
.details02-title {
  display: block;
  position: relative;
}
.details02-title::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 8%;
  width: 9%;
  height: 100%;
  background: url(../img/top/icon03.png) no-repeat 0 50% / 100% auto;
}
.details02[open] .details02-title::after {
  transform: rotate(180deg);
}
.details02-contents {
  display: block;
  overflow: hidden;
}
.details02-contents > :last-child {
  margin-bottom: 0;
}
.qa-details-wrap {
  margin-bottom: 54px;
}
.qa-details-wrap > :last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.qa-details {
  margin-bottom: 28px;
  padding-bottom: 28px;
  border-bottom: 1px dashed #390826;
}
.qa-details-title {
  display: block;
  letter-spacing: 0.04em;
  font-size: 2.3rem;
  font-weight: bold;
  line-height: 1.7;
}
.qa-details-title > span {
  display: block;
  position: relative;
  padding-left: 66px;
}
.qa-details-title > span::before {
  content: 'Q';
  display: block;
  position: absolute;
  top: 0;
  left: 9px;
  width: 30px;
  height: 34px;
  overflow: hidden;
  text-indent: -9999px;
  background: url(../img/top/icon01-01.svg) no-repeat 0 0 / 30px 34px;
}
.qa-details-contents {
  margin-top: 24px;
}
.qa-details-contents-inner {
  position: relative;
  padding-left: 66px;
}
.qa-details-contents-inner::before {
  content: 'A';
  display: block;
  position: absolute;
  top: 0;
  left: 7px;
  width: 32px;
  height: 31px;
  overflow: hidden;
  text-indent: -9999px;
  background: url(../img/top/icon01-02.svg) no-repeat 0 0 / 32px 31px;
}
.qa-details-contents-inner > :last-child {
  margin-bottom: 0;
}
.qa-details-text {
  margin-bottom: 18px;
  line-height: 2;
  letter-spacing: 0.04em;
  font-size: 2rem;
}
.qa-define-list {
  margin-bottom: 18px;
}
.qa-define-list > :last-child {
  margin-bottom: 0;
}
.qa-define-list > dt {
  line-height: 2;
  letter-spacing: 0.04em;
  font-size: 2rem;
  font-weight: bold;
}
.qa-define-list > dd {
  margin-bottom: 18px;
  line-height: 2;
  letter-spacing: 0.04em;
  font-size: 2rem;
}
.qa-define-list-title01 {
  color: #AB5500;
}
.qa-define-list-title02 {
  color: #229BAB;
}
.qa-define-list-title03 {
  color: #6A8F00;
}
.table {
  border-spacing: 0;
}
.table th,
.table td {
  padding: 20px 12px;
  line-height: 1.4;
  letter-spacing: 0.04em;
  vertical-align: top;
  text-align: left;
  font-size: 2rem;
  border-bottom: 2px solid #390826;
}
.table th {
  width: 29.4%;
}
.table td {
  width: 70.6%;
}
.accordion {

}
.accordion-trigger {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  background: transparent;
  border: none;
  border-right: 0;
}
.accordion-detail {
  display: block !important;
}
.accordion-detail > :last-child {
  margin-bottom: 0;
}
/* sect01 */
.sect01-text01 {
  margin-bottom: 24px;
}
.sect01-text02 {
  position: relative;
  padding-top: 122px;
  background: url(../img/top/icon02.png) no-repeat 50% 12px / 18px auto;
}
/* sect02 */
.sect02-text {
  margin-bottom: 33px;
}
/* sect03 */
.sect03-text {
  margin-bottom: 32px;
}
.sect03-img01 {
  margin-bottom: 20px;
}

/* sect04 */
.row-sect04 {
  margin-bottom: 48px;
}
.row-sect04 > .col {
  margin-bottom: 12px;
}
.row-sect04 > .col:last-child {
  margin-bottom: 0;
}
.sect04-img03-01,
.sect04-img03-02,
.sect04-img03-03,
.sect04-img04-01,
.sect04-img04-02,
.sect04-img04-03 {
  margin-bottom: 4px;
}

/* sect05 */
.sect05-img01 {

}

/* sect06 */
.sect06 section {
  margin-bottom: 50px;
}
.sect06-img01-wrap > :last-child {
  margin-bottom: 0;
}
.sect06-img01 {
  margin-bottom: 7px;
}
.headding-lv3-02 +.sect06-txt02 {
  margin-top: 36px;
}
.sect06-txt02 {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}