/* Adopted site: products and prices first, retaining the established visual rhythm. */
.sj-menu{margin:26px auto 65px}
.sj-menu-nav{border-block:1px solid var(--line);padding:18px 0 12px;margin-bottom:18px}
.sj-menu-nav>p{font-size:12px;color:var(--accent);margin:0 0 8px}
.sj-menu-nav ul{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;margin:0;padding:0}
.sj-menu-nav a{display:flex;gap:20px;align-items:center;padding:8px 0;min-height:44px;text-decoration:none;font-size:16px}
.sj-menu-nav a:hover{background:#e8ecdf;color:var(--green);text-decoration:none}
.sj-menu-group{margin:55px 0 75px}
.sj-menu-group>h2{margin:0 0 26px;scroll-margin-top:90px}
.sj-menu-group-body{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(30px,5vw,80px);align-items:start}
.sj-menu-photo .dv-photo img{aspect-ratio:4/3;object-fit:cover}
.sj-menu-items{min-width:0}
.sj-menu-items .dv-menu-item-title h3{font:500 19px/1.75 'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;letter-spacing:0;max-width:70%;margin:0 0 12px}
.content-plan-adopted [data-design-page=menu] .dv-page-hero{margin-bottom:28px}
.content-plan-adopted [data-design-page=menu] .dv-text-hero{max-width:1220px;width:92%;margin-top:35px}
.content-plan-adopted [data-design-page=menu] .dv-text-hero .dv-lead{max-width:48em}
.content-plan-adopted .choice-card .sj-product-choice{font-size:12px;color:var(--accent);margin:16px 0 6px;line-height:1.8}
.content-plan-adopted .choice-card .sj-product-format{font-size:12px;line-height:1.8;margin:8px 0 16px}
.content-plan-adopted .choice-card h3{font-size:23px;line-height:1.65}
.content-plan-adopted .choice-card .text-link{font-size:14px;border-bottom:0}
.content-plan-adopted [data-design-page=tea-gift] .cp-paths{margin-bottom:20px}
.content-plan-adopted [data-design-page=tea-gift] .dv-toc{display:none}
.content-plan-adopted [data-design-page=tea-gift] .dv-section:first-of-type{margin-top:35px}
.content-plan-adopted [data-design-page=tea-gift] .choice-card>img{max-height:260px}
.content-plan-adopted :is([data-design-page=business],[data-design-page=company]) .dv-reading .dv-section-inner{width:min(900px,100%)}
.content-plan-adopted :is([data-design-page=business],[data-design-page=company]) .dv-reading .dv-copy{max-width:none}
.content-plan-adopted :is([data-design-page=business],[data-design-page=company]) .dv-copy p{max-width:45em}
@media(max-width:760px){
 .sj-menu{margin-block:15px 40px}.sj-menu-nav ul{gap:4px 18px}.sj-menu-nav a{font-size:14px;gap:12px}
 .sj-menu-group{margin:38px 0 50px}.sj-menu-group>h2{font-size:27px;margin-bottom:20px;scroll-margin-top:80px}
 .sj-menu-group-body{display:block}.sj-menu-photo{margin-bottom:22px}.sj-menu-photo .dv-photo img{aspect-ratio:2.1;max-height:205px}
 .sj-menu-items .dv-menu-item-title{align-items:flex-start;gap:14px}.sj-menu-items .dv-menu-item-title h3{font-size:17px;max-width:65%}.sj-menu-items .menu-price{font-size:20px}
 .content-plan-adopted [data-design-page=menu] .dv-page-hero{margin-top:24px;margin-bottom:18px}
 .content-plan-adopted [data-design-page=menu] .dv-hero-copy{padding-bottom:0}
 .content-plan-adopted [data-design-page=tea-gift] .dv-page-hero{margin-bottom:24px}
 .content-plan-adopted [data-design-page=tea-gift] .dv-hero-photo img{min-height:0;max-height:215px;aspect-ratio:1.8}
 .content-plan-adopted [data-design-page=tea-gift] .dv-section:first-of-type{margin-top:24px}
 .content-plan-adopted [data-design-page=tea-gift] .choice-grid{gap:30px}
 .content-plan-adopted [data-design-page=tea-gift] .choice-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:0 18px;align-items:start;padding-bottom:24px!important}
 .content-plan-adopted [data-design-page=tea-gift] .choice-card>img{grid-column:1;grid-row:1/6;max-height:145px}
 .content-plan-adopted [data-design-page=tea-gift] .choice-card>:not(img){grid-column:2;margin-top:0}
 .content-plan-adopted [data-design-page=tea-gift] .choice-card h3{font-size:21px;margin-bottom:10px}
 .content-plan-adopted [data-design-page=tea-gift] .choice-card .sj-product-choice{margin-bottom:5px}
 .content-plan-adopted [data-design-page=tea-gift] .choice-card p{font-size:13px;line-height:1.9}
 .content-plan-adopted [data-design-page=tea-gift] .choice-card .text-link{grid-column:1/-1;margin-top:12px;min-height:40px}
}
@media(max-width:360px){
 .content-plan-adopted [data-design-page=tea-gift] .choice-card{grid-template-columns:90px minmax(0,1fr);gap:0 13px}
 .content-plan-adopted [data-design-page=tea-gift] .choice-card h3{font-size:19px}
}

/* Homepage footer refinement 2026-10-28; shared footer, quieter social links. */
.content-plan-adopted .dv-section-heading .souemon-heading-phrase{display:inline-block;white-space:nowrap}
.souemon-social-links a{gap:10px;overflow:visible;text-indent:0}
.souemon-social-icon{display:block;flex:0 0 22px;width:22px;height:22px}
.souemon-social-label{min-width:0;font-weight:500}
.site-footer .souemon-footer .footer-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);gap:clamp(28px,3.5vw,52px);align-items:start;padding-bottom:36px}
.souemon-footer .footer-main>*,.souemon-footer li{min-width:0}
.souemon-footer .footer-identity .brand-ja{font-size:clamp(23px,2vw,29px);line-height:1.5;margin:0 0 22px}
.souemon-footer .footer-souemon{font-size:.86em;white-space:nowrap}
.souemon-footer .footer-identity p:not(.brand-ja),.souemon-footer address{font-size:12px;line-height:2;margin:0 0 16px}
.souemon-footer .footer-section-title{font-family:inherit;font-size:13px;font-weight:600;line-height:1.6;letter-spacing:.05em;margin:0 0 17px}
.souemon-footer .footer-main .footer-sitemap{display:block;margin:0}
.site-footer .footer-sitemap>ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0;padding:0;list-style:none}
.souemon-footer .footer-sitemap a{display:block;font-size:12px;line-height:1.9;overflow-wrap:anywhere}
.souemon-footer .footer-legal{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;line-height:2}
.souemon-footer .footer-main .souemon-social-links{display:block;margin:0;padding:0}
.site-footer .footer-social .souemon-social-links ul{display:grid;grid-template-columns:1fr;gap:2px;margin:0;padding:0}
.souemon-footer .footer-social .souemon-social-links a{display:flex;gap:10px;min-height:40px;padding:5px 0;font-size:13px;line-height:1.6;text-decoration:none}
.souemon-footer .souemon-social-label{text-decoration:underline;text-underline-offset:4px}
.souemon-footer a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(min-width:641px) and (max-width:1000px){
 .site-footer .souemon-footer .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
 .souemon-footer .footer-identity{grid-column:1;grid-row:1}
 .souemon-footer .footer-social{grid-column:2;grid-row:1}
 .souemon-footer .footer-sitemap{grid-column:1/-1;grid-row:2}
 .site-footer .footer-sitemap>ul{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
 .site-footer .souemon-footer .footer-main{grid-template-columns:minmax(0,1fr);gap:30px;padding-bottom:28px}
 .souemon-footer .footer-section-title{font-size:14px;margin-bottom:12px}
 .site-footer .footer-sitemap>ul{gap:9px 20px}
 .souemon-footer .footer-sitemap a{font-size:13px;min-height:30px}
 .souemon-footer .footer-social .souemon-social-links a{min-height:44px}
}

/* Adopted shared UI: header rules belong to the shared template, not a page renderer. */
.souemon-header .desktop-nav{font-size:12px}
.souemon-header .desktop-nav{align-items:center} .souemon-header a.souemon-shop-nav{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border:1px solid var(--green);color:var(--green);font-weight:600;line-height:1.5} .souemon-header a.souemon-shop-nav:hover{background:var(--green);color:#fff} @media(min-width:1321px){.souemon-header .desktop-nav{font-size:13px}} @media(max-width:1320px){.souemon-header .desktop-nav,.souemon-header .desktop-nav ul{gap:20px}} @media(max-width:1180px){.souemon-quick-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));font-size:13px}.souemon-quick-nav a{padding:8px 6px;text-align:center;line-height:1.45}.souemon-quick-nav a:last-child{color:var(--green);font-weight:600}} @media(max-width:380px){.souemon-quick-nav{font-size:12px}.souemon-quick-nav a{padding:6px 4px}} 
/* Shared visual roles. Content grids, CTA counts and editorial cards stay page-specific. */
body.content-plan-adopted{--souemon-ui-sans:'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans JP',sans-serif;--souemon-ui-mincho:'Yu Mincho','YuMincho','Hiragino Mincho ProN','Noto Serif JP',serif}
body.content-plan-adopted.souemon-content-preview :is(.souemon-main,.sx-page) :is(a.button,button.button,a.sx-btn){box-sizing:border-box;display:inline-block;max-width:100%;min-height:54px;border:2px solid var(--green);border-radius:0;padding:14px 26px;background:var(--green);color:#fff;font-family:var(--souemon-ui-sans);font-size:15px;font-weight:600;line-height:1.5;letter-spacing:.04em;text-align:center;text-decoration:none;box-shadow:none;vertical-align:middle;text-wrap:balance;cursor:pointer}
body.content-plan-adopted.souemon-content-preview :is(.souemon-main,.sx-page) :is(a.button,button.button,a.sx-btn):hover{background:var(--accent);border-color:var(--accent);color:#fff}
body.content-plan-adopted.souemon-content-preview :is(.souemon-main,.sx-page) :is(a.button,button.button,a.sx-btn):is(.button-secondary,.sx-btn--line){background:transparent;color:var(--green)}
body.content-plan-adopted.souemon-content-preview :is(.souemon-main,.sx-page) :is(a.button,button.button,a.sx-btn):is(.button-secondary,.sx-btn--line):hover{background:var(--green);border-color:var(--green);color:#fff}
body.content-plan-adopted :is(.souemon-header,.souemon-quick-nav) a:focus-visible,body.content-plan-adopted :is(.souemon-main,.sx-page) :is(a.button,button.button,a.sx-btn,a.text-link,a.sx-more):focus-visible{outline:2px solid var(--green);outline-offset:4px}
body.content-plan-adopted.souemon-content-preview :is(.souemon-main,.sx-page) :is(a.text-link,a.sx-more){display:inline-block;min-height:44px;padding:10px 0;border-bottom:1px solid currentColor;font-family:var(--souemon-ui-sans);font-size:15px;line-height:1.5;text-wrap:pretty}
body.content-plan-adopted.souemon-content-preview :is(.breadcrumbs,.sx-crumbs){box-sizing:border-box;width:min(1280px,calc(100% - 48px));max-width:none;margin:20px auto 0;padding:0;font-family:var(--souemon-ui-sans);font-size:13px;line-height:1.8;color:#5a5a4e}
body.content-plan-adopted.souemon-content-preview :is(.souemon-main,.sx-page) h1{font-family:var(--souemon-ui-mincho);font-size:clamp(31px,3.5vw,50px);font-weight:600;line-height:1.5;letter-spacing:.04em}
body.content-plan-adopted.souemon-content-preview :is(.dv-section-heading h2,.article-body h2,.sx-section h2,.journal-content>section>h2,.article-after>section>h2):not(.sx-panel-title){font-family:var(--souemon-ui-mincho);font-size:clamp(24px,2.3vw,33px);font-weight:600;line-height:1.55;letter-spacing:.04em}
body.content-plan-adopted.souemon-content-preview :is(.dv-copy>p,.article-body p){font-family:var(--souemon-ui-sans);font-size:16px;line-height:1.95}
body.content-plan-adopted.souemon-content-preview :is(.dv-lead,.sx-lead,.article-summary){font-family:var(--souemon-ui-sans);font-size:17px;line-height:2}
body.content-plan-adopted.souemon-content-preview :is(.souemon-main,.sx-page) figcaption{font-family:var(--souemon-ui-sans);font-size:13px;line-height:1.7;color:#5a5a4e}
@media(max-width:760px){
 body.content-plan-adopted.souemon-content-preview :is(.breadcrumbs,.sx-crumbs){width:calc(100% - 40px)}
 body.content-plan-adopted.souemon-content-preview :is(.souemon-main,.sx-page) :is(a.button,button.button,a.sx-btn){padding:14px 16px}
 body.content-plan-adopted.souemon-content-preview :is(.souemon-main,.sx-page) h1{font-size:clamp(26px,7.4vw,32px)}
 body.content-plan-adopted.souemon-content-preview :is(.dv-section-heading h2,.article-body h2,.sx-section h2,.journal-content>section>h2,.article-after>section>h2):not(.sx-panel-title){font-size:24px}
 body.content-plan-adopted.souemon-content-preview :is(.dv-lead,.sx-lead,.article-summary){font-size:16px}
}

/* Balance short labels without imposing line breaks on running prose. */
body.content-plan-adopted.souemon-content-preview .sx-page :is(.sx-hours dd,.sx-product-kicker,.sx-facts dt,.sx-rows dt){text-wrap:balance}

/* Product-card actions retain their quieter role within the shared tap area. */
body.content-plan-adopted.souemon-content-preview .choice-card a.text-link{font-size:14px;border-bottom:0}
