.seg-apply-preview {
  --apply-ink: #5d253d;
  --apply-muted: #806775;
  --apply-rose: #ab375e;
  --apply-pink: #dc3f78;
  --apply-line: #eee0e6;
  min-height: 100dvh;
  overflow-x: clip;
  background: #fffafb;
  color: var(--apply-ink);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 14px;
}
.seg-apply-preview [hidden] { display: none !important; }
.seg-apply-preview a:focus-visible, .seg-apply-preview button:focus-visible,
.seg-apply-preview input:focus-visible, .seg-apply-preview select:focus-visible,
.seg-apply-preview textarea:focus-visible { outline: 3px solid #9c4267; outline-offset: 3px; }
.apply-header { background: rgba(255, 253, 253, .97); border-bottom: 1px solid #f0e5e9; }
.apply-header-inner { display: flex; align-items: center; justify-content: space-between; max-width: 1380px; min-height: 70px; gap: 28px; padding: 0 32px; margin: auto; }
.apply-brand { display: inline-flex; align-items: baseline; gap: 6px; flex: none; white-space: nowrap; font-family: Georgia, "Noto Serif JP", serif; color: var(--apply-rose); letter-spacing: .09em; font-size: 23px; }
.apply-brand-mark { display: block; width: 27px; height: 27px; flex: none; align-self: center; }
.apply-brand small { font: 700 9px/1 "Noto Sans JP", sans-serif; letter-spacing: .23em; }
.apply-header-nav, .apply-header-actions { display: flex; align-items: center; gap: 20px; white-space: nowrap; }
.apply-header-nav a { color: #745665; font-weight: 650; font-size: 12px; }
.apply-header-nav a:hover, .apply-footer a:hover { color: var(--apply-pink); }
.apply-header-actions { gap: 8px; }
.apply-header-actions a { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 15px; border: 1px solid #e8ced9; border-radius: 99px; background: #fff; color: var(--apply-ink); font-size: 11px; font-weight: 750; }
.apply-header-actions .apply-action-primary { border-color: var(--apply-rose); background: var(--apply-rose); color: white; }
.apply-header-actions a:hover { border-color: var(--apply-rose); }
.apply-preview-note { padding: 9px 20px; text-align: center; background: #fff0f5; color: #74334c; font-size: 12px; line-height: 1.6; }
.apply-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.apply-email-alternative { margin-top: 8px !important; }
.apply-hero { min-height: 310px; background: #fbf3f4 url('/img/seg-apply-preview-hero.webp') center right / cover no-repeat; }
.apply-hero-inner { max-width: 1280px; min-height: inherit; display: flex; align-items: center; margin: auto; padding: 36px clamp(24px, 6vw, 74px); }
.apply-hero-copy { padding-left: 18px; border-left: 2px solid #a95873; max-width: 485px; }
.apply-hero-eyebrow { display: block; margin-bottom: 9px; font-family: "Noto Serif JP", Georgia, serif; font-size: 15px; }
.apply-hero h1 { margin: 0 0 15px; color: #63253e; font-family: "Noto Serif JP", Georgia, serif; font-size: clamp(32px, 3.65vw, 52px); font-weight: 500; letter-spacing: .025em; line-height: 1.25; }
.apply-hero p { margin: 0; max-width: 33ch; color: #684a5a; font-size: 13px; line-height: 1.75; }
.apply-intro { max-width: 1280px; margin: 0 auto; padding: 26px clamp(24px, 6vw, 74px) 9px; }
.apply-intro p { margin: 0; color: #6b4a5b; line-height: 1.85; }
.apply-intro a { color: var(--apply-rose); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.apply-form { max-width: 1280px; margin: 0 auto; padding: 0 clamp(24px, 6vw, 74px) 26px; }
.apply-section { display: grid; grid-template-columns: minmax(155px, 190px) minmax(0, 1fr); gap: 28px; padding: 14px 0 0; }
.apply-section-intro { padding-top: 17px; }
.apply-section-number { display: flex; align-items: center; gap: 16px; font: 400 44px/1 Georgia, serif; color: #a7466a; }
.apply-section-number::after { content: ''; width: 66px; height: 1px; background: #cd8da6; }
.apply-section-intro h2 { margin: 12px 0 13px; font: 500 clamp(24px, 2.25vw, 31px)/1.35 "Noto Serif JP", Georgia, serif; letter-spacing: .03em; }
.apply-section-intro p { margin: 0; color: var(--apply-muted); font-size: 13px; line-height: 1.75; }
.apply-side-signature { display: inline-block; margin-top: 180px; transform: rotate(-9deg); color: #ad6680; font: italic 19px/1.8 "Noto Serif JP", serif; letter-spacing: .09em; }
.apply-section-fields { min-width: 0; padding: 18px 26px 22px; border: 1px solid #f5ebee; border-radius: 14px; background: #fff; box-shadow: 0 14px 45px rgba(141, 75, 99, .065); }
.apply-row { display: grid; grid-template-columns: minmax(160px, 192px) minmax(0, 1fr); gap: 18px; align-items: start; margin: 0; padding: 12px 0; border: 0; border-bottom: 1px solid #eee9eb; }
.apply-row > label, .apply-row > legend, .apply-field-label { width: 100%; margin: 0; padding: 7px 0 0; color: #88455c; font-size: 12px; font-weight: 750; line-height: 1.5; }
.apply-required, .apply-optional { display: inline-block; margin-right: 10px; padding: 3px 6px; border-radius: 2px; vertical-align: 1px; color: #fff; background: #d73e78; font: 700 10px/1 "Noto Sans JP", sans-serif; white-space: nowrap; }
.apply-optional { background: #a5a2aa; }
.apply-control { min-width: 0; }
.apply-control > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.apply-control > select, .apply-control textarea,
.apply-date-controls > input, .apply-date-controls > select,
.apply-email-controls > input, .apply-email-controls > select,
.apply-other-detail > input { width: 100%; min-width: 0; min-height: 44px; padding: 9px 13px; border: 1px solid #dacfd5; border-radius: 6px; background: #fff; color: #563044; box-shadow: none; }
.apply-control select:disabled { background: #f6f3f4; color: #82747b; cursor: not-allowed; }
.apply-email-note { display: inline-block; margin: 0 0 10px; padding: 6px 11px; border-radius: 5px; background: #fff1f5; color: #a73460; font-size: 12px; font-weight: 750; line-height: 1.5; }
.apply-email-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(155px, 1.05fr); align-items: center; gap: 8px; }
.apply-email-controls > select { max-width: none; }
.apply-email-help { margin-top: 10px; color: #765c69; font-size: 12px; line-height: 1.65; }
.apply-email-help summary { display: list-item; width: fit-content; min-height: 30px; color: #9c3c64; font-weight: 650; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.apply-email-help summary:focus-visible { outline: 3px solid #9c4267; outline-offset: 3px; }
.apply-email-help p { margin: 2px 0 0; }
.apply-other-detail { margin-top: 9px; }
.apply-other-detail > label { display: block; margin-bottom: 5px; color: #88455c; font-size: 12px; font-weight: 700; }
.apply-other-detail > input { max-width: 450px; }
.apply-control input::placeholder, .apply-control textarea::placeholder { color: #99858e; opacity: 1; }
.apply-control select { max-width: 360px; }
.apply-control small, .apply-field-hint { display: block; margin-top: 7px; color: #806d76; font-size: 11px; line-height: 1.55; }
.apply-control textarea { display: block; width: 100%; min-height: 112px; resize: vertical; }
.apply-choices { display: grid; gap: 8px; }
.apply-choices-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.apply-choices-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.apply-choices label { position: relative; min-height: 43px; display: flex; align-items: center; padding: 8px 13px; border: 1px solid #e3d8dd; border-radius: 6px; background: #fff; color: #664252; cursor: pointer; font-size: 12px; line-height: 1.35; }
.apply-choices input { width: 17px; height: 17px; flex: none; margin: 0 9px 0 0; accent-color: #bd416d; }
.apply-choices label:has(input:checked) { border-color: #bf5c7f; background: #fff4f8; }
.apply-date-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .7fr); gap: 9px; }
.apply-date-controls > input, .apply-date-controls > select { width: 100%; min-width: 0; }
.apply-date-picker { position: relative; display: block; min-width: 0; min-height: 48px; }
.apply-date-picker > input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 9px; border: 1px solid #bb7894; border-radius: 6px; background: #fff1f5; color: #563044; font-size: 16px; }
.apply-date-display { display: none; }
.apply-date-picker[data-date-enhanced] > input { position: absolute; inset: 0; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
/* The real date input receives taps, keyboard focus and native picker events. */
.apply-date-picker[data-date-enhanced] > input::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: auto; height: auto; margin: 0; padding: 0; cursor: pointer; }
.apply-date-picker[data-date-enhanced] .apply-date-display { display: flex; align-items: center; gap: 7px; min-height: 48px; box-sizing: border-box; padding: 9px 10px; border: 1px solid #bb7894; border-radius: 6px; background: #fff1f5; color: #76344f; font-size: 14px; font-weight: 650; pointer-events: none; }
.apply-date-display img { flex: 0 0 20px; }
.apply-date-picker:focus-within .apply-date-display { outline: 2px solid #963b61; outline-offset: 2px; }
.apply-date-picker:has(input[aria-invalid="true"]) .apply-date-display { border-color: #b52f54; outline: 2px solid #b52f54; }
/* Keyboard users can see native date segments while editing them. */
@media (hover: hover) and (pointer: fine) {
  .apply-date-picker[data-date-enhanced] > input:focus-visible { opacity: 1; z-index: 1; }
}
.apply-date-controls > small, .apply-date-controls > .apply-inline-check { grid-column: 1 / -1; }
.apply-inline-check { display: inline-flex; gap: 8px; align-items: center; min-height: 32px; color: #6d4b5b; cursor: pointer; font-size: 12px; }
.apply-inline-check input { width: 16px; height: 16px; accent-color: #bd416d; }
.apply-body-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; }
.apply-body-controls label { display: flex; align-items: center; gap: 6px; color: #794c60; font-size: 12px; font-weight: 650; white-space: nowrap; }
.apply-body-controls input, .apply-body-controls select { width: 80px; min-height: 42px; padding: 8px; border: 1px solid #dacfd5; border-radius: 6px; background: #fff; color: #563044; }
.apply-body-controls select { width: 125px; }
.apply-field-hint { margin: 0 0 9px; }
.apply-control input[type="file"] { width: 100%; max-width: 450px; padding: 10px; border: 1px dashed #d7b6c4; border-radius: 7px; background: #fffafd; color: #664252; font-size: 12px; }
.apply-control input[type="file"]::file-selector-button { padding: 7px 12px; margin-right: 14px; border: 0; border-radius: 5px; background: #f3e1e9; color: #793c56; font-weight: 700; cursor: pointer; }
.apply-file-name { display: block; margin-top: 6px; font-size: 11px; }
.apply-consent-row { border-bottom: 0; }
.apply-consent { display: flex; align-items: start; gap: 11px; color: #624352; font-size: 12px; line-height: 1.6; cursor: pointer; }
.apply-consent input { width: 18px; height: 18px; flex: none; margin: 1px 0 0; accent-color: #ac3860; }
.apply-consent small { margin: 0; }
.apply-submit-row { margin: 6px 0 0; padding: 9px 0 0 210px; text-align: center; }
.apply-submit { width: min(100%, 470px); min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; border: 0; border-radius: 99px; background: linear-gradient(100deg, #a13a65, #c94773); color: white; font-size: 14px; font-weight: 800; box-shadow: 0 12px 26px rgba(140, 44, 79, .18); cursor: pointer; }
.apply-submit:hover { background: #9a315d; }
.apply-submit-row p { margin: 8px 0 0; color: #85717b; font-size: 11px; }
.apply-review { max-width: 850px; margin: 42px auto 90px; padding: 40px; border: 1px solid #f0e3e9; border-radius: 14px; background: #fff; box-shadow: 0 16px 38px rgba(141, 75, 99, .09); }
.apply-review-eyebrow { color: var(--apply-rose); font-size: 12px; font-weight: 800; }
.apply-review h2 { margin: 9px 0; font: 500 30px/1.4 "Noto Serif JP", serif; }
.apply-review p { color: #785a69; line-height: 1.7; }
.apply-review dl { display: grid; gap: 0; margin: 28px 0; }
.apply-review dl > div { display: grid; grid-template-columns: 175px 1fr; gap: 15px; padding: 12px 0; border-bottom: 1px solid #eee6ea; }
.apply-review dt { color: #92506b; font-weight: 750; }
.apply-review dd { margin: 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.apply-review-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.apply-review-actions button { min-height: 44px; padding: 0 24px; border: 1px solid #ba6c8b; border-radius: 99px; background: white; color: #8a3156; font-weight: 750; cursor: pointer; }
.apply-review-actions .apply-submit { width: auto; min-width: 190px; min-height: 48px; border: 0; background: #ad3765; color: #fff; }
.apply-review-actions .apply-submit:disabled { opacity: .6; cursor: progress; }
.apply-send-error { padding: 12px; border: 1px solid #c95772; border-radius: 6px; background: #fff2f5; color: #852d4c !important; }
html:has(.seg-apply-preview) { scroll-behavior: auto; }
.apply-field-error { margin: 6px 0 0; color: #a02045; font-size: 14px; font-weight: 700; line-height: 1.6; }
.apply-control [aria-invalid="true"] { outline: 2px solid #b42f55; outline-offset: 2px; }
.apply-error-links { margin: 8px 0 0; padding-left: 20px; text-align: left; }
.apply-error-links a { display: inline-block; min-height: 44px; padding: 10px 0; color: #852d4c; text-decoration: underline; }
.apply-startup-message { max-width: 850px; margin: 20px auto; }
.apply-submit:disabled { opacity: .65; cursor: wait; }
.apply-row { scroll-margin-top: 90px; }
@media (max-width: 767px) {
  .seg-apply-preview input:not([type="checkbox"]):not([type="radio"]),
  .seg-apply-preview select, .seg-apply-preview textarea { font-size: 16px; }
  .apply-startup-message { margin-inline: 14px; }
}
.apply-review-actions span { color: #846b78; font-size: 12px; }
.apply-footer { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 27px clamp(24px, 5vw, 70px); border-top: 1px solid #eee3e8; background: #fff; }
.apply-footer .apply-brand { font-size: 19px; }
.apply-footer .apply-brand-mark { width: 22px; height: 22px; }
.apply-footer div { display: flex; flex-wrap: wrap; gap: 20px; color: #865d70; font-size: 11px; font-weight: 700; }
@media (max-width: 1100px) {
  .apply-header-inner { flex-wrap: wrap; justify-content: center; gap: 8px 18px; padding: 10px 20px; }
  .apply-header-nav { order: 3; width: 100%; justify-content: center; }
  .apply-section { grid-template-columns: 145px minmax(0, 1fr); gap: 17px; }
  .apply-row { grid-template-columns: 150px minmax(0, 1fr); gap: 12px; }
  .apply-submit-row { padding-left: 162px; }
}
@media (max-width: 720px) {
  .apply-header-inner { justify-content: space-between; padding: 11px 16px; }
  .apply-brand { font-size: 18px; }
  .apply-brand-mark { width: 21px; height: 21px; }
  .apply-brand small, .apply-header-nav { display: none; }
  .apply-header-actions { width: 100%; gap: 6px; }
  .apply-header-actions a { flex: 1; min-width: 0; min-height: 44px; padding: 5px 6px; font-size: 10px; line-height: 1.25; text-align: center; white-space: normal; }
  .apply-hero { min-height: 335px; background-position: 59% center; }
  .apply-hero-inner { align-items: flex-start; padding: 32px 20px; background: linear-gradient(90deg, rgba(255,250,251,.95) 0%, rgba(255,250,251,.82) 55%, rgba(255,250,251,.25)); }
  .apply-hero-copy { max-width: 300px; padding-left: 13px; }
  .apply-hero h1 { font-size: clamp(31px, 8vw, 40px); }
  .apply-hero p { font-size: 12px; }
  .apply-intro { padding: 22px 18px 6px; }
  .apply-intro br { display: none; }
  .apply-form { padding: 0 14px 25px; }
  .apply-section { display: block; padding-top: 21px; }
  .apply-section-intro { padding: 0 5px 15px; }
  .apply-section-number { font-size: 31px; }
  .apply-section-number::after { width: 40px; }
  .apply-section-intro h2 { display: inline-block; margin: 6px 12px 0 0; font-size: 24px; }
  .apply-section-intro p { display: inline; font-size: 12px; }
  .apply-section-intro p br, .apply-side-signature { display: none; }
  .apply-section-fields { padding: 8px 15px 15px; border-radius: 10px; }
  .apply-row { display: block; padding: 12px 0; }
  .apply-row > label, .apply-row > legend, .apply-field-label { display: block; padding: 0 0 8px; }
  .apply-choices-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .apply-date-controls { grid-template-columns: minmax(0, 1fr) minmax(0, .72fr); }
  .apply-email-controls { grid-template-columns: minmax(0, 1fr) minmax(145px, 1.08fr); gap: 6px; }
  .apply-submit-row { padding-left: 0; }
  .apply-review { margin: 22px 14px 48px; padding: 22px 17px; }
  .apply-review h2 { font-size: 24px; }
  .apply-review dl > div { display: block; }
  .apply-review dd { margin-top: 4px; }
  .apply-footer { display: block; padding: 20px 17px 26px; }
  .apply-footer div { margin-top: 15px; }
}
@media (max-width: 390px) {
  .apply-choices-3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .apply-body-controls { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) { .seg-apply-preview *, .seg-apply-preview *::before, .seg-apply-preview *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
