body.admin-bar .header{top:32px}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;width:100%}.article-card{border:1px solid #d4dfe7;background:#fff;min-width:0}.article-card a{display:block;text-decoration:none;color:#162a40}.article-card img{width:100%;aspect-ratio:16/10;object-fit:cover;height:auto}.article-card-copy{padding:24px}.article-card h3,.article-card h2{font-size:23px;line-height:1.6;margin:12px 0}.article-card p{font-size:16px}.article-card time,.article-card span{font-size:14px}.article-body{max-width:900px;padding-top:36px;padding-bottom:60px}.article-content{font-size:18px;line-height:1.9}.article-content h2{font-size:30px;margin:40px 0 20px}.article-content h3{font-size:24px}.article-content img,.article-cover{max-width:100%;height:auto}.article-notice{font-size:15px;border-top:1px solid #d4dfe7;margin-top:40px;padding-top:20px}.article-pagination{text-align:center;margin:32px}.article-pagination a,.article-pagination span{padding:12px}.form-trap{position:absolute;left:-9999px}.contact-status{padding:20px;border-left:4px solid #243b53;background:#edf3f7;margin:20px 0;font-size:17px}.contact-status.error{border-color:#9b3d3d}.insight-topics:has(.article-grid){display:block}.article-content table{border-collapse:collapse;width:100%}.article-content th,.article-content td{border:1px solid #d4dfe7;padding:12px}@media(max-width:900px){.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.article-grid{grid-template-columns:1fr}.article-body{padding-inline:24px}.article-content{font-size:17px}body.admin-bar .header{top:0}}

/* Compact service browsing and quiet, accessible motion. */
#services .compact-service{position:relative;border-bottom:1px solid var(--line);padding:16px 0;transition:background-color .25s}
#services .compact-service.is-expanded{background:#f4f7f9}
#services .compact-service-head{display:grid;grid-template-columns:28px 120px minmax(0,1fr);align-items:center;gap:22px;padding-right:64px;min-height:92px}
#services .compact-service .service-number{align-self:center;padding:0;font-size:12px}
#services .compact-service .home-row-icon{display:none}
#services .compact-service .home-service-photo{margin:0;overflow:hidden}
#services .compact-service .service-thumbnail{display:block;width:120px;height:88px;object-fit:cover;transition:transform .45s}
#services .compact-service.is-expanded .service-thumbnail{transform:scale(1.045)}
#services .compact-service-label{min-width:0;display:flex;flex-direction:column;gap:5px}
#services .compact-service-label small{font:11px/1.45 Arial,sans-serif;letter-spacing:.055em;color:var(--slate);margin:0}
#services .compact-service-label h3{font-size:23px;line-height:1.5;margin:0;font-weight:600;overflow-wrap:anywhere}
.service-explain-toggle{position:absolute;right:4px;top:40px;width:44px;height:44px;display:grid;place-items:center;background:white;border:1px solid #b8c8d5;border-radius:50%;color:var(--navy);font-size:23px;cursor:pointer;transition:background-color .2s,transform .2s}
.service-explain-toggle:hover{background:#e4ecf2;transform:rotate(8deg)}
.compact-service-panel{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .3s,visibility .3s}
.compact-service.is-expanded .compact-service-panel{grid-template-rows:1fr;visibility:visible}
.compact-service-panel-inner{overflow:hidden;min-height:0;padding-left:170px;padding-right:62px}
.compact-service-panel-inner p{font-size:16px;line-height:1.85;margin:14px 0 9px;color:#42566d}
.compact-service-panel-inner .service-meta{display:block;font-size:14px;line-height:1.75;margin:0 0 10px}
.compact-service-more{display:inline-block;font-size:15px;border-bottom:1px solid #8ba0b2;margin-bottom:10px}
.service-prose-details{margin:12px 0 18px;border-top:1px solid #cbd7e1;border-bottom:1px solid #cbd7e1;background:#f6f8fa}
.service-prose-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;font-size:16px;font-weight:600;cursor:pointer;color:var(--navy)}
.service-prose-details summary::-webkit-details-marker{display:none}
.service-prose-details summary::after{content:'＋';font-size:22px;font-weight:400;flex:none}
.service-prose-details[open] summary::after{content:'−'}
.service-prose-body{padding:0 16px 12px;animation:prose-enter .25s ease-out}
.service-prose-body p{margin:0;font-size:16px;line-height:1.9}
@keyframes prose-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.gentle-reveal{opacity:0;transform:translateY(16px);transition:opacity .65s ease,transform .65s ease}
.gentle-reveal.is-revealed{opacity:1;transform:none}
.btn,.nav-contact,.contact-link,.quiet-link{transition:background-color .25s,color .25s,transform .25s}
.btn:hover,.nav-contact:hover{transform:translateY(-2px)}
@media(max-width:680px){
 #services .compact-service{padding:14px 0}
 #services .compact-service-head{grid-template-columns:18px 76px minmax(0,1fr);gap:10px;padding-right:44px;min-height:88px}
 #services .compact-service .service-thumbnail{width:76px;height:86px}
 #services .compact-service-label{gap:4px}
 #services .compact-service-label small{font-size:11px;line-height:1.4;letter-spacing:.025em;overflow-wrap:anywhere}
 #services .compact-service-label h3{font-size:17px;line-height:1.5}
 .service-explain-toggle{right:0;top:36px;width:40px;height:44px;font-size:21px}
 .compact-service-panel-inner{padding-left:28px;padding-right:10px}
 .compact-service-panel-inner p{font-size:15px}
 .compact-service-panel-inner .service-meta{font-size:13px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gentle-reveal{opacity:1;transform:none}.gentle-reveal,.compact-service-panel,.service-thumbnail,.service-explain-toggle,.btn,.nav-contact{transition:none!important}.service-prose-body{animation:none}}

/* Each content heading is the disclosure control, with no generic extra label. */
.heading-disclosure>summary{list-style:none;cursor:pointer;color:var(--navy);position:relative}
.heading-disclosure>summary::-webkit-details-marker{display:none}
.heading-disclosure>summary::after{content:'＋';font:26px/1 Arial,sans-serif;color:var(--slate);flex:none;margin-left:18px}
.heading-disclosure[open]>summary::after{content:'−'}
.heading-disclosure>summary:focus-visible{outline:2px solid #718ba3;outline-offset:5px}
.section-heading-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 0 18px;border-bottom:1px solid #cbd7e1}
.section-heading-summary h2{margin:0;flex:1}
.heading-disclosure-body{padding-top:22px;animation:prose-enter .25s ease-out;min-width:0}
.section-disclosure{margin-bottom:18px}
.heading-disclosure-body>.story-lead{margin-top:0}
.work-chapter.heading-work{display:block;padding:20px 0}
.work-heading-summary{display:grid;grid-template-columns:48px minmax(0,1fr) 28px;align-items:center;gap:24px}
.work-heading-summary h3{margin:0;font-size:23px;line-height:1.6}
.work-heading-summary .chapter-number{margin:0}
.work-heading-summary::after{margin:0!important}
.heading-work-body{padding-left:72px}
.heading-work-body>p{font-size:16px;line-height:1.9;margin-bottom:20px}
.heading-work-body .handoff{margin-bottom:0}
@media(max-width:680px){.section-heading-summary{gap:12px;padding-bottom:14px}.section-heading-summary h2{font-size:26px;line-height:1.6}.work-heading-summary{grid-template-columns:30px minmax(0,1fr) 24px;gap:12px}.work-heading-summary h3{font-size:20px}.heading-work-body{padding-left:42px}.heading-disclosure-body{padding-top:18px}.heading-work-body>p{font-size:15px}.heading-disclosure>summary::after{font-size:23px;margin-left:0}}
@media(prefers-reduced-motion:reduce){.heading-disclosure-body{animation:none}}

/* FAQ starts with the questions; keep its opening compact. */
.ichiyama-faq .supporting-banner{display:none}
.ichiyama-faq .detail-hero{padding-top:28px;padding-bottom:28px}
.ichiyama-faq .detail-hero h1{margin-bottom:16px}
.ichiyama-faq .detail-hero .lead{margin-bottom:0}
.ichiyama-faq .detail-hero+section{padding-top:24px}
.consult-service-field{margin-top:24px;grid-column:1/-1}
@media(max-width:680px){.ichiyama-faq .detail-hero{padding-top:22px;padding-bottom:20px}.ichiyama-faq .detail-hero+section{padding-top:14px}}

/* Scope note remains readable without competing with the service introduction. */
.tax-scope-footnote{padding:20px 0;background:#f6f8fa;border-top:1px solid #d4dfe7}
.tax-scope-footnote p{font-size:15px;line-height:1.9;margin:0;color:#42566d}
.tax-scope-footnote strong{font-weight:600;margin-right:10px}
.heading-disclosure-body{animation:prose-enter .25s ease-out}

/* 記事の執筆者欄 */
.article-author{display:flex;gap:20px;align-items:flex-start;margin:32px 0;padding:24px;border:1px solid #d4dfe7;border-radius:8px;background:#f6f8fa}
.article-author-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;flex:none}
.article-author-label{font-size:13px;font-weight:700;color:#1d5f5b;margin:0 0 2px;line-height:1.6}
.article-author-name{font-size:18px;font-weight:700;margin:0 0 6px;line-height:1.6}
.article-author-name a{color:#14263d;border-bottom:1px solid #8ba0b2}
.article-author-name span{font-size:14px;font-weight:400;color:#4d6278;margin-left:10px}
.article-author-bio{font-size:15px;line-height:1.8;color:#33424f;margin:0}
@media(max-width:600px){.article-author{padding:18px;gap:14px}.article-author-photo{width:64px;height:64px}.article-author-bio{font-size:14px}}
