:root{--c-accent:#0ea5e9;--c-accent-2:#38bdf8;--c-accent-soft:#f0f9ff;--c-accent-mid:#e0f2fe;--c-accent-deep:#0284c7;--c-navy:#0f172a;--c-navy-2:#1e293b;--c-navy-deep:#020617;--c-red:#E63946;--c-text:#1c1917;--c-text-2:#57534e;--c-text-3:#a8a29e;--c-line:#e7e5e4;--c-bg:#fafaf8;--c-bg-2:#f3f2f0;--shadow-sm:0 4px 12px rgba(15,23,42,.06);--shadow-md:0 12px 28px rgba(15,23,42,.10);--shadow-lg:0 24px 60px rgba(15,23,42,.14);--r-sm:8px;--r-md:14px;--r-lg:22px;--r-pill:999px;--header-h:78px;--maxw:1180px;--ease:cubic-bezier(.4,.2,.2,1);}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;background:#fafaf8;}
body{font-family:'M PLUS Rounded 1c','Hiragino Maru Gothic ProN','Noto Sans JP',sans-serif;color:var(--c-text);background:transparent;line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;}
.flower-bg{position:fixed;inset:0;background:url('../黄色い花１.jpg') center bottom/cover no-repeat;opacity:.80;filter:blur(20px);z-index:-1;pointer-events:none;transform:scale(1.05);}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
button{background:none;border:0;cursor:pointer;font-family:inherit;}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px;}

.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:.3s;}
.site-header.scrolled{border-bottom-color:var(--c-line);box-shadow:0 4px 20px rgba(15,23,42,.06);}
.header-inner{height:var(--header-h);max-width:var(--maxw);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.brand{display:inline-flex;align-items:center;gap:12px;}
.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--c-navy);color:#fff;display:grid;place-items:center;font-weight:900;font-size:22px;box-shadow:0 6px 16px rgba(15,23,42,.18);}
.brand-text{display:flex;flex-direction:column;line-height:1.1;}
.brand-name{font-weight:800;font-size:20px;color:var(--c-navy);}
.brand-tag{font-size:10px;color:var(--c-text-3);font-weight:500;letter-spacing:.12em;text-transform:uppercase;}
.global-nav{display:flex;align-items:center;gap:28px;}
.nav-list{display:flex;align-items:center;gap:28px;}
.nav-list a{font-size:14px;font-weight:600;color:var(--c-text-2);position:relative;}
.nav-list a::after{content:'';position:absolute;left:50%;bottom:-6px;width:0;height:2px;background:var(--c-accent);transition:.3s;}
.nav-list a:hover{color:var(--c-navy);}
.nav-list a:hover::after{width:100%;left:0;}
.nav-cta{display:inline-flex;align-items:center;gap:8px;background:var(--c-navy);color:#fff!important;padding:12px 22px;border-radius:var(--r-pill);font-size:13px;font-weight:800;transition:.25s;box-shadow:0 4px 12px rgba(15,23,42,.18);}
.nav-cta:hover{background:var(--c-accent);color:#fff!important;transform:translateY(-2px);}
.hamburger{display:none;width:40px;height:40px;flex-direction:column;justify-content:center;align-items:center;gap:5px;}
.hamburger span{width:22px;height:2px;background:var(--c-navy);border-radius:2px;transition:.3s;}
.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.active span:nth-child(2){opacity:0;}
.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.hero{position:relative;padding:64px 0 96px;background:rgba(255,255,255,.55);overflow:hidden;}
.hero-bg{position:absolute;inset:0;pointer-events:none;}
.hero-blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.35;}
.hero-blob-1{width:380px;height:380px;background:radial-gradient(circle,#bae6fd,transparent 70%);top:-80px;right:-80px;}
.hero-blob-2{width:460px;height:460px;background:radial-gradient(circle,#e0f2fe,transparent 70%);bottom:-120px;left:-120px;opacity:.3;}
.hero-inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;color:var(--c-accent-deep);background:var(--c-accent-mid);padding:6px 14px;border-radius:var(--r-pill);letter-spacing:.15em;margin-bottom:24px;}
.hero-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--c-accent);}
.hero-title{font-family:'M PLUS Rounded 1c','Hiragino Maru Gothic ProN','Noto Sans JP',sans-serif;font-weight:700;font-size:clamp(30px,4.2vw,52px);line-height:1.4;color:var(--c-navy);margin-bottom:24px;}
.hero-title .hl{color:var(--c-navy);position:relative;display:inline-block;z-index:1;}
.hero-title .hl::before{content:'';position:absolute;left:-4px;right:-4px;bottom:4px;height:38%;background:var(--c-accent-mid);z-index:-1;border-radius:4px;}
.hero-lead{font-size:16px;color:var(--c-text-2);margin-bottom:36px;line-height:1.9;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:56px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;border-radius:var(--r-pill);font-size:14px;font-weight:700;transition:.25s;cursor:pointer;border:2px solid transparent;}
.btn i{font-size:12px;transition:.25s;}
.btn-primary{background:var(--c-navy);color:#fff;box-shadow:0 8px 20px rgba(15,23,42,.2);border-color:var(--c-navy);}
.btn-primary:hover{background:var(--c-accent);border-color:var(--c-accent);transform:translateY(-3px);}
.btn-ghost{background:transparent;color:var(--c-navy);border-color:var(--c-line);}
.btn-ghost:hover{background:var(--c-navy);color:#fff;border-color:var(--c-navy);transform:translateY(-3px);}
.btn-block{width:100%;}
.btn-sm{padding:12px 20px;font-size:13px;}

.hero-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 24px;padding-top:32px;border-top:1px solid var(--c-line);}
.trust-item{display:flex;flex-direction:column;gap:4px;}
.trust-num{font-weight:800;font-size:28px;color:var(--c-navy);line-height:1;display:flex;align-items:baseline;gap:4px;}
.trust-num .unit{font-size:13px;font-weight:600;color:var(--c-text-2);}
.trust-label{font-size:11px;color:var(--c-text-3);font-weight:600;}
.hero-visual{position:relative;height:460px;}
.hero-photo-wrap{position:relative;width:100%;height:100%;border-radius:28px;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.13);}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;}
.hero-card{position:absolute;background:#fff;border-radius:var(--r-md);box-shadow:var(--shadow-lg);}
.hero-card-main{width:100%;top:30px;right:0;overflow:hidden;}
.card-head{background:var(--c-navy);padding:14px 18px;display:flex;align-items:center;gap:8px;}
.card-dot{width:10px;height:10px;border-radius:50%;}
.card-dot.red{background:#ff5f57;}.card-dot.yellow{background:#febc2e;}.card-dot.green{background:#28c840;}
.card-title{margin-left:auto;font-size:12px;font-weight:600;color:rgba(255,255,255,.7);}
.card-body{padding:24px 22px;}
.metric-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:8px;}
.metric-label{color:var(--c-text-2);font-weight:600;}
.metric-value{font-weight:800;font-size:16px;}
.metric-value.up{color:var(--c-accent-deep);}
.metric-bar{height:8px;background:var(--c-accent-mid);border-radius:var(--r-pill);margin-bottom:22px;overflow:hidden;}
.metric-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--c-accent),var(--c-accent-deep));border-radius:var(--r-pill);}

.section{padding:120px 0;}
.section-light{background:rgba(243,242,240,.65);}
.section-dark{background:linear-gradient(135deg,var(--c-navy) 0%,var(--c-navy-deep) 100%);color:#fff;}
.section-dark .section-title{color:#fff;}
.section-dark .section-lead{color:rgba(255,255,255,.7);}
.section-head{text-align:center;margin-bottom:64px;}
.section-eyebrow{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.2em;color:var(--c-navy);margin-bottom:14px;position:relative;padding-left:36px;}
.section-eyebrow::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:28px;height:3px;background:var(--c-accent);border-radius:2px;}
.section-eyebrow.light{color:rgba(255,255,255,.8);}
.section-eyebrow.light::before{background:var(--c-accent);}
.section-title{font-family:'M PLUS Rounded 1c','Hiragino Maru Gothic ProN','Noto Sans JP',sans-serif;font-weight:700;font-size:clamp(24px,3.2vw,40px);line-height:1.4;color:var(--c-navy);margin-bottom:18px;}
.section-lead{font-size:16px;color:var(--c-text-2);line-height:1.9;max-width:720px;margin:0 auto;}

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:64px;}
.service-card{background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:40px 32px 36px;position:relative;transition:.3s;}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.service-featured{background:var(--c-navy);border-color:var(--c-navy);box-shadow:var(--shadow-md);}
.service-badge{position:absolute;top:-14px;right:24px;background:var(--c-accent);color:#fff;padding:6px 16px;border-radius:var(--r-pill);font-size:12px;font-weight:800;}
.service-num{font-weight:800;font-size:56px;color:var(--c-line);line-height:1;margin-bottom:8px;}
.service-featured .service-num{color:rgba(255,255,255,.08);}
.service-icon{width:56px;height:56px;border-radius:14px;background:var(--c-accent-mid);color:var(--c-accent-deep);display:grid;place-items:center;font-size:22px;margin-bottom:22px;}
.service-featured .service-icon{background:rgba(255,255,255,.1);color:#fff;}
.service-target{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--c-accent);text-transform:uppercase;margin-bottom:6px;}
.service-name{font-family:'M PLUS Rounded 1c','Hiragino Maru Gothic ProN','Noto Sans JP',sans-serif;font-size:20px;font-weight:700;color:var(--c-navy);margin-bottom:12px;}
.service-featured .service-name{color:#fff;}
.service-price{font-size:28px;font-weight:800;color:var(--c-navy);margin-bottom:16px;}
.service-featured .service-price{color:#fff;}
.service-price span{font-size:14px;color:var(--c-text-2);font-weight:600;margin-left:4px;}
.service-featured .service-price span{color:rgba(255,255,255,.6);}
.service-desc{font-size:14px;color:var(--c-text-2);line-height:1.8;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--c-line);}
.service-featured .service-desc{color:rgba(255,255,255,.7);border-bottom-color:rgba(255,255,255,.12);}
.service-list{display:flex;flex-direction:column;gap:10px;}
.service-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:var(--c-text);font-weight:500;}
.service-featured .service-list li{color:rgba(255,255,255,.85);}
.service-list li i{color:var(--c-accent-deep);margin-top:5px;font-size:11px;}
.service-featured .service-list li i{color:var(--c-accent);}

.strength-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.strength-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:36px 32px;transition:.3s;position:relative;overflow:hidden;}
.strength-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--c-accent);transform:scaleX(0);transform-origin:left;transition:.4s;}
.strength-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.07);}
.strength-card:hover::before{transform:scaleX(1);}
.strength-num{font-weight:800;font-size:14px;color:var(--c-accent);letter-spacing:.12em;margin-bottom:14px;display:inline-block;}
.strength-card h3{font-size:22px;font-weight:700;color:#fff;margin-bottom:14px;}
.strength-card p{font-size:14.5px;color:rgba(255,255,255,.72);line-height:1.9;}

.flow-list{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.flow-step{background:#fff;border:1px solid var(--c-line);border-radius:var(--r-md);padding:32px 24px;text-align:center;transition:.3s;}
.flow-step:hover{transform:translateY(-4px);border-color:var(--c-accent);box-shadow:var(--shadow-sm);}
.flow-num{display:inline-block;font-weight:800;font-size:12px;letter-spacing:.15em;color:#fff;background:var(--c-navy);padding:8px 14px;border-radius:var(--r-pill);margin-bottom:18px;}
.flow-step h3{font-size:18px;font-weight:700;color:var(--c-navy);margin-bottom:12px;}
.flow-step p{font-size:13.5px;color:var(--c-text-2);line-height:1.8;}

.blog-list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.blog-card{background:#fff;border:1px solid var(--c-line);border-radius:var(--r-md);overflow:hidden;transition:.3s;display:block;}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.blog-thumb{aspect-ratio:16 / 10;position:relative;}
.thumb-1{background:linear-gradient(135deg,#0f172a,#1e3a5f);}
.thumb-2{background:linear-gradient(135deg,#0ea5e9,#38bdf8);}
.thumb-3{background:linear-gradient(135deg,#0284c7,#0ea5e9);}
.blog-cat{position:absolute;top:16px;left:16px;background:rgba(255,255,255,.95);color:var(--c-navy);padding:5px 12px;border-radius:var(--r-pill);font-size:11px;font-weight:700;}
.blog-body{padding:24px;}
.blog-date{font-size:12px;color:var(--c-text-3);font-weight:600;margin-bottom:10px;}
.blog-card h3{font-size:17px;font-weight:700;color:var(--c-navy);line-height:1.6;margin-bottom:12px;}
.blog-card:hover h3{color:var(--c-accent-deep);}
.blog-excerpt{font-size:13.5px;color:var(--c-text-2);line-height:1.8;}
.blog-cats{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:48px;}
.cat-btn{padding:10px 20px;border-radius:var(--r-pill);font-size:13px;font-weight:600;color:var(--c-text-2);background:#fff;border:1px solid var(--c-line);transition:.25s;}
.cat-btn.active,.cat-btn:hover{background:var(--c-navy);color:#fff;border-color:var(--c-navy);}

.contact-wrap{display:grid;grid-template-columns:.85fr 1fr;gap:64px;}
.contact-lead{color:rgba(255,255,255,.75);font-size:15px;line-height:1.9;margin-bottom:32px;}
.contact-info-list{display:flex;flex-direction:column;gap:16px;}
.contact-info-list li{display:flex;align-items:center;gap:14px;font-size:14.5px;color:rgba(255,255,255,.85);}
.contact-info-list li i{width:40px;height:40px;background:rgba(255,255,255,.08);border-radius:10px;display:grid;place-items:center;font-size:16px;color:var(--c-accent);}
.contact-info-list a{color:rgba(255,255,255,.95);}
.contact-form{background:#fff;border-radius:var(--r-lg);padding:40px 36px;color:var(--c-text);box-shadow:var(--shadow-lg);}
.form-row{margin-bottom:18px;}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.contact-form label{display:block;font-size:13px;font-weight:700;color:var(--c-navy);margin-bottom:6px;}
.req{display:inline-block;background:var(--c-navy);color:#fff;font-size:10px;padding:2px 8px;border-radius:4px;margin-left:6px;font-weight:700;}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:6px;padding:13px 16px;border:1.5px solid var(--c-line);border-radius:var(--r-sm);font-size:14px;font-family:inherit;background:#fff;transition:.25s;}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:0;border-color:var(--c-accent);box-shadow:0 0 0 4px rgba(14,165,233,.15);}
.contact-form textarea{resize:vertical;}
.form-check{display:flex!important;align-items:center;gap:8px;font-size:13px!important;color:var(--c-text-2)!important;font-weight:500!important;margin:18px 0 22px;}
.form-check a{color:var(--c-accent-deep);text-decoration:underline;}

.site-footer{background:var(--c-navy-deep);color:rgba(255,255,255,.7);padding:80px 0 24px;}
.site-footer .brand-name{color:#fff;}
.site-footer .brand-mark{background:rgba(255,255,255,.1);color:#fff;}
.footer-top{display:grid;grid-template-columns:1.2fr 2fr;gap:64px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:24px;}
.footer-desc{font-size:13.5px;line-height:1.9;margin:24px 0;}
.footer-social{display:flex;gap:12px;}
.footer-social a{width:40px;height:40px;background:rgba(255,255,255,.06);border-radius:10px;display:grid;place-items:center;color:rgba(255,255,255,.7);font-size:16px;transition:.25s;}
.footer-social a:hover{background:var(--c-accent);color:#fff;transform:translateY(-3px);}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.footer-col h4{font-size:13px;font-weight:800;color:#fff;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;}
.footer-col ul{display:flex;flex-direction:column;gap:10px;}
.footer-col a{font-size:13.5px;color:rgba(255,255,255,.6);transition:.2s;}
.footer-col a:hover{color:var(--c-accent);}
.footer-bottom{padding-top:20px;text-align:center;font-size:12px;color:rgba(255,255,255,.4);}

.to-top{position:fixed;right:24px;bottom:24px;width:48px;height:48px;background:var(--c-navy);color:#fff;border-radius:50%;display:grid;place-items:center;box-shadow:0 8px 20px rgba(15,23,42,.25);opacity:0;transform:translateY(12px);transition:.3s;z-index:90;pointer-events:none;font-size:14px;}
.to-top.show{opacity:1;transform:translateY(0);pointer-events:auto;}
.to-top:hover{background:var(--c-accent);color:#fff;}

/* ── About ── */
.about-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:center;}
.about-visual{display:flex;flex-direction:column;align-items:center;gap:28px;}
.about-avatar{width:220px;height:220px;border-radius:50%;background:var(--c-accent-mid);display:grid;place-items:center;box-shadow:0 24px 60px rgba(14,165,233,.18);}
.about-avatar-inner{font-size:100px;font-weight:900;color:var(--c-navy);line-height:1;}
.about-photo{width:100%;height:100%;object-fit:cover;border-radius:50%;}
/* photo collage */
.about-photo-collage{position:relative;width:260px;height:300px;}
.collage-main{position:absolute;top:0;left:0;width:180px;height:180px;border-radius:50%;overflow:hidden;box-shadow:0 16px 48px rgba(14,165,233,.18);border:4px solid #fff;}
.collage-main img{width:100%;height:100%;object-fit:cover;}
.collage-sub{position:absolute;overflow:hidden;border:3px solid #fff;box-shadow:0 8px 24px rgba(0,0,0,.12);}
.collage-sub img{width:100%;height:100%;object-fit:cover;}
.collage-sub-1{width:130px;height:130px;border-radius:20px;bottom:40px;left:30px;}
.collage-sub-2{width:110px;height:110px;border-radius:50%;top:100px;right:0;}
.about-sns-badges{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.sns-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--c-line);border-radius:var(--r-pill);padding:10px 18px;font-size:13px;font-weight:700;color:var(--c-navy);box-shadow:var(--shadow-sm);}
.sns-badge i{font-size:16px;color:var(--c-accent-deep);}
.about-desc{font-size:15px;color:var(--c-text-2);line-height:1.95;margin-bottom:18px;}
.hl-inline{background:linear-gradient(180deg,transparent 60%,var(--c-accent-mid) 60%);padding:0 4px;}
.about-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.about-tag{display:inline-flex;align-items:center;gap:7px;background:var(--c-bg-2);border:1.5px solid var(--c-line);color:var(--c-navy);border-radius:var(--r-pill);padding:8px 16px;font-size:13px;font-weight:700;}
.about-tag i{color:var(--c-accent-deep);}

/* ── Results ── */
.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:28px;}
.result-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:36px 28px;transition:.3s;}
.result-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.09);}
.result-card-featured{background:rgba(14,165,233,.08);border-color:rgba(14,165,233,.3);}
.result-tag{display:inline-block;font-size:12px;font-weight:700;color:var(--c-accent);background:rgba(14,165,233,.1);border:1px solid rgba(14,165,233,.25);border-radius:var(--r-pill);padding:6px 14px;margin-bottom:24px;letter-spacing:.05em;}
.result-metrics{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1);}
.result-metric{display:flex;align-items:center;gap:12px;margin-bottom:8px;}
.result-before{font-size:20px;font-weight:700;color:rgba(255,255,255,.35);text-decoration:line-through;}
.result-metric i{color:var(--c-accent);font-size:14px;}
.result-after{font-size:32px;font-weight:900;color:var(--c-accent);line-height:1;}
.result-after small{font-size:16px;font-weight:600;margin-left:2px;}
.result-metric-label{font-size:12px;color:rgba(255,255,255,.5);font-weight:600;}
.result-list{display:flex;flex-direction:column;gap:10px;}
.result-list li{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:rgba(255,255,255,.8);}
.result-list i{color:var(--c-accent);margin-top:3px;font-size:12px;flex-shrink:0;}
.results-note{text-align:center;font-size:12px;color:rgba(255,255,255,.35);}

/* ── Results info ── */
.results-info-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.results-info-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:36px 28px;transition:.3s;}
.results-info-card:hover{transform:translateY(-6px);background:rgba(255,255,255,.09);}
.results-info-card-featured{background:rgba(14,165,233,.08);border-color:rgba(14,165,233,.3);}
.results-info-icon{width:56px;height:56px;border-radius:14px;background:rgba(14,165,233,.1);color:var(--c-accent);display:grid;place-items:center;font-size:22px;margin-bottom:20px;}
.results-info-card h3{font-size:18px;font-weight:700;color:#fff;margin-bottom:12px;}
.results-info-card p{font-size:14px;color:rgba(255,255,255,.75);line-height:1.9;}
@media(max-width:1024px){.results-info-wrap{grid-template-columns:1fr;max-width:520px;margin:0 auto;}}

/* ── FAQ ── */
.faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{background:#fff;border:1.5px solid var(--c-line);border-radius:var(--r-md);overflow:hidden;transition:.25s;}
.faq-item.open{border-color:var(--c-accent);box-shadow:0 8px 24px rgba(14,165,233,.1);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 28px;font-size:15px;font-weight:700;color:var(--c-navy);text-align:left;cursor:pointer;}
.faq-q i{font-size:14px;color:var(--c-accent-deep);transition:transform .3s;flex-shrink:0;}
.faq-item.open .faq-q i{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-item.open .faq-a{max-height:300px;}
.faq-a p{padding:0 28px 24px;font-size:14.5px;color:var(--c-text-2);line-height:1.9;}

/* ── responsive additions ── */
@media(max-width:1024px){
.about-wrap{grid-template-columns:1fr;gap:48px;text-align:center;}
.about-visual{max-width:320px;margin:0 auto;}
.about-tags{justify-content:center;}
.about-text .section-title{text-align:center!important;}
.results-grid{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto;}
}
@media(max-width:768px){
.about-avatar{width:160px;height:160px;}
.about-avatar-inner{font-size:72px;}
}

.legal-page{padding:calc(var(--header-h) + 80px) 0 96px;background:var(--c-bg-2);min-height:100vh;}
.page-title{font-size:clamp(28px,4vw,40px);font-weight:800;color:var(--c-navy);text-align:center;margin-bottom:56px;line-height:1.4;}
.legal-content{background:#fff;border-radius:var(--r-lg);padding:48px;box-shadow:var(--shadow-sm);max-width:880px;margin:0 auto;}
.legal-section{padding:28px 0;border-bottom:1px solid var(--c-line);}
.legal-section:first-child{padding-top:0;}
.legal-section:last-child{border-bottom:0;}
.legal-section h2{font-size:18px;font-weight:700;color:var(--c-navy);margin-bottom:14px;padding-left:14px;border-left:4px solid var(--c-accent);line-height:1.4;}
.legal-section p{font-size:14.5px;color:var(--c-text-2);line-height:1.95;}
.legal-section a{color:var(--c-accent-deep);text-decoration:underline;}
.legal-footer{text-align:center;margin-top:40px;}
.legal-footer p{color:var(--c-text-2);font-size:14px;margin-bottom:24px;}

.blog-hero{padding:calc(var(--header-h) + 64px) 0 56px;background:var(--c-bg-2);text-align:center;}
.blog-hero h1{font-size:clamp(28px,4vw,44px);font-weight:800;color:var(--c-navy);margin-bottom:16px;}
.blog-hero p{color:var(--c-text-2);font-size:15px;max-width:600px;margin:0 auto;}
.blog-list-section{padding:80px 0;}

/* ── コンテンツ・学習ひろば ── */
.contents-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.contents-card{display:flex;gap:20px;background:#fff;border-radius:var(--r-lg);padding:32px 28px;box-shadow:var(--shadow-sm);border:1.5px solid var(--c-line);text-decoration:none;color:inherit;transition:.25s var(--ease);align-items:flex-start;}
a.contents-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--c-accent);}
.contents-card-coming{opacity:.75;cursor:default;}
.contents-card-icon{font-size:52px;line-height:1;flex-shrink:0;margin-top:4px;}
.contents-card-body{flex:1;}
.contents-card-tag{display:inline-block;font-size:11px;font-weight:800;background:var(--c-accent-mid);color:var(--c-accent-deep);padding:3px 10px;border-radius:var(--r-pill);margin-bottom:10px;letter-spacing:.06em;}
.contents-card h3{font-size:20px;font-weight:800;color:var(--c-navy);margin-bottom:10px;line-height:1.4;}
.contents-card p{font-size:14px;color:var(--c-text-2);line-height:1.85;margin-bottom:16px;}
.contents-card-cta{font-size:13px;font-weight:700;color:var(--c-accent-deep);}
.contents-card-cta.coming{color:var(--c-text-3);}

@media (max-width:1024px){
.hero-inner{grid-template-columns:1fr;gap:56px;}
.hero-visual{height:380px;max-width:480px;margin:0 auto;width:100%;}
.service-grid{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto;}
.strength-grid{grid-template-columns:1fr;}
.flow-list{grid-template-columns:repeat(2,1fr);}
.blog-list-grid{grid-template-columns:repeat(2,1fr);}
.contact-wrap{grid-template-columns:1fr;gap:48px;}
.footer-top{grid-template-columns:1fr;gap:48px;}
}
@media (max-width:768px){
.section{padding:80px 0;}
.global-nav{position:fixed;top:var(--header-h);left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:24px;gap:0;border-bottom:1px solid var(--c-line);transform:translateY(-120%);transition:.35s;}
.global-nav.open{transform:translateY(0);}
.nav-list{flex-direction:column;gap:0;}
.nav-list li{border-bottom:1px solid var(--c-line);}
.nav-list a{display:block;padding:16px 4px;font-size:15px;}
.nav-cta{margin-top:20px;padding:16px;justify-content:center;font-size:14px;}
.hamburger{display:flex;}
.hero-trust{grid-template-columns:repeat(2,1fr);gap:18px 16px;padding-top:24px;}
.trust-num{font-size:24px;}
.blog-list-grid{grid-template-columns:1fr;}
.form-row-2{grid-template-columns:1fr;}
.footer-cols{grid-template-columns:repeat(2,1fr);gap:24px;}
.flow-list{grid-template-columns:1fr;}
.legal-content{padding:28px 22px;}
.contents-grid{grid-template-columns:1fr;}
.contents-card{padding:24px 20px;gap:16px;}
.contents-card-icon{font-size:40px;}
}

/* library - noteリンク */
.lib-card-note{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-size:11px;font-weight:700;color:var(--c-accent-deep);text-decoration:none;transition:.2s;}
.lib-card-note:hover{color:var(--c-accent);gap:8px;}
.lib-card-note i{font-size:10px;}
.lib-card-note.coming{color:var(--c-text-3);pointer-events:none;}

/* AIバナー */
.event-banner{display:block;background:linear-gradient(90deg,#be185d,#e11d48,#f97316);text-decoration:none;border-bottom:2px solid rgba(255,255,255,.15);margin-top:var(--header-h);}
.event-banner-inner{max-width:1200px;margin:0 auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.event-banner-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.event-badge{background:rgba(255,255,255,.25);color:#fff;font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;white-space:nowrap;}
.event-info{display:flex;flex-direction:column;gap:1px;}
.event-date{font-size:12px;color:rgba(255,255,255,.85);font-weight:600;}
.event-title{font-size:14px;color:#fff;font-weight:800;}
.event-cta{color:#fff;font-size:13px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.2);padding:6px 14px;border-radius:999px;transition:.2s;}
.event-banner:hover .event-cta{background:rgba(255,255,255,.3);}
.event-banner--archive{background:linear-gradient(90deg,#0369a1,#0ea5e9,#10b981);}
.event-banner+.event-banner{margin-top:0;}
.event-banner--bromide{background:linear-gradient(90deg,#9d174d,#db2777,#f59e0b);}
@media(max-width:600px){.event-title{font-size:13px;}.event-cta{display:none;}}
.ai-banner{background:linear-gradient(90deg,#0f172a 0%,#0c1a2e 50%,#0f172a 100%);border-bottom:1px solid rgba(14,165,233,.2);border-top:1px solid rgba(14,165,233,.1);}
.ai-banner-inner{max-width:var(--maxw);margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.ai-banner-badge{background:var(--c-accent);color:#fff;font-size:10px;font-weight:800;letter-spacing:.12em;padding:3px 9px;border-radius:var(--r-pill);white-space:nowrap;flex-shrink:0;}
.ai-banner-content{display:flex;align-items:center;gap:10px;flex:1;min-width:0;flex-wrap:wrap;}
.ai-banner-title{font-size:13px;font-weight:700;color:#e2e8f0;white-space:nowrap;}
.ai-banner-desc{font-size:12px;color:#94a3b8;}
.ai-banner-cta{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--c-accent);text-decoration:none;white-space:nowrap;padding:6px 16px;border:1px solid rgba(14,165,233,.4);border-radius:var(--r-pill);transition:.2s;flex-shrink:0;}
.ai-banner-cta:hover{background:rgba(14,165,233,.1);gap:9px;}
.ai-banner-cta i{font-size:10px;transition:.2s;}
@media(max-width:640px){.ai-banner-desc{display:none;}.ai-banner-inner{gap:10px;}}

/* Kalodata affiliate card */
.kalodata-wrap{padding:20px 0;background:linear-gradient(135deg,#fde047 0%,#fb923c 100%);border-bottom:2px solid #f59e0b;}
.kalodata-card{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;}
.kalodata-left{display:flex;flex-direction:column;gap:6px;}
.kalodata-badge{display:inline-flex;align-items:center;gap:5px;width:fit-content;background:rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.18);color:#1c1917;font-size:10px;font-weight:800;letter-spacing:.1em;padding:3px 10px;border-radius:var(--r-pill);}
.kalodata-title-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.kalodata-name{font-size:22px;font-weight:900;color:#1c1917;letter-spacing:.02em;}
.kalodata-name em{color:#7c2d12;font-style:normal;}
.kalodata-tagline{font-size:13px;color:#44403c;line-height:1.6;}
.kalodata-right{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end;}
.kalodata-coupon{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);border-radius:12px;padding:12px 18px;display:flex;flex-direction:column;align-items:center;gap:4px;backdrop-filter:blur(4px);}
.kalodata-coupon-label{font-size:10px;color:#57534e;letter-spacing:.08em;text-transform:uppercase;}
.kalodata-coupon-row{display:flex;align-items:center;gap:8px;}
.kalodata-code{font-size:20px;font-weight:900;color:#7c2d12;letter-spacing:.1em;font-family:monospace;}
.kalodata-copy{background:rgba(0,0,0,.1);border:1px solid rgba(0,0,0,.2);color:#1c1917;font-size:10px;font-weight:700;padding:4px 10px;border-radius:6px;cursor:pointer;white-space:nowrap;}
.kalodata-off{font-size:11px;font-weight:700;color:#166534;}
.kalodata-cta-btn{display:inline-flex;align-items:center;gap:6px;padding:12px 22px;background:#1c1917;color:#fde047;font-size:14px;font-weight:700;border-radius:var(--r-pill);text-decoration:none;white-space:nowrap;transition:.2s;flex-shrink:0;}
.kalodata-cta-btn:hover{background:#292524;gap:9px;}
.kalodata-note{font-size:10px;color:#57534e;text-align:center;margin-top:4px;}
@media(max-width:760px){.kalodata-card{grid-template-columns:1fr;gap:16px;}.kalodata-right{justify-content:flex-start;}}
@media(max-width:480px){.kalodata-tagline{display:none;}}

/* Results 対応業種 */
.results-industry{margin-top:48px;text-align:center;}
.results-industry-title{font-size:14px;font-weight:700;color:rgba(255,255,255,.5);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;}
.results-industry-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.industry-tag{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-pill);font-size:13px;font-weight:600;color:rgba(255,255,255,.8);}
.industry-tag i{color:var(--c-accent);font-size:12px;}

/* About ストーリータイムライン */
.about-story{display:flex;flex-direction:column;gap:20px;margin:24px 0;}
.about-story-item{display:flex;gap:16px;align-items:flex-start;}
.story-year{flex-shrink:0;width:64px;font-size:11px;font-weight:800;color:var(--c-accent-deep);letter-spacing:.04em;padding-top:3px;white-space:nowrap;}
.story-body{flex:1;border-left:2px solid var(--c-line);padding-left:16px;}
.story-body strong{display:block;font-size:14px;font-weight:700;color:var(--c-navy);margin-bottom:4px;}
.story-body p{font-size:13px;color:var(--c-text-2);line-height:1.7;margin:0;}

/* 最新ブログセクション */
.blog-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px;}
.blog-tab{padding:8px 18px;border-radius:var(--r-pill);font-size:13px;font-weight:600;color:var(--c-text-2);background:#fff;border:1px solid var(--c-line);cursor:pointer;transition:.25s;}
.blog-tab.active,.blog-tab:hover{background:var(--c-navy);color:#fff;border-color:var(--c-navy);}
.blog-latest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:36px;}
.blog-latest-footer{text-align:center;}
@media(max-width:1024px){.blog-latest-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.blog-latest-grid{grid-template-columns:1fr;}.blog-tabs{gap:6px;}.blog-tab{padding:7px 14px;font-size:12px;}}

/* 収益導線CTA */
.cta-links-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.cta-link-card{display:flex;gap:20px;align-items:flex-start;background:#fff;border:1px solid var(--c-line);border-radius:var(--r-lg);padding:32px 28px;text-decoration:none;transition:.3s;}
.cta-link-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.cta-link-card-featured{background:var(--c-navy);border-color:var(--c-navy);position:relative;}
.cta-blog-badge{position:absolute;top:12px;right:12px;background:#10b981;color:#fff;font-size:10px;font-weight:800;letter-spacing:.05em;padding:3px 10px;border-radius:var(--r-pill);animation:pulse-badge 2s ease-in-out infinite;}
@keyframes pulse-badge{0%,100%{opacity:1;}50%{opacity:.7;}}
.cta-link-icon{font-size:36px;flex-shrink:0;line-height:1;}
.cta-link-body{flex:1;}
.cta-link-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.1em;background:var(--c-accent);color:#fff;padding:2px 10px;border-radius:var(--r-pill);margin-bottom:10px;}
.cta-link-card-featured .cta-link-badge{background:rgba(255,255,255,.2);}
.cta-link-body h3{font-size:18px;font-weight:700;color:var(--c-navy);margin-bottom:10px;}
.cta-link-card-featured .cta-link-body h3{color:#fff;}
.cta-link-body p{font-size:13px;color:var(--c-text-2);line-height:1.8;margin-bottom:16px;}
.cta-link-card-featured .cta-link-body p{color:rgba(255,255,255,.75);}
.cta-link-cta{font-size:13px;font-weight:700;color:var(--c-accent-deep);display:inline-flex;align-items:center;gap:6px;transition:.2s;}
.cta-link-card-featured .cta-link-cta{color:var(--c-accent);}
.cta-link-card:hover .cta-link-cta{gap:9px;}
@media(max-width:1024px){.cta-links-grid{grid-template-columns:1fr;}.cta-link-card{padding:24px 20px;}}

/* ── ブログ記事ページ追加要素 ── */
.article-readtime{margin-left:12px;font-size:12px;color:var(--c-text-3);}
.article-readtime i{margin-right:4px;}

/* シェアボタン */
.article-share{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:40px;padding-top:24px;border-top:1px solid var(--c-line);}
.share-label{font-size:13px;color:var(--c-text-3);font-weight:600;margin-right:4px;}
.share-label i{margin-right:4px;}
.share-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r-pill);font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;border:none;transition:.2s;}
.share-x{background:#000;color:#fff;}
.share-x:hover{background:#333;}
.share-copy{background:var(--c-bg-2);color:var(--c-text);border:1px solid var(--c-line);}
.share-copy:hover{background:var(--c-line);}

/* 著者ボックス */
.article-author{display:flex;gap:20px;align-items:flex-start;background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:24px;margin-top:24px;}
.author-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid var(--c-accent);flex-shrink:0;}
.author-label{font-size:11px;font-weight:700;color:var(--c-text-3);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;}
.author-name{font-size:16px;font-weight:800;color:var(--c-navy);margin-bottom:6px;}
.author-bio{font-size:13px;color:var(--c-text-2);line-height:1.7;margin-bottom:12px;}
.author-links{display:flex;gap:10px;flex-wrap:wrap;}
.author-links a{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--c-accent-deep);text-decoration:none;padding:4px 12px;border:1px solid var(--c-accent);border-radius:var(--r-pill);transition:.2s;}
.author-links a:hover{background:var(--c-accent);color:#fff;}

/* CTAボックス */
.article-cta-box{background:linear-gradient(135deg,var(--c-navy),#1e3a5f);border-radius:var(--r-lg);padding:32px;margin-top:16px;text-align:center;}
.cta-box-title{font-size:17px;font-weight:800;color:#fff;margin-bottom:10px;}
.cta-box-title i{color:#fbbf24;margin-right:6px;}
.cta-box-desc{font-size:14px;color:rgba(255,255,255,.75);margin-bottom:20px;line-height:1.7;}
.cta-box-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.cta-box-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--r-pill);font-size:14px;font-weight:700;text-decoration:none;background:var(--c-accent);color:#fff;transition:.2s;}
.cta-box-btn:hover{background:var(--c-accent-deep);}
.cta-box-btn--ghost{background:transparent;border:2px solid rgba(255,255,255,.4);color:#fff;}
.cta-box-btn--ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.7);}

@media(max-width:600px){
  .article-author{flex-direction:column;}
  .author-photo{width:56px;height:56px;}
  .cta-box-btns{flex-direction:column;}
  .cta-box-btn{justify-content:center;}
}

/* 丸ゴシック調整 */
.hero-title,.section-title,.service-name{font-weight:800;}
