/* Consolidated stylesheet for contact.php / thanks.php.
   Cascade order matches the previous @import chain. */

/* ===== source: assets/css/form-pages/base.css ===== */
:root {
  --opt-form-navy: #001e55;
  --opt-form-blue: #004c80;
  --opt-form-white: #f0f0f0;
  --opt-form-orange: #ec7200;
  --opt-form-orange-shadow: #db5800;
  --opt-form-red: #e83127;
  --opt-form-font: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  min-width: 20rem;
  margin: 0;
  font-family: var(--opt-form-font);
  font-weight: 500;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

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

button {
  border: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

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

p,
h1,
h2,
h3,
ul,
ol,
fieldset,
legend {
  margin: 0;
}

ul,
ol {
  padding: 0;
  list-style: none;
}

fieldset {
  min-width: 0;
  padding: 0;
  border: 0;
}

.pc {
  display: initial;
}

.sp {
  display: none;
}

@media (width < 768px) {
  html {
    font-size: 3.8647342995vw;
  }

  .pc {
    display: none !important;
    pointer-events: none;
  }

  .sp {
    display: initial;
  }
}

@media (width >= 768px) and (width <= 1399px) {
  html {
    font-size: calc((100vw - 768px) / 632 * 3 + 13px);
  }
}

@media (width > 1680px) {
  html {
    font-size: 0.9523809524vw;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* ===== source: assets/css/form-pages/common.css ===== */
.opt-form-body {
  color: var(--opt-form-white);
  background: var(--opt-form-navy);
}

.opt-form-page {
  position: relative;
  isolation: isolate;
  width: 100%;
  overflow: clip;
  background: linear-gradient(90deg, var(--opt-form-navy) 0%, var(--opt-form-blue) 100%);
}

.opt-form-page::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  content: "";
  pointer-events: none;
  background: url("../img/common-paper-texture.webp") left top / 64rem 64rem repeat;
  opacity: 0.08;
}

.opt-form-page__glow {
  position: absolute;
  z-index: -1;
  top: -5.75rem;
  left: 5.875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 31.6302rem;
  height: 36.7571rem;
  pointer-events: none;
  mix-blend-mode: screen;
}

.opt-form-page__glow-shape {
  position: relative;
  display: block;
  flex: none;
  width: 18.031rem;
  height: 32.0332rem;
  overflow: visible;
  transform: rotate(-150.01deg) scaleY(-1);
}

.opt-form-page__glow-image {
  position: absolute;
  top: -16.04%;
  left: -28.61%;
  width: 157.22%;
  max-width: none;
  height: 132.08%;
  object-fit: fill;
  opacity: 0.12;
}

.opt-form-header,
.opt-form-main,
.opt-form-footer {
  position: relative;
  z-index: 1;
}

.opt-form-header {
  padding-top: 1.2112rem;
  padding-bottom: 1.5664rem;
}

.opt-form-header__inner {
  display: block;
  width: 90%;
  max-width: 18.4rem;
  margin-inline: auto;
  color: inherit;
  text-decoration: none;
}

.opt-form-header__brand {
  margin-bottom: 0.125rem;
  color: var(--opt-form-white);
  font-size: 2.2288rem;
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: 0.2322rem;
  white-space: nowrap;
}

.opt-form-header__brand-ma {
  font-size: 2.3219rem;
}

.opt-form-header__brand-en {
  margin-left: 0.0875rem;
  color: var(--opt-form-white);
  font-size: 0.8365rem;
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: 0.0837rem;
  white-space: nowrap;
}

.opt-form-title {
  color: var(--opt-form-white);
  font-size: 1.6875rem;
  font-weight: 700;
  line-height: 1.46;
  letter-spacing: 0.1688rem;
  text-align: center;
}

.opt-form-footer {
  padding-top: 0.75rem;
}

.opt-form-footer::before {
  position: absolute;
  top: 0.0625rem;
  right: 0;
  left: 0;
  height: 0.0625rem;
  content: "";
  pointer-events: none;
  background: rgba(255, 255, 255, 0.06);
}

.opt-form-page--contact .opt-form-footer {
  padding-bottom: 1.0625rem;
}

.opt-form-page--thanks .opt-form-footer {
  padding-bottom: 2.375rem;
}

.opt-form-footer__inner {
  width: 90%;
  max-width: 15.875rem;
  margin-inline: auto;
  color: #fff;
  font-size: 0.625rem;
  font-weight: 400;
  line-height: 2.1;
  letter-spacing: 0.05rem;
  text-align: center;
}

.opt-form-footer__links {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
}

.opt-form-footer__copyright {
  white-space: nowrap;
}

@media (width >= 768px) {
  .opt-form-page__glow {
    top: -13.4375rem;
    left: 38.75rem;
    width: 63.2603rem;
    height: 73.5143rem;
  }

  .opt-form-page__glow-shape {
    width: 36.0621rem;
    height: 64.0664rem;
  }

  .opt-form-header {
    padding-top: 1.7403rem;
  }

  .opt-form-page--contact .opt-form-header {
    padding-bottom: 2.6524rem;
  }

  .opt-form-page--thanks .opt-form-header {
    padding-bottom: 5.5274rem;
  }

  .opt-form-header__inner {
    max-width: 27.4382rem;
    transform: translateX(-0.0313rem);
  }

  .opt-form-header__brand {
    margin-bottom: 0.2969rem;
    font-size: 3.3431rem;
    letter-spacing: 0.3483rem;
  }

  .opt-form-header__brand-ma {
    font-size: 3.4828rem;
  }

  .opt-form-header__brand-en {
    margin-left: 0.0007rem;
    font-size: 1.2548rem;
    letter-spacing: 0.1255rem;
  }

  .opt-form-footer {
    padding-top: 0.9563rem;
  }

  .opt-form-page--contact .opt-form-footer {
    padding-bottom: 3.6951rem;
  }

  .opt-form-page--thanks .opt-form-footer {
    padding-bottom: 2.1951rem;
  }

  .opt-form-footer__inner {
    max-width: 20.625rem;
    font-size: 0.8125rem;
    line-height: 2.1;
    letter-spacing: 0.065rem;
  }
}

/* ===== source: assets/css/contact/sections/02-contact-form.css ===== */
/* figma-css:start nodeId=156-1126 */
.opt-contact-form {
  padding-block: 1.5rem 3.125rem;
}

.opt-contact-form__inner {
  width: 90%;
  max-width: 22.1875rem;
  margin-inline: auto;
}

.opt-contact-form__header {
  height: 4.875rem;
  margin-bottom: 2.5rem;
}

.opt-contact-form__basic-fields {
  display: flex;
  flex-direction: column;
  gap: 1.0625rem;
  margin-bottom: 1.5rem;
}

.opt-contact-form__label {
  display: flex;
  align-items: flex-start;
  padding-left: 0.6875rem;
  margin-bottom: 0.3125rem;
  color: #f0f0f0;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.46;
  letter-spacing: 0.0938rem;
}

.opt-contact-form__field--name .opt-contact-form__label {
  padding-left: 0.5625rem;
  column-gap: 0.25rem;
}

.opt-contact-form__field--phone .opt-contact-form__label {
  column-gap: 0.1875rem;
}

.opt-contact-form__field--email .opt-contact-form__label {
  column-gap: 0.0625rem;
}

.opt-contact-form__field--message .opt-contact-form__label {
  column-gap: 0.375rem;
}

.opt-contact-form__schedule-label {
  column-gap: 0.4063rem;
}

.opt-contact-form__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.3125rem;
  height: 1.1875rem;
  margin-top: 0.125rem;
  border-radius: 0.125rem;
  color: #f0f0f0;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.46;
  letter-spacing: 0.075rem;
}

.opt-contact-form__status--required {
  background: #e83127;
}

.opt-contact-form__status--optional {
  margin-top: 0.0898rem;
  border: 0.0625rem solid #fff;
}

.opt-contact-form__input,
.opt-contact-form__textarea {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 0.625rem;
  outline-offset: 0.125rem;
  color: #001e55;
  background: #fff;
  font-size: 0.9375rem;
  font-weight: 400;
  letter-spacing: 0;
}

.opt-contact-form__input {
  height: 4.4375rem;
  padding-inline: 2rem;
}

.opt-contact-form__textarea {
  height: 10.125rem;
  padding: 1.0625rem 2rem;
  line-height: normal;
  resize: none;
}

.opt-contact-form__input::placeholder,
.opt-contact-form__textarea::placeholder {
  color: #a7a7a7;
  opacity: 1;
}

.opt-contact-form__schedule {
  margin-bottom: 1.5625rem;
}

.opt-contact-form__schedule-label {
  width: 100%;
}

.opt-contact-form__schedule-options {
  display: flex;
  flex-direction: column;
  gap: 0.5625rem;
}

.opt-contact-form__schedule-option {
  display: flex;
  align-items: center;
  width: 100%;
  height: 5.9375rem;
  padding-left: 1.5094rem;
  column-gap: 0.9469rem;
  border-radius: 0.625rem;
  color: #001e55;
  background: #fff;
  cursor: pointer;
}

.opt-contact-form__schedule-option--other {
  height: 4.4375rem;
}

.opt-contact-form__radio {
  flex: 0 0 auto;
  width: 1.2938rem;
  height: 1.2938rem;
  margin: 0;
  appearance: none;
  border: 0.0625rem solid #d8d8d8;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}

.opt-contact-form__radio:checked {
  background: radial-gradient(circle, #e83127 0 0.425rem, #fff 0.4563rem);
}

.opt-contact-form__radio:focus-visible,
.opt-contact-form__input:focus-visible,
.opt-contact-form__textarea:focus-visible,
.opt-contact-form__submit:focus-visible {
  outline: 0.125rem solid #fff;
  outline-offset: 0.125rem;
}

.opt-contact-form__schedule-copy,
.opt-contact-form__schedule-date,
.opt-contact-form__schedule-venue {
  display: block;
}

.opt-contact-form__schedule-date {
  margin-bottom: 0.1875rem;
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.4737;
  letter-spacing: 0;
}

.opt-contact-form__schedule-venue {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4286;
  letter-spacing: 0;
}

.opt-contact-form__schedule-option--other .opt-contact-form__schedule-date {
  margin-bottom: 0;
}

.opt-contact-form__field--message {
  margin-bottom: 1.875rem;
}

.opt-contact-form__fee-note {
  margin-bottom: 2.1592rem;
  color: #fff;
  text-align: center;
}

.opt-contact-form__fee-line--first {
  margin-bottom: -0.125rem;
}

.opt-contact-form__fee-line--primary {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
}

.opt-contact-form__fee-line--secondary {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
}

.opt-contact-form__submit {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 5.1875rem;
  padding: 0 1.1094rem 0 0;
  border-radius: 12.5rem;
  box-shadow: 0 0.375rem 0 #db5800;
  color: #fff;
  background: #ec7200;
  font-size: 1.2241rem;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.0612rem;
  cursor: pointer;
}

.opt-contact-form__submit-arrow {
  position: absolute;
  top: 50%;
  right: 0.6922rem;
  width: 2.0344rem;
  height: 2.0344rem;
  border-radius: 50%;
  background: #fff;
  transform: translateY(-50%);
}

.opt-contact-form__submit-arrow::before,
.opt-contact-form__submit-arrow::after {
  position: absolute;
  top: 50%;
  content: "";
}

.opt-contact-form__submit-arrow::before {
  left: 0.625rem;
  width: 0.75rem;
  height: 0.0925rem;
  background: #ec7200;
  transform: translateY(-50%);
}

.opt-contact-form__submit-arrow::after {
  right: 0.5625rem;
  width: 0.5375rem;
  height: 0.5375rem;
  border-top: 0.125rem solid #ec7200;
  border-right: 0.125rem solid #ec7200;
  transform: translateY(-50%) rotate(45deg);
}

@media (width >= 768px) {
  .opt-contact-form {
    padding-block: 1.5rem 4.1313rem;
  }

  .opt-contact-form__inner {
    position: relative;
    left: 0.0313rem;
    width: 90%;
    max-width: 41.8125rem;
    margin-inline: auto;
  }

  .opt-contact-form__header {
    height: 3.6875rem;
    margin-bottom: 3.5625rem;
  }

  .opt-contact-form__title {
    font-size: 2.5313rem;
    line-height: 1.46;
    letter-spacing: 0.2531rem;
    white-space: nowrap;
  }

  .opt-contact-form__title br {
    display: none;
  }

  .opt-contact-form__basic-fields {
    gap: 0;
    margin-bottom: 1.9563rem;
  }

  .opt-contact-form__field--name {
    margin-bottom: 1.3875rem;
  }

  .opt-contact-form__field--phone {
    margin-bottom: 1.3563rem;
  }

  .opt-contact-form__label {
    padding-left: 0.8938rem;
    margin-bottom: 0.4269rem;
    font-size: 1.2188rem;
    line-height: 1.46;
    letter-spacing: 0.1219rem;
  }

  .opt-contact-form__field--name .opt-contact-form__label {
    padding-left: 0.7313rem;
    column-gap: 0.2846rem;
  }

  .opt-contact-form__field--phone .opt-contact-form__label {
    margin-bottom: 0.4581rem;
    column-gap: 0.2024rem;
  }

  .opt-contact-form__field--email .opt-contact-form__label {
    column-gap: 0.0404rem;
  }

  .opt-contact-form__field--message .opt-contact-form__label {
    margin-bottom: 0.4395rem;
    column-gap: 0.446rem;
  }

  .opt-contact-form__schedule-label {
    margin-bottom: 0.4519rem;
    column-gap: 0.4876rem;
  }

  .opt-contact-form__status {
    width: 3.0063rem;
    height: 1.5438rem;
    margin-top: 0.1625rem;
    border-radius: 0.1625rem;
    font-size: 0.975rem;
    line-height: 1.46;
    letter-spacing: 0.0975rem;
  }

  .opt-contact-form__status--optional {
    margin-top: 0.1625rem;
    border-width: 0.0813rem;
  }

  .opt-contact-form__input,
  .opt-contact-form__textarea {
    border-radius: 0.8125rem;
    font-size: 1.2188rem;
  }

  .opt-contact-form__input {
    height: 5.75rem;
    padding-inline: 2.6rem;
  }

  .opt-contact-form__textarea {
    height: 13.125rem;
    padding: 1.3563rem 2.6rem;
  }

  .opt-contact-form__schedule {
    margin-bottom: 1.9063rem;
  }

  .opt-contact-form__schedule-options {
    gap: 0;
  }

  .opt-contact-form__schedule-option {
    height: 7.6875rem;
    padding-left: 1.9622rem;
    column-gap: 1.2309rem;
    border-radius: 0.8125rem;
  }

  .opt-contact-form__schedule-option--1,
  .opt-contact-form__schedule-option--2 {
    margin-bottom: 0.75rem;
  }

  .opt-contact-form__schedule-option--3 {
    height: 7.75rem;
    margin-bottom: 0.6875rem;
  }

  .opt-contact-form__schedule-option--other {
    height: 5.8125rem;
  }

  .opt-contact-form__radio {
    position: relative;
    top: -0.1031rem;
    width: 1.6819rem;
    height: 1.6819rem;
  }

  .opt-contact-form__radio:checked {
    background: radial-gradient(circle, #e83127 0 0.5525rem, #fff 0.5938rem);
  }

  .opt-contact-form__schedule-date {
    margin-bottom: 0.2688rem;
    font-size: 1.5438rem;
    line-height: 1.4575;
  }

  .opt-contact-form__schedule-copy {
    position: relative;
    top: -0.0188rem;
  }

  .opt-contact-form__schedule-venue {
    font-size: 1.1375rem;
    line-height: 1.4286;
  }

  .opt-contact-form__schedule-option--other .opt-contact-form__schedule-date {
    margin-bottom: 0;
  }

  .opt-contact-form__field--message {
    margin-bottom: 2.4539rem;
  }

  .opt-contact-form__fee-note {
    margin-bottom: 2.8069rem;
  }

  .opt-contact-form__fee-line--first {
    margin-bottom: -0.1625rem;
  }

  .opt-contact-form__fee-line--primary {
    font-size: 1.1375rem;
    line-height: 2;
    letter-spacing: 0.1138rem;
  }

  .opt-contact-form__fee-line--secondary {
    font-size: 0.975rem;
    line-height: 2;
    letter-spacing: 0.0975rem;
  }
}
/* figma-css:end nodeId=156-1126 */

/* ===== source: assets/css/contact/overrides.css ===== */
/* Human-authored final adjustments for the contact page. */

@media (width >= 768px) {
  .opt-contact-form__submit {
    display: flex;
    width: 28rem;
    max-width: 100%;
    height: 6.7438rem;
    margin-inline: auto;
    padding: 0 1.4422rem 0 0;
    box-shadow: 0 0.4875rem 0 #db5800;
    font-size: 1.5913rem;
    letter-spacing: 0.0796rem;
  }

  .opt-contact-form__submit-arrow {
    right: 0.8999rem;
    width: 2.6447rem;
    height: 2.6447rem;
  }

  .opt-contact-form__submit-arrow::before {
    left: 0.8125rem;
    width: 0.975rem;
    height: 0.0813rem;
  }

  .opt-contact-form__submit-arrow::after {
    right: 0.7313rem;
    width: 0.5688rem;
    height: 0.5688rem;
    border-top-width: 0.1625rem;
    border-right-width: 0.1625rem;
  }

  .opt-contact-form__fee-note {
    margin-bottom: 2.8069rem;
  }
}

/* figma-css:start nodeId=163-1544 */
.opt-form-page--contact .opt-form-header {
  height: 6.25rem;
  padding-top: 1.75rem;
  padding-bottom: 0;
}

.opt-form-page--contact .opt-form-header__inner {
  /* max-width: 15.25rem; */
  text-align: center;
}

.opt-form-page--contact .opt-form-header__brand {
  margin-bottom: 0.125rem;
  font-size: 2.025rem;
  letter-spacing: 0.19rem;
}

.opt-form-page--contact .opt-form-header__brand-ma {
  font-size: 2.1rem;
}

.opt-form-page--contact .opt-form-header__brand-en {
  margin-left: 0;
  font-size: 0.74rem;
  letter-spacing: 0.065rem;
}

.opt-contact-hero {
  position: relative;
  height: 15.8438rem;
  color: #fff;
  text-align: center;
}

.opt-contact-hero__word {
  position: absolute;
  top: -0.6375rem;
  left: 50%;
  color: #f3f4f7;
  font-size: 3.5875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.7031rem;
  opacity: 0.05;
  transform: translateX(-50%);
  white-space: nowrap;
}

.opt-contact-hero__title {
  position: absolute;
  z-index: 1;
  top: 0.625rem;
  left: 0;
  width: 100%;
  margin: 0;
  color: #fff;
  font-size: 2.1313rem;
  font-weight: 700;
  line-height: 1.46;
  letter-spacing: 0.1688rem;
}

.opt-contact-hero__lead {
  position: absolute;
  z-index: 1;
  top: 7.5625rem;
  left: 0;
  width: 100%;
  margin-top: 0;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.035rem;
}

.opt-contact-form {
  width: calc(100% - 2.25rem);
  max-width: 23.625rem;
  padding: 2.625rem 1.5rem 4rem;
  margin-inline: auto;
  border-radius: 1.25rem;
  color: #001e55;
  background: #efefef;
}

.opt-contact-form__inner {
  width: 100%;
  max-width: none;
}

.opt-contact-form__header {
  height: auto;
  margin-bottom: 2.25rem;
}

.opt-contact-form__title {
  color: #00275c;
  font-size: 1.3rem;
  line-height: 1.46;
  letter-spacing: 0.1rem;
  white-space: nowrap;
}

.opt-contact-form__basic-fields {
  gap: 1.0625rem;
  margin-bottom: 1rem;
}

.opt-contact-form__label,
.opt-contact-form__fee-note {
  color: #001e55;
}

.opt-contact-form__label {
  padding-left: 0.375rem;
  margin-bottom: 0.3125rem;
}

.opt-contact-form__field--name .opt-contact-form__label,
.opt-contact-form__field--phone .opt-contact-form__label,
.opt-contact-form__field--email .opt-contact-form__label,
.opt-contact-form__field--message .opt-contact-form__label,
.opt-contact-form__schedule-label {
  padding-left: 0.375rem;
}

.opt-contact-form__status--optional {
  border-color: #e83127;
  color: #e83127;
}

.opt-contact-form__input,
.opt-contact-form__textarea,
.opt-contact-form__schedule-option {
  border: 0.125rem solid transparent;
  border-radius: 0.375rem;
  box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.08);
}

.opt-contact-form__input {
  height: 4rem;
  padding-inline: 1.25rem;
  font-size: 0.875rem;
}

.opt-contact-form__textarea {
  height: 9.9375rem;
  padding: 1rem 1.25rem;
  font-size: 0.875rem;
}

.opt-contact-form__input:focus,
.opt-contact-form__textarea:focus,
.opt-contact-form__schedule-option:focus-within {
  border-color: rgba(232, 49, 39, 0.7);
  outline: none;
}

.opt-contact-form__schedule {
  margin-bottom: 1.625rem;
}

.opt-contact-form__schedule-label {
  margin-bottom: 0.3125rem;
}

.opt-contact-form__schedule-options {
  gap: 0.625rem;
}

.opt-contact-form__schedule-option {
  height: 5.375rem;
  padding-left: 0.75rem;
  column-gap: 0.75rem;
}

.opt-contact-form__schedule-option--other {
  height: 4rem;
}

.opt-contact-form__radio {
  width: 1.375rem;
  height: 1.375rem;
}

.opt-contact-form__radio:checked {
  background: radial-gradient(circle, #e83127 0 0.4375rem, #fff 0.4688rem);
}

.opt-contact-form__schedule-date {
  margin-bottom: 0.125rem;
  font-size: 1.0625rem;
  line-height: 1.47;
}

.opt-contact-form__schedule-venue {
  font-size: 0.75rem;
  line-height: 1.43;
}

.opt-contact-form__field--message {
  margin-bottom: 1.5rem;
}

.opt-contact-form__fee-note {
  margin-bottom: 1.0625rem;
}

.opt-contact-form__fee-line--primary {
  font-size: 0.7875rem;
  letter-spacing: 0.0688rem;
}

.opt-contact-form__fee-line--secondary {
  font-size: 0.725rem;
  letter-spacing: 0.0625rem;
}

.opt-contact-form__submit {
  height: 5.1875rem;
  box-shadow: 0 0.375rem 0 #be520a;
}

.opt-form-page--contact .opt-form-footer {
  margin-top: 3rem;
  padding-bottom: 2rem;
}

@media (width >= 768px) {
  .opt-form-page--contact .opt-form-header {
    height: 7.125rem;
    padding-top: 1.6948rem;
    padding-bottom: 0;
  }

  .opt-form-page--contact .opt-form-header__inner {
    max-width: 24.6875rem;
  }

  .opt-form-page--contact .opt-form-header__brand {
    margin-bottom: 0.2969rem;
    font-size: 3.0088rem;
    letter-spacing: 0.3135rem;
  }

  .opt-form-page--contact .opt-form-header__brand-ma {
    font-size: 3.1346rem;
  }

  .opt-form-page--contact .opt-form-header__brand-en {
    margin-left: 0.0007rem;
    font-size: 1.1293rem;
    letter-spacing: 0.1129rem;
  }

  .opt-contact-hero {
    height: 19.4375rem;
  }

  .opt-contact-hero__word {
    top: 0;
    font-size: 9.4206rem;
    letter-spacing: 1.4131rem;
  }

  .opt-contact-hero__title {
    top: 4.75rem;
    font-size: 2.9094rem;
    line-height: 1.46;
    letter-spacing: 0.2909rem;
  }

  .opt-contact-hero__lead {
    top: 9.5563rem;
    margin-top: 0;
    font-size: 1.2625rem;
    line-height: 2;
    letter-spacing: 0.1263rem;
  }

  .opt-contact-form {
    position: relative;
    left: 0.0313rem;
    width: 68.3125rem;
    max-width: calc(100% - 2rem);
    padding: 3.5625rem 0 3.9375rem;
    border-radius: 1.875rem;
  }

  .opt-contact-form__inner {
    position: static;
    width: 37.6313rem;
    max-width: calc(100% - 3rem);
  }

  .opt-contact-form__header {
    height: auto;
    margin-bottom: 3.0344rem;
  }

  .opt-contact-form__title {
    font-size: 2.0313rem;
    line-height: 1.46;
    letter-spacing: 0.2031rem;
  }

  .opt-contact-form__basic-fields {
    gap: 1.1475rem;
    margin-bottom: 1.4675rem;
  }

  .opt-contact-form__field--name,
  .opt-contact-form__field--phone {
    margin-bottom: 0;
  }

  .opt-contact-form__label {
    padding-left: 0.8032rem;
    margin-bottom: 0.3842rem;
    font-size: 1.0969rem;
    letter-spacing: 0.1097rem;
  }

  .opt-contact-form__field--name .opt-contact-form__label,
  .opt-contact-form__field--phone .opt-contact-form__label,
  .opt-contact-form__field--email .opt-contact-form__label,
  .opt-contact-form__field--message .opt-contact-form__label,
  .opt-contact-form__schedule-label {
    padding-left: 0.8032rem;
  }

  .opt-contact-form__status {
    width: 2.7056rem;
    height: 1.3894rem;
    margin-top: 0.1463rem;
    border-radius: 0.1463rem;
    font-size: 0.8775rem;
    letter-spacing: 0.0878rem;
  }

  .opt-contact-form__status--optional {
    border-width: 0.0731rem;
  }

  .opt-contact-form__input,
  .opt-contact-form__textarea {
    border-radius: 0.375rem;
    font-size: 1.0969rem;
  }

  .opt-contact-form__input {
    height: 4.3625rem;
    padding-inline: 2.34rem;
  }

  .opt-contact-form__textarea {
    height: 11.8125rem;
    padding: 1.2206rem 2.34rem;
  }

  .opt-contact-form__schedule {
    margin-bottom: 2.0925rem;
  }

  .opt-contact-form__schedule-label {
    margin-bottom: 0.7213rem;
  }

  .opt-contact-form__schedule-options {
    position: relative;
    top: 0.0012rem;
    left: -0.0293rem;
    width: 37.6875rem;
    max-width: none;
    gap: 0;
  }

  .opt-contact-form__schedule-option,
  .opt-contact-form__schedule-option--3 {
    height: 6.5rem;
    padding-left: 1.669rem;
    margin-bottom: 0;
    column-gap: 1.1156rem;
    border-radius: 0.375rem;
  }

  .opt-contact-form__schedule-option--1,
  .opt-contact-form__schedule-option--2,
  .opt-contact-form__schedule-option--3 {
    margin-bottom: 0;
  }

  .opt-contact-form__schedule-option--1 {
    margin-bottom: 1.125rem;
  }

  .opt-contact-form__schedule-option--2 {
    margin-bottom: 1.0625rem;
  }

  .opt-contact-form__schedule-option--3 {
    margin-bottom: 1.0294rem;
  }

  .opt-contact-form__schedule-option--other {
    height: 4.6063rem;
  }

  .opt-contact-form__radio {
    top: -0.1972rem;
    width: 1.5137rem;
    height: 1.5137rem;
  }

  .opt-contact-form__radio:checked {
    background: radial-gradient(circle, #e83127 0 0.4973rem, #fff 0.5344rem);
  }

  .opt-contact-form__schedule-copy {
    top: -0.1056rem;
  }

  .opt-contact-form__schedule-date {
    margin-bottom: 0.2669rem;
    font-size: 1.3894rem;
    line-height: normal;
  }

  .opt-contact-form__schedule-venue {
    font-size: 1.0238rem;
    line-height: normal;
  }

  .opt-contact-form__field--message {
    margin-bottom: 0.9544rem;
  }

  .opt-contact-form__field--message .opt-contact-form__label {
    margin-bottom: 0.3963rem;
  }

  .opt-contact-form__fee-note {
    margin-bottom: 0.8rem;
  }

  .opt-contact-form__fee-line--first {
    margin-bottom: -0.4125rem;
  }

  .opt-contact-form__fee-line--primary {
    font-size: 1.1375rem;
    line-height: 2;
    letter-spacing: 0.1138rem;
  }

  .opt-contact-form__fee-line--secondary {
    margin-top: -0.325rem;
    font-size: 0.975rem;
    line-height: 2;
    letter-spacing: 0.0975rem;
  }

  .opt-contact-form__submit {
    width: 22.1875rem;
    height: 5.1875rem;
    padding-right: 1.1094rem;
    box-shadow: 0 0.375rem 0 #be520a;
    font-size: 1.2241rem;
    letter-spacing: 0.0612rem;
  }

  .opt-contact-form__submit-arrow {
    right: 0.6922rem;
    width: 2.0344rem;
    height: 2.0344rem;
  }

  .opt-contact-form__submit-arrow::before {
    left: 0.625rem;
    width: 0.75rem;
    height: 0.0925rem;
  }

  .opt-contact-form__submit-arrow::after {
    right: 0.5625rem;
    width: 0.5375rem;
    height: 0.5375rem;
    border-top-width: 0.125rem;
    border-right-width: 0.125rem;
  }

  .opt-form-page--contact .opt-form-footer {
    margin-top: 5.4375rem;
    padding-bottom: 2.3063rem;
  }

}
/* figma-css:end nodeId=163-1544 */

/* ===== source: assets/css/thanks/sections/02-thanks-message.css ===== */
/* figma-css:start nodeId=156-1195 */
/* generated-from: cached Figma metadata/design_context */
.opt-thanks-message {
  padding-top: 1.5rem;
  padding-bottom: 6.6133rem;
}

.opt-thanks-message__inner {
  width: 90%;
  max-width: 22.9375rem;
  margin-inline: auto;
}

.opt-thanks-message__header {
  margin-bottom: 4.4492rem;
}

.opt-thanks-message__body {
  text-align: center;
}

.opt-thanks-message__guidance {
  margin-bottom: 2.4141rem;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0.06rem;
}

.opt-thanks-message__notice {
  margin-bottom: 1.3906rem;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2.3;
}

.opt-thanks-message__email {
  display: block;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2.3;
  text-align: center;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-thickness: from-font;
  text-underline-position: from-font;
}

/* --- Responsive --- */
@media (width >= 768px) {
  .opt-thanks-message {
    padding-top: 1.5rem;
    padding-bottom: 7.0588rem;
  }

  .opt-thanks-message__inner {
    width: 90%;
    max-width: 48rem;
    margin-inline: auto;
  }

  .opt-thanks-message__header {
    margin-bottom: 3.1568rem;
  }

  .opt-thanks-message__title {
    font-size: 3.7563rem;
    line-height: 1.46;
    letter-spacing: 0.3756rem;
    white-space: nowrap;
  }

  .opt-thanks-message__guidance {
    margin-bottom: 3.1363rem;
    font-size: 1.3rem;
    line-height: 1.7;
    letter-spacing: 0.078rem;
  }

  .opt-thanks-message__notice {
    margin-bottom: 1.8038rem;
    font-size: 1.1375rem;
    line-height: 2.3;
  }

  .opt-thanks-message__email {
    font-size: 1.1375rem;
    line-height: 2.3;
  }
}
/* figma-css:end nodeId=156-1195 */

/* ===== source: assets/css/thanks/overrides.css ===== */
/* Human-authored final adjustments for the thanks page. */
.opt-thanks-message__title {
  /* letter-spacing の末尾余白を打ち消し、見た目を中央揃えにする */
  padding-left: 0.1688rem;
}

@media (width >= 768px) {
  .opt-thanks-message__title {
    padding-left: 0.3756rem;
  }
}
