:root{--red:#bd090f;--red-dark:#97060b;--ink:#171717;--muted:#595959;--line:#dedede;--paper:#f7f7f7;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-text-size-adjust:100%}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:.3em}img{max-width:100%;height:auto}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #176ba0;outline-offset:4px}p{margin:0 0 1.4em;color:var(--muted)}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.6;margin:0}h2{font-size:clamp(1.8rem,3.6vw,2.65rem)}h3{font-size:1.35rem}ul{padding-left:1.5em}::selection{background:#f9dadd}.container{width:min(1120px,88%);margin-inline:auto}.narrow{max-width:820px}.section{padding-block:88px}.eyebrow{font-family:Georgia,serif;color:var(--red);font-size:.875rem;letter-spacing:.2em;margin:0 0 12px;line-height:1.5}.text-link{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid var(--red);font-size:.9375rem;font-weight:500}.text-link:hover{text-decoration:none;color:var(--red)}.button{min-height:50px;padding:12px 24px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--red);background:var(--red);color:#fff;font-weight:600;font-size:.9375rem;text-align:center;line-height:1.6;transition:background .15s}.button:hover{background:var(--red-dark);text-decoration:none}.button.secondary{background:#fff;color:var(--ink);border-color:#777}.button.secondary:hover{background:var(--paper)}.button:disabled{opacity:.65}.actions{display:flex;flex-wrap:wrap;gap:16px}.skip-link{position:absolute;top:-100px;left:16px;z-index:100;background:#fff;padding:10px;border:2px solid var(--red)}.skip-link:focus{top:10px}
.header{position:sticky;top:0;background:#fff;z-index:30;border-bottom:1px solid #eee}.header-inner{width:min(1400px,94%);min-height:94px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand:hover{text-decoration:none}.brand-mark{display:block;width:53px;height:53px;overflow:hidden;position:relative;flex-shrink:0}.brand-mark img{max-width:none;width:113px;position:absolute;left:-31px;top:-29px}.brand-copy{line-height:1.3}.brand-copy strong{display:block;font-family:Georgia,serif;font-size:1.27rem;letter-spacing:.12em;font-weight:500}.brand-copy small{font-family:Georgia,serif;display:block;font-size:.75rem;letter-spacing:.065em;margin-top:5px}.nav{display:flex;align-items:center;gap:26px;font-size:.875rem}.nav>a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap}.nav>a[aria-current=page]{color:var(--red);text-decoration:underline;text-underline-offset:.7em}.nav .nav-contact{background:var(--red);color:#fff;padding:11px 19px}.nav .nav-contact[aria-current=page]{color:#fff}.menu-toggle{display:none;background:#fff;border:1px solid #999;padding:8px 12px;min-height:44px;font-size:.875rem;color:var(--ink)}
.hero{width:min(1536px,100%);margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:650px;overflow:hidden}.hero-art{position:relative;overflow:hidden;width:100%;aspect-ratio: .975;background:#fff}.hero-art img{width:185.06%;max-width:none;position:absolute;top:-18.8%;left:0;height:auto}.hero-copy{padding:55px 10% 55px 8%;}.hero-copy h1{font-size:clamp(2.15rem,3.6vw,3.5rem);line-height:1.7;letter-spacing:.06em;margin-bottom:24px}.hero-copy h1 span{color:var(--red)}.hero-rule{width:52px;height:2px;background:var(--red);margin-bottom:26px}.hero-copy .intro{font-family:var(--serif);color:var(--ink);font-size:1.125rem;line-height:1.95;margin-bottom:14px}.hero-copy .detail{font-size:1rem;line-height:1.95;margin-bottom:26px}.hero-copy .eyebrow{font-family:var(--sans);letter-spacing:.08em;font-size:.875rem}.news-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.news-strip .container{display:flex;gap:30px;align-items:center;padding-block:22px;font-size:.875rem}.news-strip .eyebrow{margin:0}.news-strip time{color:var(--muted);font-family:var(--sans)}.news-strip .text-link{margin-left:auto;font-size:.875rem}.intro-section .section-grid{display:grid;grid-template-columns:32% 1fr;gap:9%}.section-heading h2{margin-bottom:20px}.lead{font-size:1.125rem;line-height:2;color:#292929}.intro-section{border-bottom:1px solid var(--line)}.business-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px}.business-list>div{border-top:2px solid var(--red);padding-top:18px}.business-list h3{font-size:1.125rem;margin-bottom:8px}.business-list p{font-size:.9375rem}.number{font-family:Georgia,serif;font-size:.8125rem;color:var(--red);letter-spacing:.12em}.company-section{background:var(--paper)}.company-columns{display:grid;grid-template-columns:1fr 1fr;gap:9%}.company-brief{margin:0;border-top:1px solid var(--line);display:grid;grid-template-columns:110px 1fr;font-size:.9375rem}.company-brief dt,.company-brief dd{margin:0;padding:14px 0;border-bottom:1px solid var(--line)}.company-brief dt{color:var(--muted)}.company-brief dd{padding-left:12px}.message-section .container{display:grid;grid-template-columns:32% 1fr;gap:9%}.message-section h3{font-size:1.65rem;margin-bottom:20px}.news-list{padding:0;list-style:none;margin:30px 0 0;border-top:1px solid var(--line)}.news-list li{display:flex;gap:38px;padding-block:24px;border-bottom:1px solid var(--line)}.news-list time{flex-shrink:0;color:var(--muted);font-size:.9375rem}.news-section{border-top:1px solid var(--line)}.contact-band{background:#151515;color:#fff;padding:62px 0}.contact-band .container{display:flex;align-items:center;justify-content:space-between;gap:32px}.contact-band .eyebrow{color:#ef8588}.contact-band h2{margin-bottom:10px}.contact-band p{color:#d2d2d2;margin:0}.contact-band .button{flex-shrink:0;padding-inline:30px}.footer{background:#080808;color:#d0d0d0;padding:40px 0 25px;font-size:.875rem}.footer-main{display:flex;justify-content:space-between;gap:24px}.footer-name{font-family:var(--serif);font-size:1.0625rem;color:#fff;margin-bottom:6px}.footer-sub{font-family:Georgia,serif;font-size:.75rem;letter-spacing:.1em}.footer-nav{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}.footer-nav a{min-height:44px;display:inline-flex;align-items:center}.license{color:#bcbcbc;font-size:.8125rem;line-height:1.8;margin-top:18px}.copyright{border-top:1px solid #303030;margin-top:26px;padding-top:22px;color:#aaa;font-size:.75rem;font-family:var(--sans)}
.breadcrumbs{font-size:.8125rem;color:var(--muted);padding-top:23px;display:flex;gap:12px;flex-wrap:wrap}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.page-hero{padding:45px 0 55px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.5rem,5vw,4.25rem);margin-bottom:17px}.page-hero p{max-width:780px;margin-bottom:0}.redline{width:56px;height:2px;background:var(--red);margin-top:26px}.prose h2{font-size:clamp(1.6rem,3vw,2.15rem);margin-bottom:24px}.prose h3{margin-top:32px;margin-bottom:14px}.prose p{line-height:2.1}.prose .text-link{margin-top:24px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.card{padding:29px 25px;border:1px solid var(--line)}.card h3{margin:16px 0 15px}.card p{font-size:.9375rem;margin:0}.flow{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 42px;counter-reset:flow}.flow li{padding:26px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:38px 1fr;gap:18px;counter-increment:flow}.flow li:before{content:counter(flow,decimal-leading-zero);font-family:Georgia,serif;font-size:1.125rem;color:var(--red);padding-top:4px}.flow h3{font-size:1.125rem;margin:0 0 10px}.flow p{font-size:.9375rem;margin:0}.section.pale{background:var(--paper)}.profile{display:grid;grid-template-columns:180px 1fr;border-top:1px solid var(--line);margin:36px 0 0}.profile dt,.profile dd{padding:22px 0;margin:0;border-bottom:1px solid var(--line)}.profile dt{color:var(--muted)}.profile dd{padding-left:25px;overflow-wrap:anywhere}.profile a{text-decoration:underline;text-underline-offset:.3em}.signature{text-align:right;border-top:1px solid var(--line);padding-top:25px;margin-top:35px;font-size:.9375rem}.signature strong{display:block;font-size:1.25rem;font-family:var(--serif);font-weight:500;margin-top:4px}.policy section{margin-bottom:38px}.policy section h2{font-family:var(--sans);font-size:1.1875rem;font-weight:600;margin-bottom:12px}.policy ul{color:var(--muted)}.policy a{text-decoration:underline;text-underline-offset:.3em}.policy .address-note{font-size:.9375rem}.policy-date{font-size:.875rem;color:var(--muted)}
.form-wrap{max-width:790px;margin:auto}.form-intro{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:32px}.form-intro p{margin-bottom:10px}.form-note{font-size:.875rem;color:var(--muted)}.required{color:var(--red);font-size:.8125rem;display:inline-block;margin-left:10px;font-family:var(--sans);font-weight:500}.optional{color:var(--muted);font-size:.8125rem;display:inline-block;margin-left:10px;font-weight:400}.field{margin-bottom:25px}.field label,.field legend{font-size:.9375rem;font-weight:600;display:block;margin-bottom:8px}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #888;background:#fff;border-radius:2px;padding:12px 14px;color:var(--ink);font-size:1rem;min-height:50px}.field textarea{resize:vertical;min-height:190px;line-height:1.8}.field input::placeholder,.field textarea::placeholder{color:#767676}.field [aria-invalid=true]{border:2px solid var(--red)}.field-hint{font-size:.8125rem;margin:7px 0 0}.field-error{font-size:.875rem;color:#a3060c;margin:7px 0 0}.field-error:empty{display:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.consent{padding:22px;background:var(--paper);margin-top:32px}.consent-label{display:flex;gap:12px;align-items:flex-start;font-size:.9375rem}.consent input{width:21px;height:21px;flex-shrink:0;accent-color:var(--red);margin:3px 0 0}.consent a{text-decoration:underline;text-underline-offset:.3em}.form-actions{margin-top:28px;display:flex;align-items:center;flex-direction:column;gap:14px}.form-actions .button{min-width:270px}.form-status{padding:18px 22px;border:1px solid #c2c2c2;background:var(--paper);margin-bottom:28px}.form-status[data-kind=error]{border-color:var(--red);color:#94060a;background:#fff7f7}.form-status p{margin:0;color:inherit}.form-status ul{margin:8px 0 0}.form-status a{text-decoration:underline}.form-status[hidden],.success-panel[hidden],[hidden]{display:none!important}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.success-panel{border-top:3px solid var(--red);padding:38px 30px;background:var(--paper)}.success-panel h2{font-size:1.7rem;margin-bottom:16px}.receipt{font-size:.9375rem;border-top:1px solid var(--line);padding-top:15px;margin-top:24px}.success-panel .actions{margin-top:25px}.form-fallback{border-top:1px solid var(--line);padding-top:22px;margin-top:40px;font-size:.875rem}.form-fallback a{text-decoration:underline}.error-page{text-align:center;min-height:45vh;padding-block:70px}.error-code{font-family:Georgia,serif;font-size:4rem;color:var(--red);line-height:1.4}.error-page h1{font-size:2rem;margin:12px 0 18px}.error-page .actions{justify-content:center;margin-top:30px}
@media(min-width:1537px){.hero{min-height:760px}.hero-copy{padding-left:11%}}@media(max-width:1150px){.nav{gap:17px}.header-inner{gap:16px}.brand-copy strong{font-size:1.125rem}.brand-mark{width:47px;height:47px}.brand-mark img{width:101px;left:-28px;top:-26px}.hero{min-height:540px}.hero-copy{padding:40px 8% 40px 4%}.hero-copy h1{font-size:2.65rem}.hero .button{padding-inline:17px}.hero-copy .intro{font-size:1.0625rem}.hero-copy .detail{font-size:.9375rem}}
@media(max-width:980px){.header-inner{min-height:82px;width:90%;flex-wrap:wrap;gap:0;position:relative}.menu-toggle{display:block}.nav{width:100%;flex-wrap:wrap;gap:4px 22px;padding:8px 0 18px}.js .nav:not(.is-open){display:none}.nav>a{min-height:46px}.nav .nav-contact{padding:10px 18px}.brand{min-height:82px}.hero{min-height:490px}.hero-copy h1{font-size:2.1rem}.hero-art{aspect-ratio:.85}.hero-art img{width:209%;top:-10%;left:-4%}.hero-copy{padding-block:40px}.hero .actions{gap:10px}.hero .button{font-size:.875rem;padding:10px 16px}.hero-copy .eyebrow{font-size:.8125rem}.section{padding-block:66px}.cards{gap:15px}.card{padding:23px 20px}.news-strip .container{gap:20px}.news-strip .text-link{display:none}.contact-band .container{align-items:flex-start}.footer-main{flex-direction:column}.company-columns{gap:6%}}
@media(max-width:700px){html{scroll-padding-top:85px}.container{width:88%}.brand-copy strong{font-size:1.02rem}.brand-copy small{font-size:.75rem;letter-spacing:.01em}.header-inner{width:92%;min-height:76px}.brand{min-height:76px;gap:8px}.brand-mark{width:41px;height:41px}.brand-mark img{width:89px;left:-25px;top:-23px}.menu-toggle{padding:7px 9px;font-size:.8125rem}.nav{gap:3px 24px}.hero{display:flex;flex-direction:column;min-height:0;align-items:stretch}.hero-copy{order:0;padding:37px 6% 27px}.hero-copy h1{font-size:clamp(1.8rem,7.6vw,2.65rem);margin-bottom:18px;line-height:1.65}.hero-copy .intro{font-size:1.0625rem;margin-bottom:12px}.hero-copy .detail{font-size:.9375rem;margin-bottom:22px}.hero-copy .eyebrow{font-size:.8125rem;margin-bottom:12px}.hero-rule{margin-bottom:22px}.hero-art{order:1;aspect-ratio:1.2;max-height:360px;width:100%;}.hero-art img{width:185.06%;top:-24%;left:0}.hero .actions{gap:12px}.hero .button{padding:12px 16px;min-height:48px;font-size:.875rem;flex:1}.news-strip .container{flex-wrap:wrap;gap:6px 22px;padding-block:19px}.news-strip .news-text{flex-basis:100%;margin-top:3px}.section{padding-block:52px}.intro-section .section-grid,.company-columns,.message-section .container{grid-template-columns:1fr;gap:26px}.section-heading h2{margin-bottom:0}.business-list{gap:20px;grid-template-columns:1fr;margin-top:24px}.business-list>div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding-top:15px;border-top:1px solid var(--line)}.business-list p{margin-bottom:0}.company-brief{font-size:.9375rem}.message-section h3{font-size:1.4rem}.news-list li{display:block;padding-block:22px}.news-list time{display:block;margin-bottom:8px}.contact-band{padding-block:45px}.contact-band .container{flex-direction:column;gap:24px}.contact-band .button{width:100%}.footer{padding-top:32px}.footer-nav{gap:4px 20px}.footer-main{gap:22px}.breadcrumbs{padding-top:17px}.page-hero{padding:30px 0 35px}.page-hero h1{font-size:2.5rem}.page-hero p{font-size:.9375rem}.lead{font-size:1.0625rem}.cards{grid-template-columns:1fr;margin-top:25px;gap:16px}.card{padding:24px}.card h3{font-size:1.3rem;margin-top:9px}.flow{grid-template-columns:1fr;margin-top:20px}.flow li{gap:12px;padding-block:22px}.profile{grid-template-columns:98px 1fr;font-size:.9375rem;margin-top:24px}.profile dt,.profile dd{padding-block:19px}.profile dd{padding-left:14px}.signature{font-size:.875rem}.signature strong{font-size:1.125rem}.form-row{grid-template-columns:1fr;gap:0}.form-wrap .section{padding-block:35px}.consent{padding:18px}.form-actions .button{width:100%;min-width:0}.success-panel{padding:28px 22px}.success-panel h2{font-size:1.4rem}.error-page h1{font-size:1.6rem}.policy section h2{font-size:1.125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}@media print{.header,.contact-band,.footer,.actions,.menu-toggle,.breadcrumbs{display:none!important}.section,.page-hero{padding-block:25px}.container{width:100%}a{color:#111}.hero{min-height:0}.hero-copy{padding:20px}.hero-art{max-height:450px}body{font-size:11pt}}

/* Shared header: retain the original PJ artwork, draw a complete vector ring.
   The source circle is excluded by the ellipse; the lettering is untouched. */
.header .brand-mark {
  border-radius: 50%;
  background: #fff;
}
.header .brand-mark img {
  width: 200%;
  height: auto;
  left: -51.818182%;
  top: -49.242424%;
  clip-path: ellipse(20.5% 17.257653% at 50.909091% 41.772959%);
}
.header .brand-mark::after {
  content: "";
  position: absolute;
  inset: 2%;
  border: 1.5px solid #c6000b;
  border-radius: 50%;
  pointer-events: none;
}
/* Company link stays in its original mobile reading position. */
.home-hero .company-columns > .text-link {
  justify-self: start;
}
@media screen and (min-width: 981px) {
  .home-hero :is(.intro-section, .company-section, .message-section) .text-link {
    display: flex;
    width: fit-content;
  }
  .home-hero .intro-section .business-list p,
  .home-hero .message-section .container > div > p { margin-bottom: 0; }
  .home-hero .intro-section .business-list + .text-link,
  .home-hero .message-section .container > div > .text-link {
    margin-top: 24px;
  }
}
/* Company section: preserve the current production layout at each breakpoint.
   Superseded company rules were consolidated on 2026-10-10.
   Desktop: heading | intro -> table -> link. Mobile: heading -> intro -> table -> link. */
@media screen and (min-width: 981px) {
  .home-hero #company .company-columns {
    grid-template-columns: 32% 1fr;
    grid-template-areas:
      "heading intro"
      "heading brief"
      "heading link";
    column-gap: 9%;
    row-gap: 24px;
    align-items: start;
  }
  .home-hero #company .company-columns > .section-heading {
    grid-area: heading;
  }
  .home-hero #company .company-columns > .company-intro {
    grid-area: intro;
    margin: 0;
  }
  .home-hero #company .company-columns > .company-brief {
    grid-area: brief;
  }
  .home-hero #company .company-columns > .text-link {
    grid-area: link;
  }
}

@media screen and (min-width: 701px) and (max-width: 980px) {
  .home-hero .company-columns { row-gap: 0; }
  .home-hero #company .company-columns > .section-heading {
    grid-column: 1;
    grid-row: 1;
  }
  .home-hero #company .company-columns > .company-intro {
    grid-column: 1;
    grid-row: 2;
    margin: 18px 0 0;
  }
  .home-hero #company .company-columns > .company-brief {
    grid-column: 2;
    grid-row: 1 / 4;
  }
  .home-hero #company .company-columns > .text-link {
    grid-column: 1;
    grid-row: 3;
    margin-top: 24px;
  }
}

@media screen and (max-width: 700px) {
  .home-hero .company-columns { row-gap: 0; }
  .home-hero #company .company-columns > .section-heading {
    order: 0;
  }
  .home-hero #company .company-columns > .company-intro {
    order: 1;
    margin: 18px 0 0;
  }
  .home-hero #company .company-columns > .company-brief {
    order: 2;
    margin-top: 26px;
  }
  .home-hero #company .company-columns > .text-link {
    order: 3;
    margin-top: 24px;
  }
}

/* Permit information: keep the number together and allow natural line breaks. */
.license-part {
  display: inline-block;
  white-space: nowrap;
}
.footer .license {
  margin-bottom: 0;
}
