.hm-site-header__inner{
      width:min(calc(100% - 40px),var(--hm-max));
      margin:auto;
      min-height:94px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:28px;
    }
    .hm-brand__eyebrow{
      font-size:11px;
      letter-spacing:.18em;
      color:var(--hm-muted);
      margin-bottom:3px;
    }
    .hm-brand__name{
      font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
      font-size:20px;
      letter-spacing:.08em;
      line-height:1.45;
    }
    .hm-brand__tagline{
      color:var(--hm-muted);
      font-size:12px;
      white-space:nowrap;
    }
    .hm-breadcrumb{
      width:min(calc(100% - 40px),var(--hm-max));
      margin:16px auto 0;
      color:var(--hm-muted);
      font-size:12px;
    }
    .hm-hero{
      margin-top:16px;
      background:
        linear-gradient(110deg,rgba(67,90,80,.93),rgba(93,118,105,.72)),
        linear-gradient(180deg,#6f8178,#53675e);
      color:#fff;
      position:relative;
      overflow:hidden;
    }
    .hm-hero:after{
      content:"";
      position:absolute;
      width:420px;height:420px;
      right:-120px;top:-220px;
      border:1px solid rgba(255,255,255,.22);
      border-radius:50%;
      box-shadow:0 0 0 72px rgba(255,255,255,.035),0 0 0 145px rgba(255,255,255,.025);
    }
    .hm-hero__inner{
      width:min(calc(100% - 40px),var(--hm-max));
      margin:auto;
      padding:74px 0 80px;
      position:relative;
      z-index:1;
    }
    .hm-en{
      display:block;
      margin-bottom:9px;
      font-family:Arial,sans-serif;
      font-size:12px;
      letter-spacing:.25em;
      text-transform:uppercase;
      font-weight:600;
    }
    .hm-hero h1{
      margin:0;
      font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
      font-weight:500;
      font-size:clamp(30px,4vw,50px);
      letter-spacing:.08em;
      line-height:1.45;
    }
    .hm-hero p{
      max-width:740px;
      margin:24px 0 0;
      font-size:16px;
      line-height:2;
    }

    .hm-lead{
      max-width:860px;
      margin:0 auto 78px;
      text-align:center;
      font-size:16px;
      line-height:2.15;
    }
    .hm-section{margin-top:86px}
    .hm-section:first-of-type{margin-top:0}
    .hm-heading{text-align:center;margin-bottom:38px}
    .hm-heading .hm-en{color:var(--hm-green);margin-bottom:5px}
    .hm-heading h2{
      margin:0;
      font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
      font-weight:500;
      font-size:30px;
      letter-spacing:.09em;
    }
    .hm-heading h2:after{
      content:"";
      display:block;
      width:38px;
      height:1px;
      background:var(--hm-accent);
      margin:18px auto 0;
    }
    .hm-declaration{
      position:relative;
      background:var(--hm-warm);
      padding:48px clamp(28px,6vw,74px);
      border-top:1px solid #e5ddd1;
      border-bottom:1px solid #e5ddd1;
    }
    .hm-declaration:before{
      content:"“";
      position:absolute;
      left:24px;top:6px;
      font-family:Georgia,serif;
      font-size:76px;
      color:rgba(165,141,112,.28);
      line-height:1;
    }
    .hm-declaration__title{
      text-align:center;
      font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
      font-size:24px;
      letter-spacing:.08em;
      margin-bottom:28px;
    }
    .hm-declaration p{margin:0 0 18px}
    .hm-declaration p:last-of-type{margin-bottom:0}
    .hm-signature{
      margin-top:32px;
      padding-top:22px;
      border-top:1px solid rgba(165,141,112,.3);
      text-align:right;
      color:#555;
      font-size:14px;
    }
    .hm-cards{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:18px;
    }
    .hm-card{
      border:1px solid var(--hm-line);
      background:#fff;
      padding:30px 30px 28px;
      min-height:190px;
      position:relative;
    }
    .hm-card__num{
      position:absolute;
      right:24px;top:16px;
      font-family:Georgia,serif;
      font-size:38px;
      line-height:1;
      color:var(--hm-green-pale);
      font-weight:700;
    }
    .hm-card h3{
      margin:0 0 14px;
      color:var(--hm-green-deep);
      font-size:18px;
      letter-spacing:.045em;
    }
    .hm-card p{margin:0;color:#555;font-size:14px;line-height:1.95}
    .hm-structure{
      background:var(--hm-soft);
      padding:40px clamp(20px,4vw,44px);
    }
    .hm-flow{
      max-width:820px;
      margin:auto;
      display:grid;
      gap:10px;
    }
    .hm-flow__box{
      background:#fff;
      border:1px solid #d9dfdc;
      padding:20px 26px;
      text-align:center;
      box-shadow:0 4px 16px rgba(46,61,54,.035);
    }
    .hm-flow__box strong{
      display:block;
      color:var(--hm-green-deep);
      font-size:17px;
      margin-bottom:3px;
    }
    .hm-flow__box span{font-size:13px;color:#62696a}
    .hm-flow__box--top{border-top:4px solid var(--hm-green-deep)}
    .hm-flow__arrow{
      width:1px;height:22px;background:#aab6b0;margin:0 auto;position:relative;
    }
    .hm-flow__arrow:after{
      content:"";position:absolute;left:-4px;bottom:-1px;
      width:8px;height:8px;border-right:1px solid #86968e;border-bottom:1px solid #86968e;transform:rotate(45deg);
    }
    .hm-flow__grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:10px;
    }
    .hm-flow__grid .hm-flow__box{padding:18px 14px}
    .hm-flow__grid strong{font-size:14px}
    .hm-flow__grid span{font-size:12px;line-height:1.7;display:block}
    .hm-note{
      margin-top:28px;
      padding-left:20px;
      border-left:2px solid var(--hm-accent);
      color:#555;
      font-size:14px;
    }
    .hm-improve{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:38px;
      align-items:center;
    }
    .hm-improve__copy h3{
      margin:0 0 14px;
      font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
      font-size:24px;
      font-weight:500;
      color:var(--hm-green-deep);
    }
    .hm-improve__copy p{margin:0;color:#555}
    .hm-cycle{
      min-height:280px;
      position:relative;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:10px;
    }
    .hm-cycle__item{
      display:flex;flex-direction:column;align-items:center;justify-content:center;
      text-align:center;
      border:1px solid var(--hm-line);
      background:#fff;
      min-height:120px;
    }
    .hm-cycle__item b{
      color:var(--hm-green-deep);
      font-family:Arial,sans-serif;
      font-size:13px;
      letter-spacing:.12em;
      margin-bottom:4px;
    }
    .hm-cycle__item span{font-size:13px;color:#5f6665}
    .hm-application{
      margin-top:86px;
      background:var(--hm-green-deep);
      color:#fff;
      padding:38px clamp(24px,5vw,54px);
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }
    .hm-application .hm-en{opacity:.72;margin-bottom:5px}
    .hm-application h3{
      margin:0;
      font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
      font-size:22px;
      font-weight:500;
      letter-spacing:.06em;
    }
    .hm-application p{margin:6px 0 0;font-size:13px;opacity:.9}
    .hm-footer{
      background:#f0f2f1;
      border-top:1px solid #e0e4e2;
      color:#656b69;
      text-align:center;
      font-size:12px;
      padding:32px 20px 38px;
    }
    .hm-print-note{display:none}
    @media (max-width:760px){
      .hm-site-header__inner{min-height:78px;width:min(calc(100% - 28px),var(--hm-max))}
      .hm-brand__name{font-size:16px}.hm-brand__tagline{display:none}
      .hm-breadcrumb,.hm-hero__inner,.hm-page{width:min(calc(100% - 28px),var(--hm-max))}
      .hm-hero__inner{padding:54px 0 60px}
      .hm-hero p{font-size:14px}
      .hm-page{padding:54px 0 70px}
      .hm-lead{text-align:left;margin-bottom:58px;font-size:15px}
      .hm-section{margin-top:64px}.hm-heading h2{font-size:25px}
      .hm-cards,.hm-improve{grid-template-columns:1fr}
      .hm-flow__grid{grid-template-columns:1fr 1fr}
      .hm-application{display:block}.hm-application p{margin-top:10px}
    }
    @media (max-width:460px){
      .hm-flow__grid{grid-template-columns:1fr}
      .hm-declaration{padding:38px 22px}
      .hm-declaration__title{font-size:21px}
      .hm-card{padding:26px 22px}
    }
    @media print{
      .hm-site-header,.hm-breadcrumb,.hm-footer{display:none}
      .hm-hero{background:#fff;color:#222;border-bottom:1px solid #bbb}
      .hm-hero__inner{padding:30px 0}
      .hm-page{padding:36px 0}
      .hm-section{break-inside:avoid}
      .hm-application{background:#fff;color:#222;border:1px solid #bbb}
      .hm-print-note{display:block;font-size:10px;color:#777}
    }