@charset "UTF-8";
.c-gnav {
  display: none;
}

.l-header {
  position: sticky !important;
}

@media not all and (min-width: 960px) {
  .l-header[data-spfix="1"] {
    position: sticky !important;
  }
}
.l-header__logo a {
  pointer-events: none;
  cursor: default;
}

.l-header__customBtn {
  display: none;
}

.l-header__menuBtn {
  display: none;
}

.w-header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16.4px;
}

.w-header__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 205px;
  height: 70px;
}
.w-header__item a {
  width: auto;
  max-height: 70px;
}
.w-header__item a img {
  width: auto;
  max-height: 70px;
}

.w-header__item:last-child {
  width: 205px;
}
.w-header__item:last-child img {
  -webkit-transform: scale(1.9);
          transform: scale(1.9);
}

@media not all and (min-width: 960px) {
  .c-headLogo {
    height: 80px;
  }
}
.top #content {
  margin-bottom: 0;
  padding-top: 0;
}

.l-content {
  padding-left: 0;
  padding-right: 0;
}

.l-mainContent__inner > .post_content {
  padding-left: 0;
  padding-right: 0;
}

.wp-block-group__examples-bg {
  background: url("../../../../uploads/2026/02/sp-main-example-bg.jpg") no-repeat top center/100% auto;
  padding-bottom: 4.6rem;
  max-width: 700px;
  margin-inline: auto;
}

.main-examples__box {
  margin-inline: 0;
}

.main-examples__box-body {
  margin-top: -1rem;
  margin-inline: 0;
}

@media (min-width: 960px) {
  .wp-block-group__examples-bg {
    background: url("../../../../uploads/2026/01/main-example-bg.jpg") no-repeat top center/100% auto;
    padding-bottom: 4.6rem;
    max-width: 1024px;
    margin-inline: auto;
  }
  .main-examples__box {
    margin-inline: 6rem;
  }
  .main-examples__box-body {
    margin-top: 0;
    margin-inline: 2.3rem;
  }
}
.wp-block-group__cta-bg {
  max-width: 700px;
  margin-inline: auto;
}

.wp-block-group__cta-inner {
  position: relative;
}

.wp-block-image__cta-btn {
  position: absolute !important;
  bottom: 16%;
  left: 50%;
  width: 81%;
  height: 16%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  overflow: hidden;
}
.wp-block-image__cta-btn img {
  margin-top: -2%;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

@media (min-width: 960px) {
  .wp-block-group__cta-bg {
    max-width: 1024px;
  }
  .wp-block-image__cta-btn {
    bottom: 20%;
    left: 8%;
    width: 47%;
    height: 20%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    overflow: hidden;
  }
  .wp-block-image__cta-btn img {
    margin-top: -1rem;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.swell-block-accordion__item .swell-block-accordion__title {
  background: none;
  margin-top: 0.2em;
  margin-bottom: 1em;
  margin-inline: auto;
  padding: 0;
  width: 22rem;
  height: auto;
  aspect-ratio: 320/66;
  position: relative;
}
.swell-block-accordion__item .swell-block-accordion__title::after {
  position: absolute;
  content: "";
  inset: 0;
  -webkit-transform: scale(2.5);
          transform: scale(2.5);
  background: url("../../../../uploads/2026/02/main-example-btn-close-shadow.png") no-repeat center/contain;
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}

.swell-block-accordion__item.is-opened .swell-block-accordion__title::after {
  background: url("../../../../uploads/2026/02/main-example-btn-open-shadow.png") no-repeat center/contain;
}

.swell-block-accordion__icon {
  display: none;
}

@media (min-width: 960px) {
  .swell-block-accordion__item .swell-block-accordion__title {
    background: none;
    margin-top: -1em;
    margin-bottom: 1em;
    margin-inline: auto;
    padding: 0;
    width: 22rem;
    height: auto;
    aspect-ratio: 320/66;
    position: relative;
  }
  .swell-block-accordion__item .swell-block-accordion__title::after {
    position: absolute;
    content: "";
    inset: 0;
    -webkit-transform: scale(2);
            transform: scale(2);
    background: url("../../../../uploads/2026/02/main-example-btn-close-shadow.png") no-repeat center/contain;
    -webkit-transition: background 0.3s ease;
    transition: background 0.3s ease;
  }
  .swell-block-accordion__item.is-opened .swell-block-accordion__title::after {
    background: url("../../../../uploads/2026/02/main-example-btn-open-shadow.png") no-repeat center/contain;
  }
  .swell-block-accordion__icon {
    display: none;
  }
}
.wp-block-group__faq-bg {
  background: url("../../../../uploads/2026/02/sp-main-faq__bg.jpg") no-repeat top center/cover;
  padding-top: 6rem;
  padding-bottom: 6rem;
  max-width: 700px;
  margin-inline: auto;
}

.main-faq__inner {
  margin-inline: auto;
  padding-inline: 0;
  max-width: 64rem;
}

.main-faq__header img {
  -webkit-transform: scale(1.13);
          transform: scale(1.13);
}

.main-faq__box {
  margin-inline: 1rem;
  border-left: 1px solid #ffcf1f;
  border-right: 1px solid #fffad7;
  background-color: #ffffff;
}
.main-faq__box + .main-faq__box {
  margin-top: 1.88rem !important;
}

.main-faq__box-row {
  line-height: 1px;
}

.main-faq__question {
  padding-top: 1rem;
  padding-right: 1.5rem;
  padding-left: 3.9rem;
  padding-bottom: 0.5rem;
  font-size: 2.125rem;
  font-weight: bold;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #6d3b0f;
  line-height: 1.6;
  position: relative;
}
.main-faq__question::after {
  position: absolute;
  content: "";
  background: url("../../../../uploads/2026/02/sp-main-faq__question-header.png") no-repeat center/contain;
  top: 52%;
  left: 1.5rem;
  width: 1.78125rem;
  height: 2.25rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.main-faq__border-dot {
  padding-inline: 1rem;
  line-height: 1px;
}

.main-faq__answer {
  padding-top: 0.8rem;
  padding-right: 1.5rem;
  padding-left: 3.5rem;
  padding-bottom: 1.1rem;
  font-size: 1.8125rem;
  line-height: 1.4;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  color: #6d3b0f;
}

@media (max-width: 599px) {
  .main-faq__question {
    padding-top: 1rem;
    padding-right: 1rem;
    padding-left: 3rem;
    padding-bottom: 0.5rem;
    font-size: 1.5rem;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    color: #6d3b0f;
    line-height: 1.6;
    position: relative;
  }
  .main-faq__question::after {
    top: 55%;
    left: 1rem;
    width: 1.5rem;
    height: 2rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .main-faq__answer {
    padding-top: 0.8rem;
    padding-right: 1rem;
    padding-left: 3rem;
    padding-bottom: 1.1rem;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
@media (min-width: 960px) {
  .wp-block-group__faq-bg {
    background: url("../../../../uploads/2026/02/main-faq__bg.jpg") no-repeat top center/cover;
    padding-top: 6rem;
    padding-bottom: 6rem;
    max-width: 1024px;
    margin-inline: auto;
  }
  .main-faq__inner {
    margin-inline: auto;
    padding-inline: 9.4rem;
    max-width: 64rem;
  }
  .main-faq__header img {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  .main-faq__box {
    border-left: 1px solid #ffcf1f;
    border-right: 1px solid #fffad7;
    background-color: #ffffff;
  }
  .main-faq__box + .main-faq__box {
    margin-top: 1.88rem !important;
  }
  .main-faq__box-row {
    line-height: 1px;
  }
  .main-faq__question {
    padding-top: 1rem;
    padding-inline: 5rem;
    padding-bottom: 0.75rem;
    font-size: 1.6875rem;
    font-weight: bold;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    color: #6d3b0f;
    line-height: 1.8;
    position: relative;
  }
  .main-faq__question::after {
    position: absolute;
    content: "";
    background: url("../../../../uploads/2026/02/main-faq__question-header.png") no-repeat center/contain;
    top: 53%;
    left: 2.5rem;
    width: 1.625rem;
    height: 2rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .main-faq__border-dot {
    padding-inline: 2.25rem;
    line-height: 1px;
  }
  .main-faq__answer {
    padding-top: 1.25rem;
    padding-right: 2.25rem;
    padding-left: 5rem;
    padding-bottom: 1.5rem;
    font-size: 1.25rem;
    line-height: 1.575;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    color: #6d3b0f;
  }
}
.main-faq__message {
  position: relative;
  max-width: 700px;
  margin-inline: auto;
  background: url(../img/main-massage__bg-main.png) no-repeat center center/100% 100%;
  padding-bottom: 4.6rem;
}
@media (max-width: 959px) {
  .main-faq__message {
    padding-top: 2.1rem;
    background: url(../img/sp-main-massage__bg-main.jpg) no-repeat center center/100% 100%;
  }
}

.main-message__top {
  position: relative;
}
.main-message__top::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../img/main-massage__bg-top.png) no-repeat top center/100% auto;
  z-index: -1;
}
@media (max-width: 959px) {
  .main-message__top {
    width: 103%;
  }
  .main-message__top::before {
    background: url(../img/sp-main-massage__bg-top.png) no-repeat top center/100% auto;
  }
}

.main-message__middle {
  margin-left: 21%;
  width: 70%;
}
@media (max-width: 959px) {
  .main-message__middle {
    margin-left: auto;
    width: 103%;
  }
}

.main-faq__message-btn-wrapper {
  margin-top: 1rem !important;
  position: relative;
}
@media (max-width: 959px) {
  .main-faq__message-btn-wrapper {
    margin-top: -1rem !important;
    z-index: 1;
  }
}

@media (max-width: 959px) {
  .main-message__phone-and-resevation {
    width: 81%;
    margin-inline: auto;
  }
}

.main-faq__message-phone-number {
  position: absolute !important;
  top: 22%;
  left: 50%;
  -webkit-transform: translateX(-50%) scale(1.13);
          transform: translateX(-50%) scale(1.13);
  width: 81%;
  height: auto;
}

.main-faq__message-btn {
  position: absolute !important;
  top: 92%;
  left: 50%;
  -webkit-transform: translateX(-50%) scale(1.13);
          transform: translateX(-50%) scale(1.13);
  width: 81%;
  height: auto;
}

.main-message__business-hour {
  width: 71%;
  margin-inline: auto;
  margin-top: 1rem;
  border: 1px solid #efe292;
  background-color: rgba(255, 255, 255, 0.8);
  padding-top: 3%;
  padding-inline: 7%;
  padding-bottom: 5%;
  line-height: 1.4;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  position: relative;
  z-index: 1;
}
@media (max-width: 959px) {
  .main-message__business-hour {
    width: 98%;
    margin-top: 18rem !important;
    padding-top: 3%;
    padding-inline: 5%;
    padding-bottom: 5%;
  }
}

.main-message__map-wrapper {
  position: relative;
  z-index: 1;
}

.main-message__map-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-inline: 5%;
  font-size: 1.4rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.main-message__map-text .main-message__map-text-title {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 28%;
          flex: 1 1 28%;
}
.main-message__map-text .main-message__map-text-address {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 72%;
          flex: 1 1 72%;
}
@media (max-width: 959px) {
  .main-message__map-text {
    padding-inline: 0;
    font-size: 1.2rem;
  }
}

.main-message__map {
  margin-top: 1rem;
  width: 100%;
  height: auto;
}

.main-message__bottom {
  position: absolute;
  left: 0;
  bottom: 30%;
  width: 80%;
}
@media (max-width: 959px) {
  .main-message__bottom {
    left: 1%;
    width: 107%;
    bottom: 30%;
  }
}
@media (max-width: 599px) {
  .main-message__bottom {
    bottom: 36%;
  }
}
@media (max-width: 499px) {
  .main-message__bottom {
    bottom: 38%;
  }
}
@media (max-width: 399px) {
  .main-message__bottom {
    bottom: 41%;
  }
}

.main-message__bg-bottom {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

@media (min-width: 960px) {
  .main-faq__message {
    max-width: 1024px;
  }
  .main-faq__message-phone-number {
    position: absolute !important;
    top: 91%;
    left: 50%;
    -webkit-transform: translateX(-50%) scale(1.13);
            transform: translateX(-50%) scale(1.13);
    width: 45%;
    height: auto;
  }
  .main-faq__message-btn {
    position: absolute !important;
    top: 62%;
    left: 50%;
    -webkit-transform: translateX(-50%) scale(1.13);
            transform: translateX(-50%) scale(1.13);
    width: 45%;
    height: auto;
  }
}
@media screen and (max-width: 959px) {
  .p-fixBtnWrap {
    bottom: 10rem;
  }
  #fixed-bottom-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 99;
  }
}
@media screen and (max-width: 599px) {
  .p-fixBtnWrap {
    bottom: 6rem;
  }
}
@media screen and (min-width: 960px) {
  #fixed-bottom-btn {
    display: none; /* PCでは非表示にする */
  }
}
.c-fixBtn {
  border: 1px solid #F9913D;
  color: #F9913D;
}

@media (min-width: 960px) {
  .hov-bg-main:hover {
    background-color: #F9913D !important;
  }
}
.l-footer__foot {
  padding-top: 3.25em;
  padding-bottom: 3.25em;
}

.l-footer .copyright {
  font-size: 1.125rem;
}

.l-footer span {
  display: none;
}

@media screen and (max-width: 959px) {
  .l-footer {
    position: relative;
  }
  .l-footer::after {
    content: "";
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16/3.1;
  }
}
.shiny {
  overflow: hidden;
  position: relative;
  transition: opacity 0.25s, -webkit-transform 0.25s;
  -webkit-transition: opacity 0.25s, -webkit-transform 0.25s;
  transition: opacity 0.25s, transform 0.25s;
  transition: opacity 0.25s, transform 0.25s, -webkit-transform 0.25s;
  z-index: 0;
}

.shiny:before {
  background-image: -webkit-gradient(linear, left top, right top, from(hsla(0, 0%, 100%, 0)), color-stop(80%, hsla(0, 0%, 100%, 0.6)), to(hsla(0, 0%, 100%, 0)));
  background-image: linear-gradient(90deg, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0.6) 80%, hsla(0, 0%, 100%, 0));
  content: "";
  height: 200px;
  left: -120px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(25deg);
  transform: translateY(-50%) rotate(25deg);
  width: 80px;
}

.shiny:after {
  content: "";
  position: absolute;
  top: 0;
  left: -100px;
  width: 50px;
  height: 100%;
  visibility: visible;
  background-image: linear-gradient(100deg, hsla(0, 0%, 100%, 0), #fff);
  -webkit-animation: shiny_btn 3s infinite ease-in-out;
          animation: shiny_btn 3s infinite ease-in-out;
}