/* サイト共通（2026-10 版）。lib/layout2026.php が <style> に埋め込む */
:root{--ink:#1f2937;--sub:#475569;--bg:#f7f8fa;--line:#e2e8f0;--line2:#cbd5e1;--pink:#d81b60;--pink-d:#ad1457;--pink-w:#fce7ef;--link:#1d4ed8;--r:12px;--r2:8px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
body.ip{margin:0;background:#fff;color:var(--ink);font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI","Meiryo",sans-serif;font-size:16px;line-height:1.75;font-feature-settings:"palt" 1;letter-spacing:.01em}
.ip img{max-width:100%;height:auto;border:0}
.ip a{color:var(--link)}
.ip h1,.ip h2,.ip h3,.ip p,.ip ul,.ip ol{margin:0;padding:0}
.ip ul,.ip ol{list-style:none}
.ip-ico{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ip-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ip-skip{position:absolute;left:8px;top:-60px;z-index:100;background:var(--ink);color:#fff!important;padding:8px 16px;border-radius:var(--r2)}
.ip-skip:focus{top:8px}
.ip :focus-visible{outline:3px solid var(--link);outline-offset:2px;border-radius:4px}
.ip-wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.ip-wrap--narrow{max-width:864px}

/* 広告表記の帯 */
.ip-pr{background:var(--bg);border-bottom:1px solid var(--line);color:var(--sub);font-size:14px;line-height:1.5;text-align:center;padding:8px 16px}
.ip-pr a{margin-left:.5em;white-space:nowrap}

/* ヘッダー */
.ip-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.4) blur(8px)}
.ip-header__in{display:flex;align-items:center;gap:16px;height:68px}
.ip-logo{display:block;flex:none;line-height:0}
.ip-logo img{width:180px;height:auto}
.ip-nav{display:flex;margin-left:auto;gap:4px}
.ip-nav a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--r2);color:var(--ink);font-size:15px;font-weight:600;text-decoration:none}
.ip-nav a:hover{background:var(--bg);color:var(--pink-d)}
.ip-head-search,.ip-menu-btn{display:none}

/* ヒーロー */
.ip-hero{background:linear-gradient(180deg,#fff 0%,#fdf4f7 100%);border-bottom:1px solid var(--line)}
.ip-hero__in{max-width:864px;padding-top:56px;padding-bottom:40px;text-align:center}
.ip-hero__title{font-size:36px;line-height:1.4;font-weight:700;letter-spacing:.02em;word-break:keep-all;overflow-wrap:anywhere}
.ip-hero__lead{margin-top:16px;color:var(--sub);font-size:16px;line-height:1.8}
.ip-search{display:flex;margin:32px auto 0;max-width:760px;background:#fff;border:1.5px solid var(--line2);border-radius:12px;padding:6px;box-shadow:0 6px 20px rgba(31,41,55,.06)}
.ip-search:focus-within{border-color:var(--pink)}
.ip-search label{display:block}
.ip-search__type{flex:none;border-right:1px solid var(--line)}
.ip-search select,.ip-search input{font:inherit;color:var(--ink);background:transparent;border:0;height:52px;outline:none}
.ip-search select{padding:0 32px 0 14px;font-size:15px;font-weight:600;appearance:none;-webkit-appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23475569' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 12px center;cursor:pointer}
.ip-search__q{flex:1;min-width:0}
.ip-search input{width:100%;padding:0 16px;font-size:16px}
.ip-search input::placeholder{color:#64748b}
.ip-search button{display:flex;align-items:center;gap:8px;flex:none;height:52px;padding:0 28px;border:0;border-radius:8px;background:var(--pink);color:#fff;font:inherit;font-weight:700;font-size:16px;cursor:pointer}
.ip-search button:hover{background:var(--pink-d)}
.ip-chips{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:20px}
.ip-chips__label{color:var(--sub);font-size:14px;font-weight:600;margin-right:4px}
.ip-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1px solid var(--line2);border-radius:999px;background:#fff;color:var(--ink)!important;font-size:14px;font-weight:600;text-decoration:none}
.ip-chip:hover{border-color:var(--pink);color:var(--pink-d)!important}
.ip-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 24px;margin-top:20px!important;color:var(--sub);font-size:14px}
.ip-facts b{color:var(--ink)}
.ip-jump{border-top:1px solid var(--line);background:#fff}
.ip-jump__in{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.ip-jump a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;color:var(--ink);font-weight:600;font-size:15px;text-decoration:none}
.ip-jump a+a{border-left:1px solid var(--line)}
.ip-jump a .ip-ico{color:var(--pink)}
.ip-jump a:hover{background:var(--bg)}

/* セクション共通 */
.ip-sec{padding:64px 0}
.ip-sec--alt{background:var(--bg)}
.ip-sec--tight{padding-top:0}
.ip-sec__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px}
.ip-sec__head h2{font-size:26px;line-height:1.45;font-weight:700}
.ip-sec__head h2::before{content:"";display:block;width:32px;height:4px;border-radius:2px;background:var(--pink);margin-bottom:12px}
.ip-sec__sub{margin-top:6px;color:var(--sub);font-size:15px;line-height:1.7}
.ip-more{display:inline-flex;align-items:center;gap:4px;flex:none;min-height:44px;font-size:15px;font-weight:600;text-decoration:none}
.ip-more:hover{text-decoration:underline}
.ip-center{text-align:center;margin-top:32px!important}
.ip-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 28px;border:1.5px solid var(--ink);border-radius:var(--r2);background:#fff;color:var(--ink)!important;font-weight:700;font-size:15px;text-decoration:none}
.ip-btn:hover{background:var(--ink);color:#fff!important}

/* カテゴリ */
.ip-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ip-cat{display:flex;align-items:center;gap:14px;height:100%;padding:20px;background:#fff;border:1px solid var(--line);border-radius:var(--r);color:var(--ink)!important;text-decoration:none;transition:border-color .15s,transform .15s}
.ip-cat:hover{border-color:var(--pink);transform:translateY(-2px)}
.ip-cat__icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:12px;background:var(--pink-w);color:var(--pink-d)}
.ip-cat__body{display:flex;flex-direction:column;min-width:0}
.ip-cat__name{font-size:17px;font-weight:700;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}
.ip-cat__count{color:var(--sub);font-size:14px;font-weight:600;line-height:1.5}
.ip-subs{margin-top:32px;padding:24px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}
.ip-subs__title{font-size:16px;font-weight:700;margin-bottom:12px!important}
.ip-subs ul{display:grid;grid-template-columns:repeat(4,1fr);gap:0 24px}
.ip-subs a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600;font-size:15px;text-decoration:none}
.ip-subs a:hover{color:var(--pink-d)}
.ip-subs small{color:var(--sub);font-size:13px;font-weight:600}

/* 商品の種類 */
.ip-types{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ip-types a{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:4px 12px;height:100%;padding:18px 20px;background:#fff;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none;transition:border-color .15s}
.ip-types a:hover{border-color:var(--pink)}
.ip-types__icon{grid-row:1/3;color:var(--pink-d);padding-top:2px}
.ip-types__body b{display:block;font-size:16px;line-height:1.5}
.ip-types__body span{display:block;margin-top:4px;color:var(--sub);font-size:14px;line-height:1.6}
.ip-types__count{grid-column:2;color:var(--sub);font-size:14px;font-weight:600}

/* タブ */
.ip-tabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:24px;background:#fff;border:1px solid var(--line);border-radius:10px}
.ip-tabs button{min-width:96px;min-height:44px;padding:0 20px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-weight:700;font-size:15px;cursor:pointer}
.ip-tabs button[aria-selected=true]{background:var(--pink);color:#fff}
.ip-tabs button:not([aria-selected=true]):hover{background:var(--bg)}

/* 商品カード */
.ip-item{position:relative;display:flex;flex-direction:column;height:100%;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);color:var(--ink)!important;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.ip-item:hover{border-color:var(--line2);box-shadow:0 8px 24px rgba(31,41,55,.08)}
.ip-item:hover .ip-item__name{color:var(--pink-d)}
.ip-thumb{display:grid;place-items:center;aspect-ratio:1/1;width:100%;background:var(--bg);border-radius:var(--r2);overflow:hidden}
.ip-thumb img{width:100%;height:100%;object-fit:contain}
.ip-noimg{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--sub);font-size:14px}
.ip-noimg svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;width:32px;height:32px}
.ip-item__body{display:flex;flex-direction:column;gap:4px;flex:1;margin-top:12px;min-width:0}
.ip-item__name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:16px;font-weight:700;line-height:1.5}
.ip-meta{color:var(--sub);font-size:14px;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ip-price{font-size:20px;font-weight:700;line-height:1.4;color:var(--ink);font-feature-settings:"tnum" 1}
.ip-price__yen{font-size:14px;margin-left:1px}
.ip-price__free{font-size:16px}
.ip-item__foot{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:auto;padding-top:4px}
.ip-item__foot time{color:var(--sub);font-size:13px;white-space:nowrap}
.ip-tag{align-self:flex-start;padding:2px 8px;border-radius:4px;background:var(--pink-w);color:var(--pink-d);font-size:12px;font-weight:700;line-height:1.6}
.ip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ip-grid .ip-thumb{aspect-ratio:auto;height:184px}
.ip-rank{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:none}
.ip-item__no{position:absolute;top:8px;left:8px;z-index:1;display:grid;place-items:center;min-width:32px;height:32px;padding:0 6px;border-radius:8px;background:var(--ink);color:#fff;font-size:16px;font-weight:700;line-height:1}
.ip-item--rank .ip-price{margin-top:auto;padding-top:4px}

/* チェックポイント */
.ip-checks{counter-reset:ck;display:grid;gap:12px}
.ip-checks li{position:relative;padding:20px 24px 20px 72px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.ip-checks li::before{counter-increment:ck;content:counter(ck);position:absolute;left:24px;top:20px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--pink-w);color:var(--pink-d);font-weight:700}
.ip-checks h3{font-size:17px;line-height:1.5;font-weight:700}
.ip-checks p{margin-top:6px!important;color:var(--sub);font-size:15px;line-height:1.75}

/* よくある質問 */
.ip-faq{border-top:1px solid var(--line)}
.ip-faq details{border-bottom:1px solid var(--line)}
.ip-faq summary{position:relative;display:block;padding:20px 48px 20px 0;font-size:17px;font-weight:700;line-height:1.5;cursor:pointer;list-style:none}
.ip-faq summary::-webkit-details-marker{display:none}
.ip-faq summary::before{content:"Q";margin-right:12px;color:var(--pink)}
.ip-faq summary::after{content:"";position:absolute;right:12px;top:50%;width:10px;height:10px;margin-top:-7px;border-right:2px solid var(--sub);border-bottom:2px solid var(--sub);transform:rotate(45deg);transition:transform .2s}
.ip-faq details[open] summary::after{transform:rotate(225deg);margin-top:-2px}
.ip-faq details>div{padding:0 0 20px 28px;color:var(--ink);font-size:15px}

/* 掲載情報について */
.ip-about p+p{margin-top:12px}
.ip-about{font-size:15px}
.ip-about__links{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:16px!important}
.ip-about__links a{display:inline-flex;min-height:44px;align-items:center}
.ip-back{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.ip-back p{width:100%;font-weight:700;margin-bottom:4px}
.ip-back a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border:1px solid var(--line2);border-radius:var(--r2);background:#fff;color:var(--ink);font-size:15px;font-weight:600;text-decoration:none}
.ip-back a:hover{border-color:var(--pink);color:var(--pink-d)}
.ip-back a .ip-ico{color:var(--pink)}
.ip-ad{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:40px}
.ip-ad__label{font-size:12px;font-weight:700;color:var(--sub);border:1px solid var(--line2);border-radius:4px;padding:0 6px}

/* フッター */
.ip-footer{background:var(--ink);color:#e2e8f0;padding:48px 0 24px;font-size:14px}
.ip-footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.ip-footer h2{color:#fff;font-size:15px;font-weight:700;margin-bottom:8px}
.ip-footer a{color:#e2e8f0;text-decoration:none}
.ip-footer a:hover{color:#fff;text-decoration:underline}
.ip-footer li a{display:inline-flex;align-items:center;min-height:36px}
.ip-copy{margin-top:32px!important;padding-top:20px;border-top:1px solid #374151;color:#cbd5e1;font-size:13px;text-align:center}
.ip-totop{position:fixed;right:16px;bottom:16px;z-index:40;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.18);opacity:0;visibility:hidden;transition:opacity .2s}
.ip-totop.is-show{opacity:1;visibility:visible}
.ip-totop svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* タブレット */
@media (max-width:1023px){
  .ip-wrap{padding:0 24px}
  .ip-cats,.ip-types{grid-template-columns:repeat(2,1fr)}
  .ip-subs ul{grid-template-columns:repeat(3,1fr)}
  .ip-grid{grid-template-columns:repeat(2,1fr);gap:16px}
  .ip-rank{grid-template-columns:1fr;gap:12px}
  .ip-item--rank{flex-direction:row;align-items:center;gap:16px;padding:12px 16px}
  .ip-item--rank .ip-item__no{position:static;flex:none}
  .ip-item--rank .ip-thumb{width:80px;flex:none}
  .ip-item--rank .ip-item__body{margin-top:0}
  .ip-footer__cols{grid-template-columns:repeat(2,1fr)}
  .ip-nav a{padding:0 10px;font-size:14px}
}
@media (max-width:899px){
  .ip-head-search,.ip-menu-btn{display:grid;place-items:center;width:44px;height:44px;border:0;background:transparent;color:var(--ink);border-radius:var(--r2);cursor:pointer}
  .ip-head-search{margin-left:auto}
  .ip-menu-btn{position:relative}
  .ip-menu-btn span{position:absolute;left:12px;width:20px;height:2px;background:var(--ink);border-radius:1px;transition:transform .2s,opacity .2s}
  .ip-menu-btn span:nth-child(1){top:15px}.ip-menu-btn span:nth-child(2){top:21px}.ip-menu-btn span:nth-child(3){top:27px}
  .ip-menu-btn[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .ip-menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}
  .ip-menu-btn[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .ip-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;padding:8px 16px 16px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(31,41,55,.1)}
  .ip-nav.is-open{display:flex}
  .ip-nav a{min-height:52px;padding:0 8px;border-bottom:1px solid var(--line);font-size:16px;border-radius:0}
}
/* スマホ */
@media (max-width:639px){
  html{scroll-padding-top:64px}
  .ip-wrap{padding:0 16px}
  .ip-pr{font-size:13px;padding:6px 12px}
  .ip-header__in{height:58px;gap:4px}
  .ip-logo img{width:150px}
  .ip-hero__in{padding-top:28px;padding-bottom:24px;text-align:left}
  .ip-hero__title{font-size:28px}
  .ip-hero__lead{margin-top:10px;font-size:15px;line-height:1.75}
  .ip-search{flex-wrap:wrap;margin-top:20px;padding:4px}
  .ip-search__type{order:2;width:100%;border-right:0;border-top:1px solid var(--line)}
  .ip-search select{width:100%;height:44px;font-size:14px}
  .ip-search__q{order:0}
  .ip-search input{height:48px;padding:0 12px}
  .ip-search button{order:1;height:48px;padding:0 16px}
  .ip-search button span{display:none}
  .ip-chips{justify-content:flex-start;margin-top:16px;gap:6px}
  .ip-chips__label{width:100%;margin-bottom:2px}
  .ip-chip{min-height:38px;padding:0 14px}
  .ip-facts{flex-direction:column;margin-top:14px;font-size:14px;line-height:20px;gap:4px}
  .ip-jump__in{padding:0}
  .ip-jump a{flex-direction:column;gap:2px;min-height:64px;font-size:13px;line-height:1.35;text-align:center}
  .ip-sec{padding:44px 0}
  .ip-sec--tight{padding-top:0}
  .ip-sec__head{margin-bottom:20px;align-items:flex-start;flex-direction:column;gap:4px}
  .ip-sec__head h2{font-size:22px}
  .ip-sec__head h2::before{margin-bottom:10px}
  .ip-sec__sub{font-size:14px}
  .ip-more{min-height:40px}
  .ip-cats{gap:10px}
  .ip-cat{flex-direction:column;align-items:flex-start;gap:8px;padding:12px}
  .ip-cat__icon{width:32px;height:32px;border-radius:8px}
  .ip-cat__icon .ip-ico{width:20px;height:20px}
  .ip-cat__name{font-size:15px;line-height:22px}
  .ip-cat__count{font-size:14px;line-height:20px}
  .ip-subs{margin-top:20px;padding:16px}
  .ip-subs ul{grid-template-columns:repeat(2,1fr);gap:0 16px}
  .ip-subs a{font-size:14px;min-height:44px}
  .ip-types{grid-template-columns:1fr;gap:10px}
  .ip-types a{padding:14px 16px;gap:2px 12px}
  .ip-types__body span{font-size:14px;line-height:21px}
  .ip-tabs{display:flex;width:100%;margin-bottom:16px}
  .ip-tabs button{flex:1;min-width:0;padding:0 8px}
  .ip-grid{grid-template-columns:1fr;gap:10px}
  .ip-grid .ip-item{flex-direction:row;gap:14px;padding:12px}
  .ip-grid .ip-thumb{width:92px;height:92px;flex:none;align-self:flex-start}
  .ip-grid .ip-item__body{margin-top:0}
  .ip-item__name{font-size:15px}
  .ip-price{font-size:18px}
  .ip-item--rank{gap:12px;padding:12px}
  .ip-item--rank .ip-thumb{width:72px}
  .ip-item--rank .ip-item__no{min-width:28px;height:28px;font-size:15px}
  .ip-btn{width:100%}
  .ip-checks li{padding:16px 16px 16px 60px}
  .ip-checks li::before{left:16px;top:16px;width:30px;height:30px}
  .ip-checks h3{font-size:16px}
  .ip-checks p{font-size:14px}
  .ip-faq summary{font-size:16px;padding:16px 40px 16px 0}
  .ip-faq details>div{padding-left:0;font-size:15px}
  .ip-back a{flex:1 1 calc(50% - 8px);justify-content:center;padding:0 8px;font-size:14px}
  .ip-footer{padding-top:36px}
  .ip-footer__cols{gap:24px 16px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ip *{transition:none!important}}

/* ===== 下層ページ共通（2026-10-19 追加） ===== */
.ip-nav a[aria-current=page]{color:var(--pink-d);box-shadow:inset 0 -2px 0 var(--pink)}
.ip-hsearch{border-top:1px solid var(--line);background:#fff;padding:12px 0}
.ip-hsearch[hidden]{display:none}
.ip-search--compact{margin:0 auto;box-shadow:none;max-width:760px}
.ip-search--compact select,.ip-search--compact input,.ip-search--compact button{height:44px}
.ip-head-search{display:grid;place-items:center;width:44px;height:44px;margin-left:4px;border:0;background:transparent;color:var(--ink);border-radius:var(--r2);cursor:pointer}
.ip-head-search:hover{background:var(--bg)}
.ip-page{padding:24px 0 64px}
.ip-bc ol{display:flex;flex-wrap:wrap;gap:4px 0;font-size:14px;line-height:1.6;color:var(--sub)}
.ip-bc li{display:flex;align-items:center;min-width:0}
.ip-bc li+li::before{content:"";width:6px;height:6px;margin:0 10px 0 8px;border-top:1.5px solid #94a3b8;border-right:1.5px solid #94a3b8;transform:rotate(45deg)}
.ip-bc a{color:var(--link);text-decoration:none}
.ip-bc a:hover{text-decoration:underline}
.ip-bc span[aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:32em}
.ip-phead{margin-top:20px}
.ip-phead h1{font-size:30px;line-height:1.45;font-weight:700;letter-spacing:.01em}
.ip-phead__lead{margin-top:8px!important;color:var(--sub);font-size:15px}
.ip-notice{display:block;margin-top:16px!important;padding:12px 16px;border:1px solid var(--line);border-left:4px solid var(--link);border-radius:var(--r2);background:#f8fafc;font-size:15px;line-height:1.7}
.ip-notice a{font-weight:700;margin:0 .15em}
.ip-head-search{order:3}.ip-nav{order:2}.ip-menu-btn{order:4}

/* 一覧の操作 */
.ip-tools{margin-top:24px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.ip-tools__row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.ip-tools__row+.ip-tools__row{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.ip-tools__label{flex:none;min-width:5em;color:var(--sub);font-size:14px;font-weight:700}
.ip-infind{display:flex;flex:1;min-width:240px;max-width:520px;border:1.5px solid var(--line2);border-radius:var(--r2);overflow:hidden}
.ip-infind:focus-within{border-color:var(--pink)}
.ip-infind input{flex:1;min-width:0;height:44px;padding:0 12px;border:0;font:inherit;font-size:16px;color:var(--ink);outline:none}
.ip-infind button{flex:none;height:44px;padding:0 16px;border:0;border-left:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-weight:700;font-size:14px;cursor:pointer}
.ip-infind button:hover{background:var(--pink-w)}
.ip-fchips{display:flex;flex-wrap:wrap;gap:8px}
.ip-fchip{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border:1px solid var(--line2);border-radius:999px;background:#fff;color:var(--ink)!important;font-size:14px;font-weight:600;text-decoration:none}
.ip-fchip:hover{border-color:var(--pink)}
.ip-fchip[aria-current=true]{border-color:var(--pink);background:var(--pink-w);color:var(--pink-d)!important}
.ip-fchip[aria-current=true]::before{content:"";width:10px;height:6px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg) translate(1px,-2px)}
.ip-sort{display:flex;align-items:center;gap:8px;margin-left:auto}
.ip-sort select{height:40px;padding:0 32px 0 12px;border:1.5px solid var(--line2);border-radius:var(--r2);font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23475569' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 10px center;appearance:none;-webkit-appearance:none;cursor:pointer}
.ip-rtabs{display:flex;flex-wrap:wrap;gap:4px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#fff;width:max-content;max-width:100%}
.ip-rtabs a{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border-radius:8px;color:var(--ink);font-weight:700;font-size:15px;text-decoration:none}
.ip-rtabs a:hover{background:var(--bg)}
.ip-rtabs a[aria-current=page]{background:var(--pink);color:#fff}
.ip-count{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:24px 0 12px;font-size:15px}
.ip-count b{font-size:17px}
.ip-cond{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:14px;color:var(--sub)}
.ip-cond a{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 10px;border-radius:6px;background:var(--bg);color:var(--ink);text-decoration:none;font-weight:600}
.ip-cond a:hover{background:var(--pink-w)}
.ip-cond a .ip-ico{width:14px;height:14px}
.ip-minipager{display:flex;gap:6px}
.ip-minipager a,.ip-minipager span{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid var(--line2);border-radius:var(--r2);font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;background:#fff}
.ip-minipager span{color:#94a3b8;border-color:var(--line)}

/* 一覧の行 */
.ip-rows{display:grid;gap:12px}
.ip-row{position:relative;display:grid;grid-template-columns:136px 1fr auto;gap:20px;align-items:start;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);color:var(--ink)!important;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.ip-row:hover{border-color:var(--line2);box-shadow:0 8px 24px rgba(31,41,55,.08)}
.ip-row:hover .ip-row__name{color:var(--pink-d)}
.ip-row .ip-thumb{width:136px}
.ip-row__no{position:absolute;top:8px;left:8px;z-index:1;display:grid;place-items:center;min-width:34px;height:30px;padding:0 6px;border-radius:8px;background:var(--ink);color:#fff;font-size:15px;font-weight:700}
.ip-row__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.ip-row__name{margin:0;font-size:17px;line-height:1.5;font-weight:700;color:var(--link)}
.ip-row__catch{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:15px;line-height:1.7;color:var(--ink)}
.ip-row__meta{display:flex;flex-wrap:wrap;gap:2px 16px;font-size:14px;color:var(--sub)}
.ip-row__side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:12px;min-width:132px;height:100%}
.ip-row__go{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 12px;border:1px solid var(--line2);border-radius:var(--r2);font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap}
.ip-row:hover .ip-row__go{border-color:var(--ink)}
.ip-empty{padding:32px 24px;border:1px dashed var(--line2);border-radius:var(--r);background:#fff}
.ip-empty h2{font-size:20px;line-height:1.5}
.ip-empty p{margin-top:8px!important;color:var(--sub)}
.ip-empty ul{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px!important}

/* ページ送り */
.ip-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:32px}
.ip-pager a,.ip-pager span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 12px;border:1px solid var(--line2);border-radius:var(--r2);background:#fff;color:var(--ink);font-weight:600;font-size:15px;text-decoration:none}
.ip-pager a:hover{border-color:var(--ink)}
.ip-pager [aria-current=page]{background:var(--ink);border-color:var(--ink);color:#fff}
.ip-pager .ip-pager__gap{border:0;background:transparent;min-width:20px;padding:0}
.ip-pager .is-off{color:#94a3b8;border-color:var(--line)}
.ip-pager .ip-pager__sp{display:none}

/* 別の探し方 */
.ip-more-ways{margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}
.ip-more-ways>h2{font-size:22px;line-height:1.45;margin-bottom:16px!important}
.ip-ways{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.ip-ways>div{padding:20px;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.ip-ways h3{font-size:16px;margin-bottom:8px!important}
.ip-ways ul li a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;border-bottom:1px solid var(--line);color:var(--ink);font-size:15px;font-weight:600;text-decoration:none}
.ip-ways ul li:last-child a{border-bottom:0}
.ip-ways ul li a:hover{color:var(--pink-d)}
.ip-ways small{color:var(--sub);font-size:13px}
.ip-ways__chips{display:flex;flex-wrap:wrap;gap:8px}
.ip-count__note{width:100%;color:var(--sub);font-size:14px}
.ip-empty__sub{margin-top:20px!important;color:var(--ink)!important;font-size:15px;font-weight:600}

/* 商品詳細 */
.ip-prod{display:grid;grid-template-columns:300px 1fr;gap:40px;margin-top:20px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.ip-prod__img .ip-thumb{width:100%}
.ip-prod__tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.ip-prod h1{font-size:28px;line-height:1.45;font-weight:700}
.ip-prod__no{margin-top:6px!important;color:var(--sub);font-size:14px}
.ip-prod__catch{margin-top:14px!important;font-size:16px;line-height:1.8}
.ip-prod__price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-top:20px!important;padding-top:16px;border-top:1px solid var(--line)}
.ip-prod__price .ip-price{font-size:30px}
.ip-prod__price small{color:var(--sub);font-size:14px}
.ip-cta{margin-top:20px}
.ip-cta__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 32px;border-radius:var(--r2);background:var(--pink);color:#fff!important;font-size:17px;font-weight:700;text-decoration:none;box-shadow:0 4px 14px rgba(216,27,96,.25)}
.ip-cta__btn:hover{background:var(--pink-d)}
.ip-cta__note{margin-top:8px!important;color:var(--sub);font-size:14px}
.ip-cta--center{text-align:center;margin:40px 0 0;padding:28px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}
.ip-toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ip-toc a{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--line2);border-radius:var(--r2);background:#fff;color:var(--link);font-size:14px;font-weight:700;text-decoration:none}
.ip-toc a:hover{border-color:var(--link)}
.ip-spec{display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px;margin-top:24px;padding:8px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.ip-spec div{display:grid;grid-template-columns:7em 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.ip-spec dt{color:var(--sub);font-weight:700}
.ip-spec dd{margin:0;min-width:0;overflow-wrap:anywhere}
.ip-block{margin-top:56px}
.ip-block>h2{font-size:24px;line-height:1.45;font-weight:700;margin-bottom:6px!important}
.ip-block>h2::before{content:"";display:block;width:32px;height:4px;border-radius:2px;background:var(--pink);margin-bottom:12px}
.ip-block__sub{color:var(--sub);font-size:14px;margin-bottom:20px!important}
.ip-vendor{max-width:840px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--r);font-size:16px;line-height:1.9;overflow-wrap:anywhere;overflow-x:auto}
.ip-vendor img{max-width:100%!important;height:auto!important}
.ip-vendor table{max-width:100%;display:block;overflow-x:auto;border-collapse:collapse}
.ip-vendor td,.ip-vendor th{padding:4px 8px}
.ip-vendor font{font-size:inherit!important}
.ip-grid--4{grid-template-columns:repeat(4,1fr)}

/* コメント欄（Commentics の見た目を合わせる） */
.ip-comments{max-width:840px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.ip-comments .cmtx_container{font-family:inherit!important;font-size:15px!important;color:var(--ink)!important}
.ip-comments .cmtx_container *{font-family:inherit!important}
.ip-comments h3,.ip-comments .cmtx_form_heading,.ip-comments .cmtx_comments_heading{font-size:18px!important;font-weight:700!important;color:var(--ink)!important;border:0!important;background:none!important;padding:0!important;margin:16px 0 8px!important}
.ip-comments input[type=text],.ip-comments input[type=email],.ip-comments select,.ip-comments textarea{width:100%!important;max-width:100%!important;min-height:44px;padding:8px 12px!important;border:1.5px solid var(--line2)!important;border-radius:var(--r2)!important;font:inherit!important;font-size:16px!important;color:var(--ink)!important;background:#fff!important;box-shadow:none!important}
.ip-comments textarea{min-height:140px}
.ip-comments input:focus,.ip-comments select:focus,.ip-comments textarea:focus{border-color:var(--pink)!important;outline:none}
.ip-comments input[type=submit],.ip-comments input[type=button]{min-height:48px;padding:0 28px!important;border:0!important;border-radius:var(--r2)!important;background:var(--ink)!important;color:#fff!important;font:inherit!important;font-weight:700!important;cursor:pointer}
.ip-comments input[type=submit]:hover{background:var(--pink-d)!important}
.ip-comments label{font-weight:700;font-size:15px}
.ip-comments .cmtx_smilies_row,.ip-comments .cmtx_bb_code_row{display:none!important}

/* 本文ページ（運営者情報・規約など） */
.ip-doc{max-width:840px;margin:24px auto 0;padding:40px;background:#fff;border:1px solid var(--line);border-radius:var(--r);font-size:16px;line-height:1.9}
.ip-doc h1{font-size:30px;line-height:1.45;margin-bottom:16px!important}
.ip-doc h2{font-size:22px;line-height:1.5;margin:40px 0 12px!important;padding:0!important;border:0!important;background:none!important;color:var(--ink)!important}
.ip-doc h3{font-size:18px;line-height:1.5;margin:28px 0 8px!important;padding:0!important;border:0!important;background:none!important;color:var(--ink)!important}
.ip-doc p{margin:0 0 16px!important}
.ip-doc ul,.ip-doc ol{margin:0 0 16px 1.4em!important}
.ip-doc ul{list-style:disc!important}
.ip-doc ol{list-style:decimal!important}
.ip-doc li{margin-bottom:6px}
.ip-doc table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:15px}
.ip-doc th,.ip-doc td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ip-doc th{width:30%;color:var(--sub);font-weight:700;background:var(--bg)}
.ip-doc .ip-doc__toc{margin:8px 0 24px!important;padding:16px 20px 16px 40px;background:var(--bg);border-radius:var(--r2)}
.ip-doc .ip-doc__toc li{margin:4px 0}

/* フォーム */
.ip-doc--form{max-width:720px}
.ip-doc form{margin-top:16px}
.ip-doc form dl,.ip-doc form table{width:100%}
.ip-doc form dt,.ip-doc form th{display:block;width:auto;background:none;padding:16px 0 6px;border:0;font-weight:700;color:var(--ink)}
.ip-doc form dd,.ip-doc form td{display:block;margin:0;padding:0 0 4px;border:0}
.ip-doc form tr{display:block}
.ip-doc input[type=text],.ip-doc input[type=email],.ip-doc input[type=url],.ip-doc input[type=tel],.ip-doc select,.ip-doc textarea{width:100%;max-width:100%;min-height:46px;padding:8px 12px;border:1.5px solid var(--line2);border-radius:var(--r2);font:inherit;font-size:16px;color:var(--ink);background:#fff;box-sizing:border-box}
.ip-doc textarea{min-height:180px;line-height:1.7}
.ip-doc input:focus,.ip-doc textarea:focus,.ip-doc select:focus{border-color:var(--pink);outline:none}
.ip-doc input[type=submit],.ip-doc button[type=submit],.ip-doc .btn_submit{display:inline-flex;align-items:center;justify-content:center;min-width:220px;min-height:52px;margin-top:16px;padding:0 32px;border:0;border-radius:var(--r2);background:var(--pink);color:#fff;font:inherit;font-weight:700;font-size:16px;cursor:pointer}
.ip-doc input[type=submit]:hover,.ip-doc .btn_submit:hover{background:var(--pink-d)}
.ip-req{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;background:var(--pink-w);color:var(--pink-d);font-size:12px;font-weight:700;line-height:1.7;vertical-align:middle}
.ip-doc .error,.ip-doc .ip-error{color:#b91c1c;font-weight:700}

/* 全カテゴリ */
.ip-catjump{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ip-catsec{margin-top:32px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.ip-catsec__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-bottom:12px}
.ip-catsec h2{display:flex;align-items:center;gap:12px;font-size:22px;line-height:1.45}
.ip-catsec h2 .ip-cat__icon{width:40px;height:40px}
.ip-catsec ul{display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px}
.ip-catsec ul a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;border-bottom:1px solid var(--line);color:var(--ink);font-weight:600;text-decoration:none}
.ip-catsec ul a:hover{color:var(--pink-d)}
.ip-catsec small{color:var(--sub);font-size:13px}

@media (max-width:1023px){
  .ip-row{grid-template-columns:112px 1fr}
  .ip-row .ip-thumb{width:112px}
  .ip-row__side{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;height:auto;min-width:0}
  .ip-ways{grid-template-columns:1fr 1fr}
  .ip-prod{grid-template-columns:240px 1fr;gap:28px}
  .ip-grid--4{grid-template-columns:repeat(2,1fr)}
  .ip-catsec ul{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:639px){
  .ip-page{padding:16px 0 44px}
  .ip-phead h1{font-size:23px}
  .ip-phead__lead{font-size:14px}
  .ip-notice{font-size:14px;padding:10px 12px}
  .ip-tools{padding:12px;margin-top:16px}
  .ip-tools__row{gap:8px}
  .ip-tools__label{min-width:0;width:100%}
  .ip-infind{min-width:0;max-width:none;width:100%}
  .ip-sort{margin-left:0;width:100%}
  .ip-sort select{flex:1}
  .ip-fchips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .ip-fchip{flex:none}
  .ip-rtabs{width:100%}
  .ip-rtabs a{flex:1;justify-content:center;padding:0 8px}
  .ip-count{margin-top:16px;font-size:14px}
  .ip-minipager{display:none}
  .ip-row{grid-template-columns:84px 1fr;gap:8px 12px;padding:12px}
  .ip-row .ip-thumb{width:84px;grid-row:1/3}
  .ip-row__no{top:6px;left:6px;min-width:28px;height:26px;font-size:13px}
  .ip-row__body{display:contents}
  .ip-row__name{grid-column:2;grid-row:1;font-size:16px}
  .ip-row__meta{grid-column:2;grid-row:2;font-size:13px;gap:0 10px}
  .ip-row__catch{grid-column:1/-1;grid-row:3;font-size:14px}
  .ip-row__side{grid-column:1/-1;grid-row:4}
  .ip-row__go{min-height:34px;font-size:13px}
  .ip-pager .ip-pager__num,.ip-pager .ip-pager__gap{display:none}
  .ip-pager .ip-pager__sp{display:inline-flex;border:0;background:none}
  .ip-ways{grid-template-columns:1fr}
  .ip-more-ways{margin-top:40px;padding-top:32px}
  .ip-prod{grid-template-columns:96px 1fr;gap:14px;padding:16px}
  .ip-prod__info{display:contents}
  .ip-prod__head{grid-column:2;grid-row:1}
  .ip-prod__catch,.ip-prod__price,.ip-cta,.ip-toc{grid-column:1/-1}
  .ip-prod h1{font-size:20px}
  .ip-prod__price .ip-price{font-size:26px}
  .ip-cta__btn{width:100%;padding:0 16px}
  .ip-spec{grid-template-columns:1fr;padding:4px 16px}
  .ip-spec div{grid-template-columns:6em 1fr}
  .ip-block{margin-top:40px}
  .ip-block>h2{font-size:21px}
  .ip-vendor,.ip-comments{padding:16px}
  .ip-grid--4{grid-template-columns:1fr}
  .ip-doc{padding:20px 16px;margin-top:16px;font-size:15px}
  .ip-doc h1{font-size:23px}
  .ip-doc h2{font-size:19px;margin-top:32px!important}
  .ip-doc table:not(form table) th,.ip-doc table:not(form table) td{display:block;width:auto;border:0;padding:4px 0}
  .ip-doc table:not(form table) th{background:none;padding-top:12px}
  .ip-doc table:not(form table) tr{display:block;border-bottom:1px solid var(--line);padding-bottom:8px}
  .ip-catsec{padding:16px;margin-top:24px}
  .ip-catsec ul{grid-template-columns:1fr}
}
.ip-tag--gray{background:var(--bg);color:var(--sub)}
a.ip-tag{text-decoration:none}
a.ip-tag:hover{background:#f9d3e2}
.ip-relhead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;margin:24px 0 12px}
.ip-relhead h3{font-size:18px;line-height:1.5}
.ip-relfoot{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px!important}
.ip-vendor h3{font-size:clamp(18px,4vw,22px)!important;line-height:1.5!important}
.ip-vendor h4{font-size:clamp(16px,3.6vw,19px)!important;line-height:1.5!important}

/* フォーム部品（お問い合わせ・削除依頼・確認画面） */
.ip-field{margin:20px 0 0;padding:0;border:0;min-width:0}
.ip-field>label,.ip-field>legend{display:block;margin-bottom:6px;padding:0;font-weight:700;font-size:15px;color:var(--ink)}
.ip-field__help{margin:6px 0 0!important;color:var(--sub);font-size:14px;line-height:1.7}
.ip-choice{display:flex;align-items:center;gap:8px;min-height:44px;font-size:15px;cursor:pointer}
.ip-choice input{width:20px;height:20px;accent-color:var(--pink)}
.ip-field--captcha{margin-top:24px}
.ip-formerr{margin:16px 0;padding:12px 16px;border:1px solid #fecaca;border-left:4px solid #b91c1c;border-radius:var(--r2);background:#fef2f2;color:#991b1b;font-weight:700}
.ip-formerr p{margin:0!important}
.ip-confirm .formTable{width:100%;border-collapse:collapse;margin:16px 0}
.ip-confirm .formTable th,.ip-confirm .formTable td{display:table-cell;padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ip-confirm .formTable th{width:32%;background:var(--bg);color:var(--sub)}
.ip-confirm input[type=submit],.ip-confirm input[type=button]{display:inline-flex;align-items:center;justify-content:center;min-height:50px;margin:8px 6px 0 0;padding:0 28px;border-radius:var(--r2);font:inherit;font-weight:700;cursor:pointer}
.ip-confirm input[type=submit]{border:0;background:var(--pink);color:#fff}
.ip-confirm input[type=button]{border:1.5px solid var(--ink);background:#fff;color:var(--ink)}
.ip-confirm h3,.ip-confirm h4{font-size:20px;margin:16px 0 8px}
.ip-confirm p.error_messe{color:#b91c1c;margin:4px 0}
.ip-report{margin-top:24px!important;color:var(--sub);font-size:14px}
@media (max-width:639px){
  .ip-confirm .formTable th,.ip-confirm .formTable td{display:block;width:auto;border:0;padding:4px 0}
  .ip-confirm .formTable th{background:none;padding-top:12px}
  .ip-confirm .formTable tr{display:block;border-bottom:1px solid var(--line);padding-bottom:8px}
  .ip-doc input[type=submit]{width:100%}
}
.ip-types__minor{margin-top:16px!important;color:var(--sub);font-size:14px}
.ip-types__minor a{margin-right:16px;font-weight:600}
.ip-comments label.cmtx_label{display:block!important;float:none!important;width:auto!important;margin:0 0 6px!important;text-align:left!important;font-size:15px!important;font-weight:700!important}
.ip-comments .cmtx_required_symbol{color:var(--pink-d)!important}
.ip-comments .cmtx_field{display:block!important;float:none!important}
.ip-comments div.cmtx_label,.ip-comments .cmtx_smilies_block,.ip-comments .cmtx_bb_code_block{display:none!important}
.ip-comments .cmtx_email_note{display:block;margin-top:4px;color:var(--sub);font-size:13px}
.ip-comments .cmtx_height_between_fields{height:16px}
.ip-comments .cmtx_required_symbol_message{color:var(--sub);font-size:13px}

/* Codex 5回目の批評を反映（2026-10-19） */
.ip-infind--empty{margin-top:16px;max-width:520px}
.ip-row__name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ip-grid .ip-thumb,.ip-grid--4 .ip-thumb{aspect-ratio:4/3}
.ip-prod__img .ip-thumb:has(.ip-noimg){max-width:200px;margin:0 auto}
.ip-comments .cmtx_comments_heading{display:none!important}
.ip-comments .cmtx_no_comments,.ip-comments em,.ip-comments i{font-style:normal!important}
.ip-comments .cmtx_required_symbol{font-size:0!important}
.ip-comments .cmtx_required_symbol::after{content:"必須";display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;background:var(--pink-w);color:var(--pink-d);font-size:12px;font-weight:700;line-height:1.7;vertical-align:middle}
.ip-comments .cmtx_required_symbol_message{display:none!important}
.ip-comments .cmtx_form_heading{margin-top:8px!important}
.ip-cmt-open{margin-top:16px}
body.ip:has(input:focus,textarea:focus,select:focus) .ip-totop{opacity:0!important;visibility:hidden!important}
.ip-field>label,.ip-field>legend{margin-bottom:8px}
@media (max-width:639px){
  .ip-fchips{flex-wrap:wrap;overflow:visible;padding-bottom:0}
  .ip-fchip{min-height:36px;padding:0 12px;font-size:13px}
  .ip-row__name{-webkit-line-clamp:3}
  .ip-row .ip-thumb{aspect-ratio:1/1}
  .ip-prod__catch{margin-top:4px!important}
  .ip-prod__price{margin-top:12px!important;padding-top:12px}
  .ip-cta{margin-top:12px}
  .ip-cta__btn{min-height:52px}
  .ip-toc{margin-top:16px}
  .ip-prod__img .ip-thumb:has(.ip-noimg){max-width:96px}
  .ip-comments{padding:16px}
}
@media (max-width:639px){
  .ip-sort .ip-tools__label{width:auto;flex:none}
  .ip-more{flex:0 1 auto;white-space:normal}
}
/* 検索の作り直し（2026-10-19 夜・Codex の批評）: スマホでは条件欄を短くして商品を早く見せる */
@media (max-width:639px){
  .ip-tools__label--find{display:none}
  .ip-tools__row--type .ip-tools__label{width:auto}
  .ip-tools__row--type{flex-wrap:nowrap}
  .ip-tools__row--type .ip-fchips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .ip-tools__row--type .ip-fchips::-webkit-scrollbar{display:none}
  .ip-tools__row--rank{display:none}
}
