@charset "UTF-8";
/* A Modern CSS Reset */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  font-family: "Hiragino Kaku Gothic Pro", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
  display: block;
}

input,
button,
textarea,
select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
#lp_container {
  background-color: #fff;
}
@media (min-width: 521px) and (any-hover: hover) {
  #lp_container {
    max-width: 520px;
    margin: 0 auto;
    -webkit-box-shadow: 0px 0px 54px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 0px 0px 54px 0px rgba(0, 0, 0, 0.2);
  }
}

.opening {
  opacity: 0;
}

.effected, .effected::before, .effected::after {
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-transform: translate(0, 0) scale(1, 1) !important;
          transform: translate(0, 0) scale(1, 1) !important;
}

.note {
  font-size: 2.5641025641vw;
  text-align: left;
  -webkit-transition-delay: 2.2s;
          transition-delay: 2.2s;
}
@media (min-width: 521px) and (any-hover: hover) {
  .note {
    font-size: 13.3333333333px;
  }
}

.calendar_wrap {
  background: #EEE8D9;
  padding: 11.2820512821% 5.1282051282% 15.3846153846%;
}
.calendar_coupon {
  position: relative;
  width: 100%;
  height: auto;
}
.calendar_coupon .copy_btn {
  margin: auto;
  width: 88.5714285714%;
  position: absolute;
  top: 71.1496746204%;
  left: 0;
  right: 0;
  cursor: pointer;
}
.calendar_title {
  height: auto;
  width: 44.6153846154%;
  aspect-ratio: 172/86;
  margin: 8.5714285714% auto 20px;
}

.fade_in {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}
.fade_in.animated {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: 0.5s ease-out;
  transition: 0.5s ease-out;
}

.floating {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 30;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#FFFFFF));
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);
  width: 100%;
  aspect-ratio: 309/106;
}
.floating a {
  width: 89.7435897436%;
  display: block;
  position: absolute;
  left: 6.0256410256%;
  bottom: 11.9791666667%;
}
@media (min-width: 521px) and (any-hover: hover) {
  .floating {
    max-width: 520px;
  }
  .floating .cv_btn {
    max-width: 400px;
    margin: auto;
  }
}

.faq {
  padding: 10.2564102564% 5.1282051282% 5.1282051282%;
  background: #F9F8F6;
}
.faq_title {
  width: 49.7142857143%;
  margin: 0 auto 11.4285714286%;
}
.faq_block {
  background: #FFF;
  border-radius: 10px;
  text-align: left;
  margin-bottom: 20px;
}
.faq_block dt {
  cursor: pointer;
  position: relative;
  font-weight: bold;
  padding: 5.7142857143% 11.4285714286% 5.7142857143% 13.1428571429%;
  font-size: 4.1025641026vw;
  text-indent: -6.6666666667vw;
  line-height: 1.35;
}
.faq_block dt:before, .faq_block dt:after {
  position: absolute;
  display: block;
  content: "";
  background-color: #3A3C46;
  width: 4%;
  height: 1px;
  right: 3.8461538462%;
  top: 50%;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.faq_block dt:after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.faq_block dt.active:after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.faq_block dd {
  font-size: 3.5897435897vw;
  display: none;
  padding: 0 5.7142857143% 8.5714285714% 5.7142857143%;
}
.faq_block .icon {
  display: inline-block;
  width: 6.8571428571%;
  aspect-ratio: 24/24;
  height: auto;
  margin-right: 9px;
  vertical-align: middle;
}
.faq_block .init-open + dd {
  display: block;
}
@media (min-width: 521px) and (any-hover: hover) {
  .faq_block dt {
    font-size: 20px;
    letter-spacing: 0.1em;
    text-indent: -32px;
  }
  .faq_block dd {
    font-size: 16px;
  }
}

.attention {
  background: #F9F8F6;
  padding-bottom: 15.3846153846%;
}
.attention_title {
  width: 70.7692307692%;
  padding: 5.1282051282% 0 6.4102564103%;
  margin: auto;
}
.attention_title_2 {
  width: 38.4615384615%;
  padding: 0 0 6.4102564103%;
  margin: auto;
}
.attention_box {
  width: 89.7435897436%;
  background: #FFF;
  padding: 7.1428571429%;
  border-radius: 10px;
  margin: auto;
}
.attention_box p {
  font-size: clamp(13px, 3.5vw, 18px);
  font-weight: 600;
  margin-bottom: 20px;
  text-align: center;
}
.attention_box ul {
  text-align: left;
}
.attention_box .line_btn {
  margin: 0 auto 18px;
  display: block;
  width: 100%;
  bottom: 5.1282051282%;
}
.attention_list {
  text-align: left;
}
.attention_list li {
  text-align: left;
  position: relative;
  text-indent: 1em;
}
.attention_list li::before {
  content: "・";
  position: absolute;
  left: -1em;
  width: 1em;
  text-align: center;
}
.attention_list li a {
  text-decoration: underline;
  color: #3A3C46;
}
.attention_list li.attention_noneListStyle {
  text-indent: 0;
}
.attention_list li.attention_noneListStyle::before {
  content: "";
}
@media (min-width: 521px) and (any-hover: hover) {
  .attention_title {
    font-size: 24px;
  }
}

.fv {
  padding-bottom: 3.8461538462%;
}
.fv .item_slider {
  padding: 0 5.1282051282%;
  margin-bottom: 5.1282051282%;
}
.fv [data-main-list] {
  margin-bottom: 3.0769230769%;
}
.fv .thumbnail_wrap .swiper-slide {
  max-width: 20.5128205128%;
  margin-right: 2.0512820513% !important;
}

@-webkit-keyframes cta_btn {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  30% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  40% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  60% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes cta_btn {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  30% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  40% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  60% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.lp_block_inner {
  position: relative;
}
.lp_block_inner_cta {
  position: absolute;
}

.lp_block_p {
  padding: 5.1282051282% 5.1282051282% 12.8205128205%;
}
.lp_block_p h2 {
  margin: 0 auto 7.6923076923%;
}
.lp_block_p h2.title_faq {
  width: 44.6153846154%;
}
.lp_block_p h2.title_attention {
  width: 70.7692307692%;
  background: none;
  padding-bottom: 0;
}
.lp_block_p h2.title_line {
  width: 38.4615384615%;
}
.lp_block_p .white_box {
  background-color: #fff;
  border-radius: 8px;
  margin: auto;
}
.lp_block_p .white_box_inner {
  padding: 5.1282051282% 6.4102564103%;
  font-size: 14px;
  text-align: left;
  line-height: 25.2px;
}
.lp_block_p .white_box .attention_list {
  margin-bottom: 1rem;
}
.lp_block_p .white_box .attention_list a {
  text-decoration: none;
  color: #465989;
}
.lp_block_p .white_box .attention_list:last-child {
  margin-bottom: 0;
}
.lp_block_p .line_contact {
  position: relative;
}
.lp_block_p .line_contact a {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 0 6.4102564103% 5.1282051282%;
}

@-webkit-keyframes ouchi_cta_btn {
  /* 0%,30%,70%,100% は scale(1) */
  0%, 30%, 50%, 70%, 100% {
    -webkit-transform: translateX(-50%) scale(1);
    transform: translateX(-50%) scale(1);
  }
  /* 40%,60% だけ scale(1.05) */
  40%, 60% {
    -webkit-transform: translateX(-50%) scale(1.05);
    transform: translateX(-50%) scale(1.05);
  }
}

@keyframes ouchi_cta_btn {
  /* 0%,30%,70%,100% は scale(1) */
  0%, 30%, 50%, 70%, 100% {
    -webkit-transform: translateX(-50%) scale(1);
    transform: translateX(-50%) scale(1);
  }
  /* 40%,60% だけ scale(1.05) */
  40%, 60% {
    -webkit-transform: translateX(-50%) scale(1.05);
    transform: translateX(-50%) scale(1.05);
  }
}
.ouchi_offer .lp_block_inner_cta, .ouchi_offer_2 .lp_block_inner_cta {
  bottom: 18.3%;
  left: 50%;
  width: 90.2564102564%;
  /* アニメーション前後の基準点を中央に */
  -webkit-transform-origin: center center;
  transform-origin: center center;
  /* translate だけ先に指定しておく */
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  /* animation 短縮プロパティでまとめてもOK */
  -webkit-animation-name: ouchi_cta_btn;
          animation-name: ouchi_cta_btn;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}

.ouchi_offer_2 .lp_block_inner_cta {
  bottom: 14.5%;
}

.ouchi_lp_block_bottom {
  background: #CACFE2;
  color: #465989;
}
.ouchi_lp_block_bottom .reserve_title_wrap, .ouchi_lp_block_bottom .faq {
  background: #CACFE2;
}
.ouchi_lp_block_bottom .calendar_wrap {
  background: #CACFE2;
  margin-bottom: 5.1282051282%;
  padding: 5.1282051282% 3.0769230769% 0;
}
.ouchi_lp_block_bottom .calendar_wrap .reserve_calendar {
  margin-bottom: 0;
}
.ouchi_lp_block_bottom .calendar_wrap .reserve_quickly_btn {
  border-radius: 10px;
  background: linear-gradient(132.73deg, #5BD15F 16.46%, #50C74D 41.53%, #25A900 86.83%);
  text-decoration: none;
}
.ouchi_lp_block_bottom .calendar_title {
  margin: 4.1025641026% auto;
}

.ouchi_voice {
  position: relative;
}
.ouchi_voice_slide {
  position: absolute;
  width: 100%;
  height: auto;
  bottom: 0;
}
.ouchi_voice_slide .slide-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  width: 10.2564102564%;
  cursor: pointer;
}
.ouchi_voice_slide .prev-arrow {
  left: 6%;
}
.ouchi_voice_slide .next-arrow {
  right: 6.8571428571%;
}
.ouchi_voice_slide .ouchi_slide {
  margin-right: 3.4285714286%;
  margin-left: 3.4285714286%;
}
.ouchi_voice_slide .slick-dots {
  bottom: -32px;
}
.ouchi_voice_slide .slick-dots li.slick-active button::before {
  color: #fff;
}
.ouchi_voice_slide .slick-dots li button::before {
  font-size: 8px;
  opacity: 1;
  color: #d9afc5;
}
.ouchi_voice_slide.slick-dotted.slick-slider {
  margin-bottom: 20%;
}

.ouchi_flow {
  margin-bottom: -1px;
}

.ouchi_faq {
  padding: 12.8205128205% 6.4102564103%;
}