body.ht-directory-page .ai-wp-content{width:min(1120px,calc(100% - 64px));margin:52px auto 88px;padding:0;line-height:1.9}
body.ht-directory-page .ai-wp-content>h1{font-family:var(--ht-serif);font-size:clamp(28px,3.2vw,40px);line-height:1.6;font-weight:500;letter-spacing:.045em;margin:0 0 26px;text-wrap:balance;word-break:normal;line-break:strict}
body.ht-directory-page .ht-directory-lead{max-width:780px;font-size:18px;line-height:1.9;color:var(--ht-muted);margin:0 0 42px}
body.ht-directory-page :is(.ht-directory-lead,.ht-concierge-card__intro){word-break:normal;line-break:strict;overflow-wrap:normal;text-wrap:pretty}
.ht-copy-term{white-space:nowrap}
.ht-concierges__count{font-size:14px;color:var(--ht-muted);border-top:1px solid var(--ht-line);padding-top:22px;margin:0 0 24px}
.ht-concierges__count strong{font-size:20px;font-weight:500;margin-left:10px;margin-right:4px;color:var(--ht-ink)}
.ht-concierges__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.ht-concierge-card{min-width:0;padding:30px;background:#fff;border:1px solid var(--ht-line);border-top:3px solid var(--ht-accent);border-radius:5px}
.ht-concierge-card__role{font-size:13px;letter-spacing:.06em;line-height:1.8;color:var(--ht-accent);margin:0 0 16px}
.ht-concierge-card h2{font-family:var(--ht-serif);font-size:28px;line-height:1.6;margin:0 0 18px;font-weight:500}
.ht-concierge-card h2 a{color:var(--ht-ink);text-decoration:none}
.ht-concierge-card__intro{font-size:18px;line-height:1.9;color:var(--ht-muted);margin:0 0 26px}
.ht-concierge-card__link{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 0 0;border-top:1px solid var(--ht-line);font-size:16px;line-height:1.7;color:var(--ht-accent);font-weight:500;text-decoration:none}
.ht-concierge-card a:hover{text-decoration:underline;text-underline-offset:5px}
.ht-concierge-card a:focus-visible{outline:2px solid var(--ht-accent);outline-offset:5px}
.ht-concierge-card__photo{display:block;margin:0 0 22px;overflow:hidden;border-radius:3px}
.ht-concierge-card__photo img{display:block;width:100%;height:auto;max-height:300px;object-fit:cover}
body.ht-directory-page .site-footer__logo span{width:auto;height:auto;margin:0;border-radius:0;background:transparent;font-style:normal}
body.ht-directory-page .site-footer__logo .hitotonari-wordmark{display:flex;flex-direction:column;gap:7px;align-items:flex-start}
body.ht-directory-page .site-footer__logo .hitotonari-wordmark__mall{font:600 14px/1.6 var(--sans);color:var(--ht-accent)}
body.ht-directory-page .site-footer__logo .hitotonari-wordmark__name{font:500 27px/1.6 var(--ht-serif);color:var(--ht-ink);letter-spacing:.055em}
@media(max-width:760px){body.ht-directory-page .ai-wp-content{width:calc(100% - 36px);margin:34px auto 60px}.ht-concierges__grid{grid-template-columns:1fr}.ht-concierge-card{padding:24px}body.ht-directory-page .ht-directory-lead{margin-bottom:30px}}

/* 2026-11-05 本人依頼：PCは4列・スマホは2列。写真は同じ縦長の枠で、頭が切れないよう上寄せで切り抜く */
.ht-concierges__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.ht-concierge-card{display:flex;flex-direction:column;padding:18px}
.ht-concierge-card__role{font-size:11px;margin:0 0 10px}
.ht-concierge-card__photo{margin:0 0 14px;aspect-ratio:4/5;background:#eef4f5}
.ht-concierge-card__photo img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 12%}
.ht-concierge-card__photo--empty{display:flex;align-items:center;justify-content:center;text-decoration:none}
.ht-concierge-card__photo--empty span{font-family:var(--ht-serif);font-size:56px;line-height:1;color:var(--ht-accent);opacity:.55}
.ht-concierge-card h2{font-size:20px;line-height:1.5;margin:0 0 10px}
.ht-concierge-card__intro{font-size:14px;line-height:1.8;margin:0 0 16px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden}
.ht-concierge-card__link{margin-top:auto;font-size:14px;min-height:44px}
@media(max-width:1100px){.ht-concierges__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.ht-concierges__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ht-concierge-card{padding:10px 10px 6px}.ht-concierge-card__role{display:none}.ht-concierge-card__photo{margin:0 0 10px}.ht-concierge-card__photo--empty span{font-size:40px}.ht-concierge-card h2{font-size:16px;margin:0 0 6px}.ht-concierge-card__intro{font-size:12.5px;line-height:1.7;-webkit-line-clamp:4;margin:0 0 8px}.ht-concierge-card__link{font-size:12.5px;gap:6px;min-height:40px;padding-top:6px}}
