/*
Theme Name: Takatsuki Denso 7S Portal
Theme URI: https://takatsuki-denso.example/
Author: Takatsuki Denso Service
Description: 高槻電装サービス社員向け7S PORTAL専用WordPressテーマ
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: seven-s-portal
*/
:root{--navy:#082b53;--blue:#0869bd;--pale:#edf6fb;--bg:#f4f7fa;--line:#dde6ed;--muted:#718294;--orange:#ed8247}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--navy);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}a{text-decoration:none;color:inherit}button,input{font:inherit;color:inherit}.site-shell{min-height:100vh}.desktop-sidebar{display:none}.mobile-header{height:67px;background:#fff;border-bottom:1px solid #edf1f4;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:20}.portal-brand{display:flex;align-items:center;gap:9px}.brand-mark{width:42px;height:38px;border:2px solid var(--blue);border-radius:7px 14px 7px 14px;color:var(--blue);font-size:16px;font-weight:900;line-height:30px;text-align:center}.brand-mark b{font-size:31px;margin-right:2px}.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-size:16px;letter-spacing:.08em}.brand-copy small{font-size:9px;letter-spacing:.16em;color:#7b8b9a}.notice-link{position:relative;font-size:22px}.notice-link b{position:absolute;right:-6px;top:-7px;background:#ef7048;color:#fff;border-radius:50%;font-size:10px;width:15px;height:15px;display:grid;place-items:center}.hero{height:355px;padding:50px 24px;color:#fff;background:linear-gradient(135deg,#062b58,#075cac 72%,#0583d5);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:330px;height:330px;border-radius:50%;right:-110px;bottom:-140px;background:radial-gradient(circle at 35% 30%,rgba(125,218,255,.8),rgba(0,100,190,.08) 59%,transparent 61%)}.hero-content{position:relative;z-index:2}.hero .eyebrow{font-size:11px;letter-spacing:.2em;color:#9ed6ff;margin:0 0 18px}.hero h1{font-size:38px;line-height:1.3;margin:0 0 16px;letter-spacing:.03em}.hero h1 em{font-size:44px;font-style:normal}.hero-copy{font-size:14px;line-height:1.9;color:#d9ecfa}.hero-watermark{position:absolute;right:20px;top:35px;font-size:122px;font-weight:900;color:rgba(255,255,255,.065);letter-spacing:-.15em}.hero-team{position:absolute;right:18px;bottom:23px;z-index:3;color:#bde4fa;font-size:10px;letter-spacing:.08em}.portal-wrap{padding:0 16px 100px;max-width:1120px;margin:auto}.portal-search{background:#fff;border-radius:13px;padding:14px;box-shadow:0 8px 25px rgba(7,40,75,.14);position:relative;z-index:5;margin:-28px auto 35px}.portal-search form{height:54px;border:2px solid var(--blue);border-radius:8px;display:flex;align-items:center;padding:0 8px 0 13px;gap:9px}.portal-search input{border:0;outline:0;min-width:0;flex:1;font-size:16px}.portal-search button,.primary-button{border:0;background:var(--blue);color:#fff;border-radius:6px;font-size:12px;padding:9px 14px}.search-examples{display:flex;gap:5px;align-items:center;flex-wrap:wrap;color:#8392a1;font-size:11px;margin-top:9px}.search-examples a{border-radius:20px;background:#eef4f8;padding:4px 8px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:0 2px 17px}.section-head small,.page-head>small{font-weight:800;color:#1687cf;font-size:11px;letter-spacing:.18em}.section-head h2{font-size:20px;margin:4px 0 0}.more-link{font-size:12px;color:#57738d}.standard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.standard-card{--accent:#1672d0;min-width:0;min-height:174px;border:1px solid #e1e8ee;border-radius:11px;background:#fff;padding:14px 12px;position:relative;overflow:hidden;box-shadow:0 3px 12px rgba(20,52,84,.04)}.standard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent)}.standard-card-top{display:flex;justify-content:space-between;align-items:center}.standard-number{font-size:25px;font-weight:300;color:var(--accent)}.standard-icon{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,white)}.standard-card small{display:block;color:var(--accent);font-size:9px;letter-spacing:.08em;font-weight:bold;margin:15px 0 3px}.standard-card h3{font-size:16px;margin:0 0 8px}.standard-card p{font-size:10px;line-height:1.55;color:var(--muted);margin:0 10px 0 0}.two-column{display:grid;gap:38px;margin-top:40px}.chip-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.chip{border:1px solid var(--line);background:#fff;border-radius:8px;padding:11px 8px;display:flex;align-items:center;gap:7px;font-size:12px}.chip b{font-size:10px;color:#1689cf}.news-row,.article-row{width:100%;background:#fff;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 20px;padding:13px 10px}.news-row small,.article-row small{font-size:10px;color:#7d8c9b}.news-row span,.article-row strong{font-size:13px;margin-top:5px}.standard-pill{font-style:normal;background:#e5f3fa;color:#1686cb;padding:2px 5px;margin-right:6px}.page-content{padding-top:37px}.page-head{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:25px;position:relative}.page-head:after{content:"";position:absolute;bottom:-1px;left:0;width:54px;height:3px;background:var(--blue)}.page-head h1{font-size:29px;margin:6px 0 9px}.page-head p{color:var(--muted);font-size:13px;line-height:1.8}.standard-detail-hero{height:315px;color:#fff;background:linear-gradient(135deg,#bd4e1c,#ef8a48 65%,#ffb16e);padding:55px 25px;position:relative;overflow:hidden}.standard-detail-hero small{color:#ffe2ce;letter-spacing:.15em}.standard-detail-hero h1{font-size:37px;margin:13px 0 1px}.standard-detail-hero strong{font-size:14px;letter-spacing:.16em}.standard-detail-hero p{font-size:15px;line-height:1.8;margin-top:30px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:40px}.category-card{height:85px;background:#fff;border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;justify-content:center;padding:12px;font-size:13px;font-weight:bold}.category-card span{font-size:10px;color:#e77d42;margin-bottom:8px}.article-body{background:#fff;border-radius:12px;padding:22px;margin-bottom:25px;font-size:15px;line-height:2}.favorite-button{display:flex;align-items:center;gap:6px;border:1px solid var(--blue);background:#fff;color:var(--blue);border-radius:20px;padding:8px 14px;font-size:12px;margin:0 0 25px auto}.favorite-button.active{background:var(--blue);color:#fff}.bow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:20px 0 38px}.bow-card{background:#fff;border-radius:9px;border:1px solid var(--line);text-align:center;padding:13px 7px}.bow-person{display:block;width:50px;height:65px;margin:8px auto;background:linear-gradient(#1b70ad 45%,#213d5b 45%);color:#fff;border-radius:25px 25px 8px 8px;font-size:11px;padding-top:12px}.bow-card:nth-child(2) .bow-person{transform:rotate(8deg)}.bow-card:nth-child(3) .bow-person{transform:rotate(15deg)}.point-box{background:#eaf5fb;border-radius:12px;padding:18px;margin:25px 0}.point-box p{background:#fff;border-radius:7px;padding:12px;margin:6px 0;font-size:12px}.point-box b{color:#1687cf;margin-right:9px}.faq-list details{background:#fff;border-bottom:1px solid var(--line);padding:14px}.faq-list summary{font-size:13px;font-weight:bold;cursor:pointer}.faq-list p{background:#eaf5fb;padding:12px;font-size:12px;line-height:1.7}.case-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:12px}.case-card small{font-size:10px;color:#e17a3f}.case-card h2{font-size:20px}.empty-state{text-align:center;background:#fff;border-radius:12px;padding:50px 20px}.mobile-nav{height:73px;position:fixed;z-index:30;bottom:0;left:0;right:0;background:rgba(255,255,255,.98);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr)}.mobile-nav a,.mobile-nav button{border:0;background:transparent;color:#758595;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;gap:3px}.mobile-nav i{font-style:normal;font-size:22px}.mobile-menu-panel{display:none;position:fixed;z-index:29;left:12px;right:12px;bottom:80px;background:#fff;border-radius:13px;padding:10px;box-shadow:0 6px 25px rgba(8,38,70,.2)}.mobile-menu-panel.open{display:block}.mobile-menu-panel a{display:block;padding:14px;border-bottom:1px solid var(--line)}
@media(min-width:900px){.site-shell{display:grid;grid-template-columns:230px 1fr}.desktop-sidebar{display:flex;background:#062b53;color:#fff;position:sticky;top:0;height:100vh;padding:28px 20px;flex-direction:column}.desktop-sidebar .brand-mark{border-color:#44b7f1;color:#44b7f1}.desktop-sidebar .brand-copy small{color:#7ba3c0}.side-label{font-size:10px;color:#6689a6;letter-spacing:.16em;margin:50px 12px 10px}.side-menu a{height:44px;color:#abc1d3;border-radius:7px;display:flex;align-items:center;gap:13px;padding:0 12px;font-size:12px;letter-spacing:.07em}.side-menu a:hover,.side-menu a.current{background:#0871c0;color:#fff}.side-footer{margin-top:auto;padding:20px 10px;border-top:1px solid #24496a;color:#7799b4;font-size:10px;line-height:1.7}.mobile-header,.mobile-nav{display:none}.hero{height:365px;padding:68px max(6vw,60px)}.hero h1{font-size:46px}.hero h1 em{font-size:57px}.hero-watermark{right:7%;font-size:192px}.portal-wrap{padding-left:max(4vw,35px);padding-right:max(4vw,35px)}.portal-search{max-width:920px}.standard-grid{grid-template-columns:repeat(4,1fr);gap:13px}.standard-card{min-height:190px;padding:17px 15px;transition:.2s}.standard-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(10,46,82,.12)}.two-column{grid-template-columns:1fr 1fr;gap:50px}.page-content{padding-top:55px}.page-head h1{font-size:38px}.standard-detail-hero{height:350px;padding:70px max(7vw,70px)}.standard-detail-hero h1{font-size:46px}.category-grid{grid-template-columns:repeat(3,1fr)}.single-article{max-width:900px}.bow-card{padding:24px}.bow-person{width:70px;height:90px}}
@media(min-width:1200px){.standard-grid{grid-template-columns:repeat(4,1fr)}.standard-card{min-height:205px}.standard-card h3{font-size:18px}.standard-card small{font-size:11px}.standard-card p{font-size:12px}}

/* Requested content and layout refinements */
.hero h1{font-size:clamp(28px,7.4vw,38px);white-space:nowrap;letter-spacing:-.02em}
.hero-copy{font-size:clamp(12px,3.35vw,14px);white-space:nowrap;letter-spacing:-.035em}
.news-row>small{grid-column:1;grid-row:1;min-width:0}
.news-row>span{grid-column:1;grid-row:2;min-width:0;display:block;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.news-row>b{grid-column:2;grid-row:1 / 3;align-self:center;justify-self:end}
@media(min-width:900px){.hero h1{font-size:46px;letter-spacing:.01em}.hero-copy{font-size:14px;letter-spacing:0}}

/* Compact hero and consistent navigation/card layouts */
.hero{height:285px;padding-top:38px;padding-bottom:38px}
.side-menu a>span{flex:0 0 24px;width:24px;text-align:center}
.mobile-nav{grid-template-columns:repeat(3,1fr)}
.case-card{display:block;width:100%;min-width:0;overflow:hidden}
.case-card p{margin-bottom:0;overflow-wrap:anywhere}
@media(min-width:900px){.hero{height:305px;padding-top:48px;padding-bottom:48px}.standard-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.standard-card h3{font-size:18px}.standard-card small{font-size:11px}.standard-card p{font-size:12px}}

/* Compact category navigation and standard article index */
.category-grid{gap:8px;margin-bottom:34px}
.category-card{height:auto;min-height:0;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;line-height:1.35}
.category-card:after{content:"→";color:#e77d42;margin-left:10px}
.standard-article-list .article-row{min-height:82px;align-items:center}
.standard-article-list .article-row p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
@media(min-width:900px){.category-card{padding:13px 16px;font-size:14px}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Filtered category links and title-only article cards */
.category-card{flex-direction:row;align-items:center;justify-content:space-between;text-align:left}
.category-card>span{margin:0;min-width:0;font-size:inherit;color:inherit}
.category-card>b{flex:0 0 auto;margin-left:12px;color:#e77d42;font-size:16px}
.category-card:after{content:none}
.standard-article-list .article-row{grid-template-columns:minmax(0,1fr) 20px;min-height:64px;padding:16px}
.standard-article-list .article-row>strong{display:block;min-width:0;margin:0;font-size:15px;line-height:1.5}
.standard-article-list .article-row>b{align-self:center;justify-self:end}

/* Bring the search/content area closer to the hero copy */
.hero{height:245px}
.portal-search{box-shadow:0 4px 12px rgba(7,40,75,.13)}
@media(min-width:900px){.hero{height:265px}}

/* Article detail navigation */
.article-back{display:flex;justify-content:center;margin:30px 0 10px}
.article-back a{display:inline-flex;align-items:center;justify-content:center;min-width:160px;padding:12px 22px;border:1px solid var(--blue);border-radius:999px;background:#fff;color:var(--blue);font-size:13px;font-weight:bold;transition:.2s}
.article-back a:hover{background:var(--blue);color:#fff}
.side-menu{margin-top:50px}

/* Match each 7S index header height to the top-page hero */
.standard-detail-hero{height:245px;padding-top:38px;padding-bottom:38px}
@media(min-width:900px){.standard-detail-hero{height:265px;padding-top:48px;padding-bottom:48px}}

/* Align search forms with the full four-column standard grid */
.portal-search{width:100%;max-width:none}
.portal-search--archive{margin:0 0 35px}

/* Mixed Japanese/Latin copy uses Noto Sans JP; English-only labels use Roboto */
body{font-family:"Noto Sans JP","Roboto",sans-serif}
.portal-brand,.side-menu a,.hero .eyebrow,.hero-watermark,.section-head small,.page-head>small:not(.font-mixed),.standard-number,.standard-card small,.standard-detail-hero small,.standard-detail-hero strong{font-family:"Roboto","Noto Sans JP",sans-serif}
