/*
Theme Name: ぽっとらっく 修正版
Description: 保存済み修正版の確認用テーマ
Version: 0.2.0
Text Domain: potluck-review
*/
:root{--ink:#19352f;--green:#23644f;--mint:#e9f5ee;--orange:#b74e16;--cream:#fffaf2;--line:#d9e5df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:150px}body{margin:0;color:var(--ink);font:1rem/1.9 "Noto Sans JP","Yu Gothic",Meiryo,sans-serif;background:white}a{color:var(--green);text-underline-offset:5px}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{display:block;width:100%;height:auto}p{margin:0 0 1.25rem}small,.note,.source{font-size:.875rem}h1,h2,h3{line-height:1.55;overflow-wrap:anywhere}h1{font-size:clamp(2.2rem,4.5vw,4rem);letter-spacing:.01em;margin:.4em 0}h1 em{font-style:normal;color:var(--orange)}h2{font-size:clamp(1.65rem,3vw,2.5rem);margin:.3em 0 .7em}h3{font-size:1.3rem;margin:.4em 0}figure{margin:0}figcaption{font-size:.875rem;padding:12px 4px}.skip{position:absolute;left:10px;top:-100px;background:white;padding:10px;z-index:30}.skip:focus{top:10px}.preview{background:var(--ink);color:white;text-align:center;font-size:.875rem;padding:5px 16px}header{padding:20px max(24px,calc((100vw - 1200px)/2));background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;width:max-content;max-width:100%}.brand-mark{display:grid;place-items:center;background:var(--orange);color:white;border-radius:50%;width:42px;height:42px;font-size:1.5rem;font-weight:bold;flex-shrink:0}.brand>span:last-child{display:flex;flex-direction:column;font-size:1.5rem;font-weight:800;line-height:1.4}.brand small{font-size:.875rem;font-weight:normal}.navigation{margin-top:16px}.navigation>summary{display:none}nav{display:flex;gap:12px 25px;flex-wrap:wrap}nav a{font-size:.9375rem;font-weight:bold;color:var(--ink);text-decoration:none;min-height:36px;padding:3px 0}nav a[aria-current]{color:var(--orange);border-bottom:2px solid}.navigation:not([open])>nav{display:flex}main>section,.subpage>section{max-width:1160px;margin:auto;padding:64px 28px}.eyebrow{font-size:.875rem;letter-spacing:.1em;font-weight:bold;color:var(--green)}.hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:48px;min-height:570px}.hero figure img{aspect-ratio:4/5;object-fit:cover;border-radius:90px 18px 90px 18px}.hero p,.page-intro>p,.page-title>p{font-size:1.125rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 25px;background:var(--green);color:white;border-radius:999px;text-decoration:none;font-weight:bold;text-align:center}.text-link{display:inline-block;font-weight:bold;margin:12px 16px 12px 0}.hero .button{margin-right:12px}.statement{background:var(--mint);text-align:center;max-width:none!important;padding:75px 24px!important}.statement p{max-width:760px;margin:0 auto 20px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:26px}.cards,.values,.learn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:20px;overflow:hidden;color:var(--ink);text-decoration:none;background:white}.card img{aspect-ratio:4/3;object-fit:cover}.card>div{padding:26px}.card small{color:var(--orange);font-weight:bold}.color-card{background:var(--mint);justify-content:center}.values article,.learn-grid a,.info-grid article,.article-list article{padding:30px;border:1px solid var(--line);border-radius:20px}.values article h2{font-size:1.5rem}.values article>span{color:var(--orange);font-size:2rem;font-weight:bold}.learn-grid a{color:var(--ink);text-decoration:none}.learn-grid small{color:var(--orange);font-weight:bold}.learn{background:var(--cream);border-radius:24px}.cta{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--mint);border-radius:24px;margin:40px auto 64px!important}.cta .button{flex-shrink:0}.cta p{margin-bottom:0}.page-intro,.page-title{padding-top:65px!important;padding-bottom:40px!important}.split{display:grid;grid-template-columns:1fr 1.3fr;gap:70px}.feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}.feature img{aspect-ratio:4/3;object-fit:cover;border-radius:24px}.reverse img{order:2}.cafe-photo img{max-height:540px;object-fit:cover;border-radius:28px}.day dl{max-width:720px;margin:28px auto}.day dl>div{display:grid;grid-template-columns:100px 1fr;padding:13px 20px;border-bottom:1px solid var(--line)}dt{font-weight:bold}dd{margin:0}.note{background:var(--mint);border-radius:12px;padding:16px 20px}.contact-grid,.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-grid article{background:var(--cream);padding:32px;border-radius:20px;min-width:0}.phone{font-size:clamp(1.5rem,3vw,2.3rem);font-weight:bold;white-space:nowrap}.steps ol{list-style:none;padding:0;counter-reset:steps}.steps li{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.steps li>b{color:var(--orange);font-size:1.6rem}.steps strong{display:block;font-size:1.15rem}.questions details{border-bottom:1px solid var(--line);padding:20px 0}.questions summary{font-weight:bold;cursor:pointer;min-height:32px}.questions details p{margin:18px 0 0}.article-list{display:grid;gap:24px}.article-list article{scroll-margin-top:150px}.article-list small{color:var(--orange);font-weight:bold}.article-list h2{font-size:1.6rem}.article-list p,.article-list ul{max-width:850px}.source{border-top:1px solid var(--line);padding-top:16px}.map-frame{width:100%;height:380px;border:0;border-radius:24px}footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px;background:var(--ink);color:white;padding:45px max(28px,calc((100vw - 1104px)/2));font-size:.9375rem}footer a{color:white}footer b{font-size:1.4rem}footer p{margin:0 0 12px}@media(max-width:900px){header{position:relative}.hero{gap:24px}.cards,.values,.learn-grid{gap:14px}.card>div,.values article,.learn-grid a{padding:20px}.split{gap:30px}.cta{margin:24px!important}.navigation>summary{display:block;cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:8px 16px;width:max-content;font-weight:bold}.navigation:not([open])>nav{display:none}.navigation[open]>nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:15px}nav a{padding:10px 0}html{scroll-padding-top:24px}}@media(max-width:650px){main>section,.subpage>section{padding:40px 22px}.hero,.split,.feature,.contact-grid,.info-grid,.cards,.values,.learn-grid{grid-template-columns:1fr}.hero figure img{aspect-ratio:4/3;border-radius:45px 15px}.hero{gap:28px;min-height:0}.hero h1{font-size:clamp(1.8rem,7vw,2.8rem)}.section-head,.cta{display:block}.cta .button{margin-top:18px}.reverse img{order:0}.values,.cards{gap:20px}.page-title h1,.page-intro h1{font-size:2.1rem}.contact-grid article{padding:24px}.cta{padding:28px!important}.article-list article{padding:24px}.article-list ul{padding-left:22px}footer{grid-template-columns:1fr;gap:22px}.phone{white-space:normal;overflow-wrap:anywhere}.hero .text-link{display:block}.navigation[open]>nav{grid-template-columns:1fr}.brand>span:last-child{font-size:1.35rem}.brand small{font-size:.875rem}br{max-width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.breadcrumbs{max-width:1160px;margin:24px auto 0;padding:0 28px;font-size:.875rem}.overview dl{margin:28px 0 0}.overview dl>div{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line)}.overview dd{overflow-wrap:anywhere}.first-visit{border-top:1px solid var(--line)}.cafe-visit{margin-top:28px}.before-contact .info-grid{margin-top:28px}@media(max-width:650px){.overview dl>div{grid-template-columns:1fr;gap:8px}.breadcrumbs{padding:0 22px}.first-visit h2{font-size:1.6rem}}
/* Photo-free pop direction: typography, clean color blocks and bold outlines. */
:root{--ink:#192b53;--green:#284abd;--mint:#f0f3ff;--orange:#ad3a08;--cream:#fff9dd;--line:#192b53}body{background:#fffcf5;line-height:1.9}header{background:#fffcf5;border-bottom:2px solid var(--ink);padding-top:16px;padding-bottom:12px}.preview{background:#284abd;font-weight:700}.brand-mark{background:#ff7546;color:#192b53;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink)}.brand>span:last-child{letter-spacing:.06em}.brand small{letter-spacing:0}nav a[aria-current]{color:var(--ink);background:#ffe45b;border:0;border-radius:6px;padding-left:8px;padding-right:8px}nav{gap:10px 21px}h1,h2,h3{font-weight:850}h1{letter-spacing:-.035em;font-size:clamp(2.1rem,4.4vw,3.7rem);line-height:1.65}h1 em{color:#284abd}.hero{grid-template-columns:1.05fr 1fr;gap:50px;padding-top:70px;padding-bottom:78px;min-height:620px}.hero .eyebrow{background:#ffe45b;display:inline-block;padding:5px 12px;border:1px solid var(--ink);border-radius:6px;letter-spacing:.02em;color:var(--ink)}.hero-message{background:#ff8055;border:2px solid var(--ink);border-radius:42px 42px 42px 8px;box-shadow:10px 10px 0 var(--ink);padding:45px 32px;position:relative;isolation:isolate;overflow:hidden;transform:rotate(2deg)}.hero-message:before{content:"";width:130px;height:130px;border:2px solid var(--ink);border-radius:50%;background:#ffe45b;position:absolute;right:-38px;top:-44px;z-index:-1}.hero-message:after{content:"";position:absolute;left:-60px;bottom:-85px;width:160px;height:160px;border:2px solid var(--ink);border-radius:50%;background:#ffb8ca;z-index:-1}.message-small{display:inline-block;border-bottom:2px solid var(--ink);font-size:1rem;font-weight:bold}.hero-message p{font-size:clamp(1.75rem,3.2vw,2.6rem);font-weight:900;line-height:1.8;letter-spacing:-.025em;margin:24px 0}.hero-message strong{background:#fffdf4;padding:1px 7px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.word-tags{display:flex;flex-wrap:wrap;gap:10px}.word-tags span{display:inline-block;background:#fffdf4;border:1.5px solid var(--ink);border-radius:999px;font-weight:bold;font-size:.875rem;padding:5px 13px}.button{border:2px solid var(--ink);background:#284abd;box-shadow:4px 4px 0 var(--ink);border-radius:12px;padding:11px 23px}.button:hover{background:#183596;transform:translateY(-2px);text-decoration:none}.button:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.first-visit{border-top:2px solid var(--ink);padding-top:50px}.learn-grid a,.card,.info-grid article,.values article,.article-list article{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:18px;background:#fffdf7}.learn-grid a:hover,.card:hover{transform:translateY(-3px)}.first-visit .learn-grid a:nth-child(1){background:#ffe45b}.first-visit .learn-grid a:nth-child(2){background:#ffd9e6}.first-visit .learn-grid a:nth-child(3){background:#e2eaff}.statement{background:#ffe45b;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);position:relative}.statement h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}.cards{align-items:stretch}.card>div:not(.program-label){padding:25px}.program-label{min-height:180px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:26px!important;border-bottom:2px solid var(--ink);font-size:2.8rem;line-height:1.2;font-weight:950;letter-spacing:-.03em}.program-label span{font-size:.9375rem;letter-spacing:.03em;line-height:1.6;margin-top:14px;border:1px solid var(--ink);border-radius:20px;padding:4px 12px;background:#fffdf7}.label-cafe{background:#ffd4e3}.label-lunch{background:#ffe45b}.label-work{background:#dce5ff}.color-card{justify-content:flex-start;background:#fffdf7}.card small{font-size:.875rem;color:#284abd}.learn{background:#dfe7ff;border:2px solid var(--ink);border-radius:26px;margin-bottom:48px}.cta{background:#ff8055;border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink);border-radius:22px;padding:42px}.cta .eyebrow{color:var(--ink)}.eyebrow{color:#284abd;letter-spacing:.05em}.page-intro,.page-title{border-bottom:2px solid var(--ink);padding-bottom:45px!important}.values article:nth-child(1){background:#ffe45b}.values article:nth-child(2){background:#ffd9e6}.values article:nth-child(3){background:#e2eaff}.values article>span{color:var(--ink)}.activity-poster{min-height:320px;border:2px solid var(--ink);border-radius:28px;box-shadow:7px 7px 0 var(--ink);padding:36px;display:flex;flex-direction:column;justify-content:center}.activity-poster>span{font-size:.9375rem;letter-spacing:.12em;font-weight:bold}.activity-poster p{font-size:clamp(1.75rem,3.2vw,2.6rem);line-height:1.65;font-weight:900;margin:20px 0}.activity-poster b{font-size:1rem}.poster-lunch{background:#ffe45b}.poster-cafe{background:#ffd9e6}.reverse .activity-poster{order:2}.cafe-banner{background:#284abd;color:white;border:2px solid var(--ink);border-radius:35px;margin:44px auto!important;padding:52px!important;box-shadow:8px 8px 0 var(--ink)}.cafe-banner>span{font-size:1rem;font-weight:bold;letter-spacing:.15em}.cafe-banner>p{font-size:clamp(2rem,5vw,4rem);line-height:1.6;font-weight:900;margin:20px 0 30px}.cafe-banner .word-tags{color:var(--ink)}.contact-grid article{background:#ffe45b;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}.contact-grid article:nth-child(2){background:#e2eaff}.note{background:#fffdf4;border:1px solid var(--ink);border-radius:9px}.day dl{border:2px solid var(--ink);border-radius:16px;overflow:hidden}.day dl>div{background:white;border-bottom:1px solid var(--ink)}.day dl>div:nth-child(2n){background:#fff5c9}.day dl>div:last-child{border:0}.questions details{background:#fffdf7;padding:20px;border:2px solid var(--ink);border-radius:12px;margin-bottom:12px}.steps li>b{display:grid;place-items:center;flex:0 0 50px;height:50px;border:2px solid var(--ink);border-radius:50%;background:#ffe45b;color:var(--ink);font-size:1.3rem}.map-frame{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.overview dl>div{border-bottom:1px solid var(--ink)}.navigation>summary{background:#ffe45b;border:2px solid var(--ink)}footer{background:#192b53}.article-list article{background:#fffdf7}.source{border-top:1px solid var(--ink)}@media(max-width:900px){.hero{gap:30px}.hero-message{padding:32px 25px}.hero-message p{font-size:1.85rem}.cafe-banner{margin:32px 24px!important}.learn{margin:24px}.reverse .activity-poster{order:0}}@media(max-width:650px){.hero{grid-template-columns:1fr;padding-top:36px;padding-bottom:45px;min-height:0}.hero-message{margin:8px 7px 4px 0;transform:none;padding:28px}.hero-message p{font-size:2rem}.hero h1{font-size:clamp(1.85rem,7.3vw,2.7rem)}.hero .eyebrow{font-size:.875rem}.program-label{min-height:140px;font-size:2.5rem}.feature{gap:30px}.activity-poster{min-height:250px}.cafe-banner{padding:30px!important;margin:30px 22px!important}.cta,.learn{margin:26px 22px!important}.statement h2{font-size:1.85rem}.page-intro h1,.page-title h1{font-size:2rem}.phone{font-size:1.65rem}.learn-grid{gap:22px}.brand small{font-size:.875rem}.brand>span:last-child{font-size:1.35rem}.steps li{gap:16px}.activity-poster{padding:26px}.breadcrumbs{line-height:1.8}.button{max-width:100%}}@media(prefers-reduced-motion:reduce){.button:hover,.card:hover,.learn-grid a:hover{transform:none}}

.brand.brand-logo{display:flex;flex-direction:column;align-items:flex-start;gap:0;max-width:100%;width:310px}.brand-logo .logo-frame{display:flex;align-items:center;width:100%;height:76px;overflow:hidden}.brand-logo .site-logo{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}.brand-logo>small{font-size:.875rem;font-weight:500;letter-spacing:.02em;margin:3px 0 0 20px;line-height:1.6;color:var(--ink)}@media(max-width:650px){.brand.brand-logo{width:270px}.brand-logo .logo-frame{height:66px}.brand-logo>small{margin-left:17px;font-size:.875rem}}

.footer-links{display:grid;grid-template-columns:1fr;gap:6px}.footer-links a{padding:5px 0;min-height:36px}.page-jumps{max-width:1104px;margin:30px auto 0;display:flex;gap:12px;flex-wrap:wrap;padding:0 4px}.page-jumps a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 18px;border:2px solid var(--ink);border-radius:999px;background:#fffdf7;color:var(--ink);font-weight:bold;text-decoration:none}.page-jumps a:hover{background:#ffe45b}.route-link{margin-top:18px}main [id]{scroll-margin-top:210px}.source a{overflow-wrap:anywhere}@media(max-width:900px){main [id]{scroll-margin-top:24px}.page-jumps{padding:0 24px}}@media(max-width:650px){.page-jumps{padding:0 22px;gap:10px}.page-jumps a{font-size:.9375rem;padding:8px 14px}.questions summary{min-height:44px}.footer-links{grid-template-columns:1fr 1fr;gap:8px 14px}.footer-links a{min-height:44px}}

.story-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.story-index-grid>a{display:flex;flex-direction:column;padding:25px;border:2px solid var(--ink);border-radius:18px;background:#fffdf7;box-shadow:5px 5px 0 var(--ink);text-decoration:none;color:var(--ink)}.story-index-grid>a:nth-child(3n+1){background:#ffe45b}.story-index-grid>a:nth-child(3n+2){background:#e2eaff}.story-index-grid>a:nth-child(3n){background:#ffd9e6}.story-index-grid small{font-size:.875rem;font-weight:bold}.story-index-grid h3{font-size:1.2rem;line-height:1.7}.story-index-grid p{font-size:1rem}.story-index-grid>a>span{margin-top:auto;text-decoration:underline;font-weight:bold}.expanded-stories{max-width:960px!important}.expanded-stories article{padding:38px}.expanded-stories article h2{font-size:clamp(1.5rem,3vw,2rem)}.expanded-stories article h3{font-size:1.2rem;margin:30px 0 15px}.story-lead{font-size:1.125rem;font-weight:bold;color:var(--green)}.story-tip{padding:20px;border-left:5px solid #284abd;background:#f0f3ff;border-radius:0 12px 12px 0;margin:25px 0}.local-contacts{border:2px solid var(--ink);padding:24px;border-radius:12px;background:#fff9dd;margin:20px 0}.local-contacts p:last-child{margin-bottom:0}.local-contacts a{font-size:1.2rem;font-weight:bold}.back-topics{display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;margin-top:12px}.expanded-stories li{margin-bottom:10px}@media(max-width:900px){.story-index-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.story-index-grid{grid-template-columns:1fr}.expanded-stories article{padding:24px}.story-index-grid>a{padding:22px}.expanded-stories article h3{font-size:1.15rem}}

/* Rounded Japanese typography, with a restrained body weight for long readings. */
body{font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-weight:400;line-height:1.95}h1,h2,h3,.hero-message p,.activity-poster p,.cafe-banner>p,.program-label{font-family:inherit;font-weight:900;letter-spacing:.01em}nav a,.button,.word-tags span,.eyebrow,.page-jumps a,.questions summary,strong,b{font-weight:700}h1{line-height:1.65}.hero h1{font-size:clamp(2rem,4.1vw,3.55rem)}h2,h3{line-height:1.7}.hero-message p{line-height:1.85}.article-list p,.article-list li{line-height:2}.brand-logo>small{font-weight:400}.program-label{font-weight:900}.story-index-grid h3{font-weight:700}@media(max-width:650px){.hero h1{font-size:clamp(1.75rem,7vw,2.6rem)}.hero-message p{font-size:1.8rem}.page-title h1,.page-intro h1{font-size:1.9rem}.button{padding-left:18px;padding-right:18px}}
/* Logo and service designation share one horizontal line. */
.brand.brand-logo{flex-direction:row;align-items:center;gap:18px;width:max-content;max-width:100%;flex-wrap:nowrap}.brand-logo .logo-frame{width:310px;flex:0 0 310px;height:76px}.brand-logo>small{margin:0;font-size:1rem;line-height:1.6;white-space:nowrap;font-weight:700;letter-spacing:0}@media(max-width:650px){.brand.brand-logo{width:100%;gap:8px}.brand-logo .logo-frame{width:48%;flex:0 1 48%;height:50px;min-width:0}.brand-logo>small{margin:0;font-size:.875rem;flex:0 0 auto;white-space:nowrap}.brand-logo .site-logo{width:100%;height:auto}}@media(max-width:360px){header{padding-left:16px;padding-right:16px}.brand.brand-logo{gap:6px}.brand-logo .logo-frame{flex-basis:42%;width:42%}}

.brand-block{max-width:100%;width:max-content}.brand-caption{font-size:.875rem;font-weight:700;line-height:1.6;margin:0 0 2px 20px;letter-spacing:.025em}.brand-block .brand-logo{max-width:100%}@media(max-width:650px){.brand-block{width:100%}.brand-caption{margin:0 0 2px 10px;font-size:.875rem}}

/* A restrained typographic accent for the shared invitation. */
.hero-message .bring-word{display:inline-block;position:relative;isolation:isolate;color:#192b53;background:none;box-shadow:none;padding:2px 4px 9px;letter-spacing:.045em;white-space:nowrap;font-weight:900}.hero-message .bring-word:after{content:"";position:absolute;z-index:-1;left:0;right:12px;bottom:9px;height:.42em;background:#ffe45b;border-radius:60% 18% 40% 24%;transform:rotate(-2deg)}.hero-message .bring-dot{color:#284abd}.hero-message{transform:none}.hero-message p{line-height:1.9}.hero-message strong.bring-word{box-decoration-break:slice;-webkit-box-decoration-break:slice}
/* Equal-size reading cards; content remains visible at enlarged text sizes. */
.story-index-grid{grid-auto-rows:1fr;align-items:stretch}.story-index-grid>a{height:100%;min-height:205px;min-width:0}.story-index-grid h3{margin:12px 0 18px}.story-index-grid>a>span{margin-top:auto;padding-top:10px}.learn-grid{grid-auto-rows:1fr;align-items:stretch}.learn-grid>a{height:100%;min-width:0}@media(max-width:650px){.story-index-grid{grid-auto-rows:1fr}.story-index-grid>a{min-height:185px}}
/* Consistent sizing and spacing for repeated components throughout the site. */
.cards,.values,.info-grid,.contact-grid{grid-auto-rows:1fr;align-items:stretch}.cards>.card,.values>article,.info-grid>article,.contact-grid>article{height:100%;min-width:0}.cards>.card>div:not(.program-label){flex:1;display:flex;flex-direction:column}.cards .card>div>.text-link{margin-top:auto;padding-top:12px}.cards .program-label{flex:0 0 180px}.cards .card h3{min-height:3.4em;line-height:1.7}.values>article,.info-grid>article{padding:28px}.button{min-height:50px}.page-jumps a{min-height:46px}@media(max-width:650px){.cards .program-label{flex-basis:140px}.values>article,.info-grid>article{padding:24px}.cards .card h3{min-height:0}}

/* Program photographs retain their original 4:3 composition. */
.program-photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border:2px solid var(--ink);border-radius:18px;display:block}.feature>.program-photo{box-shadow:5px 5px 0 var(--ink)}#work .program-photo{margin-bottom:22px;border-radius:12px}

/* Match the service designation to the visible lettering in the logo. */
.brand-block .brand-logo{flex-wrap:wrap;gap:12px 22px;width:100%}
.brand-block .brand-logo>small{font-size:3rem;font-weight:900;line-height:1.45;white-space:normal;overflow-wrap:anywhere;min-width:0}
@media(max-width:650px){
 .brand-block .brand-logo{gap:4px 12px}
 .brand-block .brand-logo .logo-frame{width:165px;flex:0 0 165px;height:54px}
 .brand-block .brand-logo>small{font-size:1.5rem;flex:0 1 auto;max-width:100%;line-height:1.6}
}

/* Align service lettering optically with the lettering inside the logo. */
.brand-block .brand-logo{align-items:center}
.brand-block .brand-logo>small{display:flex;align-items:center;line-height:1;min-height:76px;position:relative;top:-.08em}
@media(max-width:650px){.brand-block .brand-logo>small{min-height:54px;line-height:1.2}}

/* Keep long Japanese labels and contact details within narrow layouts. */
.contact-grid a,.contact-grid p{overflow-wrap:anywhere}
.feature>*,.split>*,.hero>*{min-width:0}
.name-origin p{max-width:48rem}
@media(min-width:651px) and (max-width:1100px){
 .brand-block .brand-logo>small{font-size:clamp(1.5rem,3.8vw,2.5rem);min-height:0;line-height:1.4}
}
@media(max-width:650px){
 .brand-block .brand-logo>small{line-height:1.5;min-height:0;top:0}
 .day dl>div{grid-template-columns:4.5rem minmax(0,1fr);gap:8px;padding:13px 14px}
 .page-jumps a{max-width:100%;text-align:center}
}
/* Align the service name with the visible lettering, including logo whitespace. */
.brand-block .brand-logo>small{top:3px;line-height:1.2;min-height:76px}
@media(max-width:650px){.brand-block .brand-logo>small{top:2px;min-height:54px}}

/* Article colors follow the topic, never the position in the grid. */
[data-topic="living"]{--topic-color:#fff0a8}
[data-topic="work"]{--topic-color:#dce7ff}
[data-topic="connect"]{--topic-color:#ffdce9}
[data-topic="self"]{--topic-color:#d9f1e4}
[data-topic="visit"]{--topic-color:#ffe2c7}
[data-topic="support"]{--topic-color:#e9dfff}
.story-index-grid>a[data-topic]{background:var(--topic-color)}
.topic-legend{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.topic-legend span,.article-list article[data-topic]>small{display:inline-block;background:var(--topic-color);color:var(--ink);border:1px solid var(--ink);border-radius:999px;padding:5px 13px;font-size:.875rem;font-weight:700}
.article-list article[data-topic]{border-top:8px solid var(--topic-color)}
