/*
Theme Name: Driverbank Lab
Theme URI: https://driverbank-lab.unsoshien.co.jp
Author: Driver Bank
Description: ドライバーバンクラボ本格テーマ。v15ホームデザインと記事デザインを共通化。
Version: 2.6
License: GPL v2 or later
Text Domain: driverbank-lab
*/

/* ========================================================== */
/* driverbank-lab theme style.css                            */
/* Consolidated from article + home + company source HTMLs   */
/* ========================================================== */

/* ===== HOME (v15) CSS ===== */

  :root{
    --main:#7bc142;         /* ロゴに合わせた明るいライムグリーン */
    --main-d:#5ea030;       /* ホバー用の濃いめ */
    --main-dd:#3e7a1f;      /* 最も濃い */
    --main-l:#e5f2d4;       /* 薄い緑（ヒーロー背景） */
    --main-l2:#eef7e1;      /* より薄い */
    --main-pale:#f5faeb;    /* ほぼ白の緑 */
    --ink:#1a1a1a;
    --ink2:#222;
    --text:#333;
    --sub:#888;
    --line:#e5eae7;
    --accent:#d63031;
    --accent-l:#ffe5e7;
    --gold:#d4a814;
    --gold-d:#a87a00;
    --gold-l:#fffbeb;
    --cream:#fff5d4;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",-apple-system,sans-serif;
    color:var(--text);
    background:#fff;
    line-height:1.75;
    font-size:14px;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  ul,ol{list-style:none}

  /* ============================================ */
  /* HERO BLOCK                                    */
  /* ============================================ */
  .hero-block{
    background:var(--main-l);
    position:relative;
    overflow:hidden;
    padding-bottom:20px;
    min-height:200px;
  }
  .hero-block::before{
    content:"";position:absolute;top:0;right:0;
    width:280px;height:280px;
    background:radial-gradient(circle at top right,rgba(123,193,66,.35),transparent 70%);
  }

  /* マスコット装飾（ヒーローの右下に覗かせる） */
  .hero-mascot{
    position:absolute;right:3%;bottom:0;
    width:100px;height:auto;z-index:3;
    transform:rotate(-4deg);
    filter:drop-shadow(2px 4px 6px rgba(0,0,0,.1));
    pointer-events:none;
  }

  /* Header */
  .header{
    position:relative;z-index:10;
    padding:22px 32px 16px;
    display:flex;align-items:center;justify-content:space-between;
    gap:30px;
  }
  .header-left{display:flex;align-items:center;gap:22px;flex-shrink:0}
  .brand-area{display:flex;flex-direction:column}
  .brand-main{
    display:flex;align-items:center;gap:10px;
  }
  .brand-icon{
    width:68px;height:68px;
    background:#fff;
    border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    flex-shrink:0;
    box-shadow:0 3px 10px rgba(94,160,48,.15);
  }
  .brand-icon img{width:56px;height:56px;border-radius:50%;object-fit:cover}
  .brand-name{
    font-family:"Hiragino Maru Gothic ProN","M PLUS Rounded 1c",sans-serif;
    font-size:46px;font-weight:900;
    color:var(--ink);
    letter-spacing:-.02em;line-height:1;
  }
  .brand-name small{
    display:block;font-size:30px;letter-spacing:.03em;margin-top:6px;
  }
  .brand-by{
    font-size:13px;font-weight:700;color:var(--ink);
    letter-spacing:.05em;margin-top:10px;padding-left:78px;
  }
  .brand-tagline{
    font-size:14px;color:var(--ink);font-weight:700;
    line-height:1.5;padding-top:8px;white-space:nowrap;
  }
  .gnav{
    flex:1;
    display:flex;justify-content:flex-end;align-items:center;gap:28px;
  }
  .gnav a{
    font-size:14px;font-weight:700;color:var(--ink);
    letter-spacing:.02em;transition:color .2s;padding:4px 0;
  }
  .gnav a:hover{color:var(--main-d)}
  .gnav-search{
    width:28px;height:28px;
    border-left:1.5px solid var(--ink);
    padding-left:18px;margin-left:-6px;
    display:flex;align-items:center;justify-content:flex-end;
  }
  .gnav-search svg{width:22px;height:22px}
  .menu-toggle{display:none}

  .hero-copy{
    text-align:center;
    padding:30px 24px 70px;
    position:relative;z-index:5;
  }
  .hero-copy-jp{
    font-family:"Hiragino Maru Gothic ProN","M PLUS Rounded 1c",sans-serif;
    font-size:40px;font-weight:900;color:var(--ink);
    letter-spacing:.05em;line-height:1.4;margin-bottom:10px;
  }
  .hero-copy-en{
    font-size:13px;color:var(--main-d);font-weight:800;
    letter-spacing:.3em;
  }

  /* ============================================ */
  /* PICK UP                                      */
  /* ============================================ */
  .pickup-wrap{
    background:var(--main-l);
    padding:30px 0 80px;
    position:relative;
  }
  .pickup-head{
    display:flex;align-items:center;gap:20px;
    padding:0 32px;margin-bottom:26px;
  }
  .pickup-head-title{
    font-family:"Hiragino Maru Gothic ProN","M PLUS Rounded 1c",sans-serif;
    font-size:44px;font-weight:900;color:var(--ink);
    letter-spacing:.02em;line-height:1;
  }
  .pickup-head-line{
    flex:1;height:4px;background:var(--ink);position:relative;
  }
  .pickup-head-line::after{
    content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);
    width:8px;height:8px;border-radius:50%;background:var(--ink);
    box-shadow:14px 0 0 var(--ink);margin-right:14px;
  }
  .pickup-carousel{
    display:grid;
    grid-template-columns:repeat(5,minmax(290px,1fr));
    gap:22px;padding:12px 60px 18px;overflow-x:auto;scrollbar-width:none;
  }
  .pickup-carousel::-webkit-scrollbar{display:none}

  /* Card */
  .db-card{display:block;transition:transform .3s}
  .db-card:hover{transform:translateY(-4px)}
  .db-card-thumb{
    background:#fff;border:2.5px solid var(--ink);border-radius:14px;
    aspect-ratio:16/11;position:relative;overflow:hidden;
    box-shadow:4px 4px 0 var(--ink);
  }
  .db-card-thumb::before,.db-card-thumb::after{
    content:"";position:absolute;top:-1px;
    width:28px;height:10px;background:var(--ink);z-index:2;
  }
  .db-card-thumb::before{left:14px;border-radius:0 0 4px 4px}
  .db-card-thumb::after{right:14px;border-radius:0 0 4px 4px}

  .db-card-label{
    position:absolute;top:10px;left:50%;transform:translateX(-50%);
    background:var(--ink);color:#fff;
    padding:3px 14px;border-radius:4px;
    font-size:10.5px;font-weight:800;letter-spacing:.1em;
    white-space:nowrap;z-index:3;
  }

  /* サムネの背景色：シリーズごとに4色ローテ */
  .db-card-thumb.bg-pink .db-card-illust{background:#ffe5e7;border-color:var(--ink)}
  .db-card-thumb.bg-cream .db-card-illust{background:var(--cream);border-color:var(--ink)}
  .db-card-thumb.bg-mint .db-card-illust{background:#d8f0dd;border-color:var(--ink)}
  .db-card-thumb.bg-blue .db-card-illust{background:#d9ebf5;border-color:var(--ink)}

  .db-card-illust{
    position:absolute;inset:34px 16px 16px;
    background:var(--main-pale);
    border:2px solid var(--ink);border-radius:10px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:16px;text-align:center;
  }
  .db-card-illust-text{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:19px;font-weight:900;color:var(--ink);
    line-height:1.4;letter-spacing:.02em;
  }
  .db-card-illust-subtext{
    font-size:11px;font-weight:700;color:var(--main-d);
    margin-top:8px;letter-spacing:.1em;
  }

  /* マスコット：カードの隅にチラ見せ */
  .db-card-mascot{
    position:absolute;z-index:4;
    width:72px;height:auto;
    pointer-events:none;
    filter:drop-shadow(1px 2px 3px rgba(0,0,0,.15));
  }
  .db-card-mascot.br{right:-6px;bottom:6px;transform:rotate(5deg)}
  .db-card-mascot.bl{left:-6px;bottom:6px;transform:rotate(-5deg)}
  .db-card-mascot.tr{right:8px;top:28px;transform:rotate(8deg);width:44px}

  .db-card-bubble{
    position:absolute;background:var(--ink);color:#fff;
    padding:4px 12px;border-radius:16px;
    font-size:11px;font-weight:700;z-index:3;
  }
  .db-card-bubble.tl{top:46px;left:18px}
  .db-card-bubble.tr{top:46px;right:18px}

  .db-card-cattag{
    position:absolute;bottom:8px;left:14px;
    background:var(--ink);color:#fff;
    padding:7px 16px;border-radius:3px;
    font-size:12px;font-weight:800;letter-spacing:.05em;z-index:5;
  }

  .db-card-body{padding:22px 4px 0}
  .db-card-title{
    font-size:15px;font-weight:800;color:var(--ink);
    line-height:1.6;margin-bottom:10px;letter-spacing:.02em;
  }
  .db-card-meta{
    display:flex;align-items:center;gap:10px;
    font-size:11.5px;color:var(--sub);flex-wrap:wrap;
  }
  .db-card-tag{color:var(--ink);font-weight:700}
  .db-card-tag::before{content:"# "}
  .db-card-date{margin-left:auto;color:var(--main-d);font-weight:700}

  /* ============================================ */
  /* Main area                                    */
  /* ============================================ */
  .main-area{
    max-width:1240px;margin:0 auto;
    padding:72px 32px;
    display:grid;grid-template-columns:1fr 310px;gap:50px;
  }
  .sec-title-block{
    margin-bottom:36px;padding-left:22px;
    border-left:6px solid var(--main);
  }
  .sec-title-jp{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:38px;font-weight:900;color:var(--ink);
    letter-spacing:.08em;line-height:1;margin-bottom:12px;
  }
  .sec-title-en-wrap{display:flex;align-items:center;gap:10px}
  .sec-title-en{font-size:14px;font-weight:800;color:var(--ink);letter-spacing:.15em}
  .sec-title-en-line{
    flex:1;max-width:140px;height:2px;
    background-image:linear-gradient(to right,var(--ink) 50%,transparent 50%);
    background-size:8px 2px;background-repeat:repeat-x;
  }

  .latest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 28px}
  .latest-grid .db-card-thumb{aspect-ratio:16/10}
  .latest-grid .db-card-illust-text{font-size:22px}

  .all-link-wrap{text-align:center;margin-top:50px}
  .all-link{
    display:inline-flex;align-items:center;gap:12px;
    font-size:15px;font-weight:800;color:var(--ink);
    letter-spacing:.05em;transition:opacity .2s;
  }
  .all-link:hover{opacity:.7}
  .all-link-icon{
    width:38px;height:38px;border-radius:50%;
    background:var(--main);color:#fff;
    display:inline-flex;align-items:center;justify-content:center;font-size:16px;
  }

  /* Sidebar */
  .sidebar{min-width:0;display:flex;flex-direction:column;gap:40px}

  .side-banner-1{
    display:block;background:var(--main-l);
    border:2.5px solid var(--ink);border-radius:14px;
    padding:24px 20px;box-shadow:4px 4px 0 var(--ink);
    text-align:center;position:relative;
  }
  .side-banner-1-small{
    display:inline-block;background:var(--ink);color:#fff;
    padding:3px 14px;border-radius:12px;
    font-size:10.5px;font-weight:800;margin-bottom:12px;letter-spacing:.1em;
  }
  .side-banner-1-big{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:22px;font-weight:900;color:var(--ink);
    letter-spacing:.03em;line-height:1.3;
  }
  .side-banner-1-big .hl{
    background:linear-gradient(transparent 60%,var(--main) 60%);padding:0 2px;
  }
  .side-banner-1-bottom{
    background:var(--ink);color:#fff;font-weight:800;font-size:13px;
    padding:4px 14px;border-radius:4px;display:inline-block;margin-top:8px;
  }
  /* マスコットを右上にチラ見せ */
  .side-banner-1-mascot{
    position:absolute;right:-10px;top:-30px;
    width:78px;height:auto;transform:rotate(12deg);
    filter:drop-shadow(1px 2px 3px rgba(0,0,0,.12));
  }

  .side-banner-2{
    display:block;background:var(--main-dd);color:#fff;
    border-radius:14px;padding:22px 18px;text-align:center;position:relative;
  }
  .side-banner-2-hl{
    display:inline-block;background:#fff;color:var(--main-dd);
    padding:3px 12px;border-radius:10px;
    font-weight:900;font-size:14px;margin-bottom:8px;
  }
  .side-banner-2-text{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:18px;font-weight:900;letter-spacing:.02em;line-height:1.45;
  }

  .side-block-head{display:flex;align-items:center;gap:10px;margin-bottom:20px}
  .side-block-head-title{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:28px;font-weight:900;color:var(--ink);
    letter-spacing:.08em;line-height:1;
  }
  .side-block-head-line{flex:1;height:3px;background:var(--ink);position:relative}
  .side-block-head-line::after{
    content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);
    width:6px;height:6px;border-radius:50%;background:var(--ink);
    box-shadow:10px 0 0 var(--ink);margin-right:10px;
  }
  .ranking-list{display:flex;flex-direction:column;gap:18px}
  .rank-item{display:flex;gap:14px;position:relative}
  .rank-item-thumb{
    width:100px;aspect-ratio:1;flex-shrink:0;
    background:var(--main-pale);border:2px solid var(--ink);border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    font-size:11px;font-weight:900;color:var(--ink);
    letter-spacing:.1em;position:relative;
  }
  .rank-num{
    position:absolute;bottom:-8px;right:-8px;
    width:28px;height:28px;border-radius:50%;
    background:var(--main);color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-weight:900;font-size:13px;border:2px solid var(--ink);
  }
  .rank-item:nth-child(1) .rank-num,
  .rank-item:nth-child(2) .rank-num,
  .rank-item:nth-child(3) .rank-num{background:var(--accent)}
  .rank-body{flex:1;min-width:0;padding-top:2px}
  .rank-title{
    font-size:13px;font-weight:700;color:var(--ink);
    line-height:1.55;margin-bottom:6px;
  }
  .rank-date{font-size:11px;color:var(--main-d);font-weight:700}

  .tag-wrap{display:flex;flex-wrap:wrap;gap:8px 16px}
  .tag-wrap a{
    font-size:12.5px;color:var(--ink);font-weight:700;
    padding:2px 0;border-bottom:1px dashed var(--sub);transition:all .2s;
  }
  .tag-wrap a::before{content:"# ";color:var(--main-d);font-weight:900}
  .tag-wrap a:hover{color:var(--main-d);border-bottom-color:var(--main-d)}

  .side-banner-3{
    background:var(--cream);border:2.5px solid var(--ink);border-radius:50px;
    padding:14px 20px;text-align:center;
    display:flex;align-items:center;justify-content:center;gap:10px;
    font-weight:900;color:var(--ink);font-size:14px;
    box-shadow:4px 4px 0 var(--ink);position:relative;
  }
  .side-banner-3-mascot{
    width:56px;height:auto;flex-shrink:0;margin-right:-4px;
  }

  /* ============================================ */
  /* Cat sections                                  */
  /* ============================================ */
  .cat-section{padding:80px 32px;position:relative}
  .cat-section.bg-green{background:var(--main-l2)}
  .cat-section-inner{max-width:1240px;margin:0 auto}
  .cat-section-head{text-align:center;margin-bottom:50px;position:relative}
  .cat-section-head-mascot{
    position:absolute;right:0;top:-20px;width:80px;height:auto;
    transform:rotate(-8deg);
    filter:drop-shadow(1px 2px 4px rgba(0,0,0,.12));
  }
  .cat-section-jp{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:44px;font-weight:900;color:var(--ink);
    letter-spacing:.06em;line-height:1.2;margin-bottom:14px;
  }
  .cat-section-en{
    font-size:13px;font-weight:800;color:var(--main-d);
    letter-spacing:.3em;margin-bottom:16px;
  }
  .cat-section-desc{
    font-size:13.5px;color:var(--text);
    line-height:2;max-width:560px;margin:0 auto;
  }
  .cat-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-bottom:40px;
  }
  .cat-grid .db-card-thumb{aspect-ratio:16/11}
  .cat-grid .db-card-illust-text{font-size:17px}
  .cat-grid .db-card-title{font-size:14px}

  /* ============================================ */
  /* Bottom CTA                                    */
  /* ============================================ */
  .bottom-cta{
    background:var(--main-l);padding:70px 32px;
    text-align:center;position:relative;overflow:hidden;
  }
  .bottom-cta::before{
    content:"";position:absolute;top:-80px;left:50%;transform:translateX(-50%);
    width:200px;height:200px;
    background:radial-gradient(circle,rgba(123,193,66,.35),transparent 70%);
  }
  .bottom-cta-mascot{
    position:absolute;left:8%;bottom:30px;
    width:120px;height:auto;
    transform:rotate(-10deg);
    filter:drop-shadow(2px 4px 6px rgba(0,0,0,.15));
  }
  .bottom-cta-mascot-r{
    position:absolute;right:8%;bottom:30px;
    width:110px;height:auto;transform:rotate(10deg);
    filter:drop-shadow(2px 4px 6px rgba(0,0,0,.15));
    opacity:.85;
  }
  .bottom-cta-logo{
    width:88px;height:88px;background:#fff;border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    margin-bottom:18px;position:relative;z-index:2;
    box-shadow:0 4px 12px rgba(0,0,0,.08);
  }
  .bottom-cta-logo img{width:70px;height:70px;border-radius:50%;object-fit:cover}
  .bottom-cta-head{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:28px;font-weight:900;color:var(--ink);
    letter-spacing:.05em;margin-bottom:14px;
    position:relative;z-index:2;
  }
  .bottom-cta-desc{
    font-size:14px;color:var(--text);line-height:2;
    max-width:600px;margin:0 auto 28px;position:relative;z-index:2;
  }
  .bottom-cta-btns{
    display:flex;justify-content:center;gap:16px;flex-wrap:wrap;
    position:relative;z-index:2;
  }
  .bottom-cta-btn{
    display:inline-flex;align-items:center;gap:12px;
    background:var(--ink);color:#fff;
    padding:15px 32px;border-radius:40px;
    font-size:14px;font-weight:800;letter-spacing:.05em;
    transition:transform .2s;border:2.5px solid var(--ink);
  }
  .bottom-cta-btn:hover{transform:translateY(-2px)}
  .bottom-cta-btn.primary{background:var(--main);border-color:var(--ink)}
  .bottom-cta-btn .arr{
    width:22px;height:22px;background:#fff;color:var(--ink);border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:11px;font-weight:900;
  }

  /* Page TOP */
  .page-top-wrap{
    background:var(--main-l);padding:20px 32px;
    display:flex;justify-content:flex-end;position:relative;
  }
  .page-top{
    display:inline-flex;flex-direction:column;align-items:center;gap:4px;
    font-size:11px;font-weight:800;color:var(--ink);
    letter-spacing:.1em;padding-right:30px;position:relative;
  }
  .page-top::before{
    content:"";position:absolute;top:-30px;right:8px;
    width:14px;height:40px;
    border-top:2px solid var(--ink);border-right:2px solid var(--ink);
    border-radius:0 20px 0 0;
  }

  /* Footer */
  .footer{background:var(--ink);color:#fff;padding:70px 32px 30px;position:relative;overflow:hidden}
  .footer-mascot{
    position:absolute;right:5%;top:50px;
    width:100px;height:auto;
    transform:rotate(8deg);opacity:.15;
    filter:drop-shadow(2px 4px 6px rgba(0,0,0,.3));
  }
  .footer-inner{
    max-width:1240px;margin:0 auto;position:relative;z-index:2;
    display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:start;
  }
  .footer-brand-sub{
    font-size:13px;font-weight:700;color:#fff;
    letter-spacing:.1em;margin-bottom:14px;
  }
  .footer-brand-logo-row{display:flex;align-items:center;gap:14px;margin-bottom:10px}
  .footer-brand-icon{
    width:60px;height:60px;background:#fff;border-radius:50%;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .footer-brand-icon img{width:48px;height:48px;border-radius:50%;object-fit:cover}
  .footer-brand-logo{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:38px;font-weight:900;color:#fff;
    letter-spacing:-.02em;line-height:1;
  }
  .footer-brand-logo small{
    display:block;font-size:26px;letter-spacing:.03em;margin-top:6px;
  }
  .footer-brand-by{
    font-size:13px;font-weight:700;color:#fff;
    letter-spacing:.05em;margin-bottom:26px;padding-left:74px;
  }
  .footer-lead{
    font-size:12.5px;color:rgba(255,255,255,.85);
    line-height:2;max-width:360px;
  }

  .footer-right{display:flex;flex-direction:column}
  .footer-nav{display:flex;flex-wrap:wrap;gap:18px 32px;margin-bottom:32px}
  .footer-nav a{
    position:relative;padding-left:18px;
    font-size:13.5px;font-weight:700;color:#fff;
  }
  .footer-nav a::before{
    content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
    width:10px;height:3px;background:var(--main);
  }
  .footer-nav a:hover{color:var(--main)}
  .footer-sub{display:flex;gap:22px;margin-bottom:20px;flex-wrap:wrap}
  .footer-sub a{
    font-size:13px;font-weight:700;color:#fff;
    display:inline-flex;align-items:center;gap:4px;
  }
  .footer-sub a::after{content:"↗";font-size:11px;opacity:.7}
  .footer-legal{display:flex;gap:22px;margin-bottom:30px;flex-wrap:wrap}
  .footer-legal a{
    font-size:12.5px;color:rgba(255,255,255,.85);
    display:inline-flex;align-items:center;gap:4px;
  }
  .footer-legal a::after{content:"↗";font-size:10px;opacity:.5}
  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:30px;border-top:1px solid rgba(255,255,255,.2);
    gap:20px;flex-wrap:wrap;
  }
  .footer-sns{display:flex;gap:12px}
  .footer-sns a{
    width:36px;height:36px;border-radius:50%;
    border:1.5px solid rgba(255,255,255,.4);
    display:flex;align-items:center;justify-content:center;
    font-size:14px;font-weight:800;color:#fff;
  }
  .footer-sns a:hover{background:var(--main);border-color:var(--main)}
  .footer-copyright{
    font-size:12px;color:rgba(255,255,255,.7);letter-spacing:.05em;
  }

  /* Responsive */
  /* ========== Tablet (max-width:1000px) ========== */
  @media (max-width:1000px){
    /* Header */
    .header{flex-wrap:wrap;padding:14px 16px;gap:14px}
    .brand-icon{width:48px;height:48px}
    .brand-icon img{width:38px;height:38px;border-radius:50%;object-fit:cover}
    .brand-name{font-size:26px;line-height:1}
    .brand-name small{font-size:18px;margin-top:4px}
    .brand-by{font-size:10px;padding-left:58px;margin-top:4px}
    .brand-tagline{display:none}
    
    /* Nav: モバイルではハンバーガーメニューに */
    .gnav{display:none}
    .gnav.open{
      display:flex;flex-direction:column;align-items:flex-start;gap:0;
      width:100%;background:#fff;border-radius:10px;padding:8px 0;
      margin-top:10px;border:1px solid var(--line);
    }
    .gnav.open a{
      width:100%;padding:12px 16px;font-size:13px;
      border-bottom:1px solid var(--line);
    }
    .gnav.open a:last-child{border-bottom:none}
    .gnav-search{display:none}
    .menu-toggle{
      display:flex;flex-direction:column;justify-content:center;align-items:center;
      gap:4px;background:none;border:2px solid var(--ink);border-radius:6px;
      width:38px;height:38px;cursor:pointer;padding:0;margin-left:auto;
    }
    .menu-toggle span{display:block;width:18px;height:2px;background:var(--ink);border-radius:1px}

    /* Hero */
    .hero-block{padding-bottom:10px;min-height:auto}
    .hero-mascot{width:70px;left:50%;transform:translateX(-50%) rotate(-4deg);right:auto;bottom:6px}
    .hero-copy{padding:20px 16px 80px}
    .hero-copy-jp{font-size:26px;line-height:1.35}
    .hero-copy-en{font-size:11px}

    /* Pick Up */
    .pickup-wrap{padding:24px 0 50px}
    .pickup-head{padding:0 16px;margin-bottom:18px}
    .pickup-head-title{font-size:26px}
    .pickup-head-line{height:3px}
    .pickup-carousel{
      padding:0 16px;
      grid-template-columns:repeat(5,minmax(220px,1fr));
      gap:14px;
    }
    .pickup-list > :first-child{grid-row:auto;grid-column:auto}
    .db-card-thumb{border-width:2px;border-radius:12px;box-shadow:3px 3px 0 var(--ink)}
    .db-card-thumb::before,.db-card-thumb::after{width:22px;height:8px}
    .db-card-label{font-size:9.5px;padding:2px 10px;top:8px}
    .db-card-illust{inset:26px 12px 12px;border-radius:8px;padding:10px;border-width:1.5px}
    .db-card-illust-text{font-size:15px;line-height:1.35}
    .db-card-illust-subtext{font-size:9.5px;margin-top:4px}
    .db-card-bubble{font-size:9.5px;padding:3px 9px}
    .db-card-bubble.tl{top:36px;left:12px}
    .db-card-bubble.tr{top:36px;right:12px}
    .db-card-cattag{font-size:10.5px;padding:5px 12px;bottom:-10px;left:10px}
    .db-card-mascot{width:50px}
    .db-card-mascot.br{right:-4px;bottom:4px}
    .db-card-mascot.bl{left:-4px;bottom:4px}
    .db-card-mascot.tr{right:6px;top:22px;width:34px}
    .db-card-body{padding:16px 4px 0}
    .db-card-title{font-size:13.5px;line-height:1.55}
    .db-card-meta{font-size:10.5px;gap:6px}

    /* Main area */
    .main-area{grid-template-columns:1fr;gap:40px;padding:40px 16px}
    .sec-title-block{margin-bottom:24px;padding-left:16px;border-left-width:5px}
    .sec-title-jp{font-size:24px;margin-bottom:8px}
    .sec-title-en{font-size:12px}
    
    /* Latest: 2カラムで4枚表示 */
    .latest-grid{grid-template-columns:repeat(2,1fr);gap:20px 12px}
    .latest-grid .db-card-thumb{aspect-ratio:16/11}
    .latest-grid .db-card-illust-text{font-size:14px;line-height:1.3}
    .latest-grid .db-card-illust-subtext{font-size:9px;margin-top:4px}
    .latest-grid .db-card-title{font-size:12.5px;line-height:1.5;margin-bottom:6px}
    .latest-grid .db-card-meta{font-size:10px;gap:6px}
    .latest-grid .db-card-label{font-size:9px;padding:2px 8px;top:6px}
    .latest-grid .db-card-cattag{font-size:9.5px;padding:4px 10px;bottom:-9px;left:8px}
    .latest-grid .db-card-illust{inset:22px 10px 10px;border-radius:7px;padding:6px;border-width:1.5px}
    .latest-grid .db-card-thumb::before,.latest-grid .db-card-thumb::after{width:18px;height:7px}
    .latest-grid .db-card-bubble{font-size:9px;padding:2px 7px}
    .latest-grid .db-card-bubble.tl{top:30px;left:8px}
    .latest-grid .db-card-bubble.tr{top:30px;right:8px}
    .latest-grid .db-card-mascot{width:38px}
    .latest-grid .db-card-mascot.br{right:-3px;bottom:3px}
    .latest-grid .db-card-mascot.bl{left:-3px;bottom:3px}
    .latest-grid .db-card-mascot.tr{right:4px;top:18px;width:26px}
    .latest-grid .db-card-body{padding:14px 2px 0}
    
    /* Side banner 小さく */
    .side-banner-1{padding:18px 16px}
    .side-banner-1-small{font-size:10px;padding:3px 12px}
    .side-banner-1-big{font-size:18px}
    .side-banner-1-bottom{font-size:12px}
    .side-banner-1-mascot{width:58px;top:-22px;right:-6px}
    .side-banner-2{padding:18px 14px}
    .side-banner-2-text{font-size:16px}
    .side-banner-3{padding:12px 16px;font-size:13px}
    .side-banner-3-mascot{width:44px}
    
    /* Ranking */
    .side-block-head-title{font-size:22px}
    .rank-item-thumb{width:80px}
    .rank-title{font-size:12.5px}

    /* Categories */
    .cat-section{padding:50px 16px}
    .cat-section-head{margin-bottom:32px}
    .cat-section-jp{font-size:26px}
    .cat-section-en{font-size:11px;margin-bottom:10px}
    .cat-section-desc{font-size:12.5px;line-height:1.85}
    .cat-section-head-mascot{width:50px;right:0;top:-8px}
    .cat-grid{grid-template-columns:repeat(2,1fr);gap:20px 12px;margin-bottom:26px}
    .cat-grid .db-card-thumb{aspect-ratio:16/11}
    .cat-grid .db-card-illust-text{font-size:13px}
    .cat-grid .db-card-title{font-size:12.5px}
    
    /* Bottom CTA */
    .bottom-cta{padding:50px 16px}
    .bottom-cta-logo{width:72px;height:72px}
    .bottom-cta-logo img{width:56px;height:56px}
    .bottom-cta-head{font-size:22px}
    .bottom-cta-desc{font-size:12.5px}
    .bottom-cta-btn{font-size:13px;padding:12px 22px}
    .bottom-cta-mascot,.bottom-cta-mascot-r{width:70px;bottom:10px}
    
    /* Footer */
    .footer{padding:50px 20px 24px}
    .footer-inner{grid-template-columns:1fr;gap:30px}
    .footer-brand-logo{font-size:30px}
    .footer-brand-logo small{font-size:22px}
    .footer-brand-icon{width:48px;height:48px}
    .footer-brand-icon img{width:38px;height:38px;border-radius:50%;object-fit:cover}
    .footer-brand-by{font-size:11px;padding-left:62px}
  }
  
  /* ========== Mobile (max-width:520px) ========== */
  @media (max-width:520px){
    /* Header */
    .brand-name{font-size:22px}
    .brand-name small{font-size:16px}
    .brand-icon{width:44px;height:44px}
    .brand-icon img{width:34px;height:34px}
    .brand-by{font-size:9.5px;padding-left:52px}

    /* Hero */
    .hero-copy{padding:16px 14px 70px}
    .hero-copy-jp{font-size:22px;line-height:1.35}
    .hero-copy-en{font-size:10px;letter-spacing:.25em}
    .hero-mascot{width:58px;left:50%;transform:translateX(-50%) rotate(-4deg);right:auto;bottom:4px}
    
    /* Pick Up */
    .pickup-wrap{padding:22px 0 40px}
    .pickup-head{padding:0 14px;margin-bottom:14px;gap:12px}
    .pickup-head-title{font-size:22px}
    .pickup-carousel{
      padding:0 14px;
      grid-template-columns:repeat(5,minmax(195px,1fr));
      gap:12px;
    }
    .db-card-title{font-size:13px}
    .db-card-meta{font-size:10px}
    .db-card-illust-text{font-size:14px}
    .db-card-label{font-size:9px;padding:2px 8px}
    .db-card-cattag{font-size:10px;padding:4px 10px}

    /* Main area */
    .main-area{gap:32px;padding:32px 14px}
    .sec-title-jp{font-size:22px}
    .sec-title-en{font-size:11px}

    /* Latest: 2カラム維持で更に小さく */
    .latest-grid{gap:18px 10px}
    .latest-grid .db-card-illust-text{font-size:12.5px;line-height:1.3}
    .latest-grid .db-card-illust-subtext{font-size:8.5px}
    .latest-grid .db-card-title{font-size:11.5px;line-height:1.5}
    .latest-grid .db-card-meta{font-size:9.5px}
    .latest-grid .db-card-label{font-size:8.5px;padding:1px 6px}
    .latest-grid .db-card-cattag{font-size:9px;padding:3px 8px;bottom:-8px}
    .latest-grid .db-card-bubble{font-size:8.5px;padding:2px 6px}
    .latest-grid .db-card-mascot{width:32px}
    .latest-grid .db-card-mascot.tr{width:22px}
    
    /* Ranking */
    .rank-item-thumb{width:70px;font-size:10px}
    .rank-num{width:24px;height:24px;font-size:11px}
    .rank-title{font-size:12px}
    .rank-date{font-size:10px}
    .side-block-head-title{font-size:20px}

    /* Tags */
    .tag-wrap a{font-size:11.5px}

    /* Categories */
    .cat-section{padding:40px 14px}
    .cat-section-head{margin-bottom:26px}
    .cat-section-jp{font-size:22px}
    .cat-section-en{font-size:10px}
    .cat-section-desc{font-size:12px;line-height:1.8}
    .cat-section-head-mascot{width:42px}
    .cat-grid{grid-template-columns:repeat(2,1fr);gap:18px 10px}
    .cat-grid .db-card-thumb{aspect-ratio:16/11}
    .cat-grid .db-card-illust-text{font-size:12px;line-height:1.3}
    .cat-grid .db-card-illust-subtext{font-size:8.5px}
    .cat-grid .db-card-title{font-size:11.5px;line-height:1.5}
    .cat-grid .db-card-meta{font-size:9.5px}
    .cat-grid .db-card-label{font-size:8.5px;padding:1px 6px}
    .cat-grid .db-card-cattag{font-size:9px;padding:3px 8px;bottom:-8px}
    .cat-grid .db-card-illust{inset:20px 8px 8px;padding:4px;border-radius:6px;border-width:1.5px}
    .cat-grid .db-card-thumb::before,.cat-grid .db-card-thumb::after{width:16px;height:7px}
    .cat-grid .db-card-body{padding:12px 2px 0}
    
    /* Bottom CTA */
    .bottom-cta{padding:40px 14px}
    .bottom-cta-logo{width:64px;height:64px}
    .bottom-cta-logo img{width:48px;height:48px}
    .bottom-cta-head{font-size:19px}
    .bottom-cta-desc{font-size:12px;line-height:1.85}
    .bottom-cta-btns{flex-direction:column;gap:10px}
    .bottom-cta-btn{font-size:12.5px;padding:11px 20px;width:100%;justify-content:center}
    .bottom-cta-mascot,.bottom-cta-mascot-r{display:none}

    /* Page TOP */
    .page-top-wrap{padding:16px}
    
    /* Footer */
    .footer{padding:40px 16px 20px}
    .footer-brand-logo{font-size:26px}
    .footer-brand-logo small{font-size:20px}
    .footer-brand-sub{font-size:11.5px}
    .footer-lead{font-size:11.5px}
    .footer-nav{gap:12px 20px}
    .footer-nav a{font-size:12px;padding-left:14px}
    .footer-sub a,.footer-legal a{font-size:11.5px}
    .footer-copyright{font-size:10.5px}
  }


/* ===== ARTICLE (column) CSS ===== */

:root{
  color-scheme:light only;
  --main:#7bc142;--main-d:#5ea030;--main-dd:#3e7a1f;
  --main-l:#d8f0dd;--main-l2:#eef7e1;--main-pale:#f5faeb;
  --ink:#1a1a1a;--ink-sub:#555;--ink-lite:#888;
  --accent:#d63031;--accent-d:#a02020;
  --cream:#fff5d4;--cream-d:#f5e4a0;
  --bg-pink:#ffe5e7;--bg-cream:#fff5d4;--bg-mint:#d8f0dd;--bg-blue:#d9ebf5;
  --paper:#fffef9;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  color:var(--ink);background:var(--paper);
  line-height:1.9;font-size:16px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:"Hiragino Maru Gothic ProN","M PLUS Rounded 1c",sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ==================== Header ==================== */
.header{background:#fff;border-bottom:3px solid var(--ink);padding:14px 24px;position:sticky;top:0;z-index:100;box-shadow:0 2px 0 rgba(0,0,0,.04)}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo-wrap{display:flex;align-items:center;gap:12px}
.logo-icon{width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--ink);overflow:hidden;flex-shrink:0}
.logo-icon img{width:80%;height:auto}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-main{font-family:"Hiragino Maru Gothic ProN",sans-serif;font-size:22px;font-weight:900;letter-spacing:.04em}
.logo-sub{font-size:10px;color:var(--main-d);letter-spacing:.2em;margin-top:2px}
.logo-tag{font-size:11px;color:var(--ink-sub);margin-left:16px;letter-spacing:.1em}
.nav{display:flex;gap:20px;align-items:center;font-size:13px;font-weight:700}
.nav a:hover{color:var(--main-d)}
.nav-x{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:bold}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.hamburger span{width:24px;height:3px;background:var(--ink);border-radius:2px}

/* ==================== Breadcrumb ==================== */
.breadcrumb{max-width:1100px;margin:0 auto;padding:18px 24px;font-size:12px;color:var(--ink-sub)}
.breadcrumb a:hover{color:var(--main-d)}
.breadcrumb span{margin:0 8px;color:#aaa}

/* ==================== Article Hero ==================== */
.article-hero{max-width:920px;margin:0 auto;padding:12px 24px 24px;position:relative}
.hero-topline{display:flex;align-items:center;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.category-tag{
  display:inline-flex;align-items:center;gap:6px;
  background:var(--ink);color:#fff;
  padding:8px 18px;font-size:12px;font-weight:800;
  border-radius:50px;letter-spacing:.1em;
}
.category-tag::before{content:"#";color:var(--main)}
.article-number{
  font-family:"Hiragino Maru Gothic ProN",sans-serif;
  font-size:11px;color:var(--ink-lite);letter-spacing:.3em;
  padding:8px 14px;border:2px solid var(--ink-lite);border-radius:50px;
  font-weight:800;
}
.article-title{font-size:38px;font-weight:900;line-height:1.45;margin-bottom:22px;letter-spacing:.02em}
.article-title .hl{background:linear-gradient(transparent 62%,var(--cream) 62%);padding:0 4px}
.article-meta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--ink-sub);padding-bottom:22px;border-bottom:2px dashed var(--main)}
.meta-date::before{content:"📅 ";margin-right:4px}
.meta-time::before{content:"⏱ ";margin-right:4px}
.meta-update{font-size:11px;color:var(--ink-lite)}
.meta-update::before{content:"🔄 ";margin-right:4px}
.meta-tags{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.meta-tags .tag{background:var(--main-l);color:var(--main-dd);padding:4px 12px;border-radius:50px;font-size:11px;font-weight:700}

/* ==================== Eyecatch (v4修正) ==================== */
/* マスコットは「独立装飾ゾーン」として使用。テキストはマスコット領域に侵入しない */
.article-eyecatch{max-width:920px;margin:26px auto;padding:0 24px}
.eyecatch-box{
  aspect-ratio:16/9;
  border:3px solid var(--ink);border-radius:18px;
  box-shadow:6px 6px 0 var(--ink);
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--bg-mint) 0%,#c5e4ce 100%);
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
}
.eyecatch-tape{position:absolute;width:44px;height:14px;background:var(--ink);border-radius:3px;z-index:5;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.eyecatch-tape.tl{top:14px;left:14px;transform:rotate(-8deg)}
.eyecatch-tape.tr{top:14px;right:14px;transform:rotate(8deg)}
.eyecatch-box::before{
  content:"";position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(62,122,31,.12) 1.5px,transparent 1.5px);
  background-size:20px 20px;z-index:0;
}
/* タイトルは左半分に収める */
.eyecatch-title{
  padding:0 0 0 7%;
  font-family:"Hiragino Maru Gothic ProN",sans-serif;
  font-size:32px;font-weight:900;line-height:1.4;
  color:var(--ink);z-index:3;position:relative;
}
.eyecatch-title small{display:block;font-size:12px;color:var(--main-dd);letter-spacing:.3em;margin-bottom:10px;font-weight:800}
.eyecatch-title .num{display:inline-block;background:var(--ink);color:#fff;padding:2px 10px;border-radius:4px;font-size:14px;margin-right:8px}
.eyecatch-title .hl-y{background:linear-gradient(transparent 60%,var(--cream-d) 60%);padding:0 4px}
/* 吹き出しはタイトル側・マスコットと被らない位置 */
.eyecatch-bubble{
  display:inline-block;margin-top:18px;
  background:#fff;border:2px solid var(--ink);
  padding:8px 16px;border-radius:20px;font-size:12px;font-weight:800;
  box-shadow:2px 2px 0 var(--ink);position:relative;
}
.eyecatch-bubble::before{content:"👉 ";margin-right:4px}
/* マスコットは右半分に独立配置（文字なしガッツを使用） */
.eyecatch-mascot-wrap{
  position:relative;height:95%;
  display:flex;align-items:flex-end;justify-content:center;
  padding-bottom:0;z-index:2;
}
.eyecatch-mascot{height:100%;width:auto;max-width:85%;object-fit:contain;filter:drop-shadow(4px 4px 0 rgba(0,0,0,.1))}

/* ==================== Layout ==================== */
.article-layout{max-width:1100px;margin:0 auto;padding:24px;display:grid;grid-template-columns:1fr 300px;gap:56px}
.article-body{min-width:0}
.sidebar{min-width:0}

/* ==================== TOC ==================== */
.toc{background:#fff;border:3px solid var(--ink);border-radius:18px;padding:22px 26px;margin:24px 0 48px;box-shadow:5px 5px 0 var(--main);position:relative}
.toc-title{font-size:17px;font-weight:900;margin-bottom:14px;display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:2px dotted var(--main)}
.toc-title::before{content:"📖";font-size:22px}
.toc-title small{font-size:10px;color:var(--ink-lite);letter-spacing:.2em;font-weight:700;margin-left:auto}
.toc-list{list-style:none;padding:0;margin:0;counter-reset:toc}
.toc-list li{counter-increment:toc;position:relative;padding:10px 0 10px 38px;border-bottom:1px dashed #ddd}
.toc-list li:last-child{border-bottom:none}
.toc-list li::before{content:counter(toc,decimal-leading-zero);position:absolute;left:0;top:10px;font-family:"Hiragino Maru Gothic ProN",sans-serif;font-size:13px;font-weight:900;color:var(--main-d);background:var(--main-l);padding:2px 8px;border-radius:4px}
.toc-list li a{font-size:14px;font-weight:700;color:var(--ink)}
.toc-list li a:hover{color:var(--main-d)}

/* ==================== Body ==================== */
.lead{background:var(--main-pale);border-left:6px solid var(--main);padding:26px 30px;border-radius:0 14px 14px 0;font-size:16.5px;margin-bottom:40px;line-height:2;position:relative}
.lead::before{content:"";position:absolute;top:-3px;left:-6px;width:6px;height:40px;background:var(--main-dd)}

.chapter-label{display:inline-block;font-family:"Hiragino Maru Gothic ProN",sans-serif;font-size:11px;font-weight:900;color:var(--main-d);letter-spacing:.3em;background:var(--main-l);padding:4px 12px;border-radius:4px;margin-top:60px}
.article-body h2{font-size:28px;font-weight:900;margin:14px 0 26px;padding:18px 22px;background:linear-gradient(90deg,var(--main-l) 0%,transparent 100%);border-left:10px solid var(--main);border-radius:0 10px 10px 0;position:relative;line-height:1.5}
.article-body h2::before{content:"";position:absolute;left:-10px;top:0;bottom:0;width:10px;background:var(--main-dd)}
.article-body h3{font-size:21px;font-weight:800;margin:44px 0 18px;padding:6px 0 6px 18px;border-left:6px solid var(--main-d);color:var(--main-dd);position:relative}
.article-body h4{font-size:17px;font-weight:800;margin:28px 0 12px;color:var(--ink)}
.article-body h4::before{content:"▶ ";color:var(--main)}
.article-body p{margin:16px 0;font-size:16px;line-height:2}
.article-body strong{background:linear-gradient(transparent 60%,var(--main-l) 60%);font-weight:800;padding:0 2px}
.article-body a{color:var(--main-dd);border-bottom:2px solid var(--main-l);font-weight:700}
.article-body a:hover{border-bottom-color:var(--main-d)}
.article-body ul,.article-body ol{margin:20px 0;padding-left:0;list-style:none}
.article-body ul li{position:relative;padding:8px 0 8px 32px;line-height:1.8}
.article-body ul li::before{content:"✓";position:absolute;left:8px;top:8px;color:var(--main-d);font-weight:900;font-size:18px}
.article-body ol{counter-reset:num}
.article-body ol li{counter-increment:num;position:relative;padding:8px 0 8px 44px;line-height:1.8}
.article-body ol li::before{content:counter(num);position:absolute;left:0;top:8px;width:28px;height:28px;border-radius:50%;background:var(--main);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px}

.info-box{background:var(--main-l2);border:2px solid var(--main);border-radius:16px;padding:24px 28px;margin:32px 0;position:relative}
.info-box-title{font-size:16px;font-weight:900;color:var(--main-dd);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.info-box-title::before{content:"💡";font-size:20px}
.info-box ul{margin:0}
.info-box ul li{padding:6px 0 6px 28px}
.info-box ul li::before{top:6px}

.warn-box{background:#fff4f4;border:2px solid var(--accent);border-radius:16px;padding:24px 28px;margin:32px 0}
.warn-box-title{font-size:16px;font-weight:900;color:var(--accent);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.warn-box-title::before{content:"⚠️";font-size:20px}

.point-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:32px 0}
.point-card{background:#fff;border:2.5px solid var(--ink);border-radius:16px;padding:22px 18px 18px;position:relative;box-shadow:4px 4px 0 var(--ink);text-align:center}
.point-card-num{position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;font-family:"Hiragino Maru Gothic ProN",sans-serif;font-size:17px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2.5px solid var(--ink)}
.point-card-title{font-size:15px;font-weight:900;margin:10px 0 10px;line-height:1.4}
.point-card-text{font-size:12px;color:var(--ink-sub);line-height:1.7}
.point-card-icon{font-size:36px;margin-bottom:6px}

/* ========== 体験談ボックス（v4修正） ========== */
/* マスコット領域とテキスト領域を完全分離。グリッドで2カラム化 */
.voice-box{
  background:var(--cream);border:2.5px solid var(--ink);border-radius:18px;
  padding:24px 28px;margin:32px 0;box-shadow:5px 5px 0 var(--ink);
  display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;
}
.voice-mascot-col{
  display:flex;align-items:center;justify-content:center;
}
.voice-mascot{height:110px;width:auto;max-width:100%}
.voice-body-col{min-width:0}
.voice-box-title{font-size:14px;font-weight:900;color:var(--ink);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.voice-box-title::before{content:"💬";font-size:18px}
.voice-body-col p{font-size:15px;line-height:1.85;margin:0}
.voice-name{font-size:12px;color:var(--ink-sub);margin-top:12px !important;text-align:right;font-weight:700}

.article-body table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px;border:2.5px solid var(--ink);border-radius:12px;overflow:hidden}
.article-body th{background:var(--main);color:#fff;padding:14px;text-align:left;font-weight:800;border-right:1px solid rgba(255,255,255,.3)}
.article-body th:last-child{border-right:none}
.article-body td{padding:12px 14px;border-top:1px solid var(--main-l);border-right:1px solid var(--main-l)}
.article-body td:last-child{border-right:none}
.article-body tr:nth-child(even) td{background:var(--main-pale)}

/* 締めCTAバナー（3枚並列: ドライバー/会社/M&A） */
/* ===== CTA 3点並列バナー (v13) ===== */
.banner-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.banner-card {
  position: relative;
  background: #fff;
  border: 3px solid var(--ink);
  border-radius: 16px;
  box-shadow: 6px 6px 0 var(--ink);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 480px;
  text-decoration: none;
  color: inherit;
}

/* 上部:【公式】+ 「○○向け」キャッチ + 番号 */
.banner-top {
  padding: 8px 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 3px solid var(--ink);
  font-weight: 900;
  font-size: 12px;
  position: relative;
  z-index: 5;
  gap: 4px;
}
.banner-top .official {
  background: var(--ink);
  color: #fff;
  padding: 3px 6px;
  border-radius: 4px;
  font-size: 9.5px;
  letter-spacing: 0.5px;
  flex-shrink: 0;
}
.banner-top .label {
  flex: 1;
  text-align: center;
  font-size: 11px;
  letter-spacing: -0.02em;
  line-height: 1.3;
  white-space: nowrap;
}
.banner-top .num {
  background: var(--ink);
  color: #fff;
  padding: 3px 6px;
  border-radius: 4px;
  font-size: 9.5px;
  flex-shrink: 0;
}

.banner-visual {
  position: relative;
  min-height: 230px;
  overflow: hidden;
}

.banner-visual .logo-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 2px solid var(--ink);
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 10px;
  font-weight: 900;
  box-shadow: 2px 2px 0 var(--ink);
}
.banner-visual .logo-badge img {
  height: 28px;
  width: auto;
  object-fit: contain;
}
.banner-visual .logo-badge.round {
  border-radius: 50%;
  padding: 3px;
  width: 50px;
  height: 50px;
}
.banner-visual .logo-badge.round img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.banner-visual .mascot {
  position: absolute;
  right: -30px;
  bottom: -15px;
  width: 230px;
  z-index: 4;
}

.banner-body {
  padding: 16px 18px 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-top: 3px solid var(--ink);
}
.banner-body h3 {
  font-family: "Hiragino Maru Gothic ProN", sans-serif;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.4;
  margin-bottom: 8px;
}
.banner-body h3 .hl {
  background: linear-gradient(transparent 60%, #fff5a3 60%);
  padding: 0 2px;
}
.banner-body p {
  font-size: 12px;
  line-height: 1.65;
  color: #444;
  margin-bottom: 14px;
  flex: 1;
}

.banner-cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-weight: 900;
  font-size: 12.5px;
  padding: 12px 8px;
  border-radius: 50px;
  border: 2px solid var(--ink);
  text-align: center;
  line-height: 1.3;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
.banner-cta-btn::after { content: "→"; font-size: 16px; }

/* ========== 01 ドライバー向け:緑 ========== */
.banner-card.type-driver .banner-top {
  background: var(--main);
  color: #fff;
}
.banner-card.type-driver .banner-visual {
  background: var(--main-l);
  background-image: repeating-linear-gradient(
    -30deg, transparent 0px, transparent 22px,
    rgba(94,160,48,0.18) 22px, rgba(94,160,48,0.18) 24px
  );
}
.banner-card.type-driver .banner-cta-btn {
  background: var(--main);
  color: #fff;
}

/* ========== 02 掲載検討者向け:赤 ========== */
.banner-card.type-company .banner-top {
  background: var(--accent);
  color: #fff;
}
.banner-card.type-company .banner-visual {
  background: var(--accent-l);
  background-image: repeating-linear-gradient(
    -30deg, transparent 0px, transparent 22px,
    rgba(214,48,49,0.12) 22px, rgba(214,48,49,0.12) 24px
  );
}
.banner-card.type-company .banner-cta-btn {
  background: var(--accent);
  color: #fff;
}

/* ========== 03 売却前提で起業:ゴールド ========== */
.banner-card.type-ma .banner-top {
  background: #f5c842;
  color: var(--ink);
}
.banner-card.type-ma .banner-top .official {
  background: var(--ink);
  color: #f5c842;
}
.banner-card.type-ma .banner-visual {
  background: var(--gold-l);
  background-image: repeating-linear-gradient(
    -30deg, transparent 0px, transparent 22px,
    rgba(212,168,20,0.18) 22px, rgba(212,168,20,0.18) 24px
  );
}
.banner-card.type-ma .banner-cta-btn {
  background: var(--gold);
  color: var(--ink);
}

@media (max-width: 900px) {
  .banner-grid { grid-template-columns: 1fr; gap: 18px; max-width: 500px; }
  .banner-card { min-height: auto; }
  .banner-visual .mascot { width: 210px; right: -20px; }
}


.summary-box{background:#fff;border:3px solid var(--ink);border-radius:20px;padding:30px 32px;margin:52px 0;box-shadow:6px 6px 0 var(--main)}
.summary-box-title{font-size:22px;font-weight:900;margin-bottom:18px;padding-bottom:14px;border-bottom:3px dotted var(--main);display:flex;align-items:center;gap:12px}
.summary-box-title::before{content:"📝";font-size:26px}

.author-box{background:var(--main-pale);border:2px solid var(--main);border-radius:14px;padding:20px 24px;margin:40px 0 20px;display:flex;align-items:center;gap:18px}
.author-avatar{width:62px;height:62px;border-radius:50%;background:#fff;border:2px solid var(--ink);overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.author-avatar img{width:85%;height:auto}
.author-info{flex:1;min-width:0}
.author-label{font-size:10px;color:var(--main-dd);letter-spacing:.2em;font-weight:800;margin-bottom:2px}
.author-name{font-size:15px;font-weight:900;margin-bottom:4px}
.author-desc{font-size:12px;color:var(--ink-sub);line-height:1.6}

.share-row{display:flex;align-items:center;gap:14px;margin:26px 0 10px;padding:18px 0;border-top:1px dashed #ccc;border-bottom:1px dashed #ccc}
.share-label{font-size:12px;font-weight:800;color:var(--ink-sub);letter-spacing:.1em}
.share-btns{display:flex;gap:8px}
.share-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;background:#fff;transition:transform .15s}
.share-btn:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--ink)}
.share-btn.x{background:var(--ink);color:#fff}
.share-btn.fb{background:#1877f2;color:#fff;border-color:var(--ink)}
.share-btn.ln{background:#06c755;color:#fff;border-color:var(--ink)}
.share-btn.cp{background:#fff;color:var(--ink)}

/* ========== Sidebar（v4修正） ========== */
/* サイドバナーもグリッドでマスコットとテキストを完全分離 */
.sidebar{font-size:14px}
.side-sticky{position:sticky;top:90px}
.side-card{border:2px solid var(--ink);border-radius:16px;padding:20px;margin-bottom:24px;box-shadow:4px 4px 0 var(--ink);background:#fff}
.side-card-title{font-size:14px;font-weight:900;padding-bottom:10px;margin-bottom:14px;border-bottom:2px solid var(--main);display:flex;align-items:center;gap:6px}

.side-banner{
  background:var(--main-l2);border:2px solid var(--ink);border-radius:16px;
  padding:18px;margin-bottom:24px;box-shadow:4px 4px 0 var(--ink);
  display:grid;grid-template-columns:78px 1fr;gap:14px;align-items:center;
}
.side-banner-mascot-col{display:flex;align-items:center;justify-content:center}
.side-banner-mascot{width:78px;height:auto;max-height:90px;object-fit:contain}
.side-banner-body{min-width:0}
.side-banner-title{font-size:14px;font-weight:900;margin-bottom:4px;line-height:1.3}
.side-banner-text{font-size:11px;margin-bottom:8px;color:var(--ink-sub);line-height:1.5}
.side-banner-btn{display:inline-block;background:var(--main-d);color:#fff;padding:6px 14px;border-radius:50px;font-weight:700;font-size:11px}

/* マスコットなしバナー */
.side-banner.no-mascot{grid-template-columns:1fr;text-align:center;padding:20px}
.warn-banner{
  display:block;background:var(--main-dd);color:#fff;padding:22px 20px;
  text-align:center;border:2px solid var(--ink);
}
.warn-banner .side-banner-title{color:#fff;font-size:15px;margin-bottom:8px;line-height:1.4}
.warn-banner .side-banner-text{color:#f5f5f5;font-size:12px;margin-bottom:14px;line-height:1.6}
.warn-banner .side-banner-btn{
  display:inline-block;background:#fff;color:var(--main-dd);
  padding:9px 20px;font-size:12px;font-weight:900;white-space:nowrap;
}

.ranking-item{display:flex;gap:10px;padding:10px 0;border-bottom:1px dashed #ddd;align-items:flex-start}
.ranking-item:last-child{border-bottom:none}
.ranking-num{flex-shrink:0;width:26px;height:26px;border-radius:6px;background:var(--main);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px}
.ranking-item:nth-child(1) .ranking-num{background:#f1c40f;color:var(--ink)}
.ranking-item:nth-child(2) .ranking-num{background:#bdc3c7;color:var(--ink)}
.ranking-item:nth-child(3) .ranking-num{background:#cd7f32;color:#fff}
.ranking-text{font-size:12px;line-height:1.5;font-weight:700}
.tag-list{display:flex;flex-wrap:wrap;gap:6px}
.tag-list a{background:var(--main-pale);color:var(--main-dd);padding:4px 10px;border-radius:50px;font-size:11px;font-weight:700}
.tag-list a:hover{background:var(--main-l)}

/* ========== Bottom CTA（v4修正） ========== */
/* マスコット配置エリアとテキスト配置エリアをgridで分離 */
.bottom-cta{
  background:var(--main-l);padding:0;margin-top:60px;
  border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);
  position:relative;overflow:hidden;
}
.bottom-cta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(62,122,31,.08) 1.5px,transparent 1.5px);background-size:24px 24px;z-index:0}
.bottom-cta-grid{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:220px 1fr 220px;
  align-items:end;position:relative;z-index:1;
  min-height:340px;
}
.bottom-cta-side{
  display:flex;align-items:flex-end;justify-content:center;
  height:100%;padding-bottom:0;
}
.bottom-cta-side img{height:230px;width:auto;max-width:100%}
.bottom-cta-inner{
  text-align:center;padding:56px 24px;position:relative;z-index:2;
}
.bottom-cta-logo{width:86px;height:86px;border-radius:50%;background:#fff;border:3px solid var(--ink);display:flex;align-items:center;justify-content:center;margin:0 auto 22px;box-shadow:5px 5px 0 var(--ink);overflow:hidden}
.bottom-cta-logo img{width:78%;height:auto}
.bottom-cta-label{display:inline-block;background:var(--ink);color:#fff;padding:5px 18px;border-radius:50px;font-size:11px;font-weight:900;letter-spacing:.2em;margin-bottom:12px}
.bottom-cta-title{font-size:32px;font-weight:900;margin-bottom:12px;line-height:1.4}
.bottom-cta-sub{font-size:14px;color:var(--ink-sub);margin-bottom:30px}
.bottom-cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.bottom-cta-btn{display:inline-block;padding:17px 40px;border-radius:50px;font-weight:900;font-size:15px;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);transition:transform .2s}
.bottom-cta-btn.primary{background:var(--accent);color:#fff}
.bottom-cta-btn.secondary{background:#fff;color:var(--ink)}
.bottom-cta-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}

/* ==================== Related ==================== */
.related{max-width:1100px;margin:60px auto;padding:0 24px}
.related-title{font-size:26px;font-weight:900;margin-bottom:8px;display:flex;align-items:center;gap:16px}
.related-title::after{content:"";flex:1;height:3px;background:var(--ink);border-radius:2px}
.related-title::before{content:"🔗"}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}
.related-card{border:2.5px solid var(--ink);border-radius:16px;overflow:hidden;background:#fff;box-shadow:5px 5px 0 var(--ink);transition:transform .2s}
.related-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--ink)}
.related-thumb{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.related-thumb img{height:85%;width:auto;filter:drop-shadow(2px 2px 0 rgba(0,0,0,.08))}
.related-body{padding:16px}
.related-cat{display:inline-block;background:var(--ink);color:#fff;padding:3px 12px;border-radius:50px;font-size:10px;font-weight:800;margin-bottom:10px;letter-spacing:.1em}
.related-ttl{font-size:14px;font-weight:800;line-height:1.55}

/* ==================== Footer ==================== */
/* 背景マスコットは透明度と位置をさらに抑えてテキストと重ならない */
.footer{background:var(--ink);color:#fff;padding:56px 24px 24px;margin-top:60px;position:relative;overflow:hidden}
.footer-bg-mascot{position:absolute;right:-80px;bottom:-40px;height:220px;opacity:.08;z-index:1;pointer-events:none}
.footer-inner{max-width:1100px;margin:0 auto;text-align:center;position:relative;z-index:2}
.footer-logo-row{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:10px}
.footer-logo-icon{width:62px;height:62px;border-radius:50%;background:#fff;border:3px solid #fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.footer-logo-icon img{width:75%;height:auto}
.footer-logo{font-family:"Hiragino Maru Gothic ProN",sans-serif;font-size:42px;font-weight:900;letter-spacing:.08em}
.footer-tag{font-size:14px;color:var(--main);margin-bottom:24px;letter-spacing:.2em}
.footer-nav{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;font-size:13px;margin-bottom:30px}
.footer-nav a{display:flex;align-items:center;gap:6px}
.footer-nav a::before{content:"●";color:var(--main);font-size:8px}
.footer-copy{font-size:11px;color:#888;padding-top:20px;border-top:1px solid #333}

/* ==================== Responsive ==================== */
@media(max-width:1000px){
  .article-layout{grid-template-columns:1fr;gap:40px}
  .related-grid{grid-template-columns:repeat(2,1fr)}
  .nav{display:none}
  .hamburger{display:flex}
  .logo-tag{display:none}
  .side-sticky{position:static}
  .article-title{font-size:30px}
  .eyecatch-title{font-size:24px}
  .bottom-cta-grid{grid-template-columns:120px 1fr 120px;min-height:280px}
  .bottom-cta-side img{height:150px}
}
@media(max-width:640px){
  .bottom-cta-grid{grid-template-columns:1fr;min-height:auto}
  .bottom-cta-side{display:none}
}
@media(max-width:520px){
  body{font-size:15px}
  .header{padding:10px 16px}
  .logo-main{font-size:18px}
  .logo-icon{width:36px;height:36px}
  .logo-sub{font-size:9px}
  .article-title{font-size:22px;line-height:1.45}
  .article-hero{padding:8px 16px 16px}
  .article-eyecatch{padding:0 16px}
  .eyecatch-box{aspect-ratio:4/3}
  .eyecatch-title{font-size:17px;padding:0 0 0 6%}
  .eyecatch-title small{font-size:9px;margin-bottom:4px;letter-spacing:.2em}
  .eyecatch-title .num{font-size:11px;padding:1px 7px}
  .eyecatch-bubble{font-size:10px;padding:5px 9px;margin-top:10px}
  .eyecatch-mascot{max-width:95%}
  .article-layout{padding:16px;gap:32px}
  .lead{padding:20px 22px;font-size:15px}
  .article-body h2{font-size:20px;padding:12px 14px}
  .article-body h3{font-size:17px}
  .article-body h4{font-size:15px}
  .article-body p{font-size:15px;line-height:1.85}
  .info-box,.warn-box{padding:18px 20px}
  .voice-box{grid-template-columns:80px 1fr;gap:14px;padding:18px 20px}
  .voice-mascot{height:80px}
  .point-cards{grid-template-columns:1fr;gap:28px}
  .summary-box{padding:22px}
  .summary-box-title{font-size:18px}
  .toc{padding:18px 20px}
  .toc-title{font-size:15px}
  .toc-list li{padding:8px 0 8px 36px;font-size:13px}
  .author-box{padding:16px 18px;gap:12px}
  .author-avatar{width:52px;height:52px}
  .author-name{font-size:13px}
  .author-desc{font-size:11px}
  .bottom-cta-inner{padding:40px 16px}
  .bottom-cta-title{font-size:22px}
  .bottom-cta-btns{flex-direction:column}
  .bottom-cta-btn{width:100%}
  .related-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .related-ttl{font-size:12px}
  .footer-logo{font-size:24px}
  .footer-logo-icon{width:44px;height:44px}
  .article-body table{font-size:12px}
  .article-body th,.article-body td{padding:8px}
  .side-banner{grid-template-columns:68px 1fr;gap:10px;padding:14px}
  .side-banner-mascot{width:68px;max-height:78px}
  .share-row{flex-wrap:wrap;gap:10px}
}


/* ===== COMPANY PROFILE CSS ===== */


  :root{
    --main:#7bc142;         /* ロゴに合わせた明るいライムグリーン */
    --main-d:#5ea030;       /* ホバー用の濃いめ */
    --main-dd:#3e7a1f;      /* 最も濃い */
    --main-l:#e5f2d4;       /* 薄い緑（ヒーロー背景） */
    --main-l2:#eef7e1;      /* より薄い */
    --main-pale:#f5faeb;    /* ほぼ白の緑 */
    --ink:#1a1a1a;
    --ink2:#222;
    --text:#333;
    --sub:#888;
    --line:#e5eae7;
    --accent:#d63031;
    --accent-l:#ffe5e7;
    --gold:#d4a814;
    --gold-d:#a87a00;
    --gold-l:#fffbeb;
    --cream:#fff5d4;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic",-apple-system,sans-serif;
    color:var(--text);
    background:#fff;
    line-height:1.75;
    font-size:14px;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  ul,ol{list-style:none}

  /* ============================================ */
  /* HERO BLOCK                                    */
  /* ============================================ */
  .hero-block{
    background:var(--main-l);
    position:relative;
    overflow:hidden;
    padding-bottom:20px;
    min-height:200px;
  }
  .hero-block::before{
    content:"";position:absolute;top:0;right:0;
    width:280px;height:280px;
    background:radial-gradient(circle at top right,rgba(123,193,66,.35),transparent 70%);
  }

  /* マスコット装飾（ヒーローの右下に覗かせる） */
  .hero-mascot{
    position:absolute;right:3%;bottom:0;
    width:100px;height:auto;z-index:3;
    transform:rotate(-4deg);
    filter:drop-shadow(2px 4px 6px rgba(0,0,0,.1));
    pointer-events:none;
  }

  /* Header */
  .header{
    position:relative;z-index:10;
    padding:22px 32px 16px;
    display:flex;align-items:center;justify-content:space-between;
    gap:30px;
  }
  .header-left{display:flex;align-items:center;gap:22px;flex-shrink:0}
  .brand-area{display:flex;flex-direction:column}
  .brand-main{
    display:flex;align-items:center;gap:10px;
  }
  .brand-icon{
    width:68px;height:68px;
    background:#fff;
    border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    flex-shrink:0;
    box-shadow:0 3px 10px rgba(94,160,48,.15);
  }
  .brand-icon img{width:56px;height:56px;border-radius:50%;object-fit:cover}
  .brand-name{
    font-family:"Hiragino Maru Gothic ProN","M PLUS Rounded 1c",sans-serif;
    font-size:46px;font-weight:900;
    color:var(--ink);
    letter-spacing:-.02em;line-height:1;
  }
  .brand-name small{
    display:block;font-size:30px;letter-spacing:.03em;margin-top:6px;
  }
  .brand-by{
    font-size:13px;font-weight:700;color:var(--ink);
    letter-spacing:.05em;margin-top:10px;padding-left:78px;
  }
  .brand-tagline{
    font-size:14px;color:var(--ink);font-weight:700;
    line-height:1.5;padding-top:8px;white-space:nowrap;
  }
  .gnav{
    flex:1;
    display:flex;justify-content:flex-end;align-items:center;gap:28px;
  }
  .gnav a{
    font-size:14px;font-weight:700;color:var(--ink);
    letter-spacing:.02em;transition:color .2s;padding:4px 0;
  }
  .gnav a:hover{color:var(--main-d)}
  .gnav-search{
    width:28px;height:28px;
    border-left:1.5px solid var(--ink);
    padding-left:18px;margin-left:-6px;
    display:flex;align-items:center;justify-content:flex-end;
  }
  .gnav-search svg{width:22px;height:22px}
  .menu-toggle{display:none}

  .hero-copy{
    text-align:center;
    padding:30px 24px 70px;
    position:relative;z-index:5;
  }
  .hero-copy-jp{
    font-family:"Hiragino Maru Gothic ProN","M PLUS Rounded 1c",sans-serif;
    font-size:40px;font-weight:900;color:var(--ink);
    letter-spacing:.05em;line-height:1.4;margin-bottom:10px;
  }
  .hero-copy-en{
    font-size:13px;color:var(--main-d);font-weight:800;
    letter-spacing:.3em;
  }

  /* ============================================ */
  /* PICK UP                                      */
  /* ============================================ */
  .pickup-wrap{
    background:var(--main-l);
    padding:30px 0 80px;
    position:relative;
  }
  .pickup-head{
    display:flex;align-items:center;gap:20px;
    padding:0 32px;margin-bottom:26px;
  }
  .pickup-head-title{
    font-family:"Hiragino Maru Gothic ProN","M PLUS Rounded 1c",sans-serif;
    font-size:44px;font-weight:900;color:var(--ink);
    letter-spacing:.02em;line-height:1;
  }
  .pickup-head-line{
    flex:1;height:4px;background:var(--ink);position:relative;
  }
  .pickup-head-line::after{
    content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);
    width:8px;height:8px;border-radius:50%;background:var(--ink);
    box-shadow:14px 0 0 var(--ink);margin-right:14px;
  }
  .pickup-carousel{
    display:grid;
    grid-template-columns:repeat(5,minmax(290px,1fr));
    gap:22px;padding:12px 60px 18px;overflow-x:auto;scrollbar-width:none;
  }
  .pickup-carousel::-webkit-scrollbar{display:none}

  /* Card */
  .db-card{display:block;transition:transform .3s}
  .db-card:hover{transform:translateY(-4px)}
  .db-card-thumb{
    background:#fff;border:2.5px solid var(--ink);border-radius:14px;
    aspect-ratio:16/11;position:relative;overflow:hidden;
    box-shadow:4px 4px 0 var(--ink);
  }
  .db-card-thumb::before,.db-card-thumb::after{
    content:"";position:absolute;top:-1px;
    width:28px;height:10px;background:var(--ink);z-index:2;
  }
  .db-card-thumb::before{left:14px;border-radius:0 0 4px 4px}
  .db-card-thumb::after{right:14px;border-radius:0 0 4px 4px}

  .db-card-label{
    position:absolute;top:10px;left:50%;transform:translateX(-50%);
    background:var(--ink);color:#fff;
    padding:3px 14px;border-radius:4px;
    font-size:10.5px;font-weight:800;letter-spacing:.1em;
    white-space:nowrap;z-index:3;
  }

  /* サムネの背景色：シリーズごとに4色ローテ */
  .db-card-thumb.bg-pink .db-card-illust{background:#ffe5e7;border-color:var(--ink)}
  .db-card-thumb.bg-cream .db-card-illust{background:var(--cream);border-color:var(--ink)}
  .db-card-thumb.bg-mint .db-card-illust{background:#d8f0dd;border-color:var(--ink)}
  .db-card-thumb.bg-blue .db-card-illust{background:#d9ebf5;border-color:var(--ink)}

  .db-card-illust{
    position:absolute;inset:34px 16px 16px;
    background:var(--main-pale);
    border:2px solid var(--ink);border-radius:10px;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:16px;text-align:center;
  }
  .db-card-illust-text{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:19px;font-weight:900;color:var(--ink);
    line-height:1.4;letter-spacing:.02em;
  }
  .db-card-illust-subtext{
    font-size:11px;font-weight:700;color:var(--main-d);
    margin-top:8px;letter-spacing:.1em;
  }

  /* マスコット：カードの隅にチラ見せ */
  .db-card-mascot{
    position:absolute;z-index:4;
    width:72px;height:auto;
    pointer-events:none;
    filter:drop-shadow(1px 2px 3px rgba(0,0,0,.15));
  }
  .db-card-mascot.br{right:-6px;bottom:6px;transform:rotate(5deg)}
  .db-card-mascot.bl{left:-6px;bottom:6px;transform:rotate(-5deg)}
  .db-card-mascot.tr{right:8px;top:28px;transform:rotate(8deg);width:44px}

  .db-card-bubble{
    position:absolute;background:var(--ink);color:#fff;
    padding:4px 12px;border-radius:16px;
    font-size:11px;font-weight:700;z-index:3;
  }
  .db-card-bubble.tl{top:46px;left:18px}
  .db-card-bubble.tr{top:46px;right:18px}

  .db-card-cattag{
    position:absolute;bottom:8px;left:14px;
    background:var(--ink);color:#fff;
    padding:7px 16px;border-radius:3px;
    font-size:12px;font-weight:800;letter-spacing:.05em;z-index:5;
  }

  .db-card-body{padding:22px 4px 0}
  .db-card-title{
    font-size:15px;font-weight:800;color:var(--ink);
    line-height:1.6;margin-bottom:10px;letter-spacing:.02em;
  }
  .db-card-meta{
    display:flex;align-items:center;gap:10px;
    font-size:11.5px;color:var(--sub);flex-wrap:wrap;
  }
  .db-card-tag{color:var(--ink);font-weight:700}
  .db-card-tag::before{content:"# "}
  .db-card-date{margin-left:auto;color:var(--main-d);font-weight:700}

  /* ============================================ */
  /* Main area                                    */
  /* ============================================ */
  .main-area{
    max-width:1240px;margin:0 auto;
    padding:72px 32px;
    display:grid;grid-template-columns:1fr 310px;gap:50px;
  }
  .sec-title-block{
    margin-bottom:36px;padding-left:22px;
    border-left:6px solid var(--main);
  }
  .sec-title-jp{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:38px;font-weight:900;color:var(--ink);
    letter-spacing:.08em;line-height:1;margin-bottom:12px;
  }
  .sec-title-en-wrap{display:flex;align-items:center;gap:10px}
  .sec-title-en{font-size:14px;font-weight:800;color:var(--ink);letter-spacing:.15em}
  .sec-title-en-line{
    flex:1;max-width:140px;height:2px;
    background-image:linear-gradient(to right,var(--ink) 50%,transparent 50%);
    background-size:8px 2px;background-repeat:repeat-x;
  }

  .latest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 28px}
  .latest-grid .db-card-thumb{aspect-ratio:16/10}
  .latest-grid .db-card-illust-text{font-size:22px}

  .all-link-wrap{text-align:center;margin-top:50px}
  .all-link{
    display:inline-flex;align-items:center;gap:12px;
    font-size:15px;font-weight:800;color:var(--ink);
    letter-spacing:.05em;transition:opacity .2s;
  }
  .all-link:hover{opacity:.7}
  .all-link-icon{
    width:38px;height:38px;border-radius:50%;
    background:var(--main);color:#fff;
    display:inline-flex;align-items:center;justify-content:center;font-size:16px;
  }

  /* Sidebar */
  .sidebar{min-width:0;display:flex;flex-direction:column;gap:40px}

  .side-banner-1{
    display:block;background:var(--main-l);
    border:2.5px solid var(--ink);border-radius:14px;
    padding:24px 20px;box-shadow:4px 4px 0 var(--ink);
    text-align:center;position:relative;
  }
  .side-banner-1-small{
    display:inline-block;background:var(--ink);color:#fff;
    padding:3px 14px;border-radius:12px;
    font-size:10.5px;font-weight:800;margin-bottom:12px;letter-spacing:.1em;
  }
  .side-banner-1-big{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:22px;font-weight:900;color:var(--ink);
    letter-spacing:.03em;line-height:1.3;
  }
  .side-banner-1-big .hl{
    background:linear-gradient(transparent 60%,var(--main) 60%);padding:0 2px;
  }
  .side-banner-1-bottom{
    background:var(--ink);color:#fff;font-weight:800;font-size:13px;
    padding:4px 14px;border-radius:4px;display:inline-block;margin-top:8px;
  }
  /* マスコットを右上にチラ見せ */
  .side-banner-1-mascot{
    position:absolute;right:-10px;top:-30px;
    width:78px;height:auto;transform:rotate(12deg);
    filter:drop-shadow(1px 2px 3px rgba(0,0,0,.12));
  }

  .side-banner-2{
    display:block;background:var(--main-dd);color:#fff;
    border-radius:14px;padding:22px 18px;text-align:center;position:relative;
  }
  .side-banner-2-hl{
    display:inline-block;background:#fff;color:var(--main-dd);
    padding:3px 12px;border-radius:10px;
    font-weight:900;font-size:14px;margin-bottom:8px;
  }
  .side-banner-2-text{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:18px;font-weight:900;letter-spacing:.02em;line-height:1.45;
  }

  .side-block-head{display:flex;align-items:center;gap:10px;margin-bottom:20px}
  .side-block-head-title{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:28px;font-weight:900;color:var(--ink);
    letter-spacing:.08em;line-height:1;
  }
  .side-block-head-line{flex:1;height:3px;background:var(--ink);position:relative}
  .side-block-head-line::after{
    content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);
    width:6px;height:6px;border-radius:50%;background:var(--ink);
    box-shadow:10px 0 0 var(--ink);margin-right:10px;
  }
  .ranking-list{display:flex;flex-direction:column;gap:18px}
  .rank-item{display:flex;gap:14px;position:relative}
  .rank-item-thumb{
    width:100px;aspect-ratio:1;flex-shrink:0;
    background:var(--main-pale);border:2px solid var(--ink);border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    font-size:11px;font-weight:900;color:var(--ink);
    letter-spacing:.1em;position:relative;
  }
  .rank-num{
    position:absolute;bottom:-8px;right:-8px;
    width:28px;height:28px;border-radius:50%;
    background:var(--main);color:#fff;
    display:flex;align-items:center;justify-content:center;
    font-weight:900;font-size:13px;border:2px solid var(--ink);
  }
  .rank-item:nth-child(1) .rank-num,
  .rank-item:nth-child(2) .rank-num,
  .rank-item:nth-child(3) .rank-num{background:var(--accent)}
  .rank-body{flex:1;min-width:0;padding-top:2px}
  .rank-title{
    font-size:13px;font-weight:700;color:var(--ink);
    line-height:1.55;margin-bottom:6px;
  }
  .rank-date{font-size:11px;color:var(--main-d);font-weight:700}

  .tag-wrap{display:flex;flex-wrap:wrap;gap:8px 16px}
  .tag-wrap a{
    font-size:12.5px;color:var(--ink);font-weight:700;
    padding:2px 0;border-bottom:1px dashed var(--sub);transition:all .2s;
  }
  .tag-wrap a::before{content:"# ";color:var(--main-d);font-weight:900}
  .tag-wrap a:hover{color:var(--main-d);border-bottom-color:var(--main-d)}

  .side-banner-3{
    background:var(--cream);border:2.5px solid var(--ink);border-radius:50px;
    padding:14px 20px;text-align:center;
    display:flex;align-items:center;justify-content:center;gap:10px;
    font-weight:900;color:var(--ink);font-size:14px;
    box-shadow:4px 4px 0 var(--ink);position:relative;
  }
  .side-banner-3-mascot{
    width:56px;height:auto;flex-shrink:0;margin-right:-4px;
  }

  /* ============================================ */
  /* Cat sections                                  */
  /* ============================================ */
  .cat-section{padding:80px 32px;position:relative}
  .cat-section.bg-green{background:var(--main-l2)}
  .cat-section-inner{max-width:1240px;margin:0 auto}
  .cat-section-head{text-align:center;margin-bottom:50px;position:relative}
  .cat-section-head-mascot{
    position:absolute;right:0;top:-20px;width:80px;height:auto;
    transform:rotate(-8deg);
    filter:drop-shadow(1px 2px 4px rgba(0,0,0,.12));
  }
  .cat-section-jp{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:44px;font-weight:900;color:var(--ink);
    letter-spacing:.06em;line-height:1.2;margin-bottom:14px;
  }
  .cat-section-en{
    font-size:13px;font-weight:800;color:var(--main-d);
    letter-spacing:.3em;margin-bottom:16px;
  }
  .cat-section-desc{
    font-size:13.5px;color:var(--text);
    line-height:2;max-width:560px;margin:0 auto;
  }
  .cat-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-bottom:40px;
  }
  .cat-grid .db-card-thumb{aspect-ratio:16/11}
  .cat-grid .db-card-illust-text{font-size:17px}
  .cat-grid .db-card-title{font-size:14px}

  /* ============================================ */
  /* Bottom CTA                                    */
  /* ============================================ */
  .bottom-cta{
    background:var(--main-l);padding:70px 32px;
    text-align:center;position:relative;overflow:hidden;
  }
  .bottom-cta::before{
    content:"";position:absolute;top:-80px;left:50%;transform:translateX(-50%);
    width:200px;height:200px;
    background:radial-gradient(circle,rgba(123,193,66,.35),transparent 70%);
  }
  .bottom-cta-mascot{
    position:absolute;left:8%;bottom:30px;
    width:120px;height:auto;
    transform:rotate(-10deg);
    filter:drop-shadow(2px 4px 6px rgba(0,0,0,.15));
  }
  .bottom-cta-mascot-r{
    position:absolute;right:8%;bottom:30px;
    width:110px;height:auto;transform:rotate(10deg);
    filter:drop-shadow(2px 4px 6px rgba(0,0,0,.15));
    opacity:.85;
  }
  .bottom-cta-logo{
    width:88px;height:88px;background:#fff;border-radius:50%;
    display:inline-flex;align-items:center;justify-content:center;
    margin-bottom:18px;position:relative;z-index:2;
    box-shadow:0 4px 12px rgba(0,0,0,.08);
  }
  .bottom-cta-logo img{width:70px;height:70px;border-radius:50%;object-fit:cover}
  .bottom-cta-head{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:28px;font-weight:900;color:var(--ink);
    letter-spacing:.05em;margin-bottom:14px;
    position:relative;z-index:2;
  }
  .bottom-cta-desc{
    font-size:14px;color:var(--text);line-height:2;
    max-width:600px;margin:0 auto 28px;position:relative;z-index:2;
  }
  .bottom-cta-btns{
    display:flex;justify-content:center;gap:16px;flex-wrap:wrap;
    position:relative;z-index:2;
  }
  .bottom-cta-btn{
    display:inline-flex;align-items:center;gap:12px;
    background:var(--ink);color:#fff;
    padding:15px 32px;border-radius:40px;
    font-size:14px;font-weight:800;letter-spacing:.05em;
    transition:transform .2s;border:2.5px solid var(--ink);
  }
  .bottom-cta-btn:hover{transform:translateY(-2px)}
  .bottom-cta-btn.primary{background:var(--main);border-color:var(--ink)}
  .bottom-cta-btn .arr{
    width:22px;height:22px;background:#fff;color:var(--ink);border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:11px;font-weight:900;
  }

  /* Page TOP */
  .page-top-wrap{
    background:var(--main-l);padding:20px 32px;
    display:flex;justify-content:flex-end;position:relative;
  }
  .page-top{
    display:inline-flex;flex-direction:column;align-items:center;gap:4px;
    font-size:11px;font-weight:800;color:var(--ink);
    letter-spacing:.1em;padding-right:30px;position:relative;
  }
  .page-top::before{
    content:"";position:absolute;top:-30px;right:8px;
    width:14px;height:40px;
    border-top:2px solid var(--ink);border-right:2px solid var(--ink);
    border-radius:0 20px 0 0;
  }

  /* Footer */
  .footer{background:var(--ink);color:#fff;padding:70px 32px 30px;position:relative;overflow:hidden}
  .footer-mascot{
    position:absolute;right:5%;top:50px;
    width:100px;height:auto;
    transform:rotate(8deg);opacity:.15;
    filter:drop-shadow(2px 4px 6px rgba(0,0,0,.3));
  }
  .footer-inner{
    max-width:1240px;margin:0 auto;position:relative;z-index:2;
    display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:start;
  }
  .footer-brand-sub{
    font-size:13px;font-weight:700;color:#fff;
    letter-spacing:.1em;margin-bottom:14px;
  }
  .footer-brand-logo-row{display:flex;align-items:center;gap:14px;margin-bottom:10px}
  .footer-brand-icon{
    width:60px;height:60px;background:#fff;border-radius:50%;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .footer-brand-icon img{width:48px;height:48px;border-radius:50%;object-fit:cover}
  .footer-brand-logo{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:38px;font-weight:900;color:#fff;
    letter-spacing:-.02em;line-height:1;
  }
  .footer-brand-logo small{
    display:block;font-size:26px;letter-spacing:.03em;margin-top:6px;
  }
  .footer-brand-by{
    font-size:13px;font-weight:700;color:#fff;
    letter-spacing:.05em;margin-bottom:26px;padding-left:74px;
  }
  .footer-lead{
    font-size:12.5px;color:rgba(255,255,255,.85);
    line-height:2;max-width:360px;
  }

  .footer-right{display:flex;flex-direction:column}
  .footer-nav{display:flex;flex-wrap:wrap;gap:18px 32px;margin-bottom:32px}
  .footer-nav a{
    position:relative;padding-left:18px;
    font-size:13.5px;font-weight:700;color:#fff;
  }
  .footer-nav a::before{
    content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
    width:10px;height:3px;background:var(--main);
  }
  .footer-nav a:hover{color:var(--main)}
  .footer-sub{display:flex;gap:22px;margin-bottom:20px;flex-wrap:wrap}
  .footer-sub a{
    font-size:13px;font-weight:700;color:#fff;
    display:inline-flex;align-items:center;gap:4px;
  }
  .footer-sub a::after{content:"↗";font-size:11px;opacity:.7}
  .footer-legal{display:flex;gap:22px;margin-bottom:30px;flex-wrap:wrap}
  .footer-legal a{
    font-size:12.5px;color:rgba(255,255,255,.85);
    display:inline-flex;align-items:center;gap:4px;
  }
  .footer-legal a::after{content:"↗";font-size:10px;opacity:.5}
  .footer-bottom{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:30px;border-top:1px solid rgba(255,255,255,.2);
    gap:20px;flex-wrap:wrap;
  }
  .footer-sns{display:flex;gap:12px}
  .footer-sns a{
    width:36px;height:36px;border-radius:50%;
    border:1.5px solid rgba(255,255,255,.4);
    display:flex;align-items:center;justify-content:center;
    font-size:14px;font-weight:800;color:#fff;
  }
  .footer-sns a:hover{background:var(--main);border-color:var(--main)}
  .footer-copyright{
    font-size:12px;color:rgba(255,255,255,.7);letter-spacing:.05em;
  }

  /* Responsive */
  /* ========== Tablet (max-width:1000px) ========== */
  @media (max-width:1000px){
    /* Header */
    .header{flex-wrap:wrap;padding:14px 16px;gap:14px}
    .brand-icon{width:48px;height:48px}
    .brand-icon img{width:38px;height:38px;border-radius:50%;object-fit:cover}
    .brand-name{font-size:26px;line-height:1}
    .brand-name small{font-size:18px;margin-top:4px}
    .brand-by{font-size:10px;padding-left:58px;margin-top:4px}
    .brand-tagline{display:none}
    
    /* Nav: モバイルではハンバーガーメニューに */
    .gnav{display:none}
    .gnav.open{
      display:flex;flex-direction:column;align-items:flex-start;gap:0;
      width:100%;background:#fff;border-radius:10px;padding:8px 0;
      margin-top:10px;border:1px solid var(--line);
    }
    .gnav.open a{
      width:100%;padding:12px 16px;font-size:13px;
      border-bottom:1px solid var(--line);
    }
    .gnav.open a:last-child{border-bottom:none}
    .gnav-search{display:none}
    .menu-toggle{
      display:flex;flex-direction:column;justify-content:center;align-items:center;
      gap:4px;background:none;border:2px solid var(--ink);border-radius:6px;
      width:38px;height:38px;cursor:pointer;padding:0;margin-left:auto;
    }
    .menu-toggle span{display:block;width:18px;height:2px;background:var(--ink);border-radius:1px}

    /* Hero */
    .hero-block{padding-bottom:10px;min-height:auto}
    .hero-mascot{width:70px;left:50%;transform:translateX(-50%) rotate(-4deg);right:auto;bottom:6px}
    .hero-copy{padding:20px 16px 80px}
    .hero-copy-jp{font-size:26px;line-height:1.35}
    .hero-copy-en{font-size:11px}

    /* Pick Up */
    .pickup-wrap{padding:24px 0 50px}
    .pickup-head{padding:0 16px;margin-bottom:18px}
    .pickup-head-title{font-size:26px}
    .pickup-head-line{height:3px}
    .pickup-carousel{
      padding:0 16px;
      grid-template-columns:repeat(5,minmax(220px,1fr));
      gap:14px;
    }
    .pickup-list > :first-child{grid-row:auto;grid-column:auto}
    .db-card-thumb{border-width:2px;border-radius:12px;box-shadow:3px 3px 0 var(--ink)}
    .db-card-thumb::before,.db-card-thumb::after{width:22px;height:8px}
    .db-card-label{font-size:9.5px;padding:2px 10px;top:8px}
    .db-card-illust{inset:26px 12px 12px;border-radius:8px;padding:10px;border-width:1.5px}
    .db-card-illust-text{font-size:15px;line-height:1.35}
    .db-card-illust-subtext{font-size:9.5px;margin-top:4px}
    .db-card-bubble{font-size:9.5px;padding:3px 9px}
    .db-card-bubble.tl{top:36px;left:12px}
    .db-card-bubble.tr{top:36px;right:12px}
    .db-card-cattag{font-size:10.5px;padding:5px 12px;bottom:-10px;left:10px}
    .db-card-mascot{width:50px}
    .db-card-mascot.br{right:-4px;bottom:4px}
    .db-card-mascot.bl{left:-4px;bottom:4px}
    .db-card-mascot.tr{right:6px;top:22px;width:34px}
    .db-card-body{padding:16px 4px 0}
    .db-card-title{font-size:13.5px;line-height:1.55}
    .db-card-meta{font-size:10.5px;gap:6px}

    /* Main area */
    .main-area{grid-template-columns:1fr;gap:40px;padding:40px 16px}
    .sec-title-block{margin-bottom:24px;padding-left:16px;border-left-width:5px}
    .sec-title-jp{font-size:24px;margin-bottom:8px}
    .sec-title-en{font-size:12px}
    
    /* Latest: 2カラムで4枚表示 */
    .latest-grid{grid-template-columns:repeat(2,1fr);gap:20px 12px}
    .latest-grid .db-card-thumb{aspect-ratio:16/11}
    .latest-grid .db-card-illust-text{font-size:14px;line-height:1.3}
    .latest-grid .db-card-illust-subtext{font-size:9px;margin-top:4px}
    .latest-grid .db-card-title{font-size:12.5px;line-height:1.5;margin-bottom:6px}
    .latest-grid .db-card-meta{font-size:10px;gap:6px}
    .latest-grid .db-card-label{font-size:9px;padding:2px 8px;top:6px}
    .latest-grid .db-card-cattag{font-size:9.5px;padding:4px 10px;bottom:-9px;left:8px}
    .latest-grid .db-card-illust{inset:22px 10px 10px;border-radius:7px;padding:6px;border-width:1.5px}
    .latest-grid .db-card-thumb::before,.latest-grid .db-card-thumb::after{width:18px;height:7px}
    .latest-grid .db-card-bubble{font-size:9px;padding:2px 7px}
    .latest-grid .db-card-bubble.tl{top:30px;left:8px}
    .latest-grid .db-card-bubble.tr{top:30px;right:8px}
    .latest-grid .db-card-mascot{width:38px}
    .latest-grid .db-card-mascot.br{right:-3px;bottom:3px}
    .latest-grid .db-card-mascot.bl{left:-3px;bottom:3px}
    .latest-grid .db-card-mascot.tr{right:4px;top:18px;width:26px}
    .latest-grid .db-card-body{padding:14px 2px 0}
    
    /* Side banner 小さく */
    .side-banner-1{padding:18px 16px}
    .side-banner-1-small{font-size:10px;padding:3px 12px}
    .side-banner-1-big{font-size:18px}
    .side-banner-1-bottom{font-size:12px}
    .side-banner-1-mascot{width:58px;top:-22px;right:-6px}
    .side-banner-2{padding:18px 14px}
    .side-banner-2-text{font-size:16px}
    .side-banner-3{padding:12px 16px;font-size:13px}
    .side-banner-3-mascot{width:44px}
    
    /* Ranking */
    .side-block-head-title{font-size:22px}
    .rank-item-thumb{width:80px}
    .rank-title{font-size:12.5px}

    /* Categories */
    .cat-section{padding:50px 16px}
    .cat-section-head{margin-bottom:32px}
    .cat-section-jp{font-size:26px}
    .cat-section-en{font-size:11px;margin-bottom:10px}
    .cat-section-desc{font-size:12.5px;line-height:1.85}
    .cat-section-head-mascot{width:50px;right:0;top:-8px}
    .cat-grid{grid-template-columns:repeat(2,1fr);gap:20px 12px;margin-bottom:26px}
    .cat-grid .db-card-thumb{aspect-ratio:16/11}
    .cat-grid .db-card-illust-text{font-size:13px}
    .cat-grid .db-card-title{font-size:12.5px}
    
    /* Bottom CTA */
    .bottom-cta{padding:50px 16px}
    .bottom-cta-logo{width:72px;height:72px}
    .bottom-cta-logo img{width:56px;height:56px}
    .bottom-cta-head{font-size:22px}
    .bottom-cta-desc{font-size:12.5px}
    .bottom-cta-btn{font-size:13px;padding:12px 22px}
    .bottom-cta-mascot,.bottom-cta-mascot-r{width:70px;bottom:10px}
    
    /* Footer */
    .footer{padding:50px 20px 24px}
    .footer-inner{grid-template-columns:1fr;gap:30px}
    .footer-brand-logo{font-size:30px}
    .footer-brand-logo small{font-size:22px}
    .footer-brand-icon{width:48px;height:48px}
    .footer-brand-icon img{width:38px;height:38px;border-radius:50%;object-fit:cover}
    .footer-brand-by{font-size:11px;padding-left:62px}
  }
  
  /* ========== Mobile (max-width:520px) ========== */
  @media (max-width:520px){
    /* Header */
    .brand-name{font-size:22px}
    .brand-name small{font-size:16px}
    .brand-icon{width:44px;height:44px}
    .brand-icon img{width:34px;height:34px}
    .brand-by{font-size:9.5px;padding-left:52px}

    /* Hero */
    .hero-copy{padding:16px 14px 70px}
    .hero-copy-jp{font-size:22px;line-height:1.35}
    .hero-copy-en{font-size:10px;letter-spacing:.25em}
    .hero-mascot{width:58px;left:50%;transform:translateX(-50%) rotate(-4deg);right:auto;bottom:4px}
    
    /* Pick Up */
    .pickup-wrap{padding:22px 0 40px}
    .pickup-head{padding:0 14px;margin-bottom:14px;gap:12px}
    .pickup-head-title{font-size:22px}
    .pickup-carousel{
      padding:0 14px;
      grid-template-columns:repeat(5,minmax(195px,1fr));
      gap:12px;
    }
    .db-card-title{font-size:13px}
    .db-card-meta{font-size:10px}
    .db-card-illust-text{font-size:14px}
    .db-card-label{font-size:9px;padding:2px 8px}
    .db-card-cattag{font-size:10px;padding:4px 10px}

    /* Main area */
    .main-area{gap:32px;padding:32px 14px}
    .sec-title-jp{font-size:22px}
    .sec-title-en{font-size:11px}

    /* Latest: 2カラム維持で更に小さく */
    .latest-grid{gap:18px 10px}
    .latest-grid .db-card-illust-text{font-size:12.5px;line-height:1.3}
    .latest-grid .db-card-illust-subtext{font-size:8.5px}
    .latest-grid .db-card-title{font-size:11.5px;line-height:1.5}
    .latest-grid .db-card-meta{font-size:9.5px}
    .latest-grid .db-card-label{font-size:8.5px;padding:1px 6px}
    .latest-grid .db-card-cattag{font-size:9px;padding:3px 8px;bottom:-8px}
    .latest-grid .db-card-bubble{font-size:8.5px;padding:2px 6px}
    .latest-grid .db-card-mascot{width:32px}
    .latest-grid .db-card-mascot.tr{width:22px}
    
    /* Ranking */
    .rank-item-thumb{width:70px;font-size:10px}
    .rank-num{width:24px;height:24px;font-size:11px}
    .rank-title{font-size:12px}
    .rank-date{font-size:10px}
    .side-block-head-title{font-size:20px}

    /* Tags */
    .tag-wrap a{font-size:11.5px}

    /* Categories */
    .cat-section{padding:40px 14px}
    .cat-section-head{margin-bottom:26px}
    .cat-section-jp{font-size:22px}
    .cat-section-en{font-size:10px}
    .cat-section-desc{font-size:12px;line-height:1.8}
    .cat-section-head-mascot{width:42px}
    .cat-grid{grid-template-columns:repeat(2,1fr);gap:18px 10px}
    .cat-grid .db-card-thumb{aspect-ratio:16/11}
    .cat-grid .db-card-illust-text{font-size:12px;line-height:1.3}
    .cat-grid .db-card-illust-subtext{font-size:8.5px}
    .cat-grid .db-card-title{font-size:11.5px;line-height:1.5}
    .cat-grid .db-card-meta{font-size:9.5px}
    .cat-grid .db-card-label{font-size:8.5px;padding:1px 6px}
    .cat-grid .db-card-cattag{font-size:9px;padding:3px 8px;bottom:-8px}
    .cat-grid .db-card-illust{inset:20px 8px 8px;padding:4px;border-radius:6px;border-width:1.5px}
    .cat-grid .db-card-thumb::before,.cat-grid .db-card-thumb::after{width:16px;height:7px}
    .cat-grid .db-card-body{padding:12px 2px 0}
    
    /* Bottom CTA */
    .bottom-cta{padding:40px 14px}
    .bottom-cta-logo{width:64px;height:64px}
    .bottom-cta-logo img{width:48px;height:48px}
    .bottom-cta-head{font-size:19px}
    .bottom-cta-desc{font-size:12px;line-height:1.85}
    .bottom-cta-btns{flex-direction:column;gap:10px}
    .bottom-cta-btn{font-size:12.5px;padding:11px 20px;width:100%;justify-content:center}
    .bottom-cta-mascot,.bottom-cta-mascot-r{display:none}

    /* Page TOP */
    .page-top-wrap{padding:16px}
    
    /* Footer */
    .footer{padding:40px 16px 20px}
    .footer-brand-logo{font-size:26px}
    .footer-brand-logo small{font-size:20px}
    .footer-brand-sub{font-size:11.5px}
    .footer-lead{font-size:11.5px}
    .footer-nav{gap:12px 20px}
    .footer-nav a{font-size:12px;padding-left:14px}
    .footer-sub a,.footer-legal a{font-size:11.5px}
    .footer-copyright{font-size:10.5px}
  }


  /* ============================================ */
  /* COMPANY PROFILE PAGE                         */
  /* ============================================ */
  .company-page-hero{
    background:var(--main-l);
    padding:50px 32px 70px;
    text-align:center;
    position:relative;overflow:hidden;
  }
  .company-page-hero::before{
    content:"";position:absolute;top:-50px;right:-50px;
    width:280px;height:280px;
    background:radial-gradient(circle,rgba(123,193,66,.3),transparent 70%);
    border-radius:50%;
  }
  .company-page-hero::after{
    content:"";position:absolute;bottom:-80px;left:-40px;
    width:240px;height:240px;
    background:radial-gradient(circle,rgba(94,160,48,.18),transparent 70%);
    border-radius:50%;
  }
  .company-page-hero-inner{max-width:1000px;margin:0 auto;position:relative;z-index:2}
  .breadcrumb{
    font-size:12px;color:var(--main-d);font-weight:700;
    letter-spacing:.12em;margin-bottom:16px;
  }
  .breadcrumb a:hover{color:var(--ink)}
  .breadcrumb span{margin:0 8px;opacity:.5}
  .company-page-hero-en{
    font-size:13px;font-weight:800;color:var(--main-d);
    letter-spacing:.3em;margin-bottom:14px;
  }
  .company-page-hero-jp{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:44px;font-weight:900;color:var(--ink);
    letter-spacing:.05em;line-height:1.3;margin-bottom:18px;
  }
  .company-page-hero-desc{
    font-size:14px;color:var(--text);line-height:2;
    max-width:620px;margin:0 auto;
  }

  .company-mission{padding:70px 32px;background:#fff}
  .company-mission-inner{
    max-width:900px;margin:0 auto;
    background:var(--main-pale);
    border:2.5px solid var(--ink);
    border-radius:14px;
    box-shadow:4px 4px 0 var(--ink);
    padding:44px 40px 40px;
    position:relative;
  }
  .company-mission-label{
    position:absolute;top:-14px;left:30px;
    background:var(--ink);color:#fff;
    padding:4px 18px;border-radius:4px;
    font-size:11px;font-weight:800;letter-spacing:.15em;
  }
  .company-mission-title{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:24px;font-weight:900;color:var(--ink);
    letter-spacing:.04em;line-height:1.55;margin-bottom:18px;
    text-align:center;
  }
  .company-mission-title .hl{
    background:linear-gradient(transparent 60%,var(--main) 60%);
    padding:0 4px;
  }
  .company-mission-text{
    font-size:14px;color:var(--text);line-height:2;
    text-align:center;
  }

  .company-info{padding:80px 32px;background:var(--main-l2)}
  .company-info-inner{max-width:900px;margin:0 auto}
  .company-section-head{text-align:center;margin-bottom:44px;position:relative}
  .company-section-en{
    font-size:12px;font-weight:800;color:var(--main-d);
    letter-spacing:.3em;margin-bottom:10px;
  }
  .company-section-jp{
    font-family:"Hiragino Maru Gothic ProN",sans-serif;
    font-size:36px;font-weight:900;color:var(--ink);
    letter-spacing:.05em;line-height:1.3;margin-bottom:14px;
  }
  .company-section-line{
    width:60px;height:4px;background:var(--main);
    margin:0 auto;border-radius:2px;
  }

  .info-table{
    background:#fff;
    border:2.5px solid var(--ink);
    border-radius:14px;
    box-shadow:4px 4px 0 var(--ink);
    overflow:hidden;
  }
  .info-row{
    display:grid;grid-template-columns:200px 1fr;
    border-bottom:1px solid var(--line);
  }
  .info-row:last-child{border-bottom:none}
  .info-label{
    background:var(--main-pale);
    padding:20px 22px;
    font-size:13.5px;font-weight:800;color:var(--ink);
    letter-spacing:.04em;
    border-right:1px solid var(--line);
    display:flex;align-items:center;
  }
  .info-label::before{
    content:"";display:inline-block;
    width:10px;height:3px;background:var(--main);
    margin-right:10px;flex-shrink:0;
  }
  .info-value{
    padding:20px 24px;
    font-size:14px;color:var(--text);
    line-height:1.9;
  }
  .info-highlight{color:var(--main-d);font-weight:800;font-size:15px}
  .info-en{
    display:block;font-size:12px;color:var(--sub);
    margin-top:4px;letter-spacing:.02em;font-weight:600;
  }
  .info-sub{
    display:block;font-size:12px;color:var(--sub);
    margin-top:6px;
  }
  .biz-list{padding-left:0}
  .biz-list li{
    position:relative;padding-left:20px;
    margin-bottom:8px;list-style:none;
  }
  .biz-list li:last-child{margin-bottom:0}
  .biz-list li::before{
    content:"";position:absolute;left:0;top:11px;
    width:10px;height:10px;background:var(--main);
    border-radius:50%;
  }
  .map-link{
    display:inline-flex;align-items:center;gap:6px;
    margin-top:12px;
    background:var(--ink);color:#fff;
    padding:8px 18px;border-radius:20px;
    font-size:12px;font-weight:700;letter-spacing:.05em;
    transition:transform .2s;
  }
  .map-link:hover{transform:translateY(-2px)}
  .map-link::after{content:"→";font-size:12px}

  @media (max-width:1000px){
    .company-page-hero{padding:40px 20px 54px}
    .company-page-hero-jp{font-size:28px}
    .company-page-hero-desc{font-size:13px}
    .company-mission{padding:50px 20px}
    .company-mission-inner{padding:34px 22px 30px}
    .company-mission-title{font-size:19px}
    .company-mission-text{font-size:13px}
    .company-info{padding:50px 20px}
    .company-section-jp{font-size:26px}
    .info-row{grid-template-columns:130px 1fr}
    .info-label{padding:14px 14px;font-size:12px}
    .info-label::before{width:8px;height:2px;margin-right:8px}
    .info-value{padding:14px 16px;font-size:13px;line-height:1.85}
    .info-highlight{font-size:13px}
  }
  @media (max-width:520px){
    .company-page-hero{padding:34px 14px 44px}
    .company-page-hero-jp{font-size:22px}
    .company-page-hero-en{font-size:11px}
    .company-mission{padding:40px 14px}
    .company-mission-inner{padding:28px 18px 24px}
    .company-mission-title{font-size:17px}
    .company-mission-label{font-size:10px;padding:3px 14px;left:22px}
    .company-info{padding:40px 14px}
    .company-section-jp{font-size:22px}
    .info-row{grid-template-columns:1fr;border-bottom:2px solid var(--line)}
    .info-label{
      padding:10px 14px;font-size:11.5px;
      border-right:none;border-bottom:1px solid var(--line);
    }
    .info-value{padding:14px 14px;font-size:13px}
  }



/* ========================================== */
/* New Brand Logo (driverbank lab unified)    */
/* ========================================== */
.dba-brand{display:inline-block;padding:4px 0;line-height:1}
.dba-brand-mark{
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  font-weight:900;font-size:34px;letter-spacing:-0.03em;line-height:1;
  display:flex;align-items:flex-start;white-space:nowrap;
}
.dba-brand-green{color:#1e9c3a}
.dba-brand-black{color:#1a1a1a}
.dba-brand-ticks{display:inline-flex;flex-direction:column;gap:3px;margin-left:4px;margin-top:2px}
.dba-tick{display:block;width:16px;height:5px;transform:skewX(-30deg)}
.dba-tick-1{background:#1e9c3a}
.dba-tick-2{background:#f5c842}
.dba-brand-underline{height:2.5px;background:#1e9c3a;margin-top:8px}
.dba-brand-by{
  font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  font-weight:700;font-size:11.5px;color:#1e9c3a;margin-top:6px;
  text-align:center;letter-spacing:0.08em;white-space:nowrap;
}

/* footer: 背景が黒なので色調整 */
.dba-brand.is-footer .dba-brand-green{color:#7bc142}
.dba-brand.is-footer .dba-brand-black{color:#fff}
.dba-brand.is-footer .dba-brand-underline{background:#7bc142}
.dba-brand.is-footer .dba-brand-by{color:#7bc142}

/* responsive */
@media(max-width:768px){
  .dba-brand-mark{font-size:24px}
  .dba-tick{width:12px;height:4px}
  .dba-brand-by{font-size:10.5px}
}
@media(max-width:480px){
  .dba-brand-mark{font-size:20px}
}

/* ========================================== */
/* PNG Brand Logo (2026-04-22 refresh)         */
/* ========================================== */
.brand-area-new,
.footer-brand-new{
  display:inline-block;text-decoration:none;color:inherit;line-height:0;
}
.dba-logo-img{
  display:block;height:54px;width:auto;max-width:100%;background:#fff;
}
.footer-brand-new{
  background:#fff;padding:14px 22px;border-radius:12px;
}
.dba-logo-img.is-footer{height:46px}
@media(max-width:768px){
  .dba-logo-img{height:42px}
  .footer-brand-new{padding:10px 16px;border-radius:10px}
  .dba-logo-img.is-footer{height:38px}
}
@media(max-width:480px){
  .dba-logo-img{height:36px}
  .dba-logo-img.is-footer{height:34px}
}


/* ========== 記事下CTAバナー (3連) ========== */
.article-cta-wrap{max-width:1200px;margin:40px auto;padding:0 20px}

.cta-grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.cta-card {
  position: relative;
  background: #fff;
  border: 3px solid var(--ink);
  border-radius: 16px;
  box-shadow: 6px 6px 0 var(--ink);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 480px;
  transition: all 0.15s;
  text-decoration: none;
  color: inherit;
}
.cta-card:hover {
  transform: translate(2px, 2px);
  box-shadow: 3px 3px 0 var(--ink);
}

.cta-top {
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 3px solid var(--ink);
  font-weight: 900;
  font-size: 11px;
  letter-spacing: 2px;
  position: relative;
  z-index: 5;
}
.cta-top .num {
  background: var(--ink);
  color: #fff;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 10px;
}

.cta-visual {
  position: relative;
  min-height: 230px;
  overflow: hidden;
}

.cta-visual .logo-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 10;
  display: flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  border: 2px solid var(--ink);
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 10px;
  font-weight: 900;
  box-shadow: 2px 2px 0 var(--ink);
}
.cta-visual .logo-badge img {
  height: 28px;
  width: auto;
  object-fit: contain;
}
.cta-visual .logo-badge.round {
  border-radius: 50%;
  padding: 3px;
  width: 50px;
  height: 50px;
}
.cta-visual .logo-badge.round img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}

.catch-badge {
  position: absolute;
  bottom: 14px;
  left: 14px;
  z-index: 6;
  background: #fff;
  border: 2px solid var(--ink);
  border-radius: 50px;
  padding: 6px 14px;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 2px 2px 0 var(--ink);
}

.cta-visual .mascot {
  position: absolute;
  right: -30px;
  bottom: -15px;
  width: 230px;
  height: auto;
  z-index: 4;
  display: block;
}

.cta-
.cta-body h3 {
  font-family: "Hiragino Maru Gothic ProN", "M PLUS Rounded 1c", sans-serif;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.4;
  margin-bottom: 8px;
}
.cta-body h3 .hl {
  background: linear-gradient(transparent 60%, #fff5a3 60%);
  padding: 0 2px;
}
.cta-body p {
  font-size: 12px;
  line-height: 1.65;
  color: #444;
  margin-bottom: 14px;
  flex: 1;
}

.cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 900;
  font-size: 14px;
  padding: 12px 16px;
  border-radius: 50px;
  border: 2px solid var(--ink);
  text-align: center;
}
.cta-btn::after { content: "→"; font-size: 16px; }

/* ========== 01 ドライバーバンク:緑 ========== */
.cta-card.type-driver .cta-top {
  background: var(--main);
  color: #fff;
}
.cta-card.type-driver .cta-visual {
  background: var(--main-l);
  background-image: repeating-linear-gradient(
    -30deg,
    transparent 0px,
    transparent 22px,
    rgba(94,160,48,0.18) 22px,
    rgba(94,160,48,0.18) 24px
  );
}
.cta-card.type-driver .cta-btn {
  background: var(--main);
  color: #fff;
}
.cta-card.type-driver .catch-badge {
  color: var(--main-dd);
}

/* ========== 02 支援くん:赤 ========== */
.cta-card.type-company .cta-top {
  background: var(--accent);
  color: #fff;
}
.cta-card.type-company .cta-visual {
  background: var(--accent-l);
  background-image: repeating-linear-gradient(
    -30deg,
    transparent 0px,
    transparent 22px,
    rgba(214,48,49,0.12) 22px,
    rgba(214,48,49,0.12) 24px
  );
}
.cta-card.type-company .cta-btn {
  background: var(--accent);
  color: #fff;
}
.cta-card.type-company .catch-badge {
  color: var(--accent);
}

/* ========== 03 M&Aクエスト:ゴールド ========== */
.cta-card.type-ma .cta-top {
  background: #f5c842;
  color: var(--ink);
}
.cta-card.type-ma .cta-visual {
  background: var(--gold-l);
  background-image: repeating-linear-gradient(
    -30deg,
    transparent 0px,
    transparent 22px,
    rgba(212,168,20,0.18) 22px,
    rgba(212,168,20,0.18) 24px
  );
}
.cta-card.type-ma .cta-btn {
  background: var(--gold);
  color: var(--ink);
}
.cta-card.type-ma .catch-badge {
  color: var(--gold-d);
}

@media (max-width: 900px) {
  .cta-grid {
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 500px;
  }
  .cta-card {
    min-height: auto;
  }
  .cta-visual .mascot {
    width: 210px;
    right: -20px;
  }
}

/* ========================================== */
/* 関連記事カード — 画像付きレイアウト (v1.7)   */
/* ========================================== */
.related{max-width:1200px;margin:50px auto 40px;padding:0 20px}
.related-section-title{font-size:24px;font-weight:900;margin-bottom:20px;font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",sans-serif}
.related-card{
  display:block;text-decoration:none;color:inherit;
  border:2.5px solid var(--ink);border-radius:16px;overflow:hidden;background:#fff;
  box-shadow:5px 5px 0 var(--ink);transition:transform .15s ease, box-shadow .15s ease;
}
.related-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--ink)}
.related-thumb-wrap{
  display:block;aspect-ratio:16/9;background:#f0f0f0;overflow:hidden;
  border-bottom:2.5px solid var(--ink);
}
.related-thumb-wrap .related-thumb,
.related-thumb-wrap img{
  display:block;width:100%;height:100%;object-fit:cover;
}
.related-body{padding:14px 16px 16px}
/* カード内のh3.related-title はフラット化（セクション用装飾をリセット） */
.related-card .related-title{
  display:block;font-size:15px;font-weight:800;line-height:1.55;
  margin:0;color:var(--ink);
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",sans-serif;
  /* 3行で省略 */
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  gap:0;
}
.related-card .related-title::before,
.related-card .related-title::after{content:none;display:none}
.related-card .related-cat{
  display:inline-block;background:var(--ink);color:#fff;
  padding:3px 12px;border-radius:50px;
  font-size:11px;font-weight:800;margin-bottom:10px;letter-spacing:.08em;
}

/* ========================================== */
/* CTA 記事下バナー 文字間隔・サイズ調整        */
/* ========================================== */
.article-cta-wrap .cta-body h3{font-size:19px;line-height:1.55;letter-spacing:.01em}
.article-cta-wrap .cta-body p{font-size:13.5px;line-height:1.9;letter-spacing:.02em;color:#333;margin-bottom:16px}
.article-cta-wrap .cta-body{padding:18px 20px 20px}
.article-cta-wrap .cta-btn{font-size:15px;padding:13px 18px;letter-spacing:.02em}
@media(max-width:900px){
  .related-grid{grid-template-columns:repeat(2,1fr)!important}
  .article-cta-wrap .cta-body h3{font-size:18px}
  .article-cta-wrap .cta-body p{font-size:13px;line-height:1.85}
}
@media(max-width:560px){
  .related-grid{grid-template-columns:1fr!important}
}

/* ========================================== */
/* 関連記事 Pick Upスタイル (v1.8)             */
/* ========================================== */
.related-card-pickup{background:transparent;border:none;box-shadow:none;padding:0}
.related-card-pickup:hover{transform:translate(-3px,-3px)}
.related-card-pickup .db-card-thumb{
  background:#fff;border:2.5px solid var(--ink);border-radius:14px;
  aspect-ratio:16/11;position:relative;overflow:hidden;
  box-shadow:4px 4px 0 var(--ink);margin-bottom:20px;
}
.related-card-pickup .db-card-thumb::before,
.related-card-pickup .db-card-thumb::after{
  content:"";position:absolute;top:-1px;
  width:28px;height:10px;background:var(--ink);z-index:2;
}
.related-card-pickup .db-card-thumb::before{left:14px;border-radius:0 0 4px 4px}
.related-card-pickup .db-card-thumb::after{right:14px;border-radius:0 0 4px 4px}
.related-card-pickup .db-card-label{
  position:absolute;top:10px;left:50%;transform:translateX(-50%);
  background:var(--ink);color:#fff;padding:3px 14px;border-radius:4px;
  font-size:10.5px;font-weight:800;letter-spacing:.1em;white-space:nowrap;z-index:3;
}
.related-card-pickup .db-card-illust{
  position:absolute;inset:34px 16px 16px;
  background:var(--main-pale);border:2px solid var(--ink);border-radius:10px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;padding:12px;text-align:center;
}
.related-card-pickup .db-card-illust-text{
  font-family:"Hiragino Maru Gothic ProN","M PLUS Rounded 1c",sans-serif;
  font-size:20px;font-weight:900;color:var(--ink);line-height:1.35;letter-spacing:.02em;
}
.related-pickup-num{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--ink);color:#fff;font-weight:900;
  border-radius:6px;padding:2px 10px;font-size:14px;letter-spacing:.05em;
  align-self:flex-start;
}

/* カテゴリごとの背景色 */
.related-card-pickup .db-card-thumb.cat-mylife .db-card-illust{background:#ffe5e7}
.related-card-pickup .db-card-thumb.cat-tips .db-card-illust{background:var(--cream)}
.related-card-pickup .db-card-thumb.cat-letter .db-card-illust{background:#d8f0dd}
.related-card-pickup .db-card-thumb.cat-jobs .db-card-illust{background:#d9ebf5}

.related-card-pickup .related-body{padding:0 4px}
.related-card-pickup .related-title{
  font-size:15px;font-weight:800;line-height:1.55;color:var(--ink);
  font-family:"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",sans-serif;
  margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.related-card-pickup .related-title::before,
.related-card-pickup .related-title::after{content:none;display:none}

@media(max-width:900px){
  .related-card-pickup .db-card-illust-text{font-size:17px}
}
@media(max-width:560px){
  .related-card-pickup .db-card-illust-text{font-size:18px}
}

/* ========================================== */
/* 関連記事 Pick Upスタイル - v1.9 強化版       */
/* ========================================== */
.related-card-pickup .db-card-illust{
  background-image:repeating-linear-gradient(-30deg,transparent 0 22px,rgba(26,26,26,.06) 22px 24px);
  position:relative;
  padding:14px 14px 12px;
}
.related-card-pickup .db-card-illust-text{
  font-size:22px;font-weight:900;line-height:1.3;
  color:var(--ink);letter-spacing:.02em;
  font-family:"Hiragino Maru Gothic ProN","M PLUS Rounded 1c",sans-serif;
}
/* マスコット（コーナーに配置） */
.related-card-pickup .related-mascot{
  position:absolute;right:-6px;bottom:6px;width:62px;height:auto;
  z-index:4;pointer-events:none;transform:rotate(5deg);
  filter:drop-shadow(1px 2px 0 rgba(0,0,0,.1));
}
/* バブル badge（カテゴリ別テキスト） */
.related-card-pickup .related-bubble{
  position:absolute;top:44px;right:14px;z-index:6;
  background:var(--ink);color:#fff;
  padding:4px 12px;border-radius:3px;
  font-size:11px;font-weight:900;letter-spacing:.05em;
  box-shadow:2px 2px 0 rgba(0,0,0,.1);
}
/* カテゴリ別背景テクスチャの色を濃淡変える */
.related-card-pickup .db-card-thumb.cat-mylife .db-card-illust{
  background-color:#ffe5e7;
  background-image:repeating-linear-gradient(-30deg,transparent 0 22px,rgba(214,48,49,.12) 22px 24px);
}
.related-card-pickup .db-card-thumb.cat-tips .db-card-illust{
  background-color:var(--cream);
  background-image:repeating-linear-gradient(-30deg,transparent 0 22px,rgba(212,168,20,.18) 22px 24px);
}
.related-card-pickup .db-card-thumb.cat-letter .db-card-illust{
  background-color:#d8f0dd;
  background-image:repeating-linear-gradient(-30deg,transparent 0 22px,rgba(94,160,48,.18) 22px 24px);
}
.related-card-pickup .db-card-thumb.cat-jobs .db-card-illust{
  background-color:#d9ebf5;
  background-image:repeating-linear-gradient(-30deg,transparent 0 22px,rgba(30,100,160,.14) 22px 24px);
}

/* Pick Upマスコット被り軽減: マスコット→z:3、文字→z:6で文字を最前面に */
.db-card-illust{z-index:2}
.db-card-mascot{z-index:3;width:62px}
.db-card-illust-text,.db-card-illust-subtext{position:relative;z-index:6}
.db-card-mascot.br{right:-10px;bottom:-2px}
.db-card-mascot.bl{left:-10px;bottom:-2px}
.db-card-mascot.tr{width:40px;right:6px;top:30px}
@media(max-width:900px){
  .related-card-pickup .db-card-illust-text{font-size:18px}
  .related-card-pickup .related-mascot{width:50px}
  .related-card-pickup .related-bubble{font-size:10px;padding:3px 9px;top:36px;right:10px}
}

/* ========================================== */
/* 関連記事 - ホーム Pick Up 流用版 (v2.0)      */
/* ========================================== */
.related .related-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:18px;
}
.related-card-wrap{display:flex;flex-direction:column}
.related-card-wrap > .db-card{display:block;text-decoration:none;color:inherit}
.related-card-wrap .db-card:hover{transform:translateY(-4px)}
.related-fulltitle{
  font-size:14.5px;font-weight:700;line-height:1.6;margin:14px 6px 0;
  color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
@media(max-width:900px){
  .related .related-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .related .related-grid{grid-template-columns:1fr;gap:18px}
}

/* cat-section: 運送会社M&A (v2.3) */
.cat-section.bg-ma{background:var(--gold-l)}
.cat-section.bg-ma .cat-section-en{color:var(--gold-d)}


/* TOC番号を小さな角丸ラベルに (v2.6) */
.article-body .toc-list{list-style:none;padding:0;margin:0;counter-reset:toc}
.article-body .toc-list li{
  counter-increment:toc;position:relative;
  padding:10px 0 10px 50px;border-bottom:1px dashed #ddd;
  line-height:1.6;
}
.article-body .toc-list li::before{
  content:counter(toc,decimal-leading-zero);
  position:absolute;left:0;top:10px;
  font-family:"Hiragino Maru Gothic ProN",sans-serif;
  font-size:12px;font-weight:900;color:var(--main-d);
  background:var(--main-l);padding:3px 9px;border-radius:5px;
  width:auto;height:auto;display:inline-block;
  border:1.5px solid var(--main-d);
}
.article-body .toc-list li a{font-size:14px;font-weight:700;color:var(--ink)}
.article-body .toc-list li:last-child{border-bottom:none}
