/*
Theme Name: Usaginohoppe Chikuwa
Description: うさぎのほっぺ企業サイト。ちくわの写真を使った専用テーマ。
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: usaginohoppe-chikuwa
*/
:root{--ink:#242d2b;--muted:#636d67;--green:#204d40;--line:#dfe5e0;--light:#f4f7f4;--white:#fff}
*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:"Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:15px;line-height:1.9;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}a:focus-visible,button:focus-visible{outline:3px solid #a5642b;outline-offset:6px}a,button{-webkit-tap-highlight-color:transparent}.skip{position:fixed;top:-80px;left:16px;background:white;padding:12px;z-index:100}.skip:focus{top:12px}.header{height:96px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:white;position:sticky;top:0;z-index:10;border-bottom:1px solid #edf0ed}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand img{width:48px;height:48px;object-fit:contain}.brand span{font-size:22px;font-weight:700;line-height:1.35}.brand small,.footer-brand small{display:block;font-size:10px;font-weight:400;margin-top:5px;color:var(--muted)}.header nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:600}.header nav a:hover,footer nav a:hover{color:var(--green);text-decoration:underline;text-underline-offset:6px}.header .nav-contact{background:var(--green);color:white;padding:12px 22px;display:flex;gap:28px;align-items:center}.header .nav-contact:hover{color:#fff;background:#153b30}.menu-toggle{display:none}.hero{position:relative;height:min(670px,calc(100svh - 175px));min-height:470px;isolation:isolate;background:#292c2a;color:#fff;overflow:hidden}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:60% center;position:absolute;inset:0;z-index:-2}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.52),rgba(0,0,0,.18) 48%,transparent 67%);z-index:-1}.hero-content{max-width:1280px;margin:auto;padding:54px 5% 42px}.eyebrow{font-size:11px;font-weight:700;line-height:1.6;color:var(--green);margin-bottom:24px}.hero .eyebrow{color:#e0e8e1}.hero h1{font-size:47px;line-height:1.35;font-weight:600;margin-bottom:22px}.hero-message{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:43px;line-height:1.5;margin-bottom:22px}.hero-description{font-size:14px;line-height:2;color:#f0f2ef}.hero-link{display:inline-flex;align-items:center;gap:54px;font-size:13px;border-bottom:1px solid #aeb6b0;padding:15px 0 10px;margin-top:15px}.hero-link:hover{border-color:#fff}.hero-caption{position:absolute;bottom:28px;right:5%;font-size:10px;color:#fff}.intro-strip{min-height:85px;display:flex;align-items:center;justify-content:space-between;padding:20px 6%;gap:24px;border-bottom:1px solid var(--line)}.intro-strip>span{font-size:15px;font-weight:600}.intro-strip p{font-size:10px;color:var(--muted)}.intro-strip p span{margin:0 16px;color:#8d9990}.section{padding:96px max(6%,calc((100% - 1200px)/2))}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:56px}.section h2{font-size:32px;line-height:1.65;font-weight:600}.section-lead{font-size:14px;color:var(--muted);line-height:2.1}.business-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.business-item{border-top:2px solid var(--green);padding-top:24px;display:flex;flex-direction:column}.business-top{display:flex;justify-content:space-between;align-items:center;color:var(--green);margin-bottom:20px}.business-top>span{font-family:Georgia,serif;font-size:36px;line-height:1}.business-top p{font-size:10px}.business-item h3{font-size:25px;line-height:1.5;margin-bottom:12px}.business-sub{font-weight:600;margin-bottom:16px}.business-item>p:not(.business-sub){font-size:14px;color:var(--muted);line-height:2.1}.tags{display:flex;gap:8px 18px;flex-wrap:wrap;margin:24px 0;font-size:12px;color:var(--green)}.tags span{padding-left:10px;border-left:2px solid #bacabe;line-height:1.4}.text-link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding:16px 0;border-top:1px solid var(--line);font-size:13px;font-weight:600}.text-link:hover{color:var(--green)}.shops{background:var(--light)}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.shop{background:#fff;border:1px solid #e2e8e2;display:grid;grid-template-columns:128px 1fr 30px;gap:24px;align-items:center;padding:30px;transition:border-color .2s,transform .2s}.shop:hover{border-color:var(--green);transform:translateY(-3px)}.shop-logo{aspect-ratio:1;display:flex;align-items:center;justify-content:center}.shop-logo img{width:100%;height:100%;object-fit:contain}.shop-platform{font-size:10px;font-weight:700;margin-bottom:10px}.rakuten{color:#9b202b}.mercari{color:#286776}.shop h3{font-size:20px;line-height:1.4;overflow-wrap:anywhere}.shop-info>p:last-child{font-size:12px;color:var(--muted);margin-top:8px}.shop-arrow{font-size:26px;font-weight:400;color:var(--green)}.philosophy{display:grid;grid-template-columns:1fr 1fr;gap:90px}.philosophy-intro>p:last-child{margin-top:28px;font-size:14px;color:var(--muted);line-height:2.2}.values article{display:flex;gap:24px;padding:26px 0;border-bottom:1px solid var(--line)}.values article:first-child{padding-top:0}.values article>span{font-family:Georgia,serif;color:var(--green);font-size:15px;padding-top:2px}.values h3{font-size:19px;margin-bottom:12px}.values p{font-size:14px;color:var(--muted)}.profile{background:#f8f9f8;display:grid;grid-template-columns:1fr 1.6fr;gap:60px}.profile-title>p:last-child{font-size:14px;color:var(--muted);margin-top:26px}dl{margin:0}dl>div{display:grid;grid-template-columns:125px 1fr;gap:28px;padding:20px 0;border-bottom:1px solid var(--line);font-size:14px}dl>div:first-child{border-top:1px solid var(--line)}dt{font-weight:600}dd{margin:0}.contact{display:flex;align-items:center;justify-content:space-between;gap:50px;background:var(--green);color:white}.contact .eyebrow{color:#c2d5c9}.contact h2{font-size:30px}.contact p:last-child{font-size:14px;margin-top:22px;color:#e2e9e4}.contact-link{display:flex;align-items:center;justify-content:space-between;gap:70px;background:#fff;color:var(--green);padding:23px 34px;min-width:290px;font-weight:600;font-size:15px}.contact-link:hover{background:#edf2ed}.contact-link span{font-size:26px}footer{padding:44px 6% 24px}.footer-top{display:flex;justify-content:space-between;gap:35px;align-items:center}.footer-brand{font-size:22px;font-weight:600;line-height:1.5}.footer-top nav{display:flex;gap:26px;font-size:12px}.back-top{width:42px;height:42px;border:1px solid var(--line);display:grid;place-items:center;font-size:22px}.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.footer-bottom small{font-size:10px}
@media(min-width:1800px){.hero-content{padding-left:0}.hero-photo{object-position:center 47%}.hero h1{font-size:51px}}
@media(max-width:1100px){.header nav{gap:18px}.header{padding:0 4%;height:84px}.brand span{font-size:19px}.brand img{width:40px;height:40px}.header .nav-contact{padding:10px 14px;gap:14px}.hero h1{font-size:40px}.hero-message{font-size:38px}.section{padding:76px 6%}.shop{grid-template-columns:90px 1fr 22px;gap:16px;padding:24px}.shop h3{font-size:18px}.philosophy{gap:50px}}
@media(max-width:900px){html{scroll-padding-top:85px}.header{height:76px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:44px;height:44px;background:#fff;border:1px solid var(--line);cursor:pointer}.menu-toggle span{display:block;width:20px;height:1px;background:var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px 6% 28px;box-shadow:0 12px 20px #00000012;align-items:stretch;gap:0}.header nav.is-open{display:flex;flex-direction:column}.header nav a{padding:13px 0}.header nav .nav-contact{padding:14px 18px;margin-top:12px;justify-content:space-between}.intro-strip{flex-wrap:wrap;gap:6px}.hero-photo{object-position:59% center}.hero-content{padding-left:6%}.hero h1{font-size:36px}.hero-message{font-size:34px}.hero-description{font-size:13px}.section h2{font-size:28px}.section-heading{gap:25px}.business-grid{gap:34px}.shop-grid{grid-template-columns:1fr}.shop{grid-template-columns:105px 1fr 30px}.philosophy{gap:36px}.profile{grid-template-columns:1fr;gap:35px}.contact{gap:28px}.contact h2{font-size:26px}.contact-link{min-width:230px;gap:20px;padding:20px}.footer-top nav{gap:16px}.footer-brand{font-size:19px}}
@media(max-width:600px){.hero{height:auto;min-height:630px}.hero-photo{object-position:64% top;height:310px}.hero:after{background:linear-gradient(0deg,#242a26 0%,#242a26 50%,transparent 82%)}.hero-content{padding:225px 7% 32px}.hero .eyebrow{margin-bottom:13px;font-size:10px}.hero h1{font-size:32px;margin-bottom:12px}.hero-message{font-size:29px;line-height:1.55;margin-bottom:14px}.hero-message br{display:none}.hero-description{font-size:12px;line-height:2}.hero-link{margin-top:9px;font-size:12px;gap:65px;padding-bottom:6px}.hero-caption{display:none}.intro-strip{padding:21px 7%;min-height:92px}.intro-strip>span{font-size:13px}.intro-strip p{font-size:8px}.intro-strip p span{margin:0 6px}.section{padding:62px 7%}.eyebrow{margin-bottom:17px;font-size:10px}.section-heading{display:block;margin-bottom:34px}.section h2{font-size:26px;line-height:1.65}.section-lead{margin-top:21px;font-size:13px}.section-lead br{display:none}.business-grid{grid-template-columns:1fr;gap:42px}.business-item{padding-top:20px}.business-top{margin-bottom:16px}.business-item h3{font-size:23px}.business-sub{font-size:14px}.business-item>p:not(.business-sub){font-size:13px}.shop{grid-template-columns:78px 1fr 20px;gap:15px;padding:22px 18px}.shop h3{font-size:17px}.shop-platform{font-size:9px}.shop-arrow{font-size:23px}.shop-grid{gap:16px}.philosophy{grid-template-columns:1fr;gap:35px}.values h3{font-size:17px}.values p{font-size:13px}.values article{gap:18px}.profile-title>p:last-child{margin-top:18px}dl>div{grid-template-columns:90px 1fr;gap:15px;padding:17px 0;font-size:12px}.contact{display:block}.contact h2{font-size:25px}.contact p:last-child{font-size:13px}.contact-link{margin-top:30px;padding:18px 23px;font-size:14px;min-width:0;width:100%}footer{padding:36px 7% 20px}.footer-top{flex-wrap:wrap;gap:25px}.footer-top nav{order:3;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px}.footer-bottom{margin-top:28px;gap:20px;font-size:8px}.footer-bottom small{font-size:8px}}
@media(max-width:360px){.brand span{font-size:18px}.brand img{width:34px;height:34px}.brand{gap:8px}.hero h1{font-size:29px}.hero-message{font-size:25px}.hero-description{font-size:11px}.shop{grid-template-columns:65px 1fr 18px;gap:10px;padding:18px 12px}.shop h3{font-size:15px}.contact h2{font-size:22px}.footer-bottom{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Chikuwa edition: light photography, quiet typography, purposeful dialogue. */
:root{--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif}
.brand span,.footer-brand{letter-spacing:.04em}.eyebrow,.brand small,.footer-brand small,.shop-platform,.business-top p{letter-spacing:.14em}
.hero{background:#e8e7dc;color:var(--ink);height:650px;min-height:0}
.hero-photo{object-position:center center}
.hero:after{background:linear-gradient(90deg,rgba(249,248,240,.72),rgba(249,248,240,.22) 43%,transparent 64%)}
.hero-content{max-width:1440px;padding:76px 6% 46px}
.hero h1{font-size:18px;font-weight:500;letter-spacing:.1em;margin-bottom:24px}
.hero-message{font-family:var(--serif);font-size:clamp(38px,3.6vw,58px);font-weight:500;letter-spacing:.06em;line-height:1.45;margin-bottom:26px}
.hero .eyebrow{color:var(--green);font-size:10px;margin-bottom:28px}
.hero-description{color:#35453d;font-size:13px;line-height:2.1}
.hero-link{border-color:#637468;margin-top:18px;gap:42px}.hero-link:hover{border-color:var(--green)}
.hero-caption{color:#263b30;background:rgba(250,250,244,.75);padding:3px 10px;letter-spacing:.12em}
.section h2{font-family:var(--serif);font-weight:500;letter-spacing:.04em}
.contact-link,.nav-contact{transition:background .2s,transform .2s}.contact-link:hover{transform:translateY(-2px)}
dialog{border:0;width:min(570px,calc(100% - 32px));max-height:calc(100svh - 40px);padding:48px 40px;background:#fafbf8;color:var(--ink);box-shadow:0 24px 100px #0003;overflow:auto}
dialog::backdrop{background:rgba(21,39,32,.6);backdrop-filter:blur(4px)}
dialog h2{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.5}
.dialog-close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:29px;line-height:1;width:40px;height:40px;cursor:pointer;color:var(--green)}
.dialog-intro{font-size:13px;color:var(--muted);margin:16px 0 28px}
.dialog-choice{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--green);color:#fff;padding:23px}
.dialog-choice strong{font-size:14px;font-weight:600}.dialog-choice small{display:block;font-size:12px;margin-top:7px;color:#e3eee7}
.dialog-purchase{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.dialog-purchase h3{font-size:15px}.dialog-purchase p{font-size:12px;color:var(--muted);margin:12px 0}
.dialog-purchase a{display:inline-block;font-size:12px;border-bottom:1px solid #809b8d;margin:8px 22px 0 0;padding-bottom:3px}
body.dialog-open{overflow:hidden}
@media(min-width:1800px){.hero{height:720px}.hero-content{padding-top:100px}.hero-photo{object-position:center}}
@media(min-width:601px) and (max-width:900px){.hero{height:590px}.hero-photo{object-position:64% center}.hero:after{background:linear-gradient(90deg,#f7f7ebdc,#f7f7eb88 40%,transparent 75%)}.hero-content{padding-top:62px}.hero-message{font-size:40px}.hero-description{max-width:320px}}
@media(max-width:600px){.hero{height:auto;min-height:0;background:#f4f4ec}.hero-photo{position:relative;height:270px;width:100%;object-fit:cover;object-position:80% center}.hero:after{display:none}.hero-content{padding:32px 7% 36px}.hero .eyebrow{margin-bottom:18px;font-size:9px}.hero h1{font-size:16px;margin-bottom:15px}.hero-message{font-size:35px;line-height:1.5;letter-spacing:.01em;margin-bottom:18px}.hero-message br{display:block}.hero-description{font-size:12px;line-height:2}.hero-link{font-size:12px;padding-top:8px;margin-top:12px}.hero-caption{display:none}.section h2{font-size:26px}dialog{padding:44px 24px 30px}dialog h2{font-size:25px}.dialog-choice{padding:20px 17px}.dialog-choice strong{font-size:13px}}
@media(max-width:360px){.hero-photo{height:230px;object-position:82% center}.hero-message{font-size:31px}.hero-description{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

/* WordPress integration: existing page content and Contact Form 7 remain intact. */
.admin-bar .header{top:32px}.interior-heading{background:#f4f7f4;padding-top:65px;padding-bottom:45px}.interior-heading h1{font:500 clamp(30px,4vw,46px)/1.5 var(--serif);letter-spacing:.04em}.interior-breadcrumb{margin-top:25px;color:var(--muted);font-size:12px}.interior-breadcrumb span{margin:0 14px}.interior-content{max-width:1050px;margin:0 auto;padding-top:60px;padding-bottom:90px;overflow-wrap:anywhere}.interior-content p{margin:0 0 1.5em}.interior-content h2,.interior-content h3{margin:1.8em 0 .7em}.interior-content h2{font-family:var(--serif)}.interior-content a{color:var(--green);text-decoration:underline;text-underline-offset:3px}.interior-content table{width:100%;border-collapse:collapse}.interior-content td,.interior-content th{padding:15px;border-bottom:1px solid var(--line);text-align:left}.interior-content input:not([type=submit]):not([type=checkbox]):not([type=radio]),.interior-content textarea,.interior-content select{max-width:100%;width:100%;font:inherit;padding:14px 16px;border:1px solid #bacabe;background:#fbfcfa;color:var(--ink);border-radius:0}.interior-content input[type=submit],.interior-content button{font:inherit;background:var(--green);color:white;border:0;padding:14px 42px;cursor:pointer}.interior-content input:focus-visible,.interior-content textarea:focus-visible,.interior-content select:focus-visible{outline:2px solid #a5642b;outline-offset:3px}.interior-content .wpcf7-not-valid-tip{font-size:13px}.interior-content label{font-size:14px;font-weight:500}.interior-content figure{max-width:100%;margin:30px 0}.interior-content img{height:auto}
@media(max-width:782px){.admin-bar .header{top:46px}}
@media(max-width:600px){.admin-bar .header{top:0}.interior-heading{padding-top:40px;padding-bottom:30px}.interior-content{padding-top:38px;padding-bottom:60px}.interior-content td,.interior-content th{padding:10px 7px;font-size:12px}}
