@charset "UTF-8";
/* =============================================================
   福田総合法律事務所  /  juku.css（法教育塾のページのみ）
   タクタイル・ブルータリズム：太い線、ずらした影、少し傾いたカード、押すと沈むボタン
   クラスはすべて j- 接頭辞で、.jp の中だけに効く（他ページの style.css と衝突させない）
   ============================================================= */
.jp{--ink:#3d3937;--grey:#5f5a58;--green:#277563;--mint:#c9e7dd;--mint-d:#86cab6;--sky:#cfe9f6;--sun:#ffe9a8;--paper:#fbfaf7;--bounce:cubic-bezier(.34,1.56,.64,1);--ease:cubic-bezier(.19,1,.22,1);font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",system-ui,sans-serif;font-size:16px;line-height:1.9;letter-spacing:.04em;color:var(--ink);-webkit-font-smoothing:antialiased;background-color:var(--paper);background-image:radial-gradient(rgba(61,57,55,.12) 1.2px,transparent 1.4px);background-size:22px 22px;overflow-x:clip;padding-top:var(--header-h)}
.jp,.jp *,.jp *::before,.jp *::after{box-sizing:border-box}
.jp :focus-visible{outline:3px solid var(--green);outline-offset:4px}
.jp .j-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.jp .j-wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,64px)}
.jp .j-arw{width:20px;height:12px;flex:0 0 auto}
.jp .j-arw path{fill:none;stroke:currentColor;stroke-width:2}
.jp .j-tabs{position:sticky;top:0;z-index:50;transition:top .7s var(--ease);display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:14px 20px;background:rgba(251,250,247,.94);border-bottom:2.5px solid var(--ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.jp .j-tabs a{padding:6px 15px;border:2px solid var(--ink);border-radius:999px;background:#fff;box-shadow:3px 3px 0 var(--ink);font:700 13px/1.4 "Noto Sans JP",sans-serif;letter-spacing:.06em;color:var(--ink);text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}
.jp .j-tabs a:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.jp .j-tabs a.on{background:var(--sun)}
.jp .j-sec{position:relative;padding:112px 0}
.jp .j-sticker{display:inline-flex;align-items:center;gap:10px;margin:0;padding:8px 16px;border:2.5px solid var(--ink);border-radius:999px;background:#fff;box-shadow:4px 4px 0 var(--ink);font:600 13px/1 "Jost",sans-serif;letter-spacing:.24em;transform:rotate(-2deg);transition:transform .3s var(--bounce)}
.jp .j-sticker:hover{transform:rotate(2deg) scale(1.04)}
.jp .j-sticker span{font:700 13px/1 "Noto Sans JP",sans-serif;letter-spacing:.12em}
.jp .j-h2{margin:24px 0 0;font:900 clamp(30px,4vw,52px)/1.38 "Noto Sans JP",sans-serif;letter-spacing:.04em}
.jp .j-hl{background-image:linear-gradient(var(--sun),var(--sun));background-repeat:no-repeat;background-position:0 88%;background-size:100% .4em}
.jp .j-sub{max-width:44em;margin:16px 0 0;font-size:16px;line-height:2;color:var(--grey)}
.jp .j-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:30px 26px;margin-top:48px}
.jp .j-grid.j-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.jp .j-box{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px;border:2.5px solid var(--ink);border-radius:20px;background:#fff;box-shadow:6px 6px 0 var(--ink);color:var(--ink);text-decoration:none;transition:transform .14s ease,rotate .14s ease,box-shadow .14s ease}
.jp a.j-box:hover{transform:translate(3px,3px);rotate:0deg;box-shadow:3px 3px 0 var(--ink)}
.jp a.j-box:active{transform:translate(6px,6px);rotate:0deg;box-shadow:0 0 0 var(--ink)}
.jp .j-mint{background:var(--mint)}
.jp .j-sky{background:var(--sky)}
.jp .j-sun{background:var(--sun)}
.jp .j-tilt-l{rotate:-1deg}
.jp .j-tilt-r{rotate:.9deg}
.jp .j-lab{align-self:flex-start;padding:4px 10px;border:2px solid var(--ink);border-radius:8px;background:#fff;font:600 11.5px/1 "Jost",sans-serif;letter-spacing:.18em}
.jp .j-lab.j-ink{background:var(--ink);color:#fff}
.jp .j-bbtn{display:inline-flex;align-items:center;gap:14px;min-height:60px;padding:0 28px;border:2.5px solid var(--ink);border-radius:16px;background:#fff;box-shadow:6px 6px 0 var(--ink);font:700 16px/1.2 "Noto Sans JP",sans-serif;letter-spacing:.08em;color:var(--ink);text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}
.jp .j-bbtn:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--ink)}
.jp .j-bbtn:active{transform:translate(6px,6px);box-shadow:0 0 0 var(--ink)}
.jp .j-bbtn.j-sun{background:var(--sun)}
.jp .j-steam{display:flex;gap:6px}
.jp .j-st{display:grid;place-items:center;width:28px;height:28px;border:2px solid var(--ink);border-radius:7px;font:600 13px/1 "Jost",sans-serif;background:rgba(255,255,255,.55);color:rgba(61,57,55,.4)}
.jp .j-st.on{background:var(--ink);color:#fff}
.jp .j-hero{padding:56px 0 96px;overflow:hidden;overflow:clip}
.jp .j-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:48px}
.jp .j-title{margin:28px 0 0;font:900 clamp(34px,4.3vw,60px)/1.3 "Noto Sans JP",sans-serif;letter-spacing:.03em}
.jp .j-row{display:block}
.jp .j-row:nth-child(1){--rd:0s}
.jp .j-row:nth-child(2){--rd:.2s}
.jp .j-row:nth-child(3){--rd:.65s}
.jp .j-c{display:inline-block;--cd:0s}
.jp .j-c:nth-child(2){--cd:.05s}
.jp .j-c:nth-child(3){--cd:.1s}
.jp .j-c:nth-child(4){--cd:.15s}
.jp .j-c:nth-child(5){--cd:.2s}
.jp .j-c:nth-child(6){--cd:.25s}
.jp .j-c:nth-child(7){--cd:.3s}
.jp .j-c:nth-child(8){--cd:.35s}
.jp .j-c:nth-child(9){--cd:.4s}
.jp .j-mark{position:relative;display:inline-flex;isolation:isolate}
.jp .j-mark .j-c:nth-child(2){--cd:.05s}
.jp .j-mark::before{content:"";position:absolute;left:-.06em;right:-.06em;bottom:.1em;height:.42em;z-index:-1;border-radius:8px;background:var(--sun);transform-origin:left center;transform:rotate(-1.5deg)}
.jp .j-row .j-c.j-end{--cd:.12s}
@keyframes jDrop{0%{opacity:0;transform:translateY(-130%) rotate(-10deg)}55%{opacity:1;transform:translateY(10%) rotate(3deg)}75%{transform:translateY(-4%) rotate(-1deg)}100%{opacity:1;transform:none}}
@keyframes jMarker{from{transform:rotate(-1.5deg) scaleX(0)}to{transform:rotate(-1.5deg) scaleX(1)}}
.jp .j-hacts{display:flex;flex-wrap:wrap;gap:16px;margin-top:34px}
.jp .j-collage{position:relative;height:520px}
.jp .j-polaroid{position:absolute;right:20px;top:20px;width:340px;margin:0;padding:14px 14px 16px;border:2.5px solid var(--ink);border-radius:18px;background:#fff;box-shadow:6px 6px 0 var(--ink);rotate:3deg}
.jp .j-polaroid .j-frame{height:250px;border:2px solid var(--ink);border-radius:12px;overflow:hidden;overflow:clip}
.jp .j-polaroid img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.jp .j-polaroid figcaption{margin:12px 2px 0;font:700 14px/1.5 "Noto Sans JP",sans-serif;letter-spacing:.06em}
.jp .j-tape{position:absolute;top:-12px;width:84px;height:26px;background:rgba(255,233,168,.88);border:1.5px solid rgba(61,57,55,.35)}
.jp .j-tape.j-l{left:22px;transform:rotate(-8deg)}
.jp .j-tape.j-r{right:22px;transform:rotate(7deg)}
.jp .j-memo{position:absolute;left:0;bottom:44px;width:230px;margin:0;padding:22px 20px;border:2.5px solid var(--ink);border-radius:6px 22px 6px 6px;background:var(--sun);box-shadow:6px 6px 0 var(--ink);font:900 22px/1.5 "Noto Sans JP",sans-serif;letter-spacing:.04em;rotate:-4deg}
.jp .j-collage .j-steam{position:absolute;right:40px;bottom:30px;rotate:-2deg}
.jp .j-collage .j-st{width:40px;height:40px;font-size:18px;border-width:2.5px;border-radius:10px;background:#fff;color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.jp .j-collage .j-st.on{background:var(--green);color:#fff}
.jp .j-shape{position:absolute;display:block;border:2.5px solid var(--ink);pointer-events:none}
.jp .j-s-circle{left:30px;top:30px;width:64px;height:64px;border-radius:50%;background:var(--mint)}
.jp .j-s-square{left:200px;top:-6px;width:40px;height:40px;border-radius:8px;background:var(--sky);rotate:14deg}
.jp .j-s-pill{right:-10px;bottom:150px;width:90px;height:34px;border-radius:999px;background:#fff}
.jp .j-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:26px;margin-top:48px}
.jp .j-fact{gap:6px}
.jp .j-fact .j-k{align-self:flex-start;padding:3px 12px;border-radius:8px;background:var(--ink);color:#fff;font:700 13px/1.6 "Noto Sans JP",sans-serif;letter-spacing:.12em}
.jp .j-fact .j-v{font:900 22px/1.5 "Noto Sans JP",sans-serif;letter-spacing:.03em}
.jp .j-fact .j-n{font-size:13.5px;line-height:1.8;color:var(--grey)}
.jp .j-ideas{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:48px}
.jp .j-idea{min-height:220px;gap:14px}
.jp .j-idea .j-no{display:grid;place-items:center;width:46px;height:46px;border:2.5px solid var(--ink);border-radius:50%;background:#fff;font:600 20px/1 "Jost",sans-serif;box-shadow:3px 3px 0 var(--ink)}
.jp .j-idea p{margin:0;font:700 16.5px/1.7 "Noto Sans JP",sans-serif;letter-spacing:.03em;word-break:auto-phrase}
.jp .j-loophole{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;margin-top:44px;padding:30px 34px;border:2.5px solid var(--ink);border-radius:24px;background:var(--sun);box-shadow:8px 8px 0 var(--ink)}
.jp .j-loophole h3{margin:0;font:900 30px/1.4 "Noto Sans JP",sans-serif;letter-spacing:.04em;white-space:nowrap}
.jp .j-loophole p{margin:0;font-size:15.5px;line-height:2}
.jp .j-theme{min-height:300px}
.jp .j-theme h3{margin:6px 0 0;font:900 19px/1.5 "Noto Sans JP",sans-serif;letter-spacing:.03em;word-break:auto-phrase}
.jp .j-theme .j-sub2{margin:0;font-size:13.5px;line-height:1.75;color:var(--grey);word-break:auto-phrase}
.jp .j-tags{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none}
.jp .j-tags li{padding:2px 9px;border:1.5px solid var(--ink);border-radius:999px;background:rgba(255,255,255,.7);font-size:11.5px;line-height:1.7}
.jp .j-theme .j-steam{margin-top:auto;padding-top:12px}
.jp .j-tnote{margin:0;font-size:12px;line-height:1.7;color:var(--grey)}
.jp .j-tgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.jp .j-law,.jp .j-law p,.jp .j-law figcaption{word-break:auto-phrase;text-wrap:pretty}
.jp .j-law{grid-column:span 2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);grid-template-areas:"head quote" "key key" "note note";gap:18px 30px;align-content:start;padding:30px 32px 28px;background:var(--ink);color:#fff;scroll-margin-top:calc(var(--header-h) + 80px)}
.jp .j-law.j-tilt-l{rotate:-.5deg}
.jp .j-lw-head{grid-area:head;display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.jp .j-law .j-lab{background:var(--sun);color:var(--ink);border-color:var(--sun)}
.jp .j-law h3{margin:2px 0 0;font:900 30px/1.45 "Noto Sans JP",sans-serif;letter-spacing:.04em}
.jp .j-law h3 em{font-style:normal;color:var(--sun)}
.jp .j-lw-head p{margin:0;font-size:14.5px;line-height:1.95;color:rgba(255,255,255,.92)}
.jp .j-lw-quote{grid-area:quote;display:grid;gap:12px;align-self:center;margin:0}
.jp .j-lw-quote blockquote{margin:0;padding:18px 20px;border:2.5px solid #fff;border-radius:6px 20px 6px 6px;background:var(--sun);color:var(--ink);box-shadow:5px 5px 0 #fff;transform:rotate(-1deg)}
.jp .j-lw-quote blockquote p{margin:0;font:700 16px/1.9 "Noto Sans JP",sans-serif;letter-spacing:.02em}
.jp .j-lw-quote figcaption{font-size:12.5px;line-height:1.75;color:rgba(255,255,255,.82)}
.jp .j-lw-quote a{color:#fff;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px;transition:color .15s}
.jp .j-lw-quote a:hover{color:var(--sun)}
.jp .j-ext{display:inline-block;width:11px;height:11px;margin-left:5px;vertical-align:-1px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.jp .j-lw-key{grid-area:key;display:flex;flex-wrap:wrap;gap:10px 18px;margin:4px 0 0;padding:18px 0 0;border-top:2px dashed rgba(255,255,255,.35);list-style:none}
.jp .j-lw-key li{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.92)}
.jp .j-lw-key b{display:grid;place-items:center;width:28px;height:28px;border:2px solid #fff;border-radius:7px;font:600 13px/1 "Jost",sans-serif;color:#fff}
.jp .j-lw-key .on b{background:var(--sun);border-color:var(--sun);color:var(--ink)}
.jp .j-lw-note{grid-area:note;margin:0;font-size:13px;line-height:1.85;color:rgba(255,255,255,.78)}
.jp .j-collage a.j-steam{text-decoration:none;transition:translate .14s ease}
.jp .j-collage a.j-steam .j-st{transition:box-shadow .14s ease}
.jp .j-collage a.j-steam:hover{translate:2px 2px}
.jp .j-collage a.j-steam:hover .j-st{box-shadow:1px 1px 0 var(--ink)}
.jp .j-track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 26px;margin-top:48px;counter-reset:none}
.jp .j-step{min-height:210px}
.jp .j-step .j-big{font:600 44px/1 "Jost",sans-serif;letter-spacing:-.01em}
.jp .j-step h3{margin:0;font:900 24px/1.4 "Noto Sans JP",sans-serif;letter-spacing:.04em}
.jp .j-step .j-t{align-self:flex-start;padding:2px 10px;border:2px solid var(--ink);border-radius:999px;background:#fff;font:700 12px/1.7 "Noto Sans JP",sans-serif}
.jp .j-step p{margin:0;font-size:14px;line-height:1.85}
.jp .j-step.j-goal{background:var(--sun)}
.jp .j-callnote{display:inline-block;margin:44px 0 0;padding:16px 22px;border:2.5px solid var(--ink);border-radius:6px 20px 6px 6px;background:var(--sun);box-shadow:5px 5px 0 var(--ink);font:700 15px/1.9 "Noto Sans JP",sans-serif;rotate:-1deg}
.jp .j-tbl-wrap{margin-top:40px;padding:0 10px 12px 0;overflow-x:auto}
.jp .j-tbl{width:100%;min-width:640px;border-collapse:separate;border-spacing:0;border:2.5px solid var(--ink);border-radius:18px;overflow:clip;background:#fff;box-shadow:6px 6px 0 var(--ink)}
.jp .j-tbl th,.jp .j-tbl td{padding:14px 18px;border-bottom:2px solid var(--ink);text-align:left;vertical-align:top;font-size:14.5px;line-height:1.8}
.jp .j-tbl tr:last-child th,.jp .j-tbl tr:last-child td{border-bottom:0}
.jp .j-tbl thead th{background:var(--ink);color:#fff;font-weight:700;letter-spacing:.1em}
.jp .j-tbl tbody th{width:18%;background:var(--mint);font-weight:900;white-space:nowrap}
.jp .j-tbl td+td,.jp .j-tbl th+td{border-left:2px solid var(--ink)}
.jp .j-tbl thead th+th{border-left:2px solid rgba(255,255,255,.4)}
.jp .j-yen{font:600 20px/1.3 "Jost",sans-serif;letter-spacing:.02em}
.jp .j-yen small{display:block;font:500 12.5px/1.6 "Noto Sans JP",sans-serif;color:var(--grey)}
.jp .j-inst{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center;margin-top:48px}
.jp .j-inst .j-polaroid{position:relative;right:auto;top:auto;width:100%;max-width:420px;rotate:-2.5deg}
.jp .j-inst .j-polaroid .j-frame{height:320px}
.jp .j-name{margin:0;font:900 28px/1.5 "Noto Sans JP",sans-serif;letter-spacing:.08em}
.jp .j-bar{margin:4px 0 0;font-size:13.5px;letter-spacing:.1em;color:var(--grey)}
.jp .j-inst .j-txt{margin:20px 0 0;font-size:16px;line-height:2}
.jp .j-acts{display:grid;gap:14px;margin-top:26px}
.jp .j-act{flex-direction:row;align-items:flex-start;gap:14px;padding:16px 18px}
.jp .j-act .j-lab{flex:0 0 auto;margin-top:3px}
.jp .j-act p{margin:0;font-size:14px;line-height:1.85}
.jp .j-notes{display:grid;gap:8px;margin:30px 0 0;padding:0;list-style:none}
.jp .j-notes li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.9}
.jp .j-notes li::before{content:"";position:absolute;left:2px;top:.72em;width:10px;height:10px;border:2px solid var(--ink);border-radius:3px;background:var(--sun)}
.jp .j-safe .j-ic{display:grid;place-items:center;width:54px;height:54px;border:2.5px solid var(--ink);border-radius:14px;background:#fff;box-shadow:3px 3px 0 var(--ink)}
.jp .j-safe .j-ic svg{width:28px;height:28px}
.jp .j-safe .j-ic path,.jp .j-safe .j-ic rect,.jp .j-safe .j-ic circle{fill:none;stroke:var(--ink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jp .j-safe h3{margin:6px 0 0;font:900 19px/1.5 "Noto Sans JP",sans-serif}
.jp .j-safe p{margin:0;font-size:14px;line-height:1.85;color:var(--grey)}
.jp .j-telnote{margin:34px 0 0;font-size:14.5px}
.jp .j-telnote b{font:600 18px/1 "Jost",sans-serif;letter-spacing:.04em}
.jp .j-faq{display:grid;gap:22px;margin-top:44px}
.jp .j-qa{flex-direction:row;gap:20px;padding:22px 24px}
.jp .j-qa .j-qbox{display:grid;gap:12px;flex:1 1 auto}
.jp .j-qb{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:2.5px solid var(--ink);border-radius:50%;font:600 18px/1 "Jost",sans-serif;background:var(--ink);color:#fff}
.jp .j-q{margin:0;font:900 18px/1.6 "Noto Sans JP",sans-serif;padding-top:6px}
.jp .j-a{display:flex;gap:14px;margin:0;font-size:15px;line-height:1.95}
.jp .j-a b{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border:2px solid var(--ink);border-radius:50%;background:var(--mint);font:600 14px/1 "Jost",sans-serif}
.jp .j-apply-sec{padding:104px 0;background:var(--sun);border-block:2.5px solid var(--ink)}
.jp .j-apply-sec .j-h2{margin-top:22px}
.jp .j-cta3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:24px;margin-top:40px}
.jp .j-cta3 .j-box{gap:6px;min-height:150px}
.jp .j-cta3 .j-k{font:600 12px/1.4 "Jost",sans-serif;letter-spacing:.24em;color:var(--green)}
.jp .j-cta3 .j-v{font:900 20px/1.5 "Noto Sans JP",sans-serif}
.jp .j-cta3 .j-v.j-tel{font:600 26px/1.3 "Jost",sans-serif;letter-spacing:.02em}
.jp .j-cta3 .j-s{font-size:13px;line-height:1.8;color:var(--grey)}
.jp .j-cta3 .j-arw{position:absolute;right:22px;top:26px}
.jp .j-foot{margin:30px 0 0;font-size:13px;color:var(--grey)}
@media (max-width:1100px){
  .jp .j-ideas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jp .j-ideas .j-idea:last-child{grid-column:1/-1}
  .jp .j-track{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jp .j-tgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  .jp .j-hero-grid,.jp .j-inst{grid-template-columns:1fr}
  .jp .j-collage{height:460px}
  .jp .j-loophole{grid-template-columns:1fr}
  .jp .j-loophole h3{white-space:normal}
}
@media (max-width:760px){
  .jp .j-law{grid-template-columns:1fr;grid-template-areas:"head" "quote" "key" "note"}
}
@media (max-width:600px){
  .jp .j-grid.j-g2,.jp .j-tgrid{grid-template-columns:1fr}
  .jp .j-law{grid-column:auto;padding:24px 22px}
  .jp .j-law h3{font-size:24px}
  .jp .j-sec{padding:84px 0}
  .jp .j-ideas,.jp .j-track{grid-template-columns:1fr}
  .jp .j-collage{height:420px}
  .jp .j-polaroid{width:260px}
  .jp .j-polaroid .j-frame{height:190px}
  .jp .j-memo{width:190px;font-size:18px}
  .jp .j-qa{flex-direction:column}
}

/* =============================================================
   本番用の追加（パンくず・会場写真・固定ヘッダーとの重なり・動き）
   ============================================================= */

/* ページ内の見出しへ移動したとき、固定ヘッダーとタブに隠れないように */
.jp [id]{scroll-margin-top:calc(var(--header-h) + 80px)}
/* サイトのヘッダーが出ているあいだは、タブをその下に下ろす */
body:has(.site-header.is-scrolled:not(.is-hidden)) .jp .j-tabs{top:var(--header-h)}

/* パンくず */
.jp .j-crumbs ol{display:flex;flex-wrap:wrap;gap:6px 10px;margin:0 0 22px;padding:0;list-style:none;font:700 12px/1.6 "Noto Sans JP",sans-serif;letter-spacing:.1em;color:var(--grey)}
.jp .j-crumbs li+li::before{content:"／";margin-right:10px;opacity:.5}
.jp .j-crumbs a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}

/* 受講料：注記と会場の写真を並べる */
.jp .j-fees-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:24px 48px;align-items:start}
.jp .j-polaroid.j-flat{position:relative;right:auto;top:auto;width:100%;margin-top:34px;rotate:2deg}
.jp .j-polaroid.j-flat .j-frame{height:220px}
@media (max-width:860px){.jp .j-fees-grid{grid-template-columns:1fr}.jp .j-polaroid.j-flat{max-width:420px}}

/* 日本語を文節で折り返す（「しませ／ん。」のような分かれ方を防ぐ） */
.jp .j-sub,.jp .j-fact .j-v,.jp .j-fact .j-n,.jp .j-loophole p,.jp .j-step p,.jp .j-safe p,.jp .j-a,.jp .j-act p,.jp .j-notes li,.jp .j-txt,.jp .j-tbl td,.jp .j-callnote,.jp .j-cta3 .j-s{word-break:auto-phrase}
/* スマホでは、表を横に動かさずに読めるよう、折り返して収める */
@media (max-width:600px){
  .jp .j-tbl-wrap{overflow-x:visible;padding:0 8px 10px 0}
  .jp .j-tbl{min-width:0}
  .jp .j-tbl th,.jp .j-tbl td{padding:10px;font-size:13px;line-height:1.7}
  .jp .j-tbl tbody th{width:auto;white-space:normal}
  .jp .j-yen{font-size:16px}
  .jp .j-yen small{font-size:11.5px}
}
/* タブ：画面が狭いときは1行のまま横に送る */
@media (max-width:1100px){.jp .j-tabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.jp .j-tabs::-webkit-scrollbar{display:none}.jp .j-tabs a{flex:0 0 auto}}
/* 電話番号のリンク・講師欄のリンク */
.jp .j-telnote a{color:inherit;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}
.jp .j-more{margin:24px 0 0;font:700 14.5px/1.6 "Noto Sans JP",sans-serif;letter-spacing:.06em}
.jp .j-more a{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.jp .j-more a:hover{color:var(--green)}

/* ---------- 表示時に浮かぶ（data-reveal → .is-in）。傾きは rotate、押し込みは transform で、別々に動かす ---------- */
.js .jp [data-reveal]{opacity:0;transform:none;translate:0 36px;transition:opacity 1s var(--ease) var(--d,0s),translate 1.2s var(--ease) var(--d,0s)}
.js .jp [data-reveal].is-in{opacity:1;translate:0 0}
.js .jp .j-box[data-reveal]{transition:opacity 1s var(--ease) var(--d,0s),translate 1.2s var(--ease) var(--d,0s),transform .14s ease,rotate .14s ease,box-shadow .14s ease}
/* 蛍光ペンの線：見出しが見えたら引かれる */
.js .jp .j-hl{background-size:0% .4em;transition:background-size .9s var(--ease) .35s}
.js .jp .is-in .j-hl{background-size:100% .4em}

/* ---------- 見出し「法は、一緒に暮らすための道具。」：書体の読込みを待って（.is-loaded）、一文字ずつ落ちてくる ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .jp .j-title .j-c{opacity:0;animation:jShow .6s ease 3.5s forwards}
  .js .jp .j-mark::before{transform:rotate(-1.5deg) scaleX(0);animation:jMarkShow .6s ease 3.8s forwards}
  .js.is-loaded .jp .j-title .j-c{animation:jDrop .9s var(--bounce) both;animation-delay:calc(var(--rd) + var(--cd))}
  .js.is-loaded .jp .j-mark::before{animation:jMarker .7s ease-out 1.2s both}
}

/* main.js が動かなかったときの表示（名前を分けて、読込み後は jDrop を最初から動かす） */
@keyframes jShow{to{opacity:1;transform:none}}
@keyframes jMarkShow{to{transform:rotate(-1.5deg) scaleX(1)}}

/* ---------- 動きを減らす設定 ---------- */
@media (prefers-reduced-motion:reduce){
  .jp *,.jp *::before,.jp *::after{animation:none!important;transition:none!important}
}

/* ---------- 印刷 ---------- */
@media print{
  .jp{background-image:none}
  .jp .j-tabs,.jp .j-shape{display:none!important}
  .js .jp [data-reveal]{opacity:1!important;translate:none!important}
  .js .jp .j-hl{background-size:100% .4em!important}
}
