/*
Theme Name: HireSensei Blocksy Child
Theme URI: https://hiresensei.jp/
Description: Editorial child theme for HireSensei, based on Blocksy.
Author: HireSensei
Template: blocksy
Version: 1.4.0
Text Domain: hiresensei-blocksy-child
*/
:root { --hs-ink:#181b20; --hs-muted:#626972; --hs-line:#e9e9e8; --hs-highlight:#91b5c5; }
body { background:#fff; }
.hs-wrap { width:min(100% - 56px, 1180px); margin-inline:auto; }
.hs-home { background:#fff; color:var(--hs-ink); }
.hs-topics { border-top:1px solid var(--hs-line); border-bottom:1px solid var(--hs-line); overflow-x:auto; }
.hs-topics-inner { display:flex; align-items:center; gap:28px; white-space:nowrap; min-height:59px; }
.hs-topics a { text-decoration:none; color:var(--hs-ink); font-size:13px; padding:19px 0; }
.hs-topics .hs-topic-current { border-bottom:2px solid currentColor; font-weight:600; }
.hs-hero { text-align:center; padding-top:62px; padding-bottom:62px; }
.hs-kicker { font:600 11px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; letter-spacing:.18em; color:var(--hs-muted); margin:0 0 19px; }
.hs-hero h1 { font-family:Georgia,'Times New Roman',serif; letter-spacing:-.035em; font-weight:600; font-size:clamp(43px,5.6vw,70px); line-height:1.05; max-width:950px; margin:0 auto 21px; color:var(--hs-ink); }
.hs-intro { max-width:710px; margin:0 auto 23px; color:#53585e; font-size:clamp(16px,1.65vw,20px); line-height:1.55; }
.hs-hero-link { color:var(--hs-ink); font-size:15px; border-bottom:1px solid var(--hs-ink); padding-bottom:5px; text-decoration:none; }
.hs-stories { padding-bottom:95px; }
.hs-section-head { display:flex; justify-content:space-between; align-items:baseline; border-top:1px solid var(--hs-line); padding-top:24px; margin-bottom:29px; }
.hs-section-head h2 { font-size:14px; font-weight:600; text-transform:uppercase; letter-spacing:.09em; margin:0; color:var(--hs-ink); }
.hs-section-head>a { font-size:13px; color:var(--hs-muted); text-decoration:none; }
.hs-story-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:33px; row-gap:28px; }
.hs-story { display:grid; grid-template-columns:118px minmax(0,1fr); align-items:start; gap:17px; padding-bottom:28px; border-bottom:1px solid var(--hs-line); margin:0; }
.hs-story-thumb { width:118px; aspect-ratio:1/1; display:block; background:#f3f3f1; overflow:hidden; }
.hs-story-thumb img { width:100%; height:100%; object-fit:cover; }
.hs-thumb-placeholder { display:flex; height:100%; justify-content:center; align-items:center; font:italic 13px Georgia,serif; color:#999; }
.hs-story-category { display:block; color:var(--hs-muted); font-size:11px; line-height:1.4; margin-bottom:8px; }
.hs-story h3 { font:600 19px/1.24 Georgia,'Times New Roman',serif; margin:0 0 8px; letter-spacing:-.012em; }
.hs-story h3 a { color:var(--hs-ink); text-decoration:none; }
.hs-story h3 a:hover,.hs-hero-link:hover { color:#4b7386; }
.hs-story-date { font-size:11px; color:#8b8f92; margin:0; }
.hs-empty { color:var(--hs-muted); padding:36px 0 90px; border-bottom:1px solid var(--hs-line); }
@media(max-width:980px) { .hs-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .hs-story { grid-template-columns:100px minmax(0,1fr); } .hs-story-thumb { width:100px; } }
@media(max-width:600px) { .hs-wrap { width:calc(100% - 36px); } .hs-topics-inner { gap:22px; } .hs-hero { padding-top:48px; padding-bottom:48px; } .hs-hero h1 { font-size:clamp(38px,9vw,56px); } .hs-story-grid { grid-template-columns:1fr; } .hs-section-head { gap:12px; } .hs-story { grid-template-columns:105px minmax(0,1fr); } .hs-story-thumb { width:105px; } }
.hs-blog-head { text-align:center; padding:78px 0 62px; }
.hs-blog-head h1 { font:600 clamp(48px,6vw,76px)/1.12 Georgia,'Times New Roman',serif; letter-spacing:-.025em; margin:0 0 15px; }
.hs-blog-head p { color:var(--hs-muted); font-size:17px; }
.hs-blog-index { padding-bottom:80px; }
.hs-blog-index .hs-story h2 { font:600 19px/1.24 Georgia,'Times New Roman',serif; margin:0 0 8px; }
.hs-blog-index .hs-story h2 a { color:var(--hs-ink); text-decoration:none; }
.hs-pages { display:flex; gap:18px; justify-content:center; margin-top:50px; }

/* v1.2: refined editorial article cards and mobile layout */
.hs-story-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.hs-story-text { min-width:0; }
.hs-story-category { overflow-wrap:anywhere; }
.hs-story h3, .hs-blog-index .hs-story h2 { overflow-wrap:break-word; }
.hs-story-date { font-variant-numeric:tabular-nums; letter-spacing:.01em; }
@media (min-width: 981px) {
  .hs-story-grid { column-gap:30px; }
  .hs-story { grid-template-columns:112px minmax(0,1fr); gap:16px; }
  .hs-story-thumb { width:112px; }
}
@media (max-width: 600px) {
  .hs-hero h1 { line-height:1.09; }
  .hs-intro { font-size:16px; }
  .hs-stories { padding-bottom:65px; }
  .hs-story { gap:14px; }
}


/* v1.3 — streamlined long-form editorial articles */
.hs-article-page { background:#fff; color:var(--hs-ink); padding:64px 0 100px; }
.hs-article-container { width:min(calc(100% - 48px), 800px); margin-inline:auto; }
.hs-article-header { margin-bottom:32px; }
.hs-article-meta { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-bottom:20px; font:600 11px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; letter-spacing:.09em; text-transform:uppercase; color:var(--hs-muted); }
.hs-article-meta a { color:inherit; text-decoration:none; }
.hs-article-meta a:hover { color:var(--hs-ink); text-decoration:underline; }
.hs-article-title { color:var(--hs-ink); font:600 clamp(39px,5vw,64px)/1.1 Georgia,'Times New Roman',serif; letter-spacing:-.035em; margin:0 0 20px; overflow-wrap:break-word; }
.hs-article-lead { font:400 clamp(17px,2vw,20px)/1.65 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:var(--hs-muted); margin:0; }
.hs-article-image { margin:33px 0 38px; }
.hs-article-image img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.hs-article-body { color:#353c44; font:400 17px/1.85 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; overflow-wrap:break-word; }
.hs-article-body > :first-child { margin-top:0; }
.hs-article-body p { margin:0 0 1.65em; }
.hs-article-body h2,.hs-article-body h3,.hs-article-body h4 { color:var(--hs-ink); font-family:Georgia,'Times New Roman',serif; font-weight:600; letter-spacing:-.015em; line-height:1.25; }
.hs-article-body h2 { font-size:clamp(28px,3vw,36px); margin:1.75em 0 .65em; }
.hs-article-body h3 { font-size:clamp(23px,2.5vw,28px); margin:1.55em 0 .6em; }
.hs-article-body h4 { font-size:21px; margin:1.4em 0 .5em; }
.hs-article-body ul,.hs-article-body ol { margin:0 0 1.6em; padding-left:1.6em; }
.hs-article-body li { margin-bottom:.4em; }
.hs-article-body a { color:#225c7b; text-decoration:underline; text-underline-offset:3px; }
.hs-article-body blockquote { margin:2em 0; padding:.4em 0 .4em 1.2em; border-left:3px solid #9bb9c8; font-style:italic; }
.hs-article-body img { max-width:100%; height:auto; }
.hs-article-body figure { max-width:100%; }
.hs-article-body .wp-block-image img { display:block; }
.hs-article-body table { display:block; width:100%; overflow-x:auto; }
.hs-article-end { margin-top:65px; padding-top:20px; border-top:1px solid var(--hs-line); }
.hs-article-back { font-size:14px; color:var(--hs-ink); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px; }
.hs-article-back:hover { color:#4b7386; }
@media(max-width:600px) {
 .hs-article-page { padding:38px 0 65px; }
 .hs-article-container { width:calc(100% - 36px); }
 .hs-article-title { font-size:clamp(34px,9vw,45px); }
 .hs-article-lead { font-size:16px; }
 .hs-article-body { font-size:16px; line-height:1.8; }
 .hs-article-image { margin:24px 0 30px; }
 .hs-article-body h2 { font-size:28px; }
 .hs-article-body h3 { font-size:23px; }
}

/* v1.4 — category, tag, date, author archive, and search editorial layouts */
.hs-listing-page { background:#fff; color:var(--hs-ink); padding:65px 0 90px; min-height:60vh; }
.hs-listing-head { padding:0 0 36px; border-bottom:1px solid var(--hs-line); margin-bottom:32px; }
.hs-listing-kicker { margin:0 0 10px; color:var(--hs-muted); font:600 11px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; text-transform:uppercase; letter-spacing:.16em; }
.hs-listing-title { font:600 clamp(36px,5.5vw,66px)/1.12 Georgia,'Times New Roman',serif; letter-spacing:-.03em; color:var(--hs-ink); margin:0; overflow-wrap:anywhere; }
.hs-listing-description { max-width:760px; margin:16px 0 0; color:var(--hs-muted); font-size:17px; line-height:1.65; }
.hs-listing-page .hs-story h2 { font:600 19px/1.24 Georgia,'Times New Roman',serif; letter-spacing:-.012em; margin:0 0 8px; overflow-wrap:break-word; }
.hs-listing-page .hs-story h2 a { text-decoration:none; color:var(--hs-ink); }
.hs-listing-page .hs-story h2 a:hover { color:#4b7386; }
.hs-listing-page .hs-story-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.hs-listing-page .hs-pages .page-numbers { color:var(--hs-ink); text-decoration:none; padding:6px 3px; }
.hs-listing-page .hs-pages .page-numbers.current { border-bottom:2px solid var(--hs-ink); font-weight:600; }
.hs-listing-page .hs-empty { padding:24px 0 42px; }
@media(max-width:600px) {
 .hs-listing-page { padding:36px 0 65px; }
 .hs-listing-head { padding-bottom:25px; margin-bottom:24px; }
 .hs-listing-title { font-size:clamp(34px,9vw,45px); }
 .hs-listing-description { font-size:15px; }
}
