.header {
  pointer-events: auto;
}
.header .header_logo,
.header .header_fair,
.header .header_btn {
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--duration-normal) var(--ease-out-expo);
}
.header.scroll .header_logo,
.header.scroll .header_fair,
.header.scroll .header_btn,
body.open .header_logo,
body.open .header_fair,
body.open .header_btn {
  opacity: 1;
  pointer-events: auto;
}

.bg_sticky_image {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
}
.bg_sticky.is-fair .bg_sticky_image {
  background-image: url("../../img/reason/fair_bg.png");
}
.bg_sticky.is-fair .bg_sticky_wrapper {
  margin-top: calc(-100vh - 11rem);
}
.bg_sticky_wrapper {
  position: relative;
  margin-top: -100vh;
}

.kv {
  position: relative;
  overflow: hidden;
  padding: 1rem 1rem 0;
  height: 100vh;
}
.kv::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 28%;
  background: linear-gradient(180deg, rgba(174, 165, 149, 0) 0%, #aea595 91.05%);
}
.kv_bg {
	width: 100%;
	height: 100%;
	background: #1b1b1b url("../../img/reason/kv_poster_pc.webp") no-repeat center center/cover;
}
.kv_bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.kv_bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.28);
}
.kv_logo {
  position: absolute;
  top: 4.1rem;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1;
}
.kv_inner {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.kv_ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
  width: 50rem;
}
.kv_scroll {
  position: absolute;
  bottom: 10rem;
  left: 50%;
  z-index: 1;
  width: 14.2rem;
  height: 14.2rem;
  transform: translate(-50%, 0);
}
.kv_scroll svg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.kv_scroll_text {
  animation: kv_scroll_text_rotate 24s linear infinite;
  transform-origin: 50% 50%;
}
.kv_scroll_arrow {
  z-index: 1;
}
@keyframes kv_scroll_text_rotate {
  to {
    transform: rotate(360deg);
  }
}

.intro {
  position: relative;
  margin-bottom: -22.3rem;
  padding: 9rem 0 45.5rem;
  background: linear-gradient(180deg, #aea595 0.04%, #b0aba1 35.25%, #c6c3bb 55.24%, #e8e6e2 85.33%, #fff 99.96%);
  z-index: 1;
}
.intro::before {
  content: "";
  position: absolute;
  top: 14rem;
  left: 50%;
  z-index: 1;
  width: 174rem;
  height: 71.7rem;
  background: url("../../img/reason/intro_item.png") no-repeat center center;
  background-size: contain;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.intro::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
}
.intro_inner {
  display: flex;
  flex-flow: row wrap;
  max-width: 82rem;
  margin: 0 auto;
}
.intro_no1 {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: center;
  width: 50%;
}
.intro_leads {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 3.5rem;
  width: 50%;
}
.intro_lead {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.875;
  color: #fff;
}

.reason {
  margin-bottom: 15.4rem;
  position: relative;
}
.reason::before {
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0) 20%, #fff 100%);
  position: absolute;
  top: 0;
  left: 0;
}
.reason.is-section01::after {
  content: "";
  width: 0.1rem;
  height: 12rem;
  background: linear-gradient(to bottom, #eee8e4 0%, #bcb3ae 100%);
  position: absolute;
  top: -6rem;
  left: 50%;
  transform: translate(-50%, -100%);
  z-index: 1;
}
.reason.is-section02 {
  background: url("../../img/reason/section02_bg.png") no-repeat center center;
  background-size: cover;
  background-position: 0px -70px;
}
.reason.is-section03 {
  background: url("../../img/reason/section03_bg.png") no-repeat center center;
  background-size: cover;
  background-position: 0px -70px;
}
.reason.is-section04 {
  background: url("../../img/reason/section04_bg.png") no-repeat center center;
  background-size: cover;
  background-position: 0px -70px;
}
.reason.is-section05 {
  margin-bottom: 0;
  background: url("../../img/reason/section05_bg.png") no-repeat center center;
  background-size: cover;
  background-position: 0px -70px;
}
.reason_inner {
  position: relative;
  z-index: 1;
}
.reason_header {
  text-align: center;
}
.reason_header_num {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 3.8rem;
}
.reason_header_num img {
  width: auto;
  height: 10rem;
}
.reason_header_cat {
  margin-bottom: 3rem;
  font-size: 3.8rem;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0.1em;
  color: #a08962;
}
.reason_header_subcat {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.18em;
}
.reason_wrapper {
  display: flex;
  align-items: flex-end;
}
@media (min-width: 769px) {
  .is-reverse .reason_wrapper {
    justify-content: flex-end;
  }
}
.reason_img {
  width: 62rem;
  margin-right: 12.6rem;
  margin-bottom: 3rem;
}
@media (min-width: 769px) {
  .is-reverse .reason_img {
    margin-right: 0;
    margin-left: 12.6rem;
  }
}
.reason_img img {
  width: 100%;
  height: auto;
}
.reason_content {
  display: flex;
  flex-direction: column;
  width: calc(100% - 74.6rem);
  padding-top: 6.5rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .is-reverse .reason_body {
    padding-left: 3rem;
  }
}
.reason_label {
  position: relative;
  margin-bottom: 3rem;
  line-height: 1;
}
.reason_label::before {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  left: 0;
  width: 100%;
  height: 0.2rem;
  background: #dbd7d1;
}
.reason_label .en {
  font-family: "Philosopher", serif;
  font-size: 3.4rem;
  letter-spacing: 0.08em;
  color: #aba19a;
}
@media (max-width: 768px) {
    .reason_label .en {
    font-family: "Philosopher", serif;
    font-size: 2.3rem;
    letter-spacing: 0.08em;
    color: #aba19a;
}
}

@media (min-width: 769px) {
  .is-reverse .reason_label {
    width: 53rem;
    margin-left: auto;
  }
}
.reason_texts {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-bottom: 6.4rem;
}
@media (min-width: 769px) {
  .is-reverse .reason_texts {
    width: 53rem;
    margin-left: auto;
  }
}
.reason_text {
  font-size: 1.4rem;
  line-height: 2.15;
  letter-spacing: 0.16em;
  white-space: nowrap;
}

.slider {
  width: 29rem;
}
@media (min-width: 769px) {
  .is-reverse .slider {
    margin-left: auto;
  }
}
.slider .slick-slide {
  float: left;
  margin-right: 0.5rem;
}
@media (min-width: 769px) {
  .is-reverse .slider .slick-slide {
    float: right;
    margin-right: 0;
    margin-left: 0.5rem;
  }
}
.slider .slick-dots {
  display: flex;
  justify-content: flex-start;
  gap: 1.3rem;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2rem 0.2rem 0.2rem;
  list-style: none;
}
@media (min-width: 769px) {
  .is-reverse .slider .slick-dots {
    flex-direction: row-reverse;
    justify-content: flex-end;
    margin-left: auto;
  }
}
.slider .slick-dots li button {
  display: block;
  overflow: hidden;
  width: 0.7rem;
  height: 0.7rem;
  padding: 0;
  border: 0;
  background: #a08962;
  opacity: 0.5;
  text-indent: -99rem;
  transform: rotate(45deg);
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  transition: opacity var(--duration-normal);
}
.slider .slick-dots li.slick-active button {
  opacity: 1;
}

.summary {
  padding: 12rem 0;
  background: linear-gradient(0deg, #a4af95 0.14%, #fff 99.85%);
}
.summary.is-secondary {
  background: none;
  padding-top: 0;
}
.summary_inner {
  max-width: 130rem;
  margin: 0 auto;
  text-align: center;
}
.summary_title {
  margin-bottom: 4rem;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #6c7260;
}
.summary_texts {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 8rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  position: relative;
}
.summary_texts::before, .summary_texts::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.summary_texts::before {
  width: 18.9rem;
  height: 21.4rem;
  background: url("../../img/reason/reservation_item.png") no-repeat center center;
  background-size: contain;
  top: 50%;
  left: 0;
  transform: translate(-100%, -50%);
}
.summary_texts::after {
  width: 20.9rem;
  height: 25.6rem;
  background: url("../../img/reason/reservation_item02.png") no-repeat center center;
  background-size: contain;
  top: calc(50% + 4rem);
  right: 0;
  transform: translate(100%, -50%);
}
.summary_text {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.875;
  letter-spacing: 0.16em;
  color: #6c7260;
}
.summary_reserve {
  display: flex;
  justify-content: center;
  margin: 15rem auto 2.6rem;
    width: 50rem;
}
.summary_reserve_txt {
  margin-bottom: 4.5rem;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.208rem;
  color: #6c7260;
}
.summary_btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
.summary_btns .btn_large {
  width: 33rem;
}
.summary_btns .btn_large.white {
  background: linear-gradient(90deg, #fff 0%, #f1eee3 100%);
}
.summary_btns .btn_large.white span {
  margin-left: -0.6rem;
}

.dress_bg {
  position: relative;
}
.dress_bg::before {
  content: "";
  position: sticky;
  top: 0;
  display: block;
  width: 100%;
  height: 100vh;
  margin-bottom: -100vh;
  background: url("../../img/reason/dress_bg.jpg") no-repeat top center;
  background-size: cover;
  z-index: 0;
  pointer-events: none;
}

.dress {
  position: relative;
  padding: 14rem 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.dress_text {
  position: relative;
  margin-right: 13.8rem;
}
.dress_ttl {
  margin-bottom: 0.6rem;
}
.dress_ttl img {
  width: 21.5rem;
  height: auto;
}
.dress_cat {
  margin-bottom: 5.6rem;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: #a08962;
}
.dress_main {
  margin-bottom: 4.5rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.18em;
  color: #333;
}
.dress_photos {
  width: calc(50vw + 13rem);
  display: flex;
  align-items: center;
  align-self: stretch;
  overflow: hidden;
}
.dress_slider {
  width: 36rem;
}
.dress_slider .slick-slide {
  margin-right: 1rem;
}
.dress_slider .slick-dots {
  left: 0;
  justify-content: center;
}

.hospitality {
  margin-bottom: 18rem;
}
.hospitality_bg {
  background: url("../../img/reason/hospitality_bg.png") no-repeat top center;
  background-size: cover;
}
.hospitality_inner {
  max-width: 130rem;
  margin: 0 auto;
  text-align: center;
}
.hospitality_ttl {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin: 0 auto 2.8rem;
    width: 50rem;
}
.hospitality_ttl img {
  height: auto;
}
.hospitality_ttl img {
  margin-top: -3rem;
}
.hospitality_sub {
  margin-bottom: 7rem;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: #a08962;
}
.hospitality_list {
  display: flex;
  justify-content: center;
  gap: 2.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hospitality_list li {
  text-align: center;
}
.hospitality_list p {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.16em;
}
.hospitality_icon {
  overflow: hidden;
  width: 17rem;
  height: 17rem;
  margin: 0 auto 1.5rem;
}
.hospitality_icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.voice_bg {
  position: relative;
}
.voice_bg::before {
  content: "";
  position: sticky;
  top: 0;
  display: block;
  width: 100%;
  height: 100vh;
  margin-bottom: -100vh;
  background: url("../../img/reason/dress_bg.jpg") no-repeat top center;
  background-size: cover;
  z-index: 0;
  pointer-events: none;
}

.voice {
  position: relative;
  padding: 12rem 7.8rem 32.5rem;
}
.voice_inner {
  max-width: 130rem;
  margin: 0 auto;
  text-align: center;
}
.voice_ttl {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin: 0 auto 2.8rem;
    width: 30rem;
}
.voice_ttl img {
  height: auto;
}
.voice_sub {
  margin-bottom: 7rem;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: #a08962;
}
.voice_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 5rem 2rem;
  max-width: 121rem;
  margin: 0 auto;
}
.voice_item {
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  width: calc(33.33% - 1.3333333333rem);
  height: 14.5rem;
  padding: 0 1.2rem 0 2rem;
  border-radius: 99rem;
  background: #fff;
  filter: drop-shadow(0 0.4rem 1.2rem rgba(0, 0, 0, 0.1));
}
.voice_item::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -1;
  width: 5rem;
  height: 2rem;
  background: url("../../img/reason/voice_list_item.svg") no-repeat center center;
  background-size: contain;
  filter: drop-shadow(0 0.4rem 1.2rem rgba(0, 0, 0, 0.1));
}
.voice_content {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
.voice_content p {
  width: 22.7rem;
  font-size: 1.2rem;
  line-height: 2;
  text-align: left;
  letter-spacing: 0.16em;
}
.voice_img {
  width: 12.1rem;
  height: 12.1rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.flow {
  margin-top: -14.6rem;
  padding: 12rem 0 30.6rem;
  background: url("../../img/reason/flow_bg.svg") no-repeat top center;
  background-size: cover;
}
.flow_inner {
  max-width: 130rem;
  margin: 0 auto;
  text-align: center;
}
.flow_ttl {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
      margin: 0 auto 2.6rem;
    width: 30rem;
}
.flow_ttl img {
  height: auto;
}
.flow_sub {
  margin-bottom: 7rem;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: #a08962;
}
.flow_list {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 3rem;
}
.flow_item {
  position: relative;
  flex: 1;
  text-align: center;
}
.flow_item + .flow_item::before {
  content: "";
  position: absolute;
  top: 8.6rem;
  left: -2.2rem;
  width: 1.4rem;
  height: 1.4rem;
  background: url("../../img/reason/flow_list_arrow.svg") no-repeat center center;
  background-size: contain;
  transform: translateY(-50%);
}
.flow_icon {
  overflow: hidden;
  width: 17rem;
  height: 17rem;
  margin: 0 auto 2rem;
  border-radius: 50%;
  background: #fff;
}
.flow_icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.flow_step {
  padding-bottom: 1.6rem;
  margin-bottom: 2rem;
  border-bottom: 0.1rem solid #c8a97e;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.77;
  letter-spacing: 0.288rem;
  color: #a08962;
}
.flow_desc {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.84;
  letter-spacing: 0.208rem;
  color: #333;
}

.faq {
  position: relative;
  margin-top: -14.6rem;
  padding: 0 0 22rem;
  background: url("../../img/reason/faq_bg.svg") no-repeat top center;
  background-size: cover;
}
.faq_inner {
  max-width: 80rem;
  padding-top: 19.2rem;
  margin: 0 auto;
}
.faq_heading {
  position: absolute;
  top: -3rem;
  left: 50%;
  transform: translate(-50%, 0);
}
.faq_ttl {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin-bottom: 2.8rem;
}
.faq_ttl img {
  height: auto;
}
.faq_sub {
  margin-bottom: 7rem;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  color: #a08962;
  text-align: center;
}
.faq_list {
  text-align: left;
}
.faq_item {
  border-bottom: 0.1rem solid #a08962;
}
.faq_q {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  padding: 2rem 0;
  cursor: pointer;
  transition: opacity var(--duration-fast);
}
.faq_q:hover {
  opacity: 0.7;
}
.faq_q_mark {
  width: 1.5rem;
  font-size: 2rem;
  color: #a08962;
}
.faq_a_mark {
    font-size: 2rem;
    color: #a08962;
}
.faq_a .answer {
    display: inline-flex;
    padding: 0rem 2rem 1.5rem 3rem;
}
.faq_q span:nth-child(2) {
  flex: 1;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
.faq_icon {
  position: relative;
  width: 3.4rem;
  height: 3.4rem;
  background: url("../../img/reason/faq_btn_bg.png") no-repeat center center;
  background-size: contain;
  transition: opacity var(--duration-fast);
}
.faq_icon::before, .faq_icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.2em;
  height: 0.1rem;
  background: #a08962;
  transform: translate(-50%, -50%);
}
.faq_icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  transition: transform var(--duration-normal) var(--ease-out-expo);
}
.faq_q.is-open .faq_icon::after {
  transform: translate(-50%, -50%) rotate(0deg);
}
.faq_a {
  display: none;
  padding: 0rem 2rem 2.5rem 0rem;
  font-size: 1.4rem;
  line-height: 2;
  color: #555;
  text-align: left;
}
.faq_a a {
display: block;
color: #a08962;
    text-decoration: underline;
       padding: 0 0 0 4.5rem;
    letter-spacing: 0.1em;
    font-weight: 600;
}

.p_fair {
  padding-top: 0;
  background: none;
}
.p_fair_head {
  align-items: flex-end;
}
.p_fair_head_ttl {
  color: #6c7260;
}
.p_fair_head_ttl h2 img {
  filter: none;
}
.p_fair .calendar_nav {
  color: #6c7260;
}
.p_fair .calendar_nav .btn_next::after {
  filter: none;
  border-color: #6c7260;
}
.p_fair .month_title,
.p_fair .calendar_container table {
  color: #6c7260;
}

@media (max-width: 768px) {
  .kv_bg {
    background-image: url("../../img/reason/kv_poster_sp.webp");
  }
    .voice_item {
  padding: 0 1.2rem 0 1.2rem;
}
    .faq_a a {
    padding: 0 0 0 3.5rem;
}
    .faq_a .answer {
    position: relative;
    top: -35px;
}
    .faq_a .answer {
    display: inline-flex;
    padding: 0rem 2rem 0rem 3rem;
    position: relative;
    top: -35px;
}
        .intro::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 50%, #fff 200%);
}
  .bg_sticky.is-fair .bg_sticky_image {
    background-image: url("../../img/reason/fair_bg_sp.png");
  }
  .kv_ttl {
    gap: 1.7rem;
  }
  .kv_catch {
    width: 24rem;
  }
  .kv_sub {
    width: 21.8rem;
  }
  .kv_scroll {
    bottom: 3rem;
    width: 13.3rem;
    height: 13.3rem;
  }
  .intro {
    padding: 9rem 0 30rem;
  }
  .intro::before {
    width: 54.6rem;
    height: 61.4rem;
    background-image: url("../../img/reason/intro_item_sp.png");
    top: 13.6rem;
    left: calc(50% + 1rem);
  }
  .intro_inner {
    flex-direction: column;
    align-items: center;
  }
  .intro_no1 {
    margin-bottom: 6rem;
    width: 20rem;
  }
  .intro_leads {
    width: 100%;
    gap: 2rem;
  }
  .intro_lead {
    text-align: center;
    font-size: 1.3rem;
  }
  .reason {
    margin-bottom: 0;
  }
  .reason.is-section01::after {
    content: "";
    height: 10rem;
    top: 4rem;
  }
  .reason.is-section02 {
        background: url(../../img/reason/section02_bg_sp.png) no-repeat center center;
        background-size: cover;
        background-position: 0px -60px;
  }
  .reason.is-section03 {
    background: url("../../img/reason/section03_bg_sp.png") no-repeat top center;
    background-size: cover;
      background-position: 0px 20px;
  }
  .reason.is-section04 {
    background: url("../../img/reason/section04_bg_sp.png") no-repeat center center;
    background-size: cover;
      background-position: 0px 0px;
  }
  .reason.is-section05 {
    background: url("../../img/reason/section05_bg_sp.png") no-repeat center center;
    background-size: cover;
            background-position: 0px 0px;
        padding-bottom: 80px;
  }
  .reason_header {
    padding: 6rem 2rem 3rem;
  }
  .reason_header_num img {
    height: 7.2rem;
  }
  .reason_header_cat {
    font-size: 3.4rem;
    line-height: 1.3;
    letter-spacing: 0.1em;
  }
  .reason_header_subcat {
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.18em;
  }
  .reason_wrapper {
    align-items: center;
    flex-flow: column;
  }
  .is-reverse .reason_wrapper {
    flex-flow: column-reverse;
  }
  .reason_img {
    width: 100%;
    margin: 0;
  }
  .reason_content {
display: flex;
    flex-direction: column;
    width: 100%;
    padding-top: 6rem;
    margin-left: 4.4rem;
    overflow: hidden;
  }
.reason::before {
content: "";
    background: linear-gradient(100deg, #fff 0%, rgba(255, 255, 255, 0) 0%, #fff 200%);
    position: relative;
}
  .reason_body {
    display: flex;
    gap: 2.8rem;
    margin-bottom: 6.5rem;
  }
  .reason_label {
    margin: 0;
    writing-mode: vertical-rl;
  }
  .reason_label::before {
    display: block;
    top: 0;
    left: 3px;
    width: 0.1rem;
    height: 100%;
  }
  .reason_texts {
    flex: 1;
    margin-bottom: 0;
    margin-left: 0;
  }
  .reason_text {
    font-size: 1.3rem;
  }
  .slider {
    width: 17.4rem;
  }
  .summary {
    padding: 8rem 2.4rem;
  }
  .summary_title {
    font-size: 2.4rem;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .summary_texts {
    margin-bottom: 7.2rem;
  }
  .summary_texts::before {
    top: calc(50% - 9rem);
    left: 6.8rem;
  }
  .summary_texts.last::after {
    top: calc(calc(0% - 0rem));
    right: 5.6rem;
  }
      .summary_texts.last::before {
    top: calc(-120% + 9rem);
    left: 6.8rem;
  }
  .summary_texts::after {
    top: calc(50% + 0rem);
    right: 5.6rem;
  }
  .summary_text {
    font-size: 1.3rem;
    letter-spacing: 0.2em;
  }
  .summary_reserve {
    margin: 0 auto 2rem;
    width: 29.3rem;
  }
  .summary_btns {
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
  }
  .summary_btns .btn_large {
    width: 100%;
  }
  .dress_bg::before {
    background-image: url("../../img/reason/dress_bg_sp.png");
  }
  .dress {
    padding-top: 12rem;
    padding-bottom: 1.7rem;
    flex-direction: column;
  }
  .dress_text {
    margin: 0 auto;
    width: 100%;
    padding: 0 0 6rem;
    text-align: center;
  }
  .dress_ttl {
    margin: 0 auto 2rem;
    width: 18.2rem;
  }
  .dress_cat {
    font-size: 1.3rem;
    letter-spacing: 0.16em;
    margin-bottom: 4rem;
  }
  .dress_main {
    margin: 0;
    font-size: 1.4rem;
    letter-spacing: 0.18em;
    line-height: 2;
  }
  .dress_photos {
    align-self: auto;
    width: 100%;
  }
  .dress_slider {
    position: relative;
    margin: 0 auto 0;
    width: 30rem;
    left: 1.5rem;
  }
  .dress_slider .slick-prev,
  .dress_slider .slick-next {
    position: absolute;
    top: 50%;
    z-index: 1;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
  }
  .dress_slider .slick-prev:focus-visible,
  .dress_slider .slick-next:focus-visible {
    outline: 0.2rem solid #a08962;
    outline-offset: 0.2rem;
  }
  .dress_slider .slick-prev:focus:not(:focus-visible),
  .dress_slider .slick-next:focus:not(:focus-visible) {
    outline: none;
  }
  .dress_slider .slick-prev img,
  .dress_slider .slick-next img {
    display: block;
    height: auto;
  }
  .dress_slider .slick-prev,
  .dress_slider .slick-next {
    transform: translateY(-50%);
  }
  .dress_slider .slick-prev img,
  .dress_slider .slick-next img {
    width: 3rem;
  }
  .dress_slider .slick-prev {
    left: -1.5rem;
    transform: translate(-100%, -50%);
  }
  .dress_slider .slick-next {
    right: 1.5rem;
    transform: translate(100%, -50%);
  }
  .dress_slider .slick-next img {
    transform: scale(-1);
  }
  .dress_slider .slick-slide {
    margin-right: 3rem;
  }
  .dress_slider .slick-dots {
    padding-top: 2rem;
    left: calc(50% - 1.5rem);
    transform: translate(-50%, 0);
  }
  .btn {
    margin: 4rem auto 13.1rem;
    width: 25rem;
  }
    .hospitality_bg {
    background: url(../../img/reason/hospitality_bg_sp.webp) no-repeat top center;
    background-size: cover;
}
  .hospitality {
    margin-bottom: 14rem;
    padding: 0 2.5rem;
  }
  .hospitality_ttl {
    margin: 0 auto 2.9rem;
    width: 27.6rem;
  }
  .hospitality_sub {
    margin-bottom: 6rem;
    font-size: 1.3rem;
    letter-spacing: 0.16em;
    line-height: 2;
  }
  .hospitality_list {
    flex-wrap: wrap;
    gap: 4.5rem 2rem;
  }
  .hospitality_list li {
    width: calc(50% - 1rem);
  }
  .hospitality_list p {
    font-size: 1.2rem;
  }
  .hospitality_icon {
    width: 100%;
    height: 15rem;
  }
  .voice_bg::before {
    background-image: url("../../img/reason/voice_bg_sp.png");
  }
  .voice {
    padding: 12rem 0;
  }
  .voice_ttl {
    margin: 0 auto 3rem;
    width: 19.1rem;
  }
  .voice_sub {
    margin-bottom: 3rem;
    font-size: 1.3rem;
    letter-spacing: 0.16em;
    line-height: 2;
  }
  .voice_list {
    display: block;
    position: relative;
    width: 35.5rem;
    margin: 0 auto;
  }
  .voice_list .slick-prev,
  .voice_list .slick-next {
    position: absolute;
    top: 50%;
    z-index: 1;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
  }
  .voice_list .slick-prev:focus-visible,
  .voice_list .slick-next:focus-visible {
    outline: 0.2rem solid #a08962;
    outline-offset: 0.2rem;
  }
  .voice_list .slick-prev:focus:not(:focus-visible),
  .voice_list .slick-next:focus:not(:focus-visible) {
    outline: none;
  }
  .voice_list .slick-prev img,
  .voice_list .slick-next img {
    display: block;
    height: auto;
  }
  .voice_list .slick-prev img,
  .voice_list .slick-next img {
    width: 2.5rem;
  }
  .voice_list .slick-prev {
    left: 0;
    transform: translate(-50%, calc(-50% - 1.4rem));
  }
  .voice_list .slick-next {
    right: 0;
    transform: translate(50%, calc(-50% - 1.4rem));
  }
  .voice_list .slick-next img {
    transform: scaleX(-1);
  }
  .voice_list .slick-slide {
    float: left;
    margin-right: 0.5rem;
  }
  .voice_list .slick-dots {
    display: flex;
    justify-content: center;
    gap: 1.3rem;
    width: -moz-fit-content;
    width: fit-content;
    padding: 3.6rem 0.2rem 0.2rem;
    list-style: none;
    left: calc(50% - 0.2rem);
    transform: translate(-50%, 0);
  }
  .voice_list .slick-dots li button {
    display: block;
    overflow: hidden;
    width: 0.7rem;
    height: 0.7rem;
    padding: 0;
    border: 0;
    background: #a08962;
    opacity: 0.5;
    text-indent: -99rem;
    transform: rotate(45deg);
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
         appearance: none;
    transition: opacity var(--duration-normal);
  }
  .voice_list .slick-dots li.slick-active button {
    opacity: 1;
  }
  .voice_item {
    height: 12.5rem;
  }
  .voice_img {
    width: 10rem;
    height: 10rem;
  }
  .voice_content p {
    font-size: 1.2rem;
    line-height: 1.83;
  }
  .flow {
    margin-top: 0;
    padding: 9rem 2rem calc(9rem + 11.6vw);
    background-image: url("../../img/reason/flow_bg_sp.svg");
  }
  .flow_ttl {
    margin: 0 auto 2.5rem;
    width: 17.7rem;
  }
  .flow_sub {
    margin-bottom: 5rem;
    font-size: 1.3rem;
    letter-spacing: 0.16em;
    line-height: 2;
  }
  .flow_list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .flow_item {
    display: grid;
    grid-template-columns: 10rem 1fr;
    grid-template-rows: auto auto;
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    align-items: start;
    padding: 2.4rem 0;
    text-align: left;
  }
  .flow_item + .flow_item::before {
    display: block;
    top: 0;
    left: 5.2rem;
    transform: translate(-50%, -50%) rotate(90deg);
    width: 1.4rem;
    height: 1.4rem;
  }
  .flow_icon {
    grid-column: 1;
    grid-row: 1/3;
    width: 10rem;
    height: 10rem;
    margin: 0;
    align-self: center;
  }
  .flow_step {
    grid-column: 2;
    grid-row: 1;
    padding-bottom: 0.6rem;
    margin-bottom: 0.8rem;
    border-bottom: 0.1rem solid #c8a97e;
    font-size: 1.6rem;
  }
  .flow_desc {
    grid-column: 2;
    grid-row: 2;
    font-size: 1.2rem;
  }
  .faq {
    margin-top: -11.6vw;
    padding: 0 2.4rem 20.4rem;
    background-image: url("../../img/reason/faq_bg_sp.svg");
  }
  .faq_inner {
    padding-top: 8.6rem;
  }
  .faq_heading {
    width: 100%;
  }
  .faq_ttl {
    margin: 0 auto 2.4rem;
    width: 13.6rem;
  }
  .faq_sub {
    margin-bottom: 5rem;
    font-size: 1.3rem;
    letter-spacing: 0.16em;
    line-height: 2;
  }
  .faq_q_mark {
    width: 1.5rem;
    font-size: 2rem;
  }
  .faq_icon {
    width: 2rem;
    height: 2rem;
  }
  .faq_icon::before, .faq_icon::after {
    width: 1rem;
  }
  .p_fair {
    padding-bottom: 40.6rem;
  }
  .p_fair_head_ttl h2 {
    margin-bottom: 0;
    padding-left: 3rem;
    text-align: left;
  }
  .p_fair_head_ttl h2 img {
    margin: 1.4rem auto 0 0;
  }
  .p_fair_list_ul .slick-dots button {
    background-color: #6c7260;
  }
  .p_fair_bnr {
    bottom: 16.8rem;
  }
}
