@charset "UTF-8";
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: auto;
}

body,
h1, h2, h3, h4, h5, h6,
p, figure, blockquote, dl, dd, ul, ol {
  margin: 0;
  padding: 0;
}

ul, ol {
  list-style: none;
}

img,
svg,
video {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease, color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
  transition: opacity 0.3s ease, color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
}

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

table {
  border-collapse: collapse;
}

body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400;
  color: #000000;
  background: #ffffff;
  line-height: 1.45;
  letter-spacing: 0.04em;
}
body.is-menu-open {
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .is-front {
    letter-spacing: 0;
  }
}

.u-en {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
}

@media screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .u-sp,
  .sp-only {
    display: none;
  }
}

.u-visuallyHidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

[data-animate] {
  opacity: 0;
  -webkit-transform: translateY(32px);
          transform: translateY(32px);
  -webkit-transition: opacity 0.9s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: opacity 0.9s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: opacity 0.9s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition: opacity 0.9s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1), -webkit-transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: opacity, transform;
}
[data-animate].is-animated {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

@media (prefers-reduced-motion: reduce) {
  [data-animate] {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
    -webkit-transition: none;
    transition: none;
  }
}
.l-wrapper {
  overflow-x: clip;
}

.l-main {
  display: block;
}

.l-container {
  width: min(1600px, 83.3333vw);
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .l-container {
    width: calc(100% - min(12vw, 48px));
  }
}

.l-section {
  padding-block: min(6.2499996vw, 120px);
}
@media screen and (max-width: 768px) {
  .l-section {
    padding-block: min(14vw, 56px);
  }
}
.l-section--red {
  background: #af0009;
  color: #ffffff;
}

.l-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  pointer-events: none;
}
.l-header > * {
  pointer-events: auto;
}
@media screen and (max-width: 768px) {
  .l-header {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.l-header__logo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: min(21.3541653vw, 410px);
  height: min(5.208333vw, 100px);
  background: #ffffff;
  border-radius: 0 0 min(2.6041665vw, 50px) 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: min(1.5624999vw, 30px) min(1.30208325vw, 25px);
}
@media screen and (max-width: 768px) {
  .l-header__logo {
    width: min(57vw, 228px);
    height: min(12.5vw, 50px);
    border-radius: 0 0 min(6.25vw, 25px) 0;
    padding-inline: min(3.5vw, 14px) min(5vw, 20px);
  }
}
.l-header__logo img {
  width: 100%;
  height: auto;
}

.l-header__bar {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
  margin-top: min(0.67708329vw, 13px);
  margin-left: clamp(20px, 6.25vw, 120px);
  min-height: min(4.79166636vw, 92px);
  background: #ffffff;
  border-radius: min(2.39583318vw, 46px) 0 0 min(2.39583318vw, 46px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: clamp(10px, 1.25vw, 24px);
  padding-inline: clamp(16px, 2.083vw, 40px) clamp(10px, 0.9375vw, 18px);
}
@media screen and (max-width: 1280px) {
  .l-header__bar {
    display: none;
  }
}

.l-header__navList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: clamp(10px, 1.354vw, 26px);
}

.l-header__navLink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(0.10416666vw, 2px);
  line-height: 1.3;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__navLink:hover {
    color: #af0009;
  }
}

.l-header__navNum {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(11px, 0.729vw, 14px);
  color: #af0009;
  letter-spacing: 0.02em;
}

.l-header__navLabel {
  font-size: clamp(11px, 0.729vw, 14px);
  font-weight: 500;
  white-space: nowrap;
  color: #af0009;
}

.l-header__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(8px, 0.833vw, 16px);
}
.l-header__actions .c-btn {
  min-height: min(2.81249982vw, 54px);
  padding-inline: clamp(12px, 1.563vw, 30px);
  font-size: clamp(11px, 0.833vw, 16px);
  gap: clamp(6px, 0.52vw, 10px);
}

.l-header__toggle {
  display: none;
}
@media screen and (max-width: 1280px) {
  .l-header__toggle {
    display: grid;
    place-items: center;
    position: absolute;
    top: 10px;
    right: 12px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #ffffff;
  }
}
@media screen and (max-width: 768px) {
  .l-header__toggle {
    top: min(2vw, 8px);
    right: min(1.5vw, 6px);
    width: min(9vw, 36px);
    height: min(9vw, 36px);
  }
}
.l-header__toggle .l-header__toggleBar {
  position: relative;
  display: block;
  width: 18px;
  height: 2px;
  background: #af0009;
  border-radius: 2px;
}
.l-header__toggle .l-header__toggleBar::before, .l-header__toggle .l-header__toggleBar::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #af0009;
  border-radius: 2px;
}
.l-header__toggle .l-header__toggleBar::before {
  top: -6px;
}
.l-header__toggle .l-header__toggleBar::after {
  top: 6px;
}

.l-menu {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: #af0009;
  color: #ffffff;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.is-menu-open .l-menu {
  opacity: 1;
  visibility: visible;
}

.l-menu__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l-menu__logo {
  width: min(53.5vw, 214px);
  height: min(14vw, 56px);
  background: #ffffff;
  border-radius: 0 0 min(7vw, 28px) 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-inline: min(3.5vw, 14px) min(4vw, 16px);
}
.l-menu__logo img {
  width: 100%;
}

.l-menu__close {
  display: grid;
  place-items: center;
  width: min(10vw, 40px);
  height: min(10vw, 40px);
  margin: min(2.5vw, 10px) min(3vw, 12px) 0 0;
  border-radius: 50%;
  background: #ffffff;
  color: #af0009;
}
.l-menu__close svg {
  width: min(4vw, 16px);
  height: min(4vw, 16px);
}

.l-menu__list {
  width: min(100%, 460px);
  margin-inline: auto;
  padding: min(6vw, 24px) min(5vw, 20px) 0;
}

.l-menu__item + .l-menu__item {
  margin-top: min(5.5vw, 22px);
}

.l-menu__link {
  display: grid;
  grid-template-columns: 1fr auto;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: min(1.5vw, 6px) min(3vw, 12px);
}

.l-menu__head2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: min(2vw, 8px);
  grid-column: 1;
}

.l-menu__num {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(16px, 5vw, 20px);
  line-height: 1;
}

.l-menu__en {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: clamp(11px, 3.25vw, 13px);
  line-height: 1.2;
}

.l-menu__title {
  grid-column: 1;
  font-size: clamp(16px, 4.75vw, 19px);
  font-weight: 700;
  line-height: 1.45;
}

.l-menu__arrow {
  grid-column: 2;
  grid-row: 1/span 2;
  align-self: start;
  display: grid;
  place-items: center;
  width: min(6.5vw, 26px);
  height: min(6.5vw, 26px);
  border-radius: 50%;
  background: #ffffff;
  color: #af0009;
}
.l-menu__arrow svg {
  width: min(3.25vw, 13px);
  height: auto;
}

.l-menu__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(3vw, 12px);
  width: min(100%, 460px);
  margin-inline: auto;
  padding: min(8vw, 32px) min(5vw, 20px) min(12vw, 48px);
}
.l-menu__actions .c-btn {
  width: 100%;
}
.l-menu__actions .c-btn--solid {
  border: 2px solid #ffffff;
}

.l-footer {
  background: #af0009;
  color: #ffffff;
  padding-block: min(1.82291655vw, 35px) min(2.86458315vw, 55px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding-block: min(7vw, 28px) min(5.5vw, 22px);
  }
}

.l-footer__copy {
  font-size: clamp(16px, 0.93749994vw, 18px);
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .l-footer__copy {
    font-size: clamp(16px, 4vw, 16px);
  }
}

.c-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(0.83333328vw, 16px);
  min-height: min(2.81249982vw, 54px);
  padding-inline: min(1.87499988vw, 36px);
  border-radius: 999px;
  font-size: clamp(16px, 0.83333328vw, 16px);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  white-space: nowrap;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-btn {
    min-height: min(12vw, 48px);
    padding-inline: min(6vw, 24px);
    font-size: clamp(16px, 4vw, 16px);
    gap: min(3vw, 12px);
  }
}
.c-btn--solid {
  background: #af0009;
  color: #ffffff;
}
@media (hover: hover) and (pointer: fine) {
  .c-btn--solid:hover {
    background: #8b0c12;
  }
}
.c-btn--tint {
  background: #c3737a;
  color: #ffffff;
}
@media (hover: hover) and (pointer: fine) {
  .c-btn--tint:hover {
    background: #af0009;
  }
}
.c-btn--outline {
  background: #ffffff;
  color: #af0009;
  border: 2px solid #af0009;
}
@media (hover: hover) and (pointer: fine) {
  .c-btn--outline:hover {
    background: #af0009;
    color: #ffffff;
  }
}
.c-btn--white {
  background: #ffffff;
  color: #af0009;
  min-height: min(3.95833308vw, 76px);
  padding-inline: min(2.0833332vw, 40px) min(0.72916662vw, 14px);
  font-size: clamp(16px, 1.0416666vw, 20px);
}
@media screen and (max-width: 768px) {
  .c-btn--white {
    min-height: min(16.25vw, 65px);
    padding-inline: min(6.5vw, 26px) min(4vw, 16px);
    font-size: clamp(16px, 5vw, 20px);
    font-weight: 500;
  }
}
@media (hover: hover) and (pointer: fine) {
  .c-btn--white:hover {
    background: #8b0c12;
    color: #ffffff;
  }
  .c-btn--white:hover .c-btn__arrow {
    background: #ffffff;
    color: #af0009;
  }
}
.c-btn--arrow {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-btn[disabled] {
  cursor: default;
}

.c-btn__arrow {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: min(2.6041665vw, 50px);
  height: min(2.6041665vw, 50px);
  border-radius: 50%;
  background: #af0009;
  color: #ffffff;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-btn__arrow {
    width: min(8.75vw, 35px);
    height: min(8.75vw, 35px);
  }
}
.c-btn__arrow svg {
  width: min(0.98958327vw, 19px);
  height: auto;
}
@media screen and (max-width: 768px) {
  .c-btn__arrow svg {
    width: min(4.25vw, 17px);
  }
}

.c-circleArrow {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: min(2.6041665vw, 50px);
  height: min(2.6041665vw, 50px);
  border-radius: 50%;
  background: #ffffff;
  color: #af0009;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-circleArrow {
    width: min(8.75vw, 35px);
    height: min(8.75vw, 35px);
  }
}
.c-circleArrow svg {
  width: min(0.98958327vw, 19px);
  height: auto;
}
@media screen and (max-width: 768px) {
  .c-circleArrow svg {
    width: min(4.25vw, 17px);
  }
}
.c-circleArrow--outline {
  background: #ffffff;
  color: #af0009;
}

.c-sectionHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: min(0.93749994vw, 18px);
}
@media screen and (max-width: 768px) {
  .c-sectionHead {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0 min(0.5vw, 2px);
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
}
.c-sectionHead--white {
  color: #ffffff;
}
.c-sectionHead--white .c-sectionHead__num,
.c-sectionHead--white .c-sectionHead__title {
  color: #ffffff;
}
.c-sectionHead--white .c-sectionHead__en {
  color: #ffffff;
}

.c-sectionHead__num {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(32px, 3.74999976vw, 72px);
  line-height: 1;
  color: #af0009;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 768px) {
  .c-sectionHead__num {
    font-size: clamp(20px, 6vw, 24px);
    line-height: 1.6;
  }
}

.c-sectionHead__text {
  display: block;
  padding-bottom: min(0.20833332vw, 4px);
}
@media screen and (max-width: 768px) {
  .c-sectionHead__text {
    display: contents;
  }
}

.c-sectionHead__en {
  display: block;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(12px, 0.83333328vw, 16px);
  line-height: 1;
  color: rgba(0, 0, 0, 0.12);
  margin-bottom: min(0.20833332vw, 4px);
}
@media screen and (max-width: 768px) {
  .c-sectionHead__en {
    margin-bottom: 0;
    font-size: clamp(12px, 4vw, 16px);
    line-height: 1.6;
  }
}
.c-sectionHead--white .c-sectionHead__en {
  color: rgba(255, 255, 255, 0.75);
}
@media screen and (max-width: 768px) {
  .c-sectionHead--white .c-sectionHead__en {
    color: #ffffff;
  }
}

.c-sectionHead__title {
  font-size: clamp(16px, 1.66666656vw, 32px);
  font-weight: 700;
  line-height: 1.4;
  color: #af0009;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .c-sectionHead__title {
    grid-column: 1/-1;
    margin-top: calc(-1 * min(1.25vw, 5px));
    font-size: clamp(20px, 6vw, 24px);
    line-height: 1.3;
    letter-spacing: 0;
  }
}

.c-carousel {
  overflow: hidden;
}

.c-carousel__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(1.14583326vw, 22px);
  overflow-x: auto;
  -webkit-scroll-snap-type: x mandatory;
      -ms-scroll-snap-type: x mandatory;
          scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-inline: max((100vw - min(1600px, 83.3333vw)) / 2, 0px);
  scroll-padding-inline: max((100vw - min(1600px, 83.3333vw)) / 2, 0px);
  padding-block: min(0.41666664vw, 8px);
}
.c-carousel__track::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 768px) {
  .c-carousel__track {
    gap: min(4vw, 16px);
    padding-inline: min(6vw, 24px);
    scroll-padding-inline: min(6vw, 24px);
  }
}

.c-carousel__slide {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  scroll-snap-align: start;
}

.c-carouselNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.0833332vw, 40px);
}
@media screen and (max-width: 768px) {
  .c-carouselNav {
    gap: min(2.5vw, 10px);
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.c-carouselNav--white {
  color: #ffffff;
  margin-top: min(1.24999992vw, 24px);
}
.c-carouselNav--white .c-carouselNav__current,
.c-carouselNav--white .c-carouselNav__total {
  color: #ffffff;
}
.c-carouselNav--white .c-carouselNav__bar {
  background: rgba(255, 255, 255, 0.45);
}
.c-carouselNav--white .c-carouselNav__barFill {
  background: #ffffff;
}
.c-carouselNav--white .c-carouselNav__btn {
  background: #ffffff;
  color: #af0009;
}
@media screen and (max-width: 768px) {
  .c-carouselNav--white {
    margin-top: min(5vw, 20px);
  }
}

.c-carouselNav__progress {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(0.93749994vw, 18px);
}
@media screen and (max-width: 768px) {
  .c-carouselNav__progress {
    gap: min(1.5vw, 6px);
    width: 100%;
  }
}

.c-carouselNav__current,
.c-carouselNav__total {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(16px, 1.24999992vw, 24px);
  line-height: 1;
  color: #af0009;
}
@media screen and (max-width: 768px) {
  .c-carouselNav__current,
  .c-carouselNav__total {
    font-size: clamp(16px, 6vw, 24px);
  }
}

.c-carouselNav__bar {
  position: relative;
  display: block;
  width: min(5.46874965vw, 105px);
  height: 2px;
  border-radius: 2px;
  background: rgba(0, 0, 0, 0.18);
}
@media screen and (max-width: 768px) {
  .c-carouselNav__bar {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    width: auto;
  }
}

.c-carouselNav__barFill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 20%;
  border-radius: 2px;
  background: #af0009;
  -webkit-transition: width 0.3s ease;
  transition: width 0.3s ease;
}

.c-carouselNav__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(0.62499996vw, 12px);
}
@media screen and (min-width: 769px) {
  .c-carouselNav__btns {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media screen and (max-width: 768px) {
  .c-carouselNav__btns {
    gap: min(3.5vw, 14px);
  }
}

.c-carouselNav__btn {
  display: grid;
  place-items: center;
  width: min(2.6041665vw, 50px);
  height: min(2.6041665vw, 50px);
  border-radius: 50%;
  background: #af0009;
  color: #ffffff;
  -webkit-transition: opacity 0.3s ease, background-color 0.3s ease;
  transition: opacity 0.3s ease, background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-carouselNav__btn {
    width: min(12.5vw, 50px);
    height: min(12.5vw, 50px);
  }
}
.c-carouselNav__btn svg {
  width: min(0.98958327vw, 19px);
  height: auto;
}
@media screen and (max-width: 768px) {
  .c-carouselNav__btn svg {
    width: min(4.75vw, 19px);
  }
}
.c-carouselNav__btn[disabled] {
  opacity: 0.35;
  cursor: default;
}

.c-breadcrumb {
  display: none;
}

.c-icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: block;
}

.p-contact__info, .p-field__listItem, .p-intro__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(0.72916662vw, 14px);
}
@media screen and (max-width: 768px) {
  .p-contact__info, .p-field__listItem, .p-intro__item {
    gap: min(2.75vw, 11px);
  }
}
.p-contact__info .c-icon--check, .p-field__listItem .c-icon--check, .p-intro__item .c-icon--check {
  width: min(1.5624999vw, 30px);
  height: min(1.5624999vw, 30px);
  color: #af0009;
}
@media screen and (max-width: 768px) {
  .p-contact__info .c-icon--check, .p-field__listItem .c-icon--check, .p-intro__item .c-icon--check {
    width: min(7.5vw, 30px);
    height: min(7.5vw, 30px);
  }
}

.p-hero {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  background: url("../img/hero.jpg") center/cover no-repeat;
  border-radius: 0 0 min(5.208333vw, 100px) min(5.208333vw, 100px);
}
@media screen and (max-width: 768px) {
  .p-hero {
    display: block;
    overflow: clip;
    border-radius: 0 0 min(12.5vw, 50px) min(12.5vw, 50px);
    background: url("../img/hero_sp.jpg") center top/cover no-repeat;
  }
}

.p-hero__visual {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 72.9167%;
          flex: 0 0 72.9167%;
  min-height: min(54.6874965vw, 1050px);
  padding: min(13.43749914vw, 258px) min(3.1249998vw, 60px) min(5.208333vw, 100px) min(4.06249974vw, 78px);
  border-radius: 0 0 0 min(5.208333vw, 100px);
  overflow: hidden;
  color: #ffffff;
}
.p-hero__visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.74)), color-stop(42%, rgba(0, 0, 0, 0.52)), to(rgba(0, 0, 0, 0.3)));
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.74) 0%, rgba(0, 0, 0, 0.52) 42%, rgba(0, 0, 0, 0.3) 100%);
}
@media screen and (max-width: 768px) {
  .p-hero__visual {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    min-height: 0;
    padding: min(22vw, 88px) min(6vw, 24px) min(13vw, 52px);
    border-radius: 0;
    overflow: visible;
    background: none;
  }
}

.p-hero__body {
  position: relative;
  z-index: 1;
}

.p-hero__title {
  font-size: clamp(26px, 3.22916646vw, 62px);
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
}
@media screen and (max-width: 768px) {
  .p-hero__title {
    font-size: clamp(26px, 9vw, 36px);
    line-height: 1.25;
  }
}

.p-hero__chips {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(1.0416666vw, 20px);
  margin-top: min(3.22916646vw, 62px);
}
@media screen and (max-width: 768px) {
  .p-hero__chips {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: min(1.25vw, 5px) min(1.5vw, 6px);
    margin-top: min(0.75vw, 3px);
  }
}

.p-hero__chip {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(0.62499996vw, 12px);
  min-height: min(2.29166652vw, 44px);
  padding-inline: min(0.93749994vw, 18px) min(1.45833324vw, 28px);
  border-radius: 999px;
  background: #af0009;
  font-size: clamp(16px, 0.93749994vw, 18px);
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .p-hero__chip {
    min-height: min(7.5vw, 30px);
    gap: min(1.25vw, 5px);
    padding-inline: min(2vw, 8px) 0;
    font-size: clamp(10px, 2.75vw, 11px);
    white-space: nowrap;
  }
}
.p-hero__chip .c-icon--check {
  width: min(1.24999992vw, 24px);
  height: min(1.24999992vw, 24px);
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .p-hero__chip .c-icon--check {
    width: min(4vw, 16px);
    height: min(4vw, 16px);
  }
}

.p-hero__lead {
  margin-top: min(2.29166652vw, 44px);
  font-size: clamp(16px, 1.24999992vw, 24px);
  font-weight: 500;
  line-height: 1.58;
}
@media screen and (max-width: 768px) {
  .p-hero__lead {
    margin-top: min(3.75vw, 15px);
    font-size: clamp(16px, 4vw, 16px);
    line-height: 1.6;
  }
}

.p-hero__badges {
  position: absolute;
  z-index: 1;
  left: min(2.18749986vw, 42px);
  right: min(3.1249998vw, 60px);
  bottom: min(4.6874997vw, 90px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .p-hero__badges {
    position: static;
    margin: min(3.75vw, 15px) calc(-1 * min(6vw, 24px)) 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0 min(1vw, 4px);
  }
}

.p-hero__badge {
  width: min(11.24999928vw, 216px);
}
@media screen and (max-width: 768px) {
  .p-hero__badge {
    width: min(32.5vw, 130px);
    margin-bottom: calc(-1 * min(1.25vw, 5px));
  }
}
.p-hero__badge:nth-child(even) {
  margin-top: min(3.38541645vw, 65px);
}
@media screen and (max-width: 768px) {
  .p-hero__badge:nth-child(even) {
    margin-top: 0;
  }
}
.p-hero__badge img {
  width: 100%;
}

.p-hero__side {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: min(13.80208245vw, 265px) min(2.49999984vw, 48px) min(3.1249998vw, 60px) min(1.45833324vw, 28px);
  border-radius: 0 0 min(5.208333vw, 100px) 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(188, 33, 33, 0.85)), color-stop(22%, rgba(175, 0, 9, 0.85)), to(rgba(139, 12, 18, 0.85)));
  background: linear-gradient(180deg, rgba(188, 33, 33, 0.85) 0%, rgba(175, 0, 9, 0.85) 22%, rgba(139, 12, 18, 0.85) 100%);
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .p-hero__side {
    padding: min(15.5vw, 62px) min(6vw, 24px) min(6vw, 24px);
    border-radius: 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(188, 33, 33, 0.9)), color-stop(22%, rgba(175, 0, 9, 0.94)), to(rgba(139, 12, 18, 0.97)));
    background: linear-gradient(180deg, rgba(188, 33, 33, 0.9) 0%, rgba(175, 0, 9, 0.94) 22%, rgba(139, 12, 18, 0.97) 100%);
  }
}

.p-hero__ribbon {
  position: absolute;
  top: min(7.03124955vw, 135px);
  right: 0;
  width: min(27.96874821vw, 537px);
}
@media screen and (max-width: 768px) {
  .p-hero__ribbon {
    top: calc(-1 * min(7vw, 28px));
    right: auto;
    left: min(6vw, 24px);
    width: calc(100% - min(12vw, 48px));
    margin: 0;
  }
}
.p-hero__ribbon img {
  width: 100%;
}

.p-hero__achievements {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: min(0.93749994vw, 18px);
}
@media screen and (max-width: 768px) {
  .p-hero__achievements {
    gap: min(1.25vw, 5px);
  }
}

.p-hero__achievement {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: min(6.56249958vw, 126px);
  border-radius: min(5.208333vw, 100px) min(1.0416666vw, 20px) min(1.0416666vw, 20px) min(5.208333vw, 100px);
  background: -webkit-gradient(linear, left bottom, left top, from(#FF8008), to(#FFC837));
  background: linear-gradient(0deg, #FF8008 0%, #FFC837 100%);
  color: #ffffff;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-hero__achievement {
    min-height: min(12.5vw, 50px);
    border-radius: min(6.25vw, 25px) min(2vw, 8px) min(2vw, 8px) min(6.25vw, 25px);
  }
}

.p-hero__achievementNum {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: min(6.04166628vw, 116px);
  -ms-flex-item-align: stretch;
      align-self: stretch;
  border-radius: min(5.208333vw, 100px);
  background: -webkit-gradient(linear, left bottom, left top, from(#FDC830), to(#F37335));
  background: linear-gradient(0deg, #FDC830 0%, #F37335 100%);
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-hero__achievementNum {
    width: min(12.5vw, 50px);
    border-radius: min(6.25vw, 25px);
  }
}

.p-hero__achievementNumTop,
.p-hero__achievementNumBottom {
  font-size: clamp(10px, 0.78124995vw, 15px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-hero__achievementNumTop,
  .p-hero__achievementNumBottom {
    font-size: clamp(8px, 2.25vw, 9px);
  }
}

.p-hero__achievementNumFig {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 800;
  font-size: clamp(22px, 2.29166652vw, 44px);
  line-height: 1.1;
}
@media screen and (max-width: 768px) {
  .p-hero__achievementNumFig {
    font-size: clamp(20px, 6vw, 24px);
    line-height: 1;
  }
}

.p-hero__achievementText {
  padding-inline: min(1.24999992vw, 24px);
  font-size: clamp(16px, 1.24999992vw, 24px);
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .p-hero__achievementText {
    padding-inline: min(2.75vw, 11px) min(2vw, 8px);
    font-size: clamp(16px, 4vw, 16px);
    line-height: 1.4;
  }
}

.p-hero__side .c-btn--white {
  width: 100%;
  margin-top: min(2.0833332vw, 40px);
}
@media screen and (max-width: 768px) {
  .p-hero__side .c-btn--white {
    margin-top: min(2.75vw, 11px);
  }
}

.p-marquee {
  overflow: hidden;
  margin-top: min(4.06249974vw, 78px);
}
@media screen and (max-width: 768px) {
  .p-marquee {
    margin-top: min(6vw, 24px);
  }
}

.p-marquee__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: daiei-marquee 40s linear infinite;
          animation: daiei-marquee 40s linear infinite;
}
@media screen and (max-width: 768px) {
  .p-marquee__track {
    -webkit-animation-duration: 24s;
            animation-duration: 24s;
  }
}

.p-marquee__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.p-marquee__item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: min(19.47916542vw, 374px);
  margin-right: clamp(6px, 0.52vw, 10px);
  aspect-ratio: 374/294;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-marquee__item {
    width: min(72.75vw, 291px);
    margin-right: min(3.75vw, 15px);
    aspect-ratio: 291/185;
    border-radius: min(1.5vw, 6px);
  }
}
.p-marquee__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@-webkit-keyframes daiei-marquee {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}

@keyframes daiei-marquee {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-50%, 0, 0);
            transform: translate3d(-50%, 0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-marquee__track {
    -webkit-animation: none;
            animation: none;
  }
}
.p-intro {
  padding-top: min(1.0416666vw, 20px);
  padding-bottom: min(2.0833332vw, 40px);
}
@media screen and (max-width: 768px) {
  .p-intro {
    padding-top: min(5.5vw, 22px);
    padding-bottom: min(4vw, 16px);
  }
}

.p-intro__body {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0;
  width: 100%;
  padding-left: max((100vw - min(1600px, 83.3333vw)) / 2, 0px);
  margin-top: min(2.91666648vw, 56px);
}
@media screen and (max-width: 768px) {
  .p-intro__body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: calc(100% - min(12vw, 48px));
    margin-inline: auto;
    padding-left: 0;
    margin-top: min(5vw, 20px);
  }
}

.p-intro__main {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .p-intro__main {
    display: contents;
  }
}

.p-intro__lead {
  font-size: clamp(16px, 0.93749994vw, 18px);
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .p-intro__lead {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-intro__lists {
  display: grid;
  grid-template-columns: min(19.7916654vw, 380px) min(27.0833316vw, 520px);
  gap: 0 min(2.0833332vw, 40px);
  margin-top: min(1.66666656vw, 32px);
  max-width: min(52.08333vw, 1000px);
}
@media screen and (max-width: 768px) {
  .p-intro__lists {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 0;
    max-width: none;
  }
}

.p-intro__item {
  padding-block: min(0.83333328vw, 16px);
  border-bottom: 2px dashed #ecebeb;
  font-size: clamp(16px, 0.93749994vw, 18px);
  font-weight: 500;
  color: #af0009;
}
@media screen and (max-width: 768px) {
  .p-intro__item {
    min-height: min(16.25vw, 65px);
    padding-block: 0;
    font-size: clamp(16px, 4.5vw, 18px);
  }
}

.p-intro__banner {
  margin-top: min(1.66666656vw, 32px);
  max-width: min(48.9583302vw, 940px);
  padding: min(0.93749994vw, 18px) min(1.24999992vw, 24px);
  border-radius: min(0.72916662vw, 14px);
  background: #af0009;
  color: #ffffff;
  font-size: clamp(16px, 1.35416658vw, 26px);
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-intro__banner {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    margin-top: min(4vw, 16px);
    max-width: none;
    padding: min(2.5vw, 10px) min(3.5vw, 14px);
    border-radius: min(5vw, 20px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.35;
  }
}

.p-intro__man {
  position: absolute;
  right: 0;
  bottom: min(0.5208333vw, 10px);
  width: min(7.08333288vw, 136px);
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-intro__man {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    grid-row: 2;
    grid-column: 1;
    justify-self: end;
    align-self: end;
    position: relative;
    right: auto;
    bottom: calc(-1 * min(4.25vw, 17px));
    z-index: 1;
    width: min(17vw, 68px);
    margin-right: calc(-1 * min(3.75vw, 15px));
  }
}
.p-intro__man::before {
  content: "";
  position: absolute;
  width: 127px;
  height: 197px;
  background-image: url(../img/man-sub.png);
  background-size: cover;
  left: -120px;
}
@media screen and (max-width: 768px) {
  .p-intro__man::before {
    width: min(17.5vw, 70px);
    height: min(27.25vw, 109px);
    left: min(-10.5vw, -42px);
    top: min(-2vw, -8px);
  }
}

.p-intro__photo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 min(32.2916646vw, 620px);
          flex: 0 0 min(32.2916646vw, 620px);
  -ms-flex-item-align: stretch;
      align-self: stretch;
  margin-top: min(-4.37499972vw, -84px);
  border-radius: min(1.0416666vw, 20px) 0 0 min(1.0416666vw, 20px);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-intro__photo {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    grid-row: 2;
    grid-column: 1;
    margin: min(6vw, 24px) 0 0;
    border-radius: min(5vw, 20px);
  }
}
.p-intro__photo img {
  width: 100%;
  height: 100%;
  min-height: min(39.5833308vw, 760px);
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-intro__photo img {
    min-height: 0;
    aspect-ratio: 352/245;
  }
}

.p-reason {
  padding-top: min(1.0416666vw, 20px);
  padding-bottom: min(6.45833292vw, 124px);
}
@media screen and (max-width: 768px) {
  .p-reason {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: min(5.5vw, 22px);
    padding-bottom: min(10.25vw, 41px);
  }
}

@media screen and (max-width: 768px) {
  .p-reason > .l-container {
    display: contents;
  }
}

@media screen and (max-width: 768px) {
  .p-reason .c-sectionHead {
    margin-inline: min(6vw, 24px);
  }
}

@media screen and (max-width: 768px) {
  .p-reason .c-carouselNav {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: min(5vw, 20px) min(6vw, 24px) 0;
  }
}

@media screen and (min-width: 769px) {
  .p-reason .c-carouselNav__btns {
    position: static;
    -webkit-transform: none;
            transform: none;
  }
}

.p-reason__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(2.0833332vw, 40px);
  margin-top: min(2.91666648vw, 56px);
}
@media screen and (max-width: 768px) {
  .p-reason__head {
    display: contents;
  }
}

.p-reason__lead {
  font-size: clamp(16px, 1.35416658vw, 26px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-reason__lead {
    margin: min(5vw, 20px) min(6vw, 24px) 0;
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-reason__carousel {
  margin-top: min(2.49999984vw, 48px);
}
@media screen and (max-width: 768px) {
  .p-reason__carousel {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-top: min(6vw, 24px);
  }
}

.p-reason__carousel .c-carousel__track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: min(39.32291415vw, 755px);
  grid-template-rows: repeat(2, auto);
  row-gap: 0;
}
@media screen and (max-width: 768px) {
  .p-reason__carousel .c-carousel__track {
    grid-auto-columns: calc(100vw - min(12vw, 48px));
    grid-template-rows: repeat(3, auto);
    row-gap: 0;
  }
}

.p-reason__card {
  position: relative;
  width: min(39.32291415vw, 755px);
  min-height: min(15.83333232vw, 304px);
  display: grid;
  grid-row: span 2;
  grid-template-columns: min(11.4583326vw, 220px) minmax(0, 1fr);
  grid-template-rows: subgrid;
  gap: 0 min(1.24999992vw, 24px);
  padding: min(1.87499988vw, 36px) min(2.0833332vw, 40px) min(1.87499988vw, 36px) min(1.14583326vw, 22px);
  border: 2px solid #af0009;
  border-radius: min(0.83333328vw, 16px);
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .p-reason__card {
    width: calc(100vw - min(12vw, 48px));
    min-height: 0;
    grid-row: span 3;
    grid-template-columns: minmax(0, 1fr);
    padding: min(8vw, 32px) min(6vw, 24px) min(8vw, 32px);
    border-radius: min(4vw, 16px);
  }
}

.p-reason__num {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: min(2.86458315vw, 55px);
  height: min(2.86458315vw, 55px);
  border-radius: min(0.72916662vw, 14px) 0 min(0.72916662vw, 14px) 0;
  background: #af0009;
  color: #ffffff;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(18px, 1.5624999vw, 30px);
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-reason__num {
    width: min(13.75vw, 55px);
    height: min(13.75vw, 55px);
    border-radius: min(3.5vw, 14px) 0 min(3.5vw, 14px) 0;
    font-size: clamp(18px, 8vw, 32px);
  }
}

.p-reason__illust {
  grid-row: 1/-1;
  display: grid;
  place-items: center;
  min-height: min(8.07291615vw, 155px);
  padding-right: min(1.24999992vw, 24px);
  border-right: 2px dashed #ecebeb;
}
@media screen and (max-width: 768px) {
  .p-reason__illust {
    grid-row: auto;
    width: 100%;
    min-height: 0;
    padding-right: 0;
    padding-bottom: min(6.5vw, 26px);
    border-right: 0;
    border-bottom: 2px dashed #af0009;
  }
}
.p-reason__illust img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-reason__illust img {
    height: min(40vw, 160px);
    -o-object-fit: contain;
       object-fit: contain;
    -webkit-clip-path: inset(3% 0 0 0);
            clip-path: inset(3% 0 0 0);
  }
}

@media screen and (max-width: 768px) {
  .p-reason__card:nth-child(4) .p-reason__illust img {
    width: min(60vw, 240px);
  }
}

.p-reason__body {
  display: contents;
}

.p-reason__title {
  grid-column: 2;
  font-size: clamp(16px, 1.24999992vw, 24px);
  font-weight: 700;
  color: #af0009;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-reason__title {
    grid-column: 1;
    margin-top: min(4vw, 16px);
    font-size: clamp(16px, 6vw, 24px);
    text-align: center;
  }
}

.p-reason__text {
  grid-column: 2;
  margin-top: min(0.72916662vw, 14px);
  font-size: clamp(16px, 0.83333328vw, 16px);
  line-height: 1.625;
}
@media screen and (max-width: 768px) {
  .p-reason__text {
    grid-column: 1;
    margin-top: min(2vw, 8px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-case {
  padding-top: min(5.93749962vw, 114px);
  padding-bottom: min(2.96874981vw, 57px);
}
@media screen and (max-width: 768px) {
  .p-case {
    padding-top: min(5.5vw, 22px);
    padding-bottom: min(13.25vw, 53px);
  }
}

.p-case__lead {
  margin-top: min(2.70833316vw, 52px);
  font-size: clamp(16px, 1.35416658vw, 26px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-case__lead {
    margin-top: min(5vw, 20px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-case__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: min(2.81249982vw, 54px);
  margin-top: min(3.1249998vw, 60px);
}
@media screen and (max-width: 768px) {
  .p-case__list {
    grid-template-columns: 1fr;
    gap: min(2.5vw, 10px);
    margin-top: min(6vw, 24px);
  }
}

.p-case__link {
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  .p-case__link:hover .p-case__thumb img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .p-case__link:hover .c-circleArrow {
    background: #8b0c12;
    color: #ffffff;
  }
}

.p-case__thumb {
  display: block;
  aspect-ratio: 497/313;
  background: #d9d9d9;
  overflow: hidden;
}
.p-case__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}
@media screen and (max-width: 768px) {
  .p-case__thumb {
    aspect-ratio: 352/224;
  }
}

.p-case__tag {
  display: inline-block;
  margin-top: min(0.83333328vw, 16px);
  padding: min(0.10416666vw, 2px) min(0.93749994vw, 18px);
  border-radius: min(0.31249998vw, 6px);
  background: #ffffff;
  color: #af0009;
  font-size: clamp(12px, 0.83333328vw, 16px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-case__tag {
    margin-top: min(2vw, 8px);
    padding: 0 min(3.75vw, 15px);
    border-radius: 999px;
    font-size: clamp(11px, 3vw, 12px);
    line-height: 1.5;
  }
}

.p-case__title {
  display: block;
  margin-top: min(0.5208333vw, 10px);
  font-size: clamp(16px, 1.24999992vw, 24px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-case__title {
    margin-top: min(2vw, 8px);
    font-size: clamp(16px, 5vw, 20px);
    font-weight: 500;
  }
}

.p-case__foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(1.0416666vw, 20px);
  margin-top: min(0.5208333vw, 10px);
}
@media screen and (max-width: 768px) {
  .p-case__foot {
    margin-top: calc(-1 * min(1.5vw, 6px));
    gap: min(3vw, 12px);
  }
}

.p-case__text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  font-size: clamp(16px, 0.83333328vw, 16px);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-case__text {
    font-size: clamp(16px, 4vw, 16px);
  }
}

.p-case__more {
  margin-top: min(3.1249998vw, 60px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-case__more {
    margin-top: min(8.5vw, 34px);
  }
}
.p-case__more .c-btn--white {
  min-width: min(20.3124987vw, 390px);
}
@media screen and (max-width: 768px) {
  .p-case__more .c-btn--white {
    width: 100%;
    min-width: 0;
  }
}

.p-caseHero {
  position: relative;
  display: grid;
  place-items: center;
  height: min(39.0624975vw, 750px);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-caseHero {
    height: min(90vw, 360px);
  }
}
.p-caseHero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

.p-caseHero__body {
  position: relative;
  z-index: 1;
  padding-inline: min(1.24999992vw, 24px);
}
@media screen and (max-width: 768px) {
  .p-caseHero__body {
    padding-inline: min(5vw, 20px);
  }
}

.p-caseHero__title {
  font-size: clamp(24px, 3.74999976vw, 72px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}
@media screen and (max-width: 768px) {
  .p-caseHero__title {
    font-size: clamp(22px, 9vw, 36px);
  }
}

.p-caseHero__en {
  display: block;
  margin-top: min(0.5208333vw, 10px);
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1.87499988vw, 36px);
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 768px) {
  .p-caseHero__en {
    margin-top: min(1.5vw, 6px);
    font-size: clamp(16px, 5vw, 20px);
  }
}

.p-caseArchive {
  padding-block: min(4.79166636vw, 92px) min(4.6874997vw, 90px);
}
@media screen and (max-width: 768px) {
  .p-caseArchive {
    padding-block: min(10vw, 40px) min(12vw, 48px);
  }
}

.p-caseArchive__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: min(2.70833316vw, 52px) min(2.49999984vw, 48px);
}
@media screen and (max-width: 768px) {
  .p-caseArchive__list {
    grid-template-columns: 1fr;
    gap: min(4vw, 16px);
  }
}

.p-caseArchive__term {
  margin-bottom: min(2.0833332vw, 40px);
  color: #af0009;
  font-size: clamp(16px, 1.35416658vw, 26px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-caseArchive__term {
    margin-bottom: min(5vw, 20px);
    font-size: clamp(16px, 4.5vw, 18px);
  }
}

.p-caseArchive__empty {
  font-size: clamp(16px, 0.93749994vw, 18px);
}
@media screen and (max-width: 768px) {
  .p-caseArchive__empty {
    font-size: clamp(13px, 3.75vw, 15px);
  }
}

.p-caseCard__link {
  display: block;
  color: #000000;
}
@media (hover: hover) and (pointer: fine) {
  .p-caseCard__link:hover .p-caseCard__thumb img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  .p-caseCard__link:hover .p-caseCard__arrow {
    background: #8b0c12;
  }
}

.p-caseCard__thumb {
  display: block;
  aspect-ratio: 502/320;
  background: #d9d9d9;
  overflow: hidden;
}
.p-caseCard__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}

.p-caseCard__tag {
  display: inline-block;
  margin-top: min(0.67708329vw, 13px);
  padding: min(0.10416666vw, 2px) min(1.24999992vw, 24px);
  border-radius: min(0.31249998vw, 6px);
  background: #af0009;
  color: #ffffff;
  font-size: clamp(12px, 0.83333328vw, 16px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-caseCard__tag {
    margin-top: min(2vw, 8px);
    padding: min(0.25vw, 1px) min(3vw, 12px);
    border-radius: min(1vw, 4px);
    font-size: clamp(11px, 3.25vw, 13px);
  }
}

.p-caseCard__title {
  display: block;
  margin-top: min(0.78124995vw, 15px);
  font-size: clamp(16px, 1.24999992vw, 24px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-caseCard__title {
    margin-top: min(2.75vw, 11px);
    font-size: clamp(16px, 5.5vw, 22px);
  }
}

.p-caseCard__foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(1.0416666vw, 20px);
  margin-top: min(0.62499996vw, 12px);
}
@media screen and (max-width: 768px) {
  .p-caseCard__foot {
    gap: min(3vw, 12px);
    margin-top: min(2vw, 8px);
  }
}

.p-caseCard__text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  font-size: clamp(16px, 0.83333328vw, 16px);
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-caseCard__text {
    font-size: clamp(13px, 3.75vw, 15px);
  }
}

.p-caseCard__arrow {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: min(2.70833316vw, 52px);
  height: min(2.70833316vw, 52px);
  border-radius: 50%;
  background: #af0009;
  color: #ffffff;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-caseCard__arrow {
    width: min(8.5vw, 34px);
    height: min(8.5vw, 34px);
  }
}
.p-caseCard__arrow svg {
  width: min(0.83333328vw, 16px);
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-caseCard__arrow svg {
    width: min(2.75vw, 11px);
  }
}

.c-pagination {
  margin-top: min(5.41666632vw, 104px);
}
@media screen and (max-width: 768px) {
  .c-pagination {
    margin-top: min(14.5vw, 58px);
  }
}

.c-pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(0.46874997vw, 9px);
}
@media screen and (max-width: 768px) {
  .c-pagination__list {
    gap: min(1vw, 4px);
  }
}

.c-pagination .page-numbers {
  display: grid;
  place-items: center;
  width: min(3.95833308vw, 76px);
  height: min(3.95833308vw, 76px);
  border: 2px solid #af0009;
  border-radius: 50%;
  color: #af0009;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: clamp(16px, 1.24999992vw, 24px);
  font-weight: 700;
  line-height: 1;
  -webkit-transition: background-color 0.3s ease, color 0.3s ease;
  transition: background-color 0.3s ease, color 0.3s ease;
}
@media screen and (max-width: 768px) {
  .c-pagination .page-numbers {
    width: min(13vw, 52px);
    height: min(13vw, 52px);
    border-width: 1px;
    font-size: clamp(16px, 5vw, 20px);
  }
}
.c-pagination .page-numbers.current {
  background: #af0009;
  color: #ffffff;
}
.c-pagination .page-numbers.dots {
  border-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
  .c-pagination a.page-numbers:hover {
    background: #af0009;
    color: #ffffff;
  }
}

.p-caseDetail {
  padding-block: min(4.99999968vw, 96px) min(5.83333296vw, 112px);
}
@media screen and (max-width: 768px) {
  .p-caseDetail {
    padding-block: min(10vw, 40px) min(12vw, 48px);
  }
}

.p-caseDetail__tag {
  display: inline-block;
  padding: min(0.10416666vw, 2px) min(1.24999992vw, 24px);
  border-radius: min(0.31249998vw, 6px);
  background: #af0009;
  color: #ffffff;
  font-size: clamp(12px, 0.83333328vw, 16px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-caseDetail__tag {
    padding: min(0.25vw, 1px) min(3vw, 12px);
    border-radius: min(1vw, 4px);
    font-size: clamp(11px, 3.25vw, 13px);
  }
}

.p-caseDetail__title {
  margin-top: min(1.0416666vw, 20px);
  font-size: clamp(16px, 1.87499988vw, 36px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-caseDetail__title {
    margin-top: min(2.5vw, 10px);
    font-size: clamp(16px, 5.5vw, 22px);
  }
}

.p-caseSlider {
  margin-top: min(1.24999992vw, 24px);
}
@media screen and (max-width: 768px) {
  .p-caseSlider {
    margin-top: min(4vw, 16px);
  }
}

.p-caseSlider__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: min(1.0416666vw, 20px);
  overflow-x: auto;
  -webkit-scroll-snap-type: x mandatory;
      -ms-scroll-snap-type: x mandatory;
          scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-inline: max((100% - min(48.33333024vw, 928px)) / 2, 0px);
  scroll-padding-inline: max((100% - min(48.33333024vw, 928px)) / 2, 0px);
}
.p-caseSlider__track::-webkit-scrollbar {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-caseSlider__track {
    gap: min(3vw, 12px);
    padding-inline: max((100% - min(75vw, 300px)) / 2, 0px);
    scroll-padding-inline: max((100% - min(75vw, 300px)) / 2, 0px);
  }
}

.p-caseSlider__slide {
  width: min(48.33333024vw, 928px);
  aspect-ratio: 928/590;
  background: #d9d9d9;
  overflow: hidden;
  scroll-snap-align: center;
}
@media screen and (max-width: 768px) {
  .p-caseSlider__slide {
    width: min(75vw, 300px);
  }
}
.p-caseSlider__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-caseSlider__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(0.62499996vw, 12px);
  margin-top: min(1.45833324vw, 28px);
}
@media screen and (max-width: 768px) {
  .p-caseSlider__btns {
    gap: min(2.5vw, 10px);
    margin-top: min(4.5vw, 18px);
  }
}

.p-caseSlider__btn {
  display: grid;
  place-items: center;
  width: min(2.70833316vw, 52px);
  height: min(2.70833316vw, 52px);
  border-radius: 50%;
  background: #af0009;
  color: #ffffff;
  -webkit-transition: background-color 0.3s ease, opacity 0.3s ease;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-caseSlider__btn {
    width: min(8.5vw, 34px);
    height: min(8.5vw, 34px);
  }
}
.p-caseSlider__btn svg {
  width: min(0.83333328vw, 16px);
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-caseSlider__btn svg {
    width: min(2.75vw, 11px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-caseSlider__btn:hover {
    background: #8b0c12;
  }
}
.p-caseSlider__btn[disabled] {
  opacity: 0.35;
  cursor: default;
}

.p-caseResult {
  margin-top: min(2.91666648vw, 56px);
}
@media screen and (max-width: 768px) {
  .p-caseResult {
    margin-top: min(7.5vw, 30px);
  }
}

.p-caseResult__box {
  position: relative;
  display: grid;
  place-items: center;
  min-height: min(8.3333328vw, 160px);
  margin-top: min(1.24999992vw, 24px);
  padding: min(2.29166652vw, 44px) min(2.0833332vw, 40px) min(1.66666656vw, 32px);
  background: #af0009;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-caseResult__box {
    min-height: min(21vw, 84px);
    margin-top: min(3.5vw, 14px);
    padding: min(6.5vw, 26px) min(4vw, 16px) min(4.5vw, 18px);
  }
}

.p-caseResult__label {
  position: absolute;
  top: min(-1.24999992vw, -24px);
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  min-width: min(9.3749994vw, 180px);
  padding: min(0.41666664vw, 8px) min(1.24999992vw, 24px);
  border-radius: min(0.41666664vw, 8px);
  background: #ffffff;
  color: #af0009;
  font-size: clamp(16px, 1.0416666vw, 20px);
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-caseResult__label {
    top: min(-3.5vw, -14px);
    min-width: min(25vw, 100px);
    padding: min(1vw, 4px) min(3.5vw, 14px);
    border-radius: min(1.25vw, 5px);
    font-size: clamp(12px, 3.5vw, 14px);
  }
}

.p-caseResult__title {
  font-size: clamp(16px, 1.5624999vw, 30px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-caseResult__title {
    font-size: clamp(16px, 4.25vw, 17px);
  }
}

.p-caseResult__list {
  margin-top: min(2.91666648vw, 56px);
}
@media screen and (max-width: 768px) {
  .p-caseResult__list {
    margin-top: min(6.5vw, 26px);
  }
}

.p-caseResult__item + .p-caseResult__item {
  margin-top: min(2.91666648vw, 56px);
}
@media screen and (max-width: 768px) {
  .p-caseResult__item + .p-caseResult__item {
    margin-top: min(6.5vw, 26px);
  }
}

.p-caseResult__itemLabel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(0.72916662vw, 14px);
  padding-bottom: min(0.93749994vw, 18px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
  color: #af0009;
  font-size: clamp(16px, 1.35416658vw, 26px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-caseResult__itemLabel {
    gap: min(2vw, 8px);
    padding-bottom: min(2.5vw, 10px);
    font-size: clamp(16px, 4vw, 16px);
  }
}
.p-caseResult__itemLabel .c-icon--check {
  width: min(1.5624999vw, 30px);
  height: min(1.5624999vw, 30px);
  color: #af0009;
}
@media screen and (max-width: 768px) {
  .p-caseResult__itemLabel .c-icon--check {
    width: min(4.5vw, 18px);
    height: min(4.5vw, 18px);
  }
}

.p-caseResult__itemText {
  margin-top: min(1.0416666vw, 20px);
  padding-left: min(2.29166652vw, 44px);
  font-size: clamp(16px, 0.93749994vw, 18px);
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-caseResult__itemText {
    margin-top: min(2.5vw, 10px);
    padding-left: min(6.5vw, 26px);
    font-size: clamp(12px, 3.5vw, 14px);
  }
}

.p-caseDetail__body {
  margin-top: min(3.74999976vw, 72px);
  font-size: clamp(16px, 0.93749994vw, 18px);
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .p-caseDetail__body {
    margin-top: min(7.5vw, 30px);
    font-size: clamp(12px, 3.5vw, 14px);
  }
}
.p-caseDetail__body > * + * {
  margin-top: 1.5em;
}
.p-caseDetail__body h2,
.p-caseDetail__body h3,
.p-caseDetail__body h4 {
  font-weight: 700;
  line-height: 1.5;
}
.p-caseDetail__body h2 {
  font-size: clamp(16px, 1.45833324vw, 28px);
}
@media screen and (max-width: 768px) {
  .p-caseDetail__body h2 {
    font-size: clamp(16px, 4.5vw, 18px);
  }
}
.p-caseDetail__body h3 {
  font-size: clamp(16px, 1.14583326vw, 22px);
}
@media screen and (max-width: 768px) {
  .p-caseDetail__body h3 {
    font-size: clamp(16px, 4vw, 16px);
  }
}
.p-caseDetail__body a {
  color: #af0009;
  text-decoration: underline;
}
.p-caseDetail__body img {
  max-width: 100%;
  height: auto;
}
.p-caseDetail__body ul,
.p-caseDetail__body ol {
  padding-left: 1.4em;
  list-style: revert;
}

.p-caseDetail__back {
  margin-top: min(3.33333312vw, 64px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-caseDetail__back {
    margin-top: min(7vw, 28px);
  }
}
.p-caseDetail__back .c-btn {
  min-width: min(20.20833204vw, 388px);
  min-height: min(3.74999976vw, 72px);
  padding-inline: min(2.0833332vw, 40px) min(0.5208333vw, 10px);
  font-size: clamp(16px, 1.0416666vw, 20px);
}
@media screen and (max-width: 768px) {
  .p-caseDetail__back .c-btn {
    min-width: min(60vw, 240px);
    min-height: min(12.5vw, 50px);
    padding-inline: min(5.5vw, 22px) min(2vw, 8px);
    font-size: clamp(13px, 3.75vw, 15px);
  }
}
.p-caseDetail__back .c-btn__arrow {
  width: min(2.70833316vw, 52px);
  height: min(2.70833316vw, 52px);
  background: #ffffff;
  color: #af0009;
}
@media screen and (max-width: 768px) {
  .p-caseDetail__back .c-btn__arrow {
    width: min(8.5vw, 34px);
    height: min(8.5vw, 34px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-caseDetail__back .c-btn--solid:hover {
    background: #8b0c12;
  }
  .p-caseDetail__back .c-btn--solid:hover .c-btn__arrow {
    background: #ffffff;
    color: #8b0c12;
  }
}

.p-caseRelated {
  padding-bottom: min(7.91666616vw, 152px);
}
@media screen and (max-width: 768px) {
  .p-caseRelated {
    padding-bottom: min(12vw, 48px);
  }
}

.p-page {
  padding-bottom: min(6.2499996vw, 120px);
}
@media screen and (max-width: 768px) {
  .p-page {
    padding-bottom: min(14vw, 56px);
  }
}

.p-page__head {
  padding-block: min(9.3749994vw, 180px) min(2.49999984vw, 48px);
  border-bottom: 1px solid #ecebeb;
}
@media screen and (max-width: 768px) {
  .p-page__head {
    padding-block: min(24vw, 96px) min(6vw, 24px);
  }
}

.p-page__title {
  font-size: clamp(16px, 1.87499988vw, 36px);
  font-weight: 700;
  line-height: 1.4;
  color: #af0009;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .p-page__title {
    font-size: clamp(16px, 5.5vw, 22px);
  }
}

.p-page__body {
  margin-top: min(2.91666648vw, 56px);
  font-size: clamp(16px, 0.93749994vw, 18px);
  line-height: 1.9;
}
@media screen and (max-width: 768px) {
  .p-page__body {
    margin-top: min(6.5vw, 26px);
    font-size: clamp(12px, 3.5vw, 14px);
  }
}
.p-page__body > * + * {
  margin-top: 1.4em;
}
.p-page__body h2 {
  margin-top: 2em;
  font-size: clamp(16px, 1.24999992vw, 24px);
  font-weight: 700;
  line-height: 1.5;
  color: #af0009;
}
@media screen and (max-width: 768px) {
  .p-page__body h2 {
    font-size: clamp(16px, 4.25vw, 17px);
  }
}
.p-page__body h3 {
  margin-top: 1.8em;
  font-size: clamp(16px, 1.0416666vw, 20px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-page__body h3 {
    font-size: clamp(13px, 3.75vw, 15px);
  }
}
.p-page__body ul,
.p-page__body ol {
  padding-left: 1.4em;
  list-style: revert;
}
.p-page__body li + li {
  margin-top: 0.4em;
}
.p-page__body a {
  color: #af0009;
  text-decoration: underline;
}
.p-page__body table {
  width: 100%;
  border-collapse: collapse;
}
.p-page__body table th,
.p-page__body table td {
  padding: min(0.72916662vw, 14px) min(0.93749994vw, 18px);
  border: 1px solid #ecebeb;
  text-align: left;
  vertical-align: top;
}
@media screen and (max-width: 768px) {
  .p-page__body table th,
  .p-page__body table td {
    padding: min(2vw, 8px) min(2.5vw, 10px);
  }
}
.p-page__body table th {
  width: 30%;
  color: #af0009;
  font-weight: 700;
}
.p-page__body img {
  max-width: 100%;
  height: auto;
}

.p-page__back {
  margin-top: min(3.74999976vw, 72px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-page__back {
    margin-top: min(8vw, 32px);
  }
}
.p-page__back .c-btn {
  min-width: min(16.6666656vw, 320px);
}
@media screen and (max-width: 768px) {
  .p-page__back .c-btn {
    min-width: min(55vw, 220px);
  }
}

.p-field {
  padding-top: min(7.13541621vw, 137px);
  padding-bottom: min(5.15624967vw, 99px);
}
@media screen and (max-width: 768px) {
  .p-field {
    padding-top: min(11vw, 44px);
    padding-bottom: min(12vw, 48px);
  }
}

.p-field__lead {
  margin-top: min(2.70833316vw, 52px);
  font-size: clamp(16px, 1.35416658vw, 26px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-field__lead {
    margin-top: min(5vw, 20px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-field__text {
  margin-top: min(1.0416666vw, 20px);
  font-size: clamp(16px, 0.93749994vw, 18px);
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .p-field__text {
    margin-top: min(5vw, 20px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}
.p-field__text--narrow {
  max-width: min(39.5833308vw, 760px);
}
@media screen and (max-width: 768px) {
  .p-field__text--narrow {
    max-width: none;
  }
}

.p-field__quality {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: min(1.14583326vw, 22px);
  margin-top: min(2.49999984vw, 48px);
}
@media screen and (max-width: 768px) {
  .p-field__quality {
    grid-template-columns: 1fr;
    gap: min(2.5vw, 10px);
    margin-top: min(6vw, 24px);
  }
}

.p-field__qualityItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: min(4.47916638vw, 86px);
  padding: min(0.5208333vw, 10px) min(0.72916662vw, 14px);
  border: 2px solid #af0009;
  border-radius: min(0.72916662vw, 14px);
  color: #af0009;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-field__qualityItem {
    min-height: min(25vw, 100px);
    padding: min(2vw, 8px) min(3vw, 12px);
    border-radius: min(4vw, 16px);
  }
}
.p-field__qualityItem strong {
  font-size: clamp(16px, 1.0416666vw, 20px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-field__qualityItem strong {
    font-size: clamp(16px, 6vw, 24px);
  }
}
.p-field__qualityItem span {
  color: #000000;
  font-size: clamp(16px, 0.93749994vw, 18px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-field__qualityItem span {
    font-size: clamp(16px, 5vw, 20px);
  }
}

.p-field__arrow {
  display: grid;
  place-items: center;
  margin-block: min(1.5624999vw, 30px);
  color: #af0009;
}
@media screen and (max-width: 768px) {
  .p-field__arrow {
    margin-block: min(4vw, 16px);
  }
}
.p-field__arrow svg {
  width: min(3.1249998vw, 60px);
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-field__arrow svg {
    width: min(15.75vw, 63px);
  }
}

.p-field__banner {
  padding: min(1.66666656vw, 32px) min(1.24999992vw, 24px);
  border-radius: min(0.83333328vw, 16px);
  background: #af0009;
  color: #ffffff;
  font-size: clamp(16px, 1.35416658vw, 26px);
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-field__banner {
    padding: min(2.5vw, 10px) min(3.5vw, 14px);
    border-radius: min(5vw, 20px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.35;
  }
}

.p-field__cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: min(1.0416666vw, 20px);
  margin-top: min(1.0416666vw, 20px);
}
@media screen and (max-width: 768px) {
  .p-field__cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0;
  }
}

.p-field__col {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}

.p-field__subTitle {
  font-size: clamp(16px, 1.35416658vw, 26px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-field__subTitle {
    margin-top: min(6vw, 24px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-field__label {
  display: inline-block;
  margin-top: min(1.87499988vw, 36px);
  padding: min(0.31249998vw, 6px) min(1.77083322vw, 34px);
  border-radius: min(0.5208333vw, 10px);
  background: #af0009;
  color: #ffffff;
  font-size: clamp(16px, 1.0416666vw, 20px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-field__label {
    display: block;
    margin-top: min(10vw, 40px);
    padding: min(1.25vw, 5px) min(3.5vw, 14px);
    border-radius: min(4vw, 16px) min(4vw, 16px) min(4vw, 16px) 0;
    font-size: clamp(16px, 5vw, 20px);
    text-align: center;
  }
}

.p-field__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 min(1.0416666vw, 20px);
  margin-top: min(0.5208333vw, 10px);
}
@media screen and (max-width: 768px) {
  .p-field__list {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 0;
  }
}

.p-field__listItem {
  padding-block: min(0.83333328vw, 16px);
  border-bottom: 2px dashed #ecebeb;
  font-size: clamp(16px, 0.93749994vw, 18px);
  font-weight: 500;
  color: #af0009;
}
@media screen and (max-width: 768px) {
  .p-field__listItem {
    min-height: min(16.25vw, 65px);
    padding-block: 0;
    font-size: clamp(16px, 4.5vw, 18px);
  }
}

.p-field__photo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 min(41.1458307vw, 790px);
          flex: 0 0 min(41.1458307vw, 790px);
  border-radius: min(0.83333328vw, 16px);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-field__photo {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    margin-top: 0;
    border-radius: min(5vw, 20px);
  }
}
.p-field__photo img {
  width: 100%;
  aspect-ratio: 790/470;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-field__photo img {
    aspect-ratio: 352/206;
  }
}

.p-field__cta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin-top: min(3.1249998vw, 60px);
  border: 2px solid #af0009;
  border-radius: min(0.83333328vw, 16px);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-field__cta {
    display: block;
    margin-top: min(10vw, 40px);
    border-radius: min(5vw, 20px);
  }
}

.p-field__ctaHead {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 44.5%;
          flex: 0 0 44.5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(1.24999992vw, 24px);
  padding: min(2.0833332vw, 40px) min(1.87499988vw, 36px);
  background: #af0009;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .p-field__ctaHead {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: min(6vw, 24px) min(3vw, 12px) min(4.25vw, 17px);
    gap: min(2.5vw, 10px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-field__ctaHead:hover {
    background: #8b0c12;
  }
}

.p-field__ctaText {
  font-size: clamp(16px, 1.35416658vw, 26px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-field__ctaText {
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
    text-align: center;
  }
}

.p-field__needs {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  -ms-flex-line-pack: center;
      align-content: center;
  gap: min(0.72916662vw, 14px) min(2.0833332vw, 40px);
  padding: min(1.66666656vw, 32px) min(2.0833332vw, 40px);
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .p-field__needs {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
    gap: min(2.5vw, 10px);
    padding: min(4vw, 16px) min(0.25vw, 1px) min(5vw, 20px);
  }
}

.p-field__need {
  font-size: clamp(16px, 0.93749994vw, 18px);
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-field__need {
    font-size: clamp(16px, 4.5vw, 18px);
    font-weight: 500;
    line-height: 1.6;
  }
}

.p-stance {
  padding-top: min(3.07291647vw, 59px);
  padding-bottom: min(1.97916654vw, 38px);
}
@media screen and (max-width: 768px) {
  .p-stance {
    padding-top: min(11vw, 44px);
    padding-bottom: min(10.75vw, 43px);
  }
}

.p-stance__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: min(3.1249998vw, 60px);
}
@media screen and (max-width: 768px) {
  .p-stance__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-stance__photo {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 min(41.1458307vw, 790px);
          flex: 0 0 min(41.1458307vw, 790px);
  border-radius: min(0.83333328vw, 16px);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-stance__photo {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    margin-top: min(6vw, 24px);
    border-radius: min(5vw, 20px);
  }
}
.p-stance__photo img {
  width: 100%;
  aspect-ratio: 790/420;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-stance__photo img {
    aspect-ratio: 352/187;
  }
}

.p-stance__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .p-stance__body {
    display: contents;
  }
}

.p-stance__lead {
  margin-top: min(2.0833332vw, 40px);
  font-size: clamp(16px, 1.35416658vw, 26px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-stance__lead {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-top: min(6vw, 24px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-stance__text {
  margin-top: min(1.14583326vw, 22px);
  font-size: clamp(16px, 0.93749994vw, 18px);
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .p-stance__text {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: min(6vw, 24px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-stance .c-carouselNav {
  position: relative;
}

.p-stance__carousel {
  margin-top: min(2.76041649vw, 53px);
}
@media screen and (max-width: 768px) {
  .p-stance__carousel {
    margin-top: min(21.75vw, 87px);
  }
}

.p-step {
  position: relative;
  width: min(23.4374985vw, 450px);
  min-height: min(26.041665vw, 500px);
  border-radius: min(0.72916662vw, 14px);
  overflow: hidden;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: min(1.24999992vw, 24px);
}
@media screen and (max-width: 768px) {
  .p-step {
    width: calc(100vw - min(12vw, 48px));
    min-height: min(96.75vw, 387px);
    border-radius: min(4vw, 16px);
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding: min(14.75vw, 59px) min(2.75vw, 11px) min(7.25vw, 29px);
  }
}
.p-step::before {
  content: "";
  position: absolute;
  inset: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.25)), color-stop(45%, rgba(0, 0, 0, 0.62)), to(rgba(0, 0, 0, 0.78)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.62) 45%, rgba(0, 0, 0, 0.78) 100%);
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-step::before {
    background: rgba(0, 0, 0, 0.4);
  }
}

.p-step__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-step__label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: min(0.5208333vw, 10px);
  padding: min(0.41666664vw, 8px) min(1.35416658vw, 26px) min(0.5208333vw, 10px) min(1.14583326vw, 22px);
  border-radius: min(0.72916662vw, 14px) 0 min(0.72916662vw, 14px) 0;
  background: #af0009;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 600;
  font-size: clamp(12px, 0.93749994vw, 18px);
  letter-spacing: 0.08em;
}
@media screen and (max-width: 768px) {
  .p-step__label {
    gap: min(0.75vw, 3px);
    padding: min(2vw, 8px) min(5.5vw, 22px);
    border-radius: min(4vw, 16px) 0 min(4vw, 16px) 0;
    font-size: clamp(12px, 4vw, 16px);
  }
}
.p-step__label b {
  font-size: clamp(18px, 1.5624999vw, 30px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-step__label b {
    font-size: clamp(15px, 5vw, 20px);
  }
}

.p-step__body {
  position: relative;
  z-index: 2;
}

.p-step__title {
  font-size: clamp(16px, 1.45833324vw, 28px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-step__title {
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-step__lead {
  margin-top: min(0.5208333vw, 10px);
  padding-bottom: min(0.83333328vw, 16px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  font-size: clamp(16px, 0.83333328vw, 16px);
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-step__lead {
    margin-top: min(1.75vw, 7px);
    padding-bottom: 0;
    border-bottom: 0;
    font-size: clamp(16px, 4vw, 16px);
    line-height: 1.625;
  }
}

@media screen and (max-width: 768px) {
  .p-step__line {
    display: block;
    height: 1px;
    margin-top: min(4.25vw, 17px);
    background: #ffffff;
  }
}

.p-step__text {
  margin-top: min(0.83333328vw, 16px);
  font-size: clamp(16px, 0.83333328vw, 16px);
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-step__text {
    margin-top: min(4.25vw, 17px);
    font-size: clamp(16px, 4vw, 16px);
    line-height: 1.625;
  }
}

.p-flow {
  padding-bottom: min(3.1249998vw, 60px);
}
@media screen and (max-width: 768px) {
  .p-flow {
    padding-top: min(5.5vw, 22px);
    padding-bottom: min(11.5vw, 46px);
  }
}

.p-flow__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: min(0.78124995vw, 15px) min(1.0416666vw, 20px);
  margin-top: min(2.91666648vw, 56px);
}
@media screen and (max-width: 768px) {
  .p-flow__list {
    grid-template-columns: 1fr;
    gap: min(1.25vw, 5px);
    margin-top: min(5vw, 20px);
  }
}

.p-flow__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  min-height: min(9.11458275vw, 175px);
  border: 2px solid #af0009;
  border-radius: min(0.72916662vw, 14px);
  background: #ffffff;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-flow__item {
    display: block;
    min-height: 0;
    border: 0;
    border-radius: min(5vw, 20px);
  }
}

.p-flow__num {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  width: min(2.91666648vw, 56px);
  height: min(2.91666648vw, 56px);
  border-radius: min(0.62499996vw, 12px) 0 min(0.62499996vw, 12px) 0;
  background: #af0009;
  color: #ffffff;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(18px, 1.5624999vw, 30px);
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-flow__num {
    width: min(13.75vw, 55px);
    height: min(13.75vw, 55px);
    border-radius: min(3.5vw, 14px) 0 min(3.5vw, 14px) 0;
    font-size: clamp(18px, 8vw, 32px);
  }
}

.p-flow__thumb {
  position: relative;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 min(15.1041657vw, 290px);
          flex: 0 0 min(15.1041657vw, 290px);
  display: block;
  -ms-flex-item-align: stretch;
      align-self: stretch;
}
@media screen and (max-width: 768px) {
  .p-flow__thumb {
    position: static;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
  }
}
.p-flow__thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-flow__thumb img {
    position: static;
    aspect-ratio: 352/165;
  }
}

.p-flow__body {
  display: block;
  padding: min(1.5624999vw, 30px) min(1.45833324vw, 28px);
}
@media screen and (max-width: 768px) {
  .p-flow__body {
    padding: min(5.5vw, 22px) min(2.5vw, 10px) min(6.5vw, 26px);
    border: 2px solid #af0009;
    border-top: 0;
    border-radius: 0 0 min(5vw, 20px) min(5vw, 20px);
  }
}

.p-flow__title {
  display: block;
  font-size: clamp(16px, 1.35416658vw, 26px);
  font-weight: 700;
  color: #af0009;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-flow__title {
    font-size: clamp(16px, 6vw, 24px);
  }
}

.p-flow__text {
  display: block;
  margin-top: min(0.5208333vw, 10px);
  font-size: clamp(16px, 0.93749994vw, 18px);
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .p-flow__text {
    margin-top: min(2vw, 8px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-faq {
  padding-top: min(3.17708313vw, 61px);
  padding-bottom: min(8.80208277vw, 169px);
}
@media screen and (max-width: 768px) {
  .p-faq {
    padding-top: min(5.5vw, 22px);
    padding-bottom: min(10vw, 40px);
  }
}

.p-faq__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: min(1.0416666vw, 20px);
  margin-top: min(2.91666648vw, 56px);
}
@media screen and (max-width: 768px) {
  .p-faq__list {
    grid-template-columns: 1fr;
    gap: min(1.25vw, 5px);
    margin-top: min(8vw, 32px);
  }
}

.p-faq__item {
  border-radius: min(0.72916662vw, 14px);
  background: #af0009;
  color: #ffffff;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-faq__item {
    border-radius: min(5vw, 20px);
  }
}
.p-faq__item.is-open {
  background: #ffffff;
  border: 2px solid #af0009;
}
.p-faq__item.is-open .p-faq__q {
  background: #af0009;
  margin: -2px;
  width: calc(100% + 4px);
  border-radius: min(0.62499996vw, 12px) min(0.62499996vw, 12px) 0 0;
}
@media screen and (max-width: 768px) {
  .p-faq__item.is-open .p-faq__q {
    border-radius: min(4.5vw, 18px);
  }
}
.p-faq__item.is-open .p-faq__icon .p-faq__iconPlus {
  display: none;
}
.p-faq__item.is-open .p-faq__icon .p-faq__iconClose {
  display: grid;
}
.p-faq__item.is-open .p-faq__a {
  grid-template-rows: 1fr;
}

.p-faq__q {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: min(1.0416666vw, 20px);
  width: 100%;
  min-height: min(4.79166636vw, 92px);
  padding: min(0.83333328vw, 16px) min(1.35416658vw, 26px) min(0.83333328vw, 16px) min(1.77083322vw, 34px);
  text-align: left;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .p-faq__q {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: min(36.75vw, 147px);
    gap: min(3.5vw, 14px);
    padding: min(4.5vw, 18px) min(2.75vw, 11px) min(4vw, 16px);
    text-align: center;
  }
}

.p-faq__qText {
  font-size: clamp(16px, 1.14583326vw, 22px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-faq__qText {
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-faq__icon {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  position: relative;
  width: min(2.18749986vw, 42px);
  height: min(2.18749986vw, 42px);
}
@media screen and (max-width: 768px) {
  .p-faq__icon {
    width: min(8.75vw, 35px);
    height: min(8.75vw, 35px);
  }
}
.p-faq__icon > span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  color: #af0009;
}
.p-faq__icon svg {
  width: 42%;
  height: auto;
}

.p-faq__icon .p-faq__iconClose {
  display: none;
  background: transparent;
  border: 2px solid #ffffff;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .p-faq__icon .p-faq__iconClose {
    border-width: 1px;
  }
}

.p-faq__a {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: grid-template-rows 0.4s ease;
  transition: grid-template-rows 0.4s ease;
  transition: grid-template-rows 0.4s ease, -ms-grid-rows 0.4s ease;
  color: #000000;
}

.p-faq__aInner {
  overflow: hidden;
}
.p-faq__aInner p {
  padding: min(2.39583318vw, 46px) min(1.77083322vw, 34px) min(2.70833316vw, 52px);
  font-size: clamp(16px, 0.93749994vw, 18px);
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .p-faq__aInner p {
    padding: min(4.25vw, 17px) min(2.75vw, 11px) min(5vw, 20px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-contact {
  padding: min(1.35416658vw, 26px) 0 min(4.94791635vw, 95px);
  border-radius: min(5.208333vw, 100px) min(5.208333vw, 100px) 0 0;
  background: #af0009;
  color: #ffffff;
}
@media screen and (max-width: 768px) {
  .p-contact {
    padding: min(5.5vw, 22px) 0 min(5vw, 20px);
    border-radius: min(12.5vw, 50px) min(12.5vw, 50px) 0 0;
  }
}

.p-contact__head {
  text-align: center;
}

.p-contact__en {
  display: block;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(48px, 6.7708329vw, 130px);
  line-height: 1;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.28);
}
@media screen and (max-width: 768px) {
  .p-contact__en {
    font-size: clamp(36px, 16vw, 64px);
    line-height: 1.6;
    letter-spacing: 0;
  }
}

.p-contact__title {
  margin-top: min(0.31249998vw, 6px);
  font-size: clamp(16px, 1.45833324vw, 28px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-contact__title {
    margin-top: calc(-1 * min(4vw, 16px));
    font-size: clamp(16px, 6.5vw, 26px);
    line-height: 1.45;
  }
}

.p-contact__tels {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(4.47916638vw, 86px);
  margin-top: min(2.70833316vw, 52px);
}
@media screen and (max-width: 768px) {
  .p-contact__tels {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    gap: min(3.75vw, 15px);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: min(6.75vw, 27px) auto 0;
  }
}

.p-contact__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(0.93749994vw, 18px);
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: clamp(22px, 2.0833332vw, 40px);
  line-height: 1;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .p-contact__tel {
    gap: min(6.25vw, 25px);
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    font-size: clamp(20px, 8vw, 32px);
    line-height: 1.6;
    letter-spacing: 0;
  }
}
.p-contact__tel img {
  width: min(2.44791651vw, 47px);
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-contact__tel img {
    width: min(11.75vw, 47px);
    margin-right: calc(-1 * min(3.75vw, 15px));
  }
}

@media screen and (max-width: 768px) {
  .p-contact__tel--fax img {
    width: min(12.5vw, 50px);
    margin-right: 0;
  }
}

.p-contact__note {
  margin-top: min(0.72916662vw, 14px);
  font-size: clamp(16px, 0.83333328vw, 16px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__note {
    margin-top: min(2.5vw, 10px);
    font-size: clamp(16px, 4vw, 16px);
    line-height: 1.625;
  }
}
.p-contact__note--bottom {
  margin-top: min(1.0416666vw, 20px);
}
@media screen and (max-width: 768px) {
  .p-contact__note--bottom {
    margin-top: min(3vw, 12px);
  }
}

.p-contact__catch {
  margin-top: min(2.70833316vw, 52px);
  font-size: clamp(16px, 1.35416658vw, 26px);
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__catch {
    margin-top: min(6.75vw, 27px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-contact__text {
  margin-top: min(1.0416666vw, 20px);
  font-size: clamp(16px, 0.93749994vw, 18px);
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__text {
    margin-top: min(6vw, 24px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.6;
  }
}

.p-contact__pill {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: min(2.0833332vw, 40px) auto 0;
  padding: min(0.72916662vw, 14px) min(2.6041665vw, 50px);
  border-radius: 999px;
  background: #ffffff;
  color: #af0009;
  font-size: clamp(16px, 1.14583326vw, 22px);
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__pill {
    width: 100%;
    margin-top: min(9vw, 36px);
    padding: min(2.75vw, 11px) min(2vw, 8px);
    font-size: clamp(16px, 5vw, 20px);
    line-height: 1.3;
  }
}

.p-contact__infos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 min(2.0833332vw, 40px);
  width: min(min(55.7291631vw, 1070px), 100%);
  margin: min(1.35416658vw, 26px) auto 0;
}
@media screen and (max-width: 768px) {
  .p-contact__infos {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 0;
  }
}

.p-contact__info {
  padding-block: min(0.93749994vw, 18px);
  border-bottom: 2px dashed rgba(255, 255, 255, 0.85);
  font-size: clamp(16px, 0.93749994vw, 18px);
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-contact__info {
    min-height: min(16.25vw, 65px);
    padding-block: 0;
    font-size: clamp(16px, 4.5vw, 18px);
  }
}
.p-contact__info .c-icon--check {
  color: #ffffff;
}

.p-contact__form {
  width: min(min(83.333328vw, 1600px), 100%);
  margin: min(3.6458331vw, 70px) auto 0;
}
@media screen and (max-width: 768px) {
  .p-contact__form {
    width: 100%;
    margin-top: min(7.5vw, 30px);
  }
}

.p-thanks {
  display: grid;
  place-items: center;
  min-height: 100svh;
  padding: min(10.416666vw, 200px) 0 min(6.2499996vw, 120px);
  background: #af0009;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-thanks {
    min-height: 80svh;
    padding: min(30vw, 120px) 0 min(15vw, 60px);
  }
}

.p-thanks__title {
  font-size: clamp(16px, 1.87499988vw, 36px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-thanks__title {
    font-size: clamp(16px, 5.5vw, 22px);
  }
}

.p-thanks__text {
  margin-top: min(1.24999992vw, 24px);
  font-size: clamp(16px, 1.0416666vw, 20px);
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .p-thanks__text {
    margin-top: min(3.5vw, 14px);
    font-size: clamp(16px, 4vw, 16px);
  }
}

.p-thanks__action {
  margin-top: min(3.1249998vw, 60px);
}
@media screen and (max-width: 768px) {
  .p-thanks__action {
    margin-top: min(7vw, 28px);
  }
}
.p-thanks__action .c-btn--white {
  min-width: min(20.3124987vw, 390px);
}
@media screen and (max-width: 768px) {
  .p-thanks__action .c-btn--white {
    min-width: min(65vw, 260px);
  }
}

.p-form {
  color: #ffffff;
}

.p-form__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: min(2.0833332vw, 40px);
  margin-bottom: min(1.24999992vw, 24px);
}
@media screen and (max-width: 768px) {
  .p-form__row {
    display: block;
    margin-bottom: min(3vw, 12px);
  }
}

.p-form__label {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 min(20.833332vw, 400px);
          flex: 0 0 min(20.833332vw, 400px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(0.72916662vw, 14px);
  min-height: min(3.85416642vw, 74px);
  font-size: clamp(16px, 1.14583326vw, 22px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-form__label {
    min-height: min(11vw, 44px);
    margin-bottom: 0;
    gap: min(3.75vw, 15px);
    font-size: clamp(16px, 5vw, 20px);
  }
}

.p-form__req {
  display: inline-grid;
  place-items: center;
  padding: min(0.10416666vw, 2px) min(0.5208333vw, 10px);
  border-radius: min(0.26041665vw, 5px);
  background: #ffffff;
  color: #af0009;
  font-size: clamp(11px, 0.72916662vw, 14px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-form__req {
    min-width: min(11.25vw, 45px);
    min-height: min(7.5vw, 30px);
    padding: 0 min(1vw, 4px);
    border-radius: min(1.25vw, 5px);
    font-size: clamp(10px, 3vw, 12px);
  }
}

.p-form__field {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
}

.p-contact input[type=text],
.p-contact input[type=tel],
.p-contact input[type=email],
.p-contact input[type=url],
.p-contact input[type=number],
.p-contact input[type=date],
.p-contact select,
.p-contact textarea {
  width: 100%;
  min-height: min(3.85416642vw, 74px);
  padding: min(0.83333328vw, 16px) min(1.45833324vw, 28px);
  border: 0;
  border-radius: min(0.72916662vw, 14px);
  background: #ffffff;
  color: #000000;
  font-size: clamp(16px, 1.0416666vw, 20px);
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-contact input[type=text],
  .p-contact input[type=tel],
  .p-contact input[type=email],
  .p-contact input[type=url],
  .p-contact input[type=number],
  .p-contact input[type=date],
  .p-contact select,
  .p-contact textarea {
    min-height: min(18.5vw, 74px);
    padding: min(3.5vw, 14px) min(3vw, 12px);
    border-radius: min(5vw, 20px);
    font-size: clamp(16px, 5vw, 20px);
  }
}
.p-contact input[type=text]::-webkit-input-placeholder, .p-contact input[type=tel]::-webkit-input-placeholder, .p-contact input[type=email]::-webkit-input-placeholder, .p-contact input[type=url]::-webkit-input-placeholder, .p-contact input[type=number]::-webkit-input-placeholder, .p-contact input[type=date]::-webkit-input-placeholder, .p-contact select::-webkit-input-placeholder, .p-contact textarea::-webkit-input-placeholder {
  color: #b5b5b5;
}
.p-contact input[type=text]::-moz-placeholder, .p-contact input[type=tel]::-moz-placeholder, .p-contact input[type=email]::-moz-placeholder, .p-contact input[type=url]::-moz-placeholder, .p-contact input[type=number]::-moz-placeholder, .p-contact input[type=date]::-moz-placeholder, .p-contact select::-moz-placeholder, .p-contact textarea::-moz-placeholder {
  color: #b5b5b5;
}
.p-contact input[type=text]:-ms-input-placeholder, .p-contact input[type=tel]:-ms-input-placeholder, .p-contact input[type=email]:-ms-input-placeholder, .p-contact input[type=url]:-ms-input-placeholder, .p-contact input[type=number]:-ms-input-placeholder, .p-contact input[type=date]:-ms-input-placeholder, .p-contact select:-ms-input-placeholder, .p-contact textarea:-ms-input-placeholder {
  color: #b5b5b5;
}
.p-contact input[type=text]::-ms-input-placeholder, .p-contact input[type=tel]::-ms-input-placeholder, .p-contact input[type=email]::-ms-input-placeholder, .p-contact input[type=url]::-ms-input-placeholder, .p-contact input[type=number]::-ms-input-placeholder, .p-contact input[type=date]::-ms-input-placeholder, .p-contact select::-ms-input-placeholder, .p-contact textarea::-ms-input-placeholder {
  color: #b5b5b5;
}
.p-contact input[type=text]::placeholder,
.p-contact input[type=tel]::placeholder,
.p-contact input[type=email]::placeholder,
.p-contact input[type=url]::placeholder,
.p-contact input[type=number]::placeholder,
.p-contact input[type=date]::placeholder,
.p-contact select::placeholder,
.p-contact textarea::placeholder {
  color: #b5b5b5;
}

.p-contact textarea {
  min-height: min(17.7083322vw, 340px);
  resize: vertical;
}
@media screen and (max-width: 768px) {
  .p-contact textarea {
    min-height: min(45vw, 180px);
  }
}

.p-form__file {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1.24999992vw, 24px);
  min-height: min(3.85416642vw, 74px);
  padding: min(0.5208333vw, 10px) min(1.0416666vw, 20px) min(0.5208333vw, 10px) min(0.5208333vw, 10px);
  border-radius: min(0.72916662vw, 14px);
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .p-form__file {
    min-height: min(11.5vw, 46px);
    gap: min(2.5vw, 10px);
    padding: min(1.5vw, 6px) min(2.5vw, 10px) min(1.5vw, 6px) min(1.5vw, 6px);
    border-radius: min(2vw, 8px);
  }
}

.p-form__fileBtn {
  display: grid;
  place-items: center;
  min-width: min(10.72916598vw, 206px);
  min-height: min(2.81249982vw, 54px);
  border-radius: min(0.5208333vw, 10px);
  background: #af0009;
  color: #ffffff;
  font-size: clamp(16px, 0.93749994vw, 18px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-form__fileBtn {
    min-width: min(27.5vw, 110px);
    min-height: min(8.5vw, 34px);
    border-radius: min(1.5vw, 6px);
    font-size: clamp(12px, 3.25vw, 13px);
  }
}

.p-form__fileText {
  color: #b5b5b5;
  font-size: clamp(16px, 1.0416666vw, 20px);
}
@media screen and (max-width: 768px) {
  .p-form__fileText {
    font-size: clamp(12px, 3.5vw, 14px);
  }
}

.p-form__check {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1.0416666vw, 20px);
  font-size: clamp(16px, 1.14583326vw, 22px);
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .p-form__check {
    gap: min(2.5vw, 10px);
    font-size: clamp(13px, 3.75vw, 15px);
  }
}
.p-form__check input[type=checkbox] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: min(2.0833332vw, 40px);
  height: min(2.0833332vw, 40px);
  border-radius: min(0.41666664vw, 8px);
  background: #ffffff;
}
@media screen and (max-width: 768px) {
  .p-form__check input[type=checkbox] {
    width: min(5.5vw, 22px);
    height: min(5.5vw, 22px);
    border-radius: min(1.25vw, 5px);
  }
}
.p-form__check input[type=checkbox]:checked::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #af0009;
  -webkit-clip-path: polygon(14% 48%, 8% 58%, 40% 86%, 92% 24%, 82% 16%, 38% 68%);
          clip-path: polygon(14% 48%, 8% 58%, 40% 86%, 92% 24%, 82% 16%, 38% 68%);
}

.p-form__submit {
  margin-top: min(3.1249998vw, 60px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-form__submit {
    margin-top: min(6vw, 24px);
  }
}
.p-form__submit .c-btn--white {
  min-width: min(20.3124987vw, 390px);
}
@media screen and (max-width: 768px) {
  .p-form__submit .c-btn--white {
    width: 100%;
    min-width: 0;
  }
}

.p-form--dummy input,
.p-form--dummy textarea,
.p-form--dummy button {
  cursor: default;
}

#daieiForm .forminator-ui.forminator-custom-form {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-row {
  margin: 0 0 min(1.30208325vw, 25px) !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-row {
    margin-bottom: min(3vw, 12px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-col {
  padding: 0 !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-field {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -ms-flex-wrap: wrap !important;
      flex-wrap: wrap !important;
  -webkit-box-align: start !important;
      -ms-flex-align: start !important;
          align-items: flex-start !important;
  gap: min(0.78124995vw, 15px) !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-field {
    display: block !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-label {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 min(20.833332vw, 400px) !important;
          flex: 0 0 min(20.833332vw, 400px) !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: min(0.72916662vw, 14px) !important;
  min-height: min(3.90624975vw, 75px) !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: clamp(16px, 1.14583326vw, 22px) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-transform: none !important;
  letter-spacing: 0.04em !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-label {
    min-height: min(11vw, 44px) !important;
    margin-bottom: 0 !important;
    gap: min(3.75vw, 15px) !important;
    font-size: clamp(16px, 5vw, 20px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-required {
  display: inline-grid !important;
  place-items: center !important;
  padding: min(0.10416666vw, 2px) min(0.5208333vw, 10px) !important;
  border-radius: min(0.26041665vw, 5px) !important;
  background: #ffffff !important;
  color: #af0009 !important;
  font-size: 0 !important;
  line-height: 1.4 !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-required {
    min-width: min(11.25vw, 45px) !important;
    min-height: min(7.5vw, 30px) !important;
    padding: 0 min(1vw, 4px) !important;
    border-radius: min(1.25vw, 5px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-required::after {
  content: "必須" !important;
  color: #af0009 !important;
  font-size: clamp(11px, 0.72916662vw, 14px) !important;
  font-weight: 700 !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-required::after {
    font-size: clamp(10px, 3vw, 12px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-input,
#daieiForm .forminator-ui.forminator-custom-form .forminator-textarea,
#daieiForm .forminator-ui.forminator-custom-form .forminator-file-upload,
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__wrapper,
#daieiForm .forminator-ui.forminator-custom-form .forminator-field > select {
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 1 0% !important;
          flex: 1 1 0% !important;
  min-width: 0 !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-input,
#daieiForm .forminator-ui.forminator-custom-form .forminator-textarea {
  width: 100% !important;
  min-height: min(3.90624975vw, 75px) !important;
  padding: min(0.83333328vw, 16px) min(1.45833324vw, 28px) !important;
  border: 0 !important;
  border-radius: min(0.72916662vw, 14px) !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-size: clamp(16px, 1.0416666vw, 20px) !important;
  line-height: 1.6 !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-input,
  #daieiForm .forminator-ui.forminator-custom-form .forminator-textarea {
    min-height: min(18.5vw, 74px) !important;
    padding: min(3.5vw, 14px) min(3vw, 12px) !important;
    border-radius: min(5vw, 20px) !important;
    font-size: clamp(16px, 5vw, 20px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-input::-webkit-input-placeholder, #daieiForm .forminator-ui.forminator-custom-form .forminator-textarea::-webkit-input-placeholder {
  color: #b5b5b5 !important;
  opacity: 1 !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-input::-moz-placeholder, #daieiForm .forminator-ui.forminator-custom-form .forminator-textarea::-moz-placeholder {
  color: #b5b5b5 !important;
  opacity: 1 !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-input:-ms-input-placeholder, #daieiForm .forminator-ui.forminator-custom-form .forminator-textarea:-ms-input-placeholder {
  color: #b5b5b5 !important;
  opacity: 1 !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-input::-ms-input-placeholder, #daieiForm .forminator-ui.forminator-custom-form .forminator-textarea::-ms-input-placeholder {
  color: #b5b5b5 !important;
  opacity: 1 !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-input::placeholder,
#daieiForm .forminator-ui.forminator-custom-form .forminator-textarea::placeholder {
  color: #b5b5b5 !important;
  opacity: 1 !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-textarea {
  min-height: min(17.44791555vw, 335px) !important;
  resize: vertical !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-textarea {
    min-height: min(45vw, 180px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-file-upload {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: min(1.24999992vw, 24px) !important;
  min-height: min(3.90624975vw, 75px) !important;
  padding: min(0.5208333vw, 10px) min(1.0416666vw, 20px) min(0.5208333vw, 10px) min(0.5208333vw, 10px) !important;
  border: 0 !important;
  border-radius: min(0.72916662vw, 14px) !important;
  background: #ffffff !important;
  color: #b5b5b5 !important;
  font-size: clamp(16px, 1.0416666vw, 20px) !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-file-upload {
    min-height: min(18.5vw, 74px) !important;
    gap: min(2.5vw, 10px) !important;
    padding: min(1.5vw, 6px) min(2.5vw, 10px) min(1.5vw, 6px) min(1.5vw, 6px) !important;
    border-radius: min(5vw, 20px) !important;
    font-size: clamp(12px, 3.5vw, 14px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-file-upload .forminator-button-upload {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 auto !important;
          flex: 0 0 auto !important;
  display: grid !important;
  place-items: center !important;
  min-width: min(10.72916598vw, 206px) !important;
  min-height: min(2.81249982vw, 54px) !important;
  padding: 0 min(0.83333328vw, 16px) !important;
  border: 0 !important;
  border-radius: min(0.5208333vw, 10px) !important;
  background: #af0009 !important;
  color: #ffffff !important;
  font-size: clamp(16px, 0.93749994vw, 18px) !important;
  font-weight: 700 !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-file-upload .forminator-button-upload {
    min-width: min(27.5vw, 110px) !important;
    min-height: min(8.5vw, 34px) !important;
    border-radius: min(1.5vw, 6px) !important;
    font-size: clamp(12px, 3.25vw, 13px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__wrapper {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  gap: min(1.0416666vw, 20px) !important;
  min-height: min(3.90624975vw, 75px) !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__wrapper {
    min-height: 0 !important;
    gap: min(2.5vw, 10px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-hidden.forminator-hidden {
  display: none !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox {
  margin: 0 !important;
  padding: 0 !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox input + .forminator-checkbox-box {
  -webkit-box-flex: 0 !important;
      -ms-flex: 0 0 auto !important;
          flex: 0 0 auto !important;
  width: min(2.0833332vw, 40px) !important;
  min-width: min(2.0833332vw, 40px) !important;
  height: min(2.0833332vw, 40px) !important;
  margin: 0 !important;
  border-radius: min(0.41666664vw, 8px) !important;
  border: 1px solid #ffffff;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox input + .forminator-checkbox-box {
    width: min(5.5vw, 22px) !important;
    min-width: min(5.5vw, 22px) !important;
    height: min(5.5vw, 22px) !important;
    border-radius: min(1.25vw, 5px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box.forminator-checkbox-box {
  border-color: #ffffff !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box.forminator-checkbox-box::before {
  border-color: #af0009 !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__wrapper,
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__wrapper *:not(.forminator-checkbox-box),
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__wrapper a:hover,
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__wrapper a:focus,
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__wrapper a:visited,
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__wrapper a:active {
  color: #ffffff !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__label {
  color: #ffffff !important;
  font-size: clamp(16px, 1.14583326vw, 22px) !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__label {
    font-size: clamp(13px, 3.75vw, 15px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__label p {
  margin: 0 !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-checkbox__label a {
  color: #ffffff !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-pagination-footer {
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  gap: min(1.0416666vw, 20px) !important;
  margin-top: min(5.7291663vw, 110px) !important;
  padding: 0 !important;
  border: 0 !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-pagination-footer {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important;
    margin-top: min(6vw, 24px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-button-next,
#daieiForm .forminator-ui.forminator-custom-form .forminator-button-submit,
#daieiForm .forminator-ui.forminator-custom-form .forminator-button-back {
  display: -webkit-inline-box !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-box-align: center !important;
      -ms-flex-align: center !important;
          align-items: center !important;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  min-width: min(20.3124987vw, 390px) !important;
  min-height: min(3.90624975vw, 75px) !important;
  padding: 0 min(2.0833332vw, 40px) !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: #af0009 !important;
  font-size: clamp(16px, 1.0416666vw, 20px) !important;
  font-weight: 700 !important;
  text-transform: none !important;
  letter-spacing: 0.04em !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-button-next,
  #daieiForm .forminator-ui.forminator-custom-form .forminator-button-submit,
  #daieiForm .forminator-ui.forminator-custom-form .forminator-button-back {
    -webkit-box-pack: start !important;
        -ms-flex-pack: start !important;
            justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: min(16.25vw, 65px) !important;
    padding: 0 min(6.5vw, 26px) !important;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 35 35'%3E%3Ccircle cx='17.5' cy='17.5' r='17.5' fill='%23af0009'/%3E%3Cpath d='M18 14.5v2H9v2h9v2l8-3-8-3z' fill='%23fff'/%3E%3C/svg%3E") no-repeat right min(4vw, 16px) center/min(8.75vw, 35px) !important;
    font-size: clamp(16px, 5vw, 20px) !important;
    font-weight: 500 !important;
  }
}
@media (hover: hover) and (pointer: fine) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-button-next:hover,
  #daieiForm .forminator-ui.forminator-custom-form .forminator-button-submit:hover,
  #daieiForm .forminator-ui.forminator-custom-form .forminator-button-back:hover {
    background: #8b0c12 !important;
    color: #ffffff !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-button-next {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
  text-align: left !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-button-back {
  min-width: min(11.4583326vw, 220px) !important;
  background: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-error-message {
  -webkit-box-ordinal-group: 11 !important;
      -ms-flex-order: 10 !important;
          order: 10 !important;
  -webkit-box-flex: 1 !important;
      -ms-flex: 1 1 100% !important;
          flex: 1 1 100% !important;
  min-width: 0 !important;
  width: auto !important;
  margin: min(0.41666664vw, 8px) 0 0 calc(min(20.833332vw, 400px) + min(0.78124995vw, 15px)) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  color: #000000 !important;
  font-size: clamp(16px, 0.83333328vw, 16px) !important;
  line-height: 1.5 !important;
  text-align: left !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .forminator-error-message {
    margin: min(1.5vw, 6px) 0 0 !important;
    font-size: clamp(12px, 3.5vw, 14px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-error-message::before, #daieiForm .forminator-ui.forminator-custom-form .forminator-error-message::after {
  display: none !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-response-message {
  color: #ffffff !important;
  font-size: clamp(16px, 0.83333328vw, 16px) !important;
}
#daieiForm .forminator-ui.forminator-custom-form .forminator-field-html .forminator-field {
  display: block !important;
}
#daieiForm .forminator-ui.forminator-custom-form .fm-confirm {
  width: min(min(52.08333vw, 1000px), 100%) !important;
  margin-inline: auto !important;
}
#daieiForm .forminator-ui.forminator-custom-form .fm-confirm__lead {
  margin-bottom: min(1.24999992vw, 24px) !important;
  font-size: clamp(16px, 1.0416666vw, 20px) !important;
  text-align: center !important;
}
#daieiForm .forminator-ui.forminator-custom-form .fm-confirm__table {
  width: 100% !important;
  background: #ffffff !important;
  color: #000000 !important;
  border-radius: min(0.72916662vw, 14px) !important;
  overflow: hidden !important;
}
#daieiForm .forminator-ui.forminator-custom-form .fm-confirm__table th,
#daieiForm .forminator-ui.forminator-custom-form .fm-confirm__table td {
  padding: min(0.93749994vw, 18px) min(1.45833324vw, 28px) !important;
  border-bottom: 1px solid #ecebeb !important;
  font-size: clamp(16px, 0.93749994vw, 18px) !important;
  text-align: left !important;
  vertical-align: top !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .fm-confirm__table th,
  #daieiForm .forminator-ui.forminator-custom-form .fm-confirm__table td {
    display: block !important;
    padding: min(2.5vw, 10px) min(3.5vw, 14px) !important;
    font-size: clamp(13px, 3.75vw, 15px) !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .fm-confirm__table th {
  width: min(20.833332vw, 400px) !important;
  color: #af0009 !important;
  font-weight: 700 !important;
}
@media screen and (max-width: 768px) {
  #daieiForm .forminator-ui.forminator-custom-form .fm-confirm__table th {
    width: auto !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }
}
#daieiForm .forminator-ui.forminator-custom-form .fm-confirm__table td {
  color: #000000 !important;
}/*# sourceMappingURL=style.css.map */