@charset "utf-8";
/* basis.css : 単機能ユーティリティ専用（1プロパティ=1値）。 */
/* 追記可: 命名規則(.claude/skills/basis-css/references/naming-rules.md)に完全準拠した単機能クラスのみ。例: 未定義のレスポンシブ余白 .mb10s を該当@mediaブロックに追記。 */
/* 禁止: 色・背景・枠線・影・font-family・複数プロパティの組・padding+margin複合・役割を持つスタイルは入れない(→ parts.css/structure.css)。既存クラスの上書き再定義も禁止。 */

/* ── Margin Bottom (.mb00〜.mb50) ── */
.mb00 { margin-bottom: 0px !important; }
.mb01 { margin-bottom: 1px !important; }
.mb02 { margin-bottom: 2px !important; }
.mb03 { margin-bottom: 3px !important; }
.mb04 { margin-bottom: 4px !important; }
.mb05 { margin-bottom: 5px !important; }
.mb06 { margin-bottom: 6px !important; }
.mb07 { margin-bottom: 7px !important; }
.mb08 { margin-bottom: 8px !important; }
.mb09 { margin-bottom: 9px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb11 { margin-bottom: 11px !important; }
.mb12 { margin-bottom: 12px !important; }
.mb13 { margin-bottom: 13px !important; }
.mb14 { margin-bottom: 14px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb16 { margin-bottom: 16px !important; }
.mb17 { margin-bottom: 17px !important; }
.mb18 { margin-bottom: 18px !important; }
.mb19 { margin-bottom: 19px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb21 { margin-bottom: 21px !important; }
.mb22 { margin-bottom: 22px !important; }
.mb23 { margin-bottom: 23px !important; }
.mb24 { margin-bottom: 24px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb26 { margin-bottom: 26px !important; }
.mb27 { margin-bottom: 27px !important; }
.mb28 { margin-bottom: 28px !important; }
.mb29 { margin-bottom: 29px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb31 { margin-bottom: 31px !important; }
.mb32 { margin-bottom: 32px !important; }
.mb33 { margin-bottom: 33px !important; }
.mb34 { margin-bottom: 34px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb36 { margin-bottom: 36px !important; }
.mb37 { margin-bottom: 37px !important; }
.mb38 { margin-bottom: 38px !important; }
.mb39 { margin-bottom: 39px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb41 { margin-bottom: 41px !important; }
.mb42 { margin-bottom: 42px !important; }
.mb43 { margin-bottom: 43px !important; }
.mb44 { margin-bottom: 44px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb46 { margin-bottom: 46px !important; }
.mb47 { margin-bottom: 47px !important; }
.mb48 { margin-bottom: 48px !important; }
.mb49 { margin-bottom: 49px !important; }
.mb50 { margin-bottom: 50px !important; }

/* ── Margin Top (.mt00〜.mt50) ── */
.mt00 { margin-top: 0px !important; }
.mt01 { margin-top: 1px !important; }
.mt02 { margin-top: 2px !important; }
.mt03 { margin-top: 3px !important; }
.mt04 { margin-top: 4px !important; }
.mt05 { margin-top: 5px !important; }
.mt06 { margin-top: 6px !important; }
.mt07 { margin-top: 7px !important; }
.mt08 { margin-top: 8px !important; }
.mt09 { margin-top: 9px !important; }
.mt10 { margin-top: 10px !important; }
.mt11 { margin-top: 11px !important; }
.mt12 { margin-top: 12px !important; }
.mt13 { margin-top: 13px !important; }
.mt14 { margin-top: 14px !important; }
.mt15 { margin-top: 15px !important; }
.mt16 { margin-top: 16px !important; }
.mt17 { margin-top: 17px !important; }
.mt18 { margin-top: 18px !important; }
.mt19 { margin-top: 19px !important; }
.mt20 { margin-top: 20px !important; }
.mt21 { margin-top: 21px !important; }
.mt22 { margin-top: 22px !important; }
.mt23 { margin-top: 23px !important; }
.mt24 { margin-top: 24px !important; }
.mt25 { margin-top: 25px !important; }
.mt26 { margin-top: 26px !important; }
.mt27 { margin-top: 27px !important; }
.mt28 { margin-top: 28px !important; }
.mt29 { margin-top: 29px !important; }
.mt30 { margin-top: 30px !important; }
.mt31 { margin-top: 31px !important; }
.mt32 { margin-top: 32px !important; }
.mt33 { margin-top: 33px !important; }
.mt34 { margin-top: 34px !important; }
.mt35 { margin-top: 35px !important; }
.mt36 { margin-top: 36px !important; }
.mt37 { margin-top: 37px !important; }
.mt38 { margin-top: 38px !important; }
.mt39 { margin-top: 39px !important; }
.mt40 { margin-top: 40px !important; }
.mt41 { margin-top: 41px !important; }
.mt42 { margin-top: 42px !important; }
.mt43 { margin-top: 43px !important; }
.mt44 { margin-top: 44px !important; }
.mt45 { margin-top: 45px !important; }
.mt46 { margin-top: 46px !important; }
.mt47 { margin-top: 47px !important; }
.mt48 { margin-top: 48px !important; }
.mt49 { margin-top: 49px !important; }
.mt50 { margin-top: 50px !important; }

/* ── Margin em (.mb1em〜.mb5em / .mt1em〜.mt5em) ── */
.mb1em { margin-bottom: 1em !important; }
.mb2em { margin-bottom: 2em !important; }
.mb3em { margin-bottom: 3em !important; }
.mb4em { margin-bottom: 4em !important; }
.mb5em { margin-bottom: 5em !important; }
.mt1em { margin-top: 1em !important; }
.mt2em { margin-top: 2em !important; }
.mt3em { margin-top: 3em !important; }
.mt4em { margin-top: 4em !important; }
.mt5em { margin-top: 5em !important; }

/* ── Margin Left / Right (.ml00〜.ml30 / .mr00〜.mr30) ── */
.ml00 { margin-left: 0px !important; }
.ml01 { margin-left: 1px !important; }
.ml02 { margin-left: 2px !important; }
.ml03 { margin-left: 3px !important; }
.ml04 { margin-left: 4px !important; }
.ml05 { margin-left: 5px !important; }
.ml06 { margin-left: 6px !important; }
.ml07 { margin-left: 7px !important; }
.ml08 { margin-left: 8px !important; }
.ml09 { margin-left: 9px !important; }
.ml10 { margin-left: 10px !important; }
.ml11 { margin-left: 11px !important; }
.ml12 { margin-left: 12px !important; }
.ml13 { margin-left: 13px !important; }
.ml14 { margin-left: 14px !important; }
.ml15 { margin-left: 15px !important; }
.ml16 { margin-left: 16px !important; }
.ml17 { margin-left: 17px !important; }
.ml18 { margin-left: 18px !important; }
.ml19 { margin-left: 19px !important; }
.ml20 { margin-left: 20px !important; }
.ml21 { margin-left: 21px !important; }
.ml22 { margin-left: 22px !important; }
.ml23 { margin-left: 23px !important; }
.ml24 { margin-left: 24px !important; }
.ml25 { margin-left: 25px !important; }
.ml26 { margin-left: 26px !important; }
.ml27 { margin-left: 27px !important; }
.ml28 { margin-left: 28px !important; }
.ml29 { margin-left: 29px !important; }
.ml30 { margin-left: 30px !important; }
.mr00 { margin-right: 0px !important; }
.mr01 { margin-right: 1px !important; }
.mr02 { margin-right: 2px !important; }
.mr03 { margin-right: 3px !important; }
.mr04 { margin-right: 4px !important; }
.mr05 { margin-right: 5px !important; }
.mr06 { margin-right: 6px !important; }
.mr07 { margin-right: 7px !important; }
.mr08 { margin-right: 8px !important; }
.mr09 { margin-right: 9px !important; }
.mr10 { margin-right: 10px !important; }
.mr11 { margin-right: 11px !important; }
.mr12 { margin-right: 12px !important; }
.mr13 { margin-right: 13px !important; }
.mr14 { margin-right: 14px !important; }
.mr15 { margin-right: 15px !important; }
.mr16 { margin-right: 16px !important; }
.mr17 { margin-right: 17px !important; }
.mr18 { margin-right: 18px !important; }
.mr19 { margin-right: 19px !important; }
.mr20 { margin-right: 20px !important; }
.mr21 { margin-right: 21px !important; }
.mr22 { margin-right: 22px !important; }
.mr23 { margin-right: 23px !important; }
.mr24 { margin-right: 24px !important; }
.mr25 { margin-right: 25px !important; }
.mr26 { margin-right: 26px !important; }
.mr27 { margin-right: 27px !important; }
.mr28 { margin-right: 28px !important; }
.mr29 { margin-right: 29px !important; }
.mr30 { margin-right: 30px !important; }
.mla    { margin-left:  auto !important; }
.mra    { margin-right: auto !important; }
.mtAuto { margin-top:   auto !important; }

/* ── Padding Bottom / Top (.pb00〜.pb30 / .pt00〜.pt30) ── */
.pb00 { padding-bottom: 0px !important; }
.pb01 { padding-bottom: 1px !important; }
.pb02 { padding-bottom: 2px !important; }
.pb03 { padding-bottom: 3px !important; }
.pb04 { padding-bottom: 4px !important; }
.pb05 { padding-bottom: 5px !important; }
.pb06 { padding-bottom: 6px !important; }
.pb07 { padding-bottom: 7px !important; }
.pb08 { padding-bottom: 8px !important; }
.pb09 { padding-bottom: 9px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb11 { padding-bottom: 11px !important; }
.pb12 { padding-bottom: 12px !important; }
.pb13 { padding-bottom: 13px !important; }
.pb14 { padding-bottom: 14px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb16 { padding-bottom: 16px !important; }
.pb17 { padding-bottom: 17px !important; }
.pb18 { padding-bottom: 18px !important; }
.pb19 { padding-bottom: 19px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb21 { padding-bottom: 21px !important; }
.pb22 { padding-bottom: 22px !important; }
.pb23 { padding-bottom: 23px !important; }
.pb24 { padding-bottom: 24px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb26 { padding-bottom: 26px !important; }
.pb27 { padding-bottom: 27px !important; }
.pb28 { padding-bottom: 28px !important; }
.pb29 { padding-bottom: 29px !important; }
.pb30 { padding-bottom: 30px !important; }
.pt00 { padding-top: 0px !important; }
.pt01 { padding-top: 1px !important; }
.pt02 { padding-top: 2px !important; }
.pt03 { padding-top: 3px !important; }
.pt04 { padding-top: 4px !important; }
.pt05 { padding-top: 5px !important; }
.pt06 { padding-top: 6px !important; }
.pt07 { padding-top: 7px !important; }
.pt08 { padding-top: 8px !important; }
.pt09 { padding-top: 9px !important; }
.pt10 { padding-top: 10px !important; }
.pt11 { padding-top: 11px !important; }
.pt12 { padding-top: 12px !important; }
.pt13 { padding-top: 13px !important; }
.pt14 { padding-top: 14px !important; }
.pt15 { padding-top: 15px !important; }
.pt16 { padding-top: 16px !important; }
.pt17 { padding-top: 17px !important; }
.pt18 { padding-top: 18px !important; }
.pt19 { padding-top: 19px !important; }
.pt20 { padding-top: 20px !important; }
.pt21 { padding-top: 21px !important; }
.pt22 { padding-top: 22px !important; }
.pt23 { padding-top: 23px !important; }
.pt24 { padding-top: 24px !important; }
.pt25 { padding-top: 25px !important; }
.pt26 { padding-top: 26px !important; }
.pt27 { padding-top: 27px !important; }
.pt28 { padding-top: 28px !important; }
.pt29 { padding-top: 29px !important; }
.pt30 { padding-top: 30px !important; }

/* ── Padding Left / Right (.pl00〜.pl20 / .pr00〜.pr20) ── */
.pl00 { padding-left: 0px !important; }
.pl01 { padding-left: 1px !important; }
.pl02 { padding-left: 2px !important; }
.pl03 { padding-left: 3px !important; }
.pl04 { padding-left: 4px !important; }
.pl05 { padding-left: 5px !important; }
.pl06 { padding-left: 6px !important; }
.pl07 { padding-left: 7px !important; }
.pl08 { padding-left: 8px !important; }
.pl09 { padding-left: 9px !important; }
.pl10 { padding-left: 10px !important; }
.pl11 { padding-left: 11px !important; }
.pl12 { padding-left: 12px !important; }
.pl13 { padding-left: 13px !important; }
.pl14 { padding-left: 14px !important; }
.pl15 { padding-left: 15px !important; }
.pl16 { padding-left: 16px !important; }
.pl17 { padding-left: 17px !important; }
.pl18 { padding-left: 18px !important; }
.pl19 { padding-left: 19px !important; }
.pl20 { padding-left: 20px !important; }
.pr00 { padding-right: 0px !important; }
.pr01 { padding-right: 1px !important; }
.pr02 { padding-right: 2px !important; }
.pr03 { padding-right: 3px !important; }
.pr04 { padding-right: 4px !important; }
.pr05 { padding-right: 5px !important; }
.pr06 { padding-right: 6px !important; }
.pr07 { padding-right: 7px !important; }
.pr08 { padding-right: 8px !important; }
.pr09 { padding-right: 9px !important; }
.pr10 { padding-right: 10px !important; }
.pr11 { padding-right: 11px !important; }
.pr12 { padding-right: 12px !important; }
.pr13 { padding-right: 13px !important; }
.pr14 { padding-right: 14px !important; }
.pr15 { padding-right: 15px !important; }
.pr16 { padding-right: 16px !important; }
.pr17 { padding-right: 17px !important; }
.pr18 { padding-right: 18px !important; }
.pr19 { padding-right: 19px !important; }
.pr20 { padding-right: 20px !important; }

/* ── Width % (.w00〜.w100) ── */
.w0 { width: 0% !important; }
.w1 { width: 1% !important; }
.w2 { width: 2% !important; }
.w3 { width: 3% !important; }
.w4 { width: 4% !important; }
.w5 { width: 5% !important; }
.w6 { width: 6% !important; }
.w7 { width: 7% !important; }
.w8 { width: 8% !important; }
.w9 { width: 9% !important; }
.w10 { width: 10% !important; }
.w11 { width: 11% !important; }
.w12 { width: 12% !important; }
.w13 { width: 13% !important; }
.w14 { width: 14% !important; }
.w15 { width: 15% !important; }
.w16 { width: 16% !important; }
.w17 { width: 17% !important; }
.w18 { width: 18% !important; }
.w19 { width: 19% !important; }
.w20 { width: 20% !important; }
.w21 { width: 21% !important; }
.w22 { width: 22% !important; }
.w23 { width: 23% !important; }
.w24 { width: 24% !important; }
.w25 { width: 25% !important; }
.w26 { width: 26% !important; }
.w27 { width: 27% !important; }
.w28 { width: 28% !important; }
.w29 { width: 29% !important; }
.w30 { width: 30% !important; }
.w31 { width: 31% !important; }
.w32 { width: 32% !important; }
.w33 { width: 33.3% !important; }
.w34 { width: 34% !important; }
.w35 { width: 35% !important; }
.w36 { width: 36% !important; }
.w37 { width: 37% !important; }
.w38 { width: 38% !important; }
.w39 { width: 39% !important; }
.w40 { width: 40% !important; }
.w41 { width: 41% !important; }
.w42 { width: 42% !important; }
.w43 { width: 43% !important; }
.w44 { width: 44% !important; }
.w45 { width: 45% !important; }
.w46 { width: 46% !important; }
.w47 { width: 47% !important; }
.w48 { width: 48% !important; }
.w49 { width: 49% !important; }
.w50 { width: 50% !important; }
.w51 { width: 51% !important; }
.w52 { width: 52% !important; }
.w53 { width: 53% !important; }
.w54 { width: 54% !important; }
.w55 { width: 55% !important; }
.w56 { width: 56% !important; }
.w57 { width: 57% !important; }
.w58 { width: 58% !important; }
.w59 { width: 59% !important; }
.w60 { width: 60% !important; }
.w61 { width: 61% !important; }
.w62 { width: 62% !important; }
.w63 { width: 63% !important; }
.w64 { width: 64% !important; }
.w65 { width: 65% !important; }
.w66 { width: 66.6% !important; }
.w67 { width: 67% !important; }
.w68 { width: 68% !important; }
.w69 { width: 69% !important; }
.w70 { width: 70% !important; }
.w71 { width: 71% !important; }
.w72 { width: 72% !important; }
.w73 { width: 73% !important; }
.w74 { width: 74% !important; }
.w75 { width: 75% !important; }
.w76 { width: 76% !important; }
.w77 { width: 77% !important; }
.w78 { width: 78% !important; }
.w79 { width: 79% !important; }
.w80 { width: 80% !important; }
.w81 { width: 81% !important; }
.w82 { width: 82% !important; }
.w83 { width: 83% !important; }
.w84 { width: 84% !important; }
.w85 { width: 85% !important; }
.w86 { width: 86% !important; }
.w87 { width: 87% !important; }
.w88 { width: 88% !important; }
.w89 { width: 89% !important; }
.w90 { width: 90% !important; }
.w91 { width: 91% !important; }
.w92 { width: 92% !important; }
.w93 { width: 93% !important; }
.w94 { width: 94% !important; }
.w95 { width: 95% !important; }
.w96 { width: 96% !important; }
.w97 { width: 97% !important; }
.w98 { width: 98% !important; }
.w99 { width: 99% !important; }
.w100 { width: 100% !important; }
.wAuto { width: auto !important; }

/* ── Width px (.w10px〜.w1000px) ── */
.w10px { width: 10px; }
.w20px { width: 20px; }
.w30px { width: 30px; }
.w40px { width: 40px; }
.w50px { width: 50px; }
.w60px { width: 60px; }
.w70px { width: 70px; }
.w80px { width: 80px; }
.w90px { width: 90px; }
.w100px { width: 100px; }
.w110px { width: 110px; }
.w120px { width: 120px; }
.w130px { width: 130px; }
.w140px { width: 140px; }
.w150px { width: 150px; }
.w160px { width: 160px; }
.w170px { width: 170px; }
.w180px { width: 180px; }
.w190px { width: 190px; }
.w200px { width: 200px; }
.w210px { width: 210px; }
.w220px { width: 220px; }
.w230px { width: 230px; }
.w240px { width: 240px; }
.w250px { width: 250px; }
.w260px { width: 260px; }
.w270px { width: 270px; }
.w280px { width: 280px; }
.w290px { width: 290px; }
.w300px { width: 300px; }
.w310px { width: 310px; }
.w320px { width: 320px; }
.w330px { width: 330px; }
.w340px { width: 340px; }
.w350px { width: 350px; }
.w360px { width: 360px; }
.w370px { width: 370px; }
.w380px { width: 380px; }
.w390px { width: 390px; }
.w400px { width: 400px; }
.w410px { width: 410px; }
.w420px { width: 420px; }
.w430px { width: 430px; }
.w440px { width: 440px; }
.w450px { width: 450px; }
.w460px { width: 460px; }
.w470px { width: 470px; }
.w480px { width: 480px; }
.w490px { width: 490px; }
.w500px { width: 500px; }
.w510px { width: 510px; }
.w520px { width: 520px; }
.w530px { width: 530px; }
.w540px { width: 540px; }
.w550px { width: 550px; }
.w560px { width: 560px; }
.w570px { width: 570px; }
.w580px { width: 580px; }
.w590px { width: 590px; }
.w600px { width: 600px; }
.w610px { width: 610px; }
.w620px { width: 620px; }
.w630px { width: 630px; }
.w640px { width: 640px; }
.w650px { width: 650px; }
.w660px { width: 660px; }
.w670px { width: 670px; }
.w680px { width: 680px; }
.w690px { width: 690px; }
.w700px { width: 700px; }
.w710px { width: 710px; }
.w720px { width: 720px; }
.w730px { width: 730px; }
.w740px { width: 740px; }
.w750px { width: 750px; }
.w760px { width: 760px; }
.w770px { width: 770px; }
.w780px { width: 780px; }
.w790px { width: 790px; }
.w800px { width: 800px; }
.w810px { width: 810px; }
.w820px { width: 820px; }
.w830px { width: 830px; }
.w840px { width: 840px; }
.w850px { width: 850px; }
.w860px { width: 860px; }
.w870px { width: 870px; }
.w880px { width: 880px; }
.w890px { width: 890px; }
.w900px { width: 900px; }
.w910px { width: 910px; }
.w920px { width: 920px; }
.w930px { width: 930px; }
.w940px { width: 940px; }
.w950px { width: 950px; }
.w960px { width: 960px; }
.w970px { width: 970px; }
.w980px { width: 980px; }
.w990px { width: 990px; }
.w1000px { width: 1000px; }

/* ── Min-Width px (.minw100px〜.minw1000px) ── */
.minw100px { min-width: 100px; }
.minw200px { min-width: 200px; }
.minw300px { min-width: 300px; }
.minw400px { min-width: 400px; }
.minw500px { min-width: 500px; }
.minw600px { min-width: 600px; }
.minw700px { min-width: 700px; }
.minw800px { min-width: 800px; }
.minw900px { min-width: 900px; }
.minw1000px { min-width: 1000px; }

/* ── Height px (.h10px〜.h300px, 10刻み) ── */
.h10px { height: 10px !important; }
.h20px { height: 20px !important; }
.h30px { height: 30px !important; }
.h40px { height: 40px !important; }
.h50px { height: 50px !important; }
.h60px { height: 60px !important; }
.h70px { height: 70px !important; }
.h80px { height: 80px !important; }
.h90px { height: 90px !important; }
.h100px { height: 100px !important; }
.h110px { height: 110px !important; }
.h120px { height: 120px !important; }
.h130px { height: 130px !important; }
.h140px { height: 140px !important; }
.h150px { height: 150px !important; }
.h160px { height: 160px !important; }
.h170px { height: 170px !important; }
.h180px { height: 180px !important; }
.h190px { height: 190px !important; }
.h200px { height: 200px !important; }
.h210px { height: 210px !important; }
.h220px { height: 220px !important; }
.h230px { height: 230px !important; }
.h240px { height: 240px !important; }
.h250px { height: 250px !important; }
.h260px { height: 260px !important; }
.h270px { height: 270px !important; }
.h280px { height: 280px !important; }
.h290px { height: 290px !important; }
.h300px { height: 300px !important; }
.h100p { height: 100%; }

/* ── aspect ratio ── */
.ratio16x9 { aspect-ratio: 16 / 9; height: auto !important; }
.ratio4x3  { aspect-ratio: 4 / 3;  height: auto !important; }
.ratio3x4  { aspect-ratio: 3 / 4;  height: auto !important; }

/* ── Font Size rem (.fs01〜.fs40 = 数値/10 rem) ── */
.fs01 { font-size: 0.1rem !important; }
.fs02 { font-size: 0.2rem !important; }
.fs03 { font-size: 0.3rem !important; }
.fs04 { font-size: 0.4rem !important; }
.fs05 { font-size: 0.5rem !important; }
.fs06 { font-size: 0.6rem !important; }
.fs07 { font-size: 0.7rem !important; }
.fs08 { font-size: 0.8rem !important; }
.fs09 { font-size: 0.9rem !important; }
.fs10 { font-size: 1.0rem !important; }
.fs11 { font-size: 1.1rem !important; }
.fs12 { font-size: 1.2rem !important; }
.fs13 { font-size: 1.3rem !important; }
.fs14 { font-size: 1.4rem !important; }
.fs15 { font-size: 1.5rem !important; }
.fs16 { font-size: 1.6rem !important; }
.fs17 { font-size: 1.7rem !important; }
.fs18 { font-size: 1.8rem !important; }
.fs19 { font-size: 1.9rem !important; }
.fs20 { font-size: 2.0rem !important; }
.fs21 { font-size: 2.1rem !important; }
.fs22 { font-size: 2.2rem !important; }
.fs23 { font-size: 2.3rem !important; }
.fs24 { font-size: 2.4rem !important; }
.fs25 { font-size: 2.5rem !important; }
.fs26 { font-size: 2.6rem !important; }
.fs27 { font-size: 2.7rem !important; }
.fs28 { font-size: 2.8rem !important; }
.fs29 { font-size: 2.9rem !important; }
.fs30 { font-size: 3.0rem !important; }
.fs31 { font-size: 3.1rem !important; }
.fs32 { font-size: 3.2rem !important; }
.fs33 { font-size: 3.3rem !important; }
.fs34 { font-size: 3.4rem !important; }
.fs35 { font-size: 3.5rem !important; }
.fs36 { font-size: 3.6rem !important; }
.fs37 { font-size: 3.7rem !important; }
.fs38 { font-size: 3.8rem !important; }
.fs39 { font-size: 3.9rem !important; }
.fs40 { font-size: 4.0rem !important; }

/* ── Line Height (.lh06〜.lh20 = 数値/10 em) ── */
.lh06 { line-height: 0.6em !important; }
.lh07 { line-height: 0.7em !important; }
.lh08 { line-height: 0.8em !important; }
.lh09 { line-height: 0.9em !important; }
.lh10 { line-height: 1.0em !important; }
.lh11 { line-height: 1.1em !important; }
.lh12 { line-height: 1.2em !important; }
.lh13 { line-height: 1.3em !important; }
.lh14 { line-height: 1.4em !important; }
.lh15 { line-height: 1.5em !important; }
.lh16 { line-height: 1.6em !important; }
.lh17 { line-height: 1.7em !important; }
.lh18 { line-height: 1.8em !important; }
.lh19 { line-height: 1.9em !important; }
.lh20 { line-height: 2.0em !important; }

/* ── Text Align ── */
.tl { text-align: left   !important; }
.tc { text-align: center !important; }
.tr { text-align: right  !important; }

/* ── Vertical Align ── */
.vt { vertical-align: top    !important; }
.vm { vertical-align: middle !important; }
.vb { vertical-align: bottom !important; }

/* ── Text 装飾 ── */
.b   { font-weight: bold; }
.tUl { text-decoration: underline !important; }
.ls0 { letter-spacing: 0px !important; }

/* ── Display ── */
.dispNone      { display: none         !important; }
.dispBlk       { display: block        !important; }
.dispInlineBlk { display: inline-block !important; }
.blk           { display: block        !important; }

/* ── Overflow / Other ── */
.ofH        { overflow: hidden !important; }
.wsNowrap   { white-space: nowrap; }
.ofEllipsis { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.cP         { cursor: pointer; }

/* ── Float / Clearfix ── */
.fl { float: left  !important; }
.fr { float: right !important; }
.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix { display: block; }

/* ── Flex (.flexCommon01 + 修飾クラス併用) ── */
.flexCommon01 { position: relative; display: flex; flex-wrap: wrap; }
.flexCommon01.flexCenter  { justify-content: center; }
.flexCommon01.flexRight   { justify-content: flex-end; }
.flexCommon01.flexBetween { justify-content: space-between; }
.flexCommon01.flexMiddle  { align-items: center; }
.flexCommon01.flexBottom  { align-items: flex-end; }
.flexCommon01.flexReverse { flex-direction: row-reverse; }
.flexCommon01.flexNorap   { flex-wrap: nowrap; }

/* ── Card Layout ── */
.cardType { display: flex; flex-direction: column; }
.flexible { flex-grow: 1; }

/* ============================================================ */
/* レスポンシブ：表示切替（dispNone{SUF}/dispBlock{SUF} 大文字サフィックス・全12段階） */
/* ============================================================ */
@media screen and (max-width: 1250px) { .dispNoneS { display: none !important; } .dispBlockS { display: block !important; } }
@media screen and (max-width: 359px) { .dispNoneAU { display: none !important; } .dispBlockAU { display: block !important; } }
@media screen and (min-width: 360px) { .dispNoneAO { display: none !important; } .dispBlockAO { display: block !important; } }
@media screen and (min-width: 360px) and (max-width: 767px) { .dispNoneAJ { display: none !important; } .dispBlockAJ { display: block !important; } }
@media screen and (max-width: 767px) { .dispNonePU { display: none !important; } .dispBlockPU { display: block !important; } }
@media screen and (min-width: 768px) { .dispNonePO { display: none !important; } .dispBlockPO { display: block !important; } }
@media screen and (min-width: 768px) and (max-width: 959px) { .dispNonePJ { display: none !important; } .dispBlockPJ { display: block !important; } }
@media screen and (max-width: 959px) { .dispNoneTU { display: none !important; } .dispBlockTU { display: block !important; } }
@media screen and (min-width: 960px) { .dispNoneTO { display: none !important; } .dispBlockTO { display: block !important; } }
@media screen and (min-width: 960px) and (max-width: 1250px) { .dispNoneTJ { display: none !important; } .dispBlockTJ { display: block !important; } }
@media screen and (min-width: 768px) and (max-width: 1250px) { .dispNonePT { display: none !important; } .dispBlockPT { display: block !important; } }
@media screen and (min-width: 1251px) { .dispNoneP { display: none !important; } .dispBlockP { display: block !important; } }

/* ============================================================ */
/* レスポンシブ：余白・幅・配置（小文字サフィックス。主要4区分 pu/po/tu/to を定義） */
/* 追加が必要な場合は .claude/skills/basis-css/references/naming-rules.md の規則に従い追記 */
/* ============================================================ */
@media screen and (max-width: 767px) {
  .mb00pu { margin-bottom: 0px !important; }
  .mb05pu { margin-bottom: 5px !important; }
  .mb10pu { margin-bottom: 10px !important; }
  .mb15pu { margin-bottom: 15px !important; }
  .mb20pu { margin-bottom: 20px !important; }
  .mb25pu { margin-bottom: 25px !important; }
  .mb30pu { margin-bottom: 30px !important; }
  .mb35pu { margin-bottom: 35px !important; }
  .mb40pu { margin-bottom: 40px !important; }
  .mb45pu { margin-bottom: 45px !important; }
  .mb50pu { margin-bottom: 50px !important; }
  .mt00pu { margin-top: 0px !important; }
  .mt05pu { margin-top: 5px !important; }
  .mt10pu { margin-top: 10px !important; }
  .mt15pu { margin-top: 15px !important; }
  .mt20pu { margin-top: 20px !important; }
  .mt25pu { margin-top: 25px !important; }
  .mt30pu { margin-top: 30px !important; }
  .mt35pu { margin-top: 35px !important; }
  .mt40pu { margin-top: 40px !important; }
  .mt45pu { margin-top: 45px !important; }
  .mt50pu { margin-top: 50px !important; }
  .pt00pu { padding-top: 0px !important; }
  .pb00pu { padding-bottom: 0px !important; }
  .pt05pu { padding-top: 5px !important; }
  .pb05pu { padding-bottom: 5px !important; }
  .pt10pu { padding-top: 10px !important; }
  .pb10pu { padding-bottom: 10px !important; }
  .pt15pu { padding-top: 15px !important; }
  .pb15pu { padding-bottom: 15px !important; }
  .pt20pu { padding-top: 20px !important; }
  .pb20pu { padding-bottom: 20px !important; }
  .pt25pu { padding-top: 25px !important; }
  .pb25pu { padding-bottom: 25px !important; }
  .pt30pu { padding-top: 30px !important; }
  .pb30pu { padding-bottom: 30px !important; }
  .w25pu { width: 25% !important; }
  .w33pu { width: 33.3% !important; }
  .w50pu { width: 50% !important; }
  .w66pu { width: 66.6% !important; }
  .w75pu { width: 75% !important; }
  .w100pu { width: 100% !important; }
  .tcPU { text-align: center !important; }
  .tlPU { text-align: left   !important; }
  .trPU { text-align: right  !important; }
}
@media screen and (min-width: 768px) {
  .mb00po { margin-bottom: 0px !important; }
  .mb05po { margin-bottom: 5px !important; }
  .mb10po { margin-bottom: 10px !important; }
  .mb15po { margin-bottom: 15px !important; }
  .mb20po { margin-bottom: 20px !important; }
  .mb25po { margin-bottom: 25px !important; }
  .mb30po { margin-bottom: 30px !important; }
  .mb35po { margin-bottom: 35px !important; }
  .mb40po { margin-bottom: 40px !important; }
  .mb45po { margin-bottom: 45px !important; }
  .mb50po { margin-bottom: 50px !important; }
  .mt00po { margin-top: 0px !important; }
  .mt05po { margin-top: 5px !important; }
  .mt10po { margin-top: 10px !important; }
  .mt15po { margin-top: 15px !important; }
  .mt20po { margin-top: 20px !important; }
  .mt25po { margin-top: 25px !important; }
  .mt30po { margin-top: 30px !important; }
  .mt35po { margin-top: 35px !important; }
  .mt40po { margin-top: 40px !important; }
  .mt45po { margin-top: 45px !important; }
  .mt50po { margin-top: 50px !important; }
  .pt00po { padding-top: 0px !important; }
  .pb00po { padding-bottom: 0px !important; }
  .pt05po { padding-top: 5px !important; }
  .pb05po { padding-bottom: 5px !important; }
  .pt10po { padding-top: 10px !important; }
  .pb10po { padding-bottom: 10px !important; }
  .pt15po { padding-top: 15px !important; }
  .pb15po { padding-bottom: 15px !important; }
  .pt20po { padding-top: 20px !important; }
  .pb20po { padding-bottom: 20px !important; }
  .pt25po { padding-top: 25px !important; }
  .pb25po { padding-bottom: 25px !important; }
  .pt30po { padding-top: 30px !important; }
  .pb30po { padding-bottom: 30px !important; }
  .w25po { width: 25% !important; }
  .w33po { width: 33.3% !important; }
  .w50po { width: 50% !important; }
  .w66po { width: 66.6% !important; }
  .w75po { width: 75% !important; }
  .w100po { width: 100% !important; }
  .tcPO { text-align: center !important; }
  .tlPO { text-align: left   !important; }
  .trPO { text-align: right  !important; }
}
@media screen and (max-width: 959px) {
  .mb00tu { margin-bottom: 0px !important; }
  .mb05tu { margin-bottom: 5px !important; }
  .mb10tu { margin-bottom: 10px !important; }
  .mb15tu { margin-bottom: 15px !important; }
  .mb20tu { margin-bottom: 20px !important; }
  .mb25tu { margin-bottom: 25px !important; }
  .mb30tu { margin-bottom: 30px !important; }
  .mb35tu { margin-bottom: 35px !important; }
  .mb40tu { margin-bottom: 40px !important; }
  .mb45tu { margin-bottom: 45px !important; }
  .mb50tu { margin-bottom: 50px !important; }
  .mt00tu { margin-top: 0px !important; }
  .mt05tu { margin-top: 5px !important; }
  .mt10tu { margin-top: 10px !important; }
  .mt15tu { margin-top: 15px !important; }
  .mt20tu { margin-top: 20px !important; }
  .mt25tu { margin-top: 25px !important; }
  .mt30tu { margin-top: 30px !important; }
  .mt35tu { margin-top: 35px !important; }
  .mt40tu { margin-top: 40px !important; }
  .mt45tu { margin-top: 45px !important; }
  .mt50tu { margin-top: 50px !important; }
  .pt00tu { padding-top: 0px !important; }
  .pb00tu { padding-bottom: 0px !important; }
  .pt05tu { padding-top: 5px !important; }
  .pb05tu { padding-bottom: 5px !important; }
  .pt10tu { padding-top: 10px !important; }
  .pb10tu { padding-bottom: 10px !important; }
  .pt15tu { padding-top: 15px !important; }
  .pb15tu { padding-bottom: 15px !important; }
  .pt20tu { padding-top: 20px !important; }
  .pb20tu { padding-bottom: 20px !important; }
  .pt25tu { padding-top: 25px !important; }
  .pb25tu { padding-bottom: 25px !important; }
  .pt30tu { padding-top: 30px !important; }
  .pb30tu { padding-bottom: 30px !important; }
  .w25tu { width: 25% !important; }
  .w33tu { width: 33.3% !important; }
  .w50tu { width: 50% !important; }
  .w66tu { width: 66.6% !important; }
  .w75tu { width: 75% !important; }
  .w100tu { width: 100% !important; }
  .tcTU { text-align: center !important; }
  .tlTU { text-align: left   !important; }
  .trTU { text-align: right  !important; }
}
@media screen and (min-width: 960px) {
  .mb00to { margin-bottom: 0px !important; }
  .mb05to { margin-bottom: 5px !important; }
  .mb10to { margin-bottom: 10px !important; }
  .mb15to { margin-bottom: 15px !important; }
  .mb20to { margin-bottom: 20px !important; }
  .mb25to { margin-bottom: 25px !important; }
  .mb30to { margin-bottom: 30px !important; }
  .mb35to { margin-bottom: 35px !important; }
  .mb40to { margin-bottom: 40px !important; }
  .mb45to { margin-bottom: 45px !important; }
  .mb50to { margin-bottom: 50px !important; }
  .mt00to { margin-top: 0px !important; }
  .mt05to { margin-top: 5px !important; }
  .mt10to { margin-top: 10px !important; }
  .mt15to { margin-top: 15px !important; }
  .mt20to { margin-top: 20px !important; }
  .mt25to { margin-top: 25px !important; }
  .mt30to { margin-top: 30px !important; }
  .mt35to { margin-top: 35px !important; }
  .mt40to { margin-top: 40px !important; }
  .mt45to { margin-top: 45px !important; }
  .mt50to { margin-top: 50px !important; }
  .pt00to { padding-top: 0px !important; }
  .pb00to { padding-bottom: 0px !important; }
  .pt05to { padding-top: 5px !important; }
  .pb05to { padding-bottom: 5px !important; }
  .pt10to { padding-top: 10px !important; }
  .pb10to { padding-bottom: 10px !important; }
  .pt15to { padding-top: 15px !important; }
  .pb15to { padding-bottom: 15px !important; }
  .pt20to { padding-top: 20px !important; }
  .pb20to { padding-bottom: 20px !important; }
  .pt25to { padding-top: 25px !important; }
  .pb25to { padding-bottom: 25px !important; }
  .pt30to { padding-top: 30px !important; }
  .pb30to { padding-bottom: 30px !important; }
  .w25to { width: 25% !important; }
  .w33to { width: 33.3% !important; }
  .w50to { width: 50% !important; }
  .w66to { width: 66.6% !important; }
  .w75to { width: 75% !important; }
  .w100to { width: 100% !important; }
  .tcTO { text-align: center !important; }
  .tlTO { text-align: left   !important; }
  .trTO { text-align: right  !important; }
}
