/*
Theme Name: Stone Sharp Modern
Theme URI: https://s-sharp.co.jp/
Author: 株式会社ストーンシャープ
Author URI: https://s-sharp.co.jp/
Description: AI・Webコンサルティング企業向けに設計した株式会社ストーンシャープ専用テーマ。既存の投稿・固定ページを維持しながら、トップページと下層ページのデザインを統一します。
Version: 1.0.1
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: stone-sharp-modern
*/
:root{--ss-navy:#071a2b;--ss-deep:#0b2237;--ss-blue:#0753a5;--ss-sky:#18a8e0;--ss-cyan:#78dcf2;--ss-ink:#15293a;--ss-muted:#657684;--ss-paper:#f4f7f8;--ss-line:#dbe4e8;--ss-white:#fff;--ss-max:1240px}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ss-ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.8}img{max-width:100%;height:auto;vertical-align:middle}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.ss-container{width:min(calc(100% - 48px),var(--ss-max));margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed!important;top:10px;left:10px;width:auto;height:auto;padding:12px 18px;background:#fff;color:#000;clip:auto;z-index:9999}
.ss-header{height:88px;background:#fff;border-bottom:1px solid #e7edf0;position:relative;z-index:30}.ss-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:28px}.ss-brand{display:block;flex:0 1 320px}.ss-brand img,.custom-logo{display:block;width:auto;max-width:300px;max-height:58px}.ss-brand__text{font-weight:900;letter-spacing:.12em;font-size:18px}.ss-nav{margin-left:auto}.ss-nav>ul{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}.ss-nav li{position:relative;list-style:none}.ss-nav a{display:block;font-size:13px;font-weight:700;padding:30px 0}.ss-nav a:hover,.ss-nav .current-menu-item>a,.ss-nav .current-menu-ancestor>a{color:var(--ss-blue)}.ss-nav .menu-item-has-children>a:after{content:"▾";font-size:9px;margin-left:7px;color:#8495a0}.ss-nav .sub-menu{position:absolute;top:calc(100% - 1px);left:-18px;z-index:50;display:block;width:230px;margin:0;padding:8px 0;background:#fff;border-top:3px solid var(--ss-blue);box-shadow:0 14px 32px rgba(7,26,43,.16);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease,visibility .2s}.ss-nav .sub-menu li{border-bottom:1px solid var(--ss-line)}.ss-nav .sub-menu li:last-child{border-bottom:0}.ss-nav .sub-menu a{padding:12px 18px;font-size:12px;line-height:1.6;color:var(--ss-ink)}.ss-nav .sub-menu a:hover,.ss-nav .sub-menu .current-menu-item>a{background:var(--ss-paper);color:var(--ss-blue)}.ss-nav li:hover>.sub-menu,.ss-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0)}.ss-header__cta{background:var(--ss-navy);color:#fff;padding:13px 20px;border-radius:3px;font-size:13px;font-weight:700;white-space:nowrap}.ss-header__cta:after{content:"↗";color:var(--ss-cyan);margin-left:18px}.ss-menu-toggle{display:none;border:0;background:var(--ss-navy);color:#fff;width:44px;height:44px;border-radius:3px}
.ss-hero{min-height:720px;background:var(--ss-navy);color:#fff;position:relative;overflow:hidden}.ss-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:55px 55px}.ss-hero:after{content:"";position:absolute;width:700px;height:700px;border-radius:50%;right:-180px;top:-120px;background:radial-gradient(circle,rgba(24,168,224,.25),transparent 65%)}.ss-hero__inner{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;position:relative;z-index:2;padding-block:70px}.ss-eyebrow{font-size:12px;letter-spacing:.2em;font-weight:700;color:#a9c0cf;display:flex;align-items:center;gap:12px}.ss-eyebrow:before{content:"";width:34px;height:2px;background:var(--ss-sky)}.ss-hero h1{font-size:clamp(52px,7vw,88px);line-height:1.18;letter-spacing:-.055em;margin:25px 0;font-weight:900}.ss-hero h1 em{font-style:normal;color:var(--ss-cyan)}.ss-hero__lead{font-size:17px;line-height:2;color:#c3d2dc}.ss-actions{display:flex;align-items:center;gap:32px;margin-top:38px}.ss-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--ss-sky);color:#fff;padding:17px 22px;border-radius:3px;font-size:14px;font-weight:700}.ss-btn--line{background:transparent;border-bottom:1px solid #577083;border-radius:0;padding-inline:0;gap:20px}.ss-trust{display:flex;gap:22px;align-items:center;margin-top:48px;color:#8ea5b4;font-size:12px}.ss-trust strong{font-size:9px;letter-spacing:.15em;border-right:1px solid #40586a;padding-right:22px}.ss-visual{height:530px;position:relative;display:grid;place-items:center}.ss-orbit{position:absolute;border:1px solid rgba(120,220,242,.22);border-radius:50%}.ss-orbit--one{width:430px;height:430px}.ss-orbit--two{width:290px;height:290px;border-style:dashed;animation:ss-spin 24s linear infinite}@keyframes ss-spin{to{transform:rotate(360deg)}}.ss-core{width:210px;height:210px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#24bfe9,#09649c 68%,#06243a);box-shadow:0 0 80px rgba(24,168,224,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25)}.ss-core b{font-size:66px;line-height:1}.ss-core small{font-size:9px;letter-spacing:.2em;text-align:center;color:#c2eff7;margin-top:10px}.ss-float{position:absolute;background:rgba(11,34,55,.9);border:1px solid rgba(120,220,242,.25);padding:15px 18px;width:185px;box-shadow:0 20px 45px rgba(0,0,0,.22)}.ss-float b{font-size:13px}.ss-float small{display:block;font-size:8px;letter-spacing:.1em;color:#698699;margin-top:7px}.ss-float--a{top:65px;right:0}.ss-float--b{left:0;top:260px}.ss-float--c{right:0;bottom:35px}.ss-ticker{height:70px;position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;gap:24px;white-space:nowrap;overflow:hidden;color:#6f8a9b;font-size:10px;letter-spacing:.18em}.ss-ticker i{color:var(--ss-sky);font-size:5px}
.ss-section{padding-block:110px}.ss-label{font-size:10px;letter-spacing:.2em;font-weight:700;color:#6a7d8a}.ss-label b{color:var(--ss-sky);margin-right:14px}.ss-intro{display:grid;grid-template-columns:200px 1fr;gap:30px}.ss-kicker{font-size:13px;color:var(--ss-blue);font-weight:800;letter-spacing:.08em;margin:0}.ss-title{font-size:clamp(34px,4.5vw,56px);line-height:1.42;letter-spacing:-.04em;margin:15px 0 42px}.ss-copy-cols{display:grid;grid-template-columns:1fr 1fr;gap:55px;max-width:900px}.ss-copy-cols p{font-size:15px;line-height:2.1;color:#5d6f7b;margin:0}
.ss-services{background:var(--ss-deep);color:#fff}.ss-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.ss-section-head>p{font-size:14px;line-height:2;color:#8fa7b6}.ss-services .ss-label{color:#718a9b}.ss-grid-services{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#30485b}.ss-service{padding:28px;background:#102b41;min-height:500px;display:flex;flex-direction:column}.ss-service:first-child{background:linear-gradient(155deg,#0d789e,#10405c)}.ss-service__top{display:flex;justify-content:space-between;color:#90aabb;font-size:10px;letter-spacing:.12em}.ss-service h3{font-size:22px;margin:60px 0 20px}.ss-service>p{font-size:13px;line-height:2;color:#a7bac5;min-height:140px}.ss-service ul{list-style:none;padding:0;margin:auto 0 0}.ss-service li{font-size:12px;border-top:1px solid rgba(255,255,255,.13);padding:15px 0;display:flex;justify-content:space-between}.ss-service li:after{content:"↗";color:var(--ss-cyan)}
.ss-flow__lead{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:8vw;margin:25px 0 58px}.ss-flow__lead p{font-size:15px;line-height:2;color:var(--ss-muted)}.ss-flow__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.ss-flow__grid article{background:var(--ss-paper);border-top:3px solid var(--ss-blue);padding:30px;min-height:230px}.ss-flow__grid b{font-size:11px;color:var(--ss-blue)}.ss-flow__grid h3{font-size:22px;margin:42px 0 12px}.ss-flow__grid p{font-size:13px;color:var(--ss-muted)}
.ss-profile{background:var(--ss-paper)}.ss-profile__inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:center}.ss-profile__image{aspect-ratio:4/5;background:#dfe7eb;position:relative;overflow:hidden}.ss-profile__image img{width:100%;height:100%;object-fit:cover}.ss-profile__placeholder{height:100%;display:grid;place-items:center;color:#80929d;text-align:center;padding:30px}.ss-profile__placeholder:before{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:#bfccd3;top:24%}.ss-profile__placeholder:after{content:"";position:absolute;width:260px;height:190px;border-radius:50% 50% 0 0;background:#bfccd3;bottom:-40px}.ss-profile__placeholder span{position:relative;z-index:2;background:rgba(255,255,255,.88);padding:10px 15px;font-size:12px}.ss-profile__copy h2{font-size:clamp(32px,4vw,50px);line-height:1.45;margin:20px 0 28px}.ss-profile__copy p{color:var(--ss-muted)}.ss-link{display:inline-block;margin-top:20px;color:var(--ss-blue);font-size:13px;font-weight:700;border-bottom:1px solid;padding-bottom:4px}
.ss-results__head{display:flex;justify-content:space-between;align-items:end;margin:25px 0 50px}.ss-results__head p{color:var(--ss-muted)}.ss-results__grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--ss-line)}.ss-result{padding:34px;min-height:340px;border-right:1px solid var(--ss-line);position:relative}.ss-result:last-child{border:0}.ss-result__no{position:absolute;right:25px;top:20px;color:#d5e0e5;font-size:42px;font-weight:800}.ss-result small{color:var(--ss-blue);font-size:9px;letter-spacing:.15em}.ss-result h3{font-size:23px;line-height:1.6;margin:85px 0 18px}.ss-result p{font-size:12px;color:#71818c}.ss-note{font-size:10px;color:#89969e;text-align:right}
.ss-journal{background:var(--ss-paper)}.ss-journal__inner{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw}.ss-post-list{border-top:1px solid #cbd6dc}.ss-post-row{display:grid;grid-template-columns:110px 80px 1fr 25px;gap:15px;align-items:center;border-bottom:1px solid #cbd6dc;padding:28px 3px}.ss-post-row__cat{font-size:9px;color:var(--ss-blue);letter-spacing:.1em}.ss-post-row time{font-size:11px;color:#8998a2}.ss-post-row h3{font-size:15px;margin:0}.ss-post-row:after{content:"→";color:var(--ss-blue)}
.ss-contact{padding:100px 24px;text-align:center;background:linear-gradient(135deg,#0b3852,#0b7ca2);color:#fff}.ss-contact>small{letter-spacing:.22em;color:#9fe8f6}.ss-contact h2{font-size:clamp(36px,5vw,58px);line-height:1.4;margin:20px 0}.ss-contact p{color:#c3e4eb}.ss-contact .ss-btn{margin-top:25px;background:#fff;color:var(--ss-ink)}
.ss-page-hero{background:var(--ss-navy);color:#fff;padding:82px 0}.ss-page-hero .ss-label{color:#8ca4b3}.ss-page-hero h1{font-size:clamp(34px,5vw,58px);line-height:1.35;margin:18px 0 0}.ss-breadcrumbs{font-size:11px;color:#768c9a;margin-top:18px}.ss-content-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:55px;padding-block:75px}.ss-content-wrap--full{display:block;max-width:900px}.ss-entry{min-width:0}.ss-entry__meta{font-size:12px;color:var(--ss-muted);margin-bottom:25px}.ss-entry__thumb{margin-bottom:35px}.ss-entry-content{font-size:16px;line-height:2}.ss-entry-content h2{font-size:30px;line-height:1.5;border-left:4px solid var(--ss-blue);padding:10px 0 10px 18px;margin:55px 0 25px}.ss-entry-content h3{font-size:23px;border-bottom:1px solid var(--ss-line);padding-bottom:10px;margin:42px 0 20px}.ss-entry-content a{color:var(--ss-blue);text-decoration:underline}.ss-entry-content table{border-collapse:collapse;width:100%;margin:25px 0}.ss-entry-content th,.ss-entry-content td{border:1px solid var(--ss-line);padding:13px}.ss-entry-content th{background:var(--ss-paper)}.ss-entry-content blockquote{margin:30px 0;padding:22px 26px;background:var(--ss-paper);border-left:3px solid var(--ss-sky)}.ss-entry-content img{border-radius:3px}.ss-sidebar section{margin-bottom:35px;padding:24px;background:var(--ss-paper)}.ss-sidebar h2{font-size:15px;margin:0 0 18px}.ss-sidebar ul{list-style:none;margin:0;padding:0}.ss-sidebar li{font-size:13px;border-top:1px solid var(--ss-line);padding:10px 0}.ss-pagination{margin-top:45px}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.page-numbers{padding:7px 13px;border:1px solid var(--ss-line)}.page-numbers.current{background:var(--ss-navy);color:#fff}.ss-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.ss-card{border:1px solid var(--ss-line);background:#fff}.ss-card__image{aspect-ratio:16/10;background:#eaf0f3;overflow:hidden}.ss-card__image img{width:100%;height:100%;object-fit:cover}.ss-card__body{padding:22px}.ss-card__body small{font-size:10px;color:var(--ss-blue)}.ss-card__body h2{font-size:18px;line-height:1.6;margin:10px 0}.ss-card__body p{font-size:13px;color:var(--ss-muted)}.ss-empty{text-align:center;padding:90px 20px}.ss-empty h1{font-size:clamp(50px,10vw,110px);margin:0;color:var(--ss-blue)}
.ss-footer{background:#061725;color:#fff;padding:65px 0 28px}.ss-footer__top{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-bottom:45px}.ss-footer__logo img{max-width:280px;filter:brightness(0) invert(1)}.ss-footer__logo p{font-size:12px;color:#7f95a3}.ss-footer-nav ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 25px}.ss-footer-nav a{font-size:12px;color:#b5c2ca}.ss-footer__bottom{border-top:1px solid #1a3447;padding-top:22px;font-size:10px;color:#587080}
@media(max-width:1050px){.ss-grid-services{grid-template-columns:repeat(2,1fr)}.ss-service{min-height:440px}.ss-service>p{min-height:90px}.ss-nav>ul{gap:18px}.ss-nav a{font-size:12px}}
@media(max-width:900px){.ss-header{height:72px}.ss-menu-toggle{display:block}.ss-nav{display:none;position:absolute;left:0;right:0;top:72px;max-height:calc(100vh - 72px);overflow-y:auto;background:#fff;padding:15px 24px 24px;box-shadow:0 15px 30px rgba(0,0,0,.1)}.ss-nav.is-open{display:block}.ss-nav>ul{display:block}.ss-nav li{border-bottom:1px solid var(--ss-line)}.ss-nav a{padding:12px 0}.ss-nav .menu-item-has-children>a:after{float:right;margin:2px 4px 0 0}.ss-nav .sub-menu{position:static;width:auto;margin:0 0 10px;padding:0 0 0 18px;background:var(--ss-paper);border:0;box-shadow:none;opacity:1;visibility:visible;transform:none;transition:none}.ss-nav .sub-menu li{border-bottom:1px solid #d7e1e6}.ss-nav .sub-menu a{padding:11px 14px;font-size:12px}.ss-header__cta{display:none}.ss-hero__inner{grid-template-columns:1fr}.ss-visual{height:440px}.ss-intro{grid-template-columns:1fr}.ss-copy-cols{gap:30px}.ss-section-head,.ss-results__head{align-items:start;gap:30px}.ss-results__grid{grid-template-columns:1fr}.ss-result{border-right:0;border-bottom:1px solid var(--ss-line)}.ss-journal__inner{grid-template-columns:1fr}.ss-content-wrap{grid-template-columns:1fr}.ss-sidebar{border-top:1px solid var(--ss-line);padding-top:40px}.ss-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.ss-container{width:min(calc(100% - 36px),var(--ss-max))}.ss-brand img,.custom-logo{max-width:220px;max-height:44px}.ss-hero h1{font-size:48px}.ss-hero__inner{padding-block:60px 20px}.ss-hero__lead{font-size:15px}.ss-actions{flex-direction:column;align-items:stretch;gap:10px}.ss-visual{height:390px;transform:scale(.86);margin-inline:-30px}.ss-orbit--one{width:350px;height:350px}.ss-orbit--two{width:240px;height:240px}.ss-core{width:170px;height:170px}.ss-float{width:155px;padding:12px}.ss-ticker{justify-content:flex-start}.ss-section{padding-block:78px}.ss-title{font-size:33px}.ss-copy-cols,.ss-flow__lead,.ss-flow__grid,.ss-profile__inner,.ss-grid-services,.ss-cards{grid-template-columns:1fr}.ss-section-head,.ss-results__head{display:block}.ss-section-head>p,.ss-results__head>p{margin-top:25px}.ss-service{min-height:auto}.ss-service h3{margin-top:40px}.ss-service>p{min-height:auto}.ss-journal__inner{gap:45px}.ss-post-row{grid-template-columns:1fr 70px 20px}.ss-post-row h3{grid-column:1/3;grid-row:2}.ss-post-row:after{grid-column:3;grid-row:2}.ss-page-hero{padding:60px 0}.ss-content-wrap{padding-block:55px}.ss-entry-content h2{font-size:25px}.ss-entry-content h3{font-size:21px}.ss-entry-content table{display:block;overflow-x:auto;white-space:nowrap}.ss-footer__top{grid-template-columns:1fr}.ss-footer-nav ul{grid-template-columns:1fr}}
