:root{--ink:#20231e;--muted:#64675d;--yellow:#f0c800;--paper:#faf9f5;--line:#dedfd5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #9d8000;outline-offset:6px}button{font:inherit}img{max-width:100%;display:block}.skip{position:absolute;top:-70px;background:#fff;padding:10px;z-index:100}.skip:focus{top:0}.wrap{max-width:1180px;margin:auto;padding:0 44px}header{height:100px;background:rgba(250,249,245,.97);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:15px}.brand img{width:100px}.brand small{font-size:10px;display:block;letter-spacing:.12em}.brand strong{font-size:14px;white-space:nowrap}nav{display:flex;gap:27px;align-items:center;font-size:12px;font-weight:700}.contact-link{padding:12px 20px;background:var(--ink);color:white}.menu{display:none}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:700;display:flex;align-items:center;gap:10px}.eyebrow:before{content:'';display:block;width:8px;height:8px;background:var(--yellow)}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-inner{padding-top:70px;padding-bottom:65px;position:relative}.hero h1{font-size:clamp(42px,5.6vw,74px);font-weight:800;line-height:1.4;letter-spacing:.04em;margin:30px 0 26px;position:relative;z-index:1}.hero h1 em{font-style:normal;box-shadow:inset 0 -.29em var(--yellow)}.hero-copy{font-size:15px;max-width:600px}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:45px}.text-link{display:inline-flex;gap:30px;align-items:center;font-size:13px;font-weight:700;border-bottom:1px solid;padding:8px 0}.hero-word{position:absolute;right:-30px;top:90px;font-family:Arial,sans-serif;font-style:italic;font-weight:900;font-size:clamp(160px,28vw,370px);color:var(--yellow);line-height:1;opacity:.19;transform:rotate(-10deg);pointer-events:none}.hero-caption{font-size:10px;letter-spacing:.1em;color:var(--muted)}.notice{display:flex;gap:25px;align-items:baseline;background:#eeeee5;padding:19px 25px;margin-top:0;font-size:12px}.notice b{white-space:nowrap}.section{padding:90px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:36px}.section-head h2{font-family:Arial,sans-serif;font-size:39px;line-height:1.1;letter-spacing:-.03em;margin:0}.section-head p{margin:8px 0 0;font-size:12px;color:var(--muted)}.news{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:24px;padding:24px 0;font-size:14px}summary::-webkit-details-marker{display:none}summary:after{content:'＋';margin-left:auto;font-size:22px}details[open]>summary:after{content:'−'}time{font-family:Arial,sans-serif;white-space:nowrap;font-size:12px;color:var(--muted)}.tag{background:#eeeee5;padding:3px 10px;font-size:10px;white-space:nowrap}.detail-body{font-size:14px;padding:0 20px 28px 135px;max-width:900px}.detail-body p{margin-top:0}.soft{background:#eeeee5}.business-intro{display:flex;justify-content:space-between;gap:35px;margin-bottom:40px}.business-intro h3{font-size:27px;line-height:1.7;margin:0}.business-intro p{font-size:14px;max-width:490px;margin:0}.services{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #cfd1c4}.service{padding:30px 34px 34px 0;border-bottom:1px solid #cfd1c4;position:relative}.service:nth-child(even){padding-left:35px;border-left:1px solid #cfd1c4}.service .num{font-size:12px;color:#767a69}.service h3{font-size:22px;margin:12px 0 0}.service small{font-family:Arial,sans-serif;font-size:10px;letter-spacing:.16em}.service p{font-size:14px;max-width:440px;margin-bottom:0}.scope{margin-top:30px;font-size:13px}.scope summary{font-weight:700;font-size:13px}.scope ul{padding:0 0 20px 20px}.company-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px}.company-intro h3{font-size:24px;line-height:1.8;margin:0 0 20px}.company-intro p{font-size:14px;color:var(--muted)}dl{margin:0}.facts>div{display:grid;grid-template-columns:100px 1fr;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.facts dt{color:var(--muted)}dd{margin:0}.access{margin-top:28px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.security{margin-top:38px;border:1px solid var(--line);padding:25px;display:grid;grid-template-columns:220px 1fr;gap:35px;align-items:center}.security img{background:white}.security p{font-size:12px;margin:4px 0}.security .text-link{font-size:11px;margin-right:15px}.building{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:65px}.building img{aspect-ratio:1.48;object-fit:cover}.building h2{font-size:28px;line-height:1.5;margin:15px 0}.building p{font-size:14px}.label{font-size:11px;background:var(--yellow);display:inline-block;padding:3px 12px}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.related-card{padding-top:25px;border-top:1px solid var(--ink)}.related-card h3{font-size:21px;line-height:1.6;margin:10px 0}.related-card p{font-size:13px}.patio{width:230px;margin:25px 0}.recruit-links{display:grid;gap:12px;margin-top:24px}.row-link{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.group{margin-top:70px;padding-top:25px;border-top:1px solid var(--line)}.group-label{font-size:11px;letter-spacing:.15em}.group-links{display:flex;gap:35px;flex-wrap:wrap;font-size:14px;margin-top:16px}.contact{background:var(--yellow);padding:65px 0}.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}.contact h2{font-size:35px;margin:0}.contact p{font-size:13px}.phone{font-family:Arial,sans-serif;font-size:38px;font-weight:700;white-space:nowrap}.contact-actions{text-align:right}.contact-actions .text-link{font-size:12px}footer{padding:40px 0 24px}.footer-main{display:flex;justify-content:space-between;gap:25px;align-items:start}.footer-main p{font-size:11px}.footer-links{display:flex;gap:25px;font-size:11px}.copyright{margin-top:35px;font-size:10px;color:var(--muted)}.legal{max-width:850px}.legal h1{font-size:32px}.legal h2{font-size:23px;margin-top:45px}.legal h3{font-size:17px;margin-top:25px}.legal p,.legal li{font-size:14px}.legal a{text-decoration:underline}a:hover{opacity:.72}summary:hover{color:#7c6800}.legal .page-body img{display:none}@media(min-width:1500px){.hero-inner{padding-top:100px;padding-bottom:85px}}@media(max-width:900px){.wrap{padding:0 26px}nav{gap:16px}.brand strong{font-size:12px}.brand img{width:80px}.company-grid{gap:35px}.building{gap:30px}.phone{font-size:30px}}@media(max-width:720px){header{height:80px}.brand img{width:76px}.brand small{font-size:8px}.brand strong{font-size:12px}.menu{display:block;background:none;border:1px solid var(--line);padding:7px 11px;font-size:12px}nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--paper);padding:20px 26px;border-bottom:1px solid var(--line)}nav.open{display:grid;grid-template-columns:1fr 1fr;gap:20px}.hero-inner{padding-top:48px;padding-bottom:38px}.hero h1{font-size:40px}.hero-copy{font-size:13px}.hero-word{top:130px;right:-20px;font-size:220px}.hero-bottom{margin-top:30px}.hero-caption{display:none}.notice{display:block;padding:17px 20px}.notice span{display:block;margin-top:5px}.section{padding:60px 0}.section-head h2{font-size:32px}.section-head{margin-bottom:26px}.business-intro,.contact-inner{display:block}.business-intro h3{font-size:23px;margin-bottom:20px}.services,.company-grid,.building,.related-grid{grid-template-columns:1fr}.service,.service:nth-child(even){border-left:0;padding:25px 0}.service h3{font-size:21px}.company-grid{gap:25px}.security{grid-template-columns:1fr;gap:20px}.security img{width:200px}.building{gap:25px}.building h2{font-size:25px}.related-grid{gap:45px}.group-links{display:grid;gap:15px}.contact-actions{text-align:left;margin-top:25px}.contact h2{font-size:29px}.contact{padding:45px 0}.phone{font-size:35px}.footer-main{display:block}.footer-links{margin-top:20px}.facts>div{grid-template-columns:85px 1fr}.news summary{display:grid;grid-template-columns:90px 1fr 20px;gap:9px;padding:20px 0}.news summary .tag{justify-self:start}.news summary .news-title{grid-column:1/3;grid-row:2}.news summary:after{grid-column:3;grid-row:1/3}.detail-body{padding:0 0 25px;font-size:13px}.section-head>.text-link{font-size:11px;gap:10px}.business-intro p{font-size:13px}.legal h1{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.legal table{width:100%;border-collapse:collapse;margin:25px 0;font-size:14px}.legal td,.legal th{border-bottom:1px solid var(--line);padding:18px 12px;text-align:left;vertical-align:top}.legal td:first-child{min-width:115px}.legal .page-body{overflow-wrap:anywhere}.legal .page-body h1{font-size:28px}.legal .page-body a{display:inline-block}.legal .page-body p{line-height:2}@media(max-width:600px){.legal td,.legal th{display:block;padding:12px 0}.legal td:first-child{font-weight:700;border-bottom:0;padding-bottom:0}.legal table{font-size:13px}}
/* Editorial illustration of collaborative advertising planning. */
.hero-art{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;z-index:0}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,249,245,.5) 0%,rgba(250,249,245,.32) 38%,rgba(250,249,245,0) 64%);pointer-events:none}.hero-inner{z-index:1;min-height:575px}.hero-copy{position:relative;max-width:565px}.hero-caption{background:rgba(250,249,245,.88);padding:5px 10px}.hero .text-link{background:rgba(250,249,245,.85);padding:8px 12px}.hero .eyebrow{position:relative}@media(min-width:1600px){.hero-art{object-position:center 54%}.hero-inner{min-height:650px}}@media(max-width:1100px) and (min-width:721px){.hero:after{background:linear-gradient(90deg,rgba(250,249,245,.93),rgba(250,249,245,.75) 40%,rgba(250,249,245,.08) 75%)}.hero-copy{max-width:500px}}@media(max-width:720px){.hero-inner{min-height:0;padding-bottom:295px}.hero-art{inset:auto 0 0;height:310px;object-position:83% bottom}.hero:after{background:linear-gradient(180deg,var(--paper) 0%,var(--paper) 48%,rgba(250,249,245,.15) 69%,rgba(250,249,245,0) 80%)}.hero-copy{max-width:100%;font-size:12px}.hero-copy br:nth-child(2){display:none}.hero-bottom{margin-top:24px}.hero .text-link{padding-left:0;background:none}}@media(prefers-reduced-data:reduce){.hero-art{image-rendering:auto}}

/* Supplied corporate wordmark, preserving its original aspect ratio. */
header .brand{display:block;flex-shrink:0;width:430px;max-width:48%}header .brand img{display:block;width:100%;height:auto;max-width:100%}@media(max-width:1000px) and (min-width:721px){header .brand{width:330px;max-width:40%}header nav{gap:16px;font-size:11px}header .contact-link{padding:12px 15px}}@media(max-width:720px){header .brand{width:280px;max-width:calc(100% - 100px)}header .brand img{width:100%;height:auto}.header-inner{gap:15px}header .menu{flex-shrink:0}}

/* Supplied symbol and corporate wordmark together. */
header .brand,.footer-brand{display:flex;align-items:center;gap:18px;width:460px;max-width:48%;flex-shrink:0}
header .brand img.brand-mark,.footer-brand img.brand-mark{width:90px;height:auto;flex-shrink:0}
header .brand img.brand-name,.footer-brand img.brand-name{width:calc(100% - 108px);height:auto;min-width:0}
.footer-brand{max-width:100%;width:440px;gap:18px;margin-bottom:20px}.contact-note{font-size:12px}
@media(max-width:1000px) and (min-width:721px){header .brand{width:365px;max-width:43%;gap:14px}header .brand img.brand-mark{width:70px}header .brand img.brand-name{width:calc(100% - 84px)}}
@media(max-width:720px){header .brand{width:280px;max-width:calc(100% - 90px);gap:10px}header .brand img.brand-mark{width:56px}header .brand img.brand-name{width:calc(100% - 66px)}.footer-brand{width:100%;max-width:360px;gap:14px}.footer-brand img.brand-mark{width:75px}.footer-brand img.brand-name{width:calc(100% - 89px)}}

/* Always-visible business scope and locally hosted anniversary image. */
.scope h3{margin:0;padding:24px 0 12px;border-top:1px solid #cfd1c4;font-size:15px}.scope ul{margin-top:0;padding-bottom:0}.anniversary-photo{margin:0 0 26px}.anniversary-photo img{width:100%;height:auto}.anniversary-photo figcaption{font-size:11px;color:var(--muted);margin-top:7px}.news>details:first-child .detail-body{max-width:none;padding-right:0}
/* One restrained entrance: existing image only; no animated image download. */
@media(prefers-reduced-motion:no-preference){
.hero-art{transform-origin:74% 48%;animation:hero-focus 4.2s cubic-bezier(.18,.6,.3,1) both}
.hero:before{content:'';position:absolute;inset:0 0 0 47%;z-index:1;pointer-events:none;background:linear-gradient(112deg,transparent 32%,rgba(255,235,153,.24) 46%,rgba(255,250,220,.38) 49%,transparent 57%);opacity:0;animation:hero-glint 2.2s .25s ease-out both}
@keyframes hero-focus{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes hero-glint{0%{transform:translateX(-80%);opacity:0}20%{opacity:.8}70%{opacity:.5}100%{transform:translateX(90%);opacity:0}}
}
@media(prefers-reduced-motion:reduce){.hero-art{animation:none;transform:none}.hero:before{display:none}}
@media(max-width:720px){.news>details:first-child .detail-body{padding-left:0}.scope h3{padding-top:20px}.anniversary-photo figcaption{font-size:10px}}

.recruit-preview{margin-top:25px;padding:22px 24px;background:#eeeee5;border-left:3px solid var(--yellow)}.recruit-preview h4{font-size:17px;line-height:1.7;margin:12px 0 8px}.recruit-preview p{margin:0;font-size:13px}.recruit-preview .label{font-size:11px}@media(max-width:720px){.recruit-preview{padding:20px}.recruit-preview h4{font-size:16px}}

.building-visual{margin:0;min-width:0}.building .building-illustration{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}.building-visual figcaption{margin-top:9px;color:var(--muted);font-size:11px}

.legal .policy-list{list-style:none;padding-left:1.3em;margin:12px 0 22px}.legal .policy-list li{text-indent:-1em;padding-left:1em;margin:6px 0}.legal .page-body h4{font-size:15px;line-height:1.9;margin:24px 0 10px}.legal .page-body h2{line-height:1.6;overflow-wrap:anywhere}.legal .page-body h3{line-height:1.7}.legal .page-body a{overflow-wrap:anywhere}

.legal .joint-use h4{margin:24px 0 7px;padding:0;text-indent:0;font-size:15px;font-weight:700;line-height:1.8}.legal .joint-use h4+p{margin-top:0}.legal .joint-use p{padding-left:0;text-indent:0}.legal .joint-use p+p{margin-top:6px}.legal .joint-use{margin-bottom:28px}

.legal .page-body p.policy-contact{line-height:1.8;margin:8px 0 20px}.legal .page-body p.policy-dates{line-height:1.8;margin:16px 0 24px}
