.tg-app{--bg:#f2f0eb;--paper:#fbfaf7;--card:#fff;--ink:#16191d;--muted:#6f747b;--line:#deddd8;--blue:#2457e6;--dark:#173aa4;--lime:#c7f05b;--soft:#eef2ff;color:var(--ink);max-width:920px;margin:auto}
.tg-kicker{font-size:12px;font-weight:850;letter-spacing:.12em;color:var(--blue)}.tg-intro h2{font-size:clamp(26px,4vw,40px);margin:.25em 0}.tg-intro p{color:var(--muted);line-height:1.8}
.tg-progress{height:6px;background:#e2e0db;border-radius:999px;overflow:hidden;margin:18px 0 8px}.tg-progress i{display:block;height:100%;background:var(--blue);transition:.2s}.tg-stepno{text-align:right;color:var(--muted);font-size:12px;margin-bottom:8px}
.tg-card,.tg-detail{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px}.tg-step{display:none}.tg-step.is-active{display:block}.tg-step h3,.tg-detail h3{font-size:22px;margin:0 0 14px}
.tg-app select,.tg-app input[type=number]{width:100%;box-sizing:border-box;padding:13px;border:1px solid #d3d1cc;border-radius:12px;background:#fff;font-size:16px}
.tg-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tg-chips button{border:1px solid #d7d5d0;border-radius:14px;padding:14px;background:#fff;text-align:left;cursor:pointer;font-weight:750}.tg-chips button.is-selected{border:2px solid var(--blue);background:var(--soft);padding:13px}
.tg-actions{display:flex;gap:10px;margin-top:20px}.tg-primary,.tg-secondary{border:0;border-radius:13px;padding:14px 18px;font-weight:800;cursor:pointer}.tg-primary{background:var(--ink);color:#fff;flex:1}.tg-secondary{background:#eceae5;color:#333}.tg-primary:hover{background:var(--blue)}
.tg-results{margin-top:18px}.tg-judgment{background:var(--ink);color:#fff;border-radius:20px;padding:20px}.tg-judgment b{color:var(--lime)}.tg-topgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.tg-pick{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px}.tg-pick h4{margin:4px 0 10px;font-size:17px}.tg-score{font-size:34px;font-weight:900;color:var(--blue)}.tg-metric{border-top:1px solid #eee;padding:7px 0;font-size:12px;display:flex;justify-content:space-between;gap:8px}.tg-badge{display:inline-block;background:var(--soft);border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}
.tg-detail{margin-top:16px}.tg-detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tg-detail label{font-size:12px;color:var(--muted)}.tg-check{display:block;margin:14px 0;color:var(--ink)!important}.tg-note{font-size:11px;line-height:1.7;background:#fff4d3;padding:12px;border-radius:12px}
@media(max-width:700px){.tg-card,.tg-detail{padding:18px}.tg-topgrid,.tg-chips,.tg-detailgrid{grid-template-columns:1fr}.tg-actions{flex-direction:column}}

.tg-score small{font-size:12px;color:var(--muted);margin-left:3px;font-weight:750}.tg-judgment span{font-size:13px}.tg-judgment p{margin:10px 0 0;color:#d9dde2;font-size:12px;line-height:1.7}.tg-metric.tg-warn b{color:#9a5700}.tg-metric b em{display:block;font-style:normal;font-size:10px;margin-top:2px}.tg-price-date{font-size:10px;color:var(--muted);margin-top:8px}.tg-fit-disclaimer{font-size:10px;line-height:1.6;color:#745b12;background:#fff4d3;border-radius:8px;padding:7px 8px;margin:8px 0 0}.tg-excluded{margin-top:14px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px}.tg-excluded h4{margin:0 0 10px;font-size:15px}.tg-excluded ul{margin:0;padding:0;list-style:none}.tg-excluded li{padding:9px 0;border-top:1px solid #eee;display:grid;grid-template-columns:minmax(150px,.6fr) 1.4fr;gap:10px}.tg-excluded li:first-child{border-top:0}.tg-excluded li strong{font-size:12px}.tg-excluded li span{font-size:11px;line-height:1.6;color:#555}.tg-excluded p{font-size:10px;color:var(--muted);line-height:1.6;margin:8px 0 0}.tg-safetygrid{margin-top:10px}.tg-primary:disabled{opacity:.55;cursor:wait}
@media(max-width:700px){.tg-excluded li{grid-template-columns:1fr;gap:3px}.tg-score{font-size:30px}}

.tg-fit-action{margin:-2px 0 8px;padding:7px 9px;border-radius:8px;background:#fff7d6;color:#5f4a00;font-size:12px;line-height:1.45}.tg-fit-action:before{content:'要確認: ';font-weight:700}

/* v0.6 monetization + server rendered SEO content */
.tg-buylinks{margin-top:14px;padding-top:12px;border-top:1px solid var(--tg-line,#deddd8)}
.tg-ad-disclosure{font-size:12px;line-height:1.6;margin:0 0 8px;color:#60646b}.tg-ad-disclosure strong{color:#16191d}
.tg-buygrid{display:flex;gap:8px;flex-wrap:wrap}.tg-buybtn,.tg-buybtn a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border-radius:9px;background:#16191d;color:#fff!important;text-decoration:none!important;font-weight:700;font-size:13px}.tg-buybtn-rakuten{padding:0;background:transparent}.tg-buybtn-rakuten a{background:#16191d}.tg-buylinks-empty{font-size:12px;color:#6f747b}.tg-buylinks-empty p{margin:0}
.tg-page-lead{font-size:1.08em;line-height:1.9}.tg-factgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0}.tg-factgrid>div{border:1px solid #deddd8;border-radius:12px;padding:14px;background:#fbfaf7}.tg-factgrid span{display:block;font-size:12px;color:#6f747b}.tg-factgrid strong{display:block;margin-top:5px}.tg-inline-cta{display:inline-flex;background:#16191d;color:#fff!important;text-decoration:none!important;padding:12px 18px;border-radius:999px;font-weight:700}.tg-source-list small{color:#6f747b}.tg-ranklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tg-ranklist article{border:1px solid #deddd8;border-radius:12px;padding:16px}.tg-compare-table{overflow-x:auto}.tg-compare-table table{width:100%;border-collapse:collapse}.tg-compare-table th,.tg-compare-table td{border-bottom:1px solid #deddd8;padding:12px;text-align:left}
@media(max-width:760px){.tg-factgrid,.tg-ranklist{grid-template-columns:1fr}.tg-buygrid{display:grid;grid-template-columns:1fr}.tg-buybtn,.tg-buybtn a{width:100%}}
.tg-amazon-disclosure{max-width:1200px;margin:12px auto;padding:0 18px 18px;font-size:11px;line-height:1.6;color:#6f747b}


/* v1.1.4 — launch SEO page presentation. The generated HTML already used these
   classes, but v1.1.3 only enqueued this stylesheet when the diagnosis shortcode
   was rendered. These rules intentionally stay inside the Core plugin so one
   plugin update fixes model / replace / compare / hub presentation without a
   second theme upload. */
.tg-page .tg-content{font-size:15px;line-height:1.95;color:#272b31}
.tg-page .tg-content>p{max-width:820px}
.tg-page .tg-page-lead{max-width:860px;margin:0 0 30px;padding:18px 20px;border-left:4px solid var(--tg-blue,#2457e6);background:#f4f6ff;border-radius:0 14px 14px 0;color:#343941}
.tg-page .tg-content h2{font-size:clamp(22px,3vw,30px);line-height:1.35;letter-spacing:-.02em;margin:52px 0 16px;padding-top:4px}
.tg-page .tg-content h2:before{content:"";display:block;width:34px;height:4px;border-radius:999px;background:var(--tg-blue,#2457e6);margin-bottom:12px}
.tg-page .tg-content h3{font-size:18px;line-height:1.45;margin:28px 0 10px}
.tg-page .tg-content p{margin:0 0 18px}
.tg-page .tg-content strong{font-weight:800}
.tg-page .tg-content ul:not(.tg-source-list):not(.tg-related-links){padding-left:1.2em}
.tg-page .tg-content li{margin:.45em 0}

.tg-factgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0 34px}
.tg-factgrid>div{background:#fff;border:1px solid #deddd8;border-radius:16px;padding:17px 18px;box-shadow:0 8px 24px rgba(24,30,42,.035)}
.tg-factgrid span{font-size:11px;font-weight:700;letter-spacing:.03em;color:#72777f}
.tg-factgrid strong{font-size:17px;line-height:1.45;margin-top:7px}

.tg-ranklist{gap:14px;margin:22px 0 34px}
.tg-ranklist article{position:relative;background:#fff;border:1px solid #deddd8;border-radius:18px;padding:20px 18px 18px;box-shadow:0 8px 24px rgba(24,30,42,.035)}
.tg-ranklist article>span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:26px;padding:0 9px;border-radius:999px;background:#eef2ff;color:#2457e6;font-size:11px;font-weight:900}
.tg-ranklist h3{margin:12px 0 9px!important;font-size:17px!important}
.tg-ranklist p{font-size:13px;color:#626871;margin:0!important}
.tg-ranklist a{text-decoration:none!important}
.tg-ranklist a:hover{color:#2457e6}

.tg-compare-table{margin:24px 0 36px;border:1px solid #deddd8;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(24,30,42,.035)}
.tg-compare-table table{min-width:620px}
.tg-compare-table th,.tg-compare-table td{padding:15px 16px;border-bottom:1px solid #ecebe7;vertical-align:middle}
.tg-compare-table thead th{background:#f4f6ff;color:#20242a;font-size:13px;font-weight:900}
.tg-compare-table thead th:first-child{border-radius:17px 0 0 0}
.tg-compare-table thead th:last-child{border-radius:0 17px 0 0}
.tg-compare-table tbody th{width:30%;font-size:12px;color:#666c74;background:#fbfaf7}
.tg-compare-table tbody td{font-weight:750}
.tg-compare-table tr:last-child th,.tg-compare-table tr:last-child td{border-bottom:0}

.tg-related-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;list-style:none;padding:0!important;margin:18px 0 30px!important}
.tg-related-links li{margin:0!important}
.tg-related-links a{display:flex;height:100%;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid #deddd8;border-radius:13px;background:#fff;text-decoration:none!important;font-weight:750;line-height:1.5}
.tg-related-links a:after{content:"→";color:#2457e6;font-weight:900}
.tg-related-links a:hover{border-color:#aebcf0;background:#f8f9ff}

.tg-source-list{list-style:none;padding:0!important;margin:14px 0 0!important;border-top:1px solid #e5e3de}
.tg-source-list li{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:11px 0;margin:0!important;border-bottom:1px solid #eeeDE9;font-size:12px}
.tg-source-list a{font-weight:700}
.tg-source-list small{white-space:nowrap;color:#7a7f86}

.tg-inline-cta{margin-top:4px;min-height:46px;padding:12px 20px!important;border-radius:999px!important;background:#16191d!important;box-shadow:0 8px 24px rgba(22,25,29,.12);transition:transform .15s ease,background .15s ease}
.tg-inline-cta:after{content:" →";margin-left:4px}
.tg-inline-cta:hover{background:#2457e6!important;transform:translateY(-1px)}

.tg-buylinks{margin:14px 0 26px;padding:17px;border:1px solid #deddd8;border-radius:16px;background:#fff}
.tg-buylinks-empty{padding:14px 16px;border:1px dashed #d4d1ca;border-radius:13px;background:#fbfaf7}

/* Category hub: make navigational lists scan like a real product hub instead of a plain article list. */
.page-slug-drum-washer .tg-page,.page-id-0 .tg-page{overflow:hidden}
body.page .tg-content .tg-related-links + h2{margin-top:46px}

@media(max-width:760px){
  .tg-page .tg-content{font-size:14px;line-height:1.9}
  .tg-page .tg-page-lead{padding:15px 16px;margin-bottom:24px}
  .tg-factgrid,.tg-ranklist,.tg-related-links{grid-template-columns:1fr}
  .tg-source-list li{display:block}.tg-source-list small{display:block;margin-top:3px;white-space:normal}
  .tg-compare-table{margin-left:-6px;margin-right:-6px}
}

/* v1.1.5 — contact form live-QA fix. Contact form is not wrapped in .tg-app,
   so generic .tg-primary CSS variables were undefined and produced a nearly
   invisible white-on-transparent submit button. Keep this selector explicit. */
.tg-contact-form{max-width:760px;margin:28px 0 22px}
.tg-contact-form p{margin:0 0 20px}
.tg-contact-form label{display:block;font-weight:650;line-height:1.7}
.tg-contact-form input[type="text"],
.tg-contact-form input[type="email"],
.tg-contact-form textarea{display:block;width:100%;max-width:620px;box-sizing:border-box;margin-top:7px;padding:12px 13px;border:1px solid #c9c7c1;border-radius:10px;background:#fff;color:#16191d;font:inherit}
.tg-contact-form textarea{min-height:180px;resize:vertical}
.tg-contact-form input:focus,.tg-contact-form textarea:focus{outline:3px solid rgba(36,87,230,.15);border-color:#2457e6}
.tg-contact-form .tg-contact-submit{display:inline-flex!important;align-items:center;justify-content:center;min-width:180px;min-height:48px;margin-top:6px;padding:13px 22px!important;border:0!important;border-radius:999px!important;background:#16191d!important;color:#fff!important;font-weight:850!important;opacity:1!important;visibility:visible!important;cursor:pointer!important;box-shadow:0 8px 22px rgba(22,25,29,.13)}
.tg-contact-form .tg-contact-submit:hover,.tg-contact-form .tg-contact-submit:focus{background:#2457e6!important;color:#fff!important}
.tg-contact-form .tg-contact-submit:disabled{background:#a8abb0!important;color:#fff!important;opacity:.75!important;cursor:not-allowed!important}
.tg-contact-success,.tg-contact-error{max-width:760px;margin:0 0 24px;padding:16px 18px;border-radius:14px;line-height:1.7}
.tg-contact-success{background:#eef9ee;border:1px solid #b9dfbb;color:#173d1c}
.tg-contact-error{background:#fff3f1;border:1px solid #efc3bd;color:#6e241c}
.tg-contact-success p,.tg-contact-error p{margin:0}.tg-contact-success p+p,.tg-contact-error p+p{margin-top:6px}
@media(max-width:760px){.tg-contact-form .tg-contact-submit{width:100%}.tg-contact-form input[type="text"],.tg-contact-form input[type="email"],.tg-contact-form textarea{max-width:none}}
