/* 資料ダウンロード一覧（/download-pdf・/download-pdf_cate/*）2026年デザイン
   ヘッダー・フッターはサイト共通。ページ内は .dlLibrary 配下に閉じる */
.dlLibrary{
  --ink:#0d1b45;--ink2:#26335c;--mute:#4b5675;--blue:#1b76df;--blue-d:#0f5bc4;--coral:#ff5a3c;
  --bg:#f4f7fc;--line:rgba(13,27,69,.10);
  --sh:0 18px 44px -24px rgba(27,60,140,.28),0 4px 14px -8px rgba(27,60,140,.16);
  --r:22px;
  display:block;background:var(--bg);color:var(--ink);line-height:1.7;font-feature-settings:"palt";-webkit-font-smoothing:antialiased;overflow-x:clip
}
.dlLibrary *,.dlLibrary *::before,.dlLibrary *::after{box-sizing:border-box}
.dlLibrary .main__content{background:none;padding-top:130px;padding-bottom:120px}
.dlLibrary h1,.dlLibrary h2,.dlLibrary h3,.dlLibrary p{text-align:left;margin:0}
.dlLibrary img{max-width:100%;height:auto;display:block}
.dlLibrary a{color:inherit;text-decoration:none}
.dlLibrary :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:8px}
.dlLibrary .breadcrumbs-area{width:min(1320px,calc(100% - 32px));margin:0 auto;padding:0}
.dlLibrary .breadcrumbs-area__list{padding:0;margin:0}

.dlb-wrap{width:min(1320px,calc(100% - 32px));margin:0 auto}
.dlb-kick{font-weight:800;letter-spacing:.18em;font-size:12px;color:var(--blue);text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}
.dlb-kick::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(255,90,60,.16)}
.dlb-grad{background:linear-gradient(95deg,#1b76df 0%,#22b8f0 55%,#8b7bff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

.dlb-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 26px;border-radius:999px;font-weight:800;font-size:15px;transition:transform .25s,box-shadow .25s,background .25s}
.dlb-btn--p{background:var(--blue);color:#fff !important;box-shadow:0 14px 30px -12px rgba(27,118,223,.65)}
.dlb-btn--p:hover{background:var(--blue-d);transform:translateY(-2px)}
.dlb-btn--g{background:#fff;color:var(--ink);box-shadow:0 0 0 1.5px var(--line) inset}
.dlb-btn--g:hover{box-shadow:0 0 0 1.5px var(--ink) inset}
.dlb-arrow{transition:transform .25s;display:inline-block}
.dlLibrary a:hover .dlb-arrow{transform:translateX(4px)}

.dlb-tag{display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.dlb-tag--ed{background:rgba(27,118,223,.1);color:var(--blue-d)}
.dlb-tag--pop{background:var(--coral);color:#fff}
.dlb-tag--line{box-shadow:0 0 0 1.5px currentColor inset;color:var(--blue-d)}

/* hero */
.dlb-hero{padding:40px 0 0}
.dlb-hero__top{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:end;margin-bottom:44px}
.dlb-hero__title{font-size:clamp(40px,5.2vw,76px);line-height:1.15;font-weight:900;letter-spacing:-.02em;margin-top:18px;color:var(--ink)}
.dlb-hero__lead{font-size:17px;font-weight:700;color:var(--ink2);line-height:1.85}
.dlb-hero__stats{display:flex;gap:28px;margin-top:22px}
.dlb-hero__stats div{font-weight:700;font-size:13px;color:var(--mute);line-height:1.4}
.dlb-hero__stats b{display:block;font-size:34px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.dlb-hero__stats b small{font-size:15px;margin-left:2px}

.dlb-feat{display:grid;grid-template-columns:1.18fr 1fr;gap:24px}
.dlb-fp{display:flex;flex-direction:column;padding:28px 30px 30px;background:#fff;border-radius:var(--r);box-shadow:var(--sh)}
.dlb-fp__label{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.dlb-fp__no{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 16px 0 6px;border-radius:999px;background:var(--ink);color:#fff;font-weight:900;font-size:14px}
.dlb-fp__no i{width:24px;height:24px;border-radius:50%;background:var(--coral);display:grid;place-items:center;font-style:normal;font-size:12px}
.dlb-fp__no--alt{background:#fff;color:var(--ink);box-shadow:0 0 0 1.5px var(--line) inset}
.dlb-fp__no--alt i{background:var(--blue);color:#fff}
/* 表紙はフラット表示（傾けない） */
.dlb-stage{margin:22px 0 24px}
.dlb-stage__img{width:100%;border-radius:12px;box-shadow:0 0 0 1px rgba(13,27,69,.06),0 24px 40px -22px rgba(13,40,110,.45)}
.dlb-stage--two{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center}
.dlb-fp__title{font-size:clamp(22px,2.2vw,32px);font-weight:900;line-height:1.3;color:var(--ink)}
.dlb-fp__text{font-size:15px;font-weight:500;color:var(--ink2);margin-top:8px}
.dlb-fp__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.dlb-fp__act{display:flex;gap:12px;margin-top:auto;padding-top:22px;flex-wrap:wrap}

/* category bar */
.dlb-catbar{position:sticky;top:120px;z-index:40;margin:56px 0 28px;padding:8px 0}
.dlb-cats{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:6px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px -18px rgba(27,60,140,.35);width:max-content;max-width:100%}
.dlb-cats::-webkit-scrollbar{display:none}
.dlb-cat{flex:none;height:46px;padding:0 20px;border-radius:999px;border:0;background:transparent;font:inherit;font-weight:800;font-size:15px;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:background .25s,color .25s}
.dlb-cat sup{font-size:12px;font-weight:800;color:var(--mute);vertical-align:0}
.dlb-cat:hover{background:rgba(27,118,223,.08)}
.dlb-cat[aria-selected=true]{background:var(--ink);color:#fff}
.dlb-cat[aria-selected=true] sup{color:#8fc0ff}

.dlb-sec-h{display:flex;align-items:baseline;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.dlb-sec-h h2{font-size:clamp(26px,3vw,40px);font-weight:900;color:var(--ink)}
.dlb-sec-h__cnt{font-weight:800;font-size:20px;color:var(--blue)}
.dlb-sec-h p{margin-left:auto;font-size:14px;font-weight:700;color:var(--mute)}

/* grid */
.dlb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.dlb-card{position:relative;display:flex;flex-direction:column;padding:14px 14px 22px;border-radius:24px;background:#fff;box-shadow:var(--sh);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.dlb-card:hover{transform:translateY(-6px)}
.dlb-card[hidden]{display:none}
.dlb-card__thumb{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:#e9f0fb;box-shadow:0 0 0 1px rgba(13,27,69,.06) inset}
.dlb-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.dlb-card:hover .dlb-card__thumb img{transform:scale(1.04)}
.dlb-card__thumb .dlb-tag--pop{position:absolute;left:10px;top:10px}
.dlb-card__body{padding:16px 6px 0;display:flex;flex-direction:column;flex:1}
.dlb-card__title{font-size:20px;font-weight:900;line-height:1.4;color:var(--ink);line-break:strict}
.dlb-card__title a::after{content:"";position:absolute;inset:0;z-index:1;border-radius:24px}
.dlb-card__learn{font-size:15px;font-weight:500;color:var(--ink2);margin-top:12px !important;line-height:1.7}
.dlb-card__learn b{font-size:13px;font-weight:900;color:var(--blue);margin-right:6px;letter-spacing:.04em}
.dlb-card__meta{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:16px}
.dlb-card__pg{font-weight:800;font-size:14px;color:var(--ink)}
.dlb-card__pg span{font-size:12.5px;color:var(--mute);margin:0 2px}
.dlb-card__go{margin-left:auto;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(27,118,223,.1);color:var(--blue);font-weight:800;transition:all .3s}
.dlb-card:hover .dlb-card__go{background:var(--blue);color:#fff}
.dlb-empty{padding:40px 0;font-weight:700;color:var(--mute)}
.dlb-empty a{color:var(--blue);text-decoration:underline}

/* past */
.dlb-past{margin-top:110px}
.dlb-past__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.dlb-pi{display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:18px;background:#fff;box-shadow:var(--sh);transition:transform .3s}
.dlb-pi:hover{transform:translateY(-3px)}
.dlb-pi__ic{flex:none;width:46px;height:58px;border-radius:6px;background:#f1f5fc;box-shadow:0 8px 16px -8px rgba(13,40,110,.4),0 0 0 1px rgba(13,27,69,.06) inset;position:relative}
.dlb-pi__ic::before,.dlb-pi__ic::after{content:"";position:absolute;left:9px;right:9px;height:3px;border-radius:2px;background:#c9d7ef}
.dlb-pi__ic::before{top:14px}.dlb-pi__ic::after{top:22px;right:16px}
.dlb-pi small{display:block;font-size:12px;font-weight:800;color:var(--blue)}
.dlb-pi strong{display:block;font-size:16px;font-weight:800;line-height:1.45;color:var(--ink)}
.dlb-pi .dlb-arrow{margin-left:auto;color:var(--blue);font-weight:800}

@media (max-width:1100px){
  .dlb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dlb-feat{grid-template-columns:1fr}
}
@media (max-width:900px){
  .dlLibrary .main__content{padding-top:90px;padding-bottom:80px}
  .dlb-hero{padding:16px 0 0}
  .dlb-hero__top{grid-template-columns:1fr;gap:16px;margin-bottom:24px}
  .dlb-hero__title{font-size:36px;margin-top:12px}
  .dlb-hero__lead{font-size:15px}
  .dlb-hero__stats{gap:18px;margin-top:14px}
  .dlb-hero__stats b{font-size:26px}
  .dlb-feat{gap:14px}
  .dlb-fp{padding:20px 18px}
  .dlb-stage{margin:14px 0}
  .dlb-fp__title{font-size:22px}
  .dlb-fp__text{font-size:14px}
  .dlb-fp__act{flex-direction:column;gap:8px}
  .dlb-fp__act .dlb-btn{width:100%}
  .dlb-catbar{top:64px;margin:36px -16px 18px;padding:6px 16px}
  .dlb-cats{border-radius:18px;width:auto}
  .dlb-cat{height:40px;padding:0 15px;font-size:14px}
  .dlb-sec-h p{display:none}
  .dlb-grid{gap:12px}
  .dlb-card{padding:8px 8px 14px;border-radius:18px}
  .dlb-card__title a::after{border-radius:18px}
  .dlb-card__thumb{border-radius:10px}
  .dlb-card__thumb .dlb-tag--pop{left:6px;top:6px;height:22px;font-size:11px;padding:0 8px}
  .dlb-card__body{padding:10px 4px 0}
  .dlb-card__title{font-size:15px;line-height:1.45}
  .dlb-card__learn{font-size:13px;margin-top:8px !important;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .dlb-card__learn b{display:none}
  .dlb-card__meta{padding-top:10px;gap:6px;flex-wrap:wrap}
  .dlb-card__pg{font-size:12.5px}
  .dlb-card__meta .dlb-tag{height:22px;font-size:10.5px;padding:0 8px}
  .dlb-card__go{display:none}
  .dlb-past{margin-top:70px}
  .dlb-past__grid{grid-template-columns:1fr}
  .dlb-pi{padding:16px}
  .dlb-pi strong{font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  .dlLibrary *,.dlLibrary *::before,.dlLibrary *::after{transition:none !important}
}

/* まとめてダウンロード（選ぶ → 下部バー → フォーム → その場でDL） */
.dlb-ck{width:26px;height:26px;border-radius:50%;box-shadow:0 0 0 2px rgba(13,27,69,.28) inset;display:grid;place-items:center;background:#fff;transition:all .25s;flex:none}
.dlb-ck svg{opacity:0;transform:scale(.5);transition:all .25s}
[aria-pressed=true] .dlb-ck{background:var(--coral);box-shadow:none}
[aria-pressed=true] .dlb-ck svg{opacity:1;transform:none}
.dlb-add{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 22px 0 14px;border-radius:999px;border:0;background:#fff;box-shadow:0 0 0 1.5px var(--line) inset;font:inherit;font-weight:800;font-size:15px;color:var(--ink);cursor:pointer;transition:all .25s}
.dlb-add[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:none}
.dlb-pick{position:absolute;right:10px;top:10px;z-index:3;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px 0 6px;border-radius:999px;border:0;cursor:pointer;background:rgba(255,255,255,.95);font:inherit;font-weight:800;font-size:13px;color:var(--ink);box-shadow:0 6px 16px -6px rgba(13,27,69,.35);transition:all .25s}
.dlb-pick[aria-pressed=true]{background:var(--ink);color:#fff}
.dlb-card.is-sel{box-shadow:0 0 0 2.5px var(--blue),var(--sh)}

.dlb-dock{position:fixed;left:50%;bottom:22px;z-index:90;transform:translate(-50%,160%);visibility:hidden;transition:transform .5s cubic-bezier(.2,.8,.2,1),visibility 0s .5s;display:flex;align-items:center;gap:18px;padding:10px 10px 10px 14px;border-radius:999px;background:var(--ink);color:#fff;box-shadow:0 26px 50px -16px rgba(13,27,69,.6)}
.dlb-dock.is-on{transform:translate(-50%,0);visibility:visible;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.dlb-dock__stack{display:flex}
.dlb-dock__stack img{width:58px;height:31px;object-fit:cover;border-radius:6px;box-shadow:0 0 0 2px var(--ink);margin-left:-22px}
.dlb-dock__stack img:first-child{margin-left:0}
.dlb-dock__num{display:flex;align-items:baseline;gap:6px;font-weight:800;font-size:15px;white-space:nowrap}
.dlb-dock__num b{font-size:30px;line-height:1}
.dlb-dock__clr{background:none;border:0;color:#9fb2dd;font:inherit;font-weight:700;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.dlb-dock .dlb-btn{height:50px;border:0;cursor:pointer;font-family:inherit;white-space:nowrap}

.dlb-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}
.dlb-modal[hidden]{display:none}
.dlb-modal__scrim{position:absolute;inset:0;background:rgba(13,27,69,.45)}
.dlb-modal__box{position:relative;width:min(920px,100%);max-height:calc(100dvh - 40px);overflow:auto;display:grid;grid-template-columns:.9fr 1.1fr;border-radius:28px;background:#fff;box-shadow:0 40px 90px -30px rgba(13,27,69,.6);color:var(--ink)}
.dlb-modal__l{padding:34px 30px;background:#eef4fd;border-radius:28px 0 0 28px}
.dlb-modal__l h3{font-size:24px;font-weight:900;line-height:1.35;margin:10px 0 18px}
.dlb-modal__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.dlb-modal__list li{display:flex;align-items:center;gap:12px;padding:8px 10px 8px 8px;border-radius:14px;background:#fff}
.dlb-modal__list img{width:64px;height:34px;object-fit:cover;border-radius:6px;flex:none}
.dlb-modal__list span{font-size:14px;font-weight:800;line-height:1.4;flex:1}
.dlb-modal__list button{width:30px;height:30px;padding:0;margin:0;border-radius:50%;border:0;background:rgba(13,27,69,.07);cursor:pointer;flex:none;display:grid;place-items:center;line-height:0;color:var(--ink)}
.dlb-modal__list button svg{width:12px;height:12px}
.dlb-modal__r{padding:34px 34px 30px}
.dlb-modal__x{position:absolute;right:16px;top:16px;width:42px;height:42px;padding:0;margin:0;border-radius:50%;border:0;background:rgba(13,27,69,.07);cursor:pointer;display:grid;place-items:center;line-height:0;color:var(--ink);z-index:2}
.dlb-modal__x svg{width:16px !important;height:16px !important;flex:none}
.dlb-modal__list button svg{width:12px !important;height:12px !important;flex:none}
.dlb-modal__x:hover,.dlb-modal__list button:hover{background:rgba(13,27,69,.14)}
.dlb-modal__r h4{font-size:22px;font-weight:900}
.dlb-form__sub{font-size:14px;color:var(--mute);font-weight:700;margin:4px 0 18px !important}
.dlb-fld{display:block;margin-bottom:14px}
.dlb-fld span{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;margin-bottom:6px}
.dlb-fld em{font-style:normal;font-size:11px;font-weight:800;color:var(--coral);background:rgba(255,90,60,.1);padding:1px 7px;border-radius:6px}
.dlb-fld input{width:100%;height:52px;padding:0 16px;border-radius:14px;border:1.5px solid rgba(13,27,69,.14);background:#fff;font:inherit;font-size:16px;color:var(--ink)}
.dlb-fld input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(27,118,223,.15)}
.dlb-fld input.is-err{border-color:var(--coral)}
.dlb-agree{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--mute);margin:6px 0 16px;line-height:1.6;cursor:pointer}
.dlb-agree input{-webkit-appearance:checkbox;appearance:auto;position:static;opacity:1;display:inline-block;visibility:visible;width:20px;height:20px;accent-color:var(--blue);flex:none;margin:1px 0 0}
.dlb-agree a{color:var(--blue) !important;text-decoration:underline !important}
.dlb-form__submit{width:100%;border:0;cursor:pointer;font-family:inherit;background:linear-gradient(100deg,#ff6b5b 0%,#ff9a85 100%) !important;box-shadow:0 14px 30px -12px rgba(255,107,91,.6) !important}
.dlb-form__submit:hover{box-shadow:0 18px 36px -12px rgba(255,107,91,.75) !important}
.dlb-form__err{color:var(--coral);font-size:13px;font-weight:700;margin-top:10px !important;text-align:center !important}
.dlb-form__done{display:none;padding:10px 0}
.dlb-form [data-formrun-show-if-error].dlb-form__err{margin:-8px 0 10px !important;font-size:12.5px;color:#d93a2b;font-weight:700}
.dlb-form__note{font-size:12px;color:var(--mute);text-align:center !important;margin-top:10px !important}
.dlb-form__note a{text-decoration:underline !important}
.dlLibrary ._formrun_gotcha{position:absolute !important;height:1px;width:1px;overflow:hidden}
#dlb-form.is-sent .dlb-form__body{display:none}
.dlb-form select{width:100%;height:52px;padding:0 16px;border-radius:14px;border:1.5px solid rgba(13,27,69,.14);background:#fff;font:inherit;font-size:16px;color:var(--ink)}
#dlb-form.is-sent .dlb-form__done{display:block}
.dlb-form__ok{width:64px;height:64px;border-radius:50%;margin:0 0 16px;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:30px}
.dlb-form__done p{color:var(--mute);font-size:14px;margin:6px 0 16px !important}
.dlb-form__dl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.dlb-form__dl a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;background:#eef4fd;font-weight:800;font-size:14px}
.dlb-form__dl a:hover{background:#e0ebfb}
.dlb-form__dl a i{font-style:normal;color:var(--blue);white-space:nowrap}

@media (max-width:900px){
  .dlb-fp__act .dlb-add{width:100%;justify-content:center;height:50px}
  .dlb-pick{right:6px;top:auto;bottom:6px;height:auto;padding:0;background:none;box-shadow:none}
  .dlb-pick__lbl{display:none}
  .dlb-pick .dlb-ck{width:32px;height:32px;box-shadow:0 0 0 2px rgba(13,27,69,.3) inset,0 4px 10px -2px rgba(13,27,69,.35)}
  .dlb-pick[aria-pressed=true]{background:none}
  .dlb-dock{left:12px;right:12px;bottom:12px;transform:translateY(160%);gap:10px;padding:8px 8px 8px 12px}
  .dlb-dock.is-on{transform:none}
  .dlb-dock__stack img{width:44px;height:24px;margin-left:-26px}
  .dlb-dock__num{font-size:13px}.dlb-dock__num b{font-size:24px}
  .dlb-dock__clr{display:none}
  .dlb-dock .dlb-btn{margin-left:auto;height:46px;font-size:13.5px;padding:0 14px;gap:6px}
  .dlb-dock__stack img:nth-child(n+3){display:none}
  .dlb-modal{padding:0;align-items:flex-end}
  .dlb-modal__box{grid-template-columns:1fr;border-radius:24px 24px 0 0;max-height:92dvh}
  .dlb-modal__l{border-radius:24px 24px 0 0;padding:26px 20px 18px}
  .dlb-modal__l h3{font-size:20px;margin:6px 0 12px}
  .dlb-modal__r{padding:22px 20px 28px}
}
