/*!**********************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./src/scss/style.scss ***!
  \**********************************************************************************************************************************************************************/
@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: "Helvetica Neue", Arial, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt" 1;
  scroll-behavior: smooth;
  scroll-padding-top: 60px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (max-width: 767px) {
  html {
    scroll-padding-top: 0;
  }
}

body {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 16px;
  font-weight: bold;
  line-height: 1.4;
}

p {
  margin: 0 0 16px;
}

ul,
ol {
  margin: 0 0 16px 24px;
  padding: 0;
}

li {
  margin-bottom: 4px;
}

a {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button {
  background: transparent;
  border: 0;
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th,
td {
  text-align: left;
  vertical-align: top;
}

.l-main {
  max-width: 390px;
  margin: 0 auto;
  overflow-x: hidden;
}

.l-container {
  width: 100%;
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, auto);
}
@media (max-width: 767px) {
  .l-container {
    display: block;
  }
}

.c-section-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: 132px;
}
.c-section-title__text {
  writing-mode: vertical-rl;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  letter-spacing: 1.28px;
  line-height: 1.23;
  color: #212c67;
  white-space: nowrap;
  text-shadow: none;
}
.c-section-title__text--light {
  color: #fbf8f1;
  text-shadow: 0 0 14px black;
}
.c-section-title__accent {
  color: #e37d60;
}
.c-section-title__line {
  width: 76px;
  height: 1px;
  background-color: currentColor;
}

.c-sticky {
  position: fixed;
  bottom: 20px;
  left: 50%;
  z-index: 100;
  transform: translateX(-50%) translateY(100%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.c-sticky.is-visible {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.c-sticky-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 342px;
  height: 74px;
  padding: 20px 32px;
  background-color: #e37d60;
  text-decoration: none;
  cursor: pointer;
}
.c-sticky-text {
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.64px;
  color: #fff;
  text-align: center;
}
.c-sticky-arrow {
  display: block;
  width: 19px;
  height: 1px;
  background-color: #fff;
  flex-shrink: 0;
  position: relative;
}
.c-sticky-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}

@keyframes fv-crossfade-1 {
  0%, 40% {
    opacity: 1;
  }
  50%, 90% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fv-crossfade-2 {
  0%, 40% {
    opacity: 0;
  }
  50%, 90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.p-fv {
  position: relative;
  width: 100%;
  height: 697px;
  overflow: hidden;
}
.p-fv__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.p-fv__bg-img {
  position: absolute;
  inset: 0;
}
.p-fv__bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-fv__bg-img--01 {
  animation: fv-crossfade-1 10s ease-in-out infinite;
}
.p-fv__bg-img--02 {
  animation: fv-crossfade-2 10s ease-in-out infinite;
}
.p-fv__bg-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.94) 100%);
}
.p-fv__title-right {
  position: absolute;
  top: 12px;
  right: 8px;
  width: 64px;
  margin: 0;
  writing-mode: vertical-rl;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 59px;
  line-height: 1.09;
  letter-spacing: 0.04em;
  color: #fbf8f1;
  text-align: center;
  text-shadow: 0 0 12px rgba(68, 75, 115, 0.5);
  white-space: nowrap;
}
.p-fv__title-left {
  position: absolute;
  bottom: 106px;
  left: 8px;
  width: 60px;
  margin: 0;
  writing-mode: vertical-rl;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 58px;
  line-height: 1.09;
  letter-spacing: 0.04em;
  color: #fbf8f1;
  text-align: center;
  text-shadow: 0 0 12px rgba(68, 75, 115, 0.5);
  white-space: nowrap;
}
.p-fv__info {
  position: absolute;
  top: 264px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: max-content;
}
.p-fv__info-date {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1.22;
  letter-spacing: 0.72px;
  color: #fbf8f1;
  text-align: center;
  white-space: nowrap;
}
.p-fv__info-venue {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  background-color: #fbf8f1;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1.22;
  color: #000;
  white-space: nowrap;
}
.p-fv__info-venue-accent {
  color: #e37d60;
}
.p-fv__info-credit {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 10px;
  line-height: 1.22;
  letter-spacing: 0.4px;
  color: #fff;
  text-align: center;
  text-shadow: 0 0 4px black;
  white-space: nowrap;
}
.p-fv__btn__wrapper {
  position: absolute;
  bottom: 60px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
}
.p-fv__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 342px;
  height: 74px;
  padding: 20px 32px;
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid #fbf8f1;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  text-decoration: none;
  cursor: pointer;
}
.p-fv__btn-text {
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.64px;
  color: #fbf8f1;
  text-align: center;
}
.p-fv__btn-arrow {
  display: block;
  width: 19px;
  height: 1px;
  background-color: #fbf8f1;
  flex-shrink: 0;
  position: relative;
}
.p-fv__btn-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid #fbf8f1;
  border-right: 1px solid #fbf8f1;
}

.p-concept__upper {
  position: relative;
  width: 100%;
  min-height: 837px;
  overflow: hidden;
}
.p-concept__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.p-concept__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-concept__bg-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgb(0, 0, 0) 100%), rgba(0, 0, 0, 0.2);
}
.p-concept__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 64px;
  align-items: flex-end;
  justify-content: center;
  padding: 80px 24px 24px;
  min-height: 837px;
}
.p-concept__title-wrap {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  justify-content: flex-end;
}
.p-concept__title {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  text-shadow: 0 0 14px black;
}
.p-concept__title p {
  margin: 0;
  writing-mode: vertical-rl;
  width: 32px;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.23;
  letter-spacing: 1.28px;
  color: #fbf8f1;
  white-space: nowrap;
}
.p-concept__label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
}
.p-concept__label-text {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 71px;
}
.p-concept__label-text span {
  display: block;
  transform: rotate(90deg);
  white-space: nowrap;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 2.24px;
  color: #fbf8f1;
}
.p-concept__label-accent {
  font-style: normal;
  color: #e37d60;
  letter-spacing: 1.96px;
}
.p-concept__label-line {
  width: 3px;
  height: 72px;
  background-color: #fbf8f1;
}
.p-concept__body {
  display: flex;
  gap: 31px;
  justify-content: center;
  width: 100%;
}
.p-concept__body-group {
  display: flex;
  gap: 8px;
}
.p-concept__body-group p {
  margin: 0;
  writing-mode: vertical-rl;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.22;
  letter-spacing: 0.6px;
  color: #fbf8f1;
  white-space: nowrap;
}
.p-concept__body-group--stacked {
  flex-direction: column;
  gap: 4px;
}
.p-concept__gallery {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.p-concept__gallery-full {
  width: 100%;
  height: 280px;
  overflow: hidden;
}
.p-concept__gallery-full img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-concept__gallery-half {
  display: flex;
  gap: 2px;
}
.p-concept__gallery-half-item {
  flex: 1;
  height: 195px;
  overflow: hidden;
}
.p-concept__gallery-half-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-concept__gallery-split {
  display: flex;
  gap: 2px;
}
.p-concept__gallery-split-narrow {
  width: 103px;
  height: 280px;
  overflow: hidden;
}
.p-concept__gallery-split-narrow img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-concept__gallery-split-wide {
  flex: 1;
  height: 280px;
  overflow: hidden;
}
.p-concept__gallery-split-wide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-business {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  padding-top: 96px;
  overflow: hidden;
}
.p-business__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.p-business__bg img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.p-business__title {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.p-business__title-text {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.23;
  letter-spacing: 1.28px;
  color: #212c67;
}
.p-business__title-accent {
  color: #e37d60;
}
.p-business__title-line {
  width: 76px;
  height: 2px;
  background-color: #212c67;
}
.p-business__contents {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 52px;
  width: 100%;
}
.p-business__main {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}
.p-business__card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.p-business__card-main {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-business__card-header {
  position: relative;
  height: 200px;
}
.p-business__card-header img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-business__card-en {
  position: absolute;
  bottom: -3px;
  left: 0;
  padding: 0 24px;
  right: 0;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 44px;
  line-height: 1;
  letter-spacing: 0.025em;
  color: #fff;
  white-space: nowrap;
}
.p-business__card-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 24px;
}
.p-business__card-heading {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 21px;
  line-height: 1.7;
  letter-spacing: 0.84px;
  color: #212c67;
  white-space: nowrap;
}
.p-business__card-text {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.6px;
  color: #212c67;
}
.p-business__card-sub {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 24px;
}
.p-business__card-sub-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-business__card-sub-label {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.36px;
  color: #212c67;
}
.p-business__card-sub-line {
  margin: 0;
  border: none;
  border-top: 1px solid #212c67;
  width: 100%;
}
.p-business__plans {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-business__plan {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-business__plan-img {
  display: block;
  width: 100%;
  height: 154px;
  object-fit: cover;
}
.p-business__plan-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.p-business__plan-name {
  margin: 0;
  padding-left: 10px;
  border-left: 2px solid #212c67;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.64px;
  color: #212c67;
}
.p-business__plan-detail {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-business__plan-desc {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.6px;
  color: #212c67;
}
.p-business__plan-scenes {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.p-business__plan-scene {
  display: flex;
  align-items: center;
  gap: 8px;
}
.p-business__plan-scene-label {
  flex-shrink: 0;
  width: 65px;
  padding: 0 2px 2px;
  background-color: #212c67;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.6;
  color: #fbf8f1;
  text-align: center;
  white-space: nowrap;
}
.p-business__plan-scene-text {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 12px;
  line-height: 1.6;
  color: #212c67;
  white-space: nowrap;
}
.p-business__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: calc(100% - 48px);
  height: 74px;
  padding: 20px 32px;
  background-color: #e37d60;
  text-decoration: none;
  cursor: pointer;
}
.p-business__btn-text {
  flex: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.64px;
  color: #fff;
  text-align: center;
}
.p-business__btn-arrow {
  display: block;
  width: 19px;
  height: 1px;
  background-color: #fff;
  flex-shrink: 0;
  position: relative;
}
.p-business__btn-arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 6px;
  height: 6px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.p-business__sub {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 48px;
  padding-top: 40px;
  width: 100%;
}
.p-business__sub-body {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
}
.p-business__sub-text {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0 24px;
}
.p-business__sub-heading p {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 21px;
  line-height: 1.7;
  letter-spacing: 0.84px;
  color: #212c67;
}
.p-business__sub-desc p {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.56px;
  color: #212c67;
}
.p-business__sub-desc p + p {
  margin-top: 0;
}
.p-business__sub-gallery {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.p-business__sub-gallery-full {
  position: relative;
  height: 184px;
  overflow: hidden;
}
.p-business__sub-gallery-full img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-business__sub-gallery-full::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
  pointer-events: none;
}
.p-business__sub-gallery-half {
  display: flex;
  gap: 2px;
}
.p-business__sub-gallery-half-item {
  flex: 1;
  height: 128px;
  overflow: hidden;
}
.p-business__sub-gallery-half-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-facility {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  padding: 96px 0;
  overflow: hidden;
}
.p-facility__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.p-facility__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-facility__title {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.p-facility__title-text {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.23;
  letter-spacing: 1.28px;
  color: #212c67;
}
.p-facility__title-accent {
  color: #e37d60;
}
.p-facility__title-line {
  width: 76px;
  height: 2px;
  background-color: #212c67;
}
.p-facility__contents {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 48px;
  width: 100%;
}
.p-facility__block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  width: 100%;
}
.p-facility__block-label {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.36px;
  color: #212c67;
}
.p-facility__block-photo {
  width: 337px;
  height: 200px;
  overflow: hidden;
}
.p-facility__block-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-facility__card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.p-facility__card-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0 24px;
}
.p-facility__card-heading {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 21px;
  line-height: 1.7;
  letter-spacing: 0.84px;
  color: #212c67;
}
.p-facility__card-body {
  margin-bottom: 40px;
}
.p-facility__card-body p {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.6px;
  color: #212c67;
}
.p-facility__detail {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 0 24px;
}
.p-facility__detail-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-facility__detail-label {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.36px;
  color: #212c67;
}
.p-facility__detail-line {
  margin: 0;
  border: none;
  border-top: 1px solid #212c67;
  width: 100%;
}
.p-facility__rooms {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-facility__room {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-facility__room-img {
  display: block;
  width: 100%;
  height: 154px;
  object-fit: cover;
}
.p-facility__room-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.p-facility__room-name {
  margin: 0;
  padding-left: 10px;
  border-left: 2px solid #212c67;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.64px;
  color: #212c67;
}
.p-facility__room-text {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.6px;
  color: #212c67;
}
.p-facility__access {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 0 24px;
  width: 100%;
}
.p-facility__access-head {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-facility__access-label {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.6;
  letter-spacing: 0.36px;
  color: #212c67;
}
.p-facility__access-line {
  margin: 0;
  border: none;
  border-top: 1px solid #212c67;
  width: 100%;
}
.p-facility__access-body {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.p-facility__access-map {
  aspect-ratio: 4/5;
}
.p-facility__access-map iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-facility__access-address {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.6px;
  color: #212c67;
}

.p-faq {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  padding: 96px 24px;
}
.p-faq__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.p-faq__bg img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: auto;
  max-width: none;
}
.p-faq__title {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.p-faq__title-text {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.23;
  letter-spacing: 1.28px;
  color: #212c67;
}
.p-faq__title-accent {
  color: #e37d60;
}
.p-faq__title-line {
  width: 76px;
  height: 2px;
  background-color: #212c67;
}
.p-faq__list {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}
.p-faq__group {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.p-faq__item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.p-faq__question {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.p-faq__question-label {
  flex-shrink: 0;
  width: 20px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.6;
  color: #212c67;
  text-align: center;
}
.p-faq__question-text {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.6;
  color: #212c67;
}
.p-faq__divider {
  margin: 0;
  border: none;
  border-top: 1px solid #212c67;
  width: 100%;
  opacity: 0.4;
}
.p-faq__answer {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.6;
  color: #212c67;
}

.p-about {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 96px 24px 160px;
  background-color: #212c67;
}
.p-about__title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}
.p-about__title-text {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 32px;
  line-height: 1.23;
  letter-spacing: 1.28px;
  color: #fbf8f1;
}
.p-about__title-accent {
  color: #e37d60;
}
.p-about__title-line {
  width: 76px;
  height: 2px;
  background-color: #fbf8f1;
}
.p-about__content {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.p-about__logo {
  height: 215px;
  overflow: hidden;
}
.p-about__logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-about__text {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.p-about__body p {
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.52px;
  color: #fff;
}
.p-about__body p + p {
  margin-top: 0;
}

.u-margin-xs {
  margin: 4px !important;
}

.u-margin-top-xs {
  margin-top: 4px !important;
}

.u-margin-right-xs {
  margin-right: 4px !important;
}

.u-margin-bottom-xs {
  margin-bottom: 4px !important;
}

.u-margin-left-xs {
  margin-left: 4px !important;
}

.u-margin-sm {
  margin: 8px !important;
}

.u-margin-top-sm {
  margin-top: 8px !important;
}

.u-margin-right-sm {
  margin-right: 8px !important;
}

.u-margin-bottom-sm {
  margin-bottom: 8px !important;
}

.u-margin-left-sm {
  margin-left: 8px !important;
}

.u-margin-md {
  margin: 16px !important;
}

.u-margin-top-md {
  margin-top: 16px !important;
}

.u-margin-right-md {
  margin-right: 16px !important;
}

.u-margin-bottom-md {
  margin-bottom: 16px !important;
}

.u-margin-left-md {
  margin-left: 16px !important;
}

.u-margin-lg {
  margin: 24px !important;
}

.u-margin-top-lg {
  margin-top: 24px !important;
}

.u-margin-right-lg {
  margin-right: 24px !important;
}

.u-margin-bottom-lg {
  margin-bottom: 24px !important;
}

.u-margin-left-lg {
  margin-left: 24px !important;
}

.u-margin-xl {
  margin: 32px !important;
}

.u-margin-top-xl {
  margin-top: 32px !important;
}

.u-margin-right-xl {
  margin-right: 32px !important;
}

.u-margin-bottom-xl {
  margin-bottom: 32px !important;
}

.u-margin-left-xl {
  margin-left: 32px !important;
}

.u-margin-xxl {
  margin: 48px !important;
}

.u-margin-top-xxl {
  margin-top: 48px !important;
}

.u-margin-right-xxl {
  margin-right: 48px !important;
}

.u-margin-bottom-xxl {
  margin-bottom: 48px !important;
}

.u-margin-left-xxl {
  margin-left: 48px !important;
}

.u-padding-xs {
  padding: 4px !important;
}

.u-padding-top-xs {
  padding-top: 4px !important;
}

.u-padding-right-xs {
  padding-right: 4px !important;
}

.u-padding-bottom-xs {
  padding-bottom: 4px !important;
}

.u-padding-left-xs {
  padding-left: 4px !important;
}

.u-padding-sm {
  padding: 8px !important;
}

.u-padding-top-sm {
  padding-top: 8px !important;
}

.u-padding-right-sm {
  padding-right: 8px !important;
}

.u-padding-bottom-sm {
  padding-bottom: 8px !important;
}

.u-padding-left-sm {
  padding-left: 8px !important;
}

.u-padding-md {
  padding: 16px !important;
}

.u-padding-top-md {
  padding-top: 16px !important;
}

.u-padding-right-md {
  padding-right: 16px !important;
}

.u-padding-bottom-md {
  padding-bottom: 16px !important;
}

.u-padding-left-md {
  padding-left: 16px !important;
}

.u-padding-lg {
  padding: 24px !important;
}

.u-padding-top-lg {
  padding-top: 24px !important;
}

.u-padding-right-lg {
  padding-right: 24px !important;
}

.u-padding-bottom-lg {
  padding-bottom: 24px !important;
}

.u-padding-left-lg {
  padding-left: 24px !important;
}

.u-padding-xl {
  padding: 32px !important;
}

.u-padding-top-xl {
  padding-top: 32px !important;
}

.u-padding-right-xl {
  padding-right: 32px !important;
}

.u-padding-bottom-xl {
  padding-bottom: 32px !important;
}

.u-padding-left-xl {
  padding-left: 32px !important;
}

.u-padding-xxl {
  padding: 48px !important;
}

.u-padding-top-xxl {
  padding-top: 48px !important;
}

.u-padding-right-xxl {
  padding-right: 48px !important;
}

.u-padding-bottom-xxl {
  padding-bottom: 48px !important;
}

.u-padding-left-xxl {
  padding-left: 48px !important;
}

.u-margin-auto {
  margin: auto !important;
}

.u-margin-x-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.u-margin-y-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}

.u-text-left {
  text-align: left !important;
}

.u-text-center {
  text-align: center !important;
}

.u-text-right {
  text-align: right !important;
}

.u-text-justify {
  text-align: justify !important;
}

.u-text-lowercase {
  text-transform: lowercase !important;
}

.u-text-uppercase {
  text-transform: uppercase !important;
}

.u-text-capitalize {
  text-transform: capitalize !important;
}

.u-font-light {
  font-weight: 300 !important;
}

.u-font-normal {
  font-weight: 400 !important;
}

.u-font-medium {
  font-weight: 500 !important;
}

.u-font-bold {
  font-weight: 700 !important;
}

.u-font-small {
  font-size: 0.875em !important;
}

.u-font-large {
  font-size: 1.125em !important;
}

.u-font-xl {
  font-size: 1.25em !important;
}

.u-font-xxl {
  font-size: 1.5em !important;
}

.u-lh-tight {
  line-height: 1.2 !important;
}

.u-lh-normal {
  line-height: 1.6 !important;
}

.u-lh-loose {
  line-height: 2 !important;
}

.u-text-underline {
  text-decoration: underline !important;
}

.u-text-no-underline {
  text-decoration: none !important;
}

.u-text-truncate {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.u-text-break {
  word-break: break-word !important;
}

.u-text-nowrap {
  white-space: nowrap !important;
}

.u-display-block {
  display: block !important;
}

.u-display-inline {
  display: inline !important;
}

.u-display-inline-block {
  display: inline-block !important;
}

.u-display-flex {
  display: flex !important;
}

.u-display-inline-flex {
  display: inline-flex !important;
}

.u-display-grid {
  display: grid !important;
}

.u-display-none {
  display: none !important;
}

.u-visible {
  visibility: visible !important;
}

.u-invisible {
  visibility: hidden !important;
}

.u-position-static {
  position: static !important;
}

.u-position-relative {
  position: relative !important;
}

.u-position-absolute {
  position: absolute !important;
}

.u-position-fixed {
  position: fixed !important;
}

.u-position-sticky {
  position: sticky !important;
}

.u-float-left {
  float: left !important;
}

.u-float-right {
  float: right !important;
}

.u-float-none {
  float: none !important;
}

.u-clear-left {
  clear: left !important;
}

.u-clear-right {
  clear: right !important;
}

.u-clear-both {
  clear: both !important;
}

.u-clear-none {
  clear: none !important;
}

.u-overflow-visible {
  overflow: visible !important;
}

.u-overflow-hidden {
  overflow: hidden !important;
}

.u-overflow-scroll {
  overflow: scroll !important;
}

.u-overflow-auto {
  overflow: auto !important;
}

@media (min-width: 768px) {
  .u-display-md-block {
    display: block !important;
  }
  .u-display-md-inline {
    display: inline !important;
  }
  .u-display-md-inline-block {
    display: inline-block !important;
  }
  .u-display-md-flex {
    display: flex !important;
  }
  .u-display-md-none {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .u-display-sm-block {
    display: block !important;
  }
  .u-display-sm-inline {
    display: inline !important;
  }
  .u-display-sm-inline-block {
    display: inline-block !important;
  }
  .u-display-sm-flex {
    display: flex !important;
  }
  .u-display-sm-none {
    display: none !important;
  }
}
.u-visually-hidden {
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
}

.js-fade-target {
  opacity: 0;
  transition: all 0.4s ease-out;
}

.js-fade-target.is--inview {
  opacity: 1;
}
