
:root{--blue:#075bc4;--blue2:#1689df;--navy:#102d61;--pale:#eef8ff;--line:#cfe7fb;--text:#17345f;--muted:#4b668a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--text);line-height:1.75}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
    .wrap{width:min(1180px,calc(100% - 40px));margin:auto}
header{background:#fff;border-bottom:1px solid #e3effa}
    .head{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}
    .logo-slot{display:flex;align-items:center;min-width:190px;color:var(--blue);font:bold 23px Georgia,serif;line-height:1.05}
    .logo-slot span{display:inline-block;border:2px dashed #7ab7e8;padding:7px 10px;font:12px sans-serif;color:#5078a1;margin-right:8px}
    .logo-slot small{display:block;font-size:20px}
    .nav{display:flex;gap:20px;align-items:center;font-size:13px;font-weight:700}
    .nav a:hover,.active{color:var(--blue)}
    .head-contact{white-space:nowrap;color:var(--blue);font-weight:800;font-size:18px}
    .head-contact small{display:block;text-align:center;color:var(--muted);font-size:10px;font-weight:500}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 20px;min-height:43px;border-radius:5px;background:var(--blue);color:white;border:1px solid var(--blue);font-weight:700;font-size:14px}
    .btn:hover{background:#03499f}
    .btn-outline{background:white;color:var(--blue)}
    .hero{background:linear-gradient(90deg,rgba(239,249,255,.98),rgba(239,249,255,.9) 42%,rgba(239,249,255,.12)),url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=2000&q=85") center/cover;min-height:340px;display:flex;align-items:center}.hero-inner{padding:48px 0;max-width:650px}.eyebrow{margin:0 0 7px;color:var(--blue);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
    .hero h1{font-size:clamp(30px,4vw,45px);line-height:1.4;color:var(--navy);margin:0 0 13px}
    .hero p{font-size:15px;max-width:560px}
    .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
    .section{padding:46px 0}
    .soft{background:linear-gradient(135deg,#f5fbff,#eaf6ff)}
    .section-title{text-align:center;margin:0 auto 28px}
    .section-title h2{margin:0;color:var(--navy);font-size:clamp(25px,3vw,32px);line-height:1.35}
    .section-title p{font-size:14px;color:var(--muted);max-width:760px;margin:8px auto 0}
    .cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
    .card{border:1px solid var(--line);border-radius:7px;background:#fff;overflow:hidden;box-shadow:0 5px 18px #1c5b930a}
    .visual{height:130px;background:linear-gradient(115deg,#f8fcff,#e3f4ff);display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:48px}
    .visual img{width:100%;height:100%;object-fit:cover}
    .body{padding:19px}
    .body h3{font-size:19px;color:var(--navy);margin:0 0 8px}
    .body p{font-size:13px;color:var(--muted);margin:0 0 12px}
    .checks{padding:0;list-style:none;font-size:13px;margin:12px 0 18px}
    .checks li:before{content:"✓";font-weight:900;color:var(--blue);margin-right:9px}
    .page-hero{position:relative;isolation:isolate;overflow:hidden;padding:48px 0 46px;background:linear-gradient(90deg,rgba(239,249,255,.96) 0%,rgba(225,242,253,.91) 46%,rgba(14,76,125,.28) 100%),url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=2000&q=85') center 48%/cover no-repeat;border-bottom:1px solid var(--line);min-height:210px;display:flex;align-items:center}
    .page-hero:before{content:"";position:absolute;z-index:-1;right:-3%;top:-75%;width:48%;height:250%;border-radius:50%;background:radial-gradient(circle at 35% 50%,rgba(255,255,255,.8) 0 2px,transparent 3px),radial-gradient(circle at 35% 50%,transparent 0 68px,rgba(22,112,190,.13) 69px 70px,transparent 71px),radial-gradient(circle at 35% 50%,transparent 0 115px,rgba(22,112,190,.11) 116px 117px,transparent 118px),radial-gradient(circle at 35% 50%,transparent 0 165px,rgba(22,112,190,.09) 166px 167px,transparent 168px);transform:rotate(-12deg);pointer-events:none}
    .page-hero:after{content:"";position:absolute;z-index:-1;right:11%;top:22%;width:10px;height:10px;border-radius:50%;background:#fff;box-shadow:-110px 34px 0 2px rgba(255,255,255,.8),-42px 102px 0 1px rgba(255,255,255,.75),100px 72px 0 3px rgba(255,255,255,.65),-175px 115px 0 0 rgba(255,255,255,.7);pointer-events:none}
    .page-hero .wrap{position:relative;z-index:1}
    .page-hero h1,.page-hero .crumb{ text-shadow:0 1px 0 rgba(255,255,255,.3)}
    .page-hero .eyebrow{font-size:11px;letter-spacing:.2em;color:#0871c9;margin-bottom:8px}
    .page-hero h1{margin:0;color:var(--navy);font-size:clamp(32px,4vw,40px);line-height:1.25;letter-spacing:.03em}
    .page-hero .wrap>p:last-child{max-width:620px;margin:10px 0 0;color:#456783;font-size:14px;line-height:1.8}
    .crumb{font-size:12px;color:#607d96;margin-bottom:12px}
    .crumb a{color:var(--blue)}
    @media(max-width:650px){.page-hero{padding:30px 0;min-height:160px}.page-hero:before{right:-30%;width:85%;opacity:.65}.page-hero{background-position:center,62% center}.page-hero h1{font-size:30px}.page-hero .wrap>p:last-child{max-width:88%;font-size:13px}}
    .industry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
    .industry{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
    .industry img{height:125px;width:100%;object-fit:cover}
    .industry .body{padding:14px}
    .industry h3{font-size:16px}
    .work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
    .work{display:grid;grid-template-columns:150px 1fr;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
    .work img{height:100%;width:100%;min-height:150px;object-fit:cover}
    .work .body{padding:15px}
    .tag{display:inline-block;background:#e4f2ff;color:var(--blue);padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700;margin-bottom:5px}
    .table{width:100%;border-collapse:collapse;background:#fff}
    .table th,.table td{text-align:left;padding:16px;border-bottom:1px solid var(--line);font-size:14px;vertical-align:top}
    .table th{width:25%;color:var(--navy);background:#f2f9ff}
    .notice{background:#fff7e6;border:1px solid #f0d6a0;border-radius:6px;padding:14px 18px;color:#6a511b;font-size:13px}
    .cta{color:#fff;background:linear-gradient(110deg,#0752b4,#087bd3);padding:30px 0}
    .cta-inner{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;align-items:center}
    .cta h2{margin:0 0 7px;font-size:24px}
    .cta p{margin:0;font-size:13px;color:#eaf5ff}
    .cta-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .cta-box{background:white;color:var(--blue);border-radius:6px;padding:15px;display:flex;align-items:center;gap:12px}
    .cta-box strong{display:block;font-size:20px}
    .cta-box small{display:block;font-size:10px;color:var(--muted)}

footer{background:#fff}
    .foot{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0}
    .footnav{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;font-weight:700}
    .footbottom{background:#153f72;color:#e9f3ff;padding:14px 0;font-size:11px}
    .footbottom .wrap{display:flex;justify-content:space-between;gap:12px}
    @media(max-width:980px){.head{flex-wrap:wrap;padding:12px 0}.nav{order:3;width:100%;flex-wrap:wrap;gap:12px 18px}.head-contact{margin-left:auto}.industry-grid{grid-template-columns:repeat(2,1fr)}.cta-inner{grid-template-columns:1fr}.reason-grid{grid-template-columns:repeat(3,1fr)}}
    @media(max-width:650px){.wrap{width:calc(100% - 28px)}.logo-slot{min-width:0}.head-contact{font-size:15px}.hero{min-height:0;background-position:60% center}.hero-inner{padding:36px 0}.hero h1{font-size:30px}.section{padding:34px 0}.cards,.work-grid{grid-template-columns:1fr}.industry-grid{grid-template-columns:1fr 1fr;gap:10px}.industry img{height:90px}.work{grid-template-columns:105px 1fr}.work img{min-height:150px}.cta-actions{grid-template-columns:1fr}.foot{align-items:flex-start;flex-direction:column}.footbottom .wrap{flex-direction:column}.table th,.table td{padding:11px;font-size:13px}}

    /* Shared header branding: match the homepage wordmark */
    .logo-slot{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-weight:800;color:var(--blue);gap:10px;line-height:1.25}
    .logo-slot .logo-name{display:inline-block;border:0!important;padding:0!important;margin:0!important;background:transparent!important;color:var(--blue)!important;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif!important;font-size:clamp(18px,1.8vw,25px)!important;font-weight:800!important;letter-spacing:.03em;line-height:1.25}
    .logo-slot .logo-mark{width:54px;height:54px;object-fit:contain;flex:0 0 54px}
    @media(max-width:650px){.logo-slot .logo-mark{width:42px;height:42px;flex-basis:42px}.logo-slot .logo-name{font-size:18px!important;white-space:normal}}
