@charset "UTF-8";
:root{--navy:#12233d;--navy-2:#1e3554;--red:#8f2634;--gold:#b38a3f;--gold-light:#ead9ad;--ink:#182130;--muted:#667080;--ivory:#faf8f3;--paper:#fff;--line:#ddd7ca;--green:#506b4a;--blue:#315b7c;--shadow:0 16px 40px rgba(18,35,61,.09);font-family:var(--font-sans,"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif);color:var(--ink);background:var(--ivory);font-size:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);line-height:1.75}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{transition:.2s ease}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,.brand{font-family:var(--font-serif,"Yu Mincho","Hiragino Mincho ProN",serif)}h3{font-family:var(--font-sans,"Yu Gothic",sans-serif)}button{cursor:pointer}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.header-main{height:72px;display:flex;align-items:center;gap:28px;padding:0 2.2vw}.brand{display:inline-flex;align-items:baseline;gap:7px;font-size:25px;font-weight:700;color:var(--navy);white-space:nowrap}.brand>span{display:grid;place-items:center;width:34px;height:34px;background:var(--navy);color:#fff;font-family:Georgia,serif;font-size:20px;letter-spacing:-2px}.brand small{font-size:.62em}.search-open{margin-left:auto;width:min(380px,32vw);height:42px;padding:0 17px;background:#f4f3f0;border:1px solid var(--line);border-radius:99px;color:var(--muted);text-align:left}.search-open b{float:right;color:var(--navy);font-size:20px}.member-nav{display:flex;gap:17px;font-size:13px;font-weight:700}.member-nav a:hover,.global-nav a:hover{color:var(--red)}.global-nav{display:flex;justify-content:center;gap:38px;height:46px;align-items:center;border-top:1px solid #eee;font-size:14px;font-weight:700}.menu-toggle{display:none;background:none;border:0}.wide{width:100%;padding-inline:1.6vw}main{width:min(1440px,94vw);margin:0 auto;padding:44px 0 90px}.home-hero+*{margin-top:0}
.home-hero{position:relative;height:min(660px,72vh);min-height:520px;overflow:hidden;background:#111}.hero-collage{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:1fr 1fr;height:100%;opacity:.76}.hero-collage img{width:100%;height:100%;object-fit:cover}.hero-collage img:first-child{grid-row:span 2}.hero-message{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(600px,86vw);padding:54px;background:rgba(143,38,52,.94);color:#fff;text-align:center}.hero-message p{letter-spacing:.18em;font-weight:700;font-size:13px}.hero-message h1{font-size:clamp(36px,4.2vw,68px);line-height:1.35;margin:16px 0}.hero-message>span{display:block;margin-bottom:28px}.home-notice{display:flex;align-items:center;gap:24px;min-height:62px;padding:10px 3vw;background:#fff;border-bottom:1px solid var(--line);font-size:14px}.home-notice b{color:var(--red)}.home-notice time{color:var(--muted)}.home-notice a{font-weight:700}
.breadcrumb{display:flex;gap:10px;color:var(--muted);font-size:13px;margin-bottom:26px}.page-head{padding:38px 0 30px;border-bottom:1px solid var(--line);margin-bottom:34px}.page-head h1{font-size:clamp(32px,4vw,56px);line-height:1.35;color:var(--navy);margin:0 0 12px}.page-head>p:last-child{color:var(--muted);max-width:780px;margin:0}.eyebrow{font-family:Georgia,serif;color:var(--gold)!important;font-size:12px!important;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.content-section{padding:64px 0;border-bottom:1px solid var(--line)}.content-section:last-child{border-bottom:0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.section-head h2{font-size:clamp(27px,2.4vw,38px);color:var(--navy);margin-bottom:6px}.section-head p{color:var(--muted);margin:0}.text-link{font-size:14px;font-weight:700;border-bottom:1px solid var(--navy);white-space:nowrap}.text-link:hover{color:var(--red);border-color:var(--red)}.narrow{max-width:900px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:8px 20px;border:1px solid var(--navy);background:#fff;color:var(--navy);font-weight:700}.button:hover{background:#eef1f5}.button.primary{background:var(--navy);color:#fff}.button.primary:hover{background:var(--navy-2)}.button.light{background:#fff;color:var(--navy);margin-top:28px}.button.outline{background:transparent}.button.danger{border-color:#b32d3b;color:#a21f31}.full{width:100%}.text-button{border:0;border-bottom:1px solid;background:none;padding:0;color:var(--navy)}.text-button.danger{color:#a21f31}.button-row{display:flex;gap:12px}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}
.category-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1px solid var(--line);background:#fff}.category-grid a{display:flex;min-height:110px;flex-direction:column;justify-content:space-between;padding:18px;border-right:1px solid var(--line)}.category-grid a:last-child{border:0}.category-grid span{font:12px Georgia;color:var(--gold)}.category-grid strong{font-family:"Yu Mincho",serif;font-size:17px}.category-grid a:hover{background:var(--navy);color:#fff}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.product-card{background:#fff;border:1px solid var(--line);min-width:0;display:flex;flex-direction:column}.product-card>a img{width:100%;aspect-ratio:1;object-fit:cover}.product-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.product-copy{padding:18px;display:flex;flex-direction:column;flex:1}.product-card .meta{min-height:1.75em}.meta{color:var(--muted);font-size:12px;letter-spacing:.04em}.product-card h3{font-size:18px;line-height:1.55;margin-bottom:16px}.product-card strong{margin-top:auto;font-size:19px;color:var(--navy)}.product-card strong small{font:12px sans-serif;font-weight:400}.voice-switch{margin:17px -18px -18px;padding:12px 14px 16px;border-top:1px solid var(--line);background:#fcfbf8;min-height:117px}.voice-switch [role=tablist]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.voice-switch button{border:0;background:#ebe8e1;color:#5d6470;font-size:11px;padding:5px}.voice-switch button.active{background:var(--navy);color:#fff}.voice-switch p{font-size:13px;line-height:1.6;margin:9px 0 0;color:#4b5360}
.person-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.person-card{background:#fff;border-top:2px solid var(--gold);border-bottom:1px solid var(--line)}.person-card-image{display:block;overflow:hidden}.person-card-image img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:top;transition:transform .3s ease}.person-card-image:hover img{transform:scale(1.035)}.person-card>div{padding:22px}.person-card h3{font-size:22px;margin:5px 0}.person-card blockquote{margin:18px 0;padding-top:16px;border-top:1px solid var(--line);font-family:"Yu Mincho",serif;font-size:14px}.person-hero{display:grid;grid-template-columns:minmax(280px,430px) 1fr;gap:60px;align-items:center;padding:30px 0 60px;border-bottom:1px solid var(--line)}.person-hero img{width:100%;aspect-ratio:1;object-fit:cover;object-position:top}.person-hero h1{font-size:52px;color:var(--navy);margin:14px 0}.person-hero blockquote{font-family:"Yu Mincho",serif;font-size:21px;margin:30px 0 0;padding:26px 0;border-top:1px solid var(--line)}
.cert-panels{display:grid;grid-template-columns:1fr 1fr;gap:28px;background:#f0dfb8;padding:28px}.cert-panels a{position:relative;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f7efda,#d7b56a);border:1px solid #9b752b;color:#151515}.cert-panels a:before{content:"";position:absolute;inset:14px;border:1px solid rgba(120,85,20,.6)}.cert-panels span{font-size:13px;letter-spacing:.15em}.cert-panels strong{font:72px "Yu Mincho",serif}.cert-panels small{font:12px Georgia;letter-spacing:.25em}.cert-hero{height:360px;background:linear-gradient(90deg,rgba(18,35,61,.96),rgba(18,35,61,.65)),url('/full-site/assets/images/ii-mo-no/summer-sweets-mv.jpg') center/cover;color:#fff;display:grid;place-items:center;text-align:center;margin-bottom:35px}.cert-hero h2{font-size:52px;margin:8px}.certification-card{position:relative}.certification-product-label{position:absolute;z-index:2;top:0;left:0;display:flex;align-items:center;gap:8px;padding:8px 12px;color:#17233a;background:linear-gradient(135deg,#f1dfaa,#c5a250);border-right:1px solid #8a6a2d;border-bottom:1px solid #8a6a2d;box-shadow:0 4px 12px rgba(65,48,16,.14);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.04em}.certification-product-label b{padding-right:8px;border-right:1px solid rgba(76,56,18,.35);font-size:12px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.feature-grid a{background:#fff;border-bottom:1px solid var(--line)}.feature-grid img{width:100%;aspect-ratio:16/9;object-fit:cover}.feature-grid div{padding:20px}.feature-grid small{color:var(--gold);font-weight:700}.feature-grid h3{font-size:21px;margin:5px 0}.feature-grid p{color:var(--muted);font-size:14px}.feature-hero{width:100%;aspect-ratio:16/9;max-height:620px;object-fit:cover;margin-bottom:35px}.criteria-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.criteria-grid article{padding:34px;background:#fff}.criteria-grid span{font:28px Georgia;color:var(--gold)}.criteria-grid h3{font-size:21px;margin:16px 0 8px}.criteria-grid p{color:var(--muted);font-size:14px}.prose{font-family:"Yu Mincho",serif;font-size:18px;line-height:2}.prose h2{font-size:29px;margin:48px 0 14px;color:var(--navy)}
.search-layout{display:grid;grid-template-columns:260px 1fr;gap:34px}.filters{background:#fff;border:1px solid var(--line);padding:22px;height:max-content;position:sticky;top:140px}.filters h2{font-size:20px}.filters>label:not(.field){display:block;font-size:13px;margin:12px 0}.results .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.result-bar select{padding:10px 30px 10px 12px;border:1px solid var(--line);background:#fff}.pagination{display:flex;justify-content:center;gap:7px;margin-top:38px}.pagination a{display:grid;place-items:center;min-width:40px;height:40px;border:1px solid var(--line);background:#fff}.pagination a.active{background:var(--navy);color:#fff}
.product-detail-page{color:#202a38}.product-hero{display:grid;grid-template-columns:minmax(360px,520px) minmax(300px,1fr);align-items:start;gap:clamp(28px,4vw,58px);margin-bottom:40px}.product-gallery{width:100%;max-width:520px}.gallery-stage{position:relative;overflow:hidden;background:#f5f2eb}.product-gallery-main{display:block;width:100%;aspect-ratio:1;object-fit:cover}.thumbs{display:flex;gap:8px;margin-top:8px}.thumbs button{padding:0;border:2px solid var(--gold)}.thumbs img{width:70px;height:70px;object-fit:cover}.product-summary h1{font-size:clamp(30px,2.7vw,40px);line-height:1.45;letter-spacing:.02em;color:var(--navy);margin-bottom:22px}.product-detail-page .meta,.product-detail-page .breadcrumb{color:#4d5867}.product-detail-page .product-summary>.meta{font-size:15px;line-height:1.6;margin-bottom:13px}.product-detail-page .product-summary>p:not(.meta){font-size:16px;line-height:1.9;color:#303a48}.price{display:block;font-size:28px;margin:25px 0}.product-detail-page .price small{font-size:15px}.product-detail-page .product-summary>.button{font-size:15px}.purchase{margin-top:25px;padding:22px;background:#fff;border:1px solid var(--line)}.purchase h2{font-size:20px;margin-bottom:14px}.purchase a{display:grid;grid-template-columns:1fr auto;gap:4px;font-size:15px;line-height:1.7}.purchase a b{font-size:16px}.purchase a span{grid-column:1/-1;color:#4d5867;font-size:13px}.purchase>small{display:block;margin-top:13px;color:#4d5867;font-size:13px;line-height:1.6}.product-detail-page .section-head p{font-size:15px;line-height:1.8;color:#3f4957}.product-detail-page .editorial-card p,.product-detail-page .review-list p{font-size:15px;line-height:1.8;color:#303a48}.product-detail-page .editorial-card a{font-size:15px;font-weight:700}.product-detail-page .message-card small,.product-detail-page .review-list small{font-size:13px;color:#4d5867}.editorial-card{display:grid;grid-template-columns:36% 1fr;background:#fff;border:1px solid var(--line)}.editorial-card img{width:100%;height:100%;object-fit:cover}.editorial-card div{padding:30px}.message-card{display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:28px;padding:30px;background:#fff;border-left:3px solid var(--gold)}.message-person-photo{width:180px;aspect-ratio:1;object-fit:cover;object-position:center top}.message-card h3{margin:7px 0 3px;font-size:23px}.message-card blockquote{margin:15px 0 0;font-family:"Yu Mincho",serif;font-size:19px}.avatar{display:grid;place-items:center;width:90px;height:90px;border-radius:50%;background:var(--navy);color:#fff;font:36px Georgia}.avatar.small{flex:0 0 62px;width:62px;height:62px;font-size:24px}.profile-summary{display:flex;align-items:center;gap:20px;padding:30px;background:#fff}.section-actions{display:flex;align-items:center;gap:20px}.review-summary{display:grid;grid-template-columns:230px minmax(260px,420px) 1fr;align-items:center;gap:32px;margin-bottom:24px;padding:24px 28px;background:#fff;border:1px solid var(--line)}.review-score{display:flex;align-items:center;gap:17px}.review-score>strong{font:52px Georgia,serif;color:var(--navy)}.review-score div{display:flex;flex-direction:column}.review-score b,.review-list>article>div>b{color:#a7791f;letter-spacing:.08em}.review-score span{font-size:14px;font-weight:700}.rating-bars{display:grid;gap:4px}.rating-bars>div{display:grid;grid-template-columns:12px 1fr 40px;align-items:center;gap:8px;font-size:12px}.rating-bars i{height:7px;overflow:hidden;background:#e8e5df}.rating-bars i b{display:block;height:100%;background:var(--gold)}.rating-bars small{color:#475261}.review-summary>p{margin:0;color:#3f4957;font-size:14px;line-height:1.75}.review-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}.review-list article{padding:25px;background:#fff;border:1px solid var(--line)}.review-list article h3{margin:12px 0 8px;font-size:19px}.review-list b{color:#b48321}.review-photos{display:flex;gap:8px;margin:18px 0}.review-photos img{width:88px;height:88px;object-fit:cover;border:1px solid var(--line)}.review-product-head{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:24px;margin-bottom:30px;padding:20px;background:#fff;border:1px solid var(--line)}.review-product-head>img{width:130px;aspect-ratio:1;object-fit:cover}.review-product-head h1{margin:4px 0 12px;font-size:clamp(25px,2.2vw,34px);color:var(--navy)}.review-toolbar{display:flex;align-items:center;gap:22px;margin:30px 0 18px;padding:15px 18px;background:#efede7}.review-toolbar b{margin-right:auto}.review-toolbar label{font-size:14px}.review-toolbar select{padding:9px 34px 9px 12px;border:1px solid var(--line);background:#fff}.tag{display:inline-block;padding:3px 9px;background:#eee9df;font:11px sans-serif;margin-right:6px}.tag.green{background:var(--green);color:#fff}.tag.navy{background:var(--navy);color:#fff}.tag.gold{background:var(--gold-light)}
.photo-page-hero{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:24px;align-items:center;margin:22px 0 28px;padding:18px;background:#f4f2ed;border:1px solid var(--line)}
.photo-page-hero>img{width:100%;max-width:340px;aspect-ratio:4/3;object-fit:cover;background:#fff}
.photo-page-hero h2{margin:8px 0 14px;color:var(--navy);font-size:clamp(24px,2.2vw,34px);line-height:1.5}
.photo-page-hero p:not(.meta){font-size:17px;line-height:1.9;color:#303a48}
.photo-page-hero span{display:inline-block;margin-top:14px;padding:7px 12px;background:#fff;border:1px solid var(--line);font-weight:700;color:var(--navy)}
.photo-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.photo-page-grid figure{margin:0;background:#fff;border:1px solid var(--line)}
.photo-page-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.photo-page-grid figcaption{padding:9px 11px;font-size:14px;line-height:1.6;color:#384454}
.purchase-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.purchase-head h2{margin:0}.purchase-head span{padding:4px 10px;background:#f4f2ed;border:1px solid var(--line);font-size:14px;font-weight:700;color:var(--navy)}
.purchase-links{display:grid;gap:11px;margin:12px 0}
.purchase-button{--purchase-color:var(--navy);position:relative;display:grid!important;grid-template-columns:42px 1fr auto;grid-template-rows:auto auto;align-items:center;gap:2px 12px;width:100%;padding:14px 48px 14px 16px!important;background:var(--purchase-color)!important;color:#fff!important;border:1px solid var(--purchase-color);box-shadow:0 8px 18px rgba(18,35,61,.12);text-decoration:none}
.purchase-button:hover{filter:brightness(.96);transform:translateY(-1px)}
.purchase-button::after{content:"↗";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-weight:700}
.purchase-button img,.purchase-icon{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:rgba(255,255,255,.18);object-fit:contain}
.purchase-icon{font-size:17px;font-weight:700}
.purchase-button strong{grid-column:2;grid-row:1;margin:0!important;color:#fff!important;font-size:18px}
.purchase-button small{grid-column:2;grid-row:2;color:rgba(255,255,255,.88);font-size:14px!important;line-height:1.5}
.purchase-button em{grid-column:3;grid-row:1/3;font-style:normal;font-size:14px;font-weight:700;color:#fff;white-space:nowrap}
.purchase-button i{grid-column:1/-1;display:flex;gap:6px;margin-top:6px;font-style:normal}
.purchase-button i span{padding:2px 7px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);font-size:12px}
.platform-official{--purchase-color:#d72d4a}.platform-amazon{--purchase-color:#ff9900}.platform-rakuten{--purchase-color:#bf0000}.platform-yahoo{--purchase-color:#e60012}.platform-other{--purchase-color:#12233d}
.auth-page{min-height:70vh;display:grid;place-items:center}.auth-card{width:min(520px,94vw);padding:35px 45px;background:#fff;border-top:4px solid var(--gold);box-shadow:var(--shadow)}.auth-card .page-head{padding-top:0}.field{display:block;margin-bottom:18px}.field>span{display:block;font-weight:700;font-size:13px;margin-bottom:6px}.field input,.field select,.field textarea,.toolbar input,.toolbar select{width:100%;padding:11px 12px;border:1px solid #cfc9be;background:#fff}.field textarea{resize:vertical}.check{display:block;font-size:13px;margin:16px 0}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.notice-box{padding:16px 18px;background:#f0ede6;border-left:3px solid var(--gold);font-size:14px;margin:18px 0}.settings-layout{display:grid;grid-template-columns:220px 1fr;gap:30px}.settings-layout>nav{display:flex;flex-direction:column}.settings-layout>nav a{padding:13px;border-bottom:1px solid var(--line)}.form-card{background:#fff;border:1px solid var(--line);padding:30px}.form-card h2{font-size:22px;margin:32px 0 15px}.form-card h2:first-child{margin-top:0}.form-card hr,.side-panel hr{border:0;border-top:1px solid var(--line);margin:28px 0}.linked-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.linked-blocks a{padding:14px;background:#f2f0eb}.linked-blocks b{float:right;color:var(--red)}
.auth-support-link{display:inline-block;margin-top:4px;padding-bottom:2px;color:var(--navy);border-bottom:1px solid var(--navy);font-size:14px;font-weight:700}
.admin-login-body{min-height:100vh;background:linear-gradient(135deg,#eef0f3 0%,#f8f6f1 100%)}
.admin-login-page{min-height:100vh;display:grid;place-items:center;padding:48px 20px}
.admin-login-card{width:min(480px,100%);padding:38px 44px;background:#fff;border-top:4px solid var(--gold);box-shadow:0 24px 64px rgba(18,35,61,.14)}
.admin-login-brand{display:flex;align-items:center;gap:9px;margin-bottom:30px;color:var(--navy);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:21px;font-weight:700}
.admin-login-brand i{width:3px;height:30px;background:var(--gold)}
.admin-login-brand small{margin-left:auto;color:var(--muted);font-family:"Yu Gothic",sans-serif;font-size:12px;letter-spacing:.12em}
.admin-login-card .page-head{padding-top:0;margin-bottom:26px}
.admin-login-card .page-head h1{font-size:32px}
.admin-login-note{margin:22px 0 0;padding-top:18px;color:var(--muted);border-top:1px solid var(--line);font-size:12px;line-height:1.7}
.intro-panel{margin-bottom:34px;padding:28px 32px;background:linear-gradient(135deg,#f2ede3,#fff);border-left:4px solid var(--gold);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:21px}.intro-panel p{margin:0}.info-prose section{padding-bottom:34px;border-bottom:1px solid var(--line)}.info-prose section:last-child{border-bottom:0}.draft-note{margin-bottom:30px;padding:14px 18px;background:#fff6df;border:1px solid #ddc888;color:#695019;font-size:13px}.company-table th{width:190px;color:var(--navy);background:#f6f3ed}.company-table td{white-space:normal}.faq-list details{background:#fff;border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{position:relative;padding:21px 52px 21px 24px;color:var(--navy);font-weight:700;cursor:pointer}.faq-list summary::after{content:"＋";position:absolute;right:22px}.faq-list details[open] summary::after{content:"−"}.faq-list details>div{padding:0 24px 24px;color:var(--muted)}.contact-guide{margin-top:40px;padding:28px;background:#f2f0eb}.contact-guide h2{font-size:23px}.contact-form{max-width:760px;margin:auto}.listing-page{width:100%;max-width:none;padding-top:0}.listing-hero{min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 24px;color:#fff;text-align:center;background:linear-gradient(90deg,rgba(18,35,61,.92),rgba(18,35,61,.68)),url('/full-site/assets/images/ii-mo-no/summer-sweets-mv.jpg') center/cover}.listing-hero>p{color:var(--gold-light);font-weight:700;letter-spacing:.12em}.listing-hero h1{font-size:clamp(38px,5vw,68px);line-height:1.4}.listing-hero>span{margin-bottom:28px}.listing-page>.content-section,.listing-cta{width:min(var(--site-max,1120px),100%);margin:auto}.listing-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.listing-steps article{padding:32px;background:#fff}.listing-steps span{font:32px Georgia;color:var(--gold)}.listing-steps h3{font-size:21px;margin:12px 0 8px}.listing-steps p{color:var(--muted)}.listing-cta{margin-top:50px;padding:48px;text-align:center;background:linear-gradient(135deg,#f0eadc,#fff);border:1px solid var(--line)}.listing-cta h2{font-size:30px;color:var(--navy)}
footer{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:50px;padding:48px 3vw;background:var(--navy);color:#fff}footer .brand{color:#fff}footer .brand span{background:#fff;color:var(--navy)}footer nav{display:grid;grid-template-columns:1fr 1fr;gap:7px 28px;font-size:13px}footer>small{color:#aab5c3}
body.public-body>footer{grid-template-columns:minmax(230px,1fr) minmax(420px,1.5fr) auto;align-items:start;gap:38px;padding:42px clamp(24px,5vw,92px);color:#69707a;background:#f1eee7;border-top:1px solid #ded8cc}
body.public-body>footer .brand{color:var(--navy);font-size:22px}
body.public-body>footer .brand>i{height:28px}
body.public-body>footer>div p{margin:14px 0 0;font-size:15px}
body.public-body>footer nav{grid-template-columns:repeat(2,minmax(150px,1fr));gap:8px 28px;font-size:14px}
body.public-body>footer nav a{width:max-content;border-bottom:1px solid transparent}
body.public-body>footer nav a:hover,body.public-body>footer nav a:focus-visible{color:var(--navy);border-bottom-color:var(--gold)}
body.public-body>footer>small{color:#69707a;font-size:13px}
dialog{width:min(620px,92vw);padding:35px;border:0;border-top:4px solid var(--gold);box-shadow:0 30px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(18,35,61,.6)}dialog form{display:flex;gap:8px;flex-wrap:wrap}dialog form>input{flex:1;padding:11px;border:1px solid var(--line)}dialog form>.field,dialog form>.check{width:100%}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:24px}#toast{position:fixed;z-index:100;left:50%;bottom:30px;transform:translate(-50%,30px);padding:12px 22px;background:var(--navy);color:#fff;opacity:0;pointer-events:none;transition:.25s}#toast.show{opacity:1;transform:translate(-50%,0)}
/* Admin */
.admin-body{background:#f2f3f5}.admin-header{position:fixed;z-index:40;inset:0 0 auto 0;height:62px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#fff}.admin-header .brand{color:#fff;font-size:20px}.admin-header .brand span{width:28px;height:28px;background:#fff;color:var(--navy)}.admin-user{font-size:13px}.admin-shell{display:grid;grid-template-columns:218px minmax(0,1fr);padding-top:62px;min-height:100vh}.admin-sidebar{position:fixed;top:62px;bottom:0;width:218px;background:#fff;border-right:1px solid #d9dde2;overflow:auto}.admin-sidebar nav{padding:15px 9px}.admin-sidebar a{display:block;padding:10px 14px;margin:2px 0;color:#55606f;font-size:13px;border-radius:3px}.admin-sidebar a:hover,.admin-sidebar a.active{background:#edf0f4;color:var(--navy);font-weight:700}.admin-main{grid-column:2;min-width:0;width:auto;margin:0;padding:30px 2.2vw 80px}.admin-main .page-head{padding-top:10px;margin-bottom:25px}.admin-main .page-head h1{font-family:"Yu Gothic",sans-serif;font-size:30px}.admin-main .page-head .eyebrow{display:none}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stats>div{padding:20px;background:#fff;border:1px solid #dfe2e6}.stats span{display:block;color:var(--muted);font-size:12px}.stats strong{font:36px Georgia;color:var(--navy)}.stats small{margin-left:5px}.admin-main .content-section{background:#fff;padding:24px;border:1px solid #dfe2e6;margin-bottom:24px}.admin-main .section-head h2{font-family:"Yu Gothic",sans-serif;font-size:20px}.toolbar{display:flex;gap:10px;padding:15px;background:#fff;border:1px solid #dfe2e6;margin-bottom:16px}.toolbar input{flex:1;max-width:420px}.toolbar select{width:auto}.table-wrap{max-width:100%;overflow:auto;background:#fff;border:1px solid #dfe2e6}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:13px 14px;border-bottom:1px solid #e2e5e9;text-align:left;white-space:nowrap}th{background:#f7f8fa;color:#5f6977;font-size:12px}td a{color:var(--blue);font-weight:700}.status{display:inline-block;padding:3px 8px;border-radius:99px;background:#e1efe4;color:#32633d;font-size:11px;font-weight:700}.status.wait{background:#fff0d1;color:#86610d}.status.warn{background:#f5dfe3;color:#962e42}.edit-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.side-panel{background:#fff;border:1px solid #dfe2e6;padding:22px;height:max-content;position:sticky;top:85px}.side-panel h2{font-family:"Yu Gothic",sans-serif;font-size:17px}.side-panel a{display:block;color:var(--blue);margin:10px 0}.check-list{list-style:none;padding:0;color:#376747}.check-list li{padding:7px 0;border-bottom:1px solid #eee}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.compare-grid>section{background:#fff;border:1px solid #dfe2e6;padding:24px}.source-box{padding:20px;background:#f7f4ed;min-height:230px;white-space:pre-wrap}.compare-grid textarea{width:100%;padding:15px;border:1px solid #ccd1d7}.ai-result{padding:15px;background:#eef3f8;margin-top:15px;font-size:13px}.connection{padding:15px;margin:15px 0}.connection.ok{background:#e9f3eb;color:#35643d}.pipeline{display:flex;margin:16px 0 25px;background:#fff;border:1px solid #dfe2e6}.pipeline span{position:relative;flex:1;padding:14px 8px;text-align:center;font-size:12px;border-right:1px solid #dfe2e6}.pipeline span.done{background:#eaf0f7;color:var(--navy);font-weight:700}.media-picker{display:flex;align-items:end;gap:18px}.media-picker img{width:360px;aspect-ratio:16/9;object-fit:cover}.tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:1px solid #cfd4db}.tabs button,.tabs a{padding:11px 20px;border:0;background:none}.tabs .active{border-bottom:3px solid var(--navy);font-weight:700}.sponsor-preview{display:flex;min-height:150px;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(135deg,#f1e5c5,#fff8e8);border:1px solid #c8a85e;color:var(--navy)}.sponsor-preview span{font-size:11px}.sponsor-preview strong{font:25px "Yu Mincho",serif}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.setting-card{background:#fff;border:1px solid #dfe2e6;padding:24px}.setting-card h2{font-family:"Yu Gothic",sans-serif;font-size:18px}.setting-card p{color:var(--muted);font-size:13px}.setting-card span{color:var(--blue);font-size:13px;font-weight:700}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.media-grid article{padding:10px;background:#fff;border:1px solid #dfe2e6}.media-grid img{width:100%;aspect-ratio:1;object-fit:cover}.media-grid p{font-size:13px;margin:8px 0 0}.media-grid small{color:var(--muted)}.tree-layout{display:grid;grid-template-columns:320px 1fr;gap:20px}.tree-layout>aside{background:#fff;border:1px solid #dfe2e6;padding:15px}.tree{margin-top:14px}.tree button{width:100%;padding:11px;border:0;border-bottom:1px solid #eee;background:#fff;text-align:left}.tree button.active{background:#edf0f4;font-weight:700}.tree small{float:right;color:var(--muted)}code{display:block;padding:10px;background:#f1f3f5;font-size:12px}.rating{color:#b48321;font-size:24px}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,1fr)}.person-grid{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:repeat(4,1fr)}.category-grid a{border-bottom:1px solid var(--line)}.feature-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){:root{font-size:15px}.header-main{height:62px;padding:0 15px}.header-main .brand{font-size:20px}.header-main .brand>span{width:29px;height:29px}.search-open{width:42px;padding:0;text-align:center}.search-open span{display:none}.member-nav{display:none}.menu-toggle{display:block;margin-left:auto}.global-nav{display:none;position:absolute;left:0;right:0;top:62px;height:auto;padding:18px;background:#fff;flex-direction:column;gap:12px;align-items:flex-start;box-shadow:var(--shadow)}.global-nav.open{display:flex}main,.wide{width:100%;padding:26px 15px 60px}.home-hero{min-height:520px}.hero-collage{grid-template-columns:1fr 1fr}.hero-collage img:first-child{grid-row:auto}.hero-message{padding:32px 18px}.hero-message h1{font-size:36px}.home-notice{align-items:flex-start;gap:8px;flex-wrap:wrap}.home-notice a{width:100%}.section-head{align-items:flex-start;flex-direction:column}.content-section{padding:45px 0}.product-grid,.results .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-copy{padding:13px}.product-card h3{font-size:15px}.voice-switch{margin:14px -13px -13px}.person-grid,.feature-grid,.criteria-grid,.cert-panels,.review-list,.listing-steps{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(2,1fr)}.search-layout,.product-hero,.person-hero,.editorial-card,.settings-layout,.edit-layout,.compare-grid,.tree-layout{grid-template-columns:1fr}.filters,.side-panel{position:static}.person-hero{gap:25px}.person-hero h1{font-size:38px}.feature-hero{margin-inline:-15px;width:calc(100% + 30px)}.field-row{grid-template-columns:1fr}.linked-blocks{grid-template-columns:1fr}.auth-card{padding:28px 20px}.page-head h1{font-size:34px}.intro-panel{padding:22px;font-size:18px}.company-table th{width:auto}.listing-hero{min-height:470px}.listing-page>.content-section,.listing-cta{width:calc(100% - 30px)}.listing-cta{padding:32px 20px}footer{grid-template-columns:1fr;align-items:start;gap:25px}.admin-shell{display:block}.admin-sidebar{position:static;width:auto;height:auto;padding-top:0}.admin-sidebar nav{display:flex;overflow:auto}.admin-sidebar a{white-space:nowrap}.admin-main{padding:20px 12px 60px}.stats{grid-template-columns:repeat(2,1fr)}.toolbar{flex-wrap:wrap}.toolbar input{max-width:none;width:100%}.settings-grid,.media-grid{grid-template-columns:repeat(2,1fr)}.pipeline{overflow:auto}.pipeline span{min-width:130px}.admin-header{position:static}.admin-shell{padding-top:0}}
@media(max-width:760px){.admin-login-page{padding:24px 14px}.admin-login-card{padding:30px 22px}.admin-login-card .page-head h1{font-size:28px}}
@media(max-width:430px){.product-grid,.results .product-grid,.settings-grid,.media-grid{grid-template-columns:1fr}.product-card>a img{aspect-ratio:4/3}.stats{grid-template-columns:1fr 1fr}.category-grid a{min-height:95px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Pattern 5 TOP tone-and-manner alignment */
:root{--navy:#14233b;--navy-2:#203653;--gold:#b08a43;--muted:#626a75;--line:#d9d3c7;--shadow:0 16px 40px rgba(20,35,59,.08);background:#fff}
body{background:#fff}
.header-main{height:70px;padding-inline:1.6vw}
.brand{align-items:center;gap:10px;color:var(--navy)}
.brand>i{display:block;width:3px;height:34px;background:var(--gold)}
.brand small{color:var(--red)}
.search-open{width:min(580px,46vw);background:#f4f2ed;border-color:#e7e2d8}
.global-nav{height:48px;gap:42px}
main{width:min(1440px,96.8vw)}
.hero-message{width:min(700px,86vw);background:rgba(250,248,243,.95);color:var(--navy);border:1px solid #d8cfbd;box-shadow:0 0 0 12px rgba(250,248,243,.72),var(--shadow)}
.hero-message::after{content:"";position:absolute;inset:13px;border:1px solid #ddd4c1;pointer-events:none}
.hero-message>*{position:relative;z-index:1}
.hero-message p{color:var(--red)}
.hero-message h1{font-size:clamp(36px,4.2vw,62px)}
.hero-message .button.light{background:var(--navy);border-color:var(--navy);color:#fff}
.page-head{padding:32px 0 24px}
.page-head h1{font-size:clamp(30px,3.2vw,48px);line-height:1.4}
.page-head h1::before,.section-head h2::before{content:"";display:inline-block;width:28px;height:1px;background:var(--gold);vertical-align:middle;margin-right:14px}
.search-page>.page-head{padding:24px 0 20px;margin-bottom:28px}
.search-page>.page-head h1{font-size:clamp(28px,2vw,36px)}
.search-page>.page-head>p{font-size:16px;line-height:1.8}
.search-page .filters h2{font-size:22px}
.search-page .filters .field>span,.search-page .filters>label:not(.field){font-size:16px}
.search-page .filters input,.search-page .filters select,.search-page .result-bar select{font-size:16px}
.search-page .filters{position:static;min-width:0}
.filter-mobile-toggle{display:none}
.hierarchy-filter{min-width:0;margin:24px 0;padding:18px 0 0;border:0;border-top:1px solid var(--line)}
.hierarchy-filter legend{padding:0 12px 0 0;font-size:18px;font-weight:700;color:var(--navy)}
.hierarchy-filter .field{margin:14px 0 0;min-width:0}
.search-page .hierarchy-filter .field>span{font-size:16px;color:var(--navy)}
.hierarchy-filter select{width:100%;min-width:0;min-height:48px;padding-inline:10px}
.hierarchy-filter select:disabled{background:#f3f2ef;color:#586273;border-color:#dedbd5;opacity:1;cursor:not-allowed}
.hierarchy-help,.hierarchy-state{margin:0;color:#344052;font-size:16px;line-height:1.7}
.hierarchy-state:not(:empty){margin-top:14px;padding-left:10px;border-left:2px solid var(--gold)}
.search-page .filter-chip{display:inline-flex;align-items:center;min-height:40px;text-decoration:none}
.search-page .filter-chip:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.search-page .results .product-grid{display:block}
.search-page .pagination{flex-wrap:wrap;align-items:center}
.search-page .pagination a{padding-inline:10px;min-height:44px;height:auto}
.search-page .result-bar{flex-wrap:wrap;gap:16px}
.search-page .results .product-card{position:relative;display:grid;grid-template-columns:minmax(220px,30%) minmax(0,1fr);min-height:292px;margin-bottom:24px;overflow:hidden;border-color:#e2ddd2;background:#fff;box-shadow:0 12px 30px rgba(20,35,59,.06)}
.search-page .results .product-card:hover{box-shadow:0 18px 42px rgba(20,35,59,.11)}
.search-page .results .product-card>a{display:block;width:100%;height:100%;min-height:292px;align-self:stretch;background:#f4f2ed;overflow:hidden}
.search-page .results .product-card>a img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;transition:transform .35s ease}
.search-page .results .product-card:hover>a img{transform:scale(1.035)}
.product-favorite-button{position:absolute;z-index:3;top:14px;right:14px;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(210,55,120,.38);border-radius:999px;background:rgba(255,255,255,.94);color:#d92b7b;box-shadow:0 10px 24px rgba(54,28,38,.16);backdrop-filter:blur(8px)}
.product-favorite-button .favorite-heart{width:23px;height:23px;stroke:#d92b7b}
.product-favorite-button:hover{background:#fff0f7;border-color:#d92b7b;transform:translateY(-1px)}
.product-favorite-button.selected{background:#ffe4f0;border-color:#d92b7b;color:#d92b7b}
.product-favorite-button.selected .favorite-heart{fill:#d92b7b;stroke:#d92b7b}
.product-favorite-button:disabled{opacity:.72;cursor:wait;transform:none}
.voice-switch-head{display:grid;gap:8px}
.voice-switch-title{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em}
.search-page .results .product-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto 1fr;gap:0 24px;min-height:292px;padding:26px 30px 22px}
.search-page .results .product-card .meta{grid-column:1/-1;min-height:0;margin:0 0 7px;color:#7a6445;font-size:13px!important;font-weight:700;letter-spacing:.06em}
.search-page .results .product-card h3{grid-column:1;max-width:760px;margin:0 0 9px;color:var(--navy);font-size:21px!important;line-height:1.45!important}
.search-page .results .product-card h3 a{display:inline;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .2s ease}
.search-page .results .product-card h3 a:hover{background-size:100% 1px}
.search-page .results .product-card>.product-copy>strong{grid-column:2;grid-row:2/4;align-self:start;justify-self:end;min-width:132px;margin:0;padding:12px 0 0;color:#16243a;font-size:20px}
.search-page .results .product-card strong small{font-size:12px!important}
.search-page .results .card-rating{grid-column:1;margin:0 0 7px;color:#384454;font-size:13px;line-height:1.3}
.search-page .results .card-rating b{margin-left:4px;color:#182130;font-size:13px}
.search-page .results .card-rating small{font-size:12px!important}
.search-page .results .card-store{grid-column:1/-1;margin:0 0 15px;color:#303a48;font-size:14px;font-weight:700;line-height:1.5}
.search-page .results .card-store::before{content:"販売元";display:inline-flex;align-items:center;min-height:22px;margin-right:9px;padding:0 8px;background:#f3f0e8;border:1px solid #e0d9ca;color:#6d5a3d;font-size:11px;font-weight:700}
.search-page .results .card-voices{grid-column:1/-1;display:grid;gap:0;align-self:end;margin-top:4px;padding:11px 0 0;border-top:1px solid #e7e0d2}
.search-page .results .card-voice{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;margin:0;padding:7px 0;color:#344052;font-size:14px;line-height:1.65;overflow:hidden}
.search-page .results .card-voice+.card-voice{border-top:1px solid #f0ece4}
.search-page .results .comment-label{display:inline-flex;align-items:center;justify-content:center;align-self:start;min-height:24px;margin:1px 0 0;padding:2px 7px;background:#f7f4ed;border:1px solid #dfd7c8;color:var(--navy);font-size:11px;line-height:1.4;white-space:nowrap}
.search-page .results .label-expert{color:#315b7c}.search-page .results .label-producer{color:#506b4a}.search-page .results .label-editorial{color:#8f2634}
.search-page .results .voice-switch{height:160px;min-height:160px;margin:0 -34px;padding:14px 34px;background:transparent;border:0;border-top:1px solid #e1dbce}
.search-page .results .voice-switch-head{display:flex;align-items:center;gap:16px}
.search-page .results .voice-switch-title{display:flex;align-items:center;gap:8px;flex:0 0 auto;color:var(--navy);font-size:16px}
.search-page .results .voice-switch-title::before{content:"";width:18px;height:1px;background:var(--gold)}
.search-page .results .voice-switch [role=tablist]{display:flex;gap:5px;width:min(330px,60%)}
.search-page .results .voice-switch button{flex:1;padding:7px 12px;background:#fff;border:1px solid #d8d2c7;color:#626a75;font-size:16px}
.search-page .results .voice-switch button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.search-page .results .voice-switch>p{position:relative;width:min(100%,760px);min-height:80px;margin:10px 0 0;padding:12px 17px 12px 40px;background:#f4f2ed;border:0;color:#303a48;font-size:16px;line-height:1.7}
.search-page .results .voice-switch>p::before{content:"●";position:absolute;top:11px;left:13px;color:var(--navy);font-size:9px}
.content-section{padding:60px 0}
.section-head{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.section-head h2{font-size:clamp(26px,2.2vw,33px)}
footer .brand i,.admin-header .brand i{background:var(--gold)}
footer .brand small{color:#fff}
.admin-body{background:#f4f3ef}
.admin-sidebar,.admin-main .content-section,.toolbar,.table-wrap,.form-card,.side-panel,.compare-grid>section,.setting-card,.media-grid article,.tree-layout>aside{border-color:#ded9cf}
.admin-sidebar a:hover,.admin-sidebar a.active,.tree button.active{background:#f0ede6;color:var(--navy);border-left:2px solid var(--gold)}
.admin-main .page-head h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif}

/* 利用規約 */
body{font-family:var(--font-sans,"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif)}
.auth-card{width:min(520px,100%)}
.admin-nav-group{margin:12px 0 6px;padding:10px 8px 4px;border-top:1px solid #e2e5e9}
.admin-nav-group>span{display:block;padding:0 6px 6px;color:#8a929d;font-size:11px;font-weight:700;letter-spacing:.08em}
.admin-nav-group>a{padding-left:18px!important}
.operation-guide{display:flex;align-items:flex-start;gap:24px;margin:-12px 0 24px;padding:15px 18px;background:#eaf0f6;border-left:3px solid var(--blue);color:#34465b}
.operation-guide strong{flex:0 0 auto;font-size:13px}
.operation-guide ol{display:flex;flex-wrap:wrap;gap:8px 28px;margin:0;padding:0;list-style-position:inside;font-size:12px}
.operation-guide.compact{display:block;margin:0 0 24px}.operation-guide.compact ol{display:block;margin-top:7px}.operation-guide.compact li+li{margin-top:4px}
.admin-product-context{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:center;margin-bottom:24px;padding:18px;background:#fff;border:1px solid #dfe2e6;border-top:3px solid var(--gold)}
.admin-product-context img{width:120px;height:120px;object-fit:cover}
.admin-product-context span{color:var(--muted);font-size:12px;font-weight:700}
.admin-product-context h2{margin:5px 0 7px;font-family:"Yu Gothic",sans-serif;font-size:20px}
.admin-product-context p{margin:0 0 8px;font-size:13px}
.admin-main .linked-blocks{grid-template-columns:repeat(4,minmax(0,1fr))}
.review-admin-table{overflow-x:auto}
.review-admin-table table{min-width:1240px}
.review-admin-table .review-content-cell{min-width:320px;white-space:normal;line-height:1.65}
.review-row-actions{display:flex;gap:6px}.review-row-actions .button{min-height:34px;padding:5px 11px;font-size:12px}
.product-media-grid article{display:flex;flex-direction:column;gap:7px}.product-media-grid .text-button{align-self:flex-start;margin-top:auto}
.product-gallery-main{transition:opacity .2s ease}.gallery-arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:42px;height:42px;padding:0;transform:translateY(-50%);border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(14,34,58,.72);color:#fff;font:32px/1 Georgia;cursor:pointer;transition:background .2s ease,transform .2s ease}.gallery-arrow:hover,.gallery-arrow:focus-visible{background:var(--navy);transform:translateY(-50%) scale(1.06)}.gallery-prev{left:14px}.gallery-next{right:14px}.gallery-counter,.gallery-auto-status{position:absolute;z-index:2;bottom:13px;padding:5px 9px;background:rgba(14,34,58,.76);color:#fff;font-size:11px}.gallery-counter{right:13px}.gallery-auto-status{left:13px}.thumbs{display:grid;grid-template-columns:repeat(6,minmax(0,70px));align-items:stretch}.thumbs button{position:relative;background:#fff;cursor:pointer}.thumbs button:not(.active){border-color:transparent}.thumbs button:focus-visible,.thumbs button:hover{border-color:var(--gold)}.gallery-more{display:grid;place-items:center;align-content:center;width:70px;height:70px;border:1px solid var(--line)!important;background:rgba(14,34,58,.94)!important;color:#fff}.gallery-more strong{font-size:17px}.gallery-more span{font-size:10px}.gallery-all-link{margin-top:13px;padding:0 0 4px;border:0;border-bottom:1px solid var(--navy);background:none;color:var(--navy);font-weight:700;cursor:pointer}.gallery-note{margin:10px 0 0;color:var(--muted);font-size:12px}.product-gallery-dialog{width:min(1120px,calc(100% - 40px));max-width:none}.gallery-dialog-head{display:flex;align-items:end;gap:18px;margin:0 35px 24px 0}.gallery-dialog-head h2{margin:0;font-size:26px}.gallery-dialog-head .meta{margin:0}.gallery-dialog-head span{margin-left:auto;color:var(--muted)}.gallery-dialog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery-dialog-grid figure{margin:0}.gallery-dialog-grid img{width:100%;aspect-ratio:1;object-fit:cover}.gallery-dialog-grid figcaption{padding-top:7px;color:var(--muted);font-size:12px}
.image-plan-panel{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(560px,1.3fr);gap:18px;margin-bottom:20px}.image-plan-current,.image-plan-spec{padding:22px;background:#fff;border:1px solid #dfe2e6}.image-plan-current{border-top:3px solid var(--gold)}.image-plan-current>div:first-child,.image-plan-current>div:nth-child(2){display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:7px 0}.image-plan-current span{color:var(--muted);font-size:12px}.image-plan-current strong{color:var(--navy);font-size:20px}.image-plan-current strong small{font-size:13px}.image-usage{height:7px!important;margin:12px 0 15px!important;padding:0!important;overflow:hidden;background:#ece8df;border-radius:9px}.image-usage i{display:block;height:100%;background:var(--gold)}.image-plan-current p{margin:0;padding:12px;background:#fff5dc;color:#6f5619;font-size:12px;line-height:1.7}.image-plan-spec h2{margin-top:0;font-size:18px}.image-plan-spec table{margin-bottom:14px}.image-plan-spec ul{margin:0;padding-left:1.4em;color:#596371;font-size:12px;line-height:1.8}.image-toolbar{align-items:center}.image-toolbar small{margin-left:auto;color:var(--muted)}.button:disabled{cursor:not-allowed;opacity:.45}.product-media-grid article{position:relative}.media-order{position:absolute;z-index:1;top:10px;left:10px;display:grid;place-items:center;width:28px;height:28px;background:rgba(14,34,58,.9);color:#fff;font-size:12px;font-weight:700}
.admin-products-table .table-wrap{overflow-x:auto}.admin-products-table table{min-width:1180px}.admin-products-table th:first-child,.admin-products-table td:first-child{width:82px;padding:9px 12px}.admin-product-thumb{display:block;width:58px;height:58px;border:0!important;background:#f4f1ea}.admin-product-thumb img{display:block;width:58px;height:58px;object-fit:cover}.admin-product-name{display:block;min-width:210px;white-space:normal;line-height:1.55}.admin-products-table td:nth-child(4){min-width:145px;white-space:normal}.admin-products-table td{vertical-align:middle}
.legal-document{color:#252c36;font-size:16px;line-height:2;letter-spacing:.015em}
.legal-document section{padding:0 0 42px;margin:0 0 42px;border-bottom:1px solid var(--line)}
.legal-document section:last-child{border-bottom:0}
.legal-document h2{margin:0 0 20px;color:var(--navy);font-size:clamp(21px,2vw,28px);line-height:1.5}
.legal-document p{margin:0 0 20px}
.legal-list{list-style:none;margin:0 0 24px;padding:0}
.legal-list>li{margin:0 0 10px;padding-left:2.8em;text-indent:-2.8em}
.legal-list ul{list-style:none;margin:10px 0 0;padding:0 0 0 2.8em;text-indent:0}
.legal-list ul li{margin:5px 0}

@media(max-width:760px){.legal-document{font-size:15px;line-height:1.9}.legal-document section{padding-bottom:32px;margin-bottom:32px}.legal-list>li{padding-left:0;text-indent:0}}
@media(max-width:760px){.search-page>.page-head h1{font-size:30px}.search-page .filters{padding:0;background:transparent;border:0}.filter-mobile-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:11px 14px;background:#fff;border:1px solid var(--line);color:var(--navy);font-weight:700}.filter-mobile-toggle::after{content:"＋";font-size:18px;line-height:1}.filters.is-open .filter-mobile-toggle::after{content:"−"}.search-page .filters:not(.is-open)>:not(.filter-mobile-toggle){display:none}.search-page .filters.is-open{padding:16px;background:#fff;border:1px solid var(--line)}.search-page .filters.is-open .filter-mobile-toggle{margin-bottom:16px;background:#f7f4ed}.search-page .results .product-card{display:flex;height:auto;min-height:0;margin-bottom:16px}.search-page .results .product-card>a{width:100%;height:auto;min-height:0}.search-page .results .product-card>a img{width:100%;height:auto;aspect-ratio:4/3}.product-favorite-button{top:12px;right:12px;width:44px;height:44px}.search-page .results .product-copy{display:flex;height:auto;padding:18px}.search-page .results .product-card .meta{margin-bottom:6px;font-size:12px!important}.search-page .results .product-card h3{font-size:18px!important}.search-page .results .product-card>.product-copy>strong{align-self:flex-start;min-width:0;margin:2px 0 8px;padding:0;font-size:18px}.search-page .results .card-store{margin-bottom:12px}.search-page .results .card-store::before{min-height:20px}.search-page .results .card-voices{display:grid;grid-template-columns:1fr;gap:8px;margin-top:2px;padding:0;border-top:0}.search-page .results .card-voice{display:block;min-height:0;padding:11px 12px;background:#faf8f3;border:1px solid #e6dfd2;font-size:13px;line-height:1.6;-webkit-line-clamp:3}.search-page .results .card-voice+.card-voice{border-top:1px solid #e6dfd2}.search-page .results .comment-label{margin:0 8px 4px 0;background:#fff}.search-page .results .voice-switch{height:auto;min-height:160px;margin:16px -18px -18px;padding:14px 18px}.search-page .results .voice-switch-head{align-items:flex-start;flex-direction:column;gap:8px}.search-page .results .voice-switch [role=tablist]{width:100%}.search-page .results .product-card h3{font-size:18px}}
@media(max-width:760px){.product-gallery{max-width:none}.gallery-arrow{width:38px;height:38px}.gallery-auto-status{display:none}.thumbs{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.thumbs img,.gallery-more{width:100%;height:auto;aspect-ratio:1}.gallery-more strong{font-size:14px}.gallery-more span{font-size:9px}.gallery-dialog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-dialog-head{align-items:flex-start;flex-direction:column;gap:5px}.gallery-dialog-head span{margin-left:0}.image-plan-panel{grid-template-columns:1fr}.image-plan-spec{overflow:hidden}.image-plan-spec .table-wrap{overflow:auto}.image-toolbar small{width:100%;margin-left:0}}
@media(max-width:760px){.photo-page-hero{grid-template-columns:1fr;padding:16px}.photo-page-grid{grid-template-columns:1fr 1fr;gap:12px}.photo-page-grid figcaption{padding:10px;font-size:14px}}
@media(max-width:760px){.purchase-button{grid-template-columns:38px 1fr;padding-right:42px!important}.purchase-button em{grid-column:2;grid-row:3;margin-top:4px;white-space:normal}.purchase-button i{grid-column:1/-1}.purchase-button strong{font-size:16px}}
@media(max-width:760px){.message-card{grid-template-columns:105px minmax(0,1fr);align-items:start;gap:17px;padding:20px}.message-person-photo{width:105px}.message-card h3{font-size:20px}.message-card blockquote{grid-column:1/-1;font-size:17px}.section-actions{width:100%;align-items:flex-start;flex-direction:column;gap:13px}.review-summary{grid-template-columns:1fr;gap:18px;padding:20px}.review-score>strong{font-size:46px}.review-toolbar{align-items:flex-start;flex-wrap:wrap;gap:12px}.review-toolbar b{width:100%;margin:0}.review-toolbar select{flex:1}.review-product-head{grid-template-columns:88px 1fr;padding:14px;gap:15px}.review-product-head>img{width:88px}.review-product-head h1{font-size:22px}.review-photos img{width:72px;height:72px}}

.person-profile-page{width:min(var(--site-max,1120px),100%);margin:0 auto;color:#202a38}.person-profile-page .breadcrumb{margin-bottom:26px}.person-profile-hero{display:grid;grid-template-columns:minmax(300px,400px) minmax(0,1fr);align-items:start;gap:44px;margin-bottom:48px;padding:32px;background:#fff;border:1px solid var(--line)}.person-profile-photo{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:center 15%;border-radius:4px}.person-profile-hero .meta{margin:0 0 6px;color:#8a7355;font-size:12px!important;font-weight:700;letter-spacing:.08em}.person-profile-hero h1{margin:0 0 8px;color:var(--navy);line-height:1.35}.person-profile-role{margin:0;color:#5b6675;font-size:15px!important;line-height:1.6}.person-profile-intro{margin:16px 0 0;padding-top:16px;border-top:1px solid var(--line);font-size:15px;line-height:1.95;color:#333c48}.person-products-section{padding-top:40px;border-top:1px solid var(--line)}.person-products-section .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.person-products-section .product-card{background:#fff}.person-products-section .product-card>a img{aspect-ratio:4/3;object-fit:cover}.person-products-section .product-copy>p:not(.meta){font-size:15px;line-height:1.8;color:#303a48}@media(max-width:900px){.person-profile-hero{grid-template-columns:220px minmax(0,1fr);gap:26px;padding:24px}.person-products-section .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.person-profile-hero{grid-template-columns:1fr;justify-items:start}.person-profile-photo{width:100%;max-width:320px}.person-products-section .product-grid{grid-template-columns:1fr}}

/* 文字サイズ設計：補助情報13px / 操作系14px / 本文16px（typographyレイヤーで統一） */
.public-body :is(small,.meta,.breadcrumb,.tag,.gallery-counter,.gallery-auto-status,.gallery-more span,.gallery-dialog-grid figcaption,.gallery-note,.draft-note,.auth-support-link,time){font-size:13px!important}
.public-body :is(label,.text-link,.feature-grid p,.criteria-grid p,.product-detail-page .section-head p,.product-detail-page .editorial-card p,.product-detail-page .editorial-card a,.product-detail-page .review-list p,.review-toolbar label,.rating-bars>div,.review-summary>p,.person-card blockquote,.home-notice,.notice-box){font-size:14px!important}
.public-body{color:#202a38}.public-body .legal-document{font-size:16px!important}
.public-body .muted,.public-body .meta,.public-body small{color:#4d5867}
.result-bar label{display:flex;align-items:center;gap:10px;font-weight:700}
.active-filter-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:50px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--line);background:#fbfaf7}
.active-filter-summary>b{margin-right:4px;color:var(--navy);font-size:16px}
.filter-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;background:#fff;border:1px solid var(--line);font-size:16px;text-decoration:none}
.filter-empty{color:var(--muted);font-size:16px}
.filter-clear{display:block;margin-top:14px;text-align:center;text-decoration:underline}
.saved-item-state{display:flex;flex-wrap:wrap;gap:10px 20px;margin:0 0 24px;padding:16px 18px;background:#fff;border:1px solid var(--line)}
.saved-item-state strong{width:100%;color:var(--navy)}
.history-item{position:relative;margin-bottom:18px}.history-item>.product-card{margin-bottom:0}.history-remove{position:absolute;right:18px;bottom:18px;padding:7px 12px;border:1px solid var(--line);background:#fff}
.empty-state{padding:52px 24px;text-align:center;background:#fff;border:1px solid var(--line)}
.password-rules{margin:-5px 0 20px;padding:15px 18px 15px 38px;background:#f4f2ed;color:#3f4957}
.captcha-demo{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px;padding:16px;border:1px solid var(--line);background:#fafafa}
.auth-status-card{text-align:center}.auth-status-card .page-head{text-align:left}.auth-status-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 24px;border-radius:50%;background:var(--navy);color:#fff;font-size:36px}.auth-status-note{margin-top:20px;color:#4d5867}
.review-image-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:16px}.review-image-preview:empty{display:none}.review-image-preview figure{position:relative;margin:0}.review-image-preview img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block}.review-image-preview figcaption{display:none}.review-preview-remove{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;border:1px solid #d9dee6;background:#fff;color:#17263e;font-size:16px;line-height:1;cursor:pointer;box-shadow:0 1px 4px rgb(0 0 0 / 20%);display:flex;align-items:center;justify-content:center;padding:0}.review-preview-remove:hover{background:#f4f4f6}.review-preview-note{grid-column:1/-1;margin:0;font-size:13px;color:#64748b}
.purchase a+a{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.qr-demo{display:grid;place-items:center;width:132px;aspect-ratio:1;margin:14px auto;background:repeating-conic-gradient(#12233d 0 25%,#fff 0 50%) 0/18px 18px;border:10px solid #fff;box-shadow:0 0 0 1px var(--line);font-weight:700;color:#fff;text-shadow:0 1px 3px #000}
@media(max-width:760px){.review-image-preview{grid-template-columns:repeat(3,1fr)}.history-remove{position:static;width:100%;margin-top:8px}.saved-item-state{display:grid}.captcha-demo{align-items:flex-start;flex-direction:column}}
th{background:#faf8f3}
td a,.side-panel a,.setting-card span{color:var(--navy)}
td a{border-bottom:1px solid var(--gold)}
.tabs .active{border-bottom-color:var(--gold)}
.pipeline span.done,.ai-result{background:#f0ede6}

@media(max-width:760px){
  .header-main .brand>i{height:29px}
  .hero-message{box-shadow:0 0 0 6px rgba(250,248,243,.72),var(--shadow)}
  .hero-message::after{inset:8px}
  main,.wide{width:100%}
  body.public-body>footer{grid-template-columns:1fr;gap:15px;padding:36px 22px}
  body.public-body>footer nav{grid-template-columns:1fr 1fr;gap:10px 16px}
  body.public-body>footer nav a{width:auto}
}

/* Category master: L/M hierarchy with imported category thumbnails. */
.category-master-layout{grid-template-columns:minmax(360px,430px) minmax(0,1fr)}
.category-master-layout>aside{max-height:calc(100vh - 190px);overflow:auto}
.category-tree-group+ .category-tree-group{margin-top:14px}
.category-master-tree .category-parent{font-size:15px}
.category-master-tree .category-tree-item{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:8px 10px 8px 28px;
}
.category-master-tree .category-tree-item img{width:48px;height:48px;object-fit:cover;background:#f2f0eb}
.category-master-tree .category-tree-item span{min-width:0;font-weight:600}
.category-master-tree .category-tree-item small{display:block;float:none;margin-top:2px;font-size:12px;font-weight:400}
.category-master-tree .category-tree-item.selected{background:#f0ede6;color:var(--navy);box-shadow:inset 3px 0 var(--gold)}
.category-image-preview{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid #ded9cf}
.category-image-preview img{width:180px;height:180px;object-fit:cover;background:#f2f0eb}
.category-image-preview strong{display:block;margin-bottom:8px;font-size:18px}
.category-image-preview p{color:var(--muted);line-height:1.7}
@media(max-width:900px){.category-master-layout{grid-template-columns:1fr}.category-master-layout>aside{max-height:none}.category-image-preview{grid-template-columns:140px 1fr}.category-image-preview img{width:140px;height:140px}}

/* 関係者向けマークアップ確認一覧 */
.markup-review-page{padding-bottom:80px}
.review-page-summary{display:grid;grid-template-columns:repeat(3,minmax(0,220px));gap:16px;margin:0 0 42px}
.review-page-summary>div{padding:20px 22px;border:1px solid var(--line);background:#fff}
.review-page-summary span,.review-page-summary small{display:block;color:var(--muted);font-size:16px}
.review-page-summary strong{display:inline-block;margin:8px 8px 0 0;color:var(--navy);font:600 34px/1 Arial,sans-serif}
.review-page-summary small{display:inline}
.review-page-group{margin-top:44px}
.review-page-group-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--gold)}
.review-page-group-head h2{margin:0;color:var(--navy);font:600 27px/1.45 "Yu Mincho","Hiragino Mincho ProN",serif}
.review-page-group-head span{color:var(--muted);font-size:16px}
.review-page-table table{min-width:1080px}
.review-page-table th:nth-child(1),.review-page-table td:nth-child(1){width:64px;text-align:center}
.review-page-table th:nth-child(2),.review-page-table td:nth-child(2){width:250px}
.review-page-table th:nth-child(4),.review-page-table td:nth-child(4){width:310px}
.review-page-table td{vertical-align:top;line-height:1.7}
.review-page-table td a{overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.review-page-note{margin-top:26px;color:var(--muted);font-size:16px}
@media(max-width:700px){
  .review-page-summary{grid-template-columns:1fr;gap:10px}
  .review-page-summary>div{padding:16px 18px}
  .review-page-group-head{align-items:center}
  .review-page-group-head h2{font-size:23px}
}

/* 商品詳細内で完結する編集部記事 */
.product-editorial-article{overflow:hidden;background:#fff;border:1px solid var(--line)}
.product-editorial-header{width:min(860px,calc(100% - 48px));margin:0 auto;padding:52px 0 38px}
.product-editorial-header .meta{margin-bottom:16px;color:var(--muted);font-size:16px}
.product-editorial-header h3{margin:0 0 22px;color:var(--navy);font:600 clamp(30px,3.2vw,46px)/1.5 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.03em}
.product-editorial-lead{margin:0;color:#303a48;font-size:18px;line-height:2}
.product-editorial-hero{margin:0}
.product-editorial-hero img{display:block;width:100%;aspect-ratio:16/7;object-fit:cover}
.product-editorial-hero figcaption{padding:13px 24px;background:#f3f0e9;color:var(--muted);font-size:16px;line-height:1.7;text-align:center}
.product-editorial-body{width:min(820px,calc(100% - 48px));margin:0 auto;padding:48px 0 56px}
.product-editorial-body>p{margin:0 0 24px;color:#26313f;font-size:17px;line-height:2.05}
.product-editorial-body>h4{margin:54px 0 18px;padding-left:18px;border-left:3px solid var(--gold);color:var(--navy);font:600 26px/1.55 "Yu Mincho","Hiragino Mincho ProN",serif}
.product-editorial-points{margin:42px 0 48px;padding:30px;background:#f4f2ed;border-top:2px solid var(--gold)}
.product-editorial-points h4{margin:0 0 22px;color:var(--navy);font-size:22px}
.product-editorial-points ol{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0;padding:0;background:var(--line);list-style:none}
.product-editorial-points li{padding:22px;background:#fff}
.product-editorial-points li>span{display:block;margin-bottom:12px;color:var(--gold);font:600 22px/1 Georgia,serif}
.product-editorial-points li>strong{display:block;margin-bottom:9px;color:var(--navy);font-size:17px}
.product-editorial-points li>p{margin:0;color:#3f4957;font-size:16px;line-height:1.8}
/* 記事本文の画像ブロック：バナーに見えないよう、画像を上・キャプションはその下にさりげなく添える構成。
   出典リンク（.img-credit）は画像だけにかぶせたいので、画像専用のラッパーに position:relative を持たせる。 */
.product-editorial-detail-figure{margin:36px 0 50px;background:none;text-align:center}
.product-editorial-detail-figure-media{position:relative;display:inline-block;max-width:100%}
.product-editorial-detail-figure img{display:block;width:auto;max-width:100%;max-height:70vh;aspect-ratio:auto;margin:0 auto}
.product-editorial-detail-figure figcaption{margin-top:10px;padding:0 4px;color:#7a7060;font-size:13px;line-height:1.7;text-align:center}
.product-editorial-detail-figure figcaption strong{display:block;margin-bottom:3px;color:var(--navy);font-size:14px;font-weight:600}
.product-editorial-detail-figure.is-image-only figcaption{display:none}
.product-editorial-note{margin-top:40px;padding:24px 28px;border:1px solid var(--line);background:#faf9f6}
.product-editorial-note>strong{display:block;margin-bottom:13px;color:var(--navy);font-size:18px}
.product-editorial-note dl{margin:0}.product-editorial-note dl>div{display:grid;grid-template-columns:110px 1fr;padding:9px 0;border-top:1px solid var(--line)}
.product-editorial-note dt{font-weight:700}.product-editorial-note dd{margin:0}
.product-editorial-author{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:36px;padding-top:22px;border-top:1px solid var(--line)}
.product-editorial-author span{color:var(--muted);font-size:16px}.product-editorial-author strong{color:var(--navy)}
@media(max-width:760px){
  .product-editorial-header,.product-editorial-body{width:calc(100% - 36px)}
  .product-editorial-header{padding:36px 0 28px}
  .product-editorial-header h3{font-size:29px}
  .product-editorial-lead{font-size:17px}
  .product-editorial-hero img{aspect-ratio:4/3}
  .product-editorial-hero figcaption{text-align:left}
  .product-editorial-body{padding:34px 0 42px}
  .product-editorial-points{margin:32px -4px 40px;padding:22px 18px}
  .product-editorial-points ol{grid-template-columns:1fr}
  .product-editorial-note dl>div{grid-template-columns:1fr;gap:5px}
  .product-editorial-author{align-items:flex-end;flex-direction:column;gap:4px}
}

/* いいモノ.comとは */
.about-page{--about-muted:#26364b;--about-line:#dcd5c9;--about-paper:#f7f5f0;width:100%;padding:0;background:#fff;color:var(--navy);font-size:18px;font-weight:500}
.about-page *{box-sizing:border-box}
.about-page h1,.about-page h2,.about-page h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}
.about-page h2{margin:0;font-size:clamp(28px,2.6vw,40px);line-height:1.6;letter-spacing:.035em;text-wrap:balance}
.about-page h2>span{display:inline-block}
.about-page h3{margin:0;font-size:22px;line-height:1.6}
.about-page p{font-size:20px;line-height:1.9}
.about-page a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.about-container{width:min(1240px,calc(100% - 80px));margin-inline:auto}
.about-section-label,.about-eyebrow{margin:0 0 20px;font-size:18px!important;font-weight:700;letter-spacing:.06em;color:#72531d}
.about-hero{display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:clamp(32px,4vw,64px);padding-block:70px;padding-inline:max(24px,calc((100% - var(--site-max)) / 2));background:var(--navy);color:#fff;border-bottom:3px solid var(--gold)}
.about-eyebrow{color:#dbc48e}
.about-hero h1{margin:0;font-size:clamp(24px,2.85vw,50px);line-height:1.5;letter-spacing:.025em}
.about-hero h1>span{display:block}
.about-hero-message>span{display:inline-block;white-space:nowrap}
.about-hero h1 .about-hero-pre{margin-bottom:15px;font-size:clamp(18px,1.65vw,26px);letter-spacing:.02em}
.about-lead{margin:25px 0 30px;font-size:22px!important;line-height:1.9!important;color:#fff}
.about-primary-link{display:inline-flex;justify-content:center;align-items:center;gap:48px;min-height:56px;padding:13px 26px;border:1px solid #d7c393;background:#fff;color:var(--navy);font-size:18px;font-weight:700;text-decoration:none}
.about-primary-link:hover{background:#f4efdf}
.about-hero-images{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:600px;justify-self:end;width:100%}
.about-hero-images figure{position:relative;margin:0;aspect-ratio:1.45;overflow:hidden}
.about-hero-images .about-hero-main{grid-column:1/-1;aspect-ratio:1.8}
.about-hero-images img{display:block;width:100%;height:100%;object-fit:cover}
.about-hero-images figcaption{position:absolute;bottom:0;left:0;right:0;padding:24px 16px 12px;color:#fff;background:linear-gradient(transparent,rgba(12,25,43,.82));font-size:18px}
.about-intro{display:grid;grid-template-columns:1fr 1.1fr;gap:72px;padding-block:88px}
.about-intro h2>span{display:block}
.about-intro p:not(.about-section-label){margin:0 0 16px;color:var(--about-muted)}
.about-discovery{padding:76px 0;background:var(--about-paper);border-block:1px solid var(--about-line)}
.about-section-head{margin-bottom:38px}
.about-section-head>p:last-child:not(.about-section-label){margin:20px 0 0;color:var(--about-muted)}
.about-example{display:grid;grid-template-columns:.85fr 1.15fr;background:white;border:1px solid var(--about-line)}
.about-example-product{display:flex;flex-direction:column;color:var(--navy);text-decoration:none;border-right:1px solid var(--about-line)}
.about-example-product>img{width:100%;aspect-ratio:1.3;height:auto;object-fit:cover}
.about-example-product>div{padding:25px 30px}
.about-example-product p{margin:0 0 8px;color:var(--about-muted)}
.about-example-product h3{margin-bottom:18px}
.about-example-product>div>span{font-size:18px;font-weight:700;text-decoration:underline;text-underline-offset:6px}
.about-perspectives{padding:32px 36px}
.about-perspectives article{display:flex;gap:18px;padding:20px 0;border-bottom:1px solid var(--about-line)}
.about-perspectives article:first-of-type{padding-top:0}
.about-number{font:24px Georgia,serif;color:#806126;flex-shrink:0}
.about-perspectives article p{margin:8px 0 0;color:var(--about-muted)}
.about-page .about-note{margin:18px 0 0;color:var(--about-muted);font-size:18px;line-height:1.85}
.about-people-links{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}
.about-people-links>a{display:flex;align-items:center;gap:22px;padding:22px;background:#fff;border:1px solid var(--about-line);color:var(--navy);text-decoration:none}
.about-people-links img{width:104px;height:104px;object-fit:cover;flex-shrink:0}
.about-people-links p{margin:8px 0 0;color:var(--about-muted)}
.about-people-links>a>span{margin-left:auto;font-size:24px}
.about-people-links a:hover,.about-example-product:hover{background:#faf9f6}
.about-selection{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:60px;padding-block:84px}
.about-selection>div>p:not(.about-section-label){color:var(--about-muted)}
.about-text-link{display:inline-flex;align-items:center;gap:32px;margin-top:26px;padding-bottom:6px;border-bottom:1px solid var(--navy);color:var(--navy);font-size:18px;font-weight:700;text-decoration:none}
.about-selection-marks{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.about-selection-mark{padding:34px 16px;text-align:center;border:1px solid #b69956;outline:1px solid rgba(255,255,255,.8);outline-offset:-7px;background:linear-gradient(125deg,#f6edce,#deca8d);color:#3b321f}
.about-selection-mark.is-silver{border-color:#9ea5ac;background:linear-gradient(125deg,#f5f6f7,#d0d5dc);color:#283445}
.about-selection-mark span{display:block;font-size:18px;line-height:1.7}
.about-selection-mark strong{display:block;margin:24px 0;font:46px "Yu Mincho",serif;letter-spacing:.12em}
.about-guide{background:var(--navy);color:white;padding-block:70px}
.about-guide .about-section-label,.about-guide .about-number{color:#dbc48e}
.about-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:38px;margin:0;padding:0}
.about-steps li{padding-top:22px;border-top:1px solid #647084}
.about-steps h3{margin:15px 0 10px;font-size:25px}
.about-steps p{margin:0;color:#f0f2f5}
.about-purchase-note{margin:30px 0 0;padding-top:24px;border-top:1px solid #647084;color:#f0f2f5}
.about-trust{padding-block:68px}
.about-trust h2{font-size:28px}
.about-trust>div{max-width:900px;margin-top:28px}
.about-trust h3{font-size:20px}
.about-trust p{margin:12px 0 0;color:var(--about-muted)}
.about-cta{padding:62px 24px 70px;text-align:center;background:var(--about-paper);border-top:1px solid var(--about-line)}
.about-cta>*{max-width:var(--site-max);margin-inline:auto}
.about-cta p{margin:0 0 16px;color:#806126}
.about-cta h2{margin-bottom:26px}
.about-cta .about-primary-link{background:var(--navy);color:white;border-color:var(--navy)}
.about-cta .about-primary-link:hover{background:#263d55}
@media(max-width:1050px){
.about-container{width:calc(100% - 48px)}
.about-hero{gap:30px;padding:54px 32px}
.about-intro,.about-selection{gap:36px}
.about-perspectives{padding:26px}
.about-people-links{gap:18px}
.about-people-links>a{padding:18px;gap:16px}
.about-people-links img{width:80px;height:80px}
.about-people-links h3{font-size:20px}
}
@media(max-width:900px){
.about-container{width:calc(100% - 40px)}
.about-hero{grid-template-columns:1fr;padding:40px 22px 28px;gap:32px}
.about-hero h1{font-size:clamp(29px,8vw,46px)}
.about-hero h1 .about-hero-pre{font-size:clamp(18px,4.5vw,22px);margin-bottom:14px;white-space:nowrap}
.about-eyebrow{margin-bottom:20px}
.about-lead{font-size:20px!important;margin:20px 0 24px}
.about-lead br{display:none}
.about-page p{font-size:18px;line-height:1.9}
.about-primary-link{gap:40px}
.about-hero-images{max-width:none;grid-template-columns:1.3fr 1fr;gap:10px}
.about-hero-images .about-hero-main{grid-column:auto;grid-row:1/3;aspect-ratio:auto}
.about-hero-images figure{aspect-ratio:1.8}
.about-hero-images figcaption{font-size:18px;padding:18px 8px 8px}
.about-hero-images figcaption{display:none}
.about-intro,.about-selection{grid-template-columns:1fr;gap:24px;padding-block:48px}
.about-page h2{font-size:28px}
.about-section-label{margin-bottom:14px}
.about-discovery{padding-block:46px}
.about-section-head{margin-bottom:26px}
.about-section-head br{display:none}
.about-example{grid-template-columns:1fr}
.about-example-product{border-right:0;border-bottom:1px solid var(--about-line)}
.about-example-product>img{aspect-ratio:1.35;max-height:340px}
.about-example-product>div{padding:22px}
.about-perspectives{padding:24px 20px}
.about-page h3{font-size:21px}
.about-perspectives article{gap:14px}
.about-people-links{grid-template-columns:1fr;gap:14px;margin-top:18px}
.about-people-links>a{padding:16px;gap:14px;align-items:flex-start}
.about-people-links>a>span{display:none}
.about-people-links img{width:70px;height:70px}
.about-people-links h3{font-size:19px}
.about-people-links p{line-height:1.75}
.about-selection-marks{gap:12px}
.about-selection-mark{padding:25px 12px}
.about-selection-mark strong{font-size:38px;margin:18px 0}
.about-selection-mark span:last-child{display:none}
.about-guide{padding-block:48px}
.about-steps{grid-template-columns:1fr;gap:24px}
.about-steps li{display:grid;grid-template-columns:38px 1fr;gap:6px 12px;padding-top:18px}
.about-steps .about-number{grid-row:1/3;padding-top:4px}
.about-steps h3,.about-steps p{margin:0}
.about-trust{padding-block:46px}
.about-trust>div{grid-template-columns:1fr;gap:24px;margin-top:24px}
.about-cta{padding:42px 20px 48px}
}
@media(max-width:400px){
.about-selection h2{font-size:24px;letter-spacing:0}
.about-selection-marks{grid-template-columns:1fr}
.about-selection-mark{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px}
.about-selection-mark strong{font-size:32px;margin:0;white-space:nowrap}
.about-selection-mark span:first-child{max-width:10em;text-align:left;word-break:keep-all}
}

/* Product information links: in-page messages, separate editorial. */
.pr-mark{display:inline-block;padding:3px 10px;border:1px solid var(--navy);color:var(--navy);font-size:16px;font-weight:700;line-height:1.5}
.pr-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.article-subnav{display:flex;gap:8px;margin:0 0 32px;border-bottom:1px solid var(--line);overflow-x:auto}
.article-subnav a{display:block;flex:0 0 auto;padding:14px 22px;font-size:16px;font-weight:700;color:var(--navy);border-bottom:3px solid transparent}
.article-subnav a[aria-current]{border-bottom-color:var(--navy);background:#f3f4f6}
.article-subnav a:focus-visible{outline:2px solid var(--navy);outline-offset:-3px}
.article-title-tabs{display:flex;gap:8px;overflow-x:auto;align-items:stretch;margin-bottom:24px;padding-bottom:6px;scrollbar-width:thin}
.article-title-tabs a{flex:1 0 200px;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;padding:12px 16px;line-height:1.65;white-space:normal;overflow-wrap:anywhere;border:1px solid var(--line);border-bottom:3px solid transparent}
.article-title-tabs a.has-pr{grid-template-columns:42px minmax(0,1fr);column-gap:10px}
.article-title-tabs a[aria-current]{background:var(--navy);color:#fff;border-color:var(--navy)}
.article-title-tabs .article-title-pr{display:flex;align-items:center;justify-content:flex-start;min-width:0}
.article-title-tabs .pr-mark{padding:2px 9px;font-size:15px;line-height:1.45}
.article-title-tabs a[aria-current] .pr-mark{border-color:#fff;color:#fff}
.article-title-tabs .article-title-text{min-width:0}
.article-title-tabs~.product-editorial-article .product-editorial-header h1{font-size:clamp(26px,2.3vw,34px);line-height:1.55;text-wrap:balance}
.article-tab-label-preview{display:grid;gap:8px;margin:0 0 24px;font-size:16px}
.article-tab-label-preview strong{display:block;max-width:300px;padding:12px 16px;background:var(--navy);color:#fff;overflow-wrap:anywhere}
@media(max-width:700px){.article-title-tabs a{flex:0 0 76%;max-width:300px}}
.pr-article-grid .featured-article-card{grid-column:1/-1}
.pr-article-grid .featured-article-card>a{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center}
.pr-article-grid .featured-article-card>a>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.pr-article-grid .featured-article-card h3{font-size:clamp(22px,2.2vw,30px);line-height:1.6}
.featured-admin-preview{display:flex;align-items:center;gap:20px}
.featured-admin-preview img{width:180px;aspect-ratio:16/9;object-fit:cover}
.article-sponsor-note{font-size:16px;line-height:1.8;color:var(--navy)}
@media(max-width:700px){.pr-article-grid .featured-article-card>a{grid-template-columns:1fr}.featured-admin-preview{flex-wrap:wrap}}
.pr-article-card{border:1px solid var(--line);background:#fff;min-width:0}
.pr-article-card a{color:var(--navy);text-decoration:none}
.pr-article-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.pr-article-card a>div{padding:22px}
.pr-article-card h3{font-size:22px;line-height:1.7;margin:12px 0}
.pr-article-card p,.pr-article-card time{font-size:16px;line-height:1.7}
.structured-article-section{margin:48px 0}
.structured-article-section>h2{font-size:28px;line-height:1.6;border-left:3px solid var(--gold);padding-left:18px;margin:0 0 24px;color:var(--navy)}
.structured-article-section h3{font-size:23px;line-height:1.7;margin:32px 0 18px;color:var(--navy)}
.structured-article-section p{font-size:20px;line-height:2;color:#26364b}
.article-dialogue{display:grid;gap:24px;margin:24px 0 36px}
.dialogue-turn{display:grid;grid-template-columns:84px minmax(0,1fr);gap:20px;align-items:start;width:92%;justify-self:start}
.dialogue-turn.answer{grid-template-columns:minmax(0,1fr) 84px;justify-self:end}
.dialogue-turn.answer .dialogue-speaker{grid-column:2;grid-row:1}
.dialogue-turn.answer .dialogue-text{grid-column:1;grid-row:1}
.dialogue-speaker{display:grid;justify-items:center;gap:8px;text-align:center;font-size:16px;color:var(--navy);overflow-wrap:anywhere}
.dialogue-speaker>span{display:grid;place-items:center;width:60px;height:60px;border:1px solid var(--navy);border-radius:50%;font-size:22px;background:#fff}
.dialogue-speaker>img{width:60px;height:60px;border:1px solid var(--navy);border-radius:50%;object-fit:cover;background:#fff}
.dialogue-text{--bubble-background:#fff;--bubble-border:var(--line);position:relative;min-width:0;padding:20px 26px;border:1px solid var(--bubble-border);background:var(--bubble-background);border-radius:18px;overflow-wrap:anywhere}
.dialogue-text::before{content:"";position:absolute;top:23px;left:-7px;width:12px;height:12px;background:var(--bubble-background);border-left:1px solid var(--bubble-border);border-bottom:1px solid var(--bubble-border);transform:rotate(45deg)}
.dialogue-text p{margin:0;font-size:20px;line-height:2}
.answer .dialogue-text{--bubble-background:var(--navy);--bubble-border:var(--navy);color:#fff}
.answer .dialogue-text::before{left:auto;right:-7px;border-left:0;border-bottom:0;border-right:1px solid var(--bubble-border);border-top:1px solid var(--bubble-border)}
.dialogue-turn.answer .dialogue-text p{color:#fff}
.answer .dialogue-speaker>span{background:var(--navy);color:#fff}
.article-editor{max-width:1160px}
.article-editor-toolbar,.article-block-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.article-editor-toolbar{margin:24px 0}
.article-editor [role=status]{min-height:28px;font-size:16px;font-weight:700}
.article-h2-editor{border:1px solid #b9c4d2;background:#fff;padding:26px;margin:28px 0}
.article-h2-editor>header,.article-h3-editor>header{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap}
.article-h2-editor h2,.article-h3-editor h3{margin:0;color:var(--navy)}
.article-h3-editor{padding:24px;margin:20px 0;background:#f4f6f8;border-left:3px solid var(--navy)}
.article-turn-editor{padding:20px;background:#fff;border:1px solid var(--line);margin:18px 0}
.article-turn-editor>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:15px}
.article-editor .button{font-size:16px}
.article-editor .button:disabled{opacity:.4;cursor:not-allowed}
.article-editor input,.article-editor select,.article-editor textarea{font-size:16px;max-width:100%}
.article-editor textarea{min-height:110px;resize:vertical}
.article-image-editor{border:1px dashed #aebbc9;padding:20px;margin:20px 0;background:#fff}
.article-image-editor>p{font-size:16px;line-height:1.8}
.article-section-image{margin:24px 0 32px}
.article-section-image img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain;background:#f4f6f8}
.article-section-image figcaption{font-size:16px;line-height:1.8;color:#26364b;margin-top:10px}
.article-image-editor .article-section-image{max-width:360px;margin:16px 0}
.article-image-editor .article-section-image img{max-height:200px}
.article-preview-dialog{width:min(960px,calc(100vw - 40px));max-height:90vh;overflow:auto;padding:30px;border:1px solid var(--line)}
.article-preview-dialog::backdrop,.article-delete-dialog::backdrop{background:#14233b80}
.article-preview-content{max-width:800px;margin:30px auto}
.article-preview-content h1{font-size:32px;line-height:1.6}
.article-delete-dialog{max-width:560px;padding:30px;border:1px solid var(--line)}
@media(max-width:700px){
 .pr-article-grid{grid-template-columns:1fr}
 .structured-article-section>h2{font-size:24px}
 .structured-article-section h3{font-size:21px}
 .structured-article-section p,.dialogue-text p{font-size:18px}
 .dialogue-turn{grid-template-columns:52px minmax(0,1fr);gap:12px;width:96%}
 .dialogue-turn.answer{grid-template-columns:minmax(0,1fr) 52px}
 .dialogue-speaker{display:grid;justify-items:center;gap:6px;text-align:center;line-height:1.5}
 .dialogue-speaker>span,.dialogue-speaker>img{width:42px;height:42px;font-size:18px;flex-shrink:0}
 .dialogue-text{padding:14px 16px}
 .dialogue-text::before{top:16px}
 .product-information-nav{overflow-x:auto}
 .product-information-nav a{flex:0 0 auto!important;min-width:76px!important;padding-inline:14px!important}
}
.product-information-nav{position:sticky;top:var(--product-header-height,118px);z-index:30;display:flex;background:#fff;border:1px solid var(--line);margin:0 0 32px;box-shadow:0 3px 12px #14233b08}
.product-information-nav a{flex:1;min-width:0;padding:16px 8px;text-align:center;color:var(--navy);font-size:16px;font-weight:700;text-decoration:none;border-bottom:3px solid transparent}
.rating-bars>div{grid-template-columns:6.5em minmax(0,1fr) 3em;font-size:16px}
.rating-bars>div>span{white-space:nowrap}
/* Keep the secondary favorite action compact without reducing its tap target. */
.product-detail-page .product-summary>.button[data-favorite]{width:fit-content;max-width:100%;min-height:44px;padding:8px 16px;gap:8px;font-size:16px;line-height:1.5;white-space:normal;text-align:center;background:#fff4f8;border-color:#d46a91;color:var(--navy)}
.favorite-heart{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:#bf3c70;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.product-detail-page .product-summary>.button[data-favorite]:hover{background:#fce5ee;border-color:#bf3c70}
.product-detail-page .product-summary>.button[data-favorite].selected{background:#fce5ee;border-color:#bf3c70}
.favorite-button.selected .favorite-heart{fill:#bf3c70}
.favorite-button:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.product-information-nav a[aria-current]{background:var(--navy);color:#fff}
.product-map-card{border:1px solid var(--line);background:#fff;overflow:hidden}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:8px 10px;list-style:none;margin:0;padding:0;min-width:0;font-size:13px;line-height:1.7}
.breadcrumb li{display:inline;overflow-wrap:anywhere}
.breadcrumb li+li::before{content:'›';margin-right:10px;color:var(--muted)}
.product-map-info{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;color:var(--navy)}
.product-map-info h3{margin:0 0 8px;font-size:20px;line-height:1.5}
.product-map-info p{margin:0;font-size:16px;line-height:1.8}
.product-map-info .button{flex-shrink:0;min-height:44px;font-size:16px;color:var(--navy)}
.product-map-frame{display:block;width:100%;height:400px;border:0;background:#f3f4f6}
.product-map-note{margin:0;padding:20px 24px;color:var(--navy);font-size:16px;line-height:1.8}
@media(max-width:640px){.product-map-info{align-items:flex-start;flex-direction:column;gap:16px;padding:20px}.product-map-frame{height:320px}.product-map-note{padding:20px}.product-map-info .button{max-width:100%;white-space:normal}}
.product-information-nav a:hover,.product-information-nav a:focus-visible{border-bottom-color:var(--gold)}
.product-detail-page [id],.editorial-page [id]{scroll-margin-top:calc(var(--product-header-height,118px) + var(--product-nav-height,64px) + 24px)}
.editorial-page{max-width:1120px;margin:auto}
.editorial-page .breadcrumb{flex-wrap:wrap;line-height:1.7}
.editorial-product-context{display:flex;gap:18px;align-items:center;margin:0 auto 32px;max-width:800px}
.editorial-product-context img{width:64px;height:64px;object-fit:cover}
.editorial-product-context div{display:grid;gap:6px;min-width:0}
.editorial-product-context span{font-size:16px}
.editorial-product-context a{font-size:18px;color:var(--navy);text-underline-offset:5px}
.editorial-page .product-editorial-article{border:0}
/* 記事ページでは商品タブを追従させない（スクロールで画面上部に貼り付かない） */
.editorial-page .product-information-nav{position:static;top:auto;z-index:auto;box-shadow:none}
.editorial-page .product-editorial-header,.editorial-page .product-editorial-body{width:min(1040px,calc(100% - 40px))}
.editorial-page .product-editorial-header{padding:12px 0 36px}
.editorial-eyebrow{color:var(--navy);font-size:16px;font-weight:700;letter-spacing:.08em}
.editorial-page h1{margin:20px 0 24px;font:600 clamp(28px,3vw,40px)/1.6 "Yu Mincho","Hiragino Mincho ProN",serif;letter-spacing:.02em;color:var(--navy);text-wrap:pretty;overflow-wrap:anywhere}
.editorial-dates,.editorial-sample-note{font-size:16px;line-height:1.8;color:#384454}
.editorial-sample-note{border-left:2px solid var(--line);padding-left:12px;margin:20px 0}
.editorial-page .product-editorial-lead,.editorial-page .product-editorial-body>p{font-size:20px;line-height:2;color:#26364b}
.editorial-page .product-editorial-hero{max-width:1040px;margin:auto}
.editorial-page .product-editorial-hero img{aspect-ratio:16/9}
/* h2：参考サイトに合わせて金色の帯 + 白抜き文字で強調（サイト共通の見出し縮小 !important を上書き） */
.editorial-page .product-editorial-body>h2{margin:64px 0 30px;padding:15px 24px;background:var(--gold);border-left:0;color:#fff;font-size:24px!important;line-height:1.5!important;font-weight:700}
.editorial-page .product-editorial-body>h2:first-child{margin-top:8px}
/* h3：本文（20px）より確実に大きく、金色の下線で区切る */
.editorial-page .product-editorial-body>h3{margin:46px 0 18px;padding:0 0 9px;border-bottom:2px solid var(--gold);color:var(--navy);font-size:21px!important;line-height:1.55!important;font-weight:700}
/* 本文中の強調（太字・ハイライト） */
.product-editorial-body strong,.product-editorial-body b{font-weight:700;color:var(--navy)}
.product-editorial-body mark{background:#fff2a8;color:inherit;padding:.02em .12em;border-radius:2px}
.editorial-toc{padding:28px 32px;margin:0 0 40px;background:#f4f2ed}
.editorial-toc h2,.editorial-page .product-editorial-points h2{margin:0 0 18px;font-size:22px;line-height:1.6;color:var(--navy)}
.editorial-toc ol{padding-left:24px;margin:0}
.editorial-toc li{padding:8px 0;font-size:18px;line-height:1.7}
.editorial-toc a{color:var(--navy);text-underline-offset:5px}
.editorial-toc-sub{padding-left:20px;margin:0}
.editorial-toc-sub li{padding:4px 0;font-size:15px;opacity:.85}
.editorial-page .product-editorial-points ol{grid-template-columns:1fr;background:transparent;gap:12px}
.editorial-page .product-editorial-points li{position:relative;padding:20px 20px 20px 70px}
.editorial-page .product-editorial-points li>span{position:absolute;left:20px;top:24px}
.editorial-page .product-editorial-points li>strong{font-size:20px}
.editorial-page .product-editorial-points li>p,.editorial-page .product-editorial-note p{font-size:18px;line-height:1.9}
.editorial-product-return{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;margin:42px 0;padding:24px;border:1px solid var(--line)}
.editorial-product-return img{width:150px;aspect-ratio:1;object-fit:cover}
.editorial-product-return p{font-size:16px;margin:0 0 8px}
.editorial-product-return h2{font-size:21px;line-height:1.7;margin:0 0 18px}
.editorial-product-return .button{font-size:16px}
@media(max-width:700px){
 .product-information-nav{margin-bottom:24px}
 .product-information-nav a{padding:13px 4px;white-space:nowrap}
 .editorial-page h1{font-size:28px}
 .editorial-page .product-editorial-lead,.editorial-page .product-editorial-body>p{font-size:18px;line-height:1.95}
 .editorial-page .product-editorial-body>h2{font-size:21px!important;padding:13px 16px;margin:44px 0 22px}
 .editorial-page .product-editorial-body>h3{font-size:19px!important;margin:34px 0 14px}
 .editorial-toc{padding:22px 18px}
 .editorial-page .product-editorial-points{margin:32px 0;padding:22px 14px}
 .editorial-page .product-editorial-points li{padding-left:55px}
 .editorial-page .product-editorial-points li>span{left:14px}
 .editorial-product-return{grid-template-columns:80px 1fr;gap:16px;padding:18px}
 .editorial-product-return img{width:80px}
 .editorial-product-return h2{font-size:18px}
 .editorial-product-return .button{padding:12px;white-space:normal}
}
.review-rating{display:grid;gap:12px}
.review-rating>label{font-weight:700}
.rating-stars{display:flex;width:240px;max-width:100%;gap:0}
.rating-star{position:relative;display:block;width:48px;height:48px;flex:1;min-width:0;color:#e0b53c}
.rating-star>svg,.rating-star-fill svg{display:block;width:48px;height:48px;padding:3px;box-sizing:border-box;fill:none;stroke:currentColor;stroke-width:1.2}
.rating-star-fill{position:absolute;inset:0 auto 0 0;width:var(--rating-fill,0%);overflow:hidden;pointer-events:none;color:#f5b400}
.rating-star-fill svg{fill:currentColor}
.rating-star button{position:absolute;inset:0;width:100%;padding:0;border:0;background:transparent;cursor:pointer;border-radius:4px}
.rating-star button:first-of-type{left:0}
.rating-star button:last-of-type{right:0}
.rating-star button:focus-visible{outline:2px solid #17263e;outline-offset:2px;background:rgb(23 38 62 / 8%)}
.rating-number{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#17263e}
.rating-number button{min-width:44px;min-height:44px;border:1px solid #64748b;background:white;color:#17263e;font-size:20px;cursor:pointer}
.rating-number select{width:120px;min-width:0;height:48px;font-size:20px;font-weight:700;padding:6px 12px}
.rating-number .rating-clear{font-size:16px;padding:6px 8px;border-color:transparent;text-decoration:underline}
.certification-product-label{border:0;box-shadow:none;font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:14px;font-weight:400;letter-spacing:.1em;padding:8px 16px 8px 12px;border-radius:0;max-width:100%}
.certification-product-label.cert-gold{background:#eadfc4;color:#4a3a1a}
.certification-product-label.cert-silver{background:#e3e5e8;color:#3a3d42}
.certification-product-label.cert-black{background:#232323;color:#f0ece0}
.certification-demo-note{font-size:16px;color:#475569}
.certification-card[hidden]{display:none!important}
.about-selection-mark.award-mark{grid-column:1/-1;background:#17263e;color:white;border-color:#17263e;padding:32px 24px}
.about-selection-mark.award-mark span,.about-selection-mark.award-mark a{color:white}
.certification-page .cert-hero h2{font-size:clamp(28px,4vw,44px)}
.certification-page .cert-hero a{text-decoration:underline;font-size:16px}
.award-name-part{display:inline-block;white-space:nowrap}
.message-person-link{display:block}.message-person-link:hover img,.message-person-link:focus-visible img{box-shadow:0 0 0 3px var(--gold);filter:saturate(1.05)}.message-profile-link{display:inline-flex;margin-top:16px}
.product-card .voice-switch{height:180px;min-height:180px;overflow:hidden;flex:0 0 180px}.product-card .voice-switch>p{height:78px;min-height:78px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.search-page .results .voice-switch{height:160px;min-height:160px;overflow:hidden;flex:0 0 160px}.search-page .results .voice-switch>p{height:80px;min-height:80px;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.voice-switch>p:empty::after{content:"";display:block;min-height:78px}@media(max-width:760px){.product-card .voice-switch,.search-page .results .voice-switch{height:180px;min-height:180px;flex-basis:180px}.product-card .voice-switch>p,.search-page .results .voice-switch>p{height:86px;min-height:86px}}
@media(min-width:761px){.search-layout{grid-template-columns:320px minmax(0,1fr)}.search-page .filters{width:100%}}
.product-photo-page .content-section{max-width:1120px;margin-left:auto;margin-right:auto}
.product-photo-page .photo-page-hero{grid-template-columns:300px minmax(0,1fr);gap:24px;margin:18px 0 28px;padding:16px}
.product-photo-page .photo-page-hero .photo-zoom-button{max-width:300px}
.product-photo-page .photo-page-hero h2{font-size:clamp(22px,1.8vw,28px);margin:6px 0 10px}
.product-photo-page .photo-page-hero p:not(.meta){font-size:15px;line-height:1.8}
.product-photo-page .photo-page-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.product-photo-page .photo-page-grid figure{max-width:none}
.product-photo-page .photo-page-grid figcaption{display:none}
.product-photo-page .photo-zoom-button{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:inherit}
.product-photo-page .photo-zoom-button img{display:block;width:100%;aspect-ratio:1;object-fit:cover;transition:filter .18s ease,transform .18s ease}
.product-photo-page .photo-zoom-button:hover img,.product-photo-page .photo-zoom-button:focus-visible img{filter:brightness(.94);transform:translateY(-1px)}
.photo-zoom-dialog{width:min(920px,92vw);padding:0;border:0;background:transparent}
.photo-zoom-dialog::backdrop{background:rgba(10,18,32,.72)}
.photo-zoom-dialog figure{margin:0;padding:18px;background:#fff;border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.24)}
.photo-zoom-dialog img{display:block;max-width:100%;max-height:78vh;margin:auto;object-fit:contain}
.photo-zoom-dialog figcaption{display:none}
.photo-zoom-close{position:absolute;z-index:2;right:8px;top:8px;width:38px;height:38px;border:0;background:rgba(18,35,61,.9);color:#fff;font-size:24px;cursor:pointer}
@media(max-width:760px){.product-photo-page .content-section{max-width:none}.product-photo-page .photo-page-hero{grid-template-columns:140px minmax(0,1fr);gap:14px}.product-photo-page .photo-page-hero .photo-zoom-button{max-width:140px}.product-photo-page .photo-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-photo-page .photo-page-grid figure{max-width:none}.product-photo-page .photo-page-grid figcaption{display:none}.photo-zoom-dialog{width:94vw}.photo-zoom-dialog figure{padding:12px}}
.product-summary .purchase{margin-top:24px;padding:18px 20px;background:#fff;border:1px solid var(--line)}
.product-summary .purchase-head{margin-bottom:12px}
.product-summary .purchase-head h2{font-size:20px;line-height:1.4}
.product-summary .purchase-head span{padding:2px 8px;font-size:13px}
.product-summary .purchase-links{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:12px 0 4px}
.product-summary .purchase a.purchase-button{--purchase-color:var(--navy);display:inline-grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-items:center;row-gap:2px;width:auto!important;min-width:190px;max-width:240px;min-height:50px;margin:0!important;padding:10px 38px 10px 16px!important;background:linear-gradient(180deg,#fff,#fbfaf7)!important;color:var(--navy)!important;border:1px solid #d9d2c7!important;box-shadow:0 1px 0 rgba(18,35,61,.04);text-decoration:none}
.product-summary .purchase a.purchase-button+a.purchase-button{margin:0!important;padding-top:10px!important;border-top:1px solid #d9d2c7!important}
.product-summary .purchase a.purchase-button::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--purchase-color);opacity:.86}
.product-summary .purchase a.purchase-button::after{right:14px;color:var(--purchase-color);font-size:13px}
.product-summary .purchase a.purchase-button:hover{background:linear-gradient(180deg,#fff,#f7f1e6)!important;border-color:var(--purchase-color)!important;transform:translateY(-1px);filter:none}
.product-summary .purchase a.purchase-button img{display:none!important}
.product-summary .purchase a.purchase-button .purchase-icon{display:none!important}
.product-summary .purchase a.purchase-button strong{grid-column:1;grid-row:1;margin:0!important;color:var(--navy)!important;font-size:15px!important;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-summary .purchase a.purchase-button small{grid-column:1;grid-row:2;color:#687383!important;font-size:12px!important;line-height:1.3}
.product-summary .purchase a.purchase-button em,.product-summary .purchase a.purchase-button i{display:none!important}
.product-summary .purchase>small{margin-top:10px;font-size:12px!important}
@media(max-width:760px){.product-summary .purchase-links{display:grid}.product-summary .purchase a.purchase-button{width:100%!important;max-width:none}}

/* =========================================================================
   Typography レイヤー（公開画面のみ / 中間スケール）
   本文16 / 操作14 / 補助13、見出し h1:28 h2:24 h3:18、小見出し20
   clamp() を廃し固定サイズに。行間は見出し1.4・本文1.8。
   ========================================================================= */
/* 一休.comの search/detail を参考にした固定スケール
   本文16 / 補助12-13 / h3:16 / h2:20 / h1:24。全てゴシック（明朝はTOPヒーローと約束帯のみ） */
.public-body h1,.public-body h2,.public-body h3{letter-spacing:.02em;font-family:var(--font-sans)!important;font-weight:700}
.public-body h1{font-size:24px!important;line-height:1.45!important;margin:0 0 12px!important}
.public-body h2{font-size:20px!important;line-height:1.5!important}
.public-body h3{font-size:16px!important;line-height:1.6!important}
/* さらに小さい小見出し（購入先・商品詳細・絞り込み等）は 16px */
.public-body :is(.filters h2,.purchase h2,.purchase-head h2,.product-summary .purchase-head h2,.side-panel h2,.image-plan-spec h2,.product-map-info h3,.editorial-product-return h2){font-size:16px!important}
/* カード見出し・話者名・引用は本文相当 */
.public-body :is(.product-card h3,.message-card h3,.review-list article h3,.pr-article-card h3,.pr-article-grid .featured-article-card h3){font-size:16px!important;line-height:1.55!important}
.public-body .message-card blockquote{font-size:16px!important;line-height:1.85;font-family:var(--font-serif)}
/* ページ見出しまわりの余白を圧縮・説明文は小さく */
.public-body .page-head{padding:18px 0 14px;margin-bottom:18px}
.public-body .page-head>p:last-child{font-size:14px}
.public-body .page-head h1::before,.public-body .section-head h2::before{width:22px;margin-right:10px}
.public-body .section-head{margin-bottom:18px;padding-bottom:12px}
.public-body .content-section{padding:40px 0}
/* 本文・段落 */
.public-body .product-detail-page .product-summary>p:not(.meta),
.public-body .legal-document{line-height:1.9}
.public-body .product-detail-page .product-summary>.meta{font-size:13px!important}
/* 操作系（フォーム・ボタン）: 14px、CTA は 15px */
.public-body :is(input,select,textarea,button){font-size:14px}
.public-body .button{font-size:15px}
.public-body .breadcrumb{font-size:12px!important}
.public-body .breadcrumb ol{font-size:12px!important}
.public-body .breadcrumb a{color:var(--blue)}
/* 価格表記 */
.public-body .price{font-size:20px;margin:14px 0}
.public-body .product-card strong{font-size:16px}
/* 「いいモノ.comとは」ページ：幅と文字を全体スケールに合わせる */
.public-body .about-page{font-size:16px}
.public-body .about-page p{font-size:16px;line-height:1.9}
.public-body .about-page h3{font-size:16px!important}
.public-body .about-container{width:min(var(--site-max),calc(100% - 48px))}
.public-body .about-hero h1{font-size:24px!important;line-height:1.45!important}
/* SP */
@media(max-width:760px){
  .public-body h1{font-size:21px!important}
  .public-body h2{font-size:18px!important}
  .public-body .price{font-size:19px}
}

/* 生産者・専門家 一覧（DB連動） */
.person-card-title{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.person-card-bio{margin:15px 0;padding-top:14px;border-top:1px solid var(--line);font-size:13px;line-height:1.85;color:#3b4350;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden}
.person-card>div .text-link{display:inline-block;margin-top:2px}
.person-grid.people-list-grid{grid-template-columns:repeat(auto-fill,minmax(210px,240px));gap:20px;justify-content:start}
.people-list-grid .person-card-image img{aspect-ratio:1}
.people-list-grid .person-card>div{padding:16px}
.people-list-grid .person-card h3{font-size:17px;line-height:1.45}
@media(max-width:600px){.person-grid.people-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.people-list-grid .person-card>div{padding:12px}.people-list-grid .person-card h3{font-size:15px}.people-list-grid .person-card-bio{-webkit-line-clamp:4;line-clamp:4;font-size:12px}}

/* 商品詳細のタブナビを圧縮（縦スペースの取りすぎを解消） */
.public-body .product-information-nav{margin-bottom:16px}
.public-body .product-information-nav a{padding:9px 6px!important;font-size:13px!important;font-weight:700;border-bottom-width:2px}

/* 閲覧履歴：検索結果ライクなシンプルな横型リスト */
[data-history-list]{display:grid;gap:12px}
.history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;background:#fff;border:1px solid var(--line)}
.history-item .product-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:14px;align-items:center;padding:0;border:0;background:transparent;box-shadow:none}
.history-item .product-card>a{display:block;width:92px;height:92px;overflow:hidden}
.history-item .product-card>a img{width:92px;height:92px;object-fit:cover;aspect-ratio:1}
.history-item .product-copy{padding:0}
.history-item .product-copy .meta{margin:0 0 3px;font-size:12px;color:var(--muted)}
.history-item .product-copy h3{margin:0 0 4px;font-size:15px;line-height:1.5}
.history-item .product-copy strong{font-size:15px}
.history-item .product-card .voice-switch{display:none}
.history-item .history-remove{flex-shrink:0;padding:0;background:none;border:0;color:var(--muted);font-size:12px;text-decoration:underline;cursor:pointer;white-space:nowrap}
@media(max-width:560px){.history-item{padding:10px 12px;gap:10px}.history-item .product-card{grid-template-columns:64px minmax(0,1fr);gap:10px}.history-item .product-card>a,.history-item .product-card>a img{width:64px;height:64px}}

/* 画像出典（他社サイトから引用した画像に右下オーバーレイ） */
.img-credit{position:absolute;right:0;bottom:0;max-width:100%;padding:3px 8px;background:rgba(12,20,33,.62);color:#fff;font-size:10px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-top-left-radius:4px}
.img-credit a{color:#fff}
.photo-page-grid figure,.product-gallery .gallery-stage,.photo-page-hero figure,.gallery-dialog-grid figure,.photo-zoom-dialog figure{position:relative}
/* 拡大ダイアログ内は画像下端に出典を重ねる（figcaption は非表示のため） */
.photo-zoom-dialog .img-credit{font-size:11px}
/* 写真ページ：ヒーローをやめて写真だけのグリッド */
.product-photo-page .photo-page-title{margin:6px 0 18px;font-size:16px!important;font-weight:700;color:var(--muted)}
.product-photo-page .photo-page-hero{display:none}
.product-photo-page .photo-page-grid figure{border:1px solid var(--line);background:#fff}

/* 商品ファーストビュー：星評価・基本情報の要約・単一の購入CTA */
.hero-rating{display:inline-flex;align-items:baseline;gap:8px;margin:0 0 14px;color:#202a38;text-decoration:none}
.hero-rating .hero-stars{color:var(--gold);letter-spacing:2px;font-size:15px}
.rating-stars-display{display:inline-flex;align-items:center;gap:1px;width:auto;max-width:none;white-space:nowrap;vertical-align:-.08em}
.hero-rating b{font-size:16px;color:var(--navy)}
.hero-rating small{color:#5b6675;font-size:13px}
.hero-rating:hover b,.hero-rating:hover small{text-decoration:underline}
.hero-rating-empty .hero-stars{opacity:.7}
.product-summary-lead{font-size:16px;line-height:1.9;color:#303a48}
.product-detail-page .product-summary>.price{margin:18px 0 4px}
.product-summary-spec{display:grid;gap:0;margin:16px 0 22px;border-top:1px solid var(--line)}
.product-summary-spec>div{display:flex;gap:14px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.6}
.product-summary-spec dt{flex:0 0 96px;color:#5b6675;margin:0}
.product-summary-spec dd{margin:0;color:#303a48}
.product-summary-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin-top:4px}
.buy-cta{flex:1 1 220px;display:grid;place-items:center;font-size:16px;padding:15px 22px}
.product-detail-page .product-summary-actions .favorite-button{flex:0 0 auto}
@media(max-width:760px){.buy-cta{flex-basis:100%}.product-summary-spec dt{flex-basis:84px}}

/* ギャラリー：自動再生ラベルと枚数カウンタは非表示、送り矢印は控えめな白ベース */
.product-gallery .gallery-auto-status,.product-gallery .gallery-counter{display:none!important}
.product-gallery .gallery-arrow{width:34px;height:34px;border:1px solid rgba(20,35,59,.14);background:rgba(255,255,255,.7);color:var(--navy);font-size:20px;box-shadow:none;opacity:.55;transition:opacity .2s ease,background .2s ease}
.product-gallery .gallery-arrow:hover,.product-gallery .gallery-arrow:focus-visible{background:rgba(255,255,255,.95);opacity:1;transform:translateY(-50%)}
.product-gallery .gallery-prev{left:6px}
.product-gallery .gallery-next{right:6px}

/* 特集：一覧のバナー / 詳細（バナー＋検索結果風の商品一覧） */
.feature-banner-list{display:grid;gap:20px;margin-bottom:24px}
.feature-banner{display:grid;grid-template-columns:minmax(0,44%) minmax(0,1fr);background:#fff;border:1px solid var(--line);overflow:hidden;color:inherit;text-decoration:none;transition:box-shadow .2s ease,transform .2s ease}
.feature-banner:hover{box-shadow:0 14px 34px rgba(20,35,59,.12);transform:translateY(-2px)}
.feature-banner-media{background:#f5f2eb;min-height:180px}
.feature-banner-media img{width:100%;height:100%;max-height:300px;object-fit:cover;display:block}
.feature-banner-body{display:flex;flex-direction:column;gap:10px;padding:28px 32px;align-self:center}
.feature-banner-eyebrow{font:12px Georgia,serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);font-weight:700}
.feature-banner-body h1,.feature-banner-body h2{margin:0;font-size:clamp(21px,2vw,27px);line-height:1.45;color:var(--navy)}
.feature-banner-body p{margin:0;color:#3f4957;font-size:14px;line-height:1.85}
.feature-banner-subtitle{color:var(--navy)!important;font-weight:700;font-size:15px!important}
.feature-banner-cta{margin-top:2px;font-weight:700;color:var(--navy);font-size:14px}
.feature-list-item{display:flex;flex-direction:column;gap:12px;margin-bottom:26px}
.feature-list-lead{margin:0 2px;color:#3f4957;font-size:15px;line-height:1.9}
.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin:10px 2px 0}
.article-tag-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border:1px solid #d8dde5;border-radius:999px;font-size:13px;color:var(--navy);background:#f5f2eb;text-decoration:none}
.article-tag-pill:hover{background:#efe9db}
.article-tag-count{color:#8a94a3;font-size:12px}
.article-tags-index{margin-top:8px}
.article-tags [hidden], [data-tag-browser] [hidden]{display:none!important}
.article-tags-preview{max-height:94px;overflow:hidden;align-items:flex-start}
.article-tags-preview .article-tag-pill{white-space:nowrap;max-width:100%;box-sizing:border-box}
.article-tags-all{display:inline-block;margin-top:16px}
.article-tag-controls{display:flex;gap:20px;flex-wrap:wrap;margin:24px 0 16px}
.article-tag-controls label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--navy)}
.article-tag-controls input,.article-tag-controls select{font:inherit;border:1px solid #d8dde5;border-radius:6px;padding:10px 12px;background:white;min-height:44px}
.article-tag-controls input{width:min(360px,100%);box-sizing:border-box}
.article-tags-more,[data-tag-clear]{font:inherit;padding:10px 24px;border:1px solid var(--line);border-radius:6px;background:#f5f2eb;color:var(--navy);cursor:pointer}
.article-tags-more{display:block;margin:28px auto}
@media(max-width:760px){.article-tag-controls{flex-direction:column;gap:14px}.article-tag-controls input{width:100%}}
/* 記事カセット内のタグ：ページ上部の「タグから探す」と見分けがつくよう、枠内に収めて控えめな見た目にする */
.article-list-card{border:1px solid var(--line);background:#fff}
.article-list-card .feature-banner{border:none}
.article-list-card .feature-list-lead{padding:0 32px;margin-top:-2px}
.article-list-card .article-tags-compact{padding:0 32px 22px;margin-top:2px}
.article-tag-pill-compact{padding:3px 10px;font-size:12px;color:#7d8697;background:transparent;border-color:#e5e1d6}
.article-tag-pill-compact:hover{background:#f5f2eb;color:var(--navy)}
@media(max-width:760px){.article-list-card .feature-list-lead,.article-list-card .article-tags-compact{padding-left:20px;padding-right:20px}}
.article-tags-index .article-tag-pill{font-size:14px;padding:7px 14px}
.feature-detail-lead{margin:20px 0 4px;color:#303a48;font-size:16px;line-height:1.95}
.feature-banner-lead{cursor:default;margin:6px 0 8px}
.feature-banner-lead:hover{box-shadow:none;transform:none}
.feature-result-intro{margin:20px 0 4px;color:#303a48;line-height:1.9}
.feature-result-intro p{margin:0 0 10px}
.feature-result-page .result-bar{margin:0 0 18px}
.feature-result-page .result-bar b{font-size:16px;color:var(--navy)}
@media(max-width:760px){.feature-banner,.feature-banner-lead{grid-template-columns:1fr}.feature-banner-media img{max-height:200px}.feature-banner-body{padding:22px 20px}}

/* 他のバリエーション（同じバリエーショングループの兄弟） */
.variation-picker{display:flex;flex-direction:column;gap:14px;margin-bottom:20px}
.variation-axis{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.variation-axis-name{font-size:13px;font-weight:700;color:#5b6675;min-width:64px}
.variation-opts{display:flex;flex-wrap:wrap;gap:8px}
.variation-opt{display:inline-block;padding:8px 16px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:14px;text-decoration:none}
a.variation-opt:hover{border-color:var(--navy)}
.variation-opt.is-current{border-color:var(--navy);background:var(--navy);color:#fff;font-weight:700}
.variation-opt.is-disabled{color:#b8bcc4;background:#f4f2ed;cursor:not-allowed}
.buy-disclosure{margin:8px 0 0;font-size:12px;color:#8a94a3;line-height:1.6}
.product-summary .price-note{margin:0 0 8px!important;font-size:12px!important;color:#8a94a3!important;line-height:1.6!important}
.product-summary .price-note a{color:inherit;text-decoration:underline}
.variation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.variation-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--navy);min-width:0}
.variation-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.variation-card-media{display:block;width:100%;aspect-ratio:1;background:#f4f2ed;overflow:hidden}
.variation-card-media img{width:100%;height:100%;object-fit:cover;display:block}
.variation-card-title{padding:12px 14px;font-size:15px;font-weight:700;line-height:1.5}
@media(max-width:1100px){.variation-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.variation-grid{grid-template-columns:repeat(2,1fr);gap:10px}.variation-card-title{padding:10px 12px;font-size:14px}}

/* 記事の動的ブロック（JSON駆動） */
.product-editorial-body .article-quote{margin:22px 0;padding:14px 20px;border-left:3px solid var(--gold);background:#faf8f3;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:17px;line-height:1.9;color:#3f4957}
.product-editorial-body .article-quote cite{display:block;margin-top:8px;font-family:inherit;font-style:normal;font-size:13px;color:#8a94a3}
.product-editorial-body .article-divider{margin:34px 0;border:0;border-top:1px solid var(--line)}
.product-editorial-body ul,.product-editorial-body ol{margin:14px 0 14px 1.4em;line-height:1.9}
.product-editorial-body ul li,.product-editorial-body ol li{margin:4px 0}
/* 購入ボタン（cta ブロック） */
.product-editorial-body .article-cta{margin:34px 0;padding:26px 28px;border:1px solid var(--gold);background:#faf7ef;text-align:center}
.product-editorial-body .article-cta-heading{margin:0 0 6px;color:var(--muted);font-size:15px}
.product-editorial-body .article-cta-price{margin:0 0 4px;color:var(--navy);font-size:22px;font-weight:600}
.product-editorial-body .article-cta-note{margin:6px 0 16px;color:var(--muted);font-size:14px;line-height:1.7}
.product-editorial-body .article-cta-btn{display:inline-block;min-width:260px}
/* 関連記事カード（linkcard ブロック） */
.product-editorial-body .article-linkcard{display:grid;grid-template-columns:132px 1fr;gap:18px;align-items:center;margin:28px 0;padding:16px;border:1px solid var(--line);background:#fff;text-decoration:none;color:inherit}
.product-editorial-body .article-linkcard:hover{border-color:var(--gold)}
.product-editorial-body .article-linkcard-thumb img{display:block;width:132px;height:99px;object-fit:cover}
.product-editorial-body .article-linkcard-body{display:flex;flex-direction:column;gap:5px}
.product-editorial-body .article-linkcard-label{color:var(--gold);font-size:12px;font-weight:700;letter-spacing:.04em}
.product-editorial-body .article-linkcard-title{color:var(--navy);font-size:17px;line-height:1.6;font-weight:600}
.product-editorial-body .article-linkcard-excerpt{color:#5b6675;font-size:14px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-editorial-body .article-faq{margin:32px 0}
.product-editorial-body .article-faq h2{margin:0 0 12px}
.product-editorial-body .article-faq-item{border:1px solid var(--line);border-radius:8px;padding:16px;margin:10px 0;background:#fff}
.product-editorial-body .article-faq-item+.article-faq-item{margin-top:12px}
.product-editorial-body .article-faq-q,.product-editorial-body .article-faq-a{display:flex;gap:10px;margin:0;line-height:1.7}
.product-editorial-body .article-faq-q{font-weight:700;color:var(--navy)}
.product-editorial-body .article-faq-a{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);color:#3f4957;font-size:14px}
.product-editorial-body .article-faq-mark{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:700}
.product-editorial-body .article-faq-q .article-faq-mark{background:var(--gold);color:#fff}
.product-editorial-body .article-faq-a .article-faq-mark{background:var(--navy);color:#fff}
.product-editorial-body .article-table-wrap{margin:32px 0;overflow-x:auto}
.product-editorial-body .article-table{width:100%;border-collapse:collapse;font-size:14px}
.product-editorial-body .article-table caption{caption-side:top;text-align:left;margin:0 0 12px;font-size:17px;font-weight:700;color:var(--navy)}
.product-editorial-body .article-table th,.product-editorial-body .article-table td{border:1px solid var(--line);padding:10px 14px;text-align:left;white-space:nowrap}
.product-editorial-body .article-table thead th{background:var(--ivory,#faf8f3);color:var(--navy);font-weight:700}
.product-editorial-body .article-table tbody tr:nth-child(even){background:#fafafa}
/* 記事の署名・執筆者/監修者カード */
.editorial-byline{display:flex;align-items:center;gap:14px;margin:18px 0 0;color:#5b6675;font-size:15px}
.editorial-byline img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.editorial-contributors{margin:44px 0 8px;padding-top:26px;border-top:1px solid var(--line)}
.editorial-contributors h2{margin:0 0 16px;color:var(--navy);font-size:17px}
.editorial-contributors h2:not(:first-child){margin-top:30px}
.editorial-contributor{display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:center;margin:14px 0;padding:20px;background:#f7f6f2}
.editorial-contributor img{width:120px;height:120px;border-radius:50%;object-fit:cover}
.editorial-contributor-role{margin:0 0 4px;color:var(--gold);font-size:12px;font-weight:700}
.editorial-contributor-name{margin:0 0 8px;color:var(--navy);font-size:17px;font-weight:600}
.editorial-contributor-name span{margin-left:8px;color:var(--muted);font-size:13px;font-weight:400}
.editorial-contributor-bio{margin:0;overflow-wrap:anywhere;color:#3f4957;font-size:14px;line-height:1.85}
@media(max-width:600px){
  .product-editorial-body .article-linkcard{grid-template-columns:90px 1fr;gap:12px}
  .product-editorial-body .article-linkcard-thumb img{width:90px;height:68px}
  .product-editorial-body .article-cta-btn{min-width:0;width:100%}
  .editorial-byline img{width:48px;height:48px}
  .editorial-contributor{grid-template-columns:84px minmax(0,1fr);gap:16px;padding:16px;align-items:start}
  .editorial-contributor img{width:84px;height:84px}
}

/* 会員ページ（マイページ・お気に入り・口コミ・アカウント設定）と認証ページ */
.account-page{width:min(var(--site-max,1120px),100%);margin-inline:auto;padding:8px 0 40px}
.account-auth{width:min(440px,100%);margin:40px auto;padding:0 4px}
.account-auth h1{font-size:26px;color:var(--navy);margin:0 0 20px}
.account-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.account-user{margin:0;font-weight:700;color:var(--navy)}
.account-logout button{background:none;border:1px solid var(--line);border-radius:4px;padding:6px 14px;font:inherit;color:#5b6675;cursor:pointer}
.account-logout button:hover{border-color:var(--navy);color:var(--navy)}
.account-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:36px;margin-top:26px}
.account-nav{display:flex;flex-direction:column;gap:2px;align-self:start;position:sticky;top:20px}
.account-nav a{padding:11px 14px;border-radius:6px;color:#3f4957;font-size:14px}
.account-nav a:hover{background:#f4f2ed}
.account-nav a[aria-current="page"]{background:var(--navy);color:#fff;font-weight:700}
.account-main{min-width:0}
.account-main>h1{font-size:clamp(24px,2.4vw,32px);color:var(--navy);margin:0 0 20px}
.account-form{max-width:520px;margin:0 0 8px}
.account-form label{display:block;margin:0 0 16px}
.account-form label>span{display:block;font-size:14px;color:#5b6675;margin-bottom:5px}
.account-form input,.account-form textarea,.account-form select{width:100%;padding:10px 12px;border:1px solid #d9dee6;border-radius:8px;font:inherit;background:#fff}
.account-form input:focus,.account-form textarea:focus,.account-form select:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.account-check{display:flex!important;gap:9px;align-items:center;font-size:14px}
.account-check input{width:auto!important}
a.guideline-link{text-decoration:underline}
.account-links{margin-top:16px;font-size:14px;color:#5b6675}
.account-links a{font-weight:700;color:var(--navy)}
.account-note{color:#5b6675;font-size:14px;line-height:1.8;margin:0 0 14px}
.account-empty{color:#8a94a3;padding:20px 0}
.account-flash{padding:11px 15px;border-radius:8px;margin:0 0 18px;font-size:14px}
.account-flash-ok{background:#e4f4ea;color:#1c7c46}
.account-flash-err{background:#fdeef0;color:#c0264a}
.account-devlink{margin-top:14px;padding:12px 14px;background:#fff7e0;border:1px solid #f0d98a;border-radius:8px;font-size:13px;word-break:break-all;line-height:1.8}
.account-stats{display:grid;gap:0;margin:22px 0 0;border-top:1px solid var(--line)}
.account-stats>div{display:flex;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.account-stats dt{flex:0 0 150px;color:#5b6675;margin:0}
.account-stats dd{margin:0}
.account-review{border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:14px;background:#fff}
.account-review h3{margin:8px 0;font-size:17px;color:var(--navy)}
.account-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:12px 0 0;font-size:13px}
.account-actions a{font-weight:700;color:var(--navy)}
.linkish{background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline}
.linkish.danger{color:#c0264a}
.account-subhead{font-size:19px;color:var(--navy);margin:28px 0 12px}
.account-photos{display:flex;flex-wrap:wrap;gap:12px}
.account-photo{margin:0;text-align:center}
.account-photo img{width:110px;height:110px;object-fit:cover;border-radius:8px;border:1px solid #d9dee6;display:block}
.account-section{margin-bottom:34px}
.account-section h2{font-size:20px;color:var(--navy);margin:0 0 12px}
.account-danger h2{color:#c0264a}
.button.danger{border-color:#c0264a;color:#c0264a;background:#fff}
.button.danger:hover{background:#c0264a;color:#fff}
.account-voice-photo{width:96px;height:96px;object-fit:cover;border-radius:50%;border:1px solid #d9dee6;display:block}
.account-avatar-row{display:flex;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}
.account-avatar-photo{width:88px;height:88px;object-fit:cover;border-radius:50%;border:1px solid #d9dee6;display:block;flex:0 0 auto;background:#eef1f5}
.account-avatar-empty{background:#eef1f5 url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%238a94a6" stroke-width="1.6"%3E%3Ccircle cx="12" cy="8" r="4"/%3E%3Cpath d="M4 20c0-4.4 3.6-7 8-7s8 2.6 8 7"/%3E%3C/svg%3E') center/44px no-repeat}
.account-avatar-form{margin:0;flex:1 1 260px}
.account-avatar-form label{margin-bottom:8px}
.account-avatar-row h1{margin:0}
.account-voice-results{position:relative;border:1px solid #d9dee6;border-radius:8px;margin-top:6px;max-height:220px;overflow-y:auto;background:#fff}
.account-voice-results button{display:block;width:100%;text-align:left;padding:9px 12px;border:0;background:none;font:inherit;cursor:pointer;border-bottom:1px solid var(--line)}
.account-voice-results button:last-child{border-bottom:0}
.account-voice-results button:hover{background:#f4f4f6}
.account-voice-empty{padding:10px 12px;color:#8a94a3;font-size:13px}
.account-voice-chosen{margin-top:6px;font-size:13px;color:#5b6675}
@media(max-width:760px){
  .account-layout{grid-template-columns:1fr;gap:18px}
  .account-nav{flex-direction:row;flex-wrap:wrap;position:static;border-bottom:1px solid var(--line);padding-bottom:12px}
  .account-nav a{padding:9px 12px;font-size:13px}
}

/* ログイン中のお気に入りボタン（サーバ保存のフォーム版） */
.favorite-form{display:contents}
.favorite-button.selected{border-color:#bf3c70;color:#bf3c70;background:#fdf1f6}
.account-main .product-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}

/* 商品詳細ページ下部のSNSシェアボタン（本家 ii-mo-no.com の実装に合わせた枠線ボタン） */
.share-section{padding-top:0;padding-bottom:40px}
.c-shareBtns{text-align:center}
.c-shareBtns__message{margin:0 0 14px;font-size:16px;color:#333}
.c-shareBtns__list{display:flex;justify-content:center;list-style:none;margin:0;padding:0;gap:8px}
.c-shareBtns__item{display:flex;flex:1 1 100px;max-width:100px}
.c-shareBtns__btn{display:flex;align-items:center;justify-content:center;width:100%;height:36px;border-radius:0;border:1px solid #8a94a3;background:transparent;color:#8a94a3;cursor:pointer;transition:box-shadow .25s ease;text-decoration:none}
.c-shareBtns__btn:hover{box-shadow:0 2px 8px rgba(0,0,0,.25)}
.c-shareBtns__icon{width:18px;height:18px;fill:currentColor;display:block}
.c-shareBtns__item.-facebook .c-shareBtns__btn{border-color:#3b5998;color:#3b5998}
.c-shareBtns__item.-twitter-x .c-shareBtns__btn{border-color:#000;color:#000}
.c-shareBtns__item.-hatebu .c-shareBtns__btn{border-color:#00a4de;color:#00a4de}
.c-shareBtns__item.-line .c-shareBtns__btn{border-color:#00c300;color:#00c300}
.c-shareBtns__item.-copy .c-shareBtns__btn{border-color:#717475;color:#717475}
.c-shareBtns__item.-copy{position:relative}
.c-urlcopy{position:relative}
.c-urlcopy .-copied{display:none}
.c-urlcopy.is-copied .-to-copy{display:none}
.c-urlcopy.is-copied .-copied{display:block}
.c-urlcopy.is-copied{background:#717475;border-color:#717475;color:#fff}
.c-copyedPoppup{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);background:var(--navy);color:#fff;font-size:12px;white-space:nowrap;padding:6px 10px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}
.c-copyedPoppup::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--navy)}
.c-copyedPoppup.is-active{opacity:1;transform:translateX(-50%) translateY(0)}
/* スマホ：コピー完了ポップアップがボタン中央寄せだと画面右端からはみ出し、ページが横に広がって拡大縮小・横揺れの原因になる。右端に揃えて収める。 */
@media(max-width:700px){.c-copyedPoppup{left:auto;right:0;transform:translateY(4px)}.c-copyedPoppup.is-active{transform:translateY(0)}.c-copyedPoppup::after{left:auto;right:14px;transform:none}}
/* 想定外の要素が画面幅を超えても、ページ全体が横に広がらないようにする（position:sticky に影響しない clip を使用） */
html,body{overflow-x:clip}

/* 商品カセット（今月のいいモノ／注目のいいモノ）の画像。出典バッジ（.img-credit）を
   右下に重ねて表示するための位置決め親。 */
.home-card-media{position:relative;display:block}
.home-card-media img{display:block;width:100%}
.product-cassette h3{
  min-height:3.1em;
  margin-bottom:8px!important;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
}
.product-cassette-price{
  display:block;
  min-height:1.7em;
  margin:0 0 10px!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left;
}
.product-card-pr{
  min-height:6.8em;
  margin:0 0 12px;
  color:#4b5360;
  font-size:13px;
  line-height:1.7;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  line-clamp:4;
}
.product-cassette-meta{
  min-height:1.7em;
  margin-bottom:7px;
}
.product-cassette .product-copy,
.product-cassette .product-info{
  display:flex;
  flex-direction:column;
}
.product-cassette .product-copy .product-card-pr,
.product-cassette .product-info .product-card-pr{
  margin-bottom:0;
}
/* 特集ページ：PR文が最大300文字のため、商品カセットは横長（正方形の画像が左・テキストが右）の1列表示にする。 */
.feature-result-page .product-grid{grid-template-columns:1fr;gap:18px}
.feature-result-page .product-cassette{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:start}
.feature-result-page .product-cassette>a{display:block}
.feature-result-page .product-cassette>a img{width:100%;aspect-ratio:1;height:auto;object-fit:cover}
.feature-result-page .product-cassette .product-copy{min-height:0;padding:22px 28px 24px}
.feature-result-page .product-cassette h3{min-height:0;font-size:18px;margin-bottom:14px!important;line-height:1.5}
.feature-result-page .product-cassette .product-cassette-meta,.feature-result-page .product-cassette .product-cassette-price{min-height:0}
.feature-result-page .product-cassette .product-cassette-price:empty{display:none}
.feature-result-page .product-cassette .product-card-pr{min-height:0;display:block;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset;font-size:14px;margin:0}
@media(max-width:760px){
  .feature-result-page .product-cassette{grid-template-columns:112px minmax(0,1fr);column-gap:14px;padding:14px;align-items:start}
  .feature-result-page .product-cassette>a{grid-column:1;grid-row:1/span 3}
  .feature-result-page .product-cassette>a img{width:112px;height:112px}
  .feature-result-page .product-cassette .product-copy{display:contents}
  .feature-result-page .product-cassette .product-cassette-meta,.feature-result-page .product-cassette h3,.feature-result-page .product-cassette .product-cassette-price{grid-column:2;margin-left:0;margin-right:0}
  .feature-result-page .product-cassette h3{font-size:16px;margin:0 0 6px!important}
  .feature-result-page .product-cassette .product-cassette-price{margin:0!important}
  .feature-result-page .product-cassette .product-card-pr{grid-column:1/-1;margin:12px 0 0;font-size:13px}
}

/* Google AdSense 広告枠。編集コンテンツと視覚的に区別できるよう、上下に罫線と「広告」ラベルを付ける。
   広告配置提案書（原則05）に基づく。adsense-tag は実際の広告コード、adsense-placeholder は未設定時のデモ表示。 */
.adsense-section{margin:0 auto;padding:32px 0;max-width:var(--site-max,1120px);width:100%}
.adsense-frame{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ad-disclosure{font-size:11px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}
/* 広告ユニット（ins）は中身が空だとflex項目として幅0に潰れ、AdSense が枠の幅を取れず広告が出ないため、枠いっぱいに広げる */
.adsense-frame>.adsbygoogle{align-self:stretch;width:100%;min-width:0;display:flex!important;justify-content:center}
/* 広告が入っていない間（読み込み前・広告なし・広告ブロック）は、「広告」ラベルだけの空の枠を出さない。広告が入ると data-ad-status="filled" になり自動で表示される。
   幅は残す（幅0だと AdSense が広告を入れられない）ので display:none にはしない。 */
.adsense-section:has(>.adsense-frame>ins.adsbygoogle:not([data-ad-status="filled"])){height:0;min-height:0;margin:0;padding:0;border:0;overflow:hidden}
.adsense-tag{display:flex;justify-content:center;align-items:center;width:100%;min-height:90px;overflow:hidden}
.adsense-placeholder{display:grid;place-items:center;gap:4px;width:100%;min-height:90px;background:#f4f2ed;border:1px dashed var(--line);color:var(--muted);text-align:center;font-size:13px;padding:14px}
.adsense-placeholder strong{color:var(--navy);font-size:14px}
@media(max-width:760px){
  .adsense-section{padding:22px 15px}
  .adsense-frame{padding:14px 0}
}
.adsense-item-breadcrumb-after{padding:0 0 22px}
.adsense-item-breadcrumb-after .adsense-frame{padding:12px 0}
/* TOPバナー sponsored-section / sponsored-slider */
.sponsored-section{background:#f4f2ed;padding:0}
.sponsored-heading{display:flex;align-items:center;gap:8px;padding:14px var(--side,20px) 10px;max-width:var(--site-max,1120px);margin:0 auto;font-size:13px;color:var(--muted)}
.sponsored-heading span{font-size:10px;letter-spacing:.1em;border:1px solid var(--muted);padding:1px 5px;border-radius:2px}
.sponsored-slider{position:relative;overflow:hidden}
.sponsored-track{display:flex;transition:transform .5s ease}
.sponsored-banner{flex:0 0 100%;overflow:hidden;text-decoration:none;color:inherit}
.sponsored-banner:not(.feature-banner){position:relative;display:block}
.sponsored-banner:not(.feature-banner)>img,.sponsored-banner:not(.feature-banner)>picture{display:block;width:100%;aspect-ratio:4/1;object-fit:cover;background:#e8e2d8}
.sponsored-banner:not(.feature-banner)>picture img{aspect-ratio:auto;width:100%;height:100%;object-fit:cover}
.feature-banner.sponsored-banner{display:grid}
.sponsored-copy{position:absolute;left:20px;bottom:16px;display:grid;gap:4px;max-width:60%;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);padding:10px 16px;border-radius:8px}
.sponsored-copy:empty{display:none}
.sponsored-copy small{font-size:11px;color:var(--muted);letter-spacing:.04em}
.sponsored-copy strong{font-size:clamp(14px,1.8vw,20px);line-height:1.45;color:var(--navy)}
.sponsored-copy strong:empty{display:none}
.sponsored-copy em{font-style:normal;font-size:12px;color:var(--brown)}
.sponsored-controls{display:flex;justify-content:center;align-items:center;gap:14px;padding:10px 0 14px}
.sponsored-prev,.sponsored-next{background:none;border:1px solid var(--navy);border-radius:50%;width:30px;height:30px;display:grid;place-items:center;cursor:pointer;font-size:13px;color:var(--navy);line-height:1}
.sponsored-prev:hover,.sponsored-next:hover{background:var(--navy);color:#fff}
.sponsored-dots{display:flex;gap:6px;align-items:center}
.sponsored-dots button{width:8px;height:8px;border-radius:50%;background:var(--line);border:1px solid #bbb;padding:0;cursor:pointer;transition:background .2s}
.sponsored-dots button[aria-current="true"]{background:var(--navy);border-color:var(--navy)}
@media(max-width:760px){
  .sponsored-banner>img,.sponsored-banner>picture{aspect-ratio:3/2}
  .sponsored-copy{max-width:80%;left:12px;bottom:10px;padding:8px 12px}
  .sponsored-copy strong{font-size:clamp(13px,3.5vw,17px)}
}
/* 検索・記事・商品詳細ページの sponsored-placement */
.sponsored-placement{display:grid;gap:14px;margin:0 auto;padding:22px 0;max-width:var(--site-max,1120px);width:100%}
.sponsored-placement-card{display:block;overflow:hidden;border:1px solid var(--line);background:#fff;color:var(--navy);text-decoration:none}
.sponsored-placement-card picture,.sponsored-banner picture{display:block;width:100%}
.sponsored-placement-card img{display:block;width:100%;aspect-ratio:4/1;object-fit:cover;background:#f4f2ed}
.sponsored-placement-copy{display:grid;gap:4px;padding:12px 14px;border-top:1px solid var(--line)}
.sponsored-placement-copy small{font-size:11px;color:var(--muted)}
.sponsored-placement-copy strong{font-size:16px;line-height:1.5}
.sponsored-placement-copy em{font-style:normal;font-size:12px;color:var(--brown)}
/* ブログページ：サイドレールと各広告枠 */
.blog-layout{position:relative}
.blog-side-rail .sponsored-placement,.blog-side-rail>.adsense-section{max-width:none;padding:0}
.blog-side-rail .sponsored-placement-card img{aspect-ratio:auto;height:auto;object-fit:contain;background:#f4f2ed}
.blog-side-rail .sponsored-placement-copy{padding:10px 12px}
.blog-side-rail .sponsored-placement-copy strong{font-size:13px}
@media(min-width:1180px){
  .blog-layout.blog-layout-with-side-ad>.blog-side-rail{position:absolute;top:0;left:calc(100% + 24px);width:calc((100vw - 100%) / 2 - 32px);max-width:300px}
}
@media(max-width:1179px){
  .blog-side-rail{display:block}
}
.product-hero-side-rail{display:grid;gap:16px}
.product-hero-side-rail>.adsense-section,.product-hero-side-rail>.sponsored-placement{max-width:none;padding:0}
.product-hero-side-rail .adsense-frame{min-height:250px;padding:16px 0}
.product-hero-side-rail .sponsored-placement-card img,.search-side-rail .sponsored-placement-card img{aspect-ratio:auto;height:auto;object-fit:contain;background:#f4f2ed}
.product-hero-side-rail .sponsored-placement-copy,.search-side-rail .sponsored-placement-copy{padding:10px 12px}
.product-hero-side-rail .sponsored-placement-copy strong,.search-side-rail .sponsored-placement-copy strong{font-size:13px}
@media(min-width:1180px){
  .product-hero.product-hero-with-ad{position:relative}
  .product-hero.product-hero-with-ad>.product-hero-side-rail{position:absolute;top:0;left:calc(100% + 24px);width:calc((100vw - 100%) / 2 - 32px);max-width:300px}
}
@media(max-width:1179px){
  .product-hero>.product-hero-side-rail{grid-column:1/-1;width:100%}
}
.search-side-rail,.article-list-side-rail{display:grid;gap:16px}
.search-side-rail>.adsense-section,.search-side-rail>.sponsored-placement,.article-list-side-rail>.adsense-section{max-width:none;padding:0}
.search-side-rail .adsense-frame,.article-list-side-rail .adsense-frame{min-height:250px;padding:16px 0}
@media(min-width:1180px){
  .search-layout.search-layout-with-side-ad{position:relative}
  .search-layout.search-layout-with-side-ad>.search-side-rail{position:absolute;top:0;left:calc(100% + 24px);width:calc((100vw - 100%) / 2 - 32px);max-width:300px}
  .article-index-layout.article-index-layout-with-side-ad{position:relative}
  .article-index-layout.article-index-layout-with-side-ad>.article-list-side-rail{position:absolute;top:0;left:calc(100% + 24px);width:calc((100vw - 100%) / 2 - 32px);max-width:300px}
}
@media(max-width:1179px){
  .search-layout>.search-side-rail{grid-column:1/-1;width:100%}
  .article-index-layout>.article-list-side-rail{width:100%}
}

/* 商品カード：横並び新デザイン（添付デザイン準拠） */
.search-page .results .product-card{position:relative;display:grid;grid-template-columns:minmax(180px,30%) minmax(0,1fr);min-height:260px;margin-bottom:20px;overflow:hidden;border:1px solid #ece7dc;border-radius:6px;background:#fff;box-shadow:0 2px 14px rgba(20,35,59,.05);transition:box-shadow .2s}
.search-page .results .product-card:hover{box-shadow:0 8px 26px rgba(20,35,59,.11)}
.search-page .results .product-card-image{position:relative;display:flex;align-items:flex-start;justify-content:center;background:#f4f2ed;overflow:hidden;align-self:stretch}
.search-page .results .product-card-image>a{display:block;width:100%}
.search-page .results .product-card-image>a img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:center;transition:transform .35s ease}
.search-page .results .product-card:hover .product-card-image>a img{transform:scale(1.04)}
.search-page .results .product-card>.favorite-button,.search-page .results .product-card>.product-favorite-button{top:20px;right:20px}
.search-page .results .product-card>.product-copy{display:flex;flex-direction:column;padding:22px 26px 24px;min-height:0}
.search-page .results .product-card .meta{margin:0 0 6px;color:#7a6445;font-size:12px!important;font-weight:700;letter-spacing:.06em}
.search-page .results .product-card h3{margin:0 0 10px;padding-right:50px;color:var(--navy);font-size:19px!important;line-height:1.45!important}
.search-page .results .product-card h3 a{background:none}
.search-page .results .card-rating{margin:0 0 12px;color:#384454;font-size:13px;line-height:1.3}
.search-page .results .card-rating b{margin-left:4px;color:#182130;font-size:13px}
.search-page .results .card-rating small{font-size:11px!important}

/* 価格＋販売元 */
.search-page .results .card-price-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 16px}
.search-page .results .card-price-row>strong{margin:0;font-size:24px;color:#16243a}
.search-page .results .card-price-row>strong:empty{display:none}
.search-page .results .product-card-pr{min-height:0;margin:0 0 14px;-webkit-line-clamp:4;line-clamp:4}
.search-page .results .card-price-row strong small{font-size:12px!important;font-weight:400}
.search-page .results .card-store-badge{display:inline-flex;align-items:center;gap:8px;color:#384454;font-size:13px}
.search-page .results .card-store-label{display:inline-flex;align-items:center;height:24px;padding:0 9px;background:#f3f0e8;border-radius:6px;color:#6d5a3d;font-size:11px;font-weight:700;flex-shrink:0}

/* 声タブバー：分離ピル */
.search-page .results .card-voices{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px;margin:auto 0 12px;padding-top:14px}
.search-page .results .voice-tab{flex:0 0 auto;padding:9px 14px;border:1px solid #e6e0d2;border-radius:9px;background:#fff;color:#8a806e;font-size:12px;font-weight:700;letter-spacing:.01em;text-align:left;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;line-height:1.3}
.search-page .results .voice-tab.is-active{background:#e9ddc0;border-color:#e9ddc0;color:#22314a}
.search-page .results .voice-tab:not(.is-active):hover{background:#f7f4ee;color:var(--navy)}

/* 声パネル：角丸カード */
.search-page .results .card-voice-panels{margin:0}
.search-page .results .card-voice-panel{display:none;padding:16px 18px;background:#f4f2ee;border-radius:12px}
.search-page .results .card-voice-panel.is-active{display:block}
.search-page .results .voice-panel-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:9px}
.search-page .results .voice-avatar{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#e8e2d3;flex-shrink:0}
.search-page .results .voice-avatar svg{width:17px;height:17px;fill:none;stroke:#8a7f68;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.search-page .results .voice-meta{display:flex;flex-direction:column;gap:2px;padding-top:2px}
.search-page .results .voice-heading{color:var(--navy);font-size:15px;font-weight:700}
.search-page .results .voice-title{color:#8a8070;font-size:12px}
.search-page .results .voice-body{margin:0;color:#3c4552;font-size:13px;line-height:1.7;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

@media(max-width:760px){
  .search-page .results .product-card{display:flex;flex-direction:column;min-height:0;margin-bottom:12px}
  .search-page .results .product-card-image{width:100%}
  .search-page .results .product-card-image>a{min-height:0}
  .search-page .results .product-card-image>a img{aspect-ratio:1;height:auto}
  .search-page .results .product-card>.product-copy{padding:16px 16px 18px}
  .search-page .results .product-card h3{padding-right:44px}
  .search-page .results .card-price-row>strong{font-size:19px}
  .search-page .results .card-voices{padding-top:12px}
}

.editorial-page .product-editorial-header.product-editorial-intro,.product-editorial-header.product-editorial-intro{padding:32px 0 8px}
.editorial-page .product-editorial-header:has(+.product-editorial-hero){padding-bottom:24px}

/* PR商品（有料掲載）。「PR」表記は必須。通常カードと同形式で、ごく薄い背景で区別する。 */
.pr-pill{display:inline-block;padding:1px 8px;border-radius:999px;background:#6b5f4d;color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1.6}
.product-card-image>.pr-pill,.home-card-media>.pr-pill{position:absolute;top:8px;left:8px;z-index:2}
.pr-slot{margin:0 0 20px;padding:12px;border-radius:10px;background:#fbf8f1}
.pr-slot-label{margin:0 0 8px;font-size:13px;color:#5d5546}
.product-card.is-pr,.product-cassette.is-pr{background:#fffdf8}
.home-card-media{position:relative}
.feature-ad{margin:20px 0}

.favorite-login-dialog{max-width:440px;padding:28px 26px;border:1px solid var(--line);border-radius:8px}.favorite-login-dialog h2{font-size:18px;margin:0 28px 10px 0}.favorite-login-dialog p{margin:0 0 18px;line-height:1.7}.favorite-login-actions{display:flex;gap:10px;flex-wrap:wrap}.favorite-login-actions .button{flex:1;text-align:center;min-width:140px}
/* リッチエディタで書いた経歴・プロフィール（段落・箇条書き）の余白 */
.person-profile-intro p,.editorial-contributor-bio p{margin:0 0 .8em}
.person-profile-intro>:last-child,.editorial-contributor-bio>:last-child{margin-bottom:0}
.person-profile-intro ul,.person-profile-intro ol,.editorial-contributor-bio ul,.editorial-contributor-bio ol{margin:0 0 .8em;padding-left:1.4em}
/* 経歴・プロフィール内のリンクは青色＋下線で示す */
.person-profile-intro a,.editorial-contributor-bio a{color:#0b5cad;text-decoration:underline;text-underline-offset:2px}
.person-profile-intro a:hover,.editorial-contributor-bio a:hover{color:#08437f}
/* 特集ページ：ライターの署名・プロフィールは、本文と同じ左端・幅にそろえる（記事用の中央寄せ幅を使わない） */
.feature-result-page .product-editorial-header,.feature-result-page .product-editorial-body{width:auto;max-width:none;margin:0}
.feature-result-page .product-editorial-header.product-editorial-intro{padding:4px 0 8px}
.feature-result-page .editorial-byline{margin:0}
.feature-result-page .product-editorial-body{padding:0}
