/* Additions use the established paper, ink, typography, and fine-rule system. */
.site-header{position:relative;z-index:20}.site-header nav{gap:25px}.site-footer nav{flex-wrap:wrap;gap:12px 25px}
.primary-menu,.footer-menu{list-style:none;margin:0;padding:0;display:flex;gap:25px;align-items:center}.primary-menu a{display:block;padding:10px 0}
.admin-bar .reading-progress{top:32px}.admin-bar .skip:focus{top:42px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.page-intro{margin-bottom:65px}.page-intro h1,.article-heading h1{font-family:'Noto Serif JP',serif;font-size:clamp(30px,3.8vw,48px);line-height:1.65;overflow-wrap:anywhere}.page-intro p{color:var(--muted);margin-top:22px;font-size:15px}
.news-home{display:grid;grid-template-columns:1fr 1.55fr;gap:9%;border-bottom:1px solid var(--line)}.news-home .text-link{margin-top:30px;max-width:240px}.news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);min-width:0}.news-list li{border-bottom:1px solid var(--line)}
.news-row{display:grid;grid-template-columns:100px minmax(0,1fr) 22px;gap:25px;align-items:start;padding:28px 0;transition:color .25s}.news-row time,.article-heading time{font-family:'Manrope',sans-serif;font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted);line-height:2}.news-title{font-size:15px;line-height:1.9;overflow-wrap:anywhere}.news-row svg{width:20px;transition:transform .3s var(--ease)}.news-row:hover{color:var(--accent)}.news-row:hover svg{transform:translateX(5px)}
.news-empty{padding:32px 0;border-block:1px solid var(--line)}.news-empty p{font-size:15px}.news-empty p+p{color:var(--muted);font-size:13px;margin-top:8px}
.news-page,.article-page,.inquiry-page{padding-top:35px}.news-page{min-height:55vh}.pagination{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:45px}.pagination .page-numbers{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:5px 12px;border:1px solid var(--line);font-size:14px}.pagination .current{background:var(--ink);color:white;border-color:var(--ink)}.pagination a:hover{border-color:var(--ink)}
.article-page{max-width:1120px;margin:auto}.article-heading{padding-bottom:35px;border-bottom:1px solid var(--line);margin-bottom:45px}.article-heading h1{font-size:clamp(26px,3vw,40px);margin-top:18px}.article-cover{margin:0 0 40px}.article-cover img{width:100%;height:auto;display:block}.entry-content{line-height:2;overflow-wrap:anywhere;font-size:16px}.entry-content>*+*{margin-top:1.6em}.entry-content h2{font-size:28px;margin-top:2.3em}.entry-content h3{font-size:23px;margin-top:2em}.entry-content p{line-height:2.1}.entry-content a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.entry-content img{max-width:100%;height:auto}.entry-content figure{margin-inline:0}.entry-content blockquote{margin-inline:0;padding:24px;border-block:1px solid var(--line)}.entry-content table{border-collapse:collapse;width:100%}.entry-content th,.entry-content td{padding:12px;border:1px solid var(--line)}.entry-content pre,.entry-content .wp-block-table{overflow-x:auto}.entry-content .alignwide,.entry-content .alignfull{width:100%;margin-inline:0}.entry-content figcaption{font-size:12px;color:var(--muted)}.article-back{max-width:300px;margin-top:60px}
.inquiry-layout{display:grid;grid-template-columns:1fr 1.55fr;gap:9%;align-items:start}.inquiry-guide{border-top:1px solid var(--ink);padding-top:30px}.inquiry-guide h2{font-family:'Noto Serif JP',serif;font-size:26px;margin-bottom:22px}.inquiry-guide>p{font-size:14px;color:var(--muted);line-height:2.3}.inquiry-email{margin-top:40px;padding-top:25px;border-top:1px solid var(--line)}.inquiry-email p{font-size:12px;color:var(--muted)}.inquiry-email a{font-family:'Manrope',sans-serif;display:inline-block;margin-top:9px;font-size:20px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}
.inquiry-body{min-width:0}.form-note{font-size:12px;color:var(--muted);margin-bottom:28px}.form-field{margin-bottom:28px}.form-field>label{display:block;font-size:14px;font-weight:500;margin-bottom:10px}.required,.optional{font-size:11px;font-weight:400;margin-left:12px}.required{color:#864825}.optional{color:var(--muted)}
.inquiry-form input:not([type=checkbox]):not([type=hidden]),.inquiry-form select,.inquiry-form textarea{width:100%;font:inherit;font-size:16px;line-height:1.7;padding:13px 14px;border:1px solid #9baead;border-radius:0;background:var(--white);color:var(--ink);caret-color:var(--accent);min-height:52px;box-shadow:none}.inquiry-form textarea{resize:vertical;min-height:180px}.inquiry-form input:focus-visible,.inquiry-form select:focus-visible,.inquiry-form textarea:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.inquiry-form [aria-invalid=true]{border-color:#a03627!important}.field-hint{font-size:12px;color:var(--muted);margin-top:7px}.field-error{color:#963c2b;font-size:13px;margin-top:8px}.contact-trap{display:none!important}
.privacy-note{padding-block:24px;border-block:1px solid var(--line);margin-top:34px}.privacy-note h2{font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:500;margin-bottom:10px}.privacy-note p,.privacy-note a{font-size:12px;color:var(--muted)}.privacy-note a{text-decoration:underline;text-underline-offset:4px;display:inline-block;margin-top:10px}.consent-label{display:flex;gap:13px;align-items:start;font-size:13px;padding:24px 0;cursor:pointer;min-height:48px}.consent-label input{width:19px;height:19px;flex:0 0 19px;margin:3px 0 0;accent-color:var(--ink)}
.submit-button{display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;padding:22px 25px;background:var(--ink);color:white;border:1px solid var(--ink);cursor:pointer;font-size:15px;transition:background .25s}.submit-button:hover{background:#254854}.submit-button svg{transition:transform .3s var(--ease)}.submit-button:hover svg{transform:translateX(5px)}.submit-button:disabled{opacity:.65;cursor:wait}.submit-help{color:var(--muted);font-size:12px;margin-top:12px}
.form-result{padding:28px;border:1px solid var(--line);margin-bottom:32px}.form-result h2{font-family:'Noto Serif JP',serif;font-size:24px;line-height:1.7}.form-result p{font-size:14px;color:var(--muted);margin-top:20px}.form-result .text-link{margin-top:28px}.error-summary{border-color:#a03627;background:#fff8f3}.error-summary h2{font-family:'Noto Sans JP',sans-serif;font-size:17px}.error-summary ul{padding-left:20px;font-size:13px;margin:15px 0 0}.error-summary a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.site-header nav{gap:16px}.news-home,.inquiry-layout{grid-template-columns:1fr 1.4fr;gap:6%}.inquiry-guide h2{font-size:23px}.news-row{gap:16px;grid-template-columns:90px minmax(0,1fr) 20px}}
@media(max-width:900px){.site-header{height:85px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;color:var(--ink);font-size:11px;padding:14px 0 14px 14px;min-height:44px}.site-header #nav{display:none;position:absolute;top:85px;left:0;right:0;padding:25px 7%;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:10px;z-index:30}.site-header #nav.open{display:flex}.primary-menu{flex-direction:column;align-items:stretch;gap:4px}.primary-menu a{padding:13px 0}.site-header .nav-contact{justify-content:space-between}}
@media(max-width:760px){.news-home,.inquiry-layout{display:block}.news-home .section-heading{margin-bottom:30px}.news-home .text-link{max-width:220px;margin-top:18px}.page-intro{margin-bottom:40px}.page-intro p{font-size:14px}.news-page,.article-page,.inquiry-page{padding-top:25px}.news-row{grid-template-columns:minmax(0,1fr) 22px;gap:8px 18px;padding:24px 0}.news-row time{grid-column:1;grid-row:1}.news-row .news-title{grid-column:1;grid-row:2;font-size:14px}.news-row svg{grid-column:2;grid-row:2}.inquiry-guide{margin-bottom:40px;padding-top:24px}.inquiry-guide h2{font-size:24px;margin-bottom:12px}.inquiry-guide>p br{display:none}.inquiry-email{margin-top:20px;padding-top:16px}.inquiry-email a{font-size:20px}.form-field{margin-bottom:24px}.form-result{padding:23px 20px}.form-result h2{font-size:22px}.error-summary h2{font-size:17px}.entry-content{font-size:15px}.entry-content h2{font-size:23px}.entry-content h3{font-size:20px}.article-back{margin-top:40px}.article-heading{margin-bottom:30px}.site-footer nav{justify-content:start}.footer-menu{flex-wrap:wrap;gap:12px 20px}.admin-bar .reading-progress{top:46px}}
@media(prefers-reduced-motion:reduce){.news-row,.news-row svg,.submit-button,.submit-button svg{transition:none}}

/* Recruitment photographs: gently overlapping, portrait-led composition. */
#recruit{grid-template-columns:1.3fr 1fr;gap:5%}
#recruit .service-content{padding-top:76px}
.recruit-gallery{position:relative;aspect-ratio:1.2;margin:32px 9px 14px;isolation:isolate}
.recruit-gallery figure{position:absolute;margin:0;padding:5px;background:var(--paper);box-shadow:0 12px 28px rgba(21,54,65,.13);rotate:var(--photo-angle);transform-origin:center}
.recruit-gallery img{display:block;width:100%;height:auto}
.recruit-gallery-main{width:43%;left:0;top:4%;--photo-angle:-3deg;z-index:3}
.recruit-gallery-portrait{width:60%;right:0;top:6%;--photo-angle:3deg;z-index:1}
.recruit-gallery-care{width:60%;right:1%;bottom:4%;--photo-angle:-3deg;z-index:2}
#recruit .service-inquiry{margin-top:20px}
.service-content .recruit-combination{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:transparent;color:var(--ink);padding:0;margin-top:16px;line-height:1.65;font-size:clamp(14px,1.1vw,16px);font-weight:700}
.combination-label,.combination-term>span:last-child{display:inline-flex;align-items:center;min-height:64px;padding:12px 16px;background:#203139;color:#fff}
.recruit-pick{margin-top:32px}
.service-content .recruit-pick h5{margin:0}
.service-content .combination-description{margin-top:18px;font-size:13px;line-height:2}
.combination-term{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.combination-cross{color:var(--muted);font-size:1.25em;font-weight:400}
@media(prefers-reduced-motion:no-preference){
.recruit-gallery.is-visible{animation:recruit-photo-enter .8s cubic-bezier(.16,1,.3,1) both}
.recruit-gallery.is-visible figure{animation:recruit-photo-float 4.5s ease-in-out both}
.recruit-gallery.is-visible .recruit-gallery-portrait{animation-duration:4.5s;animation-delay:.15s}
.recruit-gallery.is-visible .recruit-gallery-care{animation-duration:4.5s;animation-delay:.3s}
}
@keyframes recruit-photo-enter{from{opacity:.55;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes recruit-photo-float{0%{transform:translate3d(0,5px,0) rotate(-.35deg)}45%{transform:translate3d(0,-5px,0) rotate(.35deg)}100%{transform:translate3d(0,0,0) rotate(0)}}
@media(max-width:1000px) and (min-width:761px){#recruit{grid-template-columns:1.15fr 1fr;gap:4%}.recruit-gallery{margin-inline:5px}}
@media(max-width:760px){
#recruit .service-content{padding-top:0}
.recruit-gallery{aspect-ratio:.95;margin:26px 7px 5px}
.recruit-gallery-main{width:48%;top:7%}
.recruit-gallery-portrait{width:62%;top:8%}
.recruit-gallery-care{width:62%;bottom:8%}
.recruit-gallery figure{padding:3px}
#recruit .service-inquiry{margin-top:0}
.service-content .recruit-combination{gap:7px;padding:0;font-size:13px}.combination-term{gap:7px}.combination-label,.combination-term>span:last-child{min-height:54px;padding:12px}
}

/* Inline emphasis follows natural Japanese line breaks. */
.message-highlight{background:#ddc7ae;color:var(--ink);padding:.18em .08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}

.message-intro h2{font-size:22px;letter-spacing:.035em}
.message-photo{width:min(100%,340px);margin:28px 0 0}
.message-photo img{display:block;width:100%;height:auto}
@media(max-width:760px){.message-intro{margin-bottom:32px}.message-intro h2{font-size:20px}.message-photo{width:82%;max-width:320px;margin-top:22px}}

/* Text-led opening; consultation photograph appears in the message only. */
.hero-top{display:block;padding:26px 0 64px}
.hero-text{display:grid;grid-template-columns:1.4fr 1fr;gap:7%;align-items:center}
.hero-text .hero-copy{margin-top:0}
.hero-text h1{justify-self:start}
@media(max-width:760px){.hero-top{padding:0 0 35px}.hero-text{display:block}.hero-text .hero-copy{margin-top:24px}}
