.hm-hero p,.hm-origin p,.hm-menu p,.hm-menu dt,.hm-menu dd,.hm-compat p,.hm-notice p,.hm-form p,.hm-form label { font-size:16px; }
.hm-hero { position:relative; isolation:isolate; min-height:720px; display:flex; align-items:center; overflow:hidden; padding:100px clamp(24px,7vw,108px); color:#fff; background:#151515; }
.hm-hero::before { content:""; position:absolute; inset:0; z-index:-2; background:radial-gradient(circle at 77% 42%,rgba(239,89,47,.22),transparent 25%),linear-gradient(115deg,#151515 0 54%,#292725 54% 100%); }
.hm-hero-grid { position:absolute; z-index:-1; inset:0 0 0 53%; display:grid; grid-template-columns:repeat(4,1fr); transform:skewX(-12deg); opacity:.58; }
.hm-hero-grid i { border-left:1px solid rgba(255,255,255,.12); }
.hm-hero-grid i:nth-child(2) { background:rgba(239,89,47,.17); }
.hm-hero-logo { position:absolute; right:clamp(34px,7vw,110px); top:50%; width:clamp(250px,27vw,390px); padding:10px; background:#fff; border:1px solid rgba(255,255,255,.35); box-shadow:24px 24px 0 rgba(0,0,0,.2); transform:translateY(-50%) rotate(1.5deg); }
.hm-hero-logo img { display:block; width:100%; height:auto; }
.hm-hero-content { position:relative; z-index:1; width:min(720px,57vw); }
.hm-project-label { display:flex; gap:16px; margin:0 0 44px; color:#aaa69f; font:600 16px "Barlow Condensed",sans-serif!important; letter-spacing:.12em; }
.hm-project-label span { color:var(--orange); }
.hm-name { margin:0 0 20px; font:600 20px "Barlow Condensed","Noto Sans JP",sans-serif!important; letter-spacing:.15em; }
.hm-name small { font:600 16px "Noto Sans JP",sans-serif; letter-spacing:.05em; }
.hm-hero h1 { margin:0; font:600 clamp(52px,5.3vw,84px)/1.08 "Barlow Condensed","Noto Sans JP",sans-serif; letter-spacing:-.045em; }
.hm-hero h1 span,.hm-hero h1 em { display:inline-block; white-space:nowrap; }
.hm-hero h1 em { color:var(--orange); font-style:italic; }
.hm-hero-lead { max-width:690px; margin:30px 0 0; color:#dedad3; line-height:1.9; }
.hm-hero-actions { display:flex; align-items:center; gap:30px; margin-top:38px; }
.hm-hero-actions>a:last-child { font-size:16px; font-weight:700; text-underline-offset:6px; }
.hm-hero-note { position:absolute; right:4%; bottom:42px; color:#aaa69f; font:600 16px/1.7 "Barlow Condensed",sans-serif!important; letter-spacing:.12em; text-align:right; }
.hm-section-nav { display:grid; grid-template-columns:repeat(3,1fr); max-width:1120px; margin:0 auto; border-right:1px solid var(--line); border-bottom:1px solid var(--line); border-left:1px solid var(--line); }
.hm-section-nav a { display:flex; align-items:center; gap:18px; min-height:82px; padding:20px 28px; font-size:16px; font-weight:700; text-decoration:none; }
.hm-section-nav a+a { border-left:1px solid var(--line); }
.hm-section-nav span { color:var(--orange); font:600 24px "Barlow Condensed",sans-serif; }

.hm-origin { max-width:1200px; margin:auto; padding:125px 40px; display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.hm-origin h2,.hm-section-head h2,.hm-form h2 { margin:0; font:600 clamp(42px,4.4vw,64px)/1.15 "Barlow Condensed","Noto Sans JP",sans-serif; letter-spacing:-.035em; }
.hm-origin-copy { padding-top:44px; }
.hm-origin-copy>p { margin:0 0 24px; color:#514e49; line-height:1.9; }
.hm-origin aside { margin-top:42px; padding:28px 30px; border-left:4px solid var(--orange); background:#e7e2d9; }
.hm-origin aside strong { font-size:18px; }
.hm-origin aside p { margin:12px 0 16px; color:#514e49; line-height:1.8; }
.hm-origin aside a { font-size:16px; font-weight:700; text-underline-offset:5px; }

.hm-menu { padding:120px max(40px,calc((100vw - 1120px)/2)); color:#fff; background:#242321; }
.hm-section-head { max-width:800px; margin-bottom:56px; }
.hm-section-head>p:last-child { margin:26px 0 0; color:#d0cbc3; line-height:1.85; }
.hm-menu-groups { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #514e49; border-left:1px solid #514e49; }
.hm-menu-groups>article { min-width:0; padding:40px; border-right:1px solid #514e49; border-bottom:1px solid #514e49; }
.hm-menu-groups header>span { color:var(--orange); font:600 16px "Barlow Condensed",sans-serif; letter-spacing:.12em; }
.hm-menu-groups header>p { margin:18px 0 4px; color:#aaa69f; font:600 16px "Barlow Condensed",sans-serif!important; letter-spacing:.12em; }
.hm-menu-groups h3 { margin:0 0 30px; font-size:24px; }
.hm-menu dl { margin:0; }
.hm-menu dl div { display:flex; justify-content:space-between; gap:24px; padding:17px 0; border-top:1px solid #514e49; }
.hm-menu dt { line-height:1.65; }
.hm-menu dt small { display:block; margin-top:4px; color:#aaa69f; font-size:16px; }
.hm-menu dd { margin:0; font-weight:700; white-space:nowrap; }
.hm-menu-risk { background:#1c1c1b; }
.hm-group-price { margin:-8px 0 22px; color:var(--orange); font:600 32px "Barlow Condensed",sans-serif!important; }
.hm-menu ul { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin:0; padding:1px; background:#514e49; }
.hm-menu li { padding:16px; background:#1c1c1b; font-size:16px; list-style:none; }
.hm-risk-note,.hm-labor { margin:22px 0 0; color:#c8c3bb; line-height:1.75; }
.hm-price-note { margin:24px 0 0; color:#aaa69f; line-height:1.8; }

.hm-compat { max-width:1200px; margin:auto; padding:120px 40px; }
.hm-section-head-light>p:last-child { color:#514e49; }
.hm-model-groups { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.hm-model-groups article { min-height:280px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.hm-model-groups span { color:var(--orange); font:600 16px "Barlow Condensed",sans-serif; letter-spacing:.12em; }
.hm-model-groups h3 { margin:24px 0 20px; font-size:20px; }
.hm-model-groups p { margin:0; padding:8px 0; border-top:1px solid var(--line); color:#514e49; }
.hm-model-groups small { display:block; color:var(--orange); font-size:16px; }
.hm-compat-notes { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:18px; background:var(--line); }
.hm-compat-notes p { margin:0; padding:24px 28px; background:#e8e3da; line-height:1.8; }
.hm-compat-notes strong { display:block; margin-bottom:5px; color:var(--orange); font-size:18px; }
.hm-notice { max-width:1120px; margin:0 auto 120px; padding:0 40px; }
.hm-notice details { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hm-notice summary { display:flex; justify-content:space-between; padding:26px 0; cursor:pointer; font-size:18px; font-weight:700; list-style:none; }
.hm-notice summary::-webkit-details-marker { display:none; }
.hm-notice details>div { display:grid; grid-template-columns:1fr 1fr; gap:30px 50px; padding:8px 0 40px; }
.hm-notice h3 { margin:0 0 10px; font-size:18px; }
.hm-notice p { margin:0; color:#514e49; line-height:1.8; }

.hm-form { padding:105px max(24px,calc((100vw - 1120px)/2)); color:#fff; background:#171716; }
.hm-form-heading { max-width:850px; margin:0 auto 48px; text-align:center; }
.hm-form-heading .hm-project-label { justify-content:center; margin-bottom:26px; }
.hm-form-heading>p:last-child { margin:25px 0 0; color:#cbc7c0; line-height:1.8; }
.hm-quote-form { color:var(--ink); background:var(--paper); border:1px solid #4b4945; }
.hm-form-status { margin:0!important; padding:18px 28px; color:#fff; background:#5a554f; font-weight:700; }
.hm-quote-form fieldset { margin:0; padding:42px 48px; border:0; border-bottom:1px solid var(--line); }
.hm-quote-form legend { width:100%; margin:0 0 28px; padding:0; font-size:22px; font-weight:700; }
.hm-quote-form legend>span { display:inline-block; min-width:54px; color:var(--orange); font:600 30px "Barlow Condensed",sans-serif; }
.hm-quote-form b,.hm-field-grid b { display:inline-block; margin-left:8px; padding:3px 7px; color:#fff; background:var(--orange); font-size:16px; vertical-align:middle; }
.hm-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.hm-field-grid label { display:flex; flex-direction:column; gap:10px; font-weight:700; }
.hm-field-grid input,.hm-field-grid select { min-height:54px; padding:12px 14px; border:1px solid #aaa49a; color:var(--ink); background:#fff; font:400 16px "Noto Sans JP",sans-serif; outline:none; }
.hm-field-grid input:focus,.hm-field-grid select:focus { border-color:var(--orange); box-shadow:0 0 0 2px rgba(239,89,47,.18); }
.hm-choices { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.hm-choices label { display:grid; grid-template-columns:24px 1fr; gap:12px; align-items:start; min-height:80px; padding:16px; border:1px solid var(--line); background:#fff; cursor:pointer; }
.hm-choices-compact label { min-height:58px; }
.hm-choices input { width:20px; height:20px; margin:2px 0 0; accent-color:var(--orange); }
.hm-choices strong { display:block; font-size:16px; line-height:1.5; }
.hm-choices small { display:block; margin-top:4px; color:var(--muted); font-size:16px; line-height:1.5; }
.hm-choice-other>span { min-width:0; }
.hm-choice-other input[type="text"] { width:100%; min-height:40px; margin-top:8px; padding:8px 10px; border:1px solid #aaa49a; color:var(--ink); background:#fff; font:400 16px "Noto Sans JP",sans-serif; outline:none; }
.hm-choice-other input[type="text"]:focus { border-color:var(--orange); box-shadow:0 0 0 2px rgba(239,89,47,.18); }
.hm-form-submit { padding:38px 48px 44px; text-align:center; }
.hm-form-submit button { min-width:280px; padding:17px 22px; border:0; color:#d2cec7; background:#77726b; font:700 16px "Noto Sans JP",sans-serif; cursor:not-allowed; }
.hm-form-submit button:not(:disabled) { color:#fff; background:var(--ink); cursor:pointer; }

@media (max-width:820px) {
  .hm-hero { display:block; min-height:740px; padding:80px 24px 90px; }
  .hm-hero-content { width:100%; }
  .hm-hero-logo { position:relative; right:auto; top:auto; width:190px; margin:0 0 34px; padding:6px; box-shadow:12px 12px 0 rgba(0,0,0,.2); transform:rotate(-1deg); }
  .hm-hero h1 { font-size:clamp(36px,10vw,55px); }
  .hm-hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .hm-hero-note { display:none; }
  .hm-section-nav { grid-template-columns:1fr; border-right:0; border-left:0; }
  .hm-section-nav a { min-height:66px; padding:14px 24px; }
  .hm-section-nav a+a { border-top:1px solid var(--line); border-left:0; }
  .hm-origin { grid-template-columns:1fr; gap:45px; padding:88px 24px; }
  .hm-origin-copy { padding:0; }
  .hm-menu,.hm-compat { padding:88px 24px; }
  .hm-menu-groups,.hm-model-groups,.hm-compat-notes,.hm-notice details>div { grid-template-columns:1fr; }
  .hm-menu-groups>article { padding:32px 24px; }
  .hm-model-groups article { min-height:0; }
  .hm-notice { margin-bottom:88px; padding:0 24px; }
  .hm-form { padding:80px 0; }
  .hm-form-heading { padding:0 24px; }
  .hm-quote-form { border-right:0; border-left:0; }
  .hm-quote-form fieldset { padding:36px 24px; }
  .hm-field-grid,.hm-choices { grid-template-columns:1fr; }
  .hm-form-submit { padding:34px 24px 40px; }
  .hm-form-submit button { width:100%; min-width:0; }
}
@media (max-width:390px) {
  .hm-hero h1 span,.hm-hero h1 em { white-space:normal; }
  .hm-menu dl div { align-items:flex-start; flex-direction:column; gap:7px; }
  .hm-menu dd { white-space:normal; }
  .hm-menu ul { grid-template-columns:1fr; }
}
