:root{--navy:#071c30;--ink:#14283a;--teal:#0d7773;--teal-dark:#075e5b;--pale:#e8f4f1;--ivory:#f7f3ea;--paper:#fffdf8;--muted:#536574;--line:#d8d9d4;--gold:#c9a85c;color-scheme:light;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--ivory);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}a{color:var(--teal-dark)}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,select,summary{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b18629;outline-offset:4px}button{touch-action:manipulation}button:disabled{cursor:default}.shell{width:min(1120px,calc(100% - 64px));margin-inline:auto}.site-header{background:var(--navy);color:white}.header-inner{min-height:88px;display:flex;align-items:center;gap:28px}.brand{color:white;text-decoration:none;display:flex;gap:12px;align-items:center;font-size:23px;font-weight:750;letter-spacing:.3px}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:400;color:#ced8df;margin-top:2px}.brand-mark{width:43px;height:43px;display:grid;place-content:center;border:1px solid #889e9f;border-radius:12px;font-size:28px;font-family:Georgia,serif;position:relative}.brand-mark span{position:absolute;right:3px;top:0;font-family:sans-serif;color:var(--gold);font-size:14px}.header-label{color:#c3d3db;font-size:12px;border-left:1px solid #496174;padding-left:28px}.back{margin-left:auto;color:white;font-size:12px;text-decoration:none;padding:14px 0;white-space:nowrap}.back span{color:var(--gold);margin-left:7px}.intro{padding:42px 0 25px}.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2px;font-weight:700;color:var(--teal-dark)}.eyebrow-line{height:2px;width:23px;background:var(--gold)}.title-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:12px}h1{font-size:clamp(25px,3vw,34px);letter-spacing:.015em;margin:0;line-height:1.5}.prototype{font-size:10px;border:1px solid #c9cabc;border-radius:4px;padding:5px 9px;white-space:nowrap;color:var(--muted)}.lead{font-size:14px;line-height:1.9;margin:10px 0 18px;color:var(--muted)}.mobile-break{display:none}.scope{display:flex;flex-wrap:wrap;gap:3px 5px;align-items:center;font-size:11px;line-height:1.8;color:var(--muted);margin:0}.scope>span{display:inline-grid;place-content:center;border:1px solid #778a8f;width:16px;height:16px;border-radius:50%;font-family:Georgia,serif;margin-right:3px}.scope strong{font-weight:650}.finder{background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:12px;padding:24px 28px 0;box-shadow:0 8px 26px #071c3006;scroll-margin-top:16px}.search-label{font-size:12px;font-weight:700;display:block;margin-bottom:10px}.search-row{display:flex;gap:12px}.search-field{display:flex;align-items:center;position:relative;flex:1;min-width:0;border:1px solid #a4b2b6;border-radius:7px;background:white;padding-left:16px}.search-field svg{color:var(--teal);flex-shrink:0}.search-field input{min-width:0;width:100%;padding:14px 48px 14px 12px;border:0;background:transparent;min-height:54px;font-size:15px;color:var(--ink);border-radius:7px}.search-field input::-webkit-search-cancel-button{display:none}.search-field:focus-within{outline:2px solid var(--teal);outline-offset:1px}.search-field input:focus-visible{outline:0}.clear{position:absolute;right:5px;min-width:44px;min-height:44px;background:transparent;border:0;font-size:25px;color:var(--muted);border-radius:5px}.search-button{background:var(--teal);color:white;border:0;border-radius:7px;padding:0 29px;font-size:14px;font-weight:700;min-height:54px;white-space:nowrap}.search-button:hover{background:var(--teal-dark)}.examples{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:6px 0 11px;font-size:11px}.examples>span{color:var(--muted);margin-right:5px}.examples button{border:0;background:transparent;color:var(--teal-dark);padding:10px 8px;min-height:44px;text-decoration:underline;text-decoration-color:#b0ceca;text-underline-offset:5px}.filter-row{border-top:1px solid #e6e7e0;display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:15px 0}.filter-row label{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700}.filter-row select{background:#fff;border:1px solid var(--line);border-radius:5px;min-height:44px;padding:0 30px 0 12px;color:var(--ink);font-size:12px;max-width:100%}.reset{margin-left:auto;min-height:44px;border:0;background:none;color:var(--muted);font-size:11px;padding:8px 4px;text-decoration:underline;text-underline-offset:4px}.results-section{padding-top:28px}.results-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:15px}.results-heading h2{font-size:17px;line-height:1.6;margin:0}.results-heading h2>span{font-size:13px;font-weight:500;margin-left:8px;color:var(--muted)}.price-note{font-size:11px;color:var(--muted);white-space:nowrap}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.product-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:22px;display:flex;flex-direction:column;scroll-margin-top:20px;min-width:0;position:relative}.card-top{display:flex;gap:8px;align-items:center;margin-bottom:11px}.category-badge{font-size:10px;font-weight:700;background:#edf1f3;color:#445b6b;border-radius:4px;padding:4px 8px}.product-card[data-category=bundle] .category-badge{background:var(--pale);color:var(--teal-dark)}.product-card[data-category=hairstyle] .category-badge{background:#f0edf7;color:#655480}.product-number{font-size:9px;color:#667984;margin-left:auto;letter-spacing:.7px;font-variant-numeric:tabular-nums}.product-card h3{font-size:16px;margin:0;line-height:1.75;overflow-wrap:anywhere;letter-spacing:.01em}.card-summary{font-size:12px;line-height:1.9;color:var(--muted);margin:8px 0 6px}.condition{font-size:10px;color:var(--muted);margin:0 0 12px;line-height:1.7}.condition:before{content:'·';font-weight:bold;margin-right:5px}.related-reason{background:#f6eedc;border-left:3px solid var(--gold);padding:9px 11px;font-size:11px;line-height:1.8;margin:0 0 14px}.price-row{display:flex;align-items:baseline;gap:6px;margin:2px 0 11px}.price-row strong{font-size:28px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.6px}.yen{font-size:15px;font-weight:700}.tax{font-size:10px;color:var(--muted)}.comparison{padding:11px 13px;background:var(--pale);border-radius:6px;margin-bottom:13px;font-size:11px;line-height:1.9;color:var(--teal-dark)}.comparison strong{font-size:13px}.comparison small{display:block;font-size:10px}.contents{border-top:1px solid #e3e5de;padding-top:0;margin-top:1px}.contents summary{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;min-height:44px;color:var(--ink);list-style:none}.contents summary::-webkit-details-marker{display:none}.contents summary:after{content:'＋';color:var(--teal);font-size:15px}.contents[open] summary:after{content:'−'}.contents ul{padding:0 0 5px 18px;margin:1px 0 0;font-size:11px;color:var(--muted);line-height:2}.bundle-links{border-top:1px solid #e3e5de;padding:11px 0 6px;font-size:10px;color:var(--muted);line-height:1.8}.bundle-links button{display:block;border:0;background:none;color:var(--teal-dark);font-size:11px;text-align:left;min-height:44px;padding:7px 0;text-decoration:underline;text-underline-offset:4px;line-height:1.7}.card-bottom{display:flex;align-items:center;gap:10px;border-top:1px solid #e3e5de;padding-top:13px;margin-top:auto}.official-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--navy);color:white;text-decoration:none;min-height:44px;padding:10px 15px;font-size:11px;border-radius:5px}.official-link:hover{background:#12334b}.official-link span[aria-hidden]{color:var(--gold)}.verified{font-size:9px;color:var(--muted);margin-left:auto;white-space:nowrap}.related-section{margin-top:31px}.related-help{font-size:12px;line-height:1.9;color:var(--muted);margin:-6px 0 15px}.empty{text-align:center;padding:40px 20px;background:var(--paper);border:1px dashed #bdc8c6;border-radius:10px}.empty-symbol{font-size:40px;color:var(--teal)}.empty h3{font-size:16px;line-height:1.9}.empty p{font-size:12px;color:var(--muted);line-height:2}.empty>a{font-size:12px;display:inline-flex;align-items:center;min-height:44px;gap:8px}.about{margin-top:30px;border-left:3px solid var(--gold);padding:3px 0 3px 20px}.about h2{font-size:14px;margin:0 0 7px}.about p{font-size:11px;color:var(--muted);line-height:1.9;margin:4px 0}.about .data-date{font-size:10px;margin-top:10px}.footer{border-top:1px solid var(--line);padding:27px 0 33px;margin-top:35px;display:flex;align-items:start;flex-wrap:wrap;gap:16px 30px}.footer-brand{font-size:17px;font-weight:750}.footer p{font-size:10px;line-height:1.9;color:var(--muted);margin:0}.footer small{width:100%;font-size:9px;color:#627580}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;left:15px;top:-60px;padding:10px 20px;background:white;z-index:2}.skip:focus{top:12px}[hidden]{display:none!important}
@media(min-width:1000px){.product-card h3{max-width:440px}.intro{padding-top:46px}}
@media(max-width:700px){.shell{width:calc(100% - 32px)}.header-inner{min-height:72px;gap:10px}.brand{font-size:20px;gap:9px}.brand-mark{width:36px;height:36px;font-size:24px}.brand small{font-size:8px}.header-label{display:none}.back{font-size:10px}.intro{padding:29px 0 21px}.eyebrow{font-size:8px;letter-spacing:1.5px}.title-row{gap:9px;margin-top:11px;align-items:start}.title-row h1{font-size:25px;line-height:1.6}.prototype{padding:3px 7px;font-size:9px}.lead{font-size:12px;line-height:1.9;margin:10px 0 14px}.mobile-break{display:block}.scope{display:block;font-size:10px}.scope>span{margin-right:6px;width:14px;height:14px}.scope strong{display:inline}.finder{padding:19px 16px 0;border-radius:9px}.search-label{font-size:11px;line-height:1.8}.search-row{display:block}.search-field{padding-left:11px}.search-field input{font-size:16px;padding-left:9px;min-height:52px}.search-field input::placeholder{font-size:12px}.search-button{min-height:44px;margin-top:10px;width:100%;font-size:13px}.examples{gap:0 3px;padding:5px 0 8px;font-size:10px}.examples>span{margin-right:0}.examples button{padding:9px 5px;font-size:10px}.filter-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0 9px}.filter-row label{display:block;font-size:10px;min-width:0}.filter-row select{display:block;width:100%;font-size:11px;margin-top:7px;padding:0 22px 0 8px}.reset{grid-column:1/-1;font-size:10px;margin:0 0 0 auto;min-height:44px}.results-section{padding-top:23px}.results-heading{gap:8px;margin-bottom:12px}.results-heading h2{font-size:15px}.results-heading h2>span{font-size:12px;margin-left:5px}.price-note{font-size:9px}.product-grid{grid-template-columns:1fr;gap:14px}.product-card{padding:19px}.product-card h3{font-size:15px;line-height:1.8}.price-row strong{font-size:29px}.card-summary{font-size:11px}.condition{font-size:10px}.official-link{font-size:11px;padding:10px 12px}.verified{font-size:9px}.related-help{font-size:11px}.related-section .results-heading{display:block}.related-section h2{font-size:14px}.about{padding-left:14px}.about h2{font-size:13px}.footer{display:block;padding-top:24px}.footer p{margin:12px 0}.footer small{line-height:1.8;display:block}.empty{padding:26px 14px}.empty h3{font-size:14px}}
.brand,.back{min-height:44px}.back{display:inline-flex;align-items:center}.scope{font-size:12px}.card-summary{font-size:13px}.condition{font-size:12px}.contents summary,.contents ul{font-size:12px}.comparison{font-size:12px}.comparison small{font-size:11px}.official-link{font-size:12px}.bundle-links{font-size:11px}.bundle-links button{font-size:12px}.about p{font-size:12px}.footer p{font-size:11px}
@media(max-width:700px){.scope{font-size:11px;line-height:1.9}.scope strong{display:block}.scope>span{display:none}.search-label{font-size:12px}.examples,.examples button{font-size:11px}.examples>span{width:100%;padding-top:6px}.filter-row label{font-size:11px}.filter-row select{font-size:12px}.card-summary{font-size:13px}.condition{font-size:11px}.related-help{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.product-card.is-added{animation:appear .18s ease-out}@keyframes appear{from{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}}

/* 2026-10-16: one product per row, with aligned price and destination. */
.intro { padding:26px 0 18px; }
.title-row { margin-top:8px; }
h1 { font-size:30px; }
.lead { margin:6px 0 10px; }
.finder { padding:16px 22px 5px; }
#search-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 18px; }
.search-label,.search-row { grid-column:1/-1; }
.search-label { margin-bottom:4px; }
.search-field input,.search-button { min-height:48px; }
.search-field input { padding-block:11px; }
.examples { grid-column:1; padding:2px 0; }
.filter-row { grid-column:2; border:0; gap:12px; padding:2px 0; }
.filter-row label { gap:7px; }
.filter-row select { padding-left:9px; }
.reset { font-size:10px; }
.results-section { padding-top:22px; }
.results-heading { margin-bottom:10px; }
.product-grid { display:flex; flex-direction:column; gap:10px; }
.product-card {
  display:grid;
  grid-template-columns:minmax(0,1fr) 200px 166px;
  align-items:start;
  column-gap:24px;
  padding:14px 20px 10px;
  border-radius:8px;
}
.product-info,.product-pricing { min-width:0; }
.match-note { margin:3px 0 0; color:var(--muted); font-size:12px; line-height:1.7; overflow-wrap:anywhere; }
mark { background:#fff0ad; color:var(--ink); border-bottom:2px solid #b18a27; border-radius:2px; padding:0 .03em; font-weight:700; }
.card-top { gap:8px; margin-bottom:3px; justify-content:start; }
.category-badge { padding:2px 7px; }
.product-number { margin-left:2px; font-size:9px; }
.product-card h3 { max-width:none; font-size:15px; line-height:1.65; }
.card-summary { margin:4px 0 0; font-size:12px; line-height:1.8; }
.card-summary .condition { display:inline; font-size:11px; margin:0 0 0 8px; }
.condition:before { content:none; }
.contents { margin:0; padding:0; border:0; }
.contents summary { display:inline-flex; justify-content:start; gap:8px; font-size:11px; min-height:44px; color:var(--teal-dark); }
.contents summary:after { font-size:13px; margin-left:5px; }
.contents summary span { color:var(--muted); font-weight:400; }
.contents-body { border-top:1px solid #e3e5de; padding:9px 0 6px; }
.contents ul { font-size:12px; margin:0; }
.comparison-detail { font-size:11px; line-height:1.9; color:var(--muted); margin:7px 0; }
.bundle-links { padding:8px 0 0; margin-top:7px; font-size:11px; }
.bundle-links button { min-height:44px; padding:6px 0; }
.product-pricing { border-left:1px solid #e3e5de; padding-left:22px; padding-top:16px; align-self:stretch; }
.price-row { gap:4px; margin:0; flex-wrap:wrap; }
.price-row strong { font-size:26px; line-height:1.3; }
.tax { font-size:9px; }
.comparison { font-size:11px; padding:5px 8px; margin:7px 0 0; line-height:1.8; }
.comparison strong { font-size:12px; }
.comparison>span { display:block; white-space:nowrap; }
.card-bottom { display:flex; flex-direction:column; align-self:start; align-items:stretch; gap:7px; margin:0; padding:16px 0 0; border:0; }
.official-link { min-height:44px; padding:10px 10px; font-size:12px; gap:8px; }
.verified { margin:0; text-align:center; font-size:10px; }
.related-reason { margin:5px 0 0; padding:5px 8px; font-size:11px; line-height:1.6; }
.about { margin-top:24px; }
.price-notice { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px 26px; margin:18px 0 15px; padding:24px 28px; border-left:6px solid var(--gold); border-radius:9px; background:var(--navy); color:white; }
.price-notice-copy { min-width:0; }
.price-notice h2 { margin:0; font-size:32px; font-weight:800; line-height:1.5; letter-spacing:.01em; }
.price-notice h2 span { display:inline-block; }
.price-notice p { margin:7px 0 0; font-size:14px; line-height:1.9; color:#edf3f5; overflow-wrap:anywhere; }
.price-notice>a { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:white; font-size:13px; font-weight:700; line-height:1.8; text-decoration:underline; text-underline-offset:5px; white-space:nowrap; }
.price-notice>a>span[aria-hidden] { color:var(--gold); }
@media(max-width:850px) { .price-notice { grid-template-columns:minmax(0,1fr); gap:7px; } }
@media(max-width:700px) { .price-notice { margin:15px 0 13px; padding:17px 17px 12px; border-left-width:5px; } .price-notice h2 { font-size:24px; line-height:1.5; } .price-notice p { font-size:13px; line-height:1.9; margin-top:9px; } .price-notice>a { font-size:12px; } }
.sort-help { grid-column:1/-1; margin:2px 0 8px; font-size:11px; line-height:1.8; color:var(--muted); }
.scope .coverage-note { display:inline; border:0; width:auto; height:auto; border-radius:0; font-family:inherit; margin:0; }
.contents-caution { font-size:10px; line-height:1.9; color:var(--muted); margin:8px 0 0; }
.availability-note { font-size:11px; line-height:1.8; border-left:3px solid var(--gold); padding-left:8px; margin:6px 0; }
.price-unknown { font-size:14px; font-weight:700; line-height:2; color:var(--muted); }
.pagination { display:flex; flex-direction:column; align-items:center; gap:7px; margin-top:20px; }
.pagination p { font-size:12px; color:var(--muted); margin:0; }
.pagination button { min-height:44px; min-width:200px; padding:10px 24px; border:1px solid var(--teal); border-radius:6px; background:var(--paper); color:var(--teal-dark); font-weight:700; font-size:12px; }
.category-badge { max-width:calc(100% - 70px); overflow-wrap:anywhere; }
@media (min-width:701px) and (max-width:1050px) {
  #search-form { grid-template-columns:minmax(0,1fr); }
  .examples,.filter-row { grid-column:1/-1; }
  .filter-row { border-top:1px solid #e6e7e0; }
  .product-card { grid-template-columns:minmax(0,1fr) 168px 150px; column-gap:16px; padding-inline:16px; }
  .product-pricing { padding-left:15px; }
  .tax { display:block; width:100%; }
}
@media (max-width:700px) {
  .intro { padding:22px 0 17px; }
  h1 { font-size:25px; }
  .lead { margin:7px 0 10px; }
  .finder { padding:15px 15px 1px; }
  #search-form { grid-template-columns:minmax(0,1fr); gap:0; }
  .search-label,.search-row,.examples,.filter-row { grid-column:1; }
  .search-label { margin-bottom:8px; }
  .search-button { min-height:44px; margin-top:8px; }
  .search-field input { min-height:48px; }
  .examples { gap:0 4px; padding:3px 0; }
  .examples>span { display:none; }
  .filter-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border-top:1px solid #e6e7e0; padding:11px 0 3px; gap:5px 10px; }
  .filter-row label { display:block; }
  .filter-row select { padding-left:8px; }
  .reset { min-height:44px; grid-column:1/-1; }
  .results-section { padding-top:20px; }
  .product-card { display:flex; flex-direction:column; gap:11px; padding:15px; }
  .product-info,.product-pricing,.card-bottom { width:100%; }
  .product-card h3 { font-size:15px; }
  .card-summary { font-size:13px; }
  .card-summary .condition { display:block; margin:3px 0 0; font-size:11px; }
  .contents summary { font-size:12px; }
  .product-pricing { align-self:auto; padding:9px 0 0; border-left:0; border-top:1px solid #e3e5de; }
  .price-row strong { font-size:27px; }
  .tax { font-size:10px; }
  .comparison { display:flex; flex-wrap:wrap; align-items:baseline; gap:3px 5px; padding:7px 9px; font-size:11px; }
  .comparison>span { display:inline; }
  .card-bottom { flex-direction:row; align-items:center; justify-content:space-between; gap:7px; padding-top:1px; }
  .official-link { font-size:11px; padding-inline:10px; white-space:nowrap; }
  .verified { text-align:right; font-size:9px; white-space:normal; }
}

/* 2026-10-16 (Claude Code review): readable minimum sizes, set/hair chips, related view and phrase-aware line breaks. */
.lead,.scope,.price-notice p,.sort-help,.about p,.footer p,.empty p,.comparison-detail,.contents-caution,.card-summary,.relation-banner p,.availability-note { word-break:auto-phrase; overflow-wrap:anywhere; }
.card-top { flex-wrap:wrap; row-gap:4px; }
.category-badge { font-size:11px; }
.product-number,.verified,.tax,.price-note,.footer small { font-size:11px; }
.reset { font-size:12px; }
.contents summary,.contents-caution,.about .data-date { font-size:12px; }
.chip { font-size:11px; font-weight:700; line-height:1.6; border-radius:4px; padding:1px 7px; white-space:nowrap; }
.chip-hair { background:#efeaf7; color:#55447a; }
.chip-set { background:#f6eedc; color:#6e5210; }
.link-tail { white-space:nowrap; }
.relation-banner { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; margin:0 0 12px; padding:10px 14px; border:1px solid #b9d9d3; border-left:4px solid var(--teal); border-radius:8px; background:var(--pale); }
.relation-banner p { margin:0; font-size:13px; line-height:1.8; color:var(--ink); min-width:0; }
.relation-banner button { min-height:44px; padding:8px 18px; border:1px solid var(--teal); border-radius:6px; background:var(--paper); color:var(--teal-dark); font-size:13px; font-weight:700; }
.empty-characters-note { max-width:620px; margin-inline:auto; }
.empty-characters-note span { color:var(--ink); }
.empty-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:6px 10px; margin:4px 0 6px; }
.empty-actions button { min-height:44px; padding:8px 14px; border:1px solid #b9d0cc; border-radius:6px; background:white; color:var(--teal-dark); font-size:13px; }
.results-heading { scroll-margin-top:12px; }
.card-summary .condition.alone { margin-left:0; }
@media(max-width:700px) {
  .lead { font-size:13px; }
  .scope,.examples,.examples button,.filter-row label { font-size:12px; }
  .reset { font-size:12px; }
  .price-note,.verified,.tax { font-size:11px; }
  .relation-banner { padding:10px 12px; }
  .relation-banner button { width:100%; }
}
