@charset "UTF-8";
/* ========================
  🎨 Design Tokens - Variables
======================== */
/* Color */
/* Breakpoints（對齊 Bootstrap） */
/* Font Size - Desktop */
/* Font Size - Mobile */
/* Section Spacing */
/* 80px */
/* 48px */
/* Font Family */
.page {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
}
.page .Txt h2 {
  font-size: clamp(21px, 0.69px + 2.05vw, 40px);
  line-height: 1.5;
}
@media (max-width: 991px) {
  .page .Txt h2 {
    font-size: clamp(21px, -0.41px + 5.49vw, 54px);
  }
}
.page .Txt h3 {
  font-size: clamp(14px, 1.17px + 1.29vw, 26px);
  line-height: 1.5;
}
@media (max-width: 991px) {
  .page .Txt h3 {
    font-size: clamp(16px, 0.43px + 3.99vw, 40px);
  }
}
.page .Txt > span {
  color: #956134;
  font-size: clamp(10px, 1.45px + 0.86vw, 18px);
}
@media (max-width: 991px) {
  .page .Txt > span {
    font-size: clamp(10px, -1.03px + 2.83vw, 27px);
  }
}

@keyframes breathe {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.02);
  }
}
.page01 {
  overflow: hidden;
  isolation: isolate;
}
.page01::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: url(../images/img/page01-bg-pc.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  animation: breathe 8s ease-in-out infinite;
}
@media (max-width: 991px) {
  .page01::before {
    background-image: url(../images/img/page01-bg-m.jpg);
  }
}
@media (max-width: 991px) {
  .page01 {
    aspect-ratio: 9/16;
  }
}
@media (min-width: 992px) {
  .page01 {
    aspect-ratio: 16/9;
    display: flex;
    align-items: center;
  }
}
.page01 .Txt {
  padding: 2rem;
}
@media (min-width: 992px) {
  .page01 .Txt {
    padding: clamp(2rem, 5vw, 5rem);
  }
}
.page01 .page01-line {
  width: 2rem;
  height: 1px;
  background-color: currentColor;
  margin: 0.75rem auto;
  margin-bottom: clamp(52px, -5.72px + 5.82vw, 106px);
}
@media (max-width: 991px) {
  .page01 .page01-line {
    margin-bottom: clamp(60px, 0.3px + 15.31vw, 152px);
  }
}
.page01 .page01-brand img {
  display: block;
  margin: 0 auto;
}
.page01 .page01-brand .page01-slogan {
  margin-top: 1rem;
}
.page01 .page01-icon {
  max-width: 100%;
  width: 18%;
}
@media (max-width: 991px) {
  .page01 .page01-icon {
    width: 34%;
  }
}
.page01 .page01-slogan {
  max-width: 100%;
  width: 52%;
}
@media (max-width: 991px) {
  .page01 .page01-slogan {
    width: 94%;
  }
}

.page02 {
  background-image: url(../images/img/page02-bg-pc.jpg);
  background-position: top;
  background-repeat: no-repeat;
  background-size: 100%;
}
@media (max-width: 991px) {
  .page02 {
    background-image: url(../images/img/page02-bg-m.jpg);
    aspect-ratio: 991/1593;
  }
}
@media (min-width: 992px) {
  .page02 {
    aspect-ratio: 16/9;
    display: flex;
    align-items: stretch;
  }
}
@media (min-width: 992px) {
  .page02 .container-fluid {
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 992px) {
  .page02 .row {
    flex: 1;
  }
}
@media (max-width: 991px) {
  .page02 .row > [class*=col] {
    align-self: flex-start;
  }
}
.page02 .Txt {
  display: flex;
  flex-direction: column;
  color: #fff;
  padding-right: 0;
}
@media (min-width: 992px) {
  .page02 .Txt {
    padding-right: clamp(62px, 6.25vw, 120px);
    color: #fff;
    height: 100%;
  }
}
.page02 .Txt h2 {
  font-size: clamp(21px, 0.69px + 2.05vw, 40px);
  line-height: 1.5;
}
@media (max-width: 991px) {
  .page02 .Txt h2 {
    font-size: clamp(23px, -1.01px + 6.16vw, 60px);
    line-height: 1.5;
    margin-bottom: 0;
  }
}
.page02 .page02-line {
  width: 2rem;
  height: 1px;
  background-color: currentColor;
  margin: 0.75rem auto;
}
@media (min-width: 992px) {
  .page02 .page02-line {
    margin-left: auto;
    margin-right: 0;
  }
}
.page02 .box1 {
  padding-top: clamp(63px, -0.07px + 6.36vw, 122px);
}
@media (max-width: 991px) {
  .page02 .box1 {
    padding-top: clamp(48px, -3.91px + 13.31vw, 128px);
    padding-inline: 0;
  }
}
.page02 .box2 {
  text-align: end;
  padding-top: 0;
  padding-bottom: clamp(30px, -2.07px + 3.23vw, 60px);
}
@media (max-width: 991px) {
  .page02 .box2 {
    padding-top: clamp(36px, -36.03px + 18.47vw, 147px);
    padding-bottom: 0;
    text-align: center;
  }
}
.page02 p {
  font-size: clamp(13px, 0.17px + 1.29vw, 25px);
  font-weight: 400;
}
@media (max-width: 991px) {
  .page02 p {
    font-size: clamp(14px, 2.32px + 3vw, 32px);
  }
}/*# sourceMappingURL=style.css.map */