.header{height:96px}.header nav{gap:22px}.header nav a[aria-current=page]{color:var(--purple-dark)}.header nav a[aria-current=page]:not(.button){text-decoration:underline;text-underline-offset:8px}.hero-description{max-width:36em}.page-intro{background:var(--soft);padding:32px 0 58px;border-bottom:1px solid var(--line)}.breadcrumbs{display:flex;gap:12px;font-size:14px;margin-bottom:30px;color:var(--muted)}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.page-intro h1{font-size:clamp(30px,4vw,44px)}.page-intro p{margin-top:16px;max-width:44em}.service-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin:36px 0 28px}.service-overview h3{margin:18px 0 12px;font-size:20px}.text-link{color:var(--purple-dark);font-weight:700;text-decoration:underline;text-underline-offset:5px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}.media-feature{background:var(--soft)}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.post-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.post-card a{height:100%;display:flex;flex-direction:column}.post-card img{width:100%;aspect-ratio:16/10;object-fit:contain;background:#fff}.post-card-body{padding:24px}.post-card h3{font-size:20px;line-height:1.7;margin:8px 0 12px}.post-card p{font-size:15px}.post-card:hover{border-color:var(--purple)}.post-meta{font-size:13px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}.contact-cta{background:var(--ink);padding:64px 0;color:#fff}.contact-cta>.wrap{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-cta .eyebrow{color:#b8b3ff}.contact-cta h2{font-size:28px}.contact-cta p{color:#dce5ef;margin-top:12px}.contact-cta .button{flex-shrink:0;min-width:190px}.article-header{max-width:820px;margin:auto;padding:64px 24px 40px}.article-header h1{font-size:clamp(28px,3.4vw,42px);line-height:1.6;margin:16px 0 22px}.article-body{max-width:760px;margin:auto;padding:0 24px 72px;font-size:17px;line-height:2}.article-body h2{font-size:27px;margin:48px 0 18px}.article-body h3{margin:30px 0 15px}.article-body p{margin:18px 0}.article-body ul,.article-body ol{padding-left:1.5em;list-style:disc;margin:20px 0}.article-body a{color:var(--purple-dark);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.article-image{display:block;max-width:760px;width:calc(100% - 48px);max-height:380px;object-fit:contain;margin:0 auto 30px}.media-filter{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 30px}.media-filter a{border:1px solid var(--line);border-radius:5px;padding:8px 16px}.media-filter a[aria-current=page]{background:var(--ink);color:white}.page-intro+.flow{padding-top:64px}.page-intro+.faq{padding-top:32px}.footer{border-top:1px solid var(--line)}
@media(max-width:1100px){.header nav{gap:15px}.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-overview{gap:24px}}
@media(max-width:760px){.header{height:76px}.header nav{gap:10px}.page-intro{padding:24px 0 40px}.breadcrumbs{margin-bottom:20px}.service-overview,.post-grid{grid-template-columns:1fr;gap:24px}.service-overview article{border-bottom:1px solid var(--line);padding-bottom:24px}.service-overview h3{margin-top:12px}.section-heading{align-items:flex-start;flex-direction:column;gap:12px}.contact-cta>.wrap{flex-direction:column;align-items:stretch;gap:28px}.contact-cta h2{font-size:24px}.article-header{padding-top:36px}.article-body{font-size:16px;padding-bottom:48px}.article-body h2{font-size:23px}.post-card h3{font-size:19px}}

.contact-copy h1,.contact-copy h2{font-size:clamp(32px,4vw,48px);line-height:1.5;margin-bottom:28px}

.authority{background:#fff;border-top:1px solid var(--line)}.authority h2{max-width:900px;font-size:clamp(25px,3vw,36px);line-height:1.7}.authority h2 span{color:var(--purple);font-size:1.35em;letter-spacing:-.025em}.authority-lead{max-width:800px;margin:24px 0 36px;line-height:2}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.expertise-grid article{border-top:2px solid var(--line);padding-top:24px}.expertise-grid h3{font-size:21px;margin-bottom:12px}.expertise-grid p{line-height:1.9}@media(max-width:760px){.expertise-grid{grid-template-columns:1fr;gap:24px}.desktop-break{display:none}}
.post-card>a>img{height:auto;aspect-ratio:16/10;object-fit:contain}.article-image img{width:100%;height:auto;max-height:380px;object-fit:contain}

.illustrated-section{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:48px}.illustrated-copy{min-width:0}.section-illustration{display:block;width:100%;height:auto;border-radius:12px}.illustrated-section .authority-lead{margin:22px 0;line-height:1.95}.authority .illustrated-section{margin-bottom:40px}.authority .illustrated-section h2{font-size:clamp(25px,2.6vw,33px);line-height:1.6}@media(max-width:760px){.illustrated-section{grid-template-columns:1fr;gap:28px}.section-illustration{max-width:480px;justify-self:center}.authority .illustrated-section{margin-bottom:32px}}

.authority h2 .word-unit{white-space:nowrap;font-size:inherit;color:inherit;letter-spacing:inherit}

/* 初期案の斜めの色帯と、攻撃を受けたブラウザ画面 */
.hero-gradient{top:0;left:calc(50% - 120px);right:auto;width:calc(50% + 120px);height:650px;transform:none;border-radius:0;clip-path:polygon(0 0,100% 0,100% 100%);background:linear-gradient(135deg,#fff4de 6%,#ffcc80 24%,#ffa1aa 41%,#f48ad8 55%,#bd8aff 69%,#ffb5bd 83%,#ffda9c 100%);mask-image:linear-gradient(135deg,transparent 0%,#000 28%);opacity:.85}
.hero-incident{height:390px;padding-right:36px}.hero-incident .browser-window{position:relative;overflow:hidden;height:300px;border-color:#e4d8e4}.hero-incident .site-skeleton{opacity:.85}.hero-incident .mountains{filter:saturate(.65)}.incident-glitch{position:absolute;inset:45px 12px 24px;pointer-events:none;z-index:1}.incident-glitch i{position:absolute;height:5px;background:#d55771aa;left:10%;top:36%;width:66%;box-shadow:16px 8px 0 #a095d955}.incident-glitch i:nth-child(2){top:56%;left:35%;width:53%;height:3px}.incident-glitch i:nth-child(3){top:76%;left:0;width:30%;height:4px}.hero-incident .alert-card{right:0;top:142px;border-top:3px solid #d8556c;z-index:3;min-width:290px}.hero-incident .alert-card strong{font-size:20px}.hero-incident .alert-card p{font-size:13px;font-weight:500}.hero-incident .alert-icon .icon{fill:#df6374}.incident-lock{position:absolute;width:84px;height:94px;left:28px;bottom:8px;color:#bd4862;transform:rotate(-12deg);z-index:2;filter:drop-shadow(0 6px 10px #8a34422a)}
@media(max-width:760px){.hero-gradient{left:28%;top:0;right:auto;width:72%;height:730px;transform:none;opacity:.65}.hero-incident{height:300px;width:100%;padding:18px 24px 24px 0}.hero-incident .browser-window{height:240px;width:100%}.hero-incident .alert-card{top:112px;min-width:230px;padding:20px 16px;gap:10px}.hero-incident .alert-card strong{font-size:17px}.hero-incident .alert-card p{font-size:12px}.incident-lock{width:60px;height:70px;left:16px;bottom:0}}
@media(min-width:761px){.risk-illustration{height:clamp(160px,19vw,240px);aspect-ratio:auto}}
