
.theme-d {
  --d-main: #2B5DA4;
  --d-dark: #33569A;
  --d-sub: #4C78B2;
  --d-pale: #EAF0F8;
  --d-pale2: #F4F7FB;
  --d-line: #C9D6EA;
  --d-cream: #FCF4CD;
  --d-cream-line: #EEDFA0;
  --d-yellow: #FFD400;
  --d-yellow-sh: #E0B800;
  --d-marker: #FFE36B;
  --d-ink: #1A1D23;
  --d-ink2: #3A4350;
  --d-gray: #5B6475;
  --d-white: #FFFFFF;
  --navy: var(--d-ink);
  --navy-2: var(--d-main);
  --yellow: var(--d-yellow);
  --marker: var(--d-marker);
  --bg-alt: var(--d-pale);
  --line: var(--d-line);
  --ink: var(--d-ink);
  --sub: var(--d-gray);
  --r: 10px;
  --r-lg: 14px;
  --btn-r: 8px;
  --font-head: "M PLUS 1p", "Noto Sans JP", sans-serif;
  --font-num: "Roboto", "Noto Sans JP", sans-serif;
  --shadow: 0 4px 18px rgba(26, 29, 35, .08);
}
.theme-d .logo-w { display: none; }
.theme-d .logo-k { display: block; }
.theme-d .em { color: var(--d-main); }
.theme-d .sec-alt { background: var(--bg-alt); }
.theme-d .sec-alt { background-image: linear-gradient(170deg, rgba(43,93,164,.06) 0 30%, transparent 30%); }
.theme-d .sec-head { display: flex; align-items: center; flex-wrap: wrap; column-gap: 14px; row-gap: 4px; margin-bottom: 26px; padding-bottom: 12px; border-bottom: 4px solid var(--d-main); position: relative; }
.theme-d .sec-head .sh-bar { position: absolute; left: 0; bottom: -4px; width: 120px; height: 4px; background: var(--yellow); }
.theme-d .sh-slash { width: 58px; height: 44px; flex: none; }
.theme-d .sec-title { font-family: "M PLUS 1p", sans-serif; font-weight: 900; color: var(--d-ink); font-size: 40px; letter-spacing: .01em; }
.theme-d .sec-title .key { background: linear-gradient(transparent 60%, var(--yellow) 60%, var(--yellow) 92%, transparent 92%); padding: 0 .06em; }
.theme-d .hand-note { font-family: "Yomogi", cursive; font-size: 19px; color: var(--d-ink2); line-height: 1.5; margin-left: 8px; transform: rotate(-3deg); border-bottom: 1.5px solid var(--d-ink2); padding: 0 4px 2px; }
.theme-d .sec-sub { font-family: "M PLUS 1p", sans-serif; font-weight: 800; color: var(--d-dark); }
.theme-d .ic-badge { border-radius: 50%; background: var(--d-pale); color: var(--d-dark); }
.theme-d .sec-alt .ic-badge { background: var(--d-main); color: var(--d-white); }
.fvd { background: linear-gradient(180deg, var(--d-pale2) 0%, var(--d-pale) 100%); --vis-w: 500px; }
.fvd-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
.fvd-photo { position: absolute; top: 0; right: 0; bottom: 0; width: 46%; z-index: 1; }
.fvd-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 58% 16%; }
.fvd-fade { position: absolute; top: 0; bottom: 0; left: 0; width: 30%; background: linear-gradient(90deg, var(--d-pale2) 0%, rgba(244,247,251,0) 100%); }
.fvd-tencho .fvd-photo img { object-position: 6% 40%; }
.fvd-sp { display: none; }
.fvd .fvx-grid { padding-top: 46px; padding-bottom: 48px; }
.fvd .fv-cat { display: flex; align-items: center; gap: 8px; font-family: "M PLUS 1p", sans-serif; font-weight: 800; font-size: 17px; color: var(--d-ink); transform: rotate(-2deg); transform-origin: left; margin-bottom: 10px; }
.fvd-sl { color: var(--d-dark); font-weight: 900; }
.fv-d .fv-h1 { font-family: "M PLUS 1p", sans-serif; font-weight: 900; color: var(--d-ink); gap: 2px; }
.fv-d .h1-l1 { font-size: 60px; line-height: 1.15; letter-spacing: .01em; }
.fv-d .h1-s { font-size: 40px; margin-left: 2px; }
.fv-d .h1-l2 { display: flex !important; align-items: flex-start; font-size: 136px; line-height: 1.02; letter-spacing: -.02em; }
.fv-d .h1-arrow { width: 54px; height: 64px; margin: 14px 0 0 2px; flex: none; }
.fv-d .h1-l3 { margin-top: 10px; }
.fv-d .h1-band { display: inline-block; background: var(--yellow); color: var(--d-ink); font-size: 48px; line-height: 1.2; padding: 6px 26px 10px; transform: rotate(-4deg); transform-origin: left center; box-shadow: 4px 4px 0 rgba(0,0,0,.06); }
.fvd-qa { gap: 14px; margin-top: 6px; }
.fvd-bubbles { display: flex; gap: 16px; flex-wrap: wrap; }
.fvd-bubble { position: relative; background: var(--d-white); border: 2px solid var(--d-ink); border-radius: 40px; padding: 12px 26px; font-weight: 700; font-size: 17px; line-height: 1.45; text-align: center; color: var(--d-ink); }
.fvd-bubble::after { content: ""; position: absolute; right: 34px; bottom: -13px; border: 7px solid transparent; border-top: 12px solid var(--d-ink); border-bottom: 0; }
.fvd-ans { display: flex; align-items: center; gap: 10px; }
.fvd-tri { width: 22px; height: 26px; flex: none; }
.fvd-ans-t { font-family: "M PLUS 1p", sans-serif; font-weight: 900; font-size: 32px; color: var(--red); background: linear-gradient(transparent 64%, var(--yellow) 64%); line-height: 1.3; padding: 0 .06em; transform: rotate(-2deg); display: inline-block; }
.fvd .fv-badges { width: 440px; }
.fvd .fv-cert { background: var(--d-white); border-radius: 8px; padding: 8px 12px; box-shadow: var(--shadow); }
.fvd .fv-tel { border: 1.5px solid var(--d-ink); border-radius: 8px; }
.fvd .fv-tel-num { color: var(--d-ink); }
.fvd .btn-lg { box-shadow: 0 4px 0 rgba(0,0,0,.14); }
.fvd-quote { position: absolute; z-index: 3; right: -20px; top: 40px; display: flex; flex-direction: column; gap: 6px; background: rgba(255,255,255,.95); padding: 16px 22px 12px; box-shadow: var(--shadow); transform: rotate(-4deg); border-left: 6px solid var(--yellow); }
.fvd-quote-t { font-family: "Yomogi", cursive; font-size: 26px; line-height: 1.45; color: var(--d-ink); }
.fvd-quote-s { font-size: 12px; font-weight: 700; color: var(--sub); text-align: right; }
.fvd-toolset { min-height: 600px; }
.fvd-tool { position: absolute; display: block; }
.fvd-tool img { width: 100%; height: auto; }
.fvd-t1 { top: 10px; right: 0; width: 230px; transform: rotate(6deg); z-index: 1; }
.fvd-t2 { top: 0; left: 40px; width: 200px; transform: rotate(-12deg); z-index: 2; }
.fvd-t3 { top: 240px; left: 0; width: 270px; transform: rotate(7deg); z-index: 3; }
.fvd-t4 { top: 250px; right: -30px; width: 300px; transform: rotate(-8deg); z-index: 4; }
.fvd-t5 { bottom: 30px; right: 20px; width: 230px; transform: rotate(-3deg); z-index: 3; }
.fvd-t6 { bottom: 50px; left: 30px; width: 290px; transform: rotate(-10deg); z-index: 5; }
.fvd-tool-note { position: absolute; right: 0; bottom: 0; font-size: 11px; color: var(--sub); }
.theme-d .free-band { background: var(--d-dark); color: var(--d-white); padding: 30px 0; border-top: 6px solid var(--d-main); }
.theme-d .free-list li + li { border-left: 1px solid rgba(255,255,255,.35); }
.theme-d .free-ic { width: 78px; height: 78px; background: var(--d-white); color: var(--d-dark); box-shadow: var(--shadow); }
.theme-d .free-ic .ic { width: 38px; height: 38px; }
.theme-d .free-t { font-family: "M PLUS 1p", sans-serif; font-weight: 800; font-size: 20px; display: flex; flex-direction: column; line-height: 1.2; }
.theme-d .free-t em { font-size: 38px; font-weight: 900; letter-spacing: .12em; color: var(--yellow); align-self: flex-start; padding: 0 .04em; border-bottom: 4px solid var(--yellow); line-height: 1.1; }
.theme-d .free-d { color: var(--d-white); font-weight: 500; }
.theme-d .intro-catch { background: var(--d-pale); border: 2px solid var(--d-line); border-radius: var(--r-lg); }
.theme-d .intro-catch-b { color: var(--d-ink); font-family: "M PLUS 1p", sans-serif; background: linear-gradient(transparent 62%, var(--yellow) 62%); align-self: center; padding: 0 .1em; }
.theme-d .intro-catch-s { font-family: "Yomogi", cursive; }
.theme-d .market-card { border-radius: var(--r-lg); box-shadow: var(--shadow); border: 2px solid var(--d-line); border-top: 6px solid var(--d-main); }
.theme-d .market-label { font-family: "M PLUS 1p", sans-serif; color: var(--d-ink); }
.theme-d .pick-card, .theme-d .js-card, .theme-d .col-card, .theme-d .maker-tile, .theme-d .item-tile, .theme-d .str-item, .theme-d .reason-card, .theme-d .rank-card, .theme-d .voice-card, .theme-d .faq-item, .theme-d .method-card, .theme-d .biz-box, .theme-d .tip-item { border-radius: var(--r-lg); border: 2px solid var(--d-line); box-shadow: var(--shadow); overflow: hidden; }
.theme-d .pick-card { padding-top: 24px; }
.theme-d .pick-img { background: var(--d-white); }
.theme-d .pick-body { background: var(--d-pale); margin: 8px -24px -24px; padding: 14px 24px 18px; }
.theme-d .pick-badge { top: 12px; left: 12px; right: auto; width: 74px; height: 74px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 14px; line-height: 1.25; color: var(--d-ink); box-shadow: 0 0 0 4px var(--d-white), 0 0 0 6px var(--yellow); transform: rotate(-8deg); }
.theme-d .pick-maker { font-family: "M PLUS 1p", sans-serif; font-size: 16px; color: var(--d-ink2); }
.theme-d .pick-model { font-size: 26px; color: var(--d-ink); }
.theme-d .pick-after { background: var(--d-white); box-shadow: var(--shadow); border-left: 6px solid var(--yellow); border-radius: var(--r); }
.theme-d .rank-head { background: var(--d-main); color: var(--d-white); }
.theme-d .rank-title { font-family: "M PLUS 1p", sans-serif; }
.theme-d .rank-maker { display: inline-block; background: var(--yellow); color: var(--d-ink); padding: 2px 14px 4px; transform: rotate(-3deg); }
.theme-d .rank-en { color: var(--d-white); opacity: .85; }
.theme-d .rank-col-h { background: var(--d-pale); color: var(--d-dark); border-radius: 99px; }
.theme-d .model-list li { border-left-color: var(--d-main); background: var(--bg-alt); border-radius: 0 6px 6px 0; }
.theme-d .rank-voice { background: var(--d-cream); }
.theme-d .rank-voice .ic { color: var(--d-dark); }
.theme-d .js-cat { background: var(--d-pale); color: var(--d-dark); border-radius: 99px; }
.theme-d .js-tags li { color: var(--d-dark); border-color: var(--d-line); border-radius: 99px; }
.theme-d .js-price { background: var(--d-cream); }
.theme-d .js-price-v { color: var(--d-ink); }
.theme-d .js-link { color: var(--d-ink); border-color: var(--d-line); border-radius: 99px; }
.theme-d .js-more-btn { background: var(--yellow); color: var(--d-ink); box-shadow: 0 4px 0 var(--d-yellow-sh); }
.theme-d .more-link { color: var(--d-ink); }
.theme-d .cta-mid { background: var(--d-dark); color: var(--d-white); }
.theme-d .cta-mid-t span { color: var(--yellow); }
.theme-d .col-tag { color: var(--d-dark); }
.theme-d .col-more { color: var(--d-ink); }
.theme-d .maker-logo { font-family: "M PLUS 1p", sans-serif; }
.theme-d .str-t { font-family: "M PLUS 1p", sans-serif; color: var(--d-ink); }
.theme-d .biz-side { background: var(--d-main); color: var(--d-white); }
.theme-d .biz-h3 { font-family: "M PLUS 1p", sans-serif; color: var(--d-white); }
.theme-d .biz-h3 .ic { color: var(--yellow); }
.theme-d .free-chips li { background: var(--d-white); color: var(--d-ink); }
.theme-d .free-chips .ic { color: var(--red); }
.theme-d .reason-top { background: var(--d-main); color: var(--d-white); }
.theme-d .reason-num { font-family: "Roboto", sans-serif; font-weight: 900; font-size: 52px; color: var(--yellow); }
.theme-d .reason-key { font-family: "M PLUS 1p", sans-serif; font-weight: 900; }
.theme-d .reason-ic { width: 52px; height: 52px; border-radius: 50%; background: var(--d-white); display: flex; align-items: center; justify-content: center; }
.theme-d .reason-ic .ic { color: var(--d-dark); width: 28px; height: 28px; }
.theme-d .reason-h3 { color: var(--d-ink); }
.theme-d .cmp-mk { display: inline-flex; vertical-align: middle; margin-right: 10px; }
.theme-d .cmp-mk .ic { width: 22px; height: 22px; color: var(--d-gray); }
.theme-d .cmp-mk-o { width: 30px; height: 30px; border: 4px solid var(--red); border-radius: 50%; flex: none; }
.theme-d .cmp-table { box-shadow: var(--shadow); background: var(--d-white); border-radius: var(--r-lg); }
.theme-d .cmp-table thead th { background: var(--d-dark); color: var(--d-white); }
.theme-d .cmp-table thead .cmp-flea { background: var(--d-dark); color: var(--d-white); border-radius: 0; }
.theme-d .cmp-blank { background: var(--d-dark) !important; border-radius: var(--r-lg) 0 0 0; }
.theme-d .cmp-table thead .cmp-ku { background: var(--yellow); border: 5px solid var(--yellow); border-bottom: 0; border-radius: 12px 12px 0 0; }
.theme-d .cmp-table tbody th, .theme-d .cmp-table tbody td { border: 0; border-bottom: 1px solid var(--d-line); background: var(--d-white); }
.theme-d .cmp-table tbody th { background: var(--d-pale); }
.theme-d .cmp-table tbody td { border-left: 1px solid var(--line); font-weight: 500; text-align: left; }
.theme-d .cmp-table tbody td.cmp-ku { background: var(--d-cream); color: var(--d-ink); font-weight: 800; font-size: 19px; border-left: 5px solid var(--yellow); border-right: 5px solid var(--yellow); border-bottom: 1px solid var(--d-cream-line); }
.theme-d .cmp-table tbody tr:last-child td.cmp-ku { border-bottom: 5px solid var(--yellow); }
.theme-d .cmp-table tbody td.cmp-ku b { color: var(--red); }
.theme-d .cmp-table tbody th .ic { color: var(--d-ink2); }
.theme-d .num-band { background: var(--d-main); color: var(--d-white); }
.theme-d .num-title { font-family: "M PLUS 1p", sans-serif; color: var(--d-white); }
.theme-d .num-title-en { color: var(--yellow); }
.theme-d .num-item { color: var(--ink); }
.theme-d .num-item { background: var(--d-white); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: 24px 12px 22px; }
.theme-d .num-list { gap: 18px; }
.theme-d .num-item + .num-item { border-left: 0; }
.theme-d .num-ic { color: var(--d-dark); }
.theme-d .num-v b { color: var(--d-ink); font-family: "Roboto", sans-serif; font-weight: 900; background: linear-gradient(transparent 70%, var(--yellow) 70%); }
.theme-d .check-box { border: 0; border-radius: var(--r-lg); box-shadow: var(--shadow); overflow: hidden; }
.theme-d .check-title { background: var(--d-main); color: var(--d-white); font-family: "M PLUS 1p", sans-serif; }
.theme-d .check-title .ic { color: var(--yellow); }
.theme-d .check-list .ic { background: var(--yellow); color: var(--d-ink); }
.theme-d .tip-item { background: var(--d-white); }
.theme-d .tip-num { background: var(--d-main); }
.theme-d .tip-ic .ic { color: var(--d-dark); }
.theme-d .tip-h3 { color: var(--d-ink); font-family: "M PLUS 1p", sans-serif; }
.theme-d .item-name { font-family: "M PLUS 1p", sans-serif; font-weight: 800; }
.theme-d .mgr-card { border-radius: var(--r-lg); box-shadow: var(--shadow); background: var(--d-pale); border: 3px solid var(--d-main); }
.theme-d .mgr-photo img { border-radius: 10px; }
.theme-d .mgr-tag { background: var(--yellow); color: var(--d-ink); font-family: "M PLUS 1p", sans-serif; font-size: 18px; padding: 6px 18px; transform: rotate(-5deg); }
.theme-d .mgr-text { background: var(--d-white); border-radius: 16px; padding: 18px 24px; position: relative; }
.theme-d .mgr-text::before { content: ""; position: absolute; left: -14px; top: 26px; border: 9px solid transparent; border-right: 14px solid var(--d-white); border-left: 0; }
.theme-d .g-box { border: 3px solid var(--d-main); border-radius: var(--r-lg); box-shadow: var(--shadow); }
.theme-d .g-ribbon { background: var(--yellow); color: var(--d-ink); font-weight: 900; border-radius: 0 0 10px 10px; }
.theme-d .g-num { color: var(--d-ink); font-family: "Roboto", sans-serif; font-weight: 900; }
.theme-d .btn-navy { background: var(--orange); }
.theme-d .g-quote { border: 2px solid var(--d-line); border-left: 6px solid var(--d-main); border-radius: var(--r-lg); box-shadow: var(--shadow); }
.theme-d .g-quote-ic { background: var(--d-pale); color: var(--d-dark); }
.theme-d .g-quote-tag { background: var(--d-pale); color: var(--d-dark); }
.theme-d .g-tag-2 { background: var(--d-dark); }
.theme-d .voice-ic { background: var(--d-pale); color: var(--d-dark); }
.theme-d .voice-h3 { color: var(--d-ink); font-family: "M PLUS 1p", sans-serif; }
.theme-d .voice-tags li { background: var(--d-pale); color: var(--d-dark); }
.theme-d .acc-ic .ic { color: var(--d-dark); }
.theme-d .faq-q { background: var(--d-dark); }
.theme-d .faq-ai { background: var(--yellow); color: var(--d-ink); }
.theme-d .faq-item summary { font-family: "M PLUS 1p", sans-serif; font-weight: 800; }
.theme-d .method-lead { font-family: "M PLUS 1p", sans-serif; color: var(--d-ink); }
.theme-d .method-ic { background: var(--d-pale); color: var(--d-dark); }
.theme-d .method-h3 { color: var(--d-ink); font-family: "M PLUS 1p", sans-serif; background: linear-gradient(transparent 64%, var(--yellow) 64%); display: inline; padding: 0 .06em; }
.theme-d .step-list li { background: var(--bg-alt); border-radius: 12px; }
.theme-d .step-list li + li::before { border-left-color: var(--d-main); }
.theme-d .step-n { background: var(--d-dark); }
.theme-d .step-ic .ic { color: var(--d-dark); }
.theme-d .cta-final { background: var(--d-dark); color: var(--d-white); background-image: linear-gradient(160deg, rgba(255,255,255,.08) 0 40%, transparent 40%); }
.theme-d .cta-final-t { font-family: "M PLUS 1p", sans-serif; color: var(--d-white); }
.theme-d .cta-final-s { color: var(--yellow); }
.theme-d .cta-final-tel { border: 0; }
.theme-d .cta-final-num { color: var(--d-ink); }
.theme-d .site-footer { background: var(--d-white); color: var(--ink); border-top: 6px solid var(--d-main); }
.theme-d .hd-tel-num { color: var(--d-ink); }
@media (max-width: 767px) {
  .theme-d .sec-title { font-size: 28px; flex: 1 1 0; min-width: 0; }
  .theme-d .sh-slash { width: 40px; height: 30px; }
  .theme-d .hand-note { font-size: 15px; flex-basis: auto; margin-left: 52px; }
  .fvd-bg { display: none; }
  .fvd-photo { display: none; }
  .fvd .fvx-grid { padding-top: 22px; }
  .fvd .fv-cat { font-size: 12.5px; gap: 4px; }
  .fv-d .h1-l1 { font-size: 34px; }
  .fv-d .h1-s { font-size: 23px; }
  .fv-d .h1-l2 { font-size: 84px; }
  .fv-d .h1-arrow { width: 34px; height: 40px; margin-top: 8px; }
  .fv-d .h1-band { font-size: 28px; padding: 4px 16px 6px; }
  .fvd-visual { margin: 0 -20px; min-height: 0; }
  .fvd-sp { display: block; position: relative; height: 360px; background: var(--d-pale); }
  .fvd-sp img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 14%; }
  .fvd-tencho .fvd-sp { height: 300px; }
  .fvd-tencho .fvd-sp img { object-position: 4% 40%; }
  .fvd-quote { position: relative; right: auto; top: auto; margin: -26px 24px 0 auto; width: max-content; }
  .fvd-quote-t { font-size: 19px; }
  .fvd-bubbles { gap: 10px; }
  .fvd-bubble { font-size: 14.5px; padding: 10px 14px; flex: 1 1 0; }
  .fvd-bubble::after { right: 24px; }
  .fvd-ans-t { font-size: 21px; }
  .fvd-tri { width: 16px; height: 20px; }
  .fvd .fv-badges { width: 100%; }
  .fvd-toolset { min-height: 0; height: 330px; background: var(--d-pale); }
  .fvd-t1 { top: 10px; right: 16px; width: 120px; }
  .fvd-t2 { top: 4px; left: 36px; width: 104px; }
  .fvd-t3 { top: 120px; left: 14px; width: 150px; }
  .fvd-t4 { top: 130px; right: 6px; width: 165px; }
  .fvd-t5 { bottom: 16px; right: 30px; width: 115px; }
  .fvd-t6 { bottom: 20px; left: 40px; width: 165px; }
  .fvd-tool-note { right: 10px; bottom: 4px; }
  .theme-d .free-list li { padding: 12px 4px; }
  .theme-d .free-list li + li { border-left: 0; border-top: 1px solid rgba(255,255,255,.3); }
  .theme-d .free-ic { width: 54px; height: 54px; }
  .theme-d .free-ic .ic { width: 28px; height: 28px; }
  .theme-d .free-t { flex-direction: row; align-items: baseline; gap: 8px; font-size: 17px; }
  .theme-d .free-t em { font-size: 26px; }
  .theme-d .pick-card { padding-top: 16px; }
  .theme-d .pick-body { margin: 6px -12px -16px; padding: 10px 12px 12px; }
  .theme-d .pick-badge { width: 56px; height: 56px; font-size: 11px; left: 8px; top: 8px; right: auto; padding: 0; }
  .theme-d .pick-model { font-size: 18px; }
  .theme-d .cmp-table tbody td { text-align: center; }
  .theme-d .cmp-mk { display: flex; justify-content: center; margin: 0 auto 4px; }
  .theme-d .cmp-mk .ic { width: 18px; height: 18px; }
  .theme-d .cmp-mk-o { width: 24px; height: 24px; border-width: 3px; margin: 0 auto 4px; }
  .theme-d .cmp-table tbody td.cmp-ku { font-size: 14px; border-left-width: 3px; border-right-width: 3px; }
  .theme-d .cmp-table tbody tr:last-child td.cmp-ku { border-bottom-width: 3px; }
  .theme-d .cmp-table thead .cmp-ku { border-width: 3px; }
  .theme-d .num-list { gap: 10px; }
  .theme-d .num-item { padding: 16px 6px 14px; }
  .theme-d .reason-num { font-size: 40px; }
  .theme-d .mgr-text::before { left: 50%; top: -14px; margin-left: -9px; border: 9px solid transparent; border-bottom: 14px solid var(--d-white); border-top: 0; }
}
.theme-d .sec-alt .ic-badge, .theme-d .str-item .ic-badge, .theme-d .reason-ic { background: var(--d-sub); color: var(--d-white); }
.theme-d .reason-ic .ic { color: var(--d-white); }
.theme-d .num-band { background: var(--d-main); }
.theme-d .tip-num, .theme-d .step-n, .theme-d .faq-q { background: var(--d-main); }
.theme-d .check-title { background: var(--d-main); }
.theme-d .sec-compare { background: var(--d-cream); background-image: none; }
.theme-d .sec-compare .wrap { display: grid; grid-template-columns: 300px minmax(0, 1fr); column-gap: 48px; align-items: start; }
.theme-d .sec-compare .sec-head { grid-column: 1; border-bottom-color: var(--d-main); }
.theme-d .sec-compare .sec-title { font-size: 36px; flex-basis: 100%; }
.theme-d .sec-compare .hand-note { margin-left: 0; }
.theme-d .sec-compare .sec-sub { grid-column: 1; }
.theme-d .sec-compare .table-scroll { grid-column: 2; grid-row: 1 / span 3; }
.theme-d .cmp-table thead th, .theme-d .cmp-table thead .cmp-flea, .theme-d .cmp-blank { background: var(--d-dark) !important; color: var(--d-white); }
.theme-d .cmp-table thead .cmp-ku { background: var(--d-main) !important; }
.theme-d .cmp-table .logo-w { display: block; }
.theme-d .cmp-table .logo-k { display: none; }
.theme-d .cmp-table tbody th { background: var(--d-white); }
.theme-d .cmp-table tbody td.cmp-ku { background: var(--d-cream); }
@media (max-width: 767px) {
  .theme-d .sec-compare .wrap { grid-template-columns: minmax(0, 1fr); }
  .theme-d .sec-compare .table-scroll { grid-column: 1; grid-row: auto; }
  .theme-d .sec-compare .sec-title { font-size: 26px; flex-basis: auto; }
  .theme-d .sec-compare .hand-note { margin-left: 52px; }
}
.theme-d .br-d { display: inline; }
@media (max-width: 767px) {
  .theme-d .br-d { display: none; }
  .theme-d .hand-note { flex-basis: 100%; margin-left: 50px; max-width: calc(100% - 50px); }
  .theme-d .sec-compare .hand-note { margin-left: 50px; }
}
@media (max-width: 767px) {
  .theme-d .hand-note, .theme-d .sec-compare .hand-note { font-size: 14px; margin-left: 28px; max-width: calc(100% - 28px); letter-spacing: 0; white-space: nowrap; }
}
@media (min-width: 768px) {
  .fvd-tencho .fvd-quote { top: auto; bottom: 36px; right: -10px; }
}
.fv-d .h1-l2 { align-items: center; margin: 8px 0 10px; }
.fv-d .h1-logo { display: block; height: 112px; width: auto; }
.fv-d .h1-arrow { margin: 0 0 30px 6px; }
@media (max-width: 767px) {
  .fv-d .h1-l2 { margin: 6px 0 8px; }
  .fv-d .h1-logo { height: 62px; max-width: calc(100% - 44px); object-fit: contain; object-position: left; }
  .fv-d .h1-arrow { margin: 0 0 16px 4px; }
}
@media (min-width: 768px) { .fv-d .h1-l2 { margin-bottom: 24px; } }
.fv-d .h1-band, .fvd-ans-t { font-family: "M PLUS Rounded 1c", "M PLUS 1p", sans-serif; font-weight: 900; }
.theme-d .cmp-table tbody th { text-align: center; vertical-align: middle; }
.theme-d .cmp-table tbody th .cmp-ic { display: flex; justify-content: center; margin: 0 auto 6px; }
@media (max-width: 767px) {
  .theme-d .cmp-table tbody th .cmp-ic { margin-bottom: 4px; }
}
@media (max-width: 374px) {
  .theme-d .hand-note, .theme-d .sec-compare .hand-note { white-space: normal; font-size: 12.5px; }
}
.fv-d .h1-band, .fvd-ans-t { font-family: "Zen Maru Gothic", "M PLUS Rounded 1c", sans-serif; font-weight: 900; }
.theme-d .il { display: block; max-width: 100%; height: auto; }
.theme-d .sec { position: relative; overflow: hidden; }
.theme-d .sec > .wrap { position: relative; z-index: 0; }
.theme-d .sec-bg-en { display: block; position: absolute; z-index: -1; right: 24px; top: -64px; font-family: "Roboto", sans-serif; font-weight: 900; font-size: 140px; line-height: 1; letter-spacing: .02em; color: rgba(43, 93, 164, .07); white-space: nowrap; pointer-events: none; }
.theme-d .sec-dots { display: block; position: absolute; z-index: -1; right: -40px; top: 120px; width: 120px; height: 84px; opacity: .35; }
.theme-d .sec-head { position: relative; }
.theme-d .sec-burst { display: block; position: absolute; left: -30px; top: -18px; width: 30px; height: 30px; }
.theme-d .sec-compare .sec-dots, .theme-d .sec-compare .sec-bg-en { display: none; }
.theme-d .more { margin-top: 14px; }
.theme-d .more-sum { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--d-pale); border: 1.5px solid var(--d-line); border-radius: 10px; padding: 11px 16px; font-weight: 800; font-size: 15px; line-height: 1.5; color: var(--d-ink); }
.theme-d .more-chev { display: flex; flex: none; }
.theme-d .more-chev .ic { width: 20px; height: 20px; color: var(--d-main); stroke-width: 4.5; }
.theme-d .more[open] > .more-sum .more-chev .ic { transform: rotate(180deg); }
.theme-d .more[open] > .more-sum { border-color: var(--d-main); }
.theme-d .more-body { padding-top: 16px; }
.theme-d .more-body > p + p { margin-top: .9em; }
.theme-d .market-card .ic-badge { display: none; }
.theme-d .market-il { display: flex; justify-content: center; align-items: center; align-self: stretch; height: 210px; margin: -36px -30px 4px; padding: 18px 20px 6px; background: linear-gradient(180deg, var(--d-pale) 0%, #f7f9fd 100%); }
.theme-d .market-il .il { height: 100%; width: auto; max-width: 88%; object-fit: contain; }
.theme-d .market-label { display: flex; align-items: center; justify-content: center; gap: 10px; }
.theme-d .market-no { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--d-main); color: var(--d-white); font-family: "Roboto", sans-serif; font-weight: 900; font-size: 16px; line-height: 1; }
.theme-d .market-card .market-h3 { margin-bottom: 4px; }
.theme-d .more-market .more-body p { font-size: 15.5px; }
.theme-d .rank-models { display: flex; flex-direction: column; gap: 8px; padding: 20px 30px 4px; }
.theme-d .rank-models-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; line-height: 1.6; }
.theme-d .rank-models-h { flex: none; font-size: 13px; font-weight: 800; color: var(--d-main); background: var(--d-pale); border-radius: 99px; padding: 2px 12px; }
.theme-d .rank-models-v { font-family: "Roboto", "Noto Sans JP", sans-serif; font-weight: 700; font-size: 18px; letter-spacing: .02em; color: var(--d-ink); }
.theme-d .more-rank { margin: 14px 30px 24px; }
.theme-d .more-rank .more-body { padding-top: 6px; }
.theme-d .more-rank .rank-col { padding: 20px 22px 8px 0; }
.theme-d .more-rank .rank-col + .rank-col { padding-left: 22px; }
.theme-d .more-rank .rank-voice { margin: 14px 0 0; }
.theme-d .str-item .ic-badge { display: none; }
.theme-d .il-str { width: 118px; height: 104px; object-fit: contain; margin: 0 auto 10px; }
.theme-d .biz-side { position: relative; padding-bottom: 0; display: flex; flex-direction: column; }
.theme-d .il-biz { width: 100%; max-width: 270px; margin: 18px auto 0; align-self: center; }
.theme-d .mgr-card { position: relative; }
.theme-d .mgr-tag { font-size: 19px; padding: 7px 18px; border: 2px dashed var(--d-ink); transform: rotate(-6deg); box-shadow: 3px 3px 0 rgba(26, 29, 35, .15); }
.theme-d .mgr-hand { display: block; position: absolute; z-index: 2; top: 14px; right: 24px; font-family: "Yomogi", cursive; font-size: 20px; line-height: 1.35; color: var(--d-main); text-align: center; transform: rotate(7deg); }
.theme-d .reason-il { display: flex; justify-content: center; align-items: flex-end; height: 220px; padding: 16px 16px 0; background: linear-gradient(180deg, var(--d-pale) 0%, var(--d-white) 100%); }
.theme-d .reason-il .il { height: 100%; width: auto; max-width: 92%; object-fit: contain; }
.theme-d .reason-sum { margin-bottom: 0; }
.theme-d .more-reason { margin-top: 16px; }
.theme-d .num-ic { display: none; }
.theme-d .il-num { width: auto; height: 96px; margin: 0 auto 6px; object-fit: contain; }
.theme-d .il-cmp { position: absolute; right: -118px; bottom: -36px; width: 150px; transform: rotate(-8deg); }
.theme-d .check-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; padding: 22px 16px 24px; }
.theme-d .check-list li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 0 14px; border: 0 !important; text-align: center; white-space: normal; }
.theme-d .check-list li > .ic { display: none; }
.theme-d .cs-no { display: inline-flex; position: absolute; z-index: 1; left: 12px; top: 0; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 50%; background: var(--yellow); color: var(--d-ink); font-family: "Roboto", sans-serif; font-weight: 900; font-size: 17px; line-height: 1; }
.theme-d .cs-il { width: 100%; max-width: 150px; aspect-ratio: 1 / 1; object-fit: contain; padding: 12px; border-radius: 50%; background: var(--d-pale); }
.theme-d .cs-t { font-size: 15.5px; font-weight: 800; line-height: 1.5; }
.theme-d .cs-arrow { display: flex; position: absolute; left: -10px; top: 62px; width: 20px; height: 20px; color: var(--d-main); }
.theme-d .cs-arrow .ic { width: 20px; height: 20px; stroke-width: 6; }
.theme-d .tip-head .tip-ic { display: none; }
.theme-d .tip-head { margin-bottom: 4px; }
.theme-d .il-tip { flex: none; width: 66px; height: 62px; object-fit: contain; margin-left: auto; }
.theme-d .tip-item { padding: 22px 26px 24px; }
.theme-d .more-tip { margin-top: 10px; }
.theme-d .voice-lead { padding: 0 28px; font-size: 15.5px; line-height: 1.8; }
.theme-d .more-voice { margin: 12px 28px 22px; }
.theme-d .more-voice .voice-body { padding: 0; }
.theme-d .voice-card:has(.more-voice[open]) .voice-lead { display: none; }
.theme-d .mtabs { position: relative; }
.theme-d .mt-radio { display: block; position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.theme-d .mt-labels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; position: relative; z-index: 1; margin-bottom: -2px; }
.theme-d .mt-label { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 10px; background: var(--d-white); border: 2px solid var(--d-line); border-bottom: 0; border-radius: 14px 14px 0 0; font-family: "M PLUS 1p", sans-serif; font-weight: 900; font-size: 20px; line-height: 1.3; color: var(--d-ink2); cursor: pointer; }
.theme-d .mt-label .ic { width: 26px; height: 26px; color: var(--d-main); }
.theme-d #mt-shop:checked ~ .mt-labels .mt-l-shop,
.theme-d #mt-visit:checked ~ .mt-labels .mt-l-visit,
.theme-d #mt-post:checked ~ .mt-labels .mt-l-post { background: var(--d-main); border-color: var(--d-main); color: var(--d-white); }
.theme-d #mt-shop:checked ~ .mt-labels .mt-l-shop .ic,
.theme-d #mt-visit:checked ~ .mt-labels .mt-l-visit .ic,
.theme-d #mt-post:checked ~ .mt-labels .mt-l-post .ic { color: var(--d-white); }
.theme-d .mt-radio:focus-visible ~ .mt-labels .mt-label { outline: 2px dashed var(--d-main); outline-offset: 2px; }
.theme-d .mtabs .method-list { gap: 0; }
.theme-d .mtabs .method-card { display: none; border: 2px solid var(--d-main); border-top-width: 4px; border-radius: 0 0 14px 14px; }
.theme-d #mt-shop:checked ~ .method-list .method-shop,
.theme-d #mt-visit:checked ~ .method-list .method-visit,
.theme-d #mt-post:checked ~ .method-list .method-post { display: grid; }
.theme-d .method-card { grid-template-columns: 210px minmax(0, 1fr); grid-template-areas: "il head" "il steps"; column-gap: 26px; align-items: start; padding: 22px 28px 26px 22px; }
.theme-d .il-method { grid-area: il; align-self: center; width: 100%; }
.theme-d .method-head { grid-area: head; margin-bottom: 14px; }
.theme-d .method-card .step-list { grid-area: steps; }
.theme-d .method-ic { display: none; }
.theme-d .il-method-deco { position: absolute; right: 0; top: -58px; width: 200px; transform: rotate(6deg); z-index: 1; }
.theme-d .line-box { grid-template-columns: 250px minmax(0, 1fr); column-gap: 34px; align-items: center; padding: 28px 40px 30px 26px; border: 2px solid var(--d-line); background: linear-gradient(135deg, var(--d-white) 0%, var(--d-pale) 100%); box-shadow: var(--shadow); }
.theme-d .il-line { width: 100%; }
.theme-d .line-title { font-family: "M PLUS 1p", sans-serif; color: var(--d-ink); }
.theme-d .line-title-t { background: linear-gradient(transparent 62%, var(--d-marker) 62%); padding: 0 .06em; }
.theme-d .line-steps { max-width: 620px; }
.theme-d .line-steps li { background: var(--d-white); border: 2px solid var(--d-line); }
.theme-d .ls-no { background: var(--d-main); }
.theme-d .ls-ic .ic { color: var(--d-main); }
.theme-d .line-hand { display: block; position: absolute; top: 18px; right: 28px; font-family: "Yomogi", cursive; font-size: 20px; line-height: 1.35; color: var(--d-main); text-align: center; transform: rotate(8deg); }
.theme-d .cta-final { position: relative; overflow: hidden; }
.theme-d .cta-final-in { position: relative; }
.theme-d .il-cta-l, .theme-d .il-cta-r { position: absolute; top: 50%; width: 150px; }
.theme-d .il-cta-l { left: -70px; transform: translateY(-50%) rotate(-10deg); }
.theme-d .il-cta-r { right: -70px; transform: translateY(-50%) rotate(10deg); }
@media (max-width: 767px) {
  .theme-d .sec-bg-en { font-size: 64px; top: -38px; right: 0; }
  .theme-d .sec-dots { width: 80px; height: 56px; right: -24px; top: 96px; }
  .theme-d .sec-burst { left: -14px; top: -16px; width: 22px; height: 22px; }
  .theme-d .more-sum { padding: 10px 12px; font-size: 14px; }
  .theme-d .market-il { height: 150px; margin: -28px -22px 4px; padding: 14px 16px 4px; }
  .theme-d .rank-models { padding: 16px 18px 2px; }
  .theme-d .rank-models-v { font-size: 15.5px; }
  .theme-d .more-rank { margin: 12px 18px 18px; }
  .theme-d .more-rank .rank-col, .theme-d .more-rank .rank-col + .rank-col { padding: 16px 0 8px; }
  .theme-d .il-str { width: 80px; height: 72px; margin-bottom: 8px; }
  .theme-d .il-biz { max-width: 200px; margin-top: 14px; }
  .theme-d .mgr-hand { top: 30px; right: 30px; font-size: 15px; background: rgba(255, 255, 255, .92); padding: 4px 10px; border-radius: 10px; }
  .theme-d .reason-il { height: 160px; padding: 12px 12px 0; }
  .theme-d .il-num { height: 64px; margin-bottom: 4px; }
  .theme-d .il-cmp { display: none; }
  .theme-d .check-list { grid-template-columns: repeat(6, minmax(0, 1fr)); row-gap: 18px; padding: 18px 8px 20px; }
  .theme-d .check-list li { grid-column: span 2; padding: 0 4px; gap: 6px; }
  .theme-d .check-list li:nth-child(4) { grid-column: 2 / span 2; }
  .theme-d .cs-il { max-width: 92px; padding: 8px; }
  .theme-d .cs-no { left: 4px; width: 26px; height: 26px; font-size: 14px; }
  .theme-d .cs-t { font-size: 13px; }
  .theme-d .cs-arrow { display: none; }
  .theme-d .tip-item { padding: 18px 16px 18px; }
  .theme-d .il-tip { width: 52px; height: 50px; }
  .theme-d .voice-lead { padding: 0 18px; font-size: 15px; }
  .theme-d .more-voice { margin: 10px 18px 18px; }
  .theme-d .mt-labels { gap: 6px; }
  .theme-d .mt-label { flex-direction: column; gap: 4px; padding: 10px 4px; font-size: 15px; border-radius: 10px 10px 0 0; }
  .theme-d .mt-label .ic { width: 22px; height: 22px; }
  .theme-d .method-card { grid-template-columns: 92px minmax(0, 1fr); grid-template-areas: "il head" "steps steps"; column-gap: 14px; padding: 18px 16px 20px; }
  .theme-d .il-method { width: 92px; }
  .theme-d .il-method-deco { width: 84px; top: -58px; right: -4px; }
  .theme-d .line-box { grid-template-columns: minmax(0, 1fr); padding: 22px 18px; row-gap: 6px; }
  .theme-d .line-il-wrap { width: 46%; margin: 0 auto; }
  .theme-d .line-hand { top: 18px; right: 14px; font-size: 15px; }
  .theme-d .il-cta-l, .theme-d .il-cta-r { display: none; }
}
.theme-d .sec-dots { right: 0; }
.theme-d .il-cmp { display: none; right: -88px; bottom: -30px; width: 120px; }
@media (min-width: 1400px) { .theme-d .il-cmp { display: block; } }
.theme-d .il-cta-l, .theme-d .il-cta-r { width: 120px; }
.theme-d .il-cta-l { left: 0; }
.theme-d .il-cta-r { right: 0; }
@media (max-width: 767px) { .theme-d .sec-dots { right: 0; } }
@media (max-width: 767px) { .theme-d .il-method-deco { right: 10px; } }
.theme-d .il-cmp { bottom: 10px; }
.theme-d .sec-method .sec-dots { display: none; }
@media (max-width: 767px) { .theme-d .ls-t { font-size: 12.5px; letter-spacing: 0; white-space: nowrap; } .theme-d .line-steps li { padding: 12px 2px; } }
.theme-d .cs-t { text-wrap: balance; }
.theme-d .il-str { width: 150px; height: 128px; }
@media (max-width: 767px) { .theme-d .il-str { width: 96px; height: 84px; } }
.theme-d .mgr-hand, .theme-d .line-hand { white-space: nowrap; }
.theme-d .more-t { text-wrap: balance; }
@media (max-width: 374px) { .theme-d .ls-t { white-space: normal; font-size: 12px; text-wrap: balance; } }
@media (max-width: 374px) {
  .theme-d .num-v { white-space: nowrap; }
  .theme-d .num-v b { font-size: 30px; }
  .theme-d .item-name { font-size: 12px; letter-spacing: 0; white-space: nowrap; }
}
.theme-d .mt-labels { margin-bottom: -4px; }
.theme-d #mt-shop:checked ~ .mt-labels .mt-l-shop,
.theme-d #mt-visit:checked ~ .mt-labels .mt-l-visit,
.theme-d #mt-post:checked ~ .mt-labels .mt-l-post { padding-bottom: 19px; }
.theme-d .pick-img { background: var(--d-white); margin: 0 -24px 0; padding: 4px 24px 8px; }
.theme-d .pick-img img { width: 100%; max-width: 230px; height: auto; aspect-ratio: 1 / 1; object-fit: contain; }
.theme-d .rank-logo { margin-left: auto; display: flex; align-items: center; justify-content: center; flex: none; width: 168px; height: 64px; padding: 10px 16px; background: var(--d-white); border-radius: 12px; box-shadow: 0 2px 8px rgba(0, 0, 0, .12); }
.theme-d .rank-logo img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.theme-d .rank-en { display: none; }
.theme-d .maker-logo-img { display: flex; align-items: center; justify-content: center; height: 56px; width: 100%; }
.theme-d .maker-logo-img img { display: block; width: auto; max-width: 78%; object-fit: contain; }
.theme-d .ml-makita { height: 44px; }
.theme-d .ml-max { height: 48px; }
.theme-d .ml-hikoki, .theme-d .ml-panasonic { height: 28px; }
.theme-d .ml-bosch, .theme-d .ml-kyocera { height: 34px; }
.theme-d .ml-ryobi { height: 38px; }
.theme-d .maker-tile { gap: 10px; }
@media (max-width: 767px) {
  .theme-d .pick-img { margin: 0 -12px; padding: 2px 12px 6px; }
  .theme-d .pick-img img { max-width: 140px; }
  .theme-d .rank-logo { width: 96px; height: 44px; padding: 7px 10px; border-radius: 10px; }
  .theme-d .maker-logo-img { height: 44px; }
  .theme-d .ml-makita { height: 34px; }
  .theme-d .ml-max { height: 38px; }
  .theme-d .ml-hikoki, .theme-d .ml-panasonic { height: 20px; }
  .theme-d .ml-bosch, .theme-d .ml-kyocera { height: 26px; }
  .theme-d .ml-ryobi { height: 30px; }
  .theme-d .maker-logo-img img { max-width: 86%; }
}
@media (max-width: 767px) {
  .theme-d .rank-label { white-space: nowrap; }
  .theme-d .rank-head { gap: 10px; padding-right: 14px; }
  .theme-d .rank-title { gap: 6px; min-width: 0; }
  .theme-d .rank-logo { width: 84px; height: 40px; padding: 6px 8px; }
}
@media (max-width: 374px) {
  .theme-d .rank-label { font-size: 12px; }
  .theme-d .rank-logo { width: 72px; height: 36px; }
}
@media (max-width: 767px) {
  .theme-d .rank-title { flex-direction: column; align-items: flex-start; gap: 2px; flex: 1 1 auto; }
  .theme-d .rank-maker { white-space: nowrap; font-size: 21px; padding: 1px 12px 3px; }
  .theme-d .rank-label { font-size: 12.5px; }
}
@media (max-width: 374px) {
  .theme-d .rank-medal { width: 46px; height: 46px; padding-top: 6px; }
  .theme-d .rank-no { font-size: 24px; }
  .theme-d .rank-maker { font-size: 18px; padding: 1px 10px 3px; }
  .theme-d .rank-head { padding-left: 14px; gap: 8px; }
}
@media (max-width: 767px) {
  .theme-d .pick-badge { width: 46px; height: 46px; font-size: 9.5px; left: 5px; top: 5px; box-shadow: 0 0 0 3px var(--d-white), 0 0 0 4px var(--yellow); }
  .theme-d .pick-img { padding: 14px 6px 6px 22px; }
  .theme-d .pick-img img { max-width: 128px; }
}
@media (max-width: 767px) { .theme-d .pick-img { padding: 26px 4px 4px 34px; } .theme-d .pick-img img { max-width: 122px; } }
@media (max-width: 374px) {
  .theme-d .pick-body { padding-left: 10px; padding-right: 8px; }
  .theme-d .pick-model { font-size: 15px; white-space: nowrap; overflow-wrap: normal; letter-spacing: -0.01em; }
  .theme-d .pick-name { font-size: 10.5px; white-space: nowrap; overflow-wrap: normal; letter-spacing: 0; }
}
.theme-d .market-grid, .theme-d .reason-grid, .theme-d .tip-list { align-items: start; }
.fvd .fv-cert-badge { background: none; box-shadow: none; padding: 0; border-radius: 0; }
.fvd .fv-cert-badge img { width: 260px; height: auto; }
@media (min-width: 768px) {
  .fvd { --vis-w: 400px; }
  .fvd .fvx-grid { column-gap: 40px; row-gap: 12px; padding-top: 26px; padding-bottom: 28px; grid-template-rows: auto auto auto auto; }
  .fvd-photo { width: 42%; }
  .fvd-photo img { object-position: 58% 14%; }
  .fvd .fv-cat { font-size: 15px; margin-bottom: 4px; }
  .fv-d .h1-l1 { font-size: 46px; }
  .fv-d .h1-s { font-size: 31px; }
  .fv-d .h1-l2 { margin: 4px 0 12px; }
  .fv-d .h1-logo { height: 80px; }
  .fv-d .h1-arrow { width: 40px; height: 48px; margin: 0 0 22px 4px; }
  .fv-d .h1-l3 { margin-top: 0; }
  .fv-d .h1-band { font-size: 36px; padding: 4px 20px 7px; }
  .fvd-qa { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 4px; }
  .fvd-bubbles { gap: 12px; }
  .fvd-bubble { font-size: 14.5px; padding: 8px 18px; line-height: 1.4; }
  .fvd-bubble::after { right: 26px; bottom: -11px; border-top-width: 10px; }
  .fvd-ans-t { font-size: 26px; }
  .fvd-tri { width: 18px; height: 22px; }
  .fvd .fv-proof { flex-direction: row; align-items: center; gap: 18px; }
  .fvd .fv-badges { width: 330px; }
  .fvd .fvx-cta { flex-direction: row; align-items: stretch; gap: 10px; }
  .fvd .fv-cta { gap: 10px; flex: 1 1 auto; }
  .fvd.fvx .fv-cta .btn { font-size: 15.5px; padding: 12px 12px; gap: 6px; white-space: nowrap; }
  .fvd .fv-cta .btn .ic { width: 1.35em; height: 1.35em; }
  .fvd .fv-tel { flex: none; flex-direction: column; align-items: flex-start; justify-content: center; gap: 0; padding: 4px 14px; }
  .fvd .fv-tel-num { font-size: 23px; gap: 6px; }
  .fvd .fv-tel-num .ic { width: 19px; height: 19px; }
  .fvd .fv-tel-info { flex-direction: row; gap: 8px; font-size: 10.5px; line-height: 1.4; white-space: nowrap; }
  .theme-d .free-band { padding: 14px 0; border-top-width: 4px; }
  .theme-d .free-ic { width: 54px; height: 54px; }
  .theme-d .free-ic .ic { width: 28px; height: 28px; }
  .theme-d .free-t { font-size: 16px; }
  .theme-d .free-t em { font-size: 28px; border-bottom-width: 3px; }
  .theme-d .free-d { font-size: 12px; line-height: 1.5; }
}
@media (max-width: 767px) {
  .fvd .fvx-grid { padding-top: 14px; padding-bottom: 22px; row-gap: 12px; }
  .fvd .fv-cat { font-size: 11.5px; margin-bottom: 4px; }
  .fv-d .h1-l1 { font-size: 30px; }
  .fv-d .h1-s { font-size: 20px; }
  .fv-d .h1-l2 { margin: 4px 0 8px; }
  .fv-d .h1-logo { height: 52px; }
  .fv-d .h1-arrow { width: 28px; height: 34px; margin: 0 0 12px 4px; }
  .fv-d .h1-band { font-size: 23px; padding: 3px 14px 5px; }
  .fvd-sp { height: 190px; }
  .fvd-sp img { object-position: 58% 9%; }
  .fvd-qa { gap: 8px; margin-top: 0; }
  .fvd-bubble { font-size: 13.5px; padding: 7px 10px; line-height: 1.4; }
  .fvd-bubble::after { bottom: -11px; border-top-width: 10px; }
  .fvd-ans-t { font-size: 19px; }
  .fvd .fv-proof { gap: 6px; }
  .fvd .fv-badges { width: 300px; max-width: 100%; }
  .fvd .fv-cert-badge img { width: 220px; }
  .fvd .fvx-cta { gap: 8px; }
  .fvd .fv-cta { flex-direction: row; gap: 8px; }
  .fvd.fvx .fv-cta .btn { font-size: 14.5px; padding: 13px 6px; gap: 5px; white-space: nowrap; }
  .fvd .fv-cta .btn .ic { width: 1.3em; height: 1.3em; }
  .fvd .fv-cta .btn .ic:last-child:not(:first-child) { display: none; }
  .fvd .fv-tel { padding: 7px 12px; }
  .fvd .fv-tel-num { font-size: 25px; }
  .fvd .fv-tel-info { font-size: 11px; }
  .theme-d .free-band { padding: 8px 0; }
  .theme-d .free-list li { padding: 7px 4px; gap: 12px; }
  .theme-d .free-ic { width: 40px; height: 40px; }
  .theme-d .free-ic .ic { width: 22px; height: 22px; }
  .theme-d .free-t { font-size: 15px; gap: 6px; }
  .theme-d .free-t em { font-size: 21px; }
  .theme-d .free-d { font-size: 11.5px; }
}
@media (min-width: 768px) {
  .fvd-qa { flex-direction: column; align-items: flex-start; gap: 8px; }
  .fvd-bubbles { justify-content: flex-start; }
  .fvd .fvx-grid { padding-top: 22px; padding-bottom: 24px; row-gap: 11px; }
  .fv-d .h1-l2 { margin: 2px 0 9px; }
  .fv-d .h1-logo { height: 76px; }
}
@media (max-width: 767px) {
  .fvd-sp { height: 178px; }
  .fvd .fvx-grid { row-gap: 11px; }
}
@media (min-width: 768px) {
  .fvd-photo { width: 39%; }
  .fv-d .h1-l2 { margin-bottom: 14px; }
  .fvd .fv-cta { flex: none; }
  .fvd.fvx .fv-cta .btn { flex: none; font-size: 15px; padding: 12px 14px; }
  .fvd .fv-tel { padding: 4px 12px; }
  .fvd .fv-tel-num { font-size: 21px; }
  .fvd .fv-tel-info { font-size: 10px; gap: 6px; }
}
@media (min-width: 768px) { .fv-d .h1-l2 { margin-bottom: 19px; } }
@media (max-width: 767px) { .fv-d .h1-l2 { margin-bottom: 11px; } }
.theme-d .mgr-text p + p { margin-top: .7em; }
.theme-d .col-img img { aspect-ratio: 2 / 1; height: auto; }
.theme-d .col-body { padding: 14px 18px 16px; }
.theme-d .col-tag { margin-bottom: 4px; }
.theme-d .col-title { font-size: 15.5px; line-height: 1.6; margin-bottom: 10px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
@media (max-width: 767px) {
  .theme-d .col-card a { align-items: stretch; }
  .theme-d .col-img { width: 132px; }
  .theme-d .col-img img { width: 132px; height: 100%; min-height: 66px; aspect-ratio: auto; }
  .theme-d .col-body { padding: 10px 12px; }
  .theme-d .col-title { font-size: 14px; line-height: 1.55; margin-bottom: 4px; }
  .theme-d .col-tag { font-size: 11px; margin-bottom: 2px; }
  .theme-d .col-more { font-size: 12.5px; }
}
.site-footer-full { background: none; color: var(--ink); padding: 0; }
.site-footer-full .ft-h { display: flex; flex-direction: column; align-items: center; text-align: center; font-size: 28px; font-weight: 900; line-height: 1.4; margin-bottom: 10px; }
.site-footer-full .ft-h-en { font-family: var(--font-num); font-size: 12px; font-weight: 700; letter-spacing: .22em; color: var(--navy-2); margin-bottom: 2px; }
.ft-lead { text-align: center; font-size: 15px; color: var(--sub); margin-bottom: 30px; }
.ft-cats { padding: 72px 0 64px; background: #fff; }
.ft-cat-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.ft-cat { display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; padding: 12px 8px 12px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); text-align: center; }
.ft-cat-img { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1 / 1; max-width: 120px; }
.ft-cat-img img { width: 100%; height: 100%; object-fit: contain; }
.ft-cat-t { font-size: 13px; font-weight: 700; line-height: 1.45; text-wrap: balance; }
.ft-area { padding: 64px 0 64px; background: var(--bg-alt); }
.ft-pref-list { display: flex; flex-direction: column; gap: 12px; }
.ft-pref { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 16px 22px; }
.ft-pref-h { display: flex; align-items: center; gap: 12px; font-size: 17px; font-weight: 900; line-height: 1.4; }
.ft-pref-n { font-size: 12px; font-weight: 700; color: var(--sub); }
.ft-pref-h .more-chev { margin-left: auto; }
.ft-pref-links { margin-top: 10px; font-size: 13.5px; line-height: 2; color: var(--sub); word-break: keep-all; overflow-wrap: anywhere; }
.ft-pref-links a { color: var(--ink); text-decoration: underline; text-decoration-color: rgba(0, 0, 0, .25); text-underline-offset: 3px; white-space: nowrap; }
@media (min-width: 768px) {
  .ft-pref-h { pointer-events: none; cursor: default; }
  .ft-pref-h .more-chev { display: none; }
  .ft-pref::details-content { content-visibility: visible; display: block; }
}
.ft-nav { background: #1f2937; color: #fff; padding: 36px 0 30px; }
.ft-nav-row { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; align-items: start; }
.ft-nav-row + .ft-nav-row { margin-top: 22px; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, .15); }
.ft-nav-h { font-size: 15px; font-weight: 900; line-height: 1.6; padding-left: 12px; border-left: 4px solid var(--yellow); }
.ft-nav-links { display: flex; flex-wrap: wrap; gap: 6px 22px; }
.ft-nav-links a { font-size: 13px; line-height: 1.6; color: rgba(255, 255, 255, .9); white-space: nowrap; }
.ft-info { background: #fff; padding: 28px 0 32px; }
.ft-info-in { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.ft-logo img { width: 170px; }
.site-footer-full .ft-logo .logo-w { display: none; }
.site-footer-full .ft-logo .logo-k { display: block; }
.site-footer-full .ft-co { font-size: 13px; }
.site-footer-full .ft-copy { margin-left: 0; font-size: 11.5px; color: var(--sub); opacity: 1; }
@media (max-width: 767px) {
  .site-footer-full .ft-h { font-size: 22px; }
  .ft-lead { font-size: 13.5px; margin-bottom: 20px; }
  .ft-cats { padding: 52px 0 44px; }
  .ft-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .ft-cat { padding: 8px 4px 9px; gap: 4px; }
  .ft-cat-img { max-width: 84px; }
  .ft-cat-t { font-size: 11px; letter-spacing: 0; }
  .ft-area { padding: 44px 0; }
  .ft-pref-list { gap: 8px; }
  .ft-pref { padding: 12px 14px; }
  .ft-pref-h { font-size: 15px; }
  .ft-pref-links { font-size: 13px; }
  .ft-nav { padding: 28px 0 24px; }
  .ft-nav-row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .ft-nav-links { gap: 4px 16px; }
  .ft-nav-links a { font-size: 12.5px; }
  .site-footer-full .ft-co { font-size: 12px; }
  .site-footer-full .ft-copy { font-size: 10.5px; }
}
.theme-d .site-footer-full { border-top: 0; background: none; }
.theme-d .site-footer-full .ft-h { font-family: "M PLUS 1p", sans-serif; color: var(--d-ink); }
.theme-d .site-footer-full .ft-h-en { color: var(--d-main); }
.theme-d .ft-cat { border: 2px solid var(--d-line); border-radius: 12px; box-shadow: var(--shadow); }
.theme-d .ft-area { background: var(--d-pale); }
.theme-d .ft-pref { border: 2px solid var(--d-line); border-radius: 12px; }
.theme-d .ft-pref-h > span:first-child { padding-left: 10px; border-left: 4px solid var(--d-main); }
.theme-d .ft-pref-h .more-chev .ic { width: 20px; height: 20px; color: var(--d-main); stroke-width: 4.5; }
.theme-d .ft-pref[open] .ft-pref-h .more-chev .ic { transform: rotate(180deg); }
.theme-d .ft-info { border-top: 6px solid var(--d-main); }
@media (max-width: 767px) { .fvd .fv-cta .btn { flex: 1 1 0; min-width: 0; } }
@media (max-width: 374px) {
  .fvd.fvx .fv-cta .btn { font-size: 13px; padding: 12px 4px; gap: 4px; }
  .ft-cat-t { font-size: 10px; }
}
@media (max-width: 414px) { .ft-cat-t { word-break: keep-all; overflow-wrap: anywhere; } }
@media (max-width: 767px) {
  .fvd-staff .fvd-sp { height: 250px; }
  .fvd-staff .fvd-sp img { object-position: 62% 16%; }
}
@media (max-width: 767px) {
  .fvd-staff .fvd-sp { height: 300px; }
  .fvd-staff .fvd-sp img { object-position: 70% 26%; }
}
.ft-cat-t { word-break: keep-all; overflow-wrap: normal; }
@media (max-width: 374px) { .ft-cat-t { font-size: 10px; letter-spacing: 0; } }
.theme-d .item-grid-cur { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.theme-d .item-tile-cur { position: relative; gap: 10px; padding: 16px 12px 40px; background: var(--d-white); }
.theme-d .item-tile-cur .item-img { display: flex; align-items: center; justify-content: center; width: 100%; height: 150px; background: var(--d-white); border-radius: 8px; }
.theme-d .item-tile-cur .item-img img { width: auto; height: auto; max-width: min(100%, 196px); max-height: 143px; object-fit: contain; }
.theme-d .item-tile-cur .item-name { font-size: 16px; line-height: 1.45; text-wrap: balance; }
.theme-d .item-more { position: absolute; right: 12px; bottom: 10px; display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; font-weight: 700; color: var(--d-main); }
.theme-d .item-more .ic { width: 12px; height: 12px; stroke-width: 5; }
.theme-d .sec-voice .g-lead { margin-bottom: 36px; }
.theme-d .rv-block + .rv-block { margin-top: 48px; }
.theme-d .rv-h3 { display: flex; align-items: center; gap: 10px; font-family: "M PLUS 1p", sans-serif; font-size: 23px; font-weight: 900; color: var(--d-ink); line-height: 1.4; padding-bottom: 10px; border-bottom: 2px dashed var(--d-line); }
.theme-d .rv-h3 .ic { width: 28px; height: 28px; color: var(--d-main); }
.theme-d .rv-h3-g { width: 28px; height: auto; }
.theme-d .rv-note { font-size: 12.5px; color: var(--d-gray); margin: 8px 0 18px; }
.theme-d .rv-google .rv-h3 { margin-bottom: 18px; }
.theme-d .g-band { display: grid; grid-template-columns: 240px minmax(0, 1fr) auto; align-items: center; gap: 28px; background: var(--d-white); border: 3px solid var(--d-main); border-radius: var(--r-lg); box-shadow: var(--shadow); padding: 20px 28px; }
.theme-d .g-band-score { position: relative; text-align: center; padding-top: 18px; }
.theme-d .g-band .g-ribbon { position: absolute; top: -22px; left: 50%; transform: translateX(-50%); }
.theme-d .g-band .g-num { font-size: 60px; }
.theme-d .g-band .g-stars { font-size: 26px; margin-top: 2px; }
.theme-d .g-band .g-count { margin: 0 0 8px; }
.theme-d .g-band .g-tags-wrap { border-top: 0; margin-top: 0; padding-top: 0; }
.theme-d .g-band .g-tags-h { text-align: left; margin-bottom: 6px; }
.theme-d .g-band .g-tags { justify-content: flex-start; }
.theme-d .g-band .g-btn { width: auto; margin-top: 0; white-space: nowrap; }
.theme-d .rv-google .note-s { margin-top: 10px; }
.theme-d .num-v-area { white-space: nowrap; font-size: 23px; }
@media (max-width: 1100px) and (min-width: 768px) {
  .theme-d .g-band { grid-template-columns: 220px minmax(0, 1fr); }
  .theme-d .g-band .g-btn { grid-column: 1 / -1; justify-self: center; }
}
@media (max-width: 767px) {
  .theme-d .item-grid-cur { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .theme-d .item-tile-cur { padding: 10px 8px 32px; gap: 6px; }
  .theme-d .item-tile-cur .item-img { height: 112px; }
  .theme-d .item-tile-cur .item-img img { max-width: min(100%, 160px); max-height: 112px; }
  .theme-d .item-tile-cur .item-name { font-size: 13.5px; }
  .theme-d .item-more { right: 8px; bottom: 7px; font-size: 11.5px; }
  .theme-d .rv-h3 { font-size: 19px; }
  .theme-d .rv-block + .rv-block { margin-top: 36px; }
  .theme-d .g-band { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 26px 16px 18px; text-align: center; }
  .theme-d .g-band .g-num { font-size: 52px; }
  .theme-d .g-band .g-tags-h { text-align: center; }
  .theme-d .g-band .g-tags { justify-content: center; }
  .theme-d .g-band .g-btn { width: 100%; white-space: normal; }
  .theme-d .num-v-area { font-size: 15px; letter-spacing: 0; }
}
@media (max-width: 374px) {
  .theme-d .num-v-area { font-size: 13.5px; }
  .theme-d .item-tile-cur .item-name { font-size: 12.5px; }
}
@media (max-width: 767px) { .theme-d .item-tile-cur .item-name { word-break: keep-all; overflow-wrap: anywhere; } }
@media (max-width: 400px) { .theme-d .g-band .g-btn { font-size: 14px; padding: 14px 10px; white-space: nowrap; } }
.fvd .fv-proof-hex { flex-direction: column; align-items: flex-start; gap: 4px; }
.hex-list { display: flex; gap: 10px; }
.hex { position: relative; width: 104px; height: 116px; display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; }
.hex-bg { position: absolute; inset: 0; width: 100%; height: 100%; }
.hex-in { position: relative; display: flex; flex-direction: column; align-items: center; line-height: 1.2; }
.hex-s { font-size: 10.5px; font-weight: 700; }
.hex-b { font-family: "M PLUS 1p", sans-serif; font-size: 13px; font-weight: 900; color: #FFD400; margin: 2px 0; }
.hex-b b { font-family: "Roboto", sans-serif; font-size: 26px; font-weight: 900; margin: 0 1px; }
.hex-b-sm { font-size: 17px; }
.hex-stars { font-size: 9px; color: #FFD400; letter-spacing: 1px; }
.hex-note, .num-note { font-size: 11px; color: var(--d-gray); }
.theme-d .num-note { text-align: center; color: rgba(255,255,255,.85); margin-top: 16px; }
@media (min-width: 768px) {
  .fvd .fv-proof-hex { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767px) {
  .fvd .fv-proof-hex { align-items: center; }
  .hex-list { gap: 8px; justify-content: center; }
  .hex { width: 98px; height: 109px; }
}
.theme-d .rank-en { display: block; margin-left: auto; color: #fff; opacity: .9; font-size: 15px; }
@media (max-width: 767px) { .theme-d .rank-en { display: none; } }
.theme-d .maker-logo { font-size: 24px; font-weight: 900; color: var(--d-ink); }
@media (max-width: 767px) { .theme-d .maker-logo { font-size: 19px; } }
.ft-cat-txt { flex-direction: row; justify-content: flex-start; gap: 10px; padding: 14px 14px; text-align: left; }
.ft-cat-ic { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--d-pale); color: var(--d-main); flex: none; }
.ft-cat-ic .ic { width: 20px; height: 20px; }
.ft-cat-txt .ft-cat-t { font-size: 14px; }
@media (max-width: 767px) {
  .ft-cat-txt { flex-direction: column; justify-content: center; text-align: center; gap: 6px; padding: 12px 4px; }
  .ft-cat-txt .ft-cat-t { font-size: 11.5px; }
}
.hd-logo img { height: 36px; width: auto; }
.ft-logo img { height: 34px; width: auto; }
.theme-d .cmp-table thead .cmp-ku img { width: 160px; height: auto; }
@media (max-width: 767px) { .hd-logo img { height: 28px; } .theme-d .cmp-table thead .cmp-ku img { width: 104px; } }
.ft-nav-row { grid-template-columns: 190px minmax(0, 1fr); }
@media (max-width: 767px) { .ft-nav-row { grid-template-columns: minmax(0, 1fr); } }
