/* ========== Reset & Base ========== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;color:#333;line-height:1.8;background:#fff}
a{color:inherit;text-decoration:none}
ul{list-style:none}
table{border-collapse:collapse;width:100%}
img{max-width:100%;height:auto;display:block}

/* ========== Utility ========== */
.container{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}
.section{padding:80px 0}
.section-gray{background:#f7f8fa}
.section-title{text-align:center;font-size:1.8rem;font-weight:700;margin-bottom:48px;color:#1a2a44;line-height:1.5}
.section-text{max-width:860px;margin:0 auto 40px;font-size:1rem;line-height:2;text-align:center;color:#555}

/* ========== Buttons ========== */
.btn{display:inline-block;padding:14px 32px;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s;text-align:center}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:#1a5fa0;color:#fff;border:2px solid #1a5fa0}
.btn-primary:hover{background:#144a80;border-color:#144a80}
.btn-outline{background:transparent;color:#1a5fa0;border:2px solid #1a5fa0}
.btn-outline:hover{background:#1a5fa0;color:#fff}
.btn-lg{padding:16px 40px;font-size:1.1rem}

/* ========== Header ========== */
.header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo-text{font-size:1.2rem;font-weight:700;color:#1a2a44}
/* nav-list and nav-toggle removed - tabs are primary navigation */

/* ========== Hero ========== */
.hero{padding:160px 0 100px;background:linear-gradient(135deg,#0d2b4a 0%,#1a5fa0 100%);color:#fff;text-align:center}
.hero-title{font-size:2.2rem;font-weight:700;line-height:1.6;margin-bottom:24px}
.hero-sub{font-size:1.05rem;line-height:2;margin-bottom:20px;max-width:860px;margin-left:auto;margin-right:auto;opacity:.92}
.hero-note{font-size:.95rem;line-height:1.9;margin-bottom:40px;opacity:.8}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero .btn-outline{color:#fff;border-color:#fff}
.hero .btn-outline:hover{background:rgba(255,255,255,.15);color:#fff}

/* ========== Problem Grid ========== */
.problem-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.problem-card{background:#fff;border:1px solid #e8ecf0;border-radius:8px;padding:24px 20px;text-align:center;font-size:.95rem;line-height:1.7;transition:box-shadow .2s,transform .15s}
.problem-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px)}

/* ========== Card Grid ========== */
.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card{background:#fff;border-radius:8px;padding:32px 24px;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:box-shadow .2s,transform .15s}
.card:hover{box-shadow:0 6px 24px rgba(0,0,0,.1);transform:translateY(-3px)}
.card-title{font-size:1.05rem;font-weight:700;color:#1a2a44;margin-bottom:12px;line-height:1.5}
.card-desc{font-size:.9rem;line-height:1.9;color:#555}

/* ========== Flow ========== */
.flow-title{text-align:center;font-size:1.3rem;font-weight:600;margin-bottom:32px;color:#1a2a44}
.flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}
.flow-step{background:#1a5fa0;color:#fff;border-radius:8px;padding:16px 20px;text-align:center;min-width:140px}
.flow-number{font-size:1.5rem;font-weight:700;margin-bottom:4px}
.flow-label{font-size:.85rem;line-height:1.4}
.flow-arrow{color:#1a5fa0;font-size:1.2rem;font-weight:700}

/* ========== Compare Table ========== */
.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:40px}
.compare-table{min-width:600px;border:1px solid #e0e5ec;width:100%}
.table-caption{text-align:left;font-size:.9rem;font-weight:600;padding:12px 16px;background:#f0f3f7;color:#1a2a44;caption-side:top}
.compare-table th,.compare-table td{padding:14px 16px;border:1px solid #e0e5ec;font-size:.9rem;text-align:left}
.compare-table thead th{background:#1a2a44;color:#fff;font-weight:600}
.compare-table .col-koei{background:#e8f0fa;font-weight:500}
.compare-table tbody tr:hover{background:#f7f9fc}

/* ========== Service List ========== */
.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 40px}
.service-item{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:8px;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.05)}
.service-name{font-size:1rem;font-weight:700;color:#1a2a44;margin-bottom:6px}
.service-desc{font-size:.9rem;line-height:1.8;color:#555}

/* ========== Quality Grid (品質・環境タブ専用) ========== */
.quality-section-title{text-align:center;font-size:1.3rem;font-weight:700;color:#1a2a44;margin:48px 0 24px;line-height:1.5}
.quality-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;max-width:960px;margin:0 auto 48px}
.quality-card{background:#fff;border-radius:8px;padding:24px 20px;border:1px solid #e0e5ec;text-align:center;transition:box-shadow .2s,transform .15s}
.quality-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px)}
.quality-card-title{font-size:1.05rem;font-weight:700;color:#1a2a44;margin-bottom:10px;line-height:1.5}
.quality-card-text{font-size:.9rem;line-height:1.9;color:#555}
.quality-block{max-width:860px;margin:0 auto 40px;background:#fff;border:1px solid #e0e5ec;border-radius:8px;padding:24px 32px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.quality-block p{font-size:.95rem;line-height:2;color:#555;margin-bottom:12px}
.quality-block p:last-child{margin-bottom:0}

/* 旧quality-grid は未使用（残して他タブ影響なし） */
.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:40px}
.quality-item{background:#fff;border:2px solid #e0e5ec;border-radius:8px;padding:20px;text-align:center;font-size:.95rem;font-weight:600;color:#1a2a44;transition:border-color .2s}
.quality-item:hover{border-color:#1a5fa0}

/* ========== Company Profile ========== */
.company-profile{max-width:720px;margin:0 auto}
.profile-table th,.profile-table td{padding:14px 16px;border-bottom:1px solid #e8ecf0;font-size:.95rem}
.profile-label{width:140px;text-align:left;font-weight:600;color:#1a2a44;background:#f7f8fa;white-space:nowrap}
.en-name{font-size:.85rem;color:#888;font-weight:400}

/* ========== Contact ========== */
.section-contact{background:#f7f8fa;color:#333;text-align:center}
.section-contact .section-title{color:#1a2a44}
.section-contact .section-text{color:#555}
.contact-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:40px}
.contact-info-text{color:#555;font-size:.9rem;margin-top:-20px;margin-bottom:32px}
.contact-topics{max-width:600px;margin:0 auto;text-align:left;background:#fff;border:1px solid #e8ecf0;border-radius:8px;padding:24px 32px}
.contact-topics-title{font-size:1.1rem;font-weight:700;color:#1a2a44;margin-bottom:20px;text-align:center}
.contact-topic-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.contact-topic-list li{font-size:.9rem;color:#555;padding:4px 0}

/* お問い合わせタブ - 相談事例グリッド */
.contact-topic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:860px;margin:0 auto 48px;text-align:left}
.contact-topic-card{background:#fff;border-radius:8px;padding:24px 20px;border:1px solid #e0e5ec;transition:box-shadow .2s,transform .15s}
.contact-topic-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px)}
.contact-topic-name{font-size:1rem;font-weight:700;color:#1a2a44;margin-bottom:8px;line-height:1.5}
.contact-topic-desc{font-size:.9rem;line-height:1.9;color:#555}
.contact-mail-section{text-align:center;margin-top:48px;padding-top:32px;border-top:2px solid #e0e5ec}

/* ========== Footer ========== */
.footer{background:#1a2a44;color:rgba(255,255,255,.7);text-align:center;padding:40px 0;font-size:.9rem;line-height:2}
.footer a{color:#fff;text-decoration:underline}
.footer .en-name{color:rgba(255,255,255,.7)}
.footer-name{font-weight:600;color:#fff;font-size:1rem}
.copyright{margin-top:16px;font-size:.8rem;opacity:.8}

/* ========== Responsive ========== */
@media(max-width:900px){
.hero-title{font-size:1.7rem}
.problem-grid{grid-template-columns:repeat(2,1fr)}
.card-grid{grid-template-columns:repeat(2,1fr)}
.service-list{grid-template-columns:1fr}
.quality-grid{grid-template-columns:repeat(2,1fr)}
.quality-card-grid{grid-template-columns:repeat(3,1fr);gap:16px}
.flow-step{min-width:120px;padding:12px 16px}
}
@media(max-width:600px){
.section{padding:60px 0}
.section-title{font-size:1.4rem;margin-bottom:32px}
.hero{padding:120px 0 70px}
.hero-title{font-size:1.4rem}
.hero-sub{font-size:.95rem}
.hero-ctas{flex-direction:column;align-items:center}
.btn{width:100%;max-width:280px}
.problem-grid{grid-template-columns:1fr}
.card-grid{grid-template-columns:1fr}
.quality-grid{grid-template-columns:repeat(2,1fr)}
.quality-card-grid{grid-template-columns:repeat(2,1fr);gap:16px}
.quality-section-title{font-size:1.1rem;margin:32px 0 16px}
.quality-block{padding:20px 24px}
.flow{flex-direction:column;align-items:center}
.flow-arrow{transform:rotate(0)}
.contact-ctas{flex-direction:column;align-items:center}
.contact-topic-list{grid-template-columns:1fr}
.contact-topic-grid{grid-template-columns:1fr;gap:16px}
.profile-label{width:110px;font-size:.85rem}
.compare-table{min-width:500px}
}

/* ========== Tab Shell ========== */
.tab-shell{padding:0 0 80px;position:relative;z-index:20}
.section-inner{padding:60px 0}
.section-gray .section-inner,.section-inner.section-gray{background:#f7f8fa;margin:-60px -24px 0;padding:60px 24px}
.tab-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;border-bottom:2px solid #e0e5ec;margin-bottom:0;overflow-x:visible;position:relative;z-index:20;width:100%}
.tab-button{background:none;border:none;padding:14px 16px;font-size:.9rem;font-weight:600;color:#555;cursor:pointer;white-space:normal;text-align:center;line-height:1.35;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s;min-height:44px;display:flex;align-items:center;justify-content:center;width:100%;max-width:none;min-width:0;box-sizing:border-box}
.tab-button:hover{color:#1a5fa0}
.tab-button.is-active{color:#1a5fa0;border-bottom-color:#1a5fa0}
.tab-panels{position:relative}
.tab-panel{display:none}
.tab-panel.is-active{display:block}
.section-contact .section-inner,.section-inner.section-contact{background:#f7f8fa;color:#333;margin:-60px -24px 0;padding:60px 24px}
.section-inner.section-contact .section-title{color:#1a2a44}
.section-inner.section-contact .section-text{color:#555}

/* ========== AI Notice ========== */
.ai-notice{font-size:.8rem;color:rgba(255,255,255,.5);margin-top:12px;line-height:1.8}

/* ========== Responsive Tabs ========== */
@media(max-width:900px){
.tab-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
.tab-button{padding:12px 10px;font-size:.85rem}
.section-inner{padding:40px 0}
.section-gray .section-inner,.section-inner.section-gray{margin:-40px -24px 0;padding:40px 16px}
.section-inner.section-contact{margin:-40px -24px 0;padding:40px 16px}
}
@media(max-width:600px){
.tab-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
.tab-button{padding:10px 8px;font-size:.82rem;min-height:40px;line-height:1.3}
.section-inner{padding:32px 0}
.section-gray .section-inner,.section-inner.section-gray{margin:-32px -16px 0;padding:32px 16px}
.section-inner.section-contact{margin:-32px -16px 0;padding:32px 16px}
.tab-shell{padding:0 0 60px}
}

/* ========== AI活用・EVO タブ専用スタイル ========== */

/* Hero */
.evo-hero{margin-bottom:16px}
.evo-lead{max-width:860px;margin:0 auto 48px;font-size:1rem;line-height:2;text-align:center;color:#555}

/* Section titles within EVO */
.evo-section-title{text-align:center;font-size:1.3rem;font-weight:700;color:#1a2a44;margin:48px 0 24px;line-height:1.5}

/* 3-Card Grid */
.evo-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:960px;margin:0 auto 0}
.evo-card{background:#f7f8fa;border-radius:10px;padding:28px 24px;text-align:center;border:1px solid #e0e5ec;transition:box-shadow .2s}
.evo-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.evo-card-title{font-size:1.2rem;font-weight:700;color:#1a5fa0;margin-bottom:12px}
.evo-card-text{font-size:.95rem;line-height:1.9;color:#555}

/* Flow */
.evo-flow{max-width:640px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.evo-flow-step{background:#fff;border:2px solid #1a5fa0;border-radius:10px;padding:20px 28px;width:100%;text-align:center}
.evo-flow-step-header{font-size:1.05rem;font-weight:700;color:#1a2a44;display:flex;align-items:center;justify-content:center;gap:10px}
.evo-flow-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#1a5fa0;color:#fff;border-radius:50%;font-size:.85rem;font-weight:700;flex-shrink:0}
.evo-flow-desc{font-size:.9rem;line-height:1.8;color:#555;margin-top:8px}
.evo-flow-arrow{color:#1a5fa0;font-size:1.5rem;font-weight:700;padding:8px 0;line-height:1;user-select:none}

/* List */
.evo-list{max-width:720px;margin:0 auto;list-style:none;padding:0}
.evo-list li{position:relative;padding:10px 0 10px 28px;font-size:.95rem;line-height:1.8;color:#444;border-bottom:1px solid #eef1f5}
.evo-list li::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:10px;height:10px;background:#1a5fa0;border-radius:3px}

/* Status Grid (Now / Future) */
.evo-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:860px;margin:0 auto}
.evo-status-block{background:#f7f8fa;border-radius:10px;padding:28px 24px;border:1px solid #e0e5ec}
.evo-status-title{font-size:1.1rem;font-weight:700;color:#1a2a44;margin-bottom:16px;text-align:center;padding-bottom:12px;border-bottom:2px solid #1a5fa0}
.evo-status-block .evo-list{max-width:100%}

/* Responsive: Tablet */
@media(max-width:900px){
.evo-card-grid{grid-template-columns:repeat(2,1fr);gap:16px}
.evo-status-grid{grid-template-columns:1fr;gap:20px}
.evo-section-title{margin:40px 0 20px;font-size:1.2rem}
}

/* Responsive: Mobile */
@media(max-width:600px){
.evo-card-grid{grid-template-columns:1fr;gap:16px}
.evo-card{padding:24px 20px}
.evo-flow-step{padding:16px 20px}
.evo-flow-step-header{font-size:.95rem}
.evo-flow-desc{font-size:.85rem}
.evo-flow-arrow{font-size:1.2rem;padding:6px 0}
.evo-section-title{margin:32px 0 16px;font-size:1.1rem}
.evo-lead{font-size:.9rem;margin-bottom:32px}
.evo-status-block{padding:24px 20px}
.evo-list li{font-size:.9rem;padding:8px 0 8px 24px}
}

/* ========== Production Capability ========== */
.production-capability{margin-top:48px}
.production-lead{max-width:860px;margin:0 auto 32px;font-size:.95rem;line-height:2;text-align:center;color:#555}
.production-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:960px;margin:0 auto}
.production-card{background:#fff;border-radius:8px;padding:24px 20px;border:1px solid #e0e5ec;text-align:left;transition:box-shadow .2s}
.production-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.production-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:#1a5fa0;color:#fff;border-radius:50%;font-size:.8rem;font-weight:700;margin-bottom:10px;flex-shrink:0}
.production-title{font-size:1rem;font-weight:700;color:#1a2a44;margin-bottom:8px;line-height:1.5}
.production-text{font-size:.88rem;line-height:1.9;color:#555}
.production-strength{margin-top:24px;background:#fff;border-radius:8px;padding:32px 24px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.production-strength-title{font-size:1.05rem;font-weight:700;color:#1a2a44;margin-bottom:12px;line-height:1.5}
.production-strength-text{font-size:.9rem;line-height:1.9;color:#555}

@media(max-width:900px){
.production-grid{grid-template-columns:repeat(2,1fr);gap:16px}
}
@media(max-width:600px){
.production-grid{grid-template-columns:1fr;gap:16px}
.production-strength{padding:24px 16px;margin-top:16px}
}

.subsection-title{font-size:1.2rem;font-weight:700;color:#1a2a44;margin:32px 0 16px;padding-bottom:8px;border-bottom:2px solid #e5e7eb}

/* ========== Development Section (事業内容 - 設計・開発) ========== */
.development-section{margin-top:48px}
.development-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;max-width:960px;margin:0 auto}
.development-card{background:#fff;border-radius:8px;padding:24px 20px;border:1px solid #e0e5ec;text-align:center;transition:box-shadow .2s,transform .15s}
.development-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px)}
.development-card-title{font-size:1rem;font-weight:700;color:#1a2a44;margin-bottom:10px;line-height:1.5}
.development-card-desc{font-size:.88rem;line-height:1.9;color:#555}

@media(max-width:900px){
.development-grid{grid-template-columns:repeat(3,1fr);gap:16px}
}
@media(max-width:600px){
.development-grid{grid-template-columns:repeat(2,1fr);gap:16px}
.development-card{padding:20px 16px}
.development-card-title{font-size:.9rem}
.development-card-desc{font-size:.82rem}
}

/* ========== 制作記タブ専用スタイル ========== */

/* ツールカードグリッド */
.webstory-tools{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:960px;margin:0 auto 48px}

.webstory-tool-card{border-radius:12px;padding:28px 24px;border:1px solid #e0e5ec;transition:box-shadow .2s,transform .15s}
.webstory-tool-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px)}

/* メインカード */
.webstory-tool-main{background:#f7f8fa}

/* サブカード（EVO内） */
.webstory-tool-mini{background:#fff;border:1px solid #e5e9ef;padding:20px 18px;margin-top:16px}

/* EVOカード特殊スタイル */
.webstory-tool-card .webstory-flow-group{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}

/* ラベル */
.webstory-tool-label{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.08em;color:#fff;background:#8c94a6;border-radius:4px;padding:2px 8px;margin-bottom:10px;text-transform:uppercase}

/* カード名 */
.webstory-tool-name{font-size:1.05rem;font-weight:700;color:#1a2a44;margin-bottom:8px;line-height:1.5}

/* カード説明文 */
.webstory-tool-desc{font-size:.9rem;line-height:1.9;color:#555}

/* 制作の流れ・まとめ */
.webstory-process{max-width:860px;margin:0 auto 40px}
.webstory-process p{font-size:.95rem;line-height:2;color:#555;margin-bottom:16px;text-align:center}
.webstory-process p:last-child{margin-bottom:0}

/* ===== 図: ツールのつながり ===== */
.webstory-flow{display:flex;flex-direction:column;align-items:center;max-width:720px;margin:0 auto 48px;padding:32px 16px}

.webstory-flow-node{text-align:center;padding:20px 28px;border-radius:12px;width:100%;max-width:520px}
.webstory-flow-node strong{display:block;font-size:1rem;font-weight:700;color:#1a2a44;line-height:1.5}
.webstory-flow-node small{display:block;font-size:.82rem;color:#666;margin-top:4px;line-height:1.5}

/* メインノード */
.webstory-flow-main{border:1px solid #e0e5ec;box-shadow:0 2px 8px rgba(0,0,0,.05)}

/* ノード色分け */
.webstory-flow-node .webstory-tool-label{margin-bottom:8px}

/* 人の指示・監修 - 淡いグレー */
.webstory-flow-main:first-child{background:#eef0f3;border-color:#d8dce4}

/* ChatGPT - 淡いブルー */
.webstory-flow-chatgpt{background:#e8f0fa;border-color:#c5d9f0}

/* EVO - 淡いネイビー寄りグレー */
.webstory-flow-evo{background:#dde2ea;border-color:#c2cad6;padding-bottom:12px}
.webstory-flow-evo .webstory-flow-group{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}

/* Chrome DevTools MCP - 淡いグリーン */
.webstory-flow-check{background:#e6f2ec;border-color:#c3dfcf}

/* サブノード（EVO内 / OUTPUT） */
.webstory-flow-mini{background:#fff;border:1px solid #e5e9ef;padding:14px 18px;border-radius:8px}
.webstory-flow-mini strong{font-size:.9rem}
.webstory-flow-mini small{font-size:.78rem}

/* OUTPUT ノード - 淡いベージュ */
.webstory-flow-output{background:#faf6f0;border-color:#ece3d5}

/* 矢印 */
.webstory-flow-arrow{color:#1a5fa0;font-size:1.4rem;font-weight:700;padding:8px 0;line-height:1;user-select:none}
.webstory-flow-bidirectional{font-size:.95rem;color:#6b7c93;padding:12px 0;letter-spacing:.04em}

/* ボトム（ローカル確認→本番サイト） */
.webstory-flow-bottom{display:flex;flex-direction:column;align-items:center;width:100%;max-width:520px}

/* ===== レスポンシブ ===== */
@media(max-width:900px){
.webstory-tools{grid-template-columns:1fr;gap:20px}
.webstory-tool-card .webstory-flow-group{grid-template-columns:1fr}
.webstory-flow-evo .webstory-flow-group{grid-template-columns:1fr}
.webstory-flow-node{padding:16px 20px}
.webstory-flow-node strong{font-size:.95rem}
}
@media(max-width:600px){
.webstory-tools{gap:16px}
.webstory-tool-card{padding:22px 18px}
.webstory-tool-mini{padding:16px 14px}
.webstory-flow{padding:24px 8px}
.webstory-flow-node{padding:14px 16px}
.webstory-flow-node strong{font-size:.88rem}
.webstory-flow-node small{font-size:.75rem}
.webstory-flow-arrow{font-size:1.2rem;padding:6px 0}
.webstory-flow-bidirectional{font-size:.82rem;padding:8px 0}
.webstory-tool-label{font-size:.6rem;padding:2px 6px}
.webstory-process p{font-size:.88rem}
}

/* ========== 採用情報タブ専用スタイル ========== */

.recruit-section-title{text-align:center;font-size:1.3rem;font-weight:700;color:#1a2a44;margin:48px 0 24px;line-height:1.5}

/* 4カードグリッド */
.recruit-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:960px;margin:0 auto 48px}
.recruit-card{background:#fff;border-radius:8px;padding:28px 22px;border:1px solid #e0e5ec;text-align:center;transition:box-shadow .2s,transform .15s}
.recruit-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px)}
.recruit-card-title{font-size:1.05rem;font-weight:700;color:#1a2a44;margin-bottom:12px;line-height:1.5}
.recruit-card-text{font-size:.9rem;line-height:1.9;color:#555}

/* 採用詳細ブロック */
.recruit-block{max-width:860px;margin:0 auto 40px;background:#fff;border:1px solid #e0e5ec;border-radius:8px;padding:24px 32px;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.recruit-block p{font-size:.95rem;line-height:2;color:#555;margin-bottom:12px}
.recruit-block p:last-child{margin-bottom:0}
.recruit-mail{font-weight:600;color:#1a5fa0;margin-top:16px}
.recruit-mail a{color:#1a5fa0;text-decoration:underline}

/* 外国籍の方への案内（言語別ブロック） */
.recruit-lang-block{max-width:860px;margin:0 auto 24px;background:#fff;border-radius:8px;padding:24px 32px;border:1px solid #e0e5ec}
.recruit-lang-title{font-size:1.05rem;font-weight:700;color:#1a2a44;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #1a5fa0}
.recruit-lang-block p{font-size:.92rem;line-height:2;color:#555;margin-bottom:10px}
.recruit-lang-block p:last-child{margin-bottom:0}

/* Responsive: Tablet */
@media(max-width:900px){
.recruit-card-grid{grid-template-columns:repeat(2,1fr);gap:16px}
.recruit-section-title{margin:40px 0 20px;font-size:1.2rem}
}

/* Responsive: Mobile */
@media(max-width:600px){
.recruit-card-grid{grid-template-columns:1fr;gap:16px}
.recruit-card{padding:24px 18px}
.recruit-section-title{margin:32px 0 16px;font-size:1.1rem}
.recruit-block{padding:20px 24px;margin-bottom:28px}
.recruit-lang-block{padding:20px 24px}
.recruit-lang-title{font-size:.95rem}
.recruit-lang-block p{font-size:.88rem}
}

/* ========== Tab Reference Links ========== */
.tab-ref-link{color:#1a5fa0;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.tab-ref-link:hover,.tab-ref-link:focus{color:#0d3d6e;text-underline-offset:3px}
