@charset "UTF-8";
/* ===== Util / Components ===== */
.c-section-padding {
  padding-block: 64px;
}
@media (max-width: 768px) {
  .c-section-padding {
    padding-block: 20px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .c-section-padding {
    padding-block: 40px;
  }
}

.c-sectionTitle {
  font-size: 60px;
  font-size: clamp(2.5rem, 0.89rem + 3.35vw, 3.75rem);
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
@media (max-width: 768px) {
  .c-sectionTitle {
    font-size: clamp(1.25rem, 0.534375rem + 3.053vw, 2rem);
  }
}

/* 視覚的に非表示（スクリーンリーダーには表示） */
/* ===== Base / Reset (universal) ===== */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  max-width: 1366px;
  margin: 0 auto;
  padding: 0;
  height: 100%;
  min-height: 100vh;
  -webkit-text-size-adjust: 100%;
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
body {
  max-width: 1366px;
  margin-inline: auto;
  background-color: #fff;
  background: #f5f5f5;
  /* fonts */
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #000;
}

.main {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}

ul, ol, li {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

/* Links */
a {
  color: inherit;
  text-decoration: none;
}

/* Media elements */
img,
picture,
video,
canvas {
  max-width: 100%;
  height: auto;
  display: block;
}

/* form */
button,
input,
textarea,
select {
  font: inherit;
}

.sp-only {
  display: none;
}
@media (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

.pc-only {
  display: block;
}
@media (max-width: 768px) {
  .pc-only {
    display: none;
  }
}

/* ===== Layout / Header ===== */
/* ===== Layout / menu ===== */
/* ===== Layout / Footer ===== */
.footer__top {
  padding-block: 24px 16px;
  background-color: #900C19;
}
@media (max-width: 768px) {
  .footer__top {
    padding-block: 8px 6px;
  }
}

.footer__list {
  display: flex;
  justify-content: center;
  gap: 40px;
}

.footer__link {
  font-size: 16px;
  line-height: 1.96;
  color: #fff;
}
@media (max-width: 768px) {
  .footer__link {
    font-size: 12px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .footer__link {
    font-size: 14px;
  }
}

.footer__copyright {
  padding-block: 8px;
  font-size: 14px;
  color: #000;
  text-align: center;
  background-color: #B9B9B9;
}
@media (max-width: 768px) {
  .footer__copyright {
    padding-block: 6px 8px;
    font-size: 10px;
  }
}

/* ===== Pages / hero ===== */
.hero {
  position: relative;
  background: url(../images/hero.webp);
  background-size: cover;
  background-position: 80% 0;
  aspect-ratio: 1366/608;
}
@media (max-width: 768px) {
  .hero {
    background: url(../images/hero-sp.webp);
    background-size: cover;
    background-position: center bottom;
    aspect-ratio: 750/1221;
  }
}

.hero__inner {
  padding-top: 45px;
  padding-bottom: 26px;
  padding-left: clamp(42px, -464.01px + 49.415vw, 211px);
}
@media (max-width: 768px) {
  .hero__inner {
    padding-top: 30px;
    padding-inline: 16px;
    text-align: center;
  }
}

.hero__title {
  width: clamp(200px, -279.06px + 46.784vw, 360px);
  height: auto;
}
@media (max-width: 768px) {
  .hero__title {
    margin-inline: auto;
    width: 226px;
    width: clamp(226px, -16.37px + 64.631vw, 480px);
  }
}

.hero__title img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hero__bottom-wrap {
  display: flex;
  gap: clamp(16px, -31.91px + 4.678vw, 32px);
}
@media (max-width: 768px) {
  .hero__bottom-wrap {
    display: block;
  }
}

.hero__title-en {
  margin-top: 16px;
  padding-left: 8px;
  font-size: 40px;
  font-size: clamp(34px, 15.91px + 2.353vw, 40px);
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}
@media (max-width: 768px) {
  .hero__title-en {
    font-size: clamp(34px, -9.89px + 11.705vw, 80px);
    margin-top: 4px;
    padding-left: 0;
  }
}

.hero__sub-title {
  margin-top: 8px;
  padding-left: 8px;
  font-size: clamp(14px, -16.16px + 3.922vw, 24px);
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
}
@media (max-width: 768px) {
  .hero__sub-title {
    margin-top: 0px;
    padding-left: 0;
    font-size: clamp(14px, -1.27px + 4.071vw, 30px);
  }
}

.hero__badge {
  width: 557px;
  width: clamp(400px, -73.46px + 61.569vw, 557px);
  height: auto;
}
@media (max-width: 768px) {
  .hero__badge {
    position: absolute;
    left: 50%;
    bottom: 9px;
    translate: -50% 0;
    width: calc(100% - 40px);
    height: auto;
  }
}

.hero__badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 768px) {
  .hero__badge img {
    max-width: 600px;
    margin-inline: auto;
  }
}

/* ===== Pages / campaign ===== */
.campaign {
  margin-top: -5px;
  background-color: #000;
  color: #fff;
}

.campaign__inner {
  padding: 40px 48px;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .campaign__inner {
    padding: 20px 24px;
  }
}
@media (max-width: 768px) {
  .campaign__inner {
    padding: 20px 8px;
  }
}

.campaign__wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 42px;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .campaign__wrap {
    gap: 8px;
  }
}
@media (max-width: 768px) {
  .campaign__wrap {
    gap: 8px;
  }
}

.campaign__left-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.campaign__labelWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.campaign__label {
  padding: 4px 10px;
  font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "MS PMincho", serif;
  font-size: clamp(0.9375rem, -0.00375rem + 1.961vw, 1.25rem);
  font-weight: 700;
  line-height: 1.3;
  border: 1px solid #fff;
}
@media (max-width: 768px) {
  .campaign__label {
    font-size: clamp(10px, 2.37px + 2.036vw, 18px);
    padding: 2px 4px;
  }
}

.campaign__text {
  font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "MS PMincho", serif;
  font-size: clamp(1.1875rem, -0.883125rem + 4.314vw, 1.875rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .campaign__text {
    font-size: clamp(14px, 4.46px + 2.545vw, 24px);
  }
}

.campaign__old-price {
  font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "MS PMincho", serif;
  font-size: clamp(4.5rem, -0.0175rem + 9.412vw, 6rem);
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 768px) {
  .campaign__old-price {
    font-size: 48px;
  }
}

.campaign__unit {
  font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "MS PMincho", serif;
  font-size: clamp(1.5rem, -0.75875rem + 4.706vw, 2.25rem);
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 768px) {
  .campaign__unit {
    font-size: clamp(14px, 4.46px + 2.545vw, 24px);
  }
}

.campaign__arrow {
  width: 24px;
  height: auto;
  margin-inline: 6px;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .campaign__arrow {
    margin-inline: 4px;
  }
}
@media (max-width: 768px) {
  .campaign__arrow {
    width: 3.652%;
    margin-inline: 0;
  }
}

.campaign__arrow img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

@media (max-width: 768px) {
  .campaign__free {
    width: 100px;
  }
}

.campaign__bottom-wrap {
  display: flex;
  gap: 50px;
}
@media (max-width: 768px) {
  .campaign__bottom-wrap {
    gap: 8px;
  }
}

.campaign__button {
  position: relative;
  padding: 18px 80px;
  font-size: clamp(1rem, 0.246875rem + 1.569vw, 1.25rem);
  font-weight: 700;
  line-height: 1.3;
  background-color: #900C19;
  border-radius: 50vh;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .campaign__button {
    padding: 14px 54px 14px 32px;
  }
}
@media (max-width: 768px) {
  .campaign__button {
    padding: 10px 24px 10px 14px;
    font-size: 11px;
    line-height: 1;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .campaign__button {
    padding: 12px 32px 12px 16px;
  }
}

.campaign__button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 22px;
  translate: 0 -50%;
  width: 24px;
  height: 24px;
  background: url(../images/campaign-button-arrow.svg) no-repeat center center/contain;
}
@media (max-width: 768px) {
  .campaign__button::after {
    right: 8px;
    width: 12px;
    height: 12px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .campaign__button::after {
    right: 12px;
    width: 16px;
    height: 16px;
  }
}

/* floating CTA */
.campaign--floating {
  position: fixed;
  bottom: 0;
  left: 50%;
  width: 1366px;
  z-index: 100;
  transform: translateX(-50%) translateY(100%);
  transition: transform 0.3s ease-out;
  pointer-events: none;
}
.campaign--floating.is-visible {
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}
.campaign--floating .campaign__inner {
  padding: 8px 48px;
}
.campaign--floating .campaign__wrap {
  flex-direction: row;
  gap: clamp(24px, -158.64px + 17.836vw, 85px);
}
@media (max-width: 768px) {
  .campaign--floating .campaign__wrap {
    gap: 8px;
  }
}
@media (max-width: 768px) {
  .campaign--floating .campaign__left-wrap {
    gap: 4px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .campaign--floating .campaign__left-wrap {
    gap: 8px;
  }
}
@media (max-width: 768px) {
  .campaign--floating .campaign__old-price {
    font-size: clamp(34px, -7.98px + 11.196vw, 78px);
  }
}
@media (max-width: 768px) {
  .campaign--floating .campaign__free {
    width: clamp(60px, -2.98px + 16.794vw, 126px);
  }
}
@media (max-width: 768px) {
  .campaign--floating .campaign__button {
    padding: 10px 24px 10px 8px;
    font-size: clamp(0.625rem, 0.148125rem + 2.036vw, 1.125rem);
    line-height: 1;
  }
}
@media (max-width: 768px) and (min-width: 577px) and (max-width: 768px) {
  .campaign--floating .campaign__button {
    padding: 12px 32px 12px 16px;
  }
}

/* ===== Pages / about ===== */
.about {
  color: #fff;
  background: linear-gradient(to bottom, #BF1727 0%, #8C0310 100%);
}

.about__lead {
  margin-top: 24px;
  font-size: 24px;
  line-height: 1.57;
  letter-spacing: 0.01em;
  text-align: center;
}
@media (max-width: 768px) {
  .about__lead {
    font-size: 12px;
  }
}

.about__lead span {
  font-size: 32px;
  position: relative;
  z-index: 1;
}
.about__lead span::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 4px;
  background: #FFE000;
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 768px) {
  .about__lead span {
    font-size: 14px;
  }
}

.about__list {
  display: flex;
  justify-content: center;
  margin-top: 40px;
  padding-inline: 20px;
}
@media (max-width: 768px) {
  .about__list {
    margin-top: 8px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .about__list {
    gap: 16px;
  }
}

.about__list--upper {
  margin-bottom: 24px;
  gap: 40px;
}
@media (max-width: 768px) {
  .about__list--upper {
    margin-bottom: 8px;
    gap: 16px;
  }
}

.about__list--lower {
  margin-top: 16px;
  gap: 16px;
}
@media (max-width: 768px) {
  .about__list--lower {
    margin-top: 8px;
    gap: 16px;
  }
}

.about__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 225px;
  height: auto;
  background-color: #fff;
  border-radius: 50%;
  aspect-ratio: 1/1;
}
@media (max-width: 768px) {
  .about__item {
    width: calc((100% - 48px) / 4);
    min-width: 82px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .about__item {
    width: 160px;
  }
}

.about__item-image {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 108px;
  width: auto;
}
@media (max-width: 768px) {
  .about__item-image {
    height: 32px;
    width: fit-content;
    aspect-ratio: 1/1;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .about__item-image {
    height: 48px;
    width: 54.478%;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .about__item-image {
    height: 80px;
    width: 90%;
  }
}

.about__item-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.about__item-text {
  margin-top: 8px;
  color: #900C19;
  text-align: center;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .about__item-text {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  .about__item-text {
    margin-top: 4px;
    font-size: clamp(0.625rem, 0.148125rem + 2.036vw, 1.125rem);
    line-height: 1.14;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .about__item-text {
    margin-top: 16px;
  }
}

.about__bottom-text {
  margin-top: 24px;
  font-size: 24px;
  line-height: 1.57;
  letter-spacing: 0.01em;
  text-align: center;
}
@media (max-width: 768px) {
  .about__bottom-text {
    margin-top: 12px;
    font-size: 12px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .about__bottom-text {
    margin-top: 32px;
    font-size: 18px;
  }
}

/* ===== Pages / about ===== */
.worry {
  position: relative;
}

.worry__upper {
  position: relative;
  padding-top: 64px;
  background: linear-gradient(to bottom, #6D6D6D 0%, #0F0F0F 100%);
}
@media (max-width: 768px) {
  .worry__upper {
    padding-top: 20px;
  }
}

.worry__upper::before,
.worry__upper::after {
  content: "";
  position: absolute;
  bottom: -18%;
  width: 50.5%;
  height: 200px;
  background-color: #B41323;
}
@media (max-width: 768px) {
  .worry__upper::before,
  .worry__upper::after {
    bottom: -22%;
    height: 100px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .worry__upper::before,
  .worry__upper::after {
    bottom: -20%;
    height: 150px;
  }
}

.worry__upper::before {
  left: 0;
  transform: skewY(12deg);
  transform-origin: bottom right;
}
@media (max-width: 768px) {
  .worry__upper::before {
    transform: skewY(16deg);
  }
}

.worry__upper::after {
  right: 0;
  transform: skewY(-12deg);
  transform-origin: bottom left;
}
@media (max-width: 768px) {
  .worry__upper::after {
    transform: skewY(-16deg);
  }
}

.worry__title {
  color: #fff;
}

.worry__bubble-wrap {
  margin-top: 54px;
}
@media (max-width: 768px) {
  .worry__bubble-wrap {
    margin-top: 12px;
  }
}

.worry__bubble-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
  margin-top: 46px;
}
@media (max-width: 768px) {
  .worry__bubble-list {
    gap: 14px;
    margin-top: 22px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .worry__bubble-list {
    margin-top: 46px;
  }
}

.worry__bubble-list--upper {
  margin-right: 20px;
  gap: 29px;
}
@media (max-width: 768px) {
  .worry__bubble-list--upper {
    margin-right: 10px;
    gap: 14px;
  }
}

.worry__bubble-list--center {
  margin-left: 10px;
  gap: 47px;
}
@media (max-width: 768px) {
  .worry__bubble-list--center {
    margin-left: 5px;
    gap: 14px;
  }
}

.worry__bubble-list--lower {
  margin-right: 20px;
  gap: 26px;
}
@media (max-width: 768px) {
  .worry__bubble-list--lower {
    margin-right: 10px;
    gap: 14px;
  }
}

.worry__bubble-item {
  position: relative;
  padding: 22px 26px;
  font-size: 20px;
  line-height: 1.3;
  color: #000;
  background-color: #fff;
  border-radius: 10px;
  text-align: center;
  z-index: 1;
}
@media (max-width: 768px) {
  .worry__bubble-item {
    padding: 7px 13px;
    font-size: clamp(0.75rem, 0.51125rem + 1.018vw, 1rem);
  }
}

.worry__bubble-item:nth-child(odd)::before {
  content: "";
  position: absolute;
  bottom: -27px;
  left: 50%;
  translate: -50% 0;
  width: 37px;
  height: auto;
  aspect-ratio: 37/39;
  background: url(../images/worry-bubble-odd.svg) no-repeat center/contain;
  z-index: -1;
}
@media (max-width: 768px) {
  .worry__bubble-item:nth-child(odd)::before {
    bottom: -10px;
    width: 14px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .worry__bubble-item:nth-child(odd)::before {
    bottom: -20px;
    width: 32px;
  }
}

.worry__bubble-item:nth-child(even)::before {
  content: "";
  position: absolute;
  bottom: -32px;
  left: 50%;
  translate: -50% 0;
  width: 33px;
  height: 43px;
  aspect-ratio: 33/43;
  background: url(../images/worry-bubble-even.svg) no-repeat center/contain;
  z-index: -1;
}
@media (max-width: 768px) {
  .worry__bubble-item:nth-child(even)::before {
    bottom: -13px;
    width: 14px;
    height: auto;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .worry__bubble-item:nth-child(even)::before {
    bottom: -27px;
    width: 32px;
  }
}

.worry__image {
  width: 246px;
  height: auto;
  margin-top: 48px;
  margin-inline: auto;
  text-align: center;
}
@media (max-width: 768px) {
  .worry__image {
    width: 100px;
    height: auto;
    margin-top: 8px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .worry__image {
    width: 160px;
    margin-top: 40px;
  }
}

.worry__lower {
  padding-top: 60px;
  padding-bottom: 64px;
  background-color: #B41323;
}
@media (max-width: 768px) {
  .worry__lower {
    padding-top: 16px;
    padding-bottom: 20px;
  }
}

.worry__lower-list {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 16px;
}
@media (max-width: 768px) {
  .worry__lower-list {
    gap: 8px;
    margin-top: 8px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .worry__lower-list {
    gap: 16px;
    margin-top: 16px;
  }
}

.worry__lower-item {
  position: relative;
  padding: 18px 20px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.3;
  color: #000;
  background-color: #fff;
  border-radius: 10px;
}
@media (max-width: 768px) {
  .worry__lower-item {
    padding: 7px 9px;
    font-size: clamp(0.875rem, 0.04rem + 3.562vw, 1.75rem);
  }
}

.worry__bottom-text {
  margin-top: 24px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  color: #fff;
}
@media (max-width: 768px) {
  .worry__bottom-text {
    margin-top: 12px;
    font-size: clamp(0.75rem, 0.391875rem + 1.527vw, 1.125rem);
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .worry__bottom-text {
    margin-top: 24px;
  }
}

.worry__bottom-text span {
  font-size: 36px;
  position: relative;
  z-index: 1;
}
.worry__bottom-text span::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 8px;
  background: #FFE000;
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 768px) {
  .worry__bottom-text span {
    font-size: clamp(0.875rem, 0.398125rem + 2.036vw, 1.375rem);
    position: relative;
    z-index: 1;
  }
  .worry__bottom-text span::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 100%;
    height: 4px;
    background: #FFE000;
    z-index: -1;
    pointer-events: none;
  }
}

.worry__bottom-text-sub {
  margin-top: 20px;
  font-size: 24px;
  line-height: 1.4;
  text-align: center;
  color: #fff;
}
@media (max-width: 768px) {
  .worry__bottom-text-sub {
    margin-top: 8px;
    font-size: clamp(0.75rem, 0.391875rem + 1.527vw, 1.125rem);
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .worry__bottom-text-sub {
    margin-top: 16px;
  }
}

/* ===== Pages / about ===== */
.reason {
  background: linear-gradient(45deg, #959595 0%, #CFCFCF 50%, #959595 100%);
}

.reason__title {
  font-size: clamp(2.5rem, 1.370625rem + 2.353vw, 2.875rem);
}
@media (max-width: 768px) {
  .reason__title {
    font-size: clamp(1.25rem, 0.534375rem + 3.053vw, 2rem);
  }
}

.reason__list {
  width: min(95%, 1000px);
  margin-top: 40px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .reason__list {
    width: 100%;
    margin-top: 15px;
    padding-inline: 15px;
  }
}

.reason__item {
  display: flex;
  justify-content: center;
  gap: 40px;
  align-items: center;
  margin-top: 16px;
  padding: 38px 74px;
  background-color: #fff;
  border-radius: 10px;
  border: 4px solid #900C19;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .reason__item {
    padding: 38px 40px;
  }
}
@media (max-width: 768px) {
  .reason__item {
    padding: 14px 26px;
    margin-top: 8px;
    gap: 14px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .reason__item {
    padding: 24px 32px;
    margin-top: 16px;
  }
}

.reason__item-image {
  width: 26%;
}
@media (max-width: 768px) {
  .reason__item-image {
    width: 34%;
  }
}

.reason__item-text-wrap {
  flex: 1;
}

.reason__item-name {
  display: inline-block;
  padding: 2px 18px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  background-color: #900C19;
  border-radius: 50vh;
}
@media (max-width: 768px) {
  .reason__item-name {
    font-size: clamp(0.875rem, 0.516875rem + 1.527vw, 1.25rem);
    padding: 2px 9px;
  }
}

.reason__item-desc {
  margin-top: 16px;
  font-size: 24px;
  line-height: 1.4;
  text-align: justify;
}
@media (max-width: 768px) {
  .reason__item-desc {
    margin-top: 8px;
    font-size: clamp(0.75rem, 0.391875rem + 1.527vw, 1.125rem);
  }
}

.reason__item-desc span {
  display: inline-block; /* 最後のspanも::afterが確実に効くように（1span=1ボックス） */
  position: relative;
  z-index: 1;
}
.reason__item-desc span::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 6px;
  background: #FFE000;
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 768px) {
  .reason__item-desc span {
    position: relative;
    z-index: 1;
  }
  .reason__item-desc span::after {
    content: "";
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 3px;
    background: #FFE000;
    z-index: -1;
    pointer-events: none;
  }
}

.reason__item:nth-child(even) {
  flex-direction: row-reverse;
}

/* ===== Pages / works ===== */
.works {
  margin-top: -2px;
  display: flow-root;
  background: url(../images/works-bg.webp);
  background-size: cover;
  background-position: top center;
}
@media (max-width: 768px) {
  .works {
    background: url(../images/works-bg-sp.webp) no-repeat top center/cover;
  }
}

.works__inner {
  padding-bottom: 137px;
}
@media (max-width: 768px) {
  .works__inner {
    padding-bottom: 23px;
  }
}

.works__title {
  color: #fff;
}

.works__slider {
  margin-top: 70px;
}
@media (max-width: 768px) {
  .works__slider {
    margin-top: 22px;
    padding-bottom: 60px;
  }
}

.works__list {
  width: min(95%, 1000px);
}

.works__item {
  display: flex;
  flex-direction: column;
  height: auto;
  max-width: 500px;
}
@media (max-width: 768px) {
  .works__item {
    max-width: 280px;
  }
}

.works__item-head {
  padding: 26px 21.5px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  color: #fff;
  background-color: #900C19;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
@media (max-width: 768px) {
  .works__item-head {
    padding: 13px 19px;
    font-size: 14px;
  }
}

.works__item-head span {
  color: #FFE000;
}

.works__item-body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
@media (max-width: 768px) {
  .works__item-body {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
  }
}

.works__item-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 194px;
  background-color: #fff;
}
@media (max-width: 768px) {
  .works__item-logo {
    height: 171px;
    padding-inline: 32px;
  }
}

.works__item-logo--balance img {
  width: 40%;
}

.works__item-info {
  padding-inline: 40px;
  margin-bottom: 20px;
}
@media (max-width: 768px) {
  .works__item-info {
    padding-inline: 28px;
    margin-bottom: 10px;
  }
}

.works__item-cat {
  display: inline-block;
  padding: 4px 16px;
  font-size: 16px;
  line-height: 1.3;
  text-align: center;
  color: #fff;
  background-color: #900C19;
  border-radius: 10px;
}
@media (max-width: 768px) {
  .works__item-cat {
    font-size: 11px;
    padding: 2px 8px;
  }
}

.works__item-name {
  flex-grow: 1;
  margin-top: 8px;
  font-size: 20px;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .works__item-name {
    margin: 4px;
    font-size: 12px;
  }
}

.works__item-desc {
  margin-top: auto;
  padding-inline: 40px;
  padding-bottom: 40px;
  font-size: 24px;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .works__item-desc {
    margin-top: auto;
    font-size: 12px;
    padding-inline: 32px;
    padding-bottom: 14px;
  }
}

/* スライド関連CSS */
@media (min-width: 1025px) {
  .works__slider .splide__track {
    display: flex;
    justify-content: center;
  }
  .works__slider .splide__list {
    flex-shrink: 0;
  }
}
.works__slider {
  /* スライドの矢印 */
}
.works__slider .splide__arrow {
  top: auto;
  bottom: -115px;
  width: 67px;
  height: 67px;
  transform: none;
  opacity: 1;
}
@media (max-width: 768px) {
  .works__slider .splide__arrow {
    bottom: 2px;
    width: 33px;
    height: 33px;
  }
}
.works__slider .splide__arrow--prev {
  left: 30px;
}
.works__slider .splide__arrow--next {
  right: 30px;
}
.works__slider {
  /* スライドのページネーション */
}
.works__slider .splide__pagination {
  bottom: -92px;
  gap: 5px;
}
@media (max-width: 768px) {
  .works__slider .splide__pagination {
    bottom: 11px;
  }
}
.works__slider .splide__pagination__page {
  width: 20px;
  height: 20px;
}
@media (max-width: 768px) {
  .works__slider .splide__pagination__page {
    width: 10px;
    height: 10px;
  }
}
.works__slider .splide__pagination__page.is-active {
  transform: scale(1);
  background: #900C19;
}

/* ===== Pages / members ===== */
.members {
  background-color: #fff;
}

.members__inner {
  padding-bottom: 74px;
}
@media (max-width: 768px) {
  .members__inner {
    padding-bottom: 20px;
  }
}

.members__title {
  position: relative;
  padding-block: 20px;
  font-size: clamp(2.625rem, 1.175625rem + 3.015vw, 3.75rem);
  font-weight: 700;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  background-color: #900C19;
}
@media (max-width: 768px) {
  .members__title {
    padding-block: 12px;
    font-size: 20px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .members__title {
    font-size: 26px;
  }
}

.members__title::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  translate: -50% 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 40px solid #900C19;
}
@media (max-width: 768px) {
  .members__title::before {
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #900C19;
  }
}

.members__media {
  width: min(95%, 1000px);
  margin-inline: auto;
  margin-top: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
@media (max-width: 768px) {
  .members__media {
    width: 100%;
    margin-top: 28px;
    padding-inline: 15px;
    gap: 16px;
  }
}

.members__media-image {
  width: 41.1%;
}

.members__media-image img {
  width: 100%;
  max-width: 240px;
  margin-inline: auto;
}

.members__media-text-wrap {
  flex: 1;
}

.members__media-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  color: #900C19;
}
@media (max-width: 768px) {
  .members__media-title {
    font-size: clamp(0.875rem, 0.27875rem + 2.545vw, 1.5rem);
  }
}

.members__media-text {
  font-size: 24px;
  line-height: 1.4;
  color: #000;
}
@media (max-width: 768px) {
  .members__media-text {
    margin-top: 14px;
    font-size: clamp(0.75rem, 0.273125rem + 2.036vw, 1.25rem);
  }
}

/* ===== Pages / members ===== */
.point {
  background: linear-gradient(to bottom, #BF1727 0%, #8C0310 100%);
}

.point__inner {
  padding-bottom: 0;
}

.point__title {
  color: #fff;
}

.point__list {
  width: min(95%, 676px);
  margin-inline: auto;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .point__list {
    margin-top: 26px;
  }
}

.point__item {
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin-top: 24px;
  box-shadow: 4px 4px 5px 0 rgba(0, 0, 0, 0.25);
}
@media (max-width: 768px) {
  .point__item {
    margin-top: 4px;
    max-width: 400px;
    margin-inline: auto;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .point__item {
    margin-top: 12px;
    max-width: 500px;
  }
}

.point__item-num {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 67px;
  background-color: #000;
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
}
@media (max-width: 768px) {
  .point__item-num {
    width: 32px;
    padding-inline: 8px;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .point__item-num {
    width: 42px;
  }
}

.point__item-text {
  padding: 26px 23px;
  background-color: #fff;
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  font-size: 24px;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .point__item-text {
    font-size: clamp(0.75rem, 0.391875rem + 1.527vw, 1.125rem);
    padding: 9px 13px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
  }
}

.point__bottom {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 30px;
  margin-top: 40px;
  padding-inline: 20px;
}
@media (max-width: 768px) {
  .point__bottom {
    margin-top: 22px;
    gap: 8px;
  }
}

.point__bottom-text {
  position: relative;
  width: 500px;
  padding: 32px 45px;
  font-size: 24px;
  line-height: 1.3;
  color: #fff;
  background-color: #000;
  border-radius: 40px;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .point__bottom-text {
    font-size: 20px;
  }
}
@media (max-width: 768px) {
  .point__bottom-text {
    width: 200px;
    font-size: 12px;
    padding: 7px 12px 7px 14px;
    border-radius: 20px;
  }
}

.point__bottom-text::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  translate: 0 -50%;
  border-left: 25px solid #000;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
}
@media (max-width: 768px) {
  .point__bottom-text::after {
    border-left: 12px solid #000;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
  }
}

.point__bottom-image {
  width: 303px;
  height: auto;
}
@media (max-width: 768px) {
  .point__bottom-image {
    width: 134px;
  }
}

/* ===== Pages / voice ===== */
.voice {
  background: #fff;
}

.voice__list {
  display: flex;
  justify-content: center;
  gap: 14px;
  width: min(95%, 1000px);
  margin-top: 61.22px;
  margin-inline: auto;
}
@media (max-width: 768px) {
  .voice__list {
    flex-direction: column;
    width: 100%;
    margin-top: 26px;
    padding-inline: 15px;
    text-align: center;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .voice__list {
    gap: 28px;
  }
}

.voice__item {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 43px;
  width: 50%;
  padding: 36px 24px;
  border-radius: 10px;
  border: 4px solid #900C19;
  box-shadow: 5px 4px 4px 0 rgba(0, 0, 0, 0.25);
}
@media (min-width: 769px) and (max-width: 1024px) {
  .voice__item {
    padding-inline: 12px;
    gap: 12px;
  }
}
@media (max-width: 768px) {
  .voice__item {
    width: 100%;
    max-width: 345px;
    margin-inline: auto;
    gap: 12px;
    padding: 17px 45px;
    border-radius: 5px;
    border-width: 2px;
    box-shadow: none;
  }
}

.voice__item-number {
  position: absolute;
  top: 0;
  left: 20px;
  translate: 0 -50%;
  padding: 10px 27px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  color: #fff;
  background-color: #900C19;
  border-radius: 50vh;
}
@media (max-width: 768px) {
  .voice__item-number {
    left: 45px;
    font-size: 10px;
    padding: 5px 10px;
  }
}

.voice__item-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 768px) {
  .voice__item-head {
    justify-content: center;
    gap: 8px;
  }
}

.voice__item-meta {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
@media (max-width: 768px) {
  .voice__item-meta {
    gap: 7px;
  }
}

.voice__item-name {
  font-size: 20px;
  font-size: clamp(0.875rem, 0.391875rem + 1.005vw, 1.25rem);
  line-height: 1.3;
}
@media (max-width: 768px) {
  .voice__item-name {
    font-size: 10px;
  }
}

.voice__item-title {
  font-size: 28px;
  font-size: clamp(1.3125rem, 0.74875rem + 1.173vw, 1.75rem);
  font-weight: 700;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .voice__item-title {
    font-size: 14px;
  }
}

.voice__item-image {
  flex-shrink: 0;
  width: 120px;
  height: 120px;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .voice__item-image {
    width: 80px;
    height: 80px;
  }
}
@media (max-width: 768px) {
  .voice__item-image {
    width: 66px;
    height: 66px;
  }
}

.voice__item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.voice__item-line {
  width: 100%;
  height: 2px;
  background-color: #900C19;
}
@media (max-width: 768px) {
  .voice__item-line {
    height: 1px;
  }
}

.voice__item-text {
  font-size: clamp(1rem, 0.35625rem + 1.34vw, 1.5rem);
  line-height: 1.3;
}
@media (max-width: 768px) {
  .voice__item-text {
    font-size: 12px;
  }
}

/* ===== Pages / price ===== */
.price {
  background: linear-gradient(to bottom, #797979 0%, #262626 100%);
}

.price__title {
  color: #fff;
}

.price__list-wrap {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  padding-top: 56px;
  padding-bottom: 24px;
  padding-inline: 16px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  min-width: 0;
  text-align: left;
}
@media (max-width: 768px) {
  .price__list-wrap {
    padding-top: 32px;
    padding-bottom: 16px;
    padding-inline: 12px;
    margin-top: 0;
    scroll-snap-type: x mandatory;
  }
}

.price__list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  gap: 24px;
  padding-inline: 24px;
  width: max-content;
  text-align: left;
}
@media (max-width: 768px) {
  .price__list {
    padding-inline: 15px;
    gap: 12px;
  }
}

.price__item {
  flex: 0 0 320px;
  border-radius: 10px;
}
@media (max-width: 768px) {
  .price__item {
    flex: 0 0 160px;
    scroll-snap-align: start;
    border-radius: 5px;
  }
}

.price__item--badge {
  position: relative;
}

.price__item--badge::after {
  content: "";
  position: absolute;
  top: -24px;
  right: -8px;
  width: 65px;
  height: 65px;
  background: url("../images/price-item-badge.svg") no-repeat center/contain;
}
@media (max-width: 768px) {
  .price__item--badge::after {
    top: -12px;
    right: -4px;
    width: 32px;
    height: 32px;
  }
}

.price__item-name {
  padding-block: 24px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.51;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
  background-color: #900C19;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
@media (max-width: 768px) {
  .price__item-name {
    font-size: 16px;
    padding-block: 12px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
  }
}

.price__item-body {
  padding: 0 14px 14px;
  background-color: #fff;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
@media (max-width: 768px) {
  .price__item-body {
    padding: 0 7px 7px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
  }
}

.price__item-price {
  padding-top: 46.5px;
  font-size: 80px;
  font-weight: 700;
  line-height: 0.9;
  text-align: center;
  color: #900C19;
}
@media (max-width: 768px) {
  .price__item-price {
    padding-top: 18px;
    font-size: 40px;
  }
}

.price__item-price-unit {
  display: inline-block;
  margin-left: -18px;
  font-size: 24px;
}
@media (max-width: 768px) {
  .price__item-price-unit {
    margin-left: -9px;
    font-size: 14px;
  }
}

.price__item-price-tax {
  display: inline-block;
  font-size: 20px;
  margin-left: -24px;
}
@media (max-width: 768px) {
  .price__item-price-tax {
    margin-left: -12px;
    font-size: 10px;
  }
}

.price__child-list {
  display: grid;
  justify-content: center;
  margin-top: 54px;
  padding-block: 16px;
  background-color: #E9E6E0;
  border-radius: 10px;
}
@media (max-width: 768px) {
  .price__child-list {
    margin-top: 22px;
    padding-block: 7px;
    border-radius: 5px;
  }
}

.price__child-item {
  position: relative;
  width: fit-content;
  padding-left: 1.5em;
  font-size: 24px;
  line-height: 1.77;
  letter-spacing: 0.04em;
  color: #000;
}
@media (max-width: 768px) {
  .price__child-item {
    font-size: 12px;
  }
}

.price__child-item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  width: 24px;
  height: 24px;
  background: url("../images/price-item-check.svg") no-repeat center/contain;
}
@media (max-width: 768px) {
  .price__child-item::before {
    width: 12px;
    height: 12px;
  }
}

.price__more {
  position: relative;
  text-align: center;
  margin-top: 27px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.96;
  letter-spacing: 0.04em;
  color: #fff;
  z-index: 1;
}
@media (max-width: 768px) {
  .price__more {
    margin-top: 10px;
    font-size: 16px;
  }
}

.price__more::before {
  content: "";
  position: absolute;
  top: 24px;
  left: 50%;
  translate: -50% 0;
  width: 582px;
  height: 102px;
  aspect-ratio: 582/102;
  background: url("../images/price-more-arrow.webp") no-repeat center/contain;
  z-index: -1;
}
@media (max-width: 768px) {
  .price__more::before {
    top: 17px;
    width: 151px;
    height: 26px;
  }
}

.price__trial {
  display: flex;
  justify-content: center;
  gap: 24px;
  max-width: min(95%, 840px);
  margin-inline: auto;
  margin-top: 88px;
}
@media (max-width: 768px) {
  .price__trial {
    margin-top: 30px;
    gap: 6px;
  }
}

.price__trial-item {
  flex: 1 1 300px;
  max-width: 420px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 16px 24px;
  font-size: 28px;
  font-size: clamp(1.5rem, 0.74625rem + 1.569vw, 1.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  color: #900C19;
  background-color: #fff;
  border-radius: 10px;
}
@media (max-width: 768px) {
  .price__trial-item {
    flex: 1 1 200px;
    max-width: 200px;
    padding: 16px 6px;
    font-size: 12px;
  }
}

.price__trial-item span {
  display: block;
  font-size: 20px;
  font-size: clamp(1rem, 0.24625rem + 1.569vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #000;
}
@media (max-width: 768px) {
  .price__trial-item span {
    font-size: 10px;
  }
}

.price__trial-item--badge {
  position: relative;
}

.price__trial-item--badge::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  translate: -40% -50%;
  width: 115px;
  height: 115px;
  background: url("../images/trial-item-badge.svg") no-repeat center/contain;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .price__trial-item--badge::after {
    left: 20px;
    width: 90px;
    height: 90px;
  }
}
@media (max-width: 768px) {
  .price__trial-item--badge::after {
    width: 52px;
    height: 52px;
    translate: -20% -50%;
  }
}

/* ===== Pages / contact ===== */
.contact {
  background: #F1F0EE;
}

.contact__form {
  width: min(90%, 1000px);
  margin-inline: auto;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .contact__form {
    width: 100%;
    max-width: 580px;
    padding-inline: 23px;
    margin-top: 12px;
  }
}

.contact__field {
  margin-top: 40px;
}
@media (max-width: 768px) {
  .contact__field {
    margin-top: 16px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .contact__field {
    margin-top: 32px;
  }
}

.contact__label {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  gap: 40px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #000;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .contact__label {
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .contact__label {
    gap: 20px;
    font-size: 10px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .contact__label {
    font-size: 16px;
  }
}

.contact__required {
  display: inline-block;
  padding-inline: 20px;
  font-size: clamp(1rem, 0.24625rem + 1.569vw, 1.25rem);
  font-weight: 700;
  line-height: 1.96;
  color: #fff;
  background-color: #900C19;
  border-radius: 50vh;
}
@media (max-width: 768px) {
  .contact__required {
    padding-inline: 10px;
    font-size: 10px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .contact__required {
    font-size: 12px;
  }
}

.contact__input,
.contact__select,
.contact__textarea {
  width: 100%;
  padding: 12px 16px;
  margin-top: 20px;
  font-size: 16px;
  color: #000;
  background-color: #fff;
  border: 1px solid #B9B9B9;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.contact__input:focus,
.contact__select:focus,
.contact__textarea:focus {
  outline: none;
  border-color: #900C19;
}
.contact__input::placeholder,
.contact__select::placeholder,
.contact__textarea::placeholder {
  color: #999;
}
@media (max-width: 768px) {
  .contact__input,
  .contact__select,
  .contact__textarea {
    margin-top: 4px;
    padding: 6px 10px;
    font-size: 16px;
  }
}

.contact__select {
  width: 46.1%;
  min-width: 240px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23262626' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  padding-right: 40px;
  cursor: pointer;
  min-width: 240px;
}
@media (max-width: 768px) {
  .contact__select {
    font-size: 12px;
  }
}

.contact__textarea {
  resize: vertical;
  min-height: 120px;
}

.contact__submit {
  display: block;
  margin-top: 24px;
  margin-inline: auto;
  padding: 10px 110px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.96;
  letter-spacing: 0.33em;
  color: #fff;
  background-color: #900C19;
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.contact__submit:hover {
  background-color: rgb(120.4615384615, 10.0384615385, 20.9134615385);
}
.contact__submit:active {
  background-color: rgb(96.9230769231, 8.0769230769, 16.8269230769);
}
@media (max-width: 768px) {
  .contact__submit {
    margin-top: 10px;
    padding: 6px 40px;
    font-size: 12px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .contact__submit {
    margin-top: 24px;
    padding: 10px 60px;
    font-size: 18px;
  }
}

/* ===== Pages / faq ===== */
.faq {
  margin-top: -2px;
  background: #262626;
}

.faq__title {
  color: #fff;
}

.faq__list {
  margin-top: 40px;
  width: min(95%, 1000px);
  margin-inline: auto;
}
@media (max-width: 768px) {
  .faq__list {
    width: 100%;
    max-width: 600px;
    padding-inline: 15px;
    margin-top: 12px;
  }
}

.faq__item {
  display: flex;
  flex-direction: column;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .faq__item {
    margin-top: 8px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .faq__item {
    margin-top: 16px;
  }
}

.faq__question,
.faq__answer {
  position: relative;
  padding-left: 90px;
  padding-right: 1em;
}
@media (max-width: 768px) {
  .faq__question,
  .faq__answer {
    padding-left: 42px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .faq__question,
  .faq__answer {
    padding-left: 48px;
  }
}

.faq__question {
  padding-block: 24px;
  font-size: clamp(1.25rem, 0.49625rem + 1.569vw, 1.5rem);
  color: #fff;
  background-color: #900C19;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .faq__question {
    padding-blok: 18px;
  }
}
@media (max-width: 768px) {
  .faq__question {
    padding-block: 6px;
    font-size: 12px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .faq__question {
    padding-block: 10px;
    font-size: 16px;
  }
}

.faq__answer {
  padding-block: 32px;
  font-size: clamp(1.25rem, 0.49625rem + 1.569vw, 1.5rem);
  line-height: 1.25;
  background-color: #fff;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .faq__answer {
    padding-block: 24px;
  }
}
@media (max-width: 768px) {
  .faq__answer {
    padding-block: 13px;
    font-size: 12px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .faq__answer {
    font-size: 16px;
  }
}

.faq__question::before,
.faq__answer::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 32px;
  translate: 0 -50%;
  width: 36px;
  height: 36px;
  background-color: #900C19;
}
@media (max-width: 768px) {
  .faq__question::before,
  .faq__answer::before {
    left: 12px;
    width: 18px;
    height: 18px;
  }
}
@media (min-width: 577px) and (max-width: 768px) {
  .faq__question::before,
  .faq__answer::before {
    width: 24px;
    height: 24px;
  }
}

.faq__question::before {
  background: url("../images/faq-question-icon.svg") no-repeat center/contain;
}

.faq__answer::before {
  background: url("../images/faq-answer-icon.svg") no-repeat center/contain;
}

/* ===== Pages / thanks ===== */
.thanks-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.header {
  background-color: #B41323;
}

.header__inner {
  padding-block: 24px;
  text-align: center;
}

.header__logo {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #fff;
}
@media (max-width: 768px) {
  .header__logo {
    font-size: 32px;
  }
}

.thanks-page main {
  flex: 1;
}

.thanks {
  background: #fff;
}

.thanks__inner {
  max-width: min(98%, 1000px);
  margin-inline: auto;
  padding-block: 55px;
  text-align: center;
}

.thanks__title {
  font-size: 50px;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .thanks__title {
    font-size: 40px;
  }
}
@media (max-width: 768px) {
  .thanks__title {
    font-size: 28px;
  }
}

.thanks__subTitle {
  margin-top: 50px;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  .thanks__subTitle {
    font-size: 28px;
  }
}

.thanks__lead {
  margin-top: 50px;
  font-size: 25px;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .thanks__lead {
    font-size: 20px;
  }
}
@media (max-width: 768px) {
  .thanks__lead {
    font-size: 18px;
  }
}

.thanks__flow {
  position: relative;
  width: min(98%, 916px);
  margin-inline: auto;
  margin-top: 100px;
  padding: 52px 48px;
  border: 2px solid #333;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .thanks__flow {
    padding: 36px 24px;
  }
}
@media (max-width: 768px) {
  .thanks__flow {
    max-width: 540px;
    padding: 24px 8px;
  }
}

.thanks__flowTitle {
  position: absolute;
  top: -64px;
  left: 50%;
  transform: translateX(-50%);
  padding-inline: 2rem;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.08em;
  background: #fff;
}
@media (max-width: 768px) {
  .thanks__flowTitle {
    top: -23px;
    font-size: 24px;
    width: 60%;
    padding: 0;
  }
}

.thanks__flowList {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 85px;
  align-items: flex-start;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .thanks__flowList {
    gap: 0 40px;
  }
}
@media (max-width: 768px) {
  .thanks__flowList {
    gap: 0 24px;
  }
}

.thanks__flowTitleWrap {
  display: flex;
  align-items: center;
  gap: 26px;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .thanks__flowTitleWrap {
    gap: 16px;
  }
}
@media (max-width: 768px) {
  .thanks__flowTitleWrap {
    flex-direction: column;
    gap: 0;
  }
}

.thanks__flowItemNum {
  font-size: 43px;
  font-weight: 700;
  color: #900C19;
}
@media (max-width: 768px) {
  .thanks__flowItemNum {
    font-size: 32px;
  }
}

.thanks__flowItemTitle {
  font-size: 33px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #900C19;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .thanks__flowItemTitle {
    font-size: 28px;
  }
}
@media (max-width: 768px) {
  .thanks__flowItemTitle {
    font-size: 18px;
  }
}

.thanks__flowItemDesc {
  margin-top: 18px;
  font-size: 25px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: left;
}
@media (max-width: 768px) {
  .thanks__flowItemDesc {
    font-size: 14px;
  }
}

.thanks__flowItem--withArrow {
  position: relative;
}
.thanks__flowItem--withArrow::after {
  content: "";
  position: absolute;
  right: -55px;
  top: 50%;
  transform: translateY(-50%);
  width: 19px;
  height: 33px;
  background-image: url("../images/thanks-flow-list-arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
@media (min-width: 769px) and (max-width: 1024px) {
  .thanks__flowItem--withArrow::after {
    right: -24px;
  }
}
@media (max-width: 768px) {
  .thanks__flowItem--withArrow::after {
    right: -18px;
    width: 12px;
    height: 20px;
  }
}/*# sourceMappingURL=style.css.map */