@charset "UTF-8";
/*------------------------------
 common
------------------------------*/
html.is-fixed {
  height: 100%;
  overflow: hidden;
  scrollbar-gutter: stable !important;
}

/*button {*/
/*  color: #333 !important;*/
/*}*/

.z-index-9 {
  z-index: 9;
}

.z-index-99 {
  z-index: 99;
}

.z-index-999 {
  z-index: 999;
}

.link-hover {
  transition: 0.4s cubic-bezier(0.4, 0.4, 0, 1);
}

.link-disabled {
  pointer-events: none;
}

.text-mb-0 > * {
  margin-bottom: 0;
}

.text-ellipsis-1 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.text-ellipsis-2,
.text-ellipsis-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.text-ellipsis-2 {
  -webkit-line-clamp: 2;
}

.text-ellipsis-3 {
  -webkit-line-clamp: 3;
}

.scrollbar-disabled {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.scrollbar-disabled::-webkit-scrollbar {
  display: none;
}

.icon-external-link {
  object-fit: contain;
  width: 1em;
}

.external-links-dark,
.external-links-white {
  position: relative;
  padding-left: 1.5em;
}

.external-links-dark::after,
.external-links-white::after {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  left: -0.5em;
  width: 1em;
  height: 1em;
  transform: translateY(-55%);
}

.external-links-dark::after {
  background-image: url("../images/common/external_links.svg");
  transition: 0.4s cubic-bezier(0.4, 0.4, 0, 1);
}

.external-links-white::after {
  background-image: url("../images/common/external_links_white.svg");
  transition: 0.4s cubic-bezier(0.4, 0.4, 0, 1);
}

.link-button-more {
  position: relative;
  border: 1px solid #1c1c1c;
  border-radius: 100vmax;
  max-width: 254px;
  width: 100%;
  text-align: center;
  padding-block: 15px;
}

.link-button-more::before {
  position: absolute;
  content: "";
  border-right: 1px solid #1c1c1c;
  border-bottom: 1px solid #1c1c1c;
  width: 0.5em;
  height: 0.5em;
  top: 50%;
  right: 30px;
  transform: translateY(-50%) rotate(-45deg);
}

.white.link-button-more,
.white.link-button-more::before {
  border-color: #fff;
}

/*.single-content-container,*/
/*.single-user-interview-container {*/
/*  overflow-wrap: anywhere;*/
/*  word-break: normal;*/
/*  line-break: strict;*/
/*}*/

/*.single-content-container mark {*/
/*  padding: 0 !important;*/
/*}*/

/*.single-content-container p {*/
/*  margin-bottom: 1rem !important;*/
/*}*/

/*.single-content-container h1 {*/
/*  font-size: 48px;*/
/*  font-weight: bold;*/
/*  padding-top: 50px;*/
/*  margin-bottom: 30px;*/
/*}*/

/*.single-content-container h2 {*/
/*  font-size: 26px;*/
/*  font-weight: bold;*/
/*  border-bottom: 2px solid #333333;*/
/*  padding-top: 50px;*/
/*  padding-bottom: 8px;*/
/*  margin-bottom: 30px;*/
/*}*/

/*.single-content-container h3 {*/
/*  font-size: 18px;*/
/*  font-weight: bold;*/
/*  line-height: 2;*/
/*  padding-top: 24px;*/
/*  margin-bottom: 32px;*/
/*}*/

/*.single-content-container h4 {*/
/*  font-size: 16px;*/
/*  font-weight: bold;*/
/*  line-height: 2;*/
/*  padding-top: 1.25em;*/
/*  margin-bottom: 1.75em;*/
/*}*/

/*.single-content-container h5 {*/
/*  font-size: 14px;*/
/*  font-weight: bold;*/
/*  line-height: 2;*/
/*  padding-top: 1.5em;*/
/*  margin-bottom: 1.5em;*/
/*}*/

/*.single-content-container h6 {*/
/*  font-size: 12px;*/
/*  font-weight: bold;*/
/*  line-height: 2;*/
/*  padding-top: 1.5em;*/
/*  margin-bottom: 1em;*/
/*}*/

/*.single-content-container figure {*/
/*  margin-bottom: 30px;*/
/*}*/

/*.single-content-container ul,*/
/*.single-content-container ol {*/
/*  padding-top: 1.5rem;*/
/*  padding-left: 1.5rem;*/
/*  margin-bottom: 35px;*/
/*}*/

/*.single-content-container ul li {*/
/*  list-style-type: disc !important;*/
/*}*/

/*.single-content-container ol li {*/
/*  list-style-type: decimal !important;*/
/*}*/

/*.single-user-interview-container h2 {*/
/*  position: relative;*/
/*  font-size: 20px !important;*/
/*  letter-spacing: 0.1em;*/
/*  font-family: "FOT-筑紫ゴシック Pro B", "TsukuGoPro-B", sans-serif;*/
/*  line-height: 1.75;*/
/*  padding-top: 2em;*/
/*  margin-bottom: 30px !important;*/
/*}*/

/*.single-user-interview-container h2::before {*/
/*  position: absolute;*/
/*  content: "Q";*/
/*  height: 100%;*/
/*  font-family: "FOT-筑紫ゴシック Pro B", "TsukuGoPro-B", sans-serif;*/
/*  line-height: 1.75;*/
/*  font-size: 20px !important;*/
/*  top: 0;*/
/*  left: 0;*/
/*  !* transform: translateY(-50%); *!*/
/*}*/

/*.single-user-interview-container p {*/
/*  font-size: 16px !important;*/
/*  line-height: 1.875em;*/
/*  margin-bottom: 50px !important;*/
/*}*/

/*.single-user-interview-container figure {*/
/*  margin-bottom: 32px;*/
/*}*/

/*.single-user-interview-container figure img {*/
/*  width: 100% !important;*/
/*}*/

@media (hover: hover) {
  .link-hover:hover {
    opacity: 0.6;
  }

  .hover-pointer:hover {
    cursor: pointer;
  }
}

@media screen and (min-width: 992px) {
  a[href^="tel:"] {
    pointer-events: none;
  }

  .text-lg-nowrap {
    white-space: nowrap;
  }

  .text-ellipsis-lg-1 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .text-ellipsis-lg-2 {
    -webkit-line-clamp: 2;
  }

  .text-ellipsis-lg-3 {
    -webkit-line-clamp: 3;
  }

  /*.single-content-container h2 {*/
  /*  font-size: 32px;*/
  /*}*/

  /*.single-content-container h3 {*/
  /*  font-size: 22px;*/
  /*}*/

  /*.single-user-interview-container h2 {*/
  /*  padding-left: 2em;*/
  /*  padding-top: 0;*/
  /*}*/

  /*.single-user-interview-container h2,*/
  /*.single-user-interview-container h2::before {*/
  /*  line-height: 1.5;*/
  /*}*/

  /*.single-user-interview-container h2::before {*/
  /*  height: 100%;*/
  /*  top: 0;*/
  /*  left: 0;*/
  /*}*/
}

/*------------------------------
 privacy-policy
------------------------------*/
/*#privacyPolicy ul,*/
/*#privacyPolicy ul li {*/
/*  list-style-type: disc !important;*/
/*}*/

/*#privacyPolicy ol,*/
/*#privacyPolicy ol li {*/
/*  list-style-type: decimal !important;*/
/*}*/

/*#privacyPolicy ol {*/
/*  padding-left: 1.25rem !important;*/
/*}*/

/*#privacyPolicy ol li ol {*/
/*  padding-left: 2rem !important;*/
/*}*/

/*------------------------------
 (name)
------------------------------*/

@media screen and (min-width: 992px) {
}

@media (hover: hover) {
}

/*------------------------------
 サウナ 汎用
------------------------------*/

[id]{
  scroll-margin-top: 80px;
}

.fw-medium{
  font-weight: 500;
}

.ls-15-30p{
  letter-spacing: calc(0.938rem * 0.3);
}

.ls-16-10p{
  letter-spacing: calc(1rem * 0.1);
}

.ls-16-20p{
  letter-spacing: calc(1rem * 0.2);
}

.ls-16-40p{
  letter-spacing: calc(1rem * 0.4);
}

.ls-18-20p{
  letter-spacing: calc(1.125rem * 0.2);
}

.ls-20-25p{
  letter-spacing: calc(1.25rem * 0.25);
}

.ls-22-10p{
  letter-spacing: calc(1.375rem * 0.1);
}

.ls-24-20p{
  letter-spacing: calc(1.5rem * 0.2);
}

.ls-24-30p{
  letter-spacing: calc(1.5rem * 0.3);
}

.ls-24-40p{
  letter-spacing: calc(1.5rem * 0.4);
}

.w-min-content{
  width: min-content;
}

.gap-y-4{
  gap: 0 1.5rem;
}

.link-button{
  max-width: 264px;
  height: 66px;
  background-color: #CB932F;
  position: relative;
  z-index: 5;
}

.px-12{
  padding-left: 12px;
  padding-right: 12px;
}

.no-wrap {
  white-space: nowrap;
}

.lh-190p{
  line-height: 190%;
}


@media screen and (min-width: 992px) {
  .ls-lg-16-20p{
    letter-spacing: calc(1rem * 0.2);
  }

  .ls-lg-16-5p{
    letter-spacing: calc(1rem * 0.05);
  }

  .ls-lg-16-10p{
    letter-spacing: calc(1rem * 0.1);
  }

  .ls-lg-18-20p{
    letter-spacing: calc(1.125rem * 0.2);
  }

  .ls-lg-24-10p{
    letter-spacing: calc(1.5rem * 0.1);
  }

  .ls-lg-24-20p{
    letter-spacing: calc(1.5rem * 0.2);
  }

  .ls-lg-24-30p{
    letter-spacing: calc(1.5rem * 0.3);
  }

  .ls-lg-34-10p{
    letter-spacing: calc(2.125rem * 0.1);
  }

  .gap-lg-y-60{
    gap:  0 60px;
  }

  .gap-lg-y-90{
    gap: 0 90px;
  }

  .link-button{
    max-width: 440px;
    height: 88px;
  }

  .omb-lg-26 {
    /* 240px */
    margin-bottom: 15rem !important;
  }

  .omb-lg-32 {
    /* 300px */
    margin-bottom: 18.75rem !important;
  }

  .px-lg-12{
    padding-left: 12px;
    padding-right: 12px;
  }

  .ome-lg-12 {
    /* 100px */
    margin-right: 6.25rem !important;
  }

  .lh-lg-130p{
    line-height: 130%;
  }

}

@media screen and (min-width: 1400px) {
  .gap-xxl-y-5{
    gap: 0 3rem;
  }
}

/*------------------------------
 サウナ
------------------------------*/

.header-logo{
  position: fixed;
  top: 30px;
  left: 18px;
  mix-blend-mode: normal;
  z-index: 9999;
}

.header-logo>a{
  display: block;
  width:  164px;
  height: 31.7px;
}

.fv-bg{
  background-image: url(../images/sauna/fv-bg-sp.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  aspect-ratio: 390 / 1003;
}

.fv-inner{
  padding-top: 165px;
}

.sr-only{
  position:absolute;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.fv-ttl-path01 img{
  width: 264px;
  height: auto;
  margin-bottom: 12px;
}

.fv-ttl-path02 img{
  width: 287px;
  height: auto;
  margin-bottom: 27px;
}

.fv-ttl-path03 img{
  width: 85px;
  height: auto;
}

.fv-ttl-path04 img{
  width: 47.5px;
  height: auto;
}

.concept-img{
  width: 100%;
  height: fit-content;
}

.concept-img img{
  display: block;
  width: 100%;
  border-radius: 46px;
}

.concept-img::before{
  content: "";
  width: 267px;
  height: 400px;
  background-image: url(../images/sauna/concept-smoke-left.png);
  mix-blend-mode: screen;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: -60px;
}

.concept-img::after{
  content: "";
  width: 249px;
  height: 199px;
  background-image: url(../images/sauna/concept-smoke-right.png);
  mix-blend-mode: screen;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -70px;
  right: -80px;
}

.showroom-ttl-path{
  max-width: 366px;
}

.showroom-map::before{
  content: "";
  background-image: url(../images/sauna/showroom-icon-address.svg);
  width: 14px;
  height: 17px;
  display: inline;
}

.about-bg{
  /*background-color: #03192D;*/
  background:
          linear-gradient(
                  to bottom,
                  #ffffff 0,
                  #03192D 20vw
          ),
          linear-gradient(
                  to top,
                  #ffffff 0,
                  #03192D 20vw
          ),
          #03192D;
  padding-top: 64vw;
  margin-top: 19.7vw;
  padding-bottom: 53.6vw;
}

.about-bg::before{
  content: "";
  width: 100vw;
  height: 366vw;
  background-image: url(../images/sauna/about-smoke-sp-top.png);
  mix-blend-mode: screen;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: -19.7vw;
  right: 0;
  left: 0;
  pointer-events: none;
}

.about-bg::after{
  content: "";
  width: 100vw;
  height: 228.7vw;
  background-image: url(../images/sauna/about-smoke-sp-bottom.png);
  mix-blend-mode: screen;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  bottom:0;
  right: 0;
  left: 0;
  pointer-events: none;
}

.about-neppashi-mb{
  margin-bottom: 210px;
}

.neppashi-img-wrap{
  padding-left: 36px;
  padding-right: 36px;
}

.neppashi-img{
  aspect-ratio: 485 / 532;
  max-width: 485px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}

.neppashi-img-wrap::before{
  content: "";
  width: 69.5vw;
  height: 56.6vw;
  background-image: url(../images/sauna/about-img-smoke.png);
  mix-blend-mode: screen;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top:-65px;
  right: -63px;
  pointer-events: none;
}

.neppashi-img-wrap::after{
  content: "";
  width: 69.5vw;
  height: 56.6vw;
  background-image: url(../images/sauna/about-img-smoke.png);
  mix-blend-mode: screen;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  bottom:-54px;
  left: -69px;
  pointer-events: none;
}

.sns-link-btn{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  border-radius: 50rem;
  background-color: #D9D9D9;

}

.works-sauna-img01{
  max-width: 64.87vw;
}

.works-sauna-img02{
  max-width: 37.44vw;
}

.works-sauna-img03{
  max-width: 50.77vw;
}

.works-img{
  border-radius: 20px;
}

.works-floor-plan-1f figcaption{
  position: absolute;
  top: 0;
  left: 0;
}

.works-floor-plan-2f figcaption{
  position: absolute;
  top: min(10vw, 80px);
  left: 0;
}

.works-floor-plan-2f img{
  max-width: 47vw;
}

.bg-works-cmnt{
  background-color: #102438;
  border-radius: 50px;
}

.features-bg{
  /*background-color: #03192D;*/
  background:
          linear-gradient(
                  to bottom,
                  #ffffff 0,
                  #03192D 20vw
          ),
          linear-gradient(
                  to top,
                  #ffffff 0,
                  #03192D 20vw
          ),
          #03192D;
  padding-top: 49.2vw;
  padding-bottom: 95vw;
}

.features-bg::before{
  content: "";
  width: 100vw;
  height: 312vw;
  background-image: url(../images/sauna/features-smoke-sp-top.png);
  mix-blend-mode: screen;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  pointer-events: none;
  transform: scale(1.05);
}

.features-bg::after{
  content: "";
  width: 100vw;
  height: 412vw;
  background-image: url(../images/sauna/features-smoke-sp-bottom.png);
  mix-blend-mode: screen;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
  bottom: -1vw;
  right: 0;
  left: 0;
  pointer-events: none;
}

.flow-ttl{
  position: absolute;
  top: -100px;
  right: 50%;
  transform: translate(50%, -100%);
}

.flow-item::before{
  content: "";
  width: 440px;
  height: 440px;
  background-image: url(../images/sauna/flow-blue-circle.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: absolute;
}

.flow-item-01::before{
  top: -132px;
  left: -150px;
}

.flow-item-02::before{
  top: -130px;
  right: -275px;
}

.flow-item-03::before{
  top: -110px;
  left: -180px;
}

.flow-item-04::before{
  top: -75px;
  right: -275px;
}

.faq-bg{
  background-color: #F4F4F4;
  padding-top: 64px;
  padding-bottom: 10px;
}

.faq-question{
  color: #048FD4;
}

.faq-question::before{
  content: "Q";
  display: block;
  padding-right: 1rem;
}

.faq-answer::before{
  content: "A";
  display: block;
  padding-right: 1rem;
}

.accordion-button:not(.collapsed) {
  background-color: none !important;
  box-shadow: none !important;
}

.accordion-button:focus {
  border-color: none !important;
  box-shadow: none !important;
}

#accordionFaq .accordion-item {
  border: none !important;
  background-color: transparent!important;
  margin-bottom: 56px;
}

#accordionFaq .accordion-button::before {
  all: unset;
  position: absolute;
  content: "";
  background-color: #048FD4;
  width: 19px;
  height: 3px;
  right: 0;
  opacity: 1;
  visibility: visible;
  transition: 0.1s;
  transform: rotate(-90deg);
}

#accordionFaq .accordion-button:not(.collapsed)::before {
  opacity: 0;
  visibility: hidden;
}

#accordionFaq .accordion-button::after {
  background-image: none !important;
  background-color: #048FD4;
  width: 19px;
  height: 3px;
}

.accordion-button {
  background-color: transparent !important;
  padding: 0 !important;
  width: fit-content !important;
}

#accordionFaq .accordion-header{
  cursor: pointer;
}

.event-bg{
  background-color: rgba(16,36,56, 0.08);
  border-radius: 10px;
}

.event-desc-list li{
  list-style-type: disc;
  list-style-position: outside;
}

.event-img01{
  max-width: 43.6vw;
  padding-top: 50px;
}

.event-img02{
  max-width: 44.6vw;
}

.access-map{
  width: 100%;
  aspect-ratio: 1.72 / 1;
}

.form-btn{
  aspect-ratio: 350 / 78;
  width: 50%;
  background-color: transparent;
  position: relative;
  cursor: pointer;
}

.form-btn.selected{
  background-color: #EEE8E1;
  color: #AF8D56;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}

.form-btn-left.selected::before{
  content: "";
  background-image: url(../images/sauna/form-tab-parts.svg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 4.57%;
  height: auto;
  aspect-ratio: 1 / 1;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(100%, 0%);
}

.form-btn-right.selected::before{
  content: "";
  background-image: url(../images/sauna/form-tab-parts.svg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 4.57%;
  height: auto;
  aspect-ratio: 1 / 1;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: translate(-100%, 0%) scaleX(-1);
}

.sauna-form{
  font-family: "BIZ UDPMincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 1rem;
}

.sauna-form input{
  height: 48px;
  border: none!important;
}

.sauna-form .form-marker::before{
  content: "";
  width: 7px;
  height: 7px;
  background-color: #AF8D56;
  border-radius: 50rem;
  display: block;
  margin-right: 5px;
}

.form-area{
  background-color: #EEE8E1;
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
}

.form-area.is-reservation{
  border-top-right-radius: 16px;
}

.form-area.is-consultation{
  border-top-left-radius: 16px;
}

.sauna-form select.form-select{
  height:48px;
  cursor: pointer;
}

.sauna-form select.form-select:invalid{
  opacity: .95;
}

.time-select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: none !important;
  background-color: #AF8D56;
  color: #ffffff;
}

.btn-search{
  padding: 16px 12px;
  background-color: #b08a3c;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
  border-radius: 0;
}

.form-control-short{
  max-width: 124px;
}

.consent, .consent input{
  cursor: pointer;
}

#consultation-date{
  cursor: pointer;
}

.acceptance{
  width: 20px;
  height: 20px;
  margin-right: 10px;
}

.btn-submit{
  height: 88px;
  background-color: #CB932F;
  width: 100%;
  border-radius: 20px;
  font-size: 24px;
  color: white;

}


@media screen and (min-width: 768px) {
  .fv-bg{
    background-image: url(../images/sauna/fv-bg-tb.png);
    aspect-ratio: 648 / 1003;
  }

  .features-bg{
    padding-top: 6.94vw;
    padding-bottom: 38.75vw;
  }

  .features-bg::before{
    content: "";
    width: 100vw;
    height: 165vw;
    background-image: url(../images/sauna/features-smoke-pc-top.png);
    top: 0;
    right: 0;
    left: 0;
    /*transform: scale(1.05);*/
  }

  .features-bg::after{
    content: "";
    width: 100vw;
    height: 140.2vw;
    background-image: url(../images/sauna/features-smoke-pc-bottom.png);
    bottom: -1vw;
    right: 0;
    left: 0;
  }

}

@media screen and (min-width: 992px) {

  .header-logo{
    top: 40px;
    left: 48px;
  }

  .header-logo>a{
    width:  243px;
    height: 47px;
  }

  .concept-img{
    width: 44%;
  }

  .concept-img img{
    border-top-left-radius: 0;
    border-top-right-radius: 59px;
    border-bottom-right-radius: 59px;
    border-bottom-left-radius: 0;
  }

  .concept-img::before{
    width: 419px;
    height: 628px;
    bottom: -70px;
    left: -20px;
  }

  .concept-img::after{
    width: 362px;
    height: 295px;
    bottom: -110px;
    right: -130px;
  }
  
  .harvia-logo{
    max-width: 237px;
  }

  .showroom-ttl-path{
    max-width: auto;
  }

  .about-bg{
    padding-top: 53vw;
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 32.4vw;
  }

  .about-bg::before{
    content: "";
    width: 100vw;
    height: 146vw;
    background-image: url(../images/sauna/about-smoke-pc-top.png);
    top: -2vw;
    right: 0;
    left: 0;
    transform: scale(1.01);
  }

  .about-bg::after{
    content: "";
    width: 100vw;
    height: 246vw;
    background-image: url(../images/sauna/about-smoke-pc-bottom.png);
    bottom: 0;
    right: 0;
    left: 0;
    transform: scale(1.01);
  }

  .about-neppashi-mb{
    margin-bottom: 350px;
  }

  .neppashi-img-wrap{
    padding-left: 12px;
    padding-right: 80px;
  }

  .neppashi-img{
    margin-left: auto;
    margin-right: unset;
  }

  .neppashi-img-wrap::before{
    content: "";
    width: 25.1vw;
    height: 25.4vw;
    top:-97px;
    right: -55px;
  }

  .neppashi-img-wrap::after{
    content: "";
    width: 25.1vw;
    height: 25.4vw;
    bottom:-78px;
    left: -80px;
  }

  .neppashi-prof{
    max-width: 485px;
  }

  .works-sauna-img01{
    max-width: 500px;
  }

  .works-sauna-img02{
    max-width: 348px;
  }

  .works-sauna-img03{
    max-width: 541px;
  }

  .works-img{
    border-radius: 50px;
  }

  .works-floor-plan-2f figcaption{
    top: 0;
  }

  .works-floor-plan-2f img{
    max-width: unset;
  }

  .bg-works-cmnt{
    border-radius: 90px;
  }

  .flow-ttl{
    top: -290px;
    right: 0;
    transform: translate(50%, 0);
  }


  .flow-item-01,.flow-item-03{
    padding-right: 60px;
  }

  .flow-item-02,.flow-item-04{
    padding-left: 60px;
  }

  .flow-item-01::before{
    top: -150px;
    left: -220px;
  }

  .flow-item-02::before{
    top: -120px;
    right: -55px;
  }

  .flow-item-03::before{
    top: -75px;
    left: -110px;
  }

  .flow-item-04::before{
    top: unset;
    bottom: -175px;
    right: -125px;
  }

  .faq-bg{
    padding-top: 100px;
    padding-bottom: 90px;
  }

  #accordionFaq .accordion-item {
    margin-bottom: 40px;
  }

  .event-bg{
    border-radius: 30px;
  }

  .event-img01{
    max-width: 354px;
    padding-top: 204px;
  }

  .event-img02{
    max-width: 364px;
  }

}

@media screen and (min-width: 1200px){

  .fv-bg{
    background-image: url(../images/sauna/fv-bg-pc.png);
    aspect-ratio: 1440 / 1815;
  }

  .fv-inner{
    padding-top: 243px;
  }

  .fv-ttl-path01 img{
    width: 420px;
    margin-bottom: 20px;
  }

  .fv-ttl-path02 img{
    width: 457px;
    margin-bottom: 43px;
  }

  .fv-ttl-path03 img{
    width: 135px;
  }

  .fv-ttl-path04 img{
    width: 75px;
  }

}


/*アニメーション*/
/*.js-fade-item{ will-change: opacity, transform; }*/

/* 共通：アニメ対象（単体もグループ内もこれ） */
.reveal-item {
  opacity: 0;

  transition-property: opacity, transform, filter, -webkit-filter;
  transition-duration: var(--dur, 0.8s);
  transition-timing-function: var(--ease, cubic-bezier(0.25, 0.25, 0.75, 0.75));
  transition-delay: calc(var(--delay, 0.2s) + (var(--stagger, 0.2s) * var(--i, 0)));

  will-change: opacity, transform, filter, -webkit-filter;

  /* Safariでの描画安定化（効くことが多い） */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.reveal-item.is-in {
  opacity: 1;
  transform: none;
  filter: none;
  -webkit-filter: none;
}

/* ブラー＋フェード */
.reveal-blur {
  filter: blur(var(--blur, 0.3em));
  -webkit-filter: blur(var(--blur, 0.3em));
}

/* スライドアップ+フェード */
.reveal-up {
  transform: translateY(var(--up, 1rem));
}

/* ポップ+フェード */
.reveal-pop {
  transform: scale(var(--pop-from, 0.92));
}

/* フェード単体 */
.reveal-fade {
  transform: none;
}
