/*
Theme Name: Network Corp
Theme URI: https://network-corp.jp/
Author: Network Corp
Description: 有限会社ネットワーク社 公式サイト専用テーマ
Version: 1.7.0
Text Domain: network-corp
*/

:root{--navy:#153153;--sky:#77b2dc;--ink:#343b43;--text:#626b73;--muted:#98a0a8;--line:#e5e9ec;--wash:#f5f8fa;--black:#101315;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--text);font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:2;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1120px,calc(100% - 44px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand img{width:42px;height:42px;object-fit:contain}.brand strong{display:block;color:var(--navy);font-size:17px;letter-spacing:.08em;line-height:1.35}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:.15em;line-height:1.4}.site-nav{display:flex;align-items:center;gap:3px}.site-nav a{padding:11px 14px;border-bottom:2px solid transparent;color:#59616a;font-size:13px;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--navy);border-color:var(--sky)}.nav-contact{margin-left:8px!important;padding:9px 18px!important;border:1px solid var(--navy)!important;color:var(--navy)!important}.menu-toggle{display:none;padding:8px;border:0;background:none;color:var(--navy);font-size:13px}.hero{min-height:580px;display:grid;place-items:center;padding:74px 0;background:radial-gradient(circle at 50% 38%,#fff 0,#fff 42%,#f5f8fa 100%);text-align:center}.hero-mark{width:112px;margin:0 auto 24px}.hero h1{margin:0;color:var(--navy);font-size:clamp(26px,4vw,42px);font-weight:700;letter-spacing:.16em}.hero .en{margin:8px 0 0;color:#85909a;font-size:14px;letter-spacing:.24em}.hero .lead{max-width:720px;margin:34px auto 0;color:#59636d;font-size:16px;letter-spacing:.05em}.section{padding:82px 0}.section.soft{background:var(--wash)}.section-head{display:flex;align-items:baseline;gap:15px;margin:0 0 38px}.section-head h2{margin:0;color:var(--sky);font-size:28px;line-height:1.35;letter-spacing:.04em}.section-head span{color:var(--muted);font-size:13px;letter-spacing:.08em}.subhead{margin:0 0 18px;color:var(--ink);font-size:17px}.news-band{padding:25px 28px;background:var(--black);color:#f3f5f6}.news-band p{margin:0}.news-band time{margin-right:18px;color:#a9b2ba}.news-band a{text-underline-offset:4px}.duo{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:52px;margin-bottom:62px}.duo:last-child{margin-bottom:0}.duo.reverse .media{order:2}.duo .media img{width:100%;aspect-ratio:3/2;object-fit:cover}.duo .copy h3{margin:0 0 14px;color:var(--ink);font-size:17px}.duo .copy p{margin:0 0 14px}.outline-link{display:inline-block;margin-top:8px;padding:7px 18px;border:1px solid var(--line);color:var(--navy);font-size:13px;text-decoration:none}.outline-link:hover{background:var(--wash)}.flow{width:100%;margin-top:24px}.intro{max-width:850px;margin:0 0 34px}.sponsor-card .media img{aspect-ratio:1/1}.logo-story .media{padding:32px;background:var(--wash)}.logo-story .media img{aspect-ratio:16/9;object-fit:contain}.page-hero{padding:68px 0 50px;background:linear-gradient(135deg,#f3f7fa,#fff)}.page-hero h1{margin:0;color:var(--sky);font-size:32px}.page-hero p{margin:4px 0 0;color:var(--muted);letter-spacing:.1em}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.data-table th{width:180px;background:var(--wash);color:var(--ink);font-weight:500}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.contact-list{list-style:none;padding:0;margin:22px 0}.contact-list a{color:var(--navy)}.map-link{display:block;min-height:250px;padding:42px;background:linear-gradient(135deg,#eaf2f7,#f8fafb);border:1px solid var(--line);color:var(--navy);text-decoration:none}.map-link strong{display:block;font-size:18px}.form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form .wide{grid-column:1/-1}.form label{display:block;color:var(--ink);font-size:13px}.req{color:#b74141}.form input,.form select,.form textarea{width:100%;margin-top:5px;padding:11px 12px;border:1px solid #dbe0e4;background:#fff;color:var(--ink)}.form textarea{min-height:150px;resize:vertical}.form button{padding:12px 38px;border:0;background:var(--navy);color:#fff;cursor:pointer}.notice{padding:16px 18px;background:#f5f8fa;border-left:3px solid var(--sky);font-size:13px}.product-table th{width:150px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.tabs button{padding:9px 25px;border:1px solid var(--line);background:#fff;color:var(--text);cursor:pointer}.tabs button.active{border-color:var(--navy);background:var(--navy);color:#fff}.works-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.work-placeholder{display:grid;place-items:center;aspect-ratio:1/1;padding:14px;background:linear-gradient(135deg,#eef2f4,#e2e8eb);color:#89939c;font-size:12px;text-align:center}.site-footer{padding:44px 0;background:var(--black);color:#dce1e5;text-align:center}.footer-brand{margin:0 0 8px;color:#fff;font-size:16px;letter-spacing:.08em}.site-footer p{margin:0;font-size:12px}.to-top{position:fixed;right:20px;bottom:20px;z-index:30;padding:12px 15px;border:0;background:var(--navy);color:#fff;font-size:11px;letter-spacing:.1em;cursor:pointer}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:800px){.container{width:min(100% - 32px,1120px)}.header-inner{height:68px}.menu-toggle{display:block}.site-nav{position:fixed;inset:68px 0 auto;display:none;padding:18px 16px 26px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 16px 32px rgba(20,48,83,.08)}.menu-open .site-nav{display:grid}.site-nav a{padding:11px 8px}.nav-contact{margin:5px 0 0!important;text-align:center}.hero{min-height:500px}.section{padding:60px 0}.duo,.info-grid{grid-template-columns:1fr;gap:24px}.duo.reverse .media{order:0}.works-grid{grid-template-columns:repeat(2,1fr)}.form{grid-template-columns:1fr}.data-table th{width:120px}.section-head{margin-bottom:28px}.section-head h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 高解像度で崩れない納品フロー */
.delivery-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:34px;margin:28px 0 0;padding:34px;background:var(--navy);border-radius:6px;box-shadow:0 14px 34px rgba(21,49,83,.14);list-style:none;counter-reset:flow}
.delivery-flow li{position:relative;display:flex;min-height:260px;flex-direction:column;align-items:center;justify-content:center;padding:44px 20px 28px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.04);color:#fff;text-align:center}
.delivery-flow li:not(:last-child)::after{content:"";position:absolute;right:-25px;top:50%;width:13px;height:13px;border-top:3px solid var(--sky);border-right:3px solid var(--sky);transform:translateY(-50%) rotate(45deg)}
.flow-number{position:absolute;top:-25px;display:grid;width:62px;height:62px;place-items:center;border-radius:50%;background:#fff;color:var(--navy);font-size:17px;font-weight:700;letter-spacing:.05em;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.flow-label{margin-bottom:14px;color:#fff;font-size:18px;font-weight:700;line-height:1.6;letter-spacing:.03em}
.delivery-flow small{color:#cbd9e6;font-size:12px;line-height:1.85}
@media(max-width:800px){.delivery-flow{grid-template-columns:1fr;gap:40px;padding:36px 20px}.delivery-flow li{min-height:190px}.delivery-flow li:not(:last-child)::after{right:50%;top:auto;bottom:-27px;transform:translateX(50%) rotate(135deg)}}

/* トップ動画 */
.hero-video{position:relative;display:block;min-height:0;height:calc(100svh - 82px);padding:0;overflow:hidden;background:#07111d}
.hero-movie{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-movie-mobile{display:none}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,11,21,.52) 0%,rgba(2,11,21,.12) 48%,rgba(2,11,21,.32) 100%)}
.hero-copy{position:absolute;z-index:2;left:max(5vw,32px);bottom:max(9vh,58px);max-width:760px;color:#fff;text-align:left;text-shadow:0 2px 18px rgba(0,0,0,.4)}
.hero-copy .hero-kicker{margin:0 0 8px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(18px,2.2vw,30px);font-weight:500;letter-spacing:.2em}
.hero-copy .hero-kicker span{padding:0 .45em;color:var(--sky);font-size:.7em}
.hero-copy h1{margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,86px);font-weight:400;line-height:1;letter-spacing:.02em}
.hero-copy h1 small{font-size:.65em;font-weight:400}
.hero-copy>p:last-child{margin:18px 0 0;font-size:clamp(13px,1.4vw,18px);letter-spacing:.16em}
@media(max-width:800px){.hero-video{height:calc(100svh - 68px);min-height:600px}.hero-movie-desktop{display:none}.hero-movie-mobile{display:block}.hero-overlay{background:linear-gradient(0deg,rgba(2,11,21,.65),rgba(2,11,21,.06) 68%)}.hero-copy{left:24px;right:24px;bottom:54px}.hero-copy h1{font-size:clamp(34px,11vw,58px)}.hero-copy h1 small{display:block;margin-top:8px;font-size:.55em}.hero-copy>p:last-child{font-size:12px;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){.hero-movie{display:none}.hero-video{background:#101b28 url("assets/images/hero-poster-desktop.png") center/cover no-repeat}}

/* ユニフォームの紺色を基調にした背景デザイン */
main{background:var(--navy)}
.section{position:relative;background:var(--navy);color:rgba(255,255,255,.78)}
.section.soft{background:#0f2744}
.section+.section{border-top:0}
.section-head h2{color:#fff}
.section-head span{color:#8fc5e8}
.subhead,.duo .copy h3{color:#fff}
.intro{color:rgba(255,255,255,.82)}
.news-band{background:rgba(7,17,29,.72);border:1px solid rgba(255,255,255,.12)}
.outline-link{border-color:rgba(255,255,255,.4);color:#fff}
.outline-link:hover{background:#fff;color:var(--navy)}
.logo-story .media{background:#fff}
.page-hero{background:linear-gradient(135deg,#102b4a,#1a416b);border-bottom:0}
.page-hero h1{color:#fff}
.page-hero p{color:#9fc9e5}
.data-table{background:#fff;color:var(--text);box-shadow:0 18px 42px rgba(4,15,27,.2)}
.data-table th{background:#edf3f7;color:var(--navy)}
.contact-list a{color:#a9d5f1}
.map-link{background:linear-gradient(135deg,#fff,#edf4f8);border-color:rgba(255,255,255,.35)}
.form{padding:30px;background:#fff;box-shadow:0 18px 42px rgba(4,15,27,.2)}
.form label{color:var(--ink)}
.tabs button{border-color:rgba(255,255,255,.35);background:transparent;color:#fff}
.tabs button.active{border-color:#fff;background:#fff;color:var(--navy)}
.work-placeholder{background:linear-gradient(135deg,#fff,#e7eef3);color:#6e7d89}
@media(max-width:800px){.form{padding:20px}}

/* ヘッダーロゴを画面左端基準で配置 */
.site-header .header-inner{width:100%;max-width:none;padding-right:24px;padding-left:20px}
@media(max-width:800px){.site-header .header-inner{padding-right:16px;padding-left:16px}}

/* 下層ページの視認性を高めるレイアウト */
body:not(.home) .section{padding:72px 0;background:#153153;color:rgba(255,255,255,.9);font-size:16px}
body:not(.home) .section.soft{background:#102b4a}
body:not(.home) .section>.container{padding:44px 48px;border-radius:12px;background:rgba(255,255,255,.055);box-shadow:0 18px 45px rgba(4,15,27,.14)}
body:not(.home) .section-head{margin-bottom:30px}
body:not(.home) .section-head h2{font-size:30px}
body:not(.home) .section-head span{color:#a9d5f1}
body:not(.home) .intro{color:rgba(255,255,255,.9)}
body:not(.home) .data-table,body:not(.home) .form{border-radius:8px;overflow:hidden}
body:not(.home) .data-table td{color:#4d5964}
@media(max-width:800px){body:not(.home) .section{padding:46px 0;font-size:15px}body:not(.home) .section>.container{padding:28px 22px;border-radius:8px}body:not(.home) .section-head h2{font-size:25px}}

/* 下層ページの装飾 */
body:not(.home) main{overflow:hidden;background:#102b4a}
body:not(.home) .page-hero{position:relative;isolation:isolate;overflow:hidden;padding:86px 0 72px;background:linear-gradient(120deg,#0d2744 0%,#173d66 58%,#1b4c78 100%)}
body:not(.home) .page-hero::before{content:"";position:absolute;z-index:-1;top:-150px;right:8%;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(119,178,220,.24),rgba(119,178,220,0) 68%)}
body:not(.home) .page-hero::after{content:"";position:absolute;z-index:-1;right:-80px;bottom:-100px;width:380px;height:220px;border:1px solid rgba(255,255,255,.09);border-radius:50%;transform:rotate(-18deg)}
body:not(.home) .page-hero .container{position:relative}
body:not(.home) .page-hero h1{font-size:clamp(30px,4vw,42px);letter-spacing:.08em;text-shadow:0 5px 22px rgba(0,0,0,.16)}
body:not(.home) .page-hero p{margin-top:8px;color:#a9d5f1;font-size:13px;letter-spacing:.24em}
body:not(.home) .section:nth-of-type(odd){background:#102b4a}
body:not(.home) .section:nth-of-type(even){background:#153153}
body:not(.home) .section>.container{position:relative;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035));box-shadow:0 24px 60px rgba(2,12,24,.2)}
body:not(.home) .section>.container::before{content:"";position:absolute;top:0;left:48px;width:74px;height:3px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,#77b2dc,#b8dff6)}
body:not(.home) .section-head{position:relative;gap:18px}
body:not(.home) .section-head h2{letter-spacing:.065em;text-shadow:0 3px 16px rgba(0,0,0,.14)}
body:not(.home) .section-head span{padding-left:18px;border-left:1px solid rgba(169,213,241,.45);letter-spacing:.15em}
body:not(.home) .data-table,body:not(.home) .form{box-shadow:0 18px 45px rgba(2,12,24,.22)}
body:not(.home) .data-table tr:last-child th,body:not(.home) .data-table tr:last-child td{border-bottom:0}
body:not(.home) .outline-link{padding:10px 24px;border:0;border-radius:3px;background:#fff;color:var(--navy);box-shadow:0 10px 24px rgba(2,12,24,.18)}
body:not(.home) .outline-link:hover{background:#ddecf6;transform:translateY(-1px)}
@media(max-width:800px){body:not(.home) .page-hero{padding:64px 0 52px}body:not(.home) .page-hero::before{right:-170px;width:340px;height:340px}body:not(.home) .section>.container::before{left:22px;width:56px}}

/* 下層ページ：明るいモダンデザイン */
body:not(.home) main{background:#fff}
body:not(.home) .page-hero{padding:74px 0 62px;background:linear-gradient(120deg,#102b4a 0%,#173d66 62%,#245984 100%)}
body:not(.home) .page-hero::before{background:radial-gradient(circle,rgba(159,207,238,.22),rgba(159,207,238,0) 68%)}
body:not(.home) .section,body:not(.home) .section:nth-of-type(odd),body:not(.home) .section:nth-of-type(even){padding:78px 0;background:#fff;color:#56626d}
body:not(.home) .section.soft{background:#f4f7f9}
body:not(.home) .section>.container{padding:0;background:transparent;box-shadow:none}
body:not(.home) .section>.container::before{top:-22px;left:0;width:48px;height:4px;background:linear-gradient(90deg,#153153,#77b2dc)}
body:not(.home) .section-head{margin-bottom:34px}
body:not(.home) .section-head h2{color:#153153;text-shadow:none}
body:not(.home) .section-head span{color:#8795a1;border-left-color:#cad5dd}
body:not(.home) .subhead,body:not(.home) .duo .copy h3{color:#23384d}
body:not(.home) .intro{color:#56626d}
body:not(.home) .data-table{border-radius:10px;background:#fff;box-shadow:0 18px 50px rgba(21,49,83,.1)}
body:not(.home) .data-table th{background:#edf3f7;color:#153153}
body:not(.home) .data-table td{color:#56626d;background:#fff}
body:not(.home) .duo{gap:40px}
body:not(.home) .duo .media img{border-radius:10px;box-shadow:0 18px 45px rgba(21,49,83,.12)}
body:not(.home) .duo .copy{padding:30px 34px;border-radius:10px;background:#f4f7f9}
body:not(.home) .form{padding:38px;border-radius:10px;background:#fff;box-shadow:0 18px 50px rgba(21,49,83,.12)}
body:not(.home) .contact-list a{color:#153153}
body:not(.home) .map-link{border:0;border-radius:10px;box-shadow:0 18px 45px rgba(21,49,83,.1)}
body:not(.home) .tabs button{border-color:#d6e0e7;background:#fff;color:#53616d;border-radius:4px}
body:not(.home) .tabs button.active{border-color:#153153;background:#153153;color:#fff}
body:not(.home) .work-placeholder{border-radius:8px;background:linear-gradient(145deg,#f7f9fa,#e6edf2);color:#75838e}
body:not(.home) .outline-link{background:#153153;color:#fff}
body:not(.home) .outline-link:hover{background:#244f7d;color:#fff}
@media(max-width:800px){body:not(.home) .section,body:not(.home) .section:nth-of-type(odd),body:not(.home) .section:nth-of-type(even){padding:56px 0}body:not(.home) .section>.container{padding:0}body:not(.home) .section>.container::before{top:-16px}body:not(.home) .duo .copy{padding:24px}body:not(.home) .form{padding:24px}}

/* 下層ページ：紺色背景＋ホワイトカード */
body:not(.home) main{background:#102b4a}
body:not(.home) .section,body:not(.home) .section:nth-of-type(odd),body:not(.home) .section:nth-of-type(even){background:#102b4a}
body:not(.home) .section.soft{background:#153153}
body:not(.home) .section>.container{padding:48px 52px;border-radius:14px;background:#fff;box-shadow:0 24px 65px rgba(2,12,24,.28)}
body:not(.home) .section>.container::before{top:0;left:52px}
@media(max-width:800px){body:not(.home) .section>.container{padding:32px 24px;border-radius:10px}body:not(.home) .section>.container::before{top:0;left:24px}}

/* 下層ページ：TOPページとトーンを統一 */
body:not(.home) .page-hero{padding:68px 0 56px;background:linear-gradient(120deg,#102b4a,#1a416b)}
body:not(.home) .page-hero::before,body:not(.home) .page-hero::after{display:none}
body:not(.home) .section,body:not(.home) .section:nth-of-type(odd),body:not(.home) .section:nth-of-type(even){padding:82px 0;background:#153153;color:rgba(255,255,255,.82)}
body:not(.home) .section.soft{background:#0f2744}
body:not(.home) .section>.container{padding:0;border-radius:0;background:transparent;box-shadow:none}
body:not(.home) .section>.container::before{display:none}
body:not(.home) .section-head h2{color:#fff;font-size:28px;letter-spacing:.04em}
body:not(.home) .section-head span{padding-left:0;border-left:0;color:#8fc5e8;letter-spacing:.08em}
body:not(.home) .subhead,body:not(.home) .duo .copy h3{color:#fff}
body:not(.home) .intro{color:rgba(255,255,255,.82)}
body:not(.home) .duo{gap:52px}
body:not(.home) .duo .media img{border-radius:0;box-shadow:none}
body:not(.home) .duo .copy{padding:0;border-radius:0;background:transparent}
body:not(.home) .data-table,body:not(.home) .form{border-radius:4px;box-shadow:0 18px 42px rgba(4,15,27,.2)}
body:not(.home) .map-link{border-radius:4px}
body:not(.home) .work-placeholder{border-radius:0}
body:not(.home) .section+.section{border-top:0}
@media(max-width:800px){body:not(.home) .section,body:not(.home) .section:nth-of-type(odd),body:not(.home) .section:nth-of-type(even){padding:60px 0}body:not(.home) .section>.container{padding:0}body:not(.home) .section-head h2{font-size:23px}body:not(.home) .duo .copy{padding:0}}

/* 案内ボックスの文字コントラスト */
body:not(.home) .notice{background:#f4f7f9;color:#37434e;border-left-color:#77b2dc}
body:not(.home) .notice a{color:#153153;font-weight:500;text-underline-offset:3px}

/* Instagramへの直接リンク */
.instagram-cta{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:38px 42px;background:linear-gradient(135deg,#fff,#eef4f8);color:#46525d;box-shadow:0 18px 42px rgba(4,15,27,.2)}
.instagram-cta-label{margin:0;color:#7e8b96;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.instagram-cta h3{margin:4px 0 8px;color:#153153;font-size:26px;letter-spacing:.03em}
.instagram-cta p:last-child{margin:0}
.instagram-cta a{flex:0 0 auto;padding:12px 22px;background:#153153;color:#fff;text-decoration:none;transition:background .2s ease,transform .2s ease}
.instagram-cta a:hover{background:#244f7d;transform:translateY(-1px)}
@media(max-width:800px){.instagram-cta{display:block;padding:28px 24px}.instagram-cta a{display:block;margin-top:22px;text-align:center}}

/* 2つのInstagram公式アカウント */
.instagram-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.instagram-card{position:relative;overflow:hidden;padding:36px 38px;background:linear-gradient(145deg,#fff,#edf4f8);color:#46525d;box-shadow:0 18px 42px rgba(4,15,27,.18)}
.instagram-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#153153,#77b2dc)}
.instagram-card h3{margin:4px 0 10px;color:#153153;font-size:25px;letter-spacing:.03em}
.instagram-card>p:last-of-type{min-height:64px;margin:0 0 24px}
.instagram-card a{display:inline-block;padding:11px 20px;background:#153153;color:#fff;text-decoration:none;transition:background .2s ease,transform .2s ease}
.instagram-card a:hover{background:#244f7d;transform:translateY(-1px)}
@media(max-width:800px){.instagram-links{grid-template-columns:1fr}.instagram-card{padding:28px 24px}.instagram-card>p:last-of-type{min-height:0}}
