/*
 * ブログ（/blog/ と /blog/<記事>/）の見た目。2026-11-06 追加。
 * トップの style.css・corporate-theme.css のあとに1回読み込む。色はトップの corporate-theme.css の変数（--navy・--blue・--purple・--cyan・--pale・--line・--grad）に合わせた。
 * 記事の本文（.sa-article）の装飾は SEO・AIO skills の装飾（tools/html_decor/seo-aio-decor.css）を、このサイトの色に直したもの。
 */
.blog-page{background:#fff}
.blog-main{padding:128px 0 96px;background:linear-gradient(180deg,#f4f7fc 0,#fff 360px)}
.blog-wrap{width:min(860px,calc(100% - 40px));margin:0 auto}
.blog-wrap--wide{width:min(1080px,calc(100% - 40px))}
.blog-crumb{display:flex;flex-wrap:wrap;gap:6px;font-size:12px;color:var(--muted,#68768d);margin:0 0 22px;padding:0;list-style:none}
.blog-crumb li+li:before{content:"›";margin-right:6px;color:#9aa6ba}
.blog-crumb a{color:var(--blue,#2459e0);text-decoration:underline;text-underline-offset:3px}
.blog-head{margin:0 0 34px}
.blog-cat{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;color:#fff;background:var(--grad,linear-gradient(135deg,#2459e0,#5657df 52%,#8750db));padding:5px 14px;border-radius:30px;margin:0 0 14px}
.blog-title{font-family:'Noto Sans JP',sans-serif;font-size:clamp(26px,4.2vw,40px);line-height:1.5;letter-spacing:0;font-weight:800;color:var(--navy,#081a38);margin:0 0 14px}
.blog-meta{font-size:13px;color:var(--muted,#68768d);margin:0}
.blog-meta time+time:before{content:"／";margin:0 6px}

/* 記事の本文 */
.sa-article{--sa-main:#2459e0;--sa-navy:#081a38;--sa-accent:#39bde7;--sa-purple:#7850df;--sa-soft:#f4f7fc;--sa-marker:#ffe97a;--sa-red:#e53935;--sa-line:#dce4ef;line-height:1.95;font-size:16px;color:var(--text,#13213a);letter-spacing:.02em}
.sa-article h2{background:linear-gradient(135deg,#081a38 0%,#1b3a8a 100%);color:#fff;padding:.7em 1em;border-radius:10px;margin:3em 0 1.3em;font-size:1.4em;line-height:1.55;letter-spacing:.01em;font-weight:800;scroll-margin-top:100px}
.sa-article h3{border-left:6px solid var(--sa-purple);padding:.25em 0 .25em .75em;margin:2.4em 0 1em;font-size:1.2em;line-height:1.55;letter-spacing:.01em;font-weight:800;color:var(--sa-navy);scroll-margin-top:100px}
.sa-article p{margin:0 0 1.3em}
.sa-article a{color:var(--sa-main);text-decoration:underline;text-underline-offset:3px}
.sa-article img{width:auto;max-width:100%;height:auto}
.sa-article .sa-marker{background:linear-gradient(transparent 55%,var(--sa-marker) 55%);font-weight:700}
.sa-article .sa-red{color:var(--sa-red);font-weight:700}
.sa-article ul,.sa-article ol{margin:0 0 1.5em;padding:1.1em 1.3em 1.1em 2.6em;background:var(--sa-soft);border-radius:10px}
.sa-article ul{list-style:disc}
.sa-article ol{list-style:decimal}
.sa-article li{margin:.35em 0}
.sa-article li::marker{color:var(--sa-main)}
.sa-table-wrap{overflow-x:auto;margin:0 0 1.8em;-webkit-overflow-scrolling:touch;border-radius:10px;border:1px solid var(--sa-line)}
.sa-article table{width:100%;min-width:640px;border-collapse:collapse;margin:0;font-size:.92em;line-height:1.7}
.sa-article th{background:var(--sa-navy);color:#fff;padding:.75em .8em;border:1px solid #2a3b5c;text-align:left;white-space:nowrap}
.sa-article td{padding:.75em .8em;border:1px solid var(--sa-line);vertical-align:top}
.sa-article td:first-child{font-weight:700;white-space:nowrap}
.sa-article tr:nth-child(even) td{background:#f9fbfe}
.sa-article blockquote{margin:0 0 1.6em;padding:1em 1.2em 1em 3em;background:var(--sa-soft);border-radius:10px;position:relative}
.sa-article blockquote:before{content:"“";position:absolute;left:.4em;top:-.1em;font-size:3em;color:var(--sa-accent);font-family:serif}
.sa-article blockquote p:last-child{margin-bottom:0}
.sa-article figure{margin:0 0 1.6em}
/* キャプションボックス（題つきの枠。中は箇条書き） */
.sa-article .sa-capbox{border:2px solid var(--sa-main);border-radius:12px;padding:1.5em 1.2em .5em;margin:2.2em 0 2em;position:relative;background:#fff}
.sa-article .sa-capbox>p:first-child{position:absolute;top:-1em;left:1em;background:var(--grad,linear-gradient(135deg,#2459e0,#5657df 52%,#8750db));color:#fff;padding:.15em 1em;border-radius:6px;margin:0;font-size:.95em;line-height:1.7}
.sa-article .sa-capbox>p:first-child strong{font-weight:800}
.sa-article .sa-capbox ul,.sa-article .sa-capbox ol{background:none;padding:.2em 0 .2em 1.4em;margin-bottom:.8em}
.sa-article .sa-capbox li a{text-decoration:none;font-weight:700}
.sa-article .sa-capbox li a:hover{text-decoration:underline}
/* 注記（アイコン段落） */
.sa-article .sa-note{background:var(--sa-soft);border-left:5px solid var(--sa-accent);border-radius:0 10px 10px 0;padding:.85em 1em .85em 2.8em;position:relative;font-size:.95em;line-height:1.85}
.sa-article .sa-note:before{content:"✎";position:absolute;left:.9em;top:.8em;color:var(--sa-accent);font-size:1.1em}
/* 吹き出し（左・右） */
.sa-article .sa-balloon{display:flex;align-items:flex-start;gap:16px;margin:0 0 1.7em}
.sa-article .sa-balloon--right{flex-direction:row-reverse}
.sa-article .sa-balloon__icon{flex:0 0 76px;text-align:center;font-size:11px;line-height:1.4;color:#667086}
.sa-article .sa-balloon__icon img{width:64px;height:64px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 4px;background:var(--sa-soft);border:2px solid var(--sa-line)}
.sa-article .sa-balloon__text{position:relative;background:#fff;border:2px solid var(--sa-line);border-radius:14px;padding:.9em 1.15em;flex:1;min-width:0}
.sa-article .sa-balloon__text p{margin:0}
.sa-article .sa-balloon__text:before{content:"";position:absolute;top:22px;left:-10px;border:8px solid transparent;border-right-color:var(--sa-line);border-left:0}
.sa-article .sa-balloon--right .sa-balloon__text:before{left:auto;right:-10px;border-right:0;border-left:8px solid var(--sa-line)}
/* CTA のバナー */
.sa-article .sa-cta{margin:2.2em 0;text-align:center}
.sa-article a.sa-cta__btn{display:inline-flex;flex-direction:column;align-items:center;gap:4px;width:min(460px,100%);padding:16px 24px;border-radius:12px;background:var(--grad,linear-gradient(135deg,#2459e0,#5657df 52%,#8750db));color:#fff;text-decoration:none;box-shadow:0 10px 26px rgba(63,72,216,.24);transition:transform .2s ease,box-shadow .2s ease}
.sa-article a.sa-cta__btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(63,72,216,.3)}
.sa-article a.sa-cta__btn span{font-size:19px;font-weight:800;letter-spacing:.02em}
.sa-article a.sa-cta__btn small{font-size:12px;opacity:.9}

/* ブログの一覧 */
.blog-lead{color:var(--muted,#68768d);margin:0 0 40px;max-width:640px}
.blog-cathead{display:flex;align-items:center;gap:12px;margin:0 0 20px;font-size:21px;font-weight:800;color:var(--navy,#081a38);letter-spacing:.01em}
.blog-cathead:before{content:"";width:6px;height:26px;border-radius:3px;background:var(--grad,linear-gradient(135deg,#2459e0,#5657df 52%,#8750db))}
.blog-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin:0 0 56px}
.blog-card{display:flex;flex-direction:column;border:1px solid var(--line,#dce4ef);border-radius:16px;overflow:hidden;background:#fff;transition:transform .25s ease,box-shadow .25s ease;color:inherit;text-decoration:none}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 16px 38px rgba(8,26,56,.12)}
.blog-card__thumb{aspect-ratio:1200/630;background:var(--grad,linear-gradient(135deg,#2459e0,#5657df 52%,#8750db));display:flex;align-items:center;justify-content:center;padding:18px;text-align:center;color:#fff;font-weight:800;font-size:clamp(20px,2.4vw,26px);line-height:1.4;letter-spacing:.03em}
.blog-card__body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.blog-card__cat{font-size:12px;font-weight:700;color:var(--blue,#2459e0)}
.blog-card__title{font-size:17px;line-height:1.6;font-weight:800;color:var(--navy,#081a38);margin:0}
.blog-card__desc{font-size:13px;line-height:1.8;color:var(--muted,#68768d);margin:0}
.blog-card__date{font-size:12px;color:#8792a5;margin-top:auto}

@media (max-width:650px){
 .blog-main{padding:104px 0 72px}
 .sa-article{font-size:15.5px}
 .sa-article h2{font-size:1.25em;padding:.65em .85em;margin-top:2.6em}
 .sa-article h3{font-size:1.1em}
 .sa-article .sa-balloon{gap:10px}
 .sa-article .sa-balloon__icon{flex-basis:58px}
 .sa-article .sa-balloon__icon img{width:50px;height:50px}
 .sa-article .sa-balloon__text{padding:.8em .95em}
 .sa-article ul,.sa-article ol{padding-left:2.2em}
 .blog-cards{grid-template-columns:1fr}
 .sa-table-wrap{overflow:visible;border:0;border-radius:0}
 .sa-article table,.sa-article thead,.sa-article tbody,.sa-article tr,.sa-article th,.sa-article td{display:block;width:100%;min-width:0;box-sizing:border-box}
 .sa-article thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .sa-article tbody tr{border:1px solid var(--sa-line);border-radius:10px;overflow:hidden;margin:0 0 14px;background:#fff}
 .sa-article td{border:0;border-bottom:1px solid var(--sa-line);padding:.7em .9em;white-space:normal;overflow-wrap:anywhere;background:#fff}
 .sa-article td:last-child{border-bottom:0}
 .sa-article td:first-child{background:var(--sa-navy);color:#fff;font-weight:700;white-space:normal}
 .sa-article tr:nth-child(even) td{background:#fff}
 .sa-article tr:nth-child(even) td:first-child{background:var(--sa-navy)}
 .sa-article td:not(:first-child):before{display:block;font-size:.78em;font-weight:700;color:var(--sa-main);margin-bottom:.15em}
 .sa-article td:nth-child(2):before{content:"ツール"}
 .sa-article td:nth-child(3):before{content:"できること"}
 .sa-article td:nth-child(4):before{content:"公式の料金"}
}
