:root{--green:#183e32;--ink:#24372e;--cream:#f7f5ec;--gold:#b59961;--line:#dcded1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--ink);font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:15px;line-height:1.95}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{display:block;width:100%;height:auto}figure,p{margin:0}h1,h2,h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500;line-height:1.65;margin:0}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:rgba(247,245,236,.97);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand-main{display:block;font-family:Georgia,serif;letter-spacing:.13em;font-size:22px;line-height:1.25}.brand-sub{display:block;font-size:10px;letter-spacing:.2em;margin-top:7px}nav{display:flex;gap:28px;align-items:center;font-size:12px}nav a:hover{color:#8b733f}.nav-cta{border:1px solid var(--green);padding:10px 19px}.menu{display:none}.skip{position:fixed;top:-100px;z-index:30;background:white;padding:10px}.skip:focus{top:0}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:640px}.hero-copy{padding:65px 9% 38px 10%}.eyebrow{font-size:10px;letter-spacing:.2em;color:#7c6b47}.hero h1{font-size:clamp(30px,3.1vw,49px);letter-spacing:.06em;margin:31px 0 23px;line-height:1.65}.hero h1 span{font-size:.72em;letter-spacing:.02em}.intro{font-size:14px;line-height:2.2}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--green);color:white;padding:16px 25px;font-size:13px;margin-top:30px;transition:background .2s}.button:hover{background:#2f5a47}.button span{font-size:18px}.hero-foot{margin-top:44px;font-family:Georgia,serif;font-size:10px;letter-spacing:.12em}.hero-foot span{font-family:sans-serif;margin-left:15px;color:#6a7465;font-size:10px}.hero-image{position:relative;display:flex;align-items:center;background:#dbcfb2;overflow:hidden}.hero-image img{height:100%;object-fit:cover;object-position:48% center}.hero-image figcaption{position:absolute;bottom:20px;right:24px;font-size:9px;letter-spacing:.17em;color:white;text-shadow:0 1px 6px black}.ticker{padding:21px;display:flex;justify-content:center;gap:44px;background:var(--green);color:#e2d4b1;font-family:"Yu Mincho",serif;letter-spacing:.18em;font-size:14px}.ticker i{font-size:10px;font-style:normal}.section{max-width:1320px;margin:auto;padding:95px 6%;display:grid;grid-template-columns:210px 1fr;gap:30px}.section-label{padding-top:8px}.section-label span{font-size:10px;letter-spacing:.2em;color:#7c6b47}.section-label p{font-size:13px;margin-top:10px}.concept h2{font-size:32px;margin-bottom:27px}.concept-content>p{max-width:700px;margin-bottom:16px}.reduction{margin:35px 0 12px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:26px 0;display:flex;gap:32px;align-items:center;justify-content:space-between}.small{font-size:12px}.reduction p{line-height:1.3}.reduction>div>p{font-family:"Yu Mincho",serif;font-size:23px;white-space:nowrap}.reduction strong{font-family:Georgia,serif;font-weight:400;font-size:90px;letter-spacing:-.06em;margin:0 8px}.reduction sup{font-size:12px}.reduction-note p{font-family:inherit!important;font-size:12px!important;line-height:1.9!important;white-space:normal!important}.reduction-note a{display:inline-block;font-size:11px;border-bottom:1px solid;margin-top:12px}.note{font-size:11px;color:#636c60;line-height:1.8}.allergy{background:#eeeee3;padding:20px 23px;margin-top:30px;border-left:2px solid #9b824e}.allergy strong{font-size:13px}.allergy p{font-size:12px;margin-top:5px}.story{max-width:none;background:#eaece1;padding-left:max(6%,calc((100vw - 1160px)/2));padding-right:max(6%,calc((100vw - 1160px)/2));grid-template-columns:210px 1fr}.story-pre{font-size:12px;letter-spacing:.08em;margin-bottom:17px}.story h2{font-size:35px;margin-bottom:35px}.story-columns{display:grid;grid-template-columns:1fr 1fr;gap:40px}.story-columns p{font-size:14px;margin-bottom:17px}.signature{border-top:1px solid #cbd0bc;margin-top:20px;padding-top:22px;text-align:right}.signature span{font-size:10px;display:block}.signature strong{font-family:"Yu Mincho",serif;font-size:24px;font-weight:400;letter-spacing:.15em}.story-note{font-size:10px;margin-top:24px;color:#63705f}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.approach-grid article{border-top:1px solid var(--gold);padding-top:16px}.index{font-family:Georgia,serif;color:var(--gold);font-size:20px}.approach-grid h3{font-size:23px;margin:18px 0}.approach-grid p{font-size:13px}.product{border-top:1px solid var(--line)}.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.product-layout figure img{aspect-ratio:1/1.15;object-fit:cover}.product-layout figcaption{font-size:10px;color:#687365;line-height:1.7;margin-top:9px}.product-info h2{font-size:24px;margin-top:12px}.product-sub{font-size:12px;margin:5px 0 20px}.product-info>p:not(.eyebrow):not(.product-sub){font-size:13px}dl{margin:22px 0 0;font-size:11px}dl>div{display:grid;grid-template-columns:92px 1fr;border-bottom:1px solid var(--line);padding:10px 0}dt{color:#63705f}dd{margin:0}.product-info .button{font-size:12px;gap:20px;padding:13px 20px}.shop{background:var(--green);color:#f7f4e9;text-align:center;padding:77px 25px}.shop .eyebrow{color:#d3bd8a}.shop h2{font-size:36px;margin:22px 0}.shop>p:not(.eyebrow){font-size:13px;line-height:2}.status{display:inline-flex;gap:10px;align-items:center;padding:12px 30px;border:1px solid #87917a;margin-top:28px;font-size:13px}.status>span{width:6px;height:6px;background:#d3bd8a;border-radius:50%}.shop-note{font-size:10px!important;margin-top:12px;color:#c7d1c1}.text-link{display:inline-block;font-size:11px;border-bottom:1px solid #8d9b88;margin-top:25px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:14px}summary::-webkit-details-marker{display:none}summary span{color:var(--gold);font-size:20px;line-height:1.3}details[open] summary span{transform:rotate(45deg)}details>p{font-size:13px;color:#5c685a;margin:0 0 23px;padding-right:35px}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;padding:40px 6%}footer .brand-main{font-size:18px}footer p{font-size:10px;margin-top:9px;color:#697162}footer a{font-size:12px}.mobile{display:none}@media(min-width:1500px){.hero-copy{padding-left:max(10%,calc((100vw - 1280px)/2))}.hero{min-height:700px}}@media(max-width:1050px){header{padding:0 4%}.brand-main{font-size:18px}nav{gap:18px;font-size:11px}.hero-copy{padding:50px 8%}.hero h1{font-size:34px}.section{grid-template-columns:155px 1fr;gap:20px;padding:70px 5%}.story{padding:70px 5%;grid-template-columns:155px 1fr}.reduction{gap:20px;flex-wrap:wrap}.approach-grid{gap:20px}.product-layout{gap:25px;grid-template-columns:1fr}.product-layout figure{max-width:550px}.product-layout figure img{aspect-ratio:4/3}.product-info{max-width:550px}.story-columns{gap:25px}.product-info h2{font-size:28px}}@media(max-width:720px){html{scroll-padding-top:90px}header{height:80px;padding:0 6%}.brand-main{font-size:16px}.brand-sub{font-size:9px}.menu{display:block;background:none;border:1px solid #c2c9b6;padding:7px 10px;font-size:11px}.menu span{margin-left:8px}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--cream);padding:24px 6%;border-bottom:1px solid var(--line);font-size:14px}nav.open{display:flex;align-items:stretch;flex-direction:column;gap:20px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:36px 7% 30px}.eyebrow{font-size:8px;letter-spacing:.15em}.hero h1{font-size:34px;margin:22px 0 18px}.hero h1 span{font-size:.68em}.intro{font-size:13px}.hero .button{padding:13px 22px;margin-top:24px}.hero-foot{margin-top:27px;font-size:9px}.hero-foot span{font-size:9px;margin-left:8px}.hero-image{height:auto;min-height:0}.hero-image img{height:auto;aspect-ratio:4/3;object-fit:cover}.ticker{gap:18px;font-size:11px;padding:17px 8px;letter-spacing:.08em}.ticker i{font-size:8px}.section,.story{padding:55px 7%;display:block}.section-label{margin-bottom:27px}.section-label p{display:inline;margin-left:14px;font-size:11px}.section-label span{font-size:9px}.concept h2{font-size:25px;margin-bottom:23px}.concept-content>p{font-size:13px}.reduction{display:block;padding:21px 0}.reduction strong{font-size:83px}.reduction>div>p{font-size:22px}.reduction-note{margin-top:18px}.reduction-note p{font-size:11px!important}.reduction-note a{margin-top:8px}.concept-content>.note{font-size:10px}.allergy{padding:17px 18px}.allergy p{font-size:11px}.story h2{font-size:27px;letter-spacing:-.02em;margin-bottom:25px}.story-columns{display:block}.story-columns p{font-size:13px}.story-pre{font-size:11px}.signature span{font-size:9px}.story-note{font-size:10px}.approach-grid{display:block}.approach-grid article{margin-top:28px;display:grid;grid-template-columns:40px 1fr;gap:8px 15px}.approach-grid h3{font-size:23px;margin:0}.approach-grid h3 br{display:none}.approach-grid p{grid-column:2}.product-layout{display:block}.product-info{margin-top:30px}.product-info h2{font-size:26px}.product-layout figure img{aspect-ratio:4/3}.shop{padding:53px 7%}.shop h2{font-size:28px}.shop>p:not(.eyebrow){font-size:12px}.shop>p br{display:none}.shop h2 br{display:block}.status{padding:10px 23px}summary{font-size:13px;padding:20px 0}details>p{font-size:12px;padding-right:15px}footer{display:block;padding:33px 7%}footer>div+div{margin-top:25px}.mobile{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep the full package visible in the studio photograph. */
.hero-image{background:#10281d}.hero-image img{height:auto;object-fit:contain;aspect-ratio:3/2}.product-layout figure img{aspect-ratio:3/2;object-fit:contain}

/* Ingredients and method editorial sections. */
.ingredients{border-top:1px solid var(--line)}.materials-content h2,.method-content h2{font-size:32px;margin-bottom:24px}.section-intro{font-size:14px;max-width:720px;margin-bottom:32px}.materials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 35px}.materials-grid article{border-top:1px solid var(--gold);padding-top:16px}.material-en{font-size:9px;letter-spacing:.16em;color:#7c6b47}.materials-grid h3{font-size:20px;margin:9px 0 12px}.materials-grid p{font-size:13px;line-height:1.95}.other-materials{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.other-materials h3{font-family:inherit;font-size:12px;font-weight:600;margin-bottom:7px}.other-materials p{font-size:12px}.materials-note{margin-top:20px}.allergen-line{font-size:11px;margin-top:17px;font-weight:600}.materials-content .text-link{margin-top:20px}.method{max-width:none;background:#eeeee5;padding-left:max(6%,calc((100vw - 1160px)/2));padding-right:max(6%,calc((100vw - 1160px)/2));grid-template-columns:210px 1fr}.method-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:20px;padding:30px 0;border-top:1px solid #cbd0bc}.method-number{font-family:Georgia,serif;color:#958152;font-size:28px;line-height:1.4}.method-kicker{font-size:11px;letter-spacing:.1em;color:#7c6b47;margin-bottom:6px}.method-step h3{font-size:23px;margin-bottom:17px}.method-step>div>p:not(.method-kicker){font-size:13px}.theory-callout{margin-top:20px;padding:18px 22px;border-left:2px solid var(--gold);background:#f8f6ee}.theory-callout strong{font-family:"Yu Mincho",serif;font-size:21px;font-weight:500}.theory-callout sup{font-size:11px}.theory-callout p{font-size:11px;margin-top:7px}.method-points{list-style:none;margin:22px 0 0;padding:0}.method-points li{border-top:1px solid #d5d7c9;padding:14px 0;display:grid;grid-template-columns:1fr;gap:4px}.method-points strong{font-size:13px;font-weight:600}.method-points span{font-size:12px;color:#63705f}.method-basis{border:1px solid #cbd0bc;padding:23px;margin-top:4px}.method-basis h3{font-size:18px;margin-bottom:14px}.method-basis>p{font-size:12px}.method-basis .note{margin-top:17px;font-size:10px}.inline-link{text-decoration:underline;text-underline-offset:3px}header nav{gap:21px}@media(max-width:1100px) and (min-width:721px){header nav{gap:12px;font-size:10px}.nav-cta{padding:9px 11px}.method{padding:70px 5%;grid-template-columns:155px 1fr}.brand-main{font-size:16px}}@media(max-width:720px){.materials-content h2,.method-content h2{font-size:26px}.materials-grid{gap:24px 18px}.materials-grid h3{font-size:18px;line-height:1.7}.materials-grid p{font-size:12px}.section-intro{font-size:13px}.other-materials p{font-size:11px}.method{padding:55px 7%;display:block}.method-step{grid-template-columns:28px minmax(0,1fr);gap:13px;padding:24px 0}.method-number{font-size:23px}.method-step h3{font-size:20px}.method-step>div>p:not(.method-kicker){font-size:12px}.theory-callout{padding:15px}.theory-callout strong{font-size:18px}.method-points strong{font-size:12px}.method-points span{font-size:11px}.method-basis{padding:20px}.method-basis h3{font-size:17px}.method-basis>p{font-size:11px}header nav{gap:20px}}@media(max-width:380px){.materials-grid{grid-template-columns:1fr}.materials-grid h3{font-size:20px}}


/* 製品ページ共通の部品（本体の style.css と同じもの） */
/* ── 製品ページの拡充（図版・数値帯・業種カード）────────────────── */
/* 数値を横並びで示す帯。LPで使っていたものを全ページ共通に。 */
.terms-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);margin:28px 0}
.terms-strip div{display:block;background:#fff;padding:14px 16px;text-align:center;
  border:0;grid-template-columns:none;gap:0}
.terms-strip dt{font-size:10px;letter-spacing:.1em;color:#7c876f;margin-bottom:3px}
.terms-strip dd{margin:0;font-family:var(--serif);font-size:19px;color:var(--green)}
.terms-strip dd small{display:block;font-size:11px;color:#66725e;font-family:inherit;margin-top:2px}

/* 図版。SVGは幅いっぱいに縮み、説明文を下に添える。 */
.diagram{margin:0;background:#fff;border:1px solid var(--line);padding:24px 22px 18px}
.diagram svg{display:block;width:100%;height:auto}
.diagram figcaption{font-size:11px;line-height:1.9;color:#6d7864;margin-top:16px;
  border-top:1px solid var(--line);padding-top:13px}
.diagram-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.diagram-pair>*{min-width:0}
.diagram-lead{font-size:13px;line-height:2.1;margin-bottom:22px}

/* 業種別ページへの導線カード */
.lp-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:30px}
.lp-cards a{display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid #cfd6c7;
  padding:22px 22px 20px;transition:border-color .2s}
.lp-cards a:hover{border-color:var(--green);color:inherit}
.lp-cards span.who{font-size:10px;letter-spacing:.12em;color:var(--gold)}
.lp-cards b{font-family:var(--serif);font-size:19px;font-weight:500;line-height:1.6}
.lp-cards p{font-size:12px;color:#5f6b58;line-height:1.95}
.lp-cards em{font-style:normal;font-size:11px;color:var(--green);margin-top:auto;padding-top:10px}

@media(max-width:720px){
  .diagram{padding:18px 14px 14px}
  .diagram-pair{grid-template-columns:1fr;gap:16px}
  .lp-cards{grid-template-columns:1fr;gap:14px}
  .lp-cards a{padding:18px 16px 16px}
  .lp-cards b{font-size:17px}
}

/* 図版は情報量があるため縮めすぎない。狭い画面では横にスクロールして読んでもらう。 */
.diagram .scroller{overflow-x:auto;-webkit-overflow-scrolling:touch}
.diagram .hint{display:none;font-size:10.5px;color:#7c876f;letter-spacing:.06em;margin-bottom:9px}
@media(max-width:720px){
  .diagram .hint{display:block}
  .diagram.wide svg{min-width:660px}
  .diagram.narrow svg{min-width:430px}
}

/* 機種を写真で並べるギャラリー */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}
.gallery figure{margin:0;min-width:0;background:#fff;border:1px solid #cfd6c7}
.gallery img{width:100%;height:190px;object-fit:contain;background:#fff;padding:16px 16px 6px}
.gallery figcaption{padding:14px 16px 16px;border-top:1px solid var(--line)}
.gallery b{display:block;font-family:var(--serif);font-size:17px;font-weight:500;margin-bottom:5px}
.gallery span{font-size:11px;color:#66725e;line-height:1.85;display:block}
.gallery-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.photo-band{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin-top:8px}
.photo-band img{width:100%;height:auto;object-fit:cover}
.photo-band figure{margin:0;min-width:0}
.photo-band figcaption{font-size:11px;color:#6d7864;margin-top:10px;line-height:1.85}
.check-list{list-style:none;padding:0;margin:22px 0 0}
.check-list li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;
  border-top:1px solid var(--line);padding:14px 0;font-size:13px;line-height:1.95}
.check-list li:last-child{border-bottom:1px solid var(--line)}
.check-list span{color:#8b9b7c}
@media(max-width:720px){
  .gallery,.gallery-2{grid-template-columns:1fr;gap:14px}
  .gallery img{height:200px}
  .photo-band{grid-template-columns:1fr;gap:20px}
}

/* 先に読んでほしい注意書き */
.notice-strong{background:#fbf6ec;border:1px solid #d9c79a;border-left:3px solid var(--gold);padding:24px 26px}
.notice-strong h2{font-size:17px;margin-bottom:10px}
.notice-strong p{font-size:13px;line-height:2}
@media(max-width:720px){.notice-strong{padding:18px 16px}}
.gallery-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-3{align-items:stretch}.gallery-3 figure{display:flex;flex-direction:column}.gallery-3 img{height:270px;object-fit:contain;padding:12px 12px 0}.gallery-3 figcaption{margin-top:auto}
.src{display:block;color:#7c876f;font-size:10.5px;margin-top:6px;line-height:1.8}
@media(max-width:720px){.gallery-3{grid-template-columns:1fr}}

/* 引用（第三者の評価） */
.quote{margin:26px 0 22px;padding:26px 28px;background:#fff;border-left:3px solid var(--gold)}
.quote p{font-family:var(--serif);font-size:19px;line-height:2.1}
.quote cite{display:block;font-style:normal;font-size:11.5px;color:#6d7864;margin-top:16px}
@media(max-width:720px){.quote{padding:20px 18px}.quote p{font-size:16px}}

/* シェフ紹介 */
.chef{display:grid;grid-template-columns:260px minmax(0,1fr);gap:34px;align-items:start;margin-top:28px}
.chef figure{margin:0;min-width:0}
.chef img{width:100%;height:auto;display:block}
.chef figcaption{font-size:11px;color:#6d7864;margin-top:10px;line-height:1.8}
.chef .quote{margin-top:0}
@media(max-width:720px){.chef{grid-template-columns:1fr;gap:20px}.chef figure{max-width:240px}}

/* 本体サイトから移植したセクション（section-wide 系）の余白。
   これが無いと、スマートフォンで左右が画面端まで出て切れてしまう。 */
.section-wide{max-width:1320px;margin:auto;padding:95px 6%}
.product-features{background:#eeeee4;max-width:none;
  padding-left:max(6%,calc((100vw - 1126px)/2));
  padding-right:max(6%,calc((100vw - 1126px)/2))}
.small-note{color:#77826e;font-size:10px!important;margin-top:20px}
.story-content{min-width:0}
@media(max-width:1100px){
  .section-wide{padding:70px 5%}
  .product-features{padding-left:5%;padding-right:5%}
}
@media(max-width:720px){
  .section-wide{padding:55px 7%}
  .product-features{padding-left:7%;padding-right:7%}
}
.contact-points{margin:16px 0 6px;display:grid;gap:15px}
.contact-points>div{display:grid;gap:3px}
.cp-label{font-size:10px;letter-spacing:.07em;color:#657267;line-height:1.6}
.cp-tel{display:block;font-family:Georgia,serif;font-size:27px;line-height:1.2}
.cp-center{justify-items:center;text-align:center;margin-top:26px}
@media(max-width:720px){.cp-tel{font-size:24px}}
