@charset "utf-8";
/*anime*/
.a-fade-up {
  opacity: 0;
  transform: translateY(35%);
  transition: 0.8s;
}
.a-fade-up.st2 {
  transition-delay: 0.5s;
}
.a-fade-up.is-visible {
  opacity: 1;
  transform: translateY(-0%);
}
.a-ct {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
.a-ct::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  display: inline-block;
  background: #fff;
  top: 0;
  z-index: 5;
  transition: 0.8s;
  transition-delay: 0.4s;
}
.a-left::after {
  left: 0;
}
.a-left.is-visible::after {
  left: -100vw;
}
.a-right::after {
  left: 0;
}
.a-right.is-visible::after {
  left: -100vw;
}
/*btn*/
.btn-st1 {
  color: #fff;
  background: #d5451b;
  width: max(16.7708vw, 281px);
  height: 72px;
  font-size: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: 0.3s ease-in-out;
}
.btn-st1:hover {
  background: #521c0d;
}
.arrow {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  display: inline-block;
  width: 56px;
  height: 1px;
  margin-top: 2.9px;
  border-radius: 9999px;
  background-color: #521c0d;
  transition: transform 0.3s ease-in-out;
}
.arrow::before {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: 0;
  width: 5px;
  height: 1px;
  border-radius: 9999px;
  background-color: #521c0d;
  transform: rotate(45deg);
  transform-origin: calc(100% - 0.5px) 50%;
}
.btn-st1:hover .arrow {
  transform: translate(85%, -50%);
}
.btn-st2 {
  position: relative;
  padding-right: 20px;
  display: inline-block;
}
.btn-st2 .arrow {
  transform: translate(100%, -50%);
}
.btn-st2:hover .arrow {
  transform: translate(135%, -50%);
}
.btn-st3 {
  color: #fff;
  background: #521c0d;
  width: max(16.0417vw, 308px);
  height: 76px;
  font-size: max(1.6667vw, 24px);
  letter-spacing: 0.05em;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  position: relative;
  transition: 0.3s ease-in-out;
}
.btn-st3:hover {
  background: #000;
}
.btn-st3::before {
  content: "";
  background: url(../../../uploads/2026/02/phone-ic.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 18px;
  height: 18px;
}
.btn-st4 {
  color: #fff;
  background: #d5451b;
  width: max(16.0417vw, 308px);
  font-size: 2.4rem;
  letter-spacing: 0.05em;
  height: 76px;
  display: flex;
  gap: 10px;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: 0.3s ease-in-out;
}
.btn-st4::before {
  content: "";
  background: url(../../../uploads/2026/02/cal-ic.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 22px;
  height: 22px;
}
.btn-st4:hover {
  background: #000;
}
.spft-btn {
  height: 62px;
  display: block;
  flex: 1;
  color: #fff;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  font-size: 2rem;
}
.spft-tel {
  background: #521c0d;
  max-width: 62px;
  width: 100%;
}
.spft-tel::before {
  content: "";
  background: url(../../../uploads/2026/02/phone-ic.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 18px;
  height: 18px;
}
.spft-res {
  background: #d5451b;
}
.spft-res::before {
  content: "";
  background: url(../../../uploads/2026/02/cal-ic.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 22px;
  height: 22px;
}
.spft-acc {
  background: #a32500;
}
.spft-acc::before {
  content: "";
  background: url(../../../uploads/2026/02/pin-ic.webp) no-repeat;
  background-size: contain;
  display: inline-block;
  width: 22px;
  height: 22px;
}
.sp-footer-icons-container .insta-logo {
  max-width: 62px;
  padding: 10px;
  background: #fff;
}
/*tit*/
.sec-tit1 {
  font-size: max(2.5vw, 3.2rem);
  padding-bottom: max(1.8vw, 28px);
}
.sec-tit2 {
  font-size: max(2.0833vw, 2rem);
  padding-bottom: max(1.8vw, 28px);
}
.ds-line::before {
  content: "";
  display: block;
  height: 3px;
  background: linear-gradient(
    to right,
    #d5451b 0%,
    #d5451b 50%,
    #521c0d 50%,
    #521c0d 100%
  );
}
.line-s::before {
  width: max(3.125vw, 6rem);
  position: absolute;
  bottom: 0;
  right: 50%;
  transform: translate(50%, 50%);
}
.line-l::before {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
/*table*/
.table-st1 th,
.table-st1 td {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
  padding: 10px 0;
}
.table-st1 th {
  width: 15%;
  vertical-align: text-top;
}
.table-st2 th,
.table-st2 td {
  font-size: max(1.25vw, 1.6rem);
  font-weight: 700;
  text-align: left;
  padding: 10px 0;
}
.table-st2 th {
  vertical-align: text-top;
  border-bottom: 3px solid #d5451b;
  white-space: nowrap;
  vertical-align: text-top;
}
.table-st2 td {
  border-bottom: 3px solid #521c0d;
  padding-left: 2em;
}
/*mv*/
.mv {
  position: relative;
  height: 100vh;
}
.fv-video {
  height: 100vh;
  width: 100%;
  object-fit: cover;
}
.mv-tit {
  position: absolute;
  top: calc(50% + 134px);
  left: 50%;
  transform: translate(-50%, -100%);
  z-index: 3;
  color: #fff;
  font-weight: 700;
  text-align: center;
  font-size: max(2.5vw, 3.6rem);
  width: 100%;
}
.mv-tit span {
  display: block;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.25);
}
/*sec1*/
.sec-1 .txt-box {
  height: clamp(394px, 22.3vw, 428px);
  padding: 2.74% 16.84% 0 2.26%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
}
.sec-1 .stleft .img-box {
  margin-right: auto;
}
.sec-1 .stleft .txt-box {
  right: 2.5vw;
}
.sec-1 .stright .img-box {
  margin-left: auto;
}
.sec-1 .stright .txt-box {
  left: 2.5vw;
  padding: 2.74% 2.26% 0 16.84%;
}
/*sec2*/
.sec-2 {
  margin-bottom: max(3.15vw, 50px);
}
.sec-2 .cs-inner {
  background: url(../../../uploads/2026/02/bg-img1-scaled.jpg);
  background-size: contain;
  padding: max(2.625vw, 48px) 0;
}
@media screen and (max-width: 1180px) {
  .mv-tit {
    top: calc(50% + 75px);
  }
  .sec-1 .wrap {
    display: flex;
    flex-direction: row-reverse;
  }
  .sec-1 .wrap.stright {
    flex-direction: row;
  }
  .sec-1 .wrap .txt-box {
    position: relative;
    transform: none;
    margin-left: -20px;
    margin-top: 15px;
    padding: 30px 20px;
    height: 100%;
  }
  .sec-1 .wrap.stright .txt-box {
    margin-left: 0;
    margin-right: -20px;
  }
  .sec-4 .inner {
    padding-inline: 5.55%;
  }
  .mv {
    height: auto;
  }
  .fv-video {
    height: auto;
    width: 100%;
    object-fit: cover;
  }
}
@media screen and (max-width: 840px) {
  /* .hd-group .flex-wrap {
    flex-direction: column;
    gap: 5px;
  } */
  .hd-group .s-btn-size {
    height: 32px;
  }
  .mv {
    position: relative;
    height: auto;
  }
  .fv-video {
    height: auto;
    width: 100%;
    object-fit: cover;
  }
}
@media screen and (max-width: 680px) {
  .sec-1 .wrap,
  .sec-1 .wrap.stright {
    flex-direction: column;
    align-items: center;
  }
  .sec-1 .wrap.stright .txt-box,
  .sec-1 .wrap .txt-box {
    margin-right: 0;
    margin-left: 0;
    right: auto;
    left: auto;
    height: 394px;
  }
  .sec-1 .stleft .img-box,
  .sec-1 .stright .img-box {
    margin-inline: auto;
    margin-top: -30px;
    position: relative;
  }
  .btn-st2 {
    margin: 0 auto;
    display: block;
    width: fit-content;
  }
  .table-st1 th {
    width: 26%;
  }
  .sec-4 .flex-wrap {
    gap: 40px;
  }
  .mv {
    position: relative;
    height: 100vh;
  }
  .fv-video {
    height: 100vh;
    width: 100%;
    object-fit: cover;
  }
}
/* CSS Document */
