
.header-contact{background-image:url('images/imgVector1.svg')}
.club .our-circle-label { color: #ff791f; }
.club .our-circle-label::before { content: ''; width: 31px; height: 2px; flex-shrink: 0; background: currentColor; }
/* 固定ヘッダーとアンカー位置 */
body { --header-height: 80px; --admin-bar-height: 0px; padding-top: var(--header-height); }
body.unifu-company { --header-height: 82px; }
body.admin-bar { --admin-bar-height: 32px; }
body .header { position: fixed; top: var(--admin-bar-height); left: 0; right: 0; z-index: 1000; }
html { scroll-padding-top: 110px; }
.skip-link { z-index: 1100; }
.home-news-list { display: grid; gap: 12px; flex: 1; min-width: 0; }
.news .home-news-list .news-entry { display: grid; grid-template-columns: 18px 100px minmax(0, 1fr); gap: 20px; white-space: normal; }
.home-news-list .news-entry strong { margin-left: 0; }
.footer-links { margin-left: auto; text-align: right; }
.footer-links .footer-menu { justify-content: flex-end; }
.footer-links small { display: block; margin-top: 16px; }
body footer { height: auto; min-height: 144px; padding-bottom: 32px; }
@media (max-width: 900px) {
    body, body.unifu-company { --header-height: 86px; }
    .header nav.is-open { flex-direction: column; align-items: stretch; flex-wrap: nowrap; gap: 12px; max-height: calc(100dvh - var(--header-height) - var(--admin-bar-height)); overflow-y: auto; }
    .header .primary-menu { display: flex; flex-direction: column; align-items: stretch; width: 100%; gap: 12px; }
    .header nav > a:not(.header-contact), .header .primary-menu a { display: block; padding: 12px 0; }
    .news .news-row { flex-direction: column; align-items: stretch; gap: 24px; }
    .news .news-row > .outline { align-self: flex-end; margin: 0; }
    .footer-links .footer-menu { align-items: flex-end; }
}
@media (max-width: 782px) {
    body.admin-bar { --admin-bar-height: 46px; }
    html { scroll-padding-top: 150px; }
}
@media (max-width: 600px) {
    body.admin-bar #wpadminbar { position: fixed; }
    .news .home-news-list .news-entry { grid-template-columns: 16px 80px minmax(0, 1fr); gap: 12px; }
    .footer-links { width: 100%; }
}
.primary-menu,.footer-menu{list-style:none;margin:0;padding:0;display:flex;gap:28px;align-items:center}
.footer-menu{flex-wrap:wrap;gap:16px;margin-bottom:12px}
.interior{padding-top:30px;padding-bottom:100px;min-height:60vh}
.narrow{max-width:920px}
.page-heading{margin-bottom:48px}.page-heading h1{font-size:clamp(30px,4vw,52px);line-height:1.45;overflow-wrap:anywhere;margin:14px 0 20px}.page-heading>p:last-child{margin-top:16px}
.post-list{border-top:1px solid #bbcdc4}.post-card{display:grid;grid-template-columns:1fr;gap:28px;border-bottom:1px solid #bbcdc4;padding:36px 0}.post-card h2{font-size:25px;line-height:1.55;margin:12px 0}.post-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:14px;align-items:center}.post-meta a,.post-tags a{background:#e4f3ea;padding:3px 12px;border-radius:20px}.text-link{display:inline-block;font-weight:700;margin-top:12px;text-decoration:underline;text-underline-offset:5px}
.entry-content{font-size:17px;line-height:1.9;overflow-wrap:anywhere}.entry-content>*{margin-bottom:1.5em}.entry-content p{line-height:1.9}.entry-content h2{font-size:30px;margin-top:2em}.entry-content h3{font-size:24px;margin-top:1.6em}.entry-content a{text-decoration:underline;color:#246f59}.entry-content img,.featured-image img{max-width:100%;height:auto;border-radius:14px}.featured-image{margin-bottom:36px}.entry-content figure{max-width:100%;margin-inline:0}.entry-content iframe{max-width:100%}.entry-content blockquote{margin-inline:0;border-left:4px solid #70bfa0;background:#edf6ee;padding:24px}.entry-content table{width:100%;border-collapse:collapse}.entry-content th,.entry-content td{padding:16px;border:1px solid #bbcdc4;text-align:left}.entry-content pre{overflow:auto;background:#edf6ee;padding:20px}.entry-content .aligncenter{margin-inline:auto}.entry-content .alignleft{float:left;margin-right:24px}.entry-content .alignright{float:right;margin-left:24px}.entry-content:after{content:'';display:block;clear:both}
.navigation.pagination{margin-top:40px}.page-numbers{display:inline-block;padding:10px 16px;border:1px solid #bbcdc4;border-radius:10px;margin:4px}.page-numbers.current{background:#182c27;color:white}.nav-links{display:flex;gap:24px;justify-content:space-between;flex-wrap:wrap}.post-navigation{border-top:1px solid #bbcdc4;margin-top:48px;padding-top:24px}.nav-previous,.nav-next{flex:1;overflow-wrap:anywhere}.nav-next{text-align:right}.back-link{margin-top:40px}.empty-state{padding:40px;background:#e4f3ea;border-radius:20px}.search-form{display:flex;gap:16px;margin-bottom:40px}.search-form label{flex:1}.search-form input{width:100%}input,textarea{max-width:100%;font:inherit;padding:12px;border:1px solid #82978b;border-radius:6px}textarea{width:100%}.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.screen-reader-text:focus{clip:auto;width:auto;height:auto;padding:12px;background:white;z-index:10000}.post-tags{margin-top:24px}.footer-inner nav{font-size:13px}.news-entry{min-width:0}.news-entry strong{overflow-wrap:anywhere}body:not(.home){background-size:100% auto}
@media(max-width:900px){.primary-menu{gap:16px}.footer-inner{gap:24px;flex-wrap:wrap}}
@media(max-width:700px){.primary-menu{flex-direction:column;align-items:stretch;width:100%;gap:0}.primary-menu a{display:block}.interior{padding-bottom:60px}.page-heading{margin-bottom:32px}.entry-content{font-size:16px}.entry-content h2{font-size:25px}.search-form{flex-direction:column}.nav-links{gap:16px}.footer-menu{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* ヘッダーのシンボルと既存の社名を横並びに配置。 */
.header .brand { display: flex; flex-direction: row; align-items: center; gap: 12px; width: auto; }
.header .brand-mark { display: block; width: 48px; height: 48px; object-fit: contain; flex-shrink: 0; }
.header .brand-text { display: flex; flex-direction: column; }
@media (max-width: 900px) {
    .header .brand { gap: 10px; }
    .header .brand-mark { width: 40px; height: 40px; }
}
@media (max-width: 380px) {
    .header { padding-inline: 16px; }
    .header .brand { gap: 8px; }
    .header .brand-mark { width: 32px; height: 32px; }
    .header .brand strong { font-size: 14px; }
    .header .brand-text > span { font-size: 9px; }
}
