.service-page{background:var(--paper);min-height:100vh}.service-page-header{background:var(--paper);border-bottom:1px solid #17243a1c}.service-page-header-inner,.service-hero-inner,.service-body,.service-navigation,.service-page-footer-inner{width:min(1080px,100% - 48px);margin-inline:auto}.service-page-header-inner{justify-content:space-between;align-items:center;gap:28px;min-height:76px;display:flex}.service-page-header img{object-fit:contain;object-position:left center;width:250px;height:45px}.back-link{letter-spacing:.05em;border-bottom:1px solid;align-items:center;gap:10px;padding-bottom:5px;font-size:.82rem;font-weight:700;display:inline-flex}.service-hero{background:var(--service-color);color:var(--service-on-color);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.service-hero:after{content:"";opacity:.07;background:url(/keisen-mountain-final.svg) 50%/contain no-repeat;width:290px;height:180px;position:absolute;bottom:12px;right:12px}.service-hero-inner{z-index:1;padding-block:54px 68px;position:relative}.service-breadcrumb{color:inherit;letter-spacing:.15em;margin:0 0 34px;font-family:Arial,sans-serif;font-size:.72rem;font-weight:700}.service-label-row{align-items:center;gap:18px;margin-bottom:22px;display:flex}.service-status{color:inherit;letter-spacing:.08em;border:1px solid;padding:5px 10px;font-size:.7rem;font-weight:700}.service-hero h1,.service-hero-name,.publishing-hero-brand{margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(2.9rem,5.5vw,4.8rem);font-weight:600;line-height:1.14}.service-hero h1 span{color:inherit}.service-intro{max-width:760px;color:inherit;margin:28px 0 0;font-size:1.04rem;line-height:2.05}.service-hero-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;display:grid}.service-hero h1{font-size:clamp(2.32rem,4.4vw,3.84rem)}.service-hero-name{align-self:center}.publishing-hero-brand{white-space:nowrap}.publishing-hero-brand-group{align-self:center;position:relative}.publishing-hero-brand-label{margin:0 0 12px;font-size:.875rem;font-weight:400;line-height:1.4;position:absolute;bottom:100%;left:0}@media (max-width:860px){.service-hero-heading{grid-template-columns:1fr}.service-hero-name{justify-self:end}.publishing-hero-brand-group{justify-self:end;margin-top:20px}}.service-body{padding-block:28px 20px}.service-focus-list{margin:0;padding:0;list-style:none}.service-focus-list li{grid-template-columns:minmax(0,24fr) minmax(0,76fr);align-items:baseline;gap:20px;padding:12px 0;display:grid}.service-focus-list h2{margin:0;font-size:1.17rem}.service-focus-list p{color:var(--muted);text-wrap:pretty;margin:0;line-height:1.85}.publishing-forthcoming{background:#fff;margin-top:24px;padding:20px 24px}.publishing-forthcoming h2{color:var(--service-accent);margin:0 0 10px;font-size:1.17rem}.publishing-forthcoming p{overflow-wrap:break-word;margin:0;font-size:1rem;line-height:1.85}.publishing-forthcoming a{color:var(--service-accent);text-underline-offset:3px;text-decoration:underline}.publishing-forthcoming a:focus-visible{outline:2px solid var(--service-accent);outline-offset:3px}.service-navigation{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-bottom:36px;display:grid}.service-navigation a{min-height:92px;color:var(--ink);flex-direction:column;justify-content:center;gap:6px;padding:16px;font-size:1rem;font-weight:700;line-height:1.5;transition:background-color .18s;display:flex}.service-navigation-link{background:color-mix(in srgb, var(--navigation-color) 22%, white)}.service-navigation .service-navigation-publishing{flex-flow:wrap;justify-content:space-between;align-items:center;gap:8px}.service-navigation-link:hover{background:color-mix(in srgb, var(--navigation-color) 35%, white)}.service-navigation-link[aria-current=page]{background:var(--navigation-color);color:var(--navigation-on-color)}.service-navigation-contact{background:color-mix(in srgb, var(--navy) 10%, white)}.service-navigation-contact:hover{background:color-mix(in srgb, var(--navy) 18%, white)}.service-navigation-contact small{overflow-wrap:anywhere;font-size:.875rem;font-weight:400}.service-navigation a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.service-page-footer{color:#ffffffb8;background:#111a2a}.service-page-footer-inner{justify-content:space-between;align-items:center;gap:32px;min-height:42px;font-size:.78rem;display:flex}.service-page-footer-inner p{margin:0}@media (max-width:760px){.service-page-header-inner,.service-hero-inner,.service-body,.service-navigation,.service-page-footer-inner{width:min(100% - 36px,650px)}.service-page-header img{width:185px}.service-hero-inner{padding-block:40px 50px}.back-link{align-items:center;min-height:44px}.service-breadcrumb{margin-bottom:40px}.service-body{padding-block:24px 16px}.service-focus-list li{grid-template-columns:1fr;gap:6px}.publishing-forthcoming{margin-top:18px;padding:16px}.service-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-bottom:28px}.service-page-footer-inner{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-height:52px}}@media (max-width:540px){.service-hero h1{font-size:clamp(1.44rem,8vw,2.32rem)}.service-hero-name,.publishing-hero-brand{font-size:clamp(1.8rem,10vw,2.9rem)}}.english-site .service-hero h1,.english-site .service-hero-name,.english-site .publishing-hero-brand{font-family:Georgia,Times New Roman,serif}.english-site .service-hero-heading{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px}.english-site .service-hero h1{font-size:clamp(2rem,3.5vw,3.15rem);line-height:1.15}.english-site .service-hero-name,.english-site .publishing-hero-brand{white-space:normal;font-size:clamp(2.4rem,4.2vw,3.8rem);line-height:1.12}.english-site .service-intro{max-width:840px;line-height:1.8}.english-site .service-focus-list h2{font-size:1.125rem;line-height:1.5}.english-site .service-focus-list p{text-wrap:auto;line-height:1.75}.english-site .service-navigation a{overflow-wrap:break-word;font-size:1rem}.english-site .service-breadcrumb,.english-site .service-status{font-size:.8125rem}@media (max-width:860px){.english-site .service-hero-heading{grid-template-columns:1fr;gap:24px}.english-site .publishing-hero-brand-group{max-width:100%}.english-site .service-hero-name{text-align:right;max-width:85%}}@media (max-width:540px){.english-site .service-hero h1{font-size:clamp(1.8rem,7vw,2.32rem)}.english-site .service-hero-name,.english-site .publishing-hero-brand{font-size:clamp(2.1rem,8.5vw,2.9rem)}.english-site .service-hero-inner{padding-block:32px}}
