
:root{--bg:#fbf8f2;--ink:#51473f;--line:#e9e2d8;--accent:#ed8165;--card:#fffdf9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans JP","Noto Sans CJK JP","Yu Gothic",sans-serif;line-height:1.8}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-header{position:sticky;top:0;z-index:20;background:#f6f3ed;border-bottom:1px solid var(--line)}
.header-inner{max-width:1728px;height:88px;margin:auto;position:relative;overflow:hidden}.header-inner::after{content:"";position:absolute;left:0;right:0;bottom:0;height:14px;background:#f6f3ed;pointer-events:none;z-index:5}.header-image{display:block;width:100%;height:100%;object-fit:cover;object-position:left top}
.hotspot{position:absolute;top:0;height:100%;display:block;cursor:pointer;background:transparent}.hotspot:hover,.hotspot:focus,.hotspot:focus-visible,.image-hotspot:hover,.image-hotspot:focus,.image-hotspot:focus-visible{outline:none;background:transparent;box-shadow:none}
.home{left:43.0%;width:8.0%}.events{left:51.0%;width:9.0%}.kataralife{left:60.0%;width:10.0%}.reading{left:70.0%;width:9.0%}.reports{left:79.0%;width:9.0%}.about{left:88.0%;width:11.5%}
.desktop-nav{position:absolute;top:0;right:0;bottom:14px;left:38%;z-index:4;display:flex;align-items:center;justify-content:space-around;gap:20px;padding:0 42px 0 58px;background:#f6f3ed;color:#51473f;font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;font-size:clamp(18px,1.28vw,23px);font-weight:600;letter-spacing:.03em;line-height:1;white-space:nowrap}
.desktop-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 4px}
.mobile-nav{display:none}
main{max-width:1200px;margin:0 auto;padding:56px 24px 96px}
.hero-image-wrap{position:relative;background:#fffdf9;border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:0 14px 30px rgba(90,70,50,.05)}.hero-image-wrap img{width:100%;height:auto}
.image-hotspot{position:absolute;display:block;cursor:pointer;background:transparent}
.btn-event{left:5.4%;top:48.2%;width:13.7%;height:5.9%}.btn-kataralife{left:20.0%;top:48.2%;width:14.1%;height:5.9%}.section-events{left:8.8%;top:80.0%;width:13.8%;height:15.5%}.section-kataralife{left:34.1%;top:80.0%;width:13.8%;height:15.5%}.section-reading{left:60.0%;top:80.0%;width:13.8%;height:15.5%}.section-members{left:80.0%;top:80.0%;width:13.8%;height:15.5%}
.intro-panel{margin-top:28px;background:linear-gradient(180deg,#fffdf9,#f8f3ea);border:1px solid var(--line);border-radius:28px;padding:34px 28px;text-align:center}.intro-panel h1,.page-card h1{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:clamp(32px,4vw,56px);font-weight:500;letter-spacing:.06em;line-height:1.5;margin:0 0 14px}.lead{max-width:820px;margin:0 auto;font-size:16px;color:#756a60}
.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.quick-links .card,.page-links .card{padding:24px;background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 22px rgba(90,70,50,.04)}.quick-links h2,.page-links h2{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-weight:500;margin:0 0 8px;font-size:24px}.quick-links p,.page-links p{margin:0;color:#7b6f64;font-size:14px}
.page-wrap{max-width:1180px;margin:0 auto;padding:52px 24px 96px}.pg-hero{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin-bottom:34px}.pg-copy .eyebrow{display:inline-block;color:#df8b73;font-weight:700;letter-spacing:.18em;font-size:14px;margin-bottom:14px}.pg-copy h1{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:clamp(40px,5vw,68px);line-height:1.2;letter-spacing:.04em;margin:0 0 16px;color:#157f8e;font-weight:600}.pg-copy p{font-size:16px;line-height:2;color:#645a51;margin:0 0 16px}.pg-art{background:linear-gradient(180deg,#fffdf9,#f7f1e7);border:1px solid var(--line);border-radius:34px;padding:14px;box-shadow:0 14px 30px rgba(90,70,50,.05);overflow:hidden}.pg-art img{display:block;width:100%;aspect-ratio:1672/941;object-fit:cover;border-radius:24px}
.section-box{background:linear-gradient(180deg,#fffdf9,#f8f3ea);border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:0 10px 24px rgba(90,70,50,.04);margin-bottom:28px}.section-box h2{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:38px;line-height:1.45;letter-spacing:.04em;margin:0 0 16px;font-weight:500;color:#156f7c}.section-box p{font-size:16px;line-height:2;color:#62584f;margin:0 0 14px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.info-card{background:#fffdf9;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 10px 22px rgba(90,70,50,.04)}.info-card .meta{font-size:12px;letter-spacing:.12em;color:#df8b73;font-weight:700;margin-bottom:10px}.info-card h3{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:28px;line-height:1.5;font-weight:500;margin:0 0 10px;color:#5b4b3e}.info-card p{margin:0;color:#71675d;font-size:14px;line-height:1.9}.info-card .tag{display:inline-block;margin-top:14px;padding:8px 12px;border-radius:999px;background:#fff8ec;border:1px solid #eed9b2;color:#9a7434;font-size:12px;font-weight:700}
.note-list{display:grid;gap:18px}.note-item{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:start;background:#fffdf9;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 10px 22px rgba(90,70,50,.04)}.note-item .thumb{height:92px;border-radius:18px;background-image:linear-gradient(180deg,rgba(255,253,249,.1),rgba(255,253,249,.16)),url("assets/reading_hero_watercolor_v2.png");background-size:260px auto;background-position:64% 58%;border:1px solid #efe3d1;box-shadow:inset 0 0 0 1px rgba(255,255,255,.42)}.note-item:nth-child(2) .thumb{background-image:linear-gradient(180deg,rgba(255,253,249,.1),rgba(255,253,249,.16)),url("assets/about_hero_watercolor_v2.png");background-size:270px auto;background-position:66% 62%}.note-item:nth-child(3) .thumb{background-image:linear-gradient(180deg,rgba(255,253,249,.1),rgba(255,253,249,.16)),url("assets/reports_hero_watercolor_v2.png");background-size:270px auto;background-position:72% 60%}.note-item .cat{font-size:12px;letter-spacing:.12em;color:#df8b73;font-weight:700;margin-bottom:8px}.note-item h3{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:26px;line-height:1.5;margin:0 0 8px;font-weight:500;color:#5b4b3e}.note-item p{margin:0;color:#71675d;font-size:14px;line-height:1.9}
.timeline{display:grid;gap:18px}.timeline-item{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:start;background:#fffdf9;border:1px solid var(--line);border-radius:24px;padding:20px 22px;box-shadow:0 10px 22px rgba(90,70,50,.04)}.timeline-item .date{font-size:14px;color:#157f8e;font-weight:700;letter-spacing:.06em;padding-top:4px}.timeline-item h3{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:28px;line-height:1.5;margin:0 0 8px;font-weight:500;color:#5b4b3e}.timeline-item p{margin:0;color:#71675d;font-size:14px;line-height:1.9}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.value-card{background:#fffdf9;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 10px 22px rgba(90,70,50,.04)}.value-card .icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:28px;margin-bottom:16px;background:#d9edf0;color:#157f8e}.value-card:nth-child(2) .icon{background:#f8e1d4;color:#d98b67}.value-card:nth-child(3) .icon{background:#e8f1d4;color:#7a9f57}.value-card h3{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:26px;line-height:1.5;font-weight:500;margin:0 0 10px;color:#5b4b3e}.value-card p{margin:0;color:#71675d;font-size:14px;line-height:1.9}
.inline-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}.pill-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font-weight:700;background:#fff9ef;border:1px solid #efd8a4;color:#9a7434}.pill-btn.accent{background:#fffdf9;border-color:#b9dde2;color:#127f8f}
.about-page-wrap{max-width:1120px}.about-hero{margin-bottom:58px}.about-story-section{display:grid;grid-template-columns:280px 1fr;gap:56px;align-items:start;margin:0 0 76px}.about-side-heading{padding-top:4px}.about-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 0 22px;border-radius:18px;background:#d9edf0;color:#147f8f;font-size:28px;font-weight:700}.about-side-heading p,.about-section-heading p,.about-final-kicker{margin:0 0 10px;color:#df8b73;font-size:13px;font-weight:800;letter-spacing:.18em}.about-side-heading h2,.about-section-heading h2,.about-card-note h2{font-family:"Noto Serif CJK JP","Yu Mincho",serif;color:#147f8f;font-size:clamp(30px,3.4vw,42px);font-weight:600;line-height:1.35;letter-spacing:.03em;margin:0}.about-story-copy{display:grid;gap:18px}.about-story-copy p{margin:0;color:#51473f;font-size:17px;line-height:2.1}.about-team-section{margin:0 0 44px}.about-section-heading{text-align:center;margin:0 0 30px}.about-section-heading span{display:block;color:#df8b73;font-size:15px;font-weight:800;letter-spacing:.04em}.about-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.about-member-card{display:flex;flex-direction:column;min-height:100%;padding:28px 24px;background:#fffdf9;border:1px solid #d8edf0;border-radius:26px;box-shadow:0 14px 30px rgba(90,70,50,.055);text-align:center}.about-member-photo{width:118px;height:118px;margin:0 auto 18px;border-radius:50%;object-fit:cover;background:#eaf6f8;border:2px solid #d9edf0}.about-member-photo.light-photo{object-position:center top}.about-member-photo.naomi-photo,.about-member-photo.yue-photo{object-position:center 38%}.about-member-card h3{margin:0;color:#147f8f;font-size:24px;line-height:1.45;font-weight:800}.about-member-role{min-height:54px;margin:4px 0 16px!important;color:#df8b73!important;font-size:13px!important;font-weight:800;line-height:1.7!important}.about-member-card>p:not(.about-member-role){margin:0 0 20px;color:#51473f;font-size:15px;line-height:1.95;text-align:left}.about-member-links{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:auto;padding-top:18px;border-top:1px solid #e4f2f4}.about-member-links a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 13px;border-radius:999px;background:#f3fbfc;border:1px solid #b9dde2;color:#147f8f;font-size:13px;font-weight:700;transition:transform .2s ease,background .2s ease,color .2s ease}.about-member-links a:hover{transform:translateY(-2px);background:#147f8f;color:#fff}.about-card-note{max-width:820px;margin:56px auto 44px;padding:30px 34px;border-radius:28px;background:linear-gradient(180deg,#f1fbfc,#e8f6f8);border:1px solid #cde9ed;box-shadow:0 12px 28px rgba(90,70,50,.045)}.about-card-note p{margin:14px 0 0;color:#51473f;font-size:16px;line-height:2}.about-final-note{max-width:720px;margin:0 auto;text-align:center;padding:20px 0 8px}.about-final-main{margin:0 0 12px!important;color:#51473f!important;font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:clamp(24px,2.8vw,32px)!important;line-height:1.75!important}.about-final-note p:not(.about-final-kicker):not(.about-final-main){margin:0;color:#756a60;font-size:16px;line-height:2}.about-final-note .inline-cta{justify-content:center;margin-top:24px}
.reading-page-wrap .pg-copy h1{color:#51463d}.reading-section-head{margin-bottom:26px}.reading-section-head span{display:inline-block;color:#7a542d;font-size:13px;font-weight:800;letter-spacing:.18em;margin-bottom:10px}.reading-section-head h2{margin-bottom:10px;color:#51463d}.reading-section-head p{max-width:760px;color:#6b6158;font-size:15px;line-height:1.9}.member-voice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.member-voice-card{display:flex;flex-direction:column;gap:18px;background:#fffdf9;border:1px solid #eadfce;border-radius:26px;padding:24px;box-shadow:0 12px 26px rgba(90,70,50,.045)}.member-profile{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:center}.member-profile img{width:92px;height:92px;object-fit:cover;object-position:center top;border-radius:22px;background:#f8f1e7;border:1px solid #eadfce}.member-profile h3{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:30px;line-height:1.35;font-weight:500;color:#51463d;margin:3px 0 0}.member-role{margin:0!important;color:#684622!important;font-size:14px!important;line-height:1.7!important;font-weight:800;letter-spacing:.01em}.member-voice-card>p{color:#554b43!important;line-height:2!important;margin:0!important;font-weight:500}.channel-list{display:flex;flex-wrap:wrap;gap:12px}.channel-list a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px;border-radius:999px;background:#f2f4e8;border:1.5px solid #aab784;color:#455c31;font-size:14px;font-weight:800;box-shadow:0 7px 14px rgba(90,70,50,.07),inset 0 1px 0 rgba(255,255,255,.75);transition:transform .22s ease,background .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease}.channel-list a:hover{transform:translateY(-2px);background:#e9eedc;border-color:#8fa068;color:#364a25;box-shadow:0 11px 20px rgba(90,70,50,.11),inset 0 1px 0 rgba(255,255,255,.8)}.channel-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;min-width:18px;height:18px;color:#455c31;font-size:15px;font-weight:800;line-height:1}.channel-arrow{margin-left:2px;color:#684622;font-size:13px;font-weight:800}.pickup-group{margin-top:auto;padding-top:18px;border-top:1px solid #eadfce}.pickup-group h4{margin:0 0 12px;color:#684622;font-size:14px;font-weight:800;letter-spacing:.12em}.pickup-link{display:block;margin-bottom:10px;padding:15px 16px;border-radius:18px;background:#fbf7ef;border:1px solid #eadfce;color:#51463d;font-weight:700;line-height:1.65;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.pickup-link:hover{transform:translateY(-2px);border-color:#d9cda8;box-shadow:0 12px 22px rgba(90,70,50,.08)}.pickup-link span{display:inline-block;margin-bottom:7px;padding:3px 9px;border-radius:999px;background:#edf1df;color:#4f6538;font-size:12px;font-weight:800;letter-spacing:.04em}.pickup-link strong{display:block;color:#433930;font-size:16px;line-height:1.65}.pickup-link p{margin:7px 0 0!important;color:#5a5048!important;font-size:13px!important;line-height:1.8!important;font-weight:500}
.member-profile .light-profile-photo{display:block;width:92px;height:92px;border-radius:22px;background:#f8f1e7 url("assets/light.png") 57% 3%/150px auto no-repeat;border:1px solid #eadfce}
.about-member-photo-frame{display:block;width:118px;height:118px;margin:0 auto 18px;border-radius:50%;overflow:hidden;background:#eaf6f8;border:2px solid #d9edf0}
.about-member-photo-frame img{width:126%;height:126%;max-width:none;object-fit:cover;object-position:center top;transform:translate(10px,-3px)}
.channel-icon{background-color:currentColor;background-repeat:no-repeat;background-position:center;background-size:contain;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.icon-note{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 19.5 5.4 14 16.8 2.6c.8-.8 2.1-.8 2.9 0l1.7 1.7c.8.8.8 2.1 0 2.9L10 18.6 4 19.5Zm3.2-4.4-.6 2.3 2.5-.4L19.9 6.2l-2.1-2.1L7.2 15.1Z'/%3E%3Cpath fill='black' d='M3 21h18v2H3z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M4 19.5 5.4 14 16.8 2.6c.8-.8 2.1-.8 2.9 0l1.7 1.7c.8.8.8 2.1 0 2.9L10 18.6 4 19.5Zm3.2-4.4-.6 2.3 2.5-.4L19.9 6.2l-2.1-2.1L7.2 15.1Z'/%3E%3Cpath fill='black' d='M3 21h18v2H3z'/%3E%3C/svg%3E")}.icon-leaf{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 22h-2v-7.1C6.6 14.5 4 11.7 4 8.2V3h5.2c3.5 0 6.3 2.6 6.7 6H20v2h-4.2c-.3 2.5-1.8 4.6-3.8 5.5V22ZM6 5v3.2c0 2.4 1.8 4.4 4.1 4.7C9.8 10.6 8.6 8.4 6.8 6.8l1.4-1.4c2.1 1.8 3.5 4.2 3.8 6.8 1.2-.9 2-2.3 2-4C14 6.4 11.8 5 9.2 5H6Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 22h-2v-7.1C6.6 14.5 4 11.7 4 8.2V3h5.2c3.5 0 6.3 2.6 6.7 6H20v2h-4.2c-.3 2.5-1.8 4.6-3.8 5.5V22ZM6 5v3.2c0 2.4 1.8 4.4 4.1 4.7C9.8 10.6 8.6 8.4 6.8 6.8l1.4-1.4c2.1 1.8 3.5 4.2 3.8 6.8 1.2-.9 2-2.3 2-4C14 6.4 11.8 5 9.2 5H6Z'/%3E%3C/svg%3E")}.icon-book{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M6 3h11a3 3 0 0 1 3 3v15H6a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4Zm0 2a2 2 0 0 0-2 2v8.5c.6-.3 1.3-.5 2-.5h12V6a1 1 0 0 0-1-1H6Zm0 12a2 2 0 1 0 0 4h12v-4H6Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M6 3h11a3 3 0 0 1 3 3v15H6a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4Zm0 2a2 2 0 0 0-2 2v8.5c.6-.3 1.3-.5 2-.5h12V6a1 1 0 0 0-1-1H6Zm0 12a2 2 0 1 0 0 4h12v-4H6Z'/%3E%3C/svg%3E")}.icon-x{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M5 4h4.2l3.2 4.6L16.7 4H20l-6 6.5L20.7 20h-4.2l-3.8-5.4L7.7 20H4.3l6.8-7.4L5 4Zm3.1 2 9.4 12h.9L9 6h-.9Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M5 4h4.2l3.2 4.6L16.7 4H20l-6 6.5L20.7 20h-4.2l-3.8-5.4L7.7 20H4.3l6.8-7.4L5 4Zm3.1 2 9.4 12h.9L9 6h-.9Z'/%3E%3C/svg%3E")}.icon-facebook{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M14 22h-4v-8H7v-4h3V7.7C10 4.2 12.1 2 15.5 2H19v4h-2.7c-1.5 0-2.3.7-2.3 2.1V10h4.5l-.6 4H14v8Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M14 22h-4v-8H7v-4h3V7.7C10 4.2 12.1 2 15.5 2H19v4h-2.7c-1.5 0-2.3.7-2.3 2.1V10h4.5l-.6 4H14v8Z'/%3E%3C/svg%3E")}.icon-link{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M8.8 17.2a4 4 0 0 1 0-5.7l2.1-2.1 1.4 1.4-2.1 2.1a2 2 0 0 0 2.8 2.8l2.1-2.1 1.4 1.4-2.1 2.1a4 4 0 0 1-5.6.1Zm-1.3-1.3-1.4 1.4a4 4 0 1 1-5.7-5.7l3.5-3.5a4 4 0 0 1 5.7 0l1.1 1.1-1.4 1.4-1.1-1.1a2 2 0 0 0-2.8 0l-3.5 3.5a2 2 0 0 0 2.8 2.8l1.4-1.4 1.4 1.5Zm8.8-8.8 1.4-1.4a4 4 0 1 1 5.7 5.7l-3.5 3.5a4 4 0 0 1-5.7 0l-1.1-1.1 1.4-1.4 1.1 1.1a2 2 0 0 0 2.8 0l3.5-3.5a2 2 0 1 0-2.8-2.8L17.7 8.5l-1.4-1.4Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M8.8 17.2a4 4 0 0 1 0-5.7l2.1-2.1 1.4 1.4-2.1 2.1a2 2 0 0 0 2.8 2.8l2.1-2.1 1.4 1.4-2.1 2.1a4 4 0 0 1-5.6.1Zm-1.3-1.3-1.4 1.4a4 4 0 1 1-5.7-5.7l3.5-3.5a4 4 0 0 1 5.7 0l1.1 1.1-1.4 1.4-1.1-1.1a2 2 0 0 0-2.8 0l-3.5 3.5a2 2 0 0 0 2.8 2.8l1.4-1.4 1.4 1.5Zm8.8-8.8 1.4-1.4a4 4 0 1 1 5.7 5.7l-3.5 3.5a4 4 0 0 1-5.7 0l-1.1-1.1 1.4-1.4 1.1 1.1a2 2 0 0 0 2.8 0l3.5-3.5a2 2 0 1 0-2.8-2.8L17.7 8.5l-1.4-1.4Z'/%3E%3C/svg%3E")}.icon-mic{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 15a4 4 0 0 1-4-4V6a4 4 0 0 1 8 0v5a4 4 0 0 1-4 4Zm0-11a2 2 0 0 0-2 2v5a2 2 0 1 0 4 0V6a2 2 0 0 0-2-2Zm7 7a7 7 0 0 1-6 6.9V21h4v2H7v-2h4v-3.1A7 7 0 0 1 5 11h2a5 5 0 0 0 10 0h2Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 15a4 4 0 0 1-4-4V6a4 4 0 0 1 8 0v5a4 4 0 0 1-4 4Zm0-11a2 2 0 0 0-2 2v5a2 2 0 1 0 4 0V6a2 2 0 0 0-2-2Zm7 7a7 7 0 0 1-6 6.9V21h4v2H7v-2h4v-3.1A7 7 0 0 1 5 11h2a5 5 0 0 0 10 0h2Z'/%3E%3C/svg%3E")}.icon-play{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 5.4c0-1.5 1.6-2.4 2.9-1.6l9.5 6.6c1.1.8 1.1 2.4 0 3.2l-9.5 6.6C8.6 21 7 20.1 7 18.6V5.4Zm2 .4v12.4L17.9 12 9 5.8Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M7 5.4c0-1.5 1.6-2.4 2.9-1.6l9.5 6.6c1.1.8 1.1 2.4 0 3.2l-9.5 6.6C8.6 21 7 20.1 7 18.6V5.4Zm2 .4v12.4L17.9 12 9 5.8Z'/%3E%3C/svg%3E")}.icon-camera{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M8 4h8l1.5 2H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2.5L8 4Zm1 2L7.5 8H4v10h16V8h-3.5L15 6H9Zm3 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M8 4h8l1.5 2H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h2.5L8 4Zm1 2L7.5 8H4v10h16V8h-3.5L15 6H9Zm3 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'/%3E%3C/svg%3E")}
.k-page{max-width:1180px;margin:0 auto;padding:52px 24px 96px}.kv-hero{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.kv-copy{padding:12px 6px}.kv-copy .eyebrow{display:inline-block;color:#df8b73;font-weight:700;letter-spacing:.18em;font-size:14px;margin-bottom:14px}.kv-copy h1{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:clamp(40px,5vw,72px);line-height:1.2;letter-spacing:.04em;margin:0;color:#147f8f;font-weight:600}.kv-copy .subhead{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:clamp(26px,3vw,36px);line-height:1.6;margin:16px 0 0;color:#ef8d73;font-weight:500}.kv-art{background:linear-gradient(180deg,#fffdf9,#f7f1e7);border:1px solid var(--line);border-radius:34px;padding:14px;box-shadow:0 14px 30px rgba(90,70,50,.05)}.kv-art img{width:100%;border-radius:24px}.flow-section{margin-top:34px;display:grid;gap:28px}.story-card{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;background:linear-gradient(180deg,#fffdf9,#f8f3ea);border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:0 10px 24px rgba(90,70,50,.04)}.story-card.reverse{grid-template-columns:.95fr 1.05fr}.story-card.reverse .story-art{order:2}.story-card.reverse .story-copy{order:1}.story-copy h2{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:38px;line-height:1.45;letter-spacing:.04em;margin:0 0 14px;font-weight:500;color:#156f7c}.story-copy p{font-size:16px;line-height:2;color:#62584f;margin:0 0 14px}.story-copy .small-link{display:inline-block;margin-top:6px;color:#117f8f;font-weight:700}.story-art img{width:100%;border-radius:26px;border:1px solid var(--line);background:#fff}.app-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:20px}.store-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:14px;background:#1b1b1b;color:#fff;font-weight:700;box-shadow:0 8px 18px rgba(99,78,57,.08)}.store-btn.light{background:#fff9ef;color:#997333;border:1px solid #efd8a4}.reason-title{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:42px;line-height:1.4;margin:6px 0 0;color:#157f8e;font-weight:500}.reason-wrap{margin-top:6px}.reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}.reason-card{background:#fffdf9;border:1px solid var(--line);border-radius:26px;padding:22px 20px;box-shadow:0 10px 22px rgba(90,70,50,.04)}.reason-card .icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:28px;margin-bottom:16px}.reason-card h3{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:26px;line-height:1.45;font-weight:500;margin:0 0 10px;color:#156f7c}.reason-card p{margin:0;color:#6d6359;font-size:14px;line-height:1.9}.reason-card:nth-child(1) .icon{background:#fae1d7;color:#dc8a62}.reason-card:nth-child(2) .icon{background:#f6e3d8;color:#d89064}.reason-card:nth-child(3) .icon{background:#fbe1da;color:#dd8e72}.reason-card:nth-child(4) .icon{background:#d9edf0;color:#157f8e}.step-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:18px}.step-card{background:#fffdf9;border:1px dashed #e6d8c6;border-radius:22px;padding:20px}.step-card .num{display:inline-flex;width:42px;height:42px;border-radius:50%;align-items:center;justify-content:center;background:#f3ece2;color:#ef8d73;font-weight:700;margin-bottom:12px}.step-card h3{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:24px;font-weight:500;margin:0 0 10px;color:#5a4a3c}.step-card p{margin:0;font-size:14px;color:#756a60;line-height:1.9}.center-cta{padding:34px 0 10px;text-align:center}.center-cta p{color:#74695f;font-size:18px}.cta-outline{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border-radius:999px;border:1px solid #b9dde2;color:#127f8f;font-weight:700;background:#fffdf9}
footer{text-align:center;padding:34px 24px 30px;color:#82786f;font-size:13px;border-top:1px solid var(--line)}
.footer-contact{margin:0 auto 24px;max-width:520px}.footer-contact p{margin:0 0 14px;font-size:15px;line-height:1.9;color:#6f655c}.footer-contact small{display:block;margin-top:12px;font-size:12px;line-height:1.8;color:#9a9188}.footer-line-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border-radius:999px;background:#06c755;color:#fff;font-size:16px;font-weight:700;box-shadow:0 10px 22px rgba(6,199,85,.22);transition:transform .22s ease,box-shadow .22s ease}.footer-line-button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(6,199,85,.3)}.footer-line-button::before{content:"";width:22px;height:22px;background-color:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain;mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 3C6.5 3 2 6.6 2 11c0 4 3.6 7.3 8.4 7.9.3.1.8.2.9.5.1.3.1.7 0 1l-.1.9c0 .3-.2 1 .9.6 1.1-.5 6-3.5 8.2-6C21.7 14.3 22 12.7 22 11c0-4.4-4.5-8-10-8Zm-3.9 10.5H6c-.2 0-.4-.2-.4-.4V9.4c0-.2.2-.4.4-.4h.5c.2 0 .4.2.4.4v3.1h1.2c.2 0 .4.2.4.4v.2c0 .2-.2.4-.4.4Zm2.1-.4c0 .2-.2.4-.4.4h-.5c-.2 0-.4-.2-.4-.4V9.4c0-.2.2-.4.4-.4h.5c.2 0 .4.2.4.4v3.7Zm4.3 0c0 .2-.2.4-.4.4h-.5a.4.4 0 0 1-.3-.2l-1.6-2.1v1.9c0 .2-.2.4-.4.4h-.5c-.2 0-.4-.2-.4-.4V9.4c0-.2.2-.4.4-.4h.6l.2.2 1.6 2.2V9.4c0-.2.2-.4.4-.4h.5c.2 0 .4.2.4.4v3.7Zm3.4-3.3c0 .2-.2.4-.4.4h-1.2v.5h1.2c.2 0 .4.2.4.4v.2c0 .2-.2.4-.4.4h-1.2v.5h1.2c.2 0 .4.2.4.4v.2c0 .2-.2.4-.4.4h-2c-.2 0-.4-.2-.4-.4V9.4c0-.2.2-.4.4-.4h2c.2 0 .4.2.4.4v.2Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M12 3C6.5 3 2 6.6 2 11c0 4 3.6 7.3 8.4 7.9.3.1.8.2.9.5.1.3.1.7 0 1l-.1.9c0 .3-.2 1 .9.6 1.1-.5 6-3.5 8.2-6C21.7 14.3 22 12.7 22 11c0-4.4-4.5-8-10-8Zm-3.9 10.5H6c-.2 0-.4-.2-.4-.4V9.4c0-.2.2-.4.4-.4h.5c.2 0 .4.2.4.4v3.1h1.2c.2 0 .4.2.4.4v.2c0 .2-.2.4-.4.4Zm2.1-.4c0 .2-.2.4-.4.4h-.5c-.2 0-.4-.2-.4-.4V9.4c0-.2.2-.4.4-.4h.5c.2 0 .4.2.4.4v3.7Zm4.3 0c0 .2-.2.4-.4.4h-.5a.4.4 0 0 1-.3-.2l-1.6-2.1v1.9c0 .2-.2.4-.4.4h-.5c-.2 0-.4-.2-.4-.4V9.4c0-.2.2-.4.4-.4h.6l.2.2 1.6 2.2V9.4c0-.2.2-.4.4-.4h.5c.2 0 .4.2.4.4v3.7Zm3.4-3.3c0 .2-.2.4-.4.4h-1.2v.5h1.2c.2 0 .4.2.4.4v.2c0 .2-.2.4-.4.4h-1.2v.5h1.2c.2 0 .4.2.4.4v.2c0 .2-.2.4-.4.4h-2c-.2 0-.4-.2-.4-.4V9.4c0-.2.2-.4.4-.4h2c.2 0 .4.2.4.4v.2Z'/%3E%3C/svg%3E")}
@media(max-width:600px){.footer-line-button{width:100%;max-width:320px}}
.footer-sns{margin:24px auto 0}.footer-sns p{margin:0 0 10px!important;color:#51463d!important;font-size:18px!important;line-height:1.5!important;font-weight:500}.footer-sns-icons{display:flex;justify-content:center;gap:12px}.footer-sns-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#8FBFA8;color:#fff;font-size:0;box-shadow:0 8px 18px rgba(75,112,82,.14);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.footer-sns-icon:hover{transform:translateY(-2px);background:#8fbf9b;box-shadow:0 12px 24px rgba(75,112,82,.22)}.footer-sns-icon::before{content:"";width:22px;height:22px;background-color:currentColor;mask-repeat:no-repeat;mask-position:center;mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain}.footer-sns-x::before{mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M5 4h4.2l3.2 4.6L16.7 4H20l-6 6.5L20.7 20h-4.2l-3.8-5.4L7.7 20H4.3l6.8-7.4L5 4Zm3.1 2 9.4 12h.9L9 6h-.9Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='black' d='M5 4h4.2l3.2 4.6L16.7 4H20l-6 6.5L20.7 20h-4.2l-3.8-5.4L7.7 20H4.3l6.8-7.4L5 4Zm3.1 2 9.4 12h.9L9 6h-.9Z'/%3E%3C/svg%3E")}

.events-page{--bg:#fbf7ef;--ink:#51463d;--line:#e9dfd1;--accent:#d9826f;--card:#fffdf8;background:#fbf7ef;color:#51463d}
.events-page .site-header{background:#f8f1e7}
.event-page-wrap{max-width:1140px;margin:0 auto;padding:56px 24px 96px}
.event-firstview{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:48px;align-items:center;margin-bottom:46px}
.event-firstview-copy{padding:10px 4px}.event-kicker,.event-section-heading span{display:inline-block;color:#b9823d;font-size:13px;font-weight:700;letter-spacing:.18em;margin-bottom:12px}.event-firstview h1{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:clamp(34px,4.1vw,54px);font-weight:500;line-height:1.36;letter-spacing:.04em;color:#51463d;margin:0 0 18px}.event-firstview p{font-size:17px;line-height:2.1;color:#65584e;margin:0}.event-firstview-art{background:#fffdf8;border:1px solid #e9dfd1;border-radius:28px;padding:16px;box-shadow:0 16px 34px rgba(93,72,50,.07)}.event-firstview-art img{border-radius:22px;width:100%}
.event-fit-section,.event-lineup,.event-safe-section,.event-operation-note{background:#fffdf8;border:1px solid #e9dfd1;border-radius:28px;padding:32px;margin-bottom:30px;box-shadow:0 12px 28px rgba(93,72,50,.045)}.event-section-heading h2{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:clamp(30px,3.4vw,44px);font-weight:500;line-height:1.45;color:#51463d;margin:0}.event-fit-list{display:grid;gap:14px;margin-top:22px}.event-fit-item{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:var(--event-soft,#fbf7ef);border:1px solid var(--event-border,#eadfce);border-radius:18px;padding:18px 22px;transition:transform .22s ease,box-shadow .22s ease}.event-fit-item:hover{transform:translateY(-3px);box-shadow:0 14px 26px rgba(93,72,50,.1)}.event-fit-item span{color:#665a50}.event-fit-item strong{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:24px;font-weight:500;color:#51463d}.event-fit-item::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--event-color);grid-row:1;grid-column:1;justify-self:start}.event-fit-item span{padding-left:28px;grid-column:1;grid-row:1}.event-fit-item strong{grid-column:2;grid-row:1}.regular{--event-color:#7f9f63;--event-soft:#f1f7e9;--event-border:#d6e3c9}.guest{--event-color:#d9826f;--event-soft:#fff0eb;--event-border:#f0c8ba}.fire{--event-color:#c39a44;--event-soft:#fff7df;--event-border:#ead7a2}.onsite{--event-color:#4f8f86;--event-soft:#eaf6f4;--event-border:#bfddd8}
.event-list{display:grid;gap:24px;margin-top:24px}.event-story-card{display:grid;grid-template-columns:330px 1fr;gap:30px;align-items:center;background:#fffdf8;border:1px solid #e9dfd1;border-radius:26px;padding:24px;color:#51463d;box-shadow:0 12px 26px rgba(93,72,50,.055);transition:transform .22s ease,box-shadow .22s ease}.event-story-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(93,72,50,.13)}.event-story-card:focus,.event-story-card:focus-visible{outline:none;box-shadow:0 18px 34px rgba(93,72,50,.13)}.event-story-card:nth-child(even){grid-template-columns:1fr 330px}.event-story-card:nth-child(even) .event-story-art{order:2}.event-story-art{background:#fbf7ef;border:1px solid #eadfce;border-radius:22px;padding:10px}.event-story-art img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px}.event-story-tag{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#fbf7ef;border:1px solid color-mix(in srgb,var(--event-color) 35%,#e9dfd1);color:#51463d;font-size:13px;font-weight:700;letter-spacing:.08em}.event-story-tag::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--event-color)}.event-story-copy h3{display:inline-block;font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:clamp(28px,3vw,40px);line-height:1.4;font-weight:500;color:#51463d;margin:16px 0 12px;border-bottom:3px solid var(--event-color)}.event-story-copy p{font-size:16px;line-height:2;color:#65584e;margin:0 0 18px}.event-next-box{background:#fff;border:1px solid #eadfce;border-radius:20px;padding:16px 20px;margin:0 0 22px}.event-next-box span{display:block;margin-bottom:4px;color:var(--event-color);font-size:14px;font-weight:700;letter-spacing:.08em}.event-next-box strong{display:block;color:var(--event-color);font-size:clamp(22px,2.3vw,30px);line-height:1.35;font-weight:700;white-space:nowrap}.event-story-link{display:inline-flex;align-items:center;gap:8px;color:var(--event-color);font-size:20px;font-weight:700}.event-story-link span{display:inline-block;transition:transform .22s ease}.event-story-card:hover .event-story-link span{transform:translateX(5px)}
.event-safe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.event-safe-item{background:#fbf7ef;border:1px solid #eadfce;border-radius:18px;padding:20px}.event-safe-item span{display:block;color:#b9823d;font-size:13px;font-weight:700;letter-spacing:.12em;margin-bottom:8px}.event-safe-item strong{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:22px;font-weight:500;color:#51463d}.event-listener-note{margin:22px 0 0;color:#65584e;line-height:2;background:#fff8ed;border-left:4px solid #d9826f;border-radius:12px;padding:16px 18px}.event-recording-note{margin:16px 0 0;padding:18px 20px;border-radius:16px;background:#fffdf8;border:1px solid #e0c7b5;border-left:4px solid #b9823d;color:#65584e}.event-recording-note strong{display:block;margin-bottom:6px;color:#9a6538;font-size:16px;font-weight:700;letter-spacing:.04em}.event-recording-note p{margin:0;line-height:2}.event-operation-note p{color:#65584e;line-height:2}.event-operation-note code{background:#fbf7ef;border:1px solid #eadfce;border-radius:6px;padding:1px 6px;color:#51463d}

.reports-page{--bg:#fbf7ef;--ink:#51463d;--line:#e9dfd1;--card:#fffdf8;background:#fbf7ef;color:#51463d}.reports-page .site-header{background:#f8f1e7}.report-page-wrap{max-width:1120px;margin:0 auto;padding:56px 24px 96px}.report-hero{display:grid;grid-template-columns:1.05fr .65fr;gap:34px;align-items:center;margin-bottom:34px;padding:34px;background:linear-gradient(180deg,#fffdf8,#f8f1e7);border:1px solid #e9dfd1;border-radius:30px;box-shadow:0 14px 30px rgba(93,72,50,.055)}.report-kicker{margin:0 0 12px;color:#b9823d;font-size:13px;font-weight:700;letter-spacing:.18em}.report-hero h1{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:clamp(42px,5vw,64px);font-weight:500;line-height:1.25;letter-spacing:.05em;color:#51463d;margin:0 0 14px}.report-hero p:not(.report-kicker){font-size:17px;line-height:2;color:#65584e;margin:0}.report-hero-art{background:#fffdf8;border:1px solid #eadfce;border-radius:24px;padding:12px;overflow:hidden}.report-hero-art img{display:block;width:100%;aspect-ratio:1672/941;object-fit:cover;border-radius:18px}.report-list{display:grid;gap:28px}.report-card{display:grid;grid-template-columns:360px 1fr;gap:28px;align-items:start;background:#fffdf8;border:1px solid #e9dfd1;border-radius:28px;padding:24px;box-shadow:0 12px 28px rgba(93,72,50,.055)}.report-image{position:sticky;top:138px;background:#fbf7ef;border:1px solid #eadfce;border-radius:22px;padding:10px}.report-image img{width:100%;aspect-ratio:92/45;object-fit:contain;border-radius:18px;background:#fff}.report-copy{max-width:none;margin:0}.report-date{display:inline-flex;align-items:center;margin:0 0 14px;padding:7px 13px;border-radius:999px;background:#f8f1e7;border:1px solid #eadfce;color:#9b7d42;font-size:14px;font-weight:700;letter-spacing:.06em}.report-copy h2{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:clamp(24px,2.4vw,34px);font-weight:500;line-height:1.55;letter-spacing:.03em;color:#51463d;margin:0 0 16px;text-wrap:balance}.report-copy p:not(.report-date){font-size:17px;line-height:2;color:#5f554c;margin:0 0 15px}.report-archive{text-align:center;margin-top:32px}.report-archive a{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 24px;border-radius:999px;background:#fffdf8;border:1px solid #d9c5a0;color:#9a7434;font-weight:700;box-shadow:0 10px 22px rgba(93,72,50,.045);transition:transform .22s ease,box-shadow .22s ease}.report-archive a:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(93,72,50,.12)}.report-archive span{display:inline-block;transition:transform .22s ease}.report-archive a:hover span{transform:translateX(5px)}
.report-breadcrumb{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;color:#8d8176;font-size:14px}.report-breadcrumb a{font-weight:700;color:#9a7434}.report-breadcrumb span:last-child{color:#51463d}.archive-hero{margin-bottom:28px}.archive-count{display:inline-flex;align-items:baseline;gap:6px;margin-top:16px!important;padding:8px 14px;border-radius:999px;background:#fffdf8;border:1px solid #eadfce;color:#9a7434;font-weight:700}.archive-count strong{font-size:24px;color:#8fa66f}.archive-list{display:grid;gap:18px}.archive-card{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:center;background:#fffdf8;border:1px solid #e9dfd1;border-radius:24px;padding:16px;box-shadow:0 10px 24px rgba(93,72,50,.05);transition:transform .22s ease,box-shadow .22s ease}.archive-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(93,72,50,.1)}.archive-card img{width:100%;aspect-ratio:92/45;object-fit:contain;border-radius:16px;background:#fbf7ef;border:1px solid #eadfce}.archive-copy h2{font-family:"Noto Serif CJK JP","Yu Mincho",serif;font-size:clamp(20px,2vw,27px);line-height:1.55;font-weight:500;color:#51463d;margin:0 0 10px}.archive-copy p:not(.report-date){font-size:15px;line-height:1.9;color:#65584e;margin:0}.archive-note-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:#9a7434;font-weight:700}.archive-note-link span{transition:transform .22s ease}.archive-note-link:hover span{transform:translateX(5px)}
@media(max-width:900px){.grid-3,.value-grid,.reason-grid,.step-flow,.member-voice-grid,.about-team-grid{grid-template-columns:repeat(2,1fr)}.about-story-section{grid-template-columns:1fr;gap:28px;margin-bottom:54px}.about-side-heading h2 br{display:none}}
@media(max-width:760px){.header-image,.hotspot,.image-hotspot,.desktop-nav{display:none}.mobile-nav{display:flex;overflow-x:auto;gap:18px;padding:16px 18px;white-space:nowrap;font-size:14px;background:#f6f3ed}main,.page-wrap,.k-page{padding:28px 16px 72px}.hero-image-wrap,.intro-panel{margin-top:0}.quick-links,.grid-3,.grid-2,.value-grid,.reason-grid,.step-flow,.event-card-grid,.event-note ul,.event-firstview,.event-story-card,.event-story-card:nth-child(even),.event-safe-grid,.report-hero,.report-card,.archive-card,.member-voice-grid{grid-template-columns:1fr}.pg-hero,.kv-hero,.story-card,.story-card.reverse{grid-template-columns:1fr}.story-card.reverse .story-art,.story-card.reverse .story-copy{order:initial}.note-item,.timeline-item{grid-template-columns:1fr}.section-box h2,.story-copy h2{font-size:32px}.pg-copy h1{font-size:42px}.kv-copy .subhead{font-size:24px}.event-card{min-height:auto}.event-next{margin-top:24px}.event-page-wrap,.report-page-wrap{padding:28px 16px 72px}.event-story-card:nth-child(even) .event-story-art{order:initial}.event-fit-item{grid-template-columns:1fr}.event-fit-item strong{grid-column:1;grid-row:2;padding-left:28px}.event-story-copy dl{grid-template-columns:1fr}.event-firstview-art,.event-fit-section,.event-lineup,.event-safe-section,.event-operation-note,.report-hero{border-radius:22px;padding:22px}.event-firstview h1{font-size:34px}.report-card{border-radius:22px;padding:16px;gap:18px}.report-image{position:static}.report-copy h2 br,.archive-copy h2 br{display:none}.report-copy p:not(.report-date){font-size:16px;line-height:1.95}.archive-card{padding:14px;gap:14px}.archive-copy p:not(.report-date){font-size:14px}.member-voice-card{padding:20px}.member-profile{grid-template-columns:72px 1fr;gap:14px}.member-profile img{width:72px;height:72px;border-radius:18px}.member-profile h3{font-size:25px}.pickup-link{padding:13px 14px}}
@media(max-width:760px){.about-team-grid{grid-template-columns:1fr}.about-hero{margin-bottom:40px}.about-story-copy p{font-size:16px;line-height:2}.about-member-card{padding:24px 20px}.about-member-role{min-height:auto}.about-card-note{padding:24px 20px;margin-top:38px}.about-final-note{text-align:left}.about-final-note .inline-cta{justify-content:flex-start}}
@media(max-width:760px){.member-profile .light-profile-photo{width:72px;height:72px;border-radius:18px;background-size:118px auto;background-position:57% 3%}}

/* 日本語の見出しが不自然な位置で割れにくいように、短い文の折り返しだけを調整します。 */
.kv-copy h1,.kv-copy .subhead,.story-copy h2,.reason-title,.reason-card h3,.step-card h3{
  line-break:strict;
  overflow-wrap:normal;
  word-break:auto-phrase;
  text-wrap:balance;
}

/* かたらいふページ: 共通のスマホ指定より後でヘッダーを確実に整えます。 */
@media(max-width:760px){
  body.kataralife-page.kataralife-refresh .site-header{
    position:sticky;
    top:0;
    height:auto!important;
    overflow:visible!important;
    background:#fbf7ef;
    border-bottom:1px solid #e8ddca;
    box-shadow:0 4px 16px rgba(88,70,45,.06);
  }
  body.kataralife-page.kataralife-refresh .header-inner{
    display:block!important;
    height:auto!important;
    min-height:52px!important;
    overflow:visible!important;
    padding:8px 14px 4px!important;
  }
  body.kataralife-page.kataralife-refresh .header-inner::after,
  body.kataralife-page.kataralife-refresh .header-image,
  body.kataralife-page.kataralife-refresh .desktop-nav,
  body.kataralife-page.kataralife-refresh .hotspot{
    display:none!important;
  }
  body.kataralife-page.kataralife-refresh .mobile-brand{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:42px;
    color:#493d34;
    font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:20px;
    font-weight:600;
    line-height:1.2;
    white-space:nowrap;
  }
  body.kataralife-page.kataralife-refresh .mobile-brand-mark{
    display:block!important;
    flex:0 0 40px;
    width:40px;
    height:36px;
    background-image:url("assets/brand_mark.png");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
  }
  body.kataralife-page.kataralife-refresh .mobile-nav{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    gap:0!important;
    overflow:visible!important;
    padding:2px 8px 8px!important;
    background:#fbf7ef!important;
    font-size:12px!important;
    line-height:1.35!important;
    white-space:normal!important;
  }
  body.kataralife-page.kataralife-refresh .mobile-nav a{
    display:flex!important;
    align-items:center;
    justify-content:center;
    min-width:0!important;
    min-height:32px;
    padding:4px 2px!important;
    color:#5b4b3f;
    text-align:center;
    border-bottom:1px solid rgba(116,139,92,.18);
  }
}

/* かたらいふページ: スマートフォン用の小さなヘッダー */
.kataralife-refresh .mobile-brand{
  display:none;
}

@media(max-width:760px){
  .kataralife-refresh .site-header{
    background:#fbf7ef;
    border-bottom:1px solid #e8ddca;
    box-shadow:0 4px 16px rgba(88,70,45,.06);
  }
  .kataralife-refresh .header-inner{
    height:auto;
    min-height:0;
    overflow:visible;
    padding:9px 16px 5px;
  }
  .kataralife-refresh .header-inner::after{
    display:none;
  }
  .kataralife-refresh .mobile-brand{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    color:#493d34;
    font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:21px;
    font-weight:600;
    line-height:1.2;
    text-decoration:none;
    white-space:nowrap;
  }
  .kataralife-refresh .mobile-brand-mark{
    flex:0 0 44px;
    width:44px;
    height:40px;
    background-image:url("assets/brand_mark.png");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
  }
  .kataralife-refresh .mobile-nav{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    overflow:visible;
    padding:3px 10px 9px;
    background:#fbf7ef;
    white-space:normal;
    font-size:12px;
    line-height:1.35;
  }
  .kataralife-refresh .mobile-nav a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:32px;
    padding:4px 2px;
    color:#5b4b3f;
    text-align:center;
    text-decoration:none;
    border-bottom:1px solid rgba(116,139,92,.18);
  }
}

/* =========================================================
   かたらいふページ統一デザイン（2026-08-14）
   このページの見た目を調整するときは、主にこの範囲を編集します。
   ========================================================= */
body.kataralife-page.kataralife-refresh{
  background:#faf7f0;
  color:#51483f;
}
body.kataralife-page.kataralife-refresh .k-page{
  width:min(1588px,calc(100% - 48px));
  max-width:none;
  margin:0 auto;
  padding:32px 0 96px;
}
body.kataralife-page.kataralife-refresh .kv-hero{
  position:relative;
  display:block;
  min-height:620px;
  aspect-ratio:16 / 8.5;
  overflow:hidden;
  border:1px solid #e7d9c5;
  border-radius:8px;
  background:#fffaf1;
  box-shadow:none;
}
body.kataralife-page.kataralife-refresh .kv-art{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
body.kataralife-page.kataralife-refresh .kv-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border:0;
  border-radius:0;
  box-shadow:none;
}
body.kataralife-page.kataralife-refresh .kv-copy{
  position:absolute;
  z-index:2;
  top:50%;
  left:6%;
  width:42%;
  max-width:620px;
  padding:0;
  transform:translateY(-50%);
  text-align:left;
}
body.kataralife-page.kataralife-refresh .kv-copy .eyebrow,
body.kataralife-page.kataralife-refresh .reason-eyebrow{
  margin:0 0 18px;
  color:#c98257;
  font-size:16px;
  font-weight:700;
  letter-spacing:0;
}
body.kataralife-page.kataralife-refresh .kv-copy h1{
  margin:0 0 24px;
  color:#3f382f;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:64px;
  font-weight:500;
  line-height:1.3;
  letter-spacing:0;
}
body.kataralife-page.kataralife-refresh .kv-copy h1::after{
  display:none;
}
body.kataralife-page.kataralife-refresh .kv-copy .subhead{
  margin:0;
  color:#4e463d;
  font-size:22px;
  font-weight:600;
  line-height:1.9;
  letter-spacing:0;
}
body.kataralife-page.kataralife-refresh .kv-copy .subhead span{
  display:block;
}
body.kataralife-page.kataralife-refresh .flow-section{
  display:block;
  width:100%;
  margin:32px 0 0;
  padding:0;
  overflow:hidden;
  border:1px solid #e7d9c5;
  border-radius:8px;
  background:#fffdf8;
  box-shadow:none;
}
body.kataralife-page.kataralife-refresh .story-card,
body.kataralife-page.kataralife-refresh .story-card.reverse{
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);
  align-items:center;
  gap:72px;
  min-height:520px;
  margin:0;
  padding:72px 64px;
  border:0;
  border-bottom:1px solid #e7d9c5;
  border-radius:0;
  background:#fffdf8;
  box-shadow:none;
}
body.kataralife-page.kataralife-refresh .story-card:nth-child(2){
  background:#f4f5ec;
}
body.kataralife-page.kataralife-refresh .story-card:nth-child(3){
  background:#fff5ec;
}
body.kataralife-page.kataralife-refresh .story-card:last-child{
  border-bottom:0;
}
body.kataralife-page.kataralife-refresh .story-card.reverse .story-copy{
  order:2;
}
body.kataralife-page.kataralife-refresh .story-card.reverse .story-art{
  order:1;
}
body.kataralife-page.kataralife-refresh .story-copy{
  min-width:0;
  max-width:760px;
}
body.kataralife-page.kataralife-refresh .story-copy h2,
body.kataralife-page.kataralife-refresh .reason-title{
  margin:0 0 28px;
  color:#2f5f45;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:44px;
  font-weight:500;
  line-height:1.45;
  letter-spacing:0;
}
body.kataralife-page.kataralife-refresh .story-copy h2 span{
  display:block;
}
body.kataralife-page.kataralife-refresh .story-copy p,
body.kataralife-page.kataralife-refresh .reason-card p,
body.kataralife-page.kataralife-refresh .doctor-panel p,
body.kataralife-page.kataralife-refresh .center-cta p{
  margin:0 0 18px;
  color:#51483f;
  font-size:20px;
  line-height:2;
  letter-spacing:0;
}
body.kataralife-page.kataralife-refresh .story-copy strong{
  color:#2f5f45;
}
body.kataralife-page.kataralife-refresh .story-art{
  min-width:0;
}
body.kataralife-page.kataralife-refresh .story-art img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
  border:1px solid rgba(201,130,87,.18);
  border-radius:8px;
  background:#fffaf1;
  box-shadow:none;
}
body.kataralife-page.kataralife-refresh .small-link{
  display:inline-flex;
  margin-top:12px;
  color:#2f5f45;
  font-size:18px;
  font-weight:700;
  line-height:1.7;
}
body.kataralife-page.kataralife-refresh .app-ribbon{
  display:inline-flex;
  margin:0 0 20px;
  padding:7px 14px;
  border:1px solid #d8c9b5;
  border-radius:999px;
  background:#fffaf1;
  color:#a76843;
  font-size:16px;
  font-weight:700;
}
body.kataralife-page.kataralife-refresh .app-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
body.kataralife-page.kataralife-refresh .store-btn,
body.kataralife-page.kataralife-refresh .store-btn.light,
body.kataralife-page.kataralife-refresh .cta-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:10px 24px;
  border:1px solid #8da58d;
  border-radius:999px;
  background:#fffdf8;
  color:#2f5f45;
  font-size:17px;
  font-weight:700;
  line-height:1.5;
  box-shadow:none;
}
body.kataralife-page.kataralife-refresh .reason-wrap{
  width:100%;
  margin:32px 0 0;
  padding:72px 64px;
  border:1px solid #e7d9c5;
  border-radius:8px;
  background:#f3efe4;
  box-shadow:none;
  text-align:left;
}
body.kataralife-page.kataralife-refresh .reason-title{
  color:#3f382f;
}
body.kataralife-page.kataralife-refresh .reason-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:38px;
}
body.kataralife-page.kataralife-refresh .reason-card{
  min-height:0;
  padding:34px;
  border:1px solid #e7d9c5;
  border-radius:8px;
  background:#fffdf8;
  box-shadow:none;
  text-align:left;
}
body.kataralife-page.kataralife-refresh .reason-card .icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  margin:0 0 20px;
  border-radius:50%;
  background:#edf1e7;
  color:#2f5f45;
  font-size:20px;
  font-weight:700;
}
body.kataralife-page.kataralife-refresh .reason-card h3{
  margin:0 0 14px;
  color:#2f5f45;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:30px;
  font-weight:600;
  line-height:1.55;
  letter-spacing:0;
}
body.kataralife-page.kataralife-refresh .reason-card summary{
  cursor:pointer;
  list-style:none;
}
body.kataralife-page.kataralife-refresh .reason-card summary::-webkit-details-marker{
  display:none;
}
body.kataralife-page.kataralife-refresh .reason-card summary > span{
  display:inline-flex;
  margin-top:4px;
  color:#a76843;
  font-size:16px;
  font-weight:700;
}
body.kataralife-page.kataralife-refresh .doctor-panel,
body.kataralife-page.kataralife-refresh .step-flow.compact{
  margin-top:24px;
  padding-top:24px;
  border-top:1px solid #e7d9c5;
}
body.kataralife-page.kataralife-refresh .step-flow.compact{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
body.kataralife-page.kataralife-refresh .step-card{
  padding:20px;
  border:1px solid #e7d9c5;
  border-radius:8px;
  background:#fffaf1;
}
body.kataralife-page.kataralife-refresh .step-card h3{
  font-size:21px;
}
body.kataralife-page.kataralife-refresh .step-card p{
  font-size:17px;
  line-height:1.8;
}
body.kataralife-page.kataralife-refresh .flow-section:last-of-type .story-card{
  background:#fff8ee;
}
body.kataralife-page.kataralife-refresh .flow-section:last-of-type .story-art img{
  object-fit:contain;
  padding:24px;
}
body.kataralife-page.kataralife-refresh .center-cta{
  margin:32px 0 0;
  padding:44px 32px;
  border-top:1px solid #e7d9c5;
  border-bottom:1px solid #e7d9c5;
  background:#fffdf8;
  text-align:center;
}
body.kataralife-page.kataralife-refresh :is(h1,h2,h3,h4,p,a,summary,span){
  overflow-wrap:normal;
  word-break:auto-phrase;
  line-break:strict;
}
body.kataralife-page.kataralife-refresh :is(h1,h2,h3,h4){
  text-wrap:balance;
}
body.kataralife-page.kataralife-refresh p{
  text-wrap:pretty;
}

@media (max-width:1100px){
  body.kataralife-page.kataralife-refresh .kv-hero{
    min-height:540px;
  }
  body.kataralife-page.kataralife-refresh .kv-copy h1{
    font-size:52px;
  }
  body.kataralife-page.kataralife-refresh .kv-copy .subhead{
    font-size:19px;
  }
  body.kataralife-page.kataralife-refresh .story-card,
  body.kataralife-page.kataralife-refresh .story-card.reverse{
    grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);
    gap:42px;
    min-height:460px;
    padding:56px 42px;
  }
  body.kataralife-page.kataralife-refresh .story-copy h2,
  body.kataralife-page.kataralife-refresh .reason-title{
    font-size:38px;
  }
  body.kataralife-page.kataralife-refresh .story-copy p,
  body.kataralife-page.kataralife-refresh .reason-card p,
  body.kataralife-page.kataralife-refresh .doctor-panel p,
  body.kataralife-page.kataralife-refresh .center-cta p{
    font-size:18px;
  }
  body.kataralife-page.kataralife-refresh .reason-wrap{
    padding:56px 42px;
  }
}

@media (max-width:760px){
  body.kataralife-page.kataralife-refresh .k-page{
    width:calc(100% - 24px);
    padding:16px 0 64px;
  }
  body.kataralife-page.kataralife-refresh .kv-hero{
    display:flex;
    flex-direction:column;
    min-height:0;
    aspect-ratio:auto;
  }
  body.kataralife-page.kataralife-refresh .kv-copy{
    position:relative;
    top:auto;
    left:auto;
    order:1;
    width:auto;
    max-width:none;
    padding:36px 24px 28px;
    transform:none;
    background:#fffaf1;
  }
  body.kataralife-page.kataralife-refresh .kv-copy h1{
    margin-bottom:18px;
    font-size:44px;
  }
  body.kataralife-page.kataralife-refresh .kv-copy .subhead{
    font-size:18px;
    line-height:1.8;
  }
  body.kataralife-page.kataralife-refresh .kv-art{
    position:relative;
    inset:auto;
    order:2;
    width:100%;
    height:auto;
    aspect-ratio:4 / 3;
  }
  body.kataralife-page.kataralife-refresh .kv-art img{
    object-position:68% center;
  }
  body.kataralife-page.kataralife-refresh .flow-section,
  body.kataralife-page.kataralife-refresh .reason-wrap,
  body.kataralife-page.kataralife-refresh .center-cta{
    margin-top:20px;
  }
  body.kataralife-page.kataralife-refresh .story-card,
  body.kataralife-page.kataralife-refresh .story-card.reverse{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:28px;
    min-height:0;
    padding:38px 22px;
  }
  body.kataralife-page.kataralife-refresh .story-card.reverse .story-copy,
  body.kataralife-page.kataralife-refresh .story-card.reverse .story-art{
    order:initial;
  }
  body.kataralife-page.kataralife-refresh .story-copy{
    order:1;
  }
  body.kataralife-page.kataralife-refresh .story-art{
    order:2;
  }
  body.kataralife-page.kataralife-refresh .story-copy h2,
  body.kataralife-page.kataralife-refresh .reason-title{
    margin-bottom:22px;
    font-size:34px;
  }
  body.kataralife-page.kataralife-refresh .story-copy p,
  body.kataralife-page.kataralife-refresh .reason-card p,
  body.kataralife-page.kataralife-refresh .doctor-panel p,
  body.kataralife-page.kataralife-refresh .center-cta p{
    font-size:17px;
    line-height:1.95;
  }
  body.kataralife-page.kataralife-refresh .story-art img{
    aspect-ratio:4 / 3;
  }
  body.kataralife-page.kataralife-refresh .app-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  body.kataralife-page.kataralife-refresh .store-btn,
  body.kataralife-page.kataralife-refresh .store-btn.light,
  body.kataralife-page.kataralife-refresh .cta-outline{
    width:100%;
  }
  body.kataralife-page.kataralife-refresh .reason-wrap{
    padding:40px 22px;
  }
  body.kataralife-page.kataralife-refresh .reason-grid,
  body.kataralife-page.kataralife-refresh .step-flow.compact{
    grid-template-columns:1fr;
  }
  body.kataralife-page.kataralife-refresh .reason-card{
    padding:26px 22px;
  }
  body.kataralife-page.kataralife-refresh .reason-card h3{
    font-size:26px;
  }
  body.kataralife-page.kataralife-refresh .center-cta{
    padding:38px 22px;
  }
}

/* かたらいふページ：トップページと同じ水彩・生成りの世界観 */
.kataralife-page{
  background:#fbf7ef;
  color:#51483f;
  overflow-x:clip;
}
.kataralife-page .k-page{
  width:calc(100% - 48px);
  max-width:1672px;
  margin:0 auto;
  padding:24px 0 96px;
}
.kataralife-page .kv-hero{
  position:relative;
  display:block;
  width:100%;
  min-height:clamp(560px,52vw,870px);
  margin:0;
  overflow:hidden;
  border:1px solid #e7dac5;
  border-radius:24px;
  background:#fffaf1;
  box-shadow:0 18px 42px rgba(92,72,42,.11);
}
.kataralife-page .kv-art{
  position:absolute;
  inset:0;
  display:block;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.kataralife-page .kv-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:0;
  transform:scale(1.045);
  transform-origin:right center;
}
.kataralife-page .kv-copy{
  position:absolute;
  z-index:2;
  top:50%;
  left:6%;
  width:34%;
  max-width:520px;
  padding:0;
  transform:translateY(-50%);
  text-align:left;
}
.kataralife-page .kv-copy .eyebrow{
  margin:0 0 18px;
  color:#c87a53;
  font-size:15px;
  letter-spacing:.18em;
}
.kataralife-page .kv-copy h1{
  margin:0;
  color:#4f443c;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(46px,4vw,68px);
  font-weight:500;
  line-height:1.28;
  letter-spacing:0;
}
.kataralife-page .kv-copy h1::after{
  content:"";
  display:block;
  width:72px;
  height:2px;
  margin:24px 0;
  background:#cf815b;
}
.kataralife-page .kv-copy .subhead{
  margin:0;
  color:#315f48;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:clamp(17px,1.25vw,21px);
  font-weight:600;
  line-height:1.9;
  letter-spacing:0;
}
.kataralife-page .kv-copy .subhead span{
  display:block;
}
.kataralife-page .flow-section{
  display:grid;
  gap:36px;
  margin:56px 0 0;
}
.kataralife-page .story-card,
.kataralife-page .story-card.reverse{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  align-items:center;
  gap:56px;
  padding:56px;
  border:1px solid #e8dcc9;
  border-radius:20px;
  background:#fffdf8;
  box-shadow:0 14px 30px rgba(91,71,41,.08);
}
.kataralife-page .story-copy{
  text-align:left;
}
.kataralife-page .story-copy h2,
.kataralife-page .reason-title{
  margin:0 0 24px;
  color:#2f5f45;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(34px,3vw,50px);
  font-weight:500;
  line-height:1.45;
  letter-spacing:0;
}
.kataralife-page .story-copy h2 span{
  display:block;
}
.kataralife-page .story-copy p,
.kataralife-page .reason-card p,
.kataralife-page .doctor-panel p,
.kataralife-page .center-cta p{
  color:#5d544c;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:clamp(18px,1.25vw,21px);
  line-height:2;
  letter-spacing:0;
  word-break:auto-phrase;
  overflow-wrap:normal;
  line-break:strict;
  text-wrap:pretty;
}
.kataralife-page .story-copy p{
  margin:0 0 18px;
}
.kataralife-page .small-link{
  display:inline-flex;
  margin-top:10px;
  color:#2f6b52;
  font-size:18px;
  font-weight:700;
  text-decoration-thickness:1px;
  text-underline-offset:7px;
}
.kataralife-page .story-art{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.kataralife-page .story-art img{
  display:block;
  width:100%;
  max-height:440px;
  aspect-ratio:4/3;
  object-fit:cover;
  border:1px solid #eadfcd;
  border-radius:16px;
  background:#fffaf1;
}
.kataralife-page .flow-section:last-of-type .story-art{
  padding:22px;
  border:1px solid #eadfcd;
  border-radius:16px;
  background:#fffaf1;
}
.kataralife-page .flow-section:last-of-type .story-art img{
  object-fit:contain;
  border:0;
  background:transparent;
}
.kataralife-page .app-ribbon{
  display:inline-block;
  margin:0 0 18px;
  padding:7px 13px;
  border:1px solid #d9c7aa;
  border-radius:999px;
  color:#9a6a34;
  background:#fff8e9;
  font-size:15px;
  font-weight:700;
}
.kataralife-page .app-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.kataralife-page .store-btn,
.kataralife-page .store-btn.light,
.kataralife-page .cta-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:12px 24px;
  border:1px solid #9bb6a1;
  border-radius:999px;
  color:#315f48;
  background:#fffdf8;
  box-shadow:none;
  font-size:17px;
  font-weight:700;
  text-decoration:none;
}
.kataralife-page .store-btn:hover,
.kataralife-page .store-btn.light:hover,
.kataralife-page .cta-outline:hover{
  color:#fff;
  background:#315f48;
}
.kataralife-page .reason-wrap{
  margin:56px 0 0;
  padding:56px;
  border:1px solid #e2d8c5;
  border-radius:20px;
  background:#f3f0e5;
  box-shadow:0 14px 30px rgba(91,71,41,.07);
}
.kataralife-page .reason-eyebrow{
  margin-bottom:12px;
  color:#c77a52;
}
.kataralife-page .reason-title{
  color:#4f443c;
}
.kataralife-page .reason-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  margin-top:34px;
}
.kataralife-page .reason-card{
  min-height:0;
  padding:32px;
  border:1px solid #e7dccb;
  border-radius:16px;
  background:#fffdf8;
  box-shadow:0 10px 22px rgba(91,71,41,.06);
}
.kataralife-page .reason-card .icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  margin-bottom:20px;
  border:1px solid #c8d6c3;
  border-radius:50%;
  color:#2f6b52;
  background:#eef3e8;
  font-family:Georgia,serif;
  font-size:22px;
  font-weight:600;
}
.kataralife-page .reason-card h3{
  margin:0 0 14px;
  color:#315f48;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(25px,2vw,32px);
  font-weight:600;
  line-height:1.5;
  letter-spacing:0;
}
.kataralife-page .reason-card summary{
  display:block;
  cursor:pointer;
  list-style:none;
}
.kataralife-page .reason-card summary::-webkit-details-marker{
  display:none;
}
.kataralife-page .reason-card summary > span{
  display:inline-block;
  margin-top:8px;
  color:#a96b40;
  font-size:16px;
  font-weight:700;
}
.kataralife-page .doctor-panel{
  margin-top:26px;
  padding-top:26px;
  border-top:1px solid #e7dccb;
}
.kataralife-page .doctor-panel h4{
  margin:0 0 10px;
  color:#315f48;
  font-size:24px;
}
.kataralife-page .step-flow.compact{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:26px;
  padding-top:26px;
  border-top:1px solid #e7dccb;
}
.kataralife-page .step-flow.compact .step-card{
  padding:20px;
  border:1px solid #e7dccb;
  border-radius:12px;
  background:#fbf8f0;
}
.kataralife-page .step-flow.compact .step-card h3{
  font-size:20px;
}
.kataralife-page .step-flow.compact .step-card p{
  margin:0;
  font-size:16px;
  line-height:1.8;
}
.kataralife-page .center-cta{
  margin:56px 0 0;
  padding:44px 28px;
  border:1px solid #e7dccb;
  border-radius:20px;
  background:#fffaf1;
}
.kataralife-page h1,
.kataralife-page h2,
.kataralife-page h3,
.kataralife-page h4,
.kataralife-page p,
.kataralife-page a{
  word-break:auto-phrase;
  overflow-wrap:normal;
  line-break:strict;
  text-wrap:pretty;
}

@media (max-width:900px){
  .kataralife-page .k-page{
    width:calc(100% - 28px);
    padding:14px 0 72px;
  }
  .kataralife-page .kv-hero{
    display:flex;
    flex-direction:column;
    min-height:0;
    border-radius:18px;
  }
  .kataralife-page .kv-copy{
    position:relative;
    top:auto;
    left:auto;
    order:1;
    width:auto;
    max-width:none;
    padding:34px 24px 26px;
    transform:none;
  }
  .kataralife-page .kv-copy h1{
    font-size:clamp(44px,12vw,62px);
  }
  .kataralife-page .kv-copy .subhead{
    font-size:17px;
  }
  .kataralife-page .kv-art{
    position:relative;
    order:2;
    height:340px;
  }
  .kataralife-page .kv-art img{
    object-position:72% center;
    transform:none;
  }
  .kataralife-page .flow-section{
    gap:24px;
    margin-top:28px;
  }
  .kataralife-page .story-card,
  .kataralife-page .story-card.reverse{
    grid-template-columns:1fr;
    gap:26px;
    padding:28px 22px;
    border-radius:16px;
  }
  .kataralife-page .story-copy h2,
  .kataralife-page .reason-title{
    font-size:clamp(31px,8vw,40px);
  }
  .kataralife-page .story-copy p,
  .kataralife-page .reason-card p,
  .kataralife-page .doctor-panel p,
  .kataralife-page .center-cta p{
    font-size:17px;
    line-height:1.9;
  }
  .kataralife-page .story-art img{
    max-height:none;
  }
  .kataralife-page .reason-wrap{
    margin-top:28px;
    padding:32px 18px;
    border-radius:16px;
  }
  .kataralife-page .reason-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .kataralife-page .reason-card{
    padding:24px 20px;
  }
  .kataralife-page .step-flow.compact{
    grid-template-columns:1fr;
  }
  .kataralife-page .center-cta{
    margin-top:28px;
  }
}

@media (max-width:560px){
  .kataralife-page .kv-art{
    height:280px;
  }
  .kataralife-page .flow-section:last-of-type .story-art{
    padding:12px;
  }
  .kataralife-page .store-btn,
  .kataralife-page .store-btn.light,
  .kataralife-page .cta-outline{
    width:100%;
  }
}
.kv-copy .subhead span{
  display:block;
}
.story-copy h2 span{
  display:inline-block;
}
.story-copy p,.reason-card p,.step-card p,.center-cta p{
  line-break:strict;
  word-break:auto-phrase;
  overflow-wrap:normal;
}
.nowrap{
  white-space:nowrap;
}
.reason-eyebrow{
  display:inline-block;
  color:#df8b73;
  font-size:14px;
  font-weight:700;
  letter-spacing:.18em;
  margin-top:48px;
}
.intro-panel .lead + .lead{
  margin-top:10px;
}
.intro-actions,.cta-center{
  justify-content:center;
}
.section-box .info-card,.section-box .value-card{
  height:100%;
}
.owner-story-section{
  margin:34px 0 28px;
  padding:44px 28px;
  border-radius:30px;
  background:linear-gradient(180deg,#fffdf9,#f8f3ea);
  border:1px solid var(--line);
  box-shadow:0 10px 24px rgba(90,70,50,.04);
}
.owner-story-heading{
  text-align:center;
  margin-bottom:34px;
}
.owner-story-heading p{
  margin:0 0 10px;
  color:#df8b73;
  font-size:14px;
  font-weight:700;
  letter-spacing:.14em;
}
.owner-story-heading h2{
  margin:0;
  color:#147f8f;
  font-family:"Noto Serif CJK JP","Yu Mincho",serif;
  font-size:clamp(36px,4vw,54px);
  font-weight:600;
  line-height:1.35;
}
.owner-story-grid{
  display:grid;
  grid-template-columns:minmax(260px,.78fr) 1.22fr;
  gap:32px;
  align-items:start;
}
.owner-profile-card,.owner-message-card{
  background:#fffdf9;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:0 14px 30px rgba(90,70,50,.055);
}
.owner-profile-card{
  padding:34px 28px;
  text-align:center;
}
.owner-photo{
  width:120px;
  height:120px;
  margin:0 auto 20px;
  border-radius:50%;
  overflow:hidden;
  background:#e7f4f6;
  border:3px solid #d2edf1;
}
.owner-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
  transform:scale(1.6);
  transform-origin:center 38%;
}
.owner-profile-card h3{
  margin:0 0 8px;
  color:#147f8f;
  font-size:26px;
  line-height:1.45;
}
.owner-title{
  margin:0 0 22px;
  color:#df8b73;
  font-size:14px;
  line-height:1.8;
}
.owner-badges{
  display:grid;
  gap:12px;
  padding:0;
  margin:0;
  list-style:none;
  text-align:left;
}
.owner-badges li{
  padding:12px 16px;
  border-radius:999px;
  background:#eaf6f8;
  color:#51473f;
  font-weight:700;
  line-height:1.5;
}
.owner-message-card{
  padding:40px;
}
.owner-hook{
  margin:0 0 8px;
  color:#df8b73;
  font-size:20px;
  font-weight:700;
  line-height:1.7;
}
.owner-message-card h3{
  margin:0 0 24px;
  color:#147f8f;
  font-size:clamp(26px,3vw,36px);
  line-height:1.55;
}
.owner-message-card p{
  margin:0 0 18px;
  color:#51473f;
  font-size:17px;
  line-height:2.15;
}
.owner-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.owner-links a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid #b9dde2;
  color:#147f8f;
  font-size:14px;
  font-weight:700;
  background:#fffdf9;
}
.acknowledgment-section{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);
  gap:38px;
  align-items:center;
  margin:0 0 34px;
  padding:42px;
  border:1px solid #eadfce;
  border-radius:30px;
  background:
    radial-gradient(circle at 96% 12%,rgba(223,139,115,.12),transparent 18%),
    linear-gradient(135deg,#fffdf9 0%,#fbf5ea 68%,#fff2e8 100%);
  box-shadow:0 16px 34px rgba(90,70,50,.06);
}
.acknowledgment-visual{
  margin:0;
  overflow:hidden;
  border:1px solid #eadfce;
  border-radius:26px;
  background:#fffdf9;
  box-shadow:0 12px 28px rgba(90,70,50,.06);
}
.acknowledgment-visual img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.acknowledgment-kicker{
  margin:0 0 10px;
  color:#df8b73;
  font-size:14px;
  font-weight:700;
  letter-spacing:.18em;
}
.acknowledgment-copy h2{
  margin:0 0 18px;
  color:#51473f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP","Noto Serif CJK JP",serif;
  font-size:clamp(34px,4vw,54px);
  font-weight:600;
  line-height:1.35;
}
.acknowledgment-copy p:not(.acknowledgment-kicker){
  max-width:34em;
  margin:0 0 14px;
  color:#51473f;
  font-size:clamp(17px,1.35vw,22px);
  line-height:2.05;
}
.acknowledgment-copy strong{
  color:#2f644d;
  font-weight:700;
}
.acknowledgment-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  margin-top:8px;
  padding:0 28px;
  border:1px solid #efd8a4;
  border-radius:999px;
  background:#fffdf9;
  color:#9a7434;
  font-weight:700;
  white-space:nowrap;
}
@media(max-width:760px){
  .acknowledgment-section{
    grid-template-columns:1fr;
    gap:22px;
    padding:26px 20px;
    border-radius:24px;
  }
  .acknowledgment-copy h2{
    font-size:clamp(30px,8vw,38px);
  }
  .acknowledgment-copy p:not(.acknowledgment-kicker){
    font-size:16px;
    line-height:2;
  }
  .acknowledgment-link{
    width:100%;
    white-space:normal;
  }
}
.acknowledgments-page{
  background:#fbf8f2;
  color:#51473f;
}
.acknowledgment-page-wrap{
  width:min(calc(100vw - 48px), calc((100vh - 170px) * 1.777), 1672px);
  max-width:none;
  margin:0 auto;
  padding:56px 0 96px;
}
.acknowledgment-page-hero{
  display:grid;
  grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr);
  gap:48px;
  align-items:center;
  padding:48px;
  border:1px solid #eadfce;
  border-radius:34px;
  background:
    radial-gradient(circle at 94% 10%,rgba(210,123,95,.11),transparent 20%),
    radial-gradient(circle at 6% 92%,rgba(92,125,83,.08),transparent 24%),
    linear-gradient(135deg,#fffdf9 0%,#fbf5ea 72%,#fff8ef 100%);
  box-shadow:0 16px 34px rgba(90,70,50,.06);
}
.acknowledgment-page-photo{
  margin:0;
}
.acknowledgment-page-photo img{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border:1px solid #eadfce;
  border-radius:28px;
  box-shadow:0 12px 28px rgba(90,70,50,.06);
}
.acknowledgment-page-photo figcaption{
  margin-top:12px;
  color:#7b6f64;
  font-size:14px;
  line-height:1.8;
  line-break:strict;
  overflow-wrap:normal;
  word-break:auto-phrase;
}
.acknowledgment-page-copy h1{
  margin:0 0 22px;
  color:#51473f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP","Noto Serif CJK JP",serif;
  font-size:clamp(42px,5vw,68px);
  font-weight:600;
  line-height:1.35;
  letter-spacing:.04em;
}
.acknowledgment-page-copy p:not(.acknowledgment-kicker){
  max-width:34em;
  margin:0 0 18px;
  color:#51473f;
  font-size:clamp(18px,1.45vw,24px);
  line-height:2.05;
  line-break:strict;
  overflow-wrap:normal;
  word-break:auto-phrase;
  text-wrap:pretty;
}
.acknowledgment-page-sublead{
  color:#7b6f64 !important;
  font-size:clamp(17px,1.25vw,21px) !important;
}
.acknowledgment-page-copy strong{
  color:#2f644d;
  font-weight:700;
}
.acknowledgment-page-section{
  margin-top:30px;
  padding:42px 48px;
  border:1px solid #eadfce;
  border-radius:30px;
  background:linear-gradient(180deg,#fffdf9,#f8f3ea);
  box-shadow:0 10px 24px rgba(90,70,50,.04);
}
.acknowledgment-page-section h2{
  margin:0 0 20px;
  color:#51473f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP","Noto Serif CJK JP",serif;
  font-size:clamp(30px,3vw,44px);
  font-weight:500;
  line-height:1.45;
}
.acknowledgment-page-section p{
  max-width:58em;
  margin:0 0 16px;
  color:#62584f;
  font-size:clamp(17px,1.2vw,21px);
  line-height:2.1;
  line-break:strict;
  overflow-wrap:normal;
  word-break:auto-phrase;
  text-wrap:pretty;
}
.acknowledgments-page .no-break{
  display:inline-block;
  white-space:nowrap;
}
.acknowledgment-page-section strong{
  color:#2f644d;
  font-weight:700;
}
.acknowledgment-page-position{
  color:#b87838 !important;
  font-weight:700;
}
.acknowledgment-page-name{
  color:#2f644d !important;
  font-size:clamp(20px,1.5vw,26px) !important;
  line-height:1.8 !important;
}
.acknowledgment-page-thanks{
  color:#2f644d !important;
  font-size:clamp(20px,1.5vw,26px) !important;
  line-height:1.8 !important;
}
.acknowledgment-page-sign{
  color:#7b6f64 !important;
  font-size:clamp(15px,1vw,18px) !important;
}
.acknowledgment-page-actions{
  margin-top:28px;
}
@media(max-width:760px){
  .acknowledgment-page-wrap{
    width:auto;
    padding:28px 16px 72px;
  }
  .acknowledgment-page-hero{
    grid-template-columns:1fr;
    gap:24px;
    padding:24px 20px;
    border-radius:24px;
  }
  .acknowledgment-page-section{
    padding:28px 20px;
    border-radius:24px;
  }
  .acknowledgment-page-copy h1{
    font-size:clamp(34px,9vw,44px);
  }
  .acknowledgment-page-copy p:not(.acknowledgment-kicker),
  .acknowledgment-page-section p{
    font-size:16px;
    line-height:2;
  }
}
.events-page h1,.events-page h2,.events-page h3,.event-fit-item span,.event-fit-item strong,.event-safe-item strong,.event-story-tag,.event-story-copy h3,.event-story-copy p,.event-next-box strong,.event-story-link,.event-listener-note{
  line-break:strict;
  overflow-wrap:normal;
  word-break:auto-phrase;
  text-wrap:balance;
}
.event-firstview p{
  line-break:strict;
  overflow-wrap:normal;
  word-break:auto-phrase;
}
.event-copy-line{
  display:block;
}
.event-title-line{
  display:block;
  white-space:nowrap;
}
.event-fit-item.regular,
.event-type-card.regular,
.event-story-card.regular,
.upcoming-event-card.regular{
  --event-color:#4b8f36;
  --event-soft:#edf8e7;
  --event-border:#b9dcae;
}
.event-fit-item.guest,
.event-type-card.guest,
.event-story-card.guest,
.upcoming-event-card.guest{
  --event-color:#e85f2f;
  --event-soft:#fff1e4;
  --event-border:#f2a37f;
}
.event-fit-item.fire,
.event-type-card.fire,
.event-story-card.fire,
.upcoming-event-card.fire{
  --event-color:#b98400;
  --event-soft:#fff7d8;
  --event-border:#e7c76d;
}
.event-fit-item.onsite,
.event-type-card.onsite,
.event-story-card.onsite,
.upcoming-event-card.onsite{
  --event-color:#006faa;
  --event-soft:#e6f5fb;
  --event-border:#8ccbe8;
}
.upcoming-events-page .upcoming-event-card.regular{
  --event-color:#4b8f36;
  --event-soft:#edf8e7;
  --event-border:#b9dcae;
}
.upcoming-events-page .upcoming-event-card.guest{
  --event-color:#d94a2e;
  --event-soft:#fff1e6;
  --event-border:#ee9a75;
}
.upcoming-events-page .upcoming-event-card.fire{
  --event-color:#b98400;
  --event-soft:#fff7d8;
  --event-border:#e7c76d;
}
.upcoming-events-page .upcoming-event-card.onsite{
  --event-color:#007c89;
  --event-soft:#e7f6f7;
  --event-border:#89d0d6;
}
.event-fit-item{
  grid-template-columns:minmax(0,1fr) max-content max-content;
  background:var(--event-soft,#fbf7ef);
  border-color:var(--event-border,#eadfce);
}
.event-fit-item:hover,
.event-fit-item:focus-visible{
  border-color:var(--event-color);
}
.event-fit-item:focus-visible{
  outline:3px solid color-mix(in srgb,var(--event-color) 42%,white);
  outline-offset:4px;
}
.event-fit-item .event-fit-copy{
  grid-column:1;
  grid-row:1;
  padding-left:28px;
}
.event-fit-item .event-fit-button{
  grid-column:3;
  grid-row:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:168px;
  min-height:44px;
  padding:0 18px;
  border-radius:999px;
  background:var(--event-color);
  color:#fffdf8;
  font-size:15px;
  font-weight:700;
  line-height:1.4;
  letter-spacing:0;
  text-align:center;
  box-shadow:0 8px 18px color-mix(in srgb,var(--event-color) 24%,transparent);
}
.event-fit-note{
  grid-column:1 / -1;
  grid-row:2;
  margin:2px 0 0 28px;
  color:#65584e;
  font-size:14px;
  line-height:1.8;
}
.event-type-section{
  background:#fffdf8;
  border:1px solid #e9dfd1;
  border-radius:28px;
  padding:32px;
  margin-bottom:30px;
  box-shadow:0 12px 28px rgba(93,72,50,.045);
}
.event-type-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.event-type-card{
  position:relative;
  padding:24px 24px 26px;
  border-radius:22px;
  background:var(--event-soft,#fbf7ef);
  border:1px solid var(--event-border,#eadfce);
}
.event-type-card::before{
  content:none;
}
.event-type-card h3{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin:0 0 14px;
  color:#51463d;
  font-family:"Noto Serif CJK JP","Yu Mincho",serif;
  font-size:clamp(22px,2vw,28px);
  font-weight:500;
  line-height:1.5;
}
.event-type-card h3::before{
  content:"";
  flex:0 0 13px;
  width:13px;
  height:13px;
  margin-top:.55em;
  border-radius:50%;
  background:var(--event-color);
}
.event-type-card p{
  margin:0;
  color:#65584e;
  font-size:16px;
  line-height:2;
}
.event-type-card p + p{
  margin-top:10px;
}
.life{
  --event-color:#c39a44;
  --event-soft:#fff7df;
  --event-border:#ead7a2;
}
.upcoming-hero .event-firstview-art img{
  object-position:center;
}
.upcoming-hero{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:36px;
}
.upcoming-hero .event-firstview-copy{
  min-width:0;
}
.upcoming-hero h1{
  font-size:clamp(36px,3.5vw,48px);
  letter-spacing:.025em;
}
.upcoming-hero .event-title-line{
  white-space:normal;
  text-wrap:balance;
}
.event-calendar-cta{
  margin-top:24px;
  padding:34px 28px;
  border:1px solid #eadfce;
  border-radius:22px;
  background:#fbf7ef;
  text-align:center;
}
.event-calendar-cta p{
  margin:0 0 22px;
  color:#65584e;
  font-size:17px;
  line-height:2;
}
.event-calendar-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:58px;
  padding:0 28px;
  border:1px solid #c98257;
  border-radius:999px;
  color:#a85f3f;
  background:#fffdf8;
  font-size:18px;
  font-weight:700;
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;
}
.event-calendar-cta a:hover{
  transform:translateY(-2px);
  color:#fffdf8;
  background:#c98257;
  box-shadow:0 12px 24px rgba(93,72,50,.12);
}
.event-calendar-cta a span{
  transition:transform .2s ease;
}
.event-calendar-cta a:hover span{
  transform:translateX(4px);
}
.upcoming-event-list{
  display:grid;
  gap:22px;
  margin-top:24px;
}
.upcoming-event-card{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:24px;
  align-items:start;
  padding:24px;
  border-radius:24px;
  color:inherit;
  text-decoration:none;
  background:var(--event-soft,#fbf7ef);
  border:1px solid var(--event-border,#eadfce);
  box-shadow:0 8px 22px rgba(93,72,50,.04);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.upcoming-event-card:hover{
  transform:translateY(-3px);
  border-color:var(--event-color);
  box-shadow:0 14px 30px rgba(93,72,50,.1);
}
.upcoming-event-card:focus-visible{
  outline:3px solid color-mix(in srgb,var(--event-color) 55%,white);
  outline-offset:4px;
}
.upcoming-event-date{
  display:grid;
  place-items:center;
  min-height:120px;
  border-radius:22px;
  color:#fffdf8;
  background:var(--event-color);
  box-shadow:0 10px 22px rgba(93,72,50,.08);
}
.upcoming-event-date span,
.upcoming-event-date small{
  font-weight:700;
  letter-spacing:.08em;
}
.upcoming-event-date strong{
  font-family:"Noto Serif CJK JP","Yu Mincho",serif;
  font-size:46px;
  line-height:1;
}
.upcoming-event-copy h3{
  margin:3px 0 12px;
  color:#51463d;
  font-family:"Noto Serif CJK JP","Yu Mincho",serif;
  font-size:clamp(25px,2.5vw,34px);
  font-weight:500;
  line-height:1.45;
}
.upcoming-event-copy p{
  margin:0 0 16px;
  color:#65584e;
  font-size:16px;
  line-height:2;
}
.upcoming-event-kind{
  margin-bottom:8px !important;
  color:var(--event-color) !important;
  font-weight:700;
  letter-spacing:.08em;
}
.upcoming-event-kind span{
  display:inline-block;
  margin-right:10px;
  padding:3px 9px;
  border:1px solid currentColor;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.06em;
}
.upcoming-event-label{
  display:block;
  margin-top:2px;
  color:#8a7b6e;
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
}
.upcoming-event-copy dl{
  display:grid;
  gap:8px;
  margin:0 0 18px;
}
.upcoming-event-copy dl div{
  display:grid;
  grid-template-columns:5em 1fr;
  gap:12px;
}
.upcoming-event-copy dt{
  color:var(--event-color);
  font-weight:700;
}
.upcoming-event-copy dd{
  margin:0;
  color:#65584e;
}
.upcoming-event-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:210px;
}
.upcoming-event-card:hover .upcoming-event-link span{
  transform:translateX(4px);
}
.upcoming-event-link span{
  transition:transform .2s ease;
}
.upcoming-empty-card{
  margin-top:24px;
  padding:28px;
  border-radius:24px;
  background:#fbf7ef;
  border:1px solid #eadfce;
}
.upcoming-empty-card h3{
  margin:0 0 12px;
  color:#51463d;
  font-family:"Noto Serif CJK JP","Yu Mincho",serif;
  font-size:clamp(24px,2.4vw,32px);
  font-weight:500;
}
.upcoming-empty-card p{
  margin:0 0 18px;
  color:#65584e;
  font-size:16px;
  line-height:2;
}
.event-fit-item span,.event-safe-item strong span{
  display:inline-block;
}
.event-story-copy h3{
  max-width:100%;
}
.event-story-copy p{
  max-width:34em;
}
.event-story-art img{
  background:#fffdf8;
  aspect-ratio:92 / 45;
  object-fit:cover;
}
.event-safe-grid{
  gap:20px;
}
.event-safe-item{
  min-height:104px;
  padding:18px 28px;
}
.event-safe-item > span{
  font-size:clamp(25px,1.9vw,34px);
  line-height:1.25;
  letter-spacing:.08em;
  margin-bottom:10px;
}
.event-safe-item strong{
  display:block;
  font-size:clamp(25px,1.9vw,34px);
  line-height:1.58;
  letter-spacing:.05em;
}
.event-safe-item strong span{
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  margin-bottom:0;
}
.event-firstview-art{
  padding:0;
  overflow:hidden;
}
.event-firstview-art img{
  height:100%;
  object-fit:cover;
  border-radius:28px;
}
@media(max-width:760px){
  .kv-copy h1{font-size:clamp(38px,12vw,52px)}
  .kv-copy .subhead{font-size:clamp(21px,6vw,24px);line-height:1.7}
  .story-card,.story-card.reverse{padding:22px}
  .story-copy h2{font-size:clamp(28px,8vw,32px)}
  .reason-title{font-size:clamp(30px,8vw,36px)}
  .reason-card h3,.step-card h3{font-size:clamp(22px,6vw,24px)}
  .event-copy-line{display:inline}
  .event-fit-item{grid-template-columns:1fr}
  .event-fit-item span,.event-fit-item strong{grid-column:1}
  .event-fit-item strong{grid-row:2;padding-left:28px;justify-self:start}
  .event-fit-item .event-fit-button{
    grid-column:1;
    grid-row:3;
    width:100%;
    margin-top:8px;
  }
  .event-fit-note{
    grid-column:1;
    grid-row:4;
    margin-left:28px;
  }
  .event-type-section{border-radius:22px;padding:22px}
  .event-type-grid{grid-template-columns:1fr}
  .event-type-card{padding:22px 20px}
  .event-calendar-cta{padding:26px 18px}
  .event-calendar-cta a{width:100%;padding:0 18px}
  .upcoming-event-card{grid-template-columns:1fr;padding:20px}
  .upcoming-event-date{width:112px;min-height:112px}
  .upcoming-event-copy dl div{grid-template-columns:1fr;gap:2px}
  .upcoming-empty-card{padding:22px 20px}
  .event-story-copy p{max-width:none}
  .owner-story-section{padding:30px 18px;border-radius:24px}
  .owner-story-grid{grid-template-columns:1fr;gap:20px}
  .owner-profile-card,.owner-message-card{border-radius:24px}
  .owner-message-card{padding:28px 22px}
  .owner-message-card p{font-size:16px;line-height:2}
}

@media(max-width:900px){
  .upcoming-hero{
    grid-template-columns:1fr;
    gap:24px;
  }
}

@media(max-width:760px){
  .k-page .story-card,
  .k-page .story-card.reverse{
    grid-template-columns:minmax(0,1fr);
    min-width:0;
    padding:22px;
  }
  .k-page .story-copy,
  .k-page .story-art{
    min-width:0;
  }
}

/* かたらいふページを、トップページと同じ水彩の読み物らしい世界観に整えます。 */
.kataralife-page .k-page{
  width:calc(100% - 48px);
  max-width:1672px;
  padding:24px 0 96px;
}
.kataralife-page .kv-hero{
  min-height:clamp(540px,48vw,800px);
  border:1px solid #e5d9c5;
  border-radius:8px;
  background:#fffaf1;
  box-shadow:none;
}
.kataralife-page .kv-art img{
  object-position:center;
  transform:none;
}
.kataralife-page .kv-copy{
  left:5.5%;
  width:38%;
  max-width:590px;
}
.kataralife-page .kv-copy .eyebrow{
  color:#bd7652;
  font-size:16px;
}
.kataralife-page .kv-copy h1{
  color:#4e463d;
  font-size:clamp(48px,4.2vw,72px);
}
.kataralife-page .kv-copy h1::after{
  background:#c98257;
}
.kataralife-page .kv-copy .subhead{
  color:#315f48;
  font-size:clamp(18px,1.35vw,23px);
  line-height:1.85;
}
.kataralife-page .flow-section{
  gap:0;
  margin-top:64px;
  overflow:hidden;
  border-top:1px solid #e5d9c5;
  border-bottom:1px solid #e5d9c5;
}
.kataralife-page .story-card,
.kataralife-page .story-card.reverse{
  grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);
  gap:clamp(48px,6vw,96px);
  padding:clamp(56px,6vw,92px);
  border:0;
  border-bottom:1px solid #e5d9c5;
  border-radius:0;
  background:#fffdf8;
  box-shadow:none;
}
.kataralife-page .story-card:last-child{
  border-bottom:0;
}
.kataralife-page .story-card:nth-child(2){
  background:#f2f5ec;
}
.kataralife-page .story-card:nth-child(3){
  background:#fff5ec;
}
.kataralife-page .story-card.reverse .story-art{
  order:1;
}
.kataralife-page .story-card.reverse .story-copy{
  order:2;
}
.kataralife-page .story-copy h2,
.kataralife-page .reason-title{
  color:#4e463d;
  font-size:clamp(36px,3vw,52px);
  line-height:1.5;
}
.kataralife-page .story-copy p,
.kataralife-page .reason-card p,
.kataralife-page .doctor-panel p,
.kataralife-page .center-cta p{
  color:#5d554c;
  font-size:clamp(18px,1.3vw,22px);
  line-height:2;
}
.kataralife-page .story-art img{
  max-height:480px;
  border:0;
  border-radius:8px;
  background:#fffaf1;
}
.kataralife-page .app-ribbon{
  border-color:#d8c9aa;
  color:#8f693f;
  background:#fff9ec;
}
.kataralife-page .store-btn,
.kataralife-page .store-btn.light,
.kataralife-page .cta-outline{
  min-height:54px;
  border-color:#9fb49d;
  color:#315f48;
  background:#fffdf8;
}
.kataralife-page .reason-wrap{
  margin-top:64px;
  padding:clamp(56px,6vw,92px);
  border:0;
  border-radius:0;
  background:#f3f0e5;
  box-shadow:none;
}
.kataralife-page .reason-grid{
  gap:0;
  border-top:1px solid #d9cfbd;
  border-left:1px solid #d9cfbd;
}
.kataralife-page .reason-card{
  padding:clamp(28px,3vw,42px);
  border:0;
  border-right:1px solid #d9cfbd;
  border-bottom:1px solid #d9cfbd;
  border-radius:0;
  background:rgba(255,253,248,.64);
  box-shadow:none;
}
.kataralife-page .reason-card .icon{
  width:48px;
  height:48px;
  border-radius:50%;
  color:#315f48;
  background:#edf2e7;
}
.kataralife-page .reason-card h3{
  color:#315f48;
  font-size:clamp(27px,2.1vw,34px);
}
.kataralife-page .flow-section:last-of-type .story-card{
  background:#fff8ee;
}
.kataralife-page .flow-section:last-of-type .story-art{
  padding:20px;
  border:0;
  border-radius:8px;
  background:#fffdf8;
}
.kataralife-page .center-cta{
  margin-top:0;
  padding:52px 28px 64px;
  border:0;
  border-radius:0;
  background:#fffdf8;
}
.kataralife-page :is(h1,h2,h3,h4,p,a,summary,span){
  word-break:auto-phrase;
  overflow-wrap:normal;
  line-break:strict;
}
.kataralife-page :is(h1,h2,h3,h4){
  text-wrap:balance;
}
.kataralife-page p{
  text-wrap:pretty;
}

@media(max-width:900px){
  .kataralife-page .k-page{
    width:calc(100% - 28px);
    padding:14px 0 72px;
  }
  .kataralife-page .kv-hero{
    min-height:0;
    border-radius:8px;
  }
  .kataralife-page .kv-art{
    order:1;
    height:auto;
    aspect-ratio:4 / 3;
  }
  .kataralife-page .kv-art img{
    object-position:66% center;
  }
  .kataralife-page .kv-copy{
    order:2;
    width:auto;
    max-width:none;
    padding:34px 26px 38px;
    background:#fffaf1;
  }
  .kataralife-page .kv-copy h1{
    font-size:clamp(42px,11vw,58px);
  }
  .kataralife-page .flow-section{
    margin-top:32px;
  }
  .kataralife-page .story-card,
  .kataralife-page .story-card.reverse{
    grid-template-columns:1fr;
    gap:28px;
    padding:42px 24px;
  }
  .kataralife-page .story-card.reverse .story-copy,
  .kataralife-page .story-card.reverse .story-art{
    order:initial;
  }
  .kataralife-page .story-copy h2,
  .kataralife-page .reason-title{
    font-size:clamp(31px,8vw,42px);
  }
  .kataralife-page .story-copy p,
  .kataralife-page .reason-card p,
  .kataralife-page .doctor-panel p,
  .kataralife-page .center-cta p{
    font-size:17px;
    line-height:1.95;
  }
  .kataralife-page .reason-wrap{
    margin-top:32px;
    padding:44px 20px;
  }
  .kataralife-page .reason-grid{
    grid-template-columns:1fr;
  }
  .kataralife-page .center-cta{
    padding:40px 22px 48px;
  }
}

@media(max-width:560px){
  .kataralife-page .kv-art{
    aspect-ratio:1 / 1;
  }
  .kataralife-page .kv-art img{
    object-position:70% center;
  }
  .kataralife-page .story-card,
  .kataralife-page .story-card.reverse{
    padding:38px 20px;
  }
  .kataralife-page .story-art img{
    aspect-ratio:4 / 3;
  }
  .kataralife-page .app-actions{
    display:grid;
    grid-template-columns:1fr;
  }
}

/* トップページの色と見出しを、生成り・深いグリーン・くすみオレンジで落ち着かせます。 */
body{
  --deep-green:#2f5f45;
  --soft-green:#6f8f70;
  --charcoal-brown:#4e463d;
  --muted-orange:#c98257;
  --warm-paper:#fffaf1;
  --warm-paper-2:#f6efe3;
  --soft-line:#e7d9c5;
}
main{
  color:var(--charcoal-brown);
}
.intro-panel,.section-box,.owner-story-section{
  background:linear-gradient(180deg,var(--warm-paper),var(--warm-paper-2));
  border-color:var(--soft-line);
}
.intro-panel h1,.section-box h2,.owner-story-heading h2{
  color:var(--charcoal-brown);
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;
  font-weight:500;
  letter-spacing:.03em;
}
.intro-panel h1{
  font-size:clamp(34px,3.4vw,48px);
  line-height:1.75;
}
.intro-body{
  width:min(1180px,100%);
  margin:0 auto;
}
.intro-text{
  min-width:0;
}
.intro-panel .lead{
  width:100%;
  max-width:46em;
  margin-left:auto;
  margin-right:auto;
  text-align:left;
  font-size:clamp(18px,1.45vw,22px);
  line-height:2.05;
}
.intro-spot-art{
  width:300px;
  margin:0 auto 10px;
}
.intro-spot-art img{
  display:block;
  width:100%;
  height:auto;
}
.section-box h2,.owner-story-heading h2{
  font-size:clamp(38px,3.5vw,54px);
  line-height:1.55;
}
.info-card h3,.value-card h3,.owner-profile-card h3,.owner-message-card h3{
  color:var(--deep-green);
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;
  font-weight:600;
  letter-spacing:.02em;
}
.info-card .meta,.owner-story-heading p,.owner-title,.owner-hook{
  color:var(--muted-orange);
}
.owner-story-section{
  padding:58px 52px;
}
.owner-story-heading{
  margin-bottom:36px;
}
.owner-story-grid{
  grid-template-columns:500px minmax(0,1fr);
  gap:40px;
}
.owner-profile-card{
  padding:44px 38px;
}
.owner-message-card{
  padding:48px 56px;
}
.owner-message-card h3{
  max-width:none;
  font-size:clamp(32px,2.75vw,44px);
  line-height:1.65;
  text-wrap:balance;
}
.owner-message-card h3 span{
  display:inline-block;
}
.owner-hook{
  font-size:clamp(18px,1.35vw,23px);
  line-height:1.8;
}
.owner-message-card p{
  max-width:54em;
  font-size:clamp(18px,1.18vw,21px);
  line-height:2.08;
}
.owner-profile-card h3{
  font-size:clamp(34px,2.6vw,44px);
}
.owner-title{
  font-size:clamp(18px,1.3vw,22px);
  line-height:1.8;
}
.owner-photo{
  width:180px;
  height:180px;
  margin-bottom:28px;
}
.owner-badges li{
  background:#f3eee3;
  color:var(--charcoal-brown);
  font-size:clamp(18px,1.1vw,22px);
  line-height:1.55;
  padding:14px 20px;
  text-align:center;
  white-space:nowrap;
}
.owner-links a,.cta-outline,.pill-btn.accent{
  border-color:#c9d2b5;
  color:var(--deep-green);
}
.pill-btn,.owner-links a{
  background:#fff8ea;
  border-color:#e6cfaa;
  color:#8b6538;
}
.value-card .icon{
  background:#e8eddd;
  color:var(--deep-green);
}
.value-card:nth-child(2) .icon{
  background:#f3e1d3;
  color:var(--muted-orange);
}
.value-card:nth-child(3) .icon{
  background:#eef0dc;
  color:var(--soft-green);
}
.entry-section{
  margin:32px 0 28px;
  padding:34px;
  border-radius:30px;
  background:linear-gradient(180deg,var(--warm-paper),var(--warm-paper-2));
  border:1px solid var(--soft-line);
  box-shadow:0 10px 24px rgba(90,70,50,.04);
}
.entry-heading{
  text-align:center;
  margin-bottom:24px;
}
.entry-heading p{
  margin:0 0 8px;
  color:var(--muted-orange);
  font-size:13px;
  font-weight:700;
  letter-spacing:.16em;
}
.entry-heading h2{
  margin:0;
  color:var(--charcoal-brown);
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;
  font-size:clamp(30px,3.2vw,40px);
  font-weight:500;
  line-height:1.55;
}
.entry-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.entry-card{
  display:grid;
  grid-template-columns:minmax(260px,44%) 1fr;
  align-items:center;
  gap:26px;
  overflow:hidden;
  border-radius:26px;
  background:#fffdf9;
  border:1px solid var(--soft-line);
  box-shadow:0 14px 30px rgba(90,70,50,.055);
  transition:transform .22s ease,box-shadow .22s ease;
  padding:26px;
}
.entry-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 34px rgba(90,70,50,.11);
}
.entry-visual{
  display:grid;
  place-items:center;
  min-height:230px;
  border-radius:22px;
  background:linear-gradient(180deg,#fffaf1,#f8f0e3);
  border:1px solid #efe1cf;
  overflow:hidden;
  padding:14px;
}
.entry-visual img{
  width:100%;
  height:auto;
  max-height:220px;
  object-fit:contain;
  object-position:center;
}
.entry-copy h3{
  margin:0 0 10px;
  color:var(--deep-green);
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;
  font-size:clamp(26px,2.8vw,34px);
  font-weight:600;
  line-height:1.45;
}
.entry-copy p{
  margin:0 0 16px;
  color:#655b50;
  font-size:16px;
  line-height:2;
  max-width:22em;
}
.entry-copy span{
  display:inline-flex;
  align-items:center;
  color:var(--deep-green);
  font-weight:700;
  letter-spacing:.04em;
  border-bottom:1px solid currentColor;
}
.join-section{
  margin:34px 0 34px;
  padding:58px 48px 50px;
  border-radius:28px;
  background:
    radial-gradient(circle at 18% 12%, rgba(218,235,224,.55), transparent 25%),
    radial-gradient(circle at 84% 18%, rgba(238,206,180,.44), transparent 28%),
    linear-gradient(180deg,#fffaf1,#f7efe4);
  border:1px solid var(--soft-line);
  box-shadow:0 12px 26px rgba(90,70,50,.04);
}
.join-heading{
  max-width:960px;
  margin:0 auto 42px;
  text-align:center;
}
.join-heading > p:first-child{
  margin:0 0 8px;
  color:#c98257;
  font-size:15px;
  font-weight:700;
  letter-spacing:.24em;
}
.join-heading h2{
  margin:0;
  color:#4e463d;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;
  font-size:clamp(40px,3.9vw,58px);
  font-weight:500;
  line-height:1.45;
  letter-spacing:.04em;
}
.join-heading > p:last-child{
  width:min(900px,100%);
  margin:12px auto 0;
  color:#756a60;
  font-size:clamp(18px,1.25vw,21px);
  line-height:1.9;
  text-align:center;
}
.join-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
}
.join-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:22px 22px 34px;
  overflow:hidden;
  border-radius:24px;
  background:rgba(255,253,248,.9);
  border:1px solid #e5d8c6;
  box-shadow:0 10px 22px rgba(90,70,50,.045);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.join-card:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--join-color) 42%,#e5d8c6);
  box-shadow:0 16px 30px rgba(90,70,50,.08);
}
.join-art{
  display:grid;
  place-items:center;
  min-height:250px;
  margin-bottom:24px;
  overflow:hidden;
  border-radius:18px;
  background:
    radial-gradient(circle at 22% 18%, color-mix(in srgb,var(--join-color) 12%, transparent), transparent 30%),
    linear-gradient(180deg,#fffdf8,#fbf4e8);
  border:1px solid #eadfce;
}
.join-art img{
  display:block;
  width:100%;
  height:250px;
  object-fit:cover;
}
.join-card-body{
  display:flex;
  flex:1;
  flex-direction:column;
  width:fit-content;
  max-width:100%;
  align-self:center;
  align-items:flex-start;
}
.join-label{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  margin-bottom:16px;
  padding:0 16px;
  border-radius:999px;
  color:color-mix(in srgb,var(--join-color) 72%,#4e463d);
  background:color-mix(in srgb,var(--join-color) 9%,#fffaf1);
  border:1px solid color-mix(in srgb,var(--join-color) 28%,#eadfce);
  font-size:15px;
  font-weight:700;
  letter-spacing:.08em;
}
.join-card h3{
  margin:0 0 16px;
  width:fit-content;
  max-width:100%;
  text-align:left;
  color:#2f5f45;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;
  font-size:clamp(29px,2.25vw,38px);
  font-weight:600;
  line-height:1.55;
  letter-spacing:.02em;
}
.join-title-line{
  display:block;
  white-space:nowrap;
}
.join-card p{
  margin:0 0 34px;
  color:#655b50;
  font-size:clamp(17px,1.2vw,20px);
  line-height:2.05;
}
.join-button{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:50px;
  width:max-content;
  max-width:100%;
  box-sizing:border-box;
  padding:0 22px 1px;
  border-radius:999px;
  color:color-mix(in srgb,var(--join-color) 82%,#3f332d);
  background:rgba(255,253,248,.78);
  border:1px solid color-mix(in srgb,var(--join-color) 42%,#eadfce);
  font-size:18px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.35;
}
.join-button span{
  transition:transform .22s ease;
}
.join-card:hover .join-button span{
  transform:translateX(4px);
}
.join-card-peach{--join-color:#d9826f}
.join-card-teal{--join-color:#4f8f86}
.join-card-line{--join-color:#7f9b65}
@media(max-width:760px){
  .intro-panel h1{
    font-size:clamp(28px,8vw,36px);
    line-height:1.75;
  }
  .owner-story-section{
    padding:28px 18px;
  }
  .owner-story-grid{
    grid-template-columns:1fr;
  }
  .owner-message-card{
    padding:28px 22px;
  }
  .owner-message-card h3{
    font-size:clamp(23px,6.4vw,28px);
  }
  .entry-section{
    padding:22px 16px;
  }
  .entry-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .entry-card{
    grid-template-columns:1fr;
    gap:14px;
    padding:20px;
  }
  .entry-visual{
    min-height:210px;
  }
  .entry-visual img{
    max-height:200px;
  }
  .join-section{
    padding:32px 18px;
  }
  .join-heading h2{
    font-size:clamp(32px,9vw,42px);
  }
  .join-grid{
    grid-template-columns:1fr;
  }
  .join-card{
    min-height:auto;
    padding:30px 24px 26px;
  }
  .join-card h3{
    font-size:clamp(30px,9vw,38px);
    line-height:1.45;
  }
}

.app-ribbon{
  display:inline-block;
  margin-bottom:14px;
  padding:8px 14px;
  border-radius:999px;
  color:#fff;
  background:#c98257;
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
}
.reason-detail{
  padding:0;
}
.reason-detail summary{
  list-style:none;
  padding:22px 20px;
}
.reason-detail summary::-webkit-details-marker{
  display:none;
}
.reason-detail summary span{
  display:inline-flex;
  margin-top:14px;
  color:#c98257;
  font-size:13px;
  font-weight:700;
  border-bottom:1px solid currentColor;
}
.reason-detail[open]{
  grid-column:1 / -1;
}
.doctor-panel{
  margin:0 20px 22px;
  padding:24px;
  border-radius:22px;
  background:#fffaf1;
  border:1px solid #e6d8c6;
}
.doctor-panel h4{
  margin:0 0 8px;
  color:#2f5f45;
  font-size:24px;
  line-height:1.5;
}
.doctor-title{
  color:#c98257!important;
  font-weight:700;
}
.doctor-panel a{
  display:inline-flex;
  margin-top:10px;
  color:#2f5f45;
  font-weight:700;
  border-bottom:1px solid currentColor;
}
.step-flow.compact{
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:0 20px 22px;
}
.step-flow.compact .step-card{
  border-style:solid;
}
.archive-detail{
  margin-top:14px;
  border-top:1px solid #eadfce;
}
.archive-detail summary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  margin-top:12px;
  padding:0 16px;
  border-radius:999px;
  background:#fff8ed;
  border:1px solid #d9c5a0;
  color:#9a7434;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  list-style:none;
}
.archive-detail summary::-webkit-details-marker{
  display:none;
}
.archive-detail summary span{
  display:inline-block;
  transition:transform .22s ease;
}
.archive-detail[open] summary span{
  transform:rotate(180deg);
}
.archive-detail p{
  margin:14px 0 0!important;
  padding-left:2px;
}
.archive-notice-card{
  border-color:#ead7c6;
}
.archive-notice-label{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  margin:0 0 8px;
  padding:0 11px;
  border-radius:999px;
  background:#c98257;
  color:#fffdf8;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
}
.archive-detail p + p{
  margin-top:14px!important;
}
.archive-detail strong{
  font-weight:800;
}
.report-copy h3,
.archive-detail h3{
  margin:28px 0 12px;
  color:#2f5f45;
  font-family:"Noto Serif CJK JP","Yu Mincho",serif;
  font-size:clamp(19px,1.7vw,24px);
  font-weight:600;
  line-height:1.65;
}
.report-resources{
  margin-top:30px;
  padding:22px;
  border:1px solid #eadfce;
  border-radius:18px;
  background:#fff8ed;
}
.report-resources + .report-resources{
  margin-top:16px;
}
.report-resources h3{
  margin:0 0 12px;
}
.report-resources ul{
  margin:0;
  padding-left:1.25em;
}
.report-resources li + li{
  margin-top:10px;
}
.report-resources a{
  color:#2f5f45;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:#a8bea9;
  text-underline-offset:4px;
}
.report-resources a:hover{
  color:#9a7434;
}
.archive-extra-images{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.archive-extra-images img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:16px;
  border:1px solid #eadfce;
  background:#fbf7ef;
}
.report-feed-page{
  background:#fbf7ef;
}
.report-feed-wrap{
  max-width:960px;
  padding-top:48px;
}
.report-feed-breadcrumb{
  margin-bottom:28px;
}
.report-feed-intro{
  margin:0 0 44px;
  text-align:center;
}
.report-feed-intro .report-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
  color:#b9823d;
  font-size:13px;
  font-weight:700;
  letter-spacing:.2em;
}
.report-feed-intro h1{
  margin:0 0 12px;
  color:#0f6f77;
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  font-size:clamp(34px,4.2vw,54px);
  font-weight:800;
  line-height:1.25;
  letter-spacing:0;
}
.report-feed-intro > p:not(.report-kicker){
  margin:0;
  color:#7a7068;
  font-size:16px;
  line-height:1.8;
}
.report-feed-count{
  margin-top:16px!important;
  background:#e6f5f1;
  border-color:#bfe0d8;
  color:#0f6f77;
}
.report-feed-count strong{
  color:#0f6f77;
}
.report-feed-list{
  display:grid;
  gap:22px;
}
.report-feed-card{
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(140,203,232,.55);
  border-radius:24px;
  box-shadow:0 14px 32px rgba(60,82,74,.08);
  transition:transform .22s ease,box-shadow .22s ease;
}
.report-feed-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(60,82,74,.13);
}
.report-feed-card.is-notice{
  border-color:rgba(201,130,87,.46);
}
.report-feed-head{
  display:grid;
  grid-template-columns:minmax(260px,2fr) minmax(0,3fr);
}
.report-feed-head.no-thumb{
  grid-template-columns:1fr;
}
.report-feed-thumb{
  display:flex;
  align-items:center;
  background:#e6f5f1;
}
.report-feed-thumb img,
.report-feed-images img{
  display:block;
  width:100%;
  height:auto;
}
.report-feed-title{
  display:flex;
  min-width:0;
  flex-direction:column;
  justify-content:center;
  padding:24px;
}
.report-feed-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}
.report-feed-meta time{
  color:#8a8178;
  font-size:13px;
}
.report-feed-notice-label{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 10px;
  border-radius:999px;
  background:#c98257;
  color:#fff;
  font-size:11px;
  font-weight:800;
}
.report-feed-title h2{
  margin:0;
  color:#0f6f77;
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  font-size:clamp(18px,2vw,22px);
  font-weight:800;
  line-height:1.6;
  letter-spacing:0;
}
.report-feed-body{
  display:block;
  border-top:1px solid rgba(140,203,232,.38);
}
.report-feed-body-split{
  display:grid;
  grid-template-columns:minmax(260px,2fr) minmax(0,3fr);
}
.report-feed-images{
  background:#fff;
  border-right:1px solid rgba(140,203,232,.38);
}
.report-feed-images img + img{
  border-top:1px solid rgba(140,203,232,.38);
}
.report-feed-text{
  padding:24px;
}
.report-feed-text p{
  margin:0;
  color:#5f554c;
  font-size:15px;
  line-height:2;
  white-space:pre-line;
}
.report-feed-text strong{
  font-weight:800;
}
.report-feed-links{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:18px;
}
.report-feed-links a{
  display:inline-flex;
  align-items:flex-start;
  gap:6px;
  width:fit-content;
  color:#0f6f77;
  font-size:14px;
  font-weight:800;
  line-height:1.6;
  overflow-wrap:anywhere;
}
.report-feed-links a:hover{
  text-decoration:underline;
}
.report-feed-links span{
  color:#2a9aa1;
}
.report-feed-footer-link{
  margin-top:36px;
}
@media(max-width:900px){
  .step-flow.compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .reason-detail[open]{
    grid-column:auto;
  }
  .step-flow.compact{
    grid-template-columns:1fr;
  }
  .report-feed-wrap{
    padding-top:32px;
  }
  .report-feed-intro{
    margin-bottom:30px;
  }
  .report-feed-head,
  .report-feed-body-split{
    grid-template-columns:1fr;
  }
  .report-feed-title,
  .report-feed-text{
    padding:20px;
  }
  .report-feed-images{
    border-right:0;
    border-bottom:1px solid rgba(140,203,232,.38);
  }
  .report-feed-title h2{
    font-size:18px;
  }
}

.home-hero{
  position:relative;
  display:block;
  left:50%;
  height:auto;
  aspect-ratio:1672 / 941;
  max-height:calc(100vh - 170px);
  min-height:0;
  width:min(calc(100vw - 48px), calc((100vh - 170px) * 1.777), 1672px);
  margin:18px 0 34px;
  transform:translateX(-50%);
  overflow:hidden;
  border-radius:26px;
  background:#fffaf1;
  border:1px solid #eadfce;
  box-shadow:0 16px 38px rgba(90,70,50,.08);
}
.home-hero-copy{
  position:absolute;
  z-index:2;
  left:6.5%;
  top:48%;
  width:38%;
  padding:0;
  transform:translateY(-50%);
}
.home-hero-copy h1{
  margin:0;
  color:#3f332d;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;
  font-size:clamp(30px,3vw,50px);
  font-weight:500;
  line-height:1.42;
  letter-spacing:.05em;
}
.home-hero-copy h1 span{
  display:block;
  white-space:nowrap;
}
.home-hero-line{
  margin:16px 0 34px;
  color:#c98257;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;
  font-size:clamp(18px,1.45vw,24px);
  line-height:1.6;
  letter-spacing:.12em;
  white-space:nowrap;
}
.home-hero-name{
  margin:0 0 14px;
  color:#3f332d;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;
  font-size:clamp(25px,2.4vw,36px);
  line-height:1.45;
  letter-spacing:.08em;
}
.home-hero-text{
  margin:0;
  color:#5c5148;
  font-size:15px;
  font-weight:700;
  line-height:2;
}
.home-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:24px;
}
.home-hero-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border-radius:10px;
  font-size:15px;
  font-weight:800;
}
.home-hero-btn.primary{
  color:#fff;
  background:#e8765f;
  box-shadow:0 10px 20px rgba(232,118,95,.18);
}
.home-hero-btn.secondary{
  color:#9a7138;
  background:rgba(255,250,241,.72);
  border:1px solid #e2bd75;
}
.home-hero-art{
  position:absolute;
  inset:0;
  z-index:1;
}
.home-hero-art img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center top;
}
.home-page main{
  padding-top:0;
}
.home-page .intro-panel{
  position:relative;
  left:50%;
  width:min(calc(100vw - 48px), calc((100vh - 170px) * 1.777), 1672px);
  max-width:none;
  box-sizing:border-box;
  transform:translateX(-50%);
}
.home-page .join-section{
  position:relative;
  left:50%;
  width:min(calc(100vw - 48px), calc((100vh - 170px) * 1.777), 1672px);
  max-width:none;
  box-sizing:border-box;
  transform:translateX(-50%);
}
.home-page .owner-story-section,
.home-page .acknowledgment-section,
.home-page .section-box,
.home-page .center-cta{
  position:relative;
  left:50%;
  width:min(calc(100vw - 48px), calc((100vh - 170px) * 1.777), 1672px);
  max-width:none;
  box-sizing:border-box;
  transform:translateX(-50%);
}
.home-page .section-box{
  padding:54px 52px;
}
.home-page .section-box > p{
  max-width:72em;
  font-size:clamp(18px,1.2vw,21px);
  line-height:2.05;
}
.home-page .grid-3,
.home-page .value-grid{
  gap:28px;
}
.home-page .info-card,
.home-page .value-card{
  padding:32px;
}
.home-page .info-card p,
.home-page .value-card p{
  font-size:clamp(17px,1.1vw,20px);
  line-height:2;
}
.faq-section h2{
  margin-bottom:14px;
}
.faq-section-lead{
  margin:0 0 30px;
  color:#746a60;
  font-size:clamp(18px,1.15vw,21px);
  line-height:2;
}
.faq-list{
  display:grid;
  gap:14px;
}
.faq-item{
  overflow:hidden;
  border:1px solid #eadfce;
  border-radius:22px;
  background:linear-gradient(180deg,#fffdf8,#fbf5ea);
  box-shadow:0 10px 20px rgba(90,70,50,.035);
}
.faq-item[open]{
  border-color:#dccbad;
  background:#fffaf1;
}
.faq-item summary{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  min-height:78px;
  padding:22px 26px;
  cursor:pointer;
  list-style:none;
}
.faq-item summary::-webkit-details-marker{
  display:none;
}
.faq-q{
  display:inline-grid;
  place-items:center;
  min-width:34px;
  width:auto;
  height:auto;
  padding:5px 10px;
  border:1px solid #ecd4c1;
  border-radius:999px;
  background:#f8eadf;
  color:#b87952;
  font-family:"Noto Sans JP","Hiragino Sans",sans-serif;
  font-size:16px;
  font-weight:700;
  line-height:1;
}
.faq-question{
  color:#4f463f;
  font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP","Noto Serif CJK JP",serif;
  font-size:clamp(20px,1.45vw,27px);
  font-weight:600;
  line-height:1.65;
  letter-spacing:.02em;
}
.faq-item summary::after{
  content:"+";
  color:#7b8f65;
  font-family:"Noto Sans JP","Hiragino Sans",sans-serif;
  font-size:30px;
  font-weight:400;
  line-height:1;
}
.faq-item[open] summary::after{
  content:"×";
  font-size:26px;
}
.faq-answer{
  padding:0 30px 28px 78px;
}
.faq-answer p{
  max-width:64em;
  margin:0;
  color:#62584f;
  font-size:clamp(17px,1.15vw,21px);
  line-height:2.05;
  text-wrap:pretty;
  word-break:auto-phrase;
  overflow-wrap:normal;
}
.faq-answer p + p{
  margin-top:14px;
}
.voices-section h2{
  margin-bottom:18px;
}
.voice-section-lead{
  max-width:42em;
  margin:0 0 30px;
  color:#746a60;
  font-size:clamp(18px,1.15vw,21px);
  line-height:2;
}
.voices-layout{
  display:grid;
  grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);
  align-items:center;
  gap:34px;
}
.voices-illustration-panel{
  margin:0;
}
.voices-illustration-panel img{
  display:block;
  width:100%;
  max-width:520px;
  aspect-ratio:1.55;
  object-fit:cover;
  object-position:center;
  border-radius:22px;
  border:1px solid #efe3d1;
  background:#fffaf2;
}
.voice-comment-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.voice-comment-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:14px;
  align-items:center;
  min-height:auto;
  padding:24px 28px;
  border:1px solid #efe3d1;
  border-radius:22px;
  background:#fffdf8;
  box-shadow:0 12px 22px rgba(90,70,50,.045);
}
.voice-comment-card p{
  margin:0;
  width:100%;
  color:#62584f;
  font-size:clamp(17px,1.1vw,20px);
  line-height:2;
}
.voice-comment-card .voice-source{
  color:#81776d;
  font-size:clamp(16px,1vw,18px);
  line-height:1.7;
}
@media(max-width:1080px){
  .voices-layout{
    grid-template-columns:1fr;
  }
  .voices-illustration-panel img{
    max-width:620px;
    margin-inline:auto;
  }
}
@media(max-width:760px){
  .faq-item summary{
    grid-template-columns:auto 1fr auto;
    gap:12px;
    min-height:78px;
    padding:20px 18px;
  }
  .faq-q{
    min-width:30px;
    padding:4px 8px;
    font-size:14px;
  }
  .faq-question{
    font-size:19px;
    line-height:1.6;
  }
  .faq-item summary::after{
    font-size:30px;
  }
  .faq-item[open] summary::after{
    font-size:25px;
  }
  .faq-answer{
    padding:0 18px 22px;
  }
  .voice-comment-card{
    padding:22px;
  }
}
.kataralife-intro-section{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);
  align-items:center;
  gap:34px;
}
.kataralife-intro-copy{
  min-width:0;
}
.kataralife-intro-copy h2{
  margin:8px 0 20px;
}
.kataralife-intro-copy p{
  max-width:72em;
  font-size:clamp(18px,1.2vw,21px);
  line-height:2.05;
}
.card-shop-kicker{
  margin:0;
  color:#b86b55;
  font-size:14px !important;
  font-weight:800;
  letter-spacing:.14em;
}
.card-shop-lead{
  margin:0 0 12px;
  color:#5f5147;
  font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(21px,1.55vw,27px) !important;
  font-weight:700;
  line-height:1.75 !important;
}
.card-edition-note{
  margin:22px 0;
  padding:16px 18px;
  border-left:4px solid #c98c73;
  border-radius:0 14px 14px 0;
  background:#fff8ef;
  color:#66594f;
  font-size:clamp(16px,1.05vw,18px) !important;
  line-height:1.9 !important;
}
.card-shop-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:24px 0 14px;
}
.card-shop-facts p{
  display:flex;
  min-width:0;
  margin:0;
  padding:16px 14px;
  flex-direction:column;
  justify-content:center;
  border:1px solid #e9dac8;
  border-radius:16px;
  background:#fffdf8;
  line-height:1.4;
}
.card-shop-facts span{
  margin-bottom:5px;
  color:#817469;
  font-size:13px;
  font-weight:700;
}
.card-shop-facts strong{
  color:#5a4b40;
  font-size:clamp(20px,1.45vw,26px);
  line-height:1.35;
}
.card-shop-facts small{
  font-size:12px;
  font-weight:500;
}
.card-shipping-note{
  margin:0 0 22px;
  color:#74685e;
  font-size:clamp(15px,1vw,17px) !important;
  line-height:1.8 !important;
}
.card-shop-actions{
  justify-content:flex-start;
  gap:12px;
}
.card-shop-actions .pill-btn{
  min-height:50px;
  text-align:center;
}
.card-shop-note{
  margin:12px 0 0;
  color:#8a7d72;
  font-size:13px !important;
  line-height:1.7 !important;
}
.kataralife-bird-scene{
  margin:0;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:320px;
}
.kataralife-bird-scene img{
  display:block;
  width:100%;
  max-width:560px;
  border-radius:24px;
  object-fit:cover;
}
.home-page .value-card h3{
  font-size:clamp(25px,1.75vw,34px);
  line-height:1.55;
}
.home-page .center-cta{
  padding:44px 24px 18px;
}
.home-page .center-cta p{
  font-size:clamp(20px,1.45vw,26px);
  line-height:1.8;
}
@media(max-width:760px){
  .home-hero{
    display:block;
    height:auto;
    aspect-ratio:auto;
    min-height:auto;
    width:100vw;
    margin:0 0 28px;
    border-radius:0;
    border:0;
    box-shadow:none;
    background:#fffaf1;
  }
  .home-page .intro-panel{
    left:auto;
    width:auto;
    max-width:none;
    transform:none;
  }
  .home-page .join-section{
    left:auto;
    width:auto;
    max-width:none;
    transform:none;
  }
  .home-page .owner-story-section,
  .home-page .acknowledgment-section,
  .home-page .section-box,
  .home-page .center-cta{
    left:auto;
    width:auto;
    max-width:none;
    transform:none;
  }
  .kataralife-intro-section{
    display:block;
  }
  .card-shop-facts{
    grid-template-columns:1fr;
  }
  .card-shop-facts p{
    padding:14px 16px;
  }
  .card-shop-actions{
    align-items:stretch;
  }
  .card-shop-actions .pill-btn{
    width:100%;
  }
  .kataralife-bird-scene{
    min-height:auto;
    margin-top:24px;
  }
  .kataralife-bird-scene img{
    max-width:100%;
    border-radius:20px;
  }
  .intro-body{
    grid-template-columns:1fr;
    gap:18px;
  }
  .intro-spot-art{
    width:min(170px,44vw);
    margin:4px auto 0;
  }
  .home-hero-art{
    position:relative;
    height:330px;
  }
  .home-hero-art img{
    object-position:center right;
  }
  .home-hero-copy{
    position:relative;
    left:auto;
    top:auto;
    width:auto;
    transform:none;
    padding:30px 22px 34px;
  }
  .home-hero-copy h1{
    font-size:clamp(32px,9vw,44px);
    line-height:1.55;
  }
  .home-hero-line{
    margin:12px 0 22px;
    font-size:clamp(18px,5.4vw,24px);
    letter-spacing:.08em;
  }
  .home-hero-actions{
    gap:10px;
  }
  .home-hero-btn{
    width:100%;
  }
}

/* 画像ヘッダーはロゴとメニューが重なるため、1200px以下では文字メニューへ切り替えます。 */
@media(max-width:1200px){
  .header-inner{
    display:none;
  }
  /* スマホでは項目を折り返して2段に並べ、縦スクロールだけで全部見えるようにします。 */
  .mobile-nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    overflow-x:visible;
    gap:12px 18px;
    padding:14px 18px;
    white-space:normal;
    font-size:14px;
    background:#f6f3ed;
  }
  .mobile-nav a{
    white-space:nowrap;
  }
}

/* iPad幅では3項目を一列に保ちつつ、文字がカードから出ない大きさにします。 */
@media(min-width:761px) and (max-width:900px){
  .event-safe-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
  }
  .event-safe-item{
    min-width:0;
    padding:16px;
  }
  .event-safe-item strong{
    font-size:clamp(18px,2.4vw,22px);
    letter-spacing:.02em;
  }
}

/* 小さな画面では、長いまとまりだけ必要に応じて自然に折り返します。 */
@media(max-width:760px){
  .owner-story-grid > *,
  .owner-profile-card,
  .owner-message-card{
    min-width:0;
    width:100%;
    max-width:100%;
  }
  .owner-profile-card{
    padding:30px 20px;
  }
  .owner-badges li{
    white-space:normal;
  }
  .owner-hook{
    overflow-wrap:anywhere;
  }
}

@media(max-width:480px){
  .faq-answer .nowrap,
  .event-recording-note .nowrap{
    white-space:normal;
  }
}

/* ホームとかたらいふのトップ画像は、同じ原寸画像サイズに合わせて表示枠もそろえます。 */
body.kataralife-page.kataralife-refresh .k-page{
  width:100%;
  max-width:none;
  padding-top:0;
}

body.kataralife-page.kataralife-refresh .kv-hero{
  position:relative;
  left:50%;
  width:min(calc(100vw - 48px), calc((100vh - 170px) * 1.777), 1672px);
  max-width:1672px;
  min-height:0;
  max-height:calc(100vh - 170px);
  aspect-ratio:1672 / 941;
  margin:18px 0 34px;
  transform:translateX(-50%);
  border-radius:26px;
  box-shadow:0 16px 38px rgba(90,70,50,.08);
}

body.kataralife-page.kataralife-refresh .kv-art img{
  object-fit:contain;
  object-position:center top;
}

body.kataralife-page.kataralife-refresh .flow-section,
body.kataralife-page.kataralife-refresh .reason-wrap,
body.kataralife-page.kataralife-refresh .card-product-section,
body.kataralife-page.kataralife-refresh .center-cta{
  width:min(calc(100vw - 48px),calc((100vh - 170px) * 1.777),1672px);
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:760px){
  body.kataralife-page.kataralife-refresh .k-page{
    padding-top:0;
  }

  body.kataralife-page.kataralife-refresh .kv-hero{
    display:block;
    left:50%;
    height:auto;
    width:100vw;
    max-width:none;
    max-height:none;
    min-height:auto;
    aspect-ratio:auto;
    margin:0 0 28px;
    transform:translateX(-50%);
    border:0;
    border-radius:0;
    box-shadow:none;
  }

  body.kataralife-page.kataralife-refresh .kv-copy{
    position:relative;
    top:auto;
    left:auto;
    width:auto;
    max-width:none;
    padding:30px 22px 34px;
    transform:none;
  }

  body.kataralife-page.kataralife-refresh .kv-art{
    position:relative;
    inset:auto;
    width:100%;
    height:330px;
    min-height:330px;
    aspect-ratio:auto;
    flex:none;
  }

  body.kataralife-page.kataralife-refresh .kv-art img{
    width:100%;
    height:100%;
  }

  body.kataralife-page.kataralife-refresh .flow-section,
  body.kataralife-page.kataralife-refresh .reason-wrap,
  body.kataralife-page.kataralife-refresh .card-product-section,
  body.kataralife-page.kataralife-refresh .center-cta{
    width:calc(100% - 24px);
  }
}

/* 全ページでヘッダーのPC用メニュー文字を同じ見た目に固定します。 */
@media(min-width:901px){
  .desktop-nav{
    left:34%!important;
    justify-content:flex-end!important;
    gap:clamp(18px,2vw,42px)!important;
    padding:0 clamp(24px,3vw,56px) 0 24px!important;
    font-size:clamp(20px,1.28vw,23px)!important;
    font-weight:600!important;
    line-height:1!important;
    letter-spacing:.03em!important;
    white-space:nowrap!important;
  }

  .desktop-nav a{
    flex:0 0 auto!important;
    min-width:max-content!important;
    font-size:inherit!important;
    font-weight:inherit!important;
    line-height:inherit!important;
    white-space:nowrap!important;
  }
}

/* かたらいふ: 各QRコードを対応するストアボタンの真上へそろえます。 */
.kataralife-page .app-download-grid{
  display:grid;
  grid-template-columns:repeat(2,162px);
  gap:18px;
  width:342px;
  max-width:100%;
  margin-top:22px;
}

.kataralife-page .app-download-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  width:162px;
}

.kataralife-page .app-qr-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  width:96px;
  min-width:0;
  padding:8px 6px 7px;
  border:1px solid #d8c9b5;
  border-radius:10px;
  background:#fffdf8;
  color:#315f48;
  text-align:center;
}

.kataralife-page .app-download-item > .store-btn{
  width:162px;
  min-width:162px;
  margin:0;
}

.kataralife-page .app-qr-card img{
  display:block;
  width:100%;
  max-width:50px;
  height:auto;
  margin:0 0 5px;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
  image-rendering:pixelated;
}

.kataralife-page .app-qr-card strong{
  color:#315f48;
  font-size:11px;
  line-height:1.45;
}

.kataralife-page .app-qr-card span{
  color:#6f655b;
  font-size:10px;
  line-height:1.45;
}

@media(max-width:760px){
  .kataralife-page .app-download-grid{
    grid-template-columns:1fr;
    gap:10px;
    width:min(220px,100%);
  }

  .kataralife-page .app-download-item{
    width:100%;
  }

  .kataralife-page .app-qr-card{
    display:none;
  }

  .kataralife-page .app-download-item > .store-btn{
    width:100%;
    min-width:0;
  }
}

/* かたらいふ: 紹介枠の間からページ本来の生成り色が見える余白を設けます。 */
body.kataralife-page.kataralife-refresh .flow-section{
  gap:0;
  overflow:visible;
  border:0;
  background:transparent;
}

body.kataralife-page.kataralife-refresh .flow-section > .story-card + .story-card{
  margin-top:30px;
}

body.kataralife-page.kataralife-refresh .story-card,
body.kataralife-page.kataralife-refresh .story-card.reverse,
body.kataralife-page.kataralife-refresh .story-card:last-child{
  border:1px solid #e5d9c5;
  border-radius:20px;
  overflow:hidden;
}

body.kataralife-page.kataralife-refresh .card-entry-card{
  background:#fffaf2;
}

body.kataralife-page.kataralife-refresh .card-entry-card .story-copy p{
  max-width:760px;
}

body.kataralife-page.kataralife-refresh .card-shop-direct{
  border-color:#d7a56f;
  background:#b36f49;
  color:#fffdf8;
}

body.kataralife-page.kataralife-refresh .center-cta{
  border:1px solid #e5d9c5;
  border-radius:20px;
  overflow:hidden;
}

/* かたらいふ: 無料アプリと区別して、実物の対話カードを案内します。 */
body.kataralife-page.kataralife-refresh .card-product-section{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  gap:38px;
  align-items:center;
  margin-top:34px;
  padding:36px;
  border:1px solid #e5d9c5;
  border-radius:20px;
  background:linear-gradient(180deg,#fffdf9,#f8f3ea);
  box-shadow:0 10px 24px rgba(90,70,50,.04);
  overflow:hidden;
}

body.kataralife-page.kataralife-refresh .card-product-copy h2{
  margin:0 0 8px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(29px,3vw,40px);
  line-height:1.45;
  letter-spacing:.04em;
  color:#315f48;
  font-weight:500;
}

body.kataralife-page.kataralife-refresh .card-product-copy h2 span{
  display:block;
}

body.kataralife-page.kataralife-refresh .card-product-name{
  margin:0 0 16px;
  color:#b36f49;
  font-size:18px;
  font-weight:700;
}

body.kataralife-page.kataralife-refresh .card-product-copy > p:not(.card-shop-kicker):not(.card-product-name):not(.card-edition-note):not(.card-shipping-note):not(.card-shop-note){
  margin:0 0 14px;
  color:#62584f;
  font-size:16px;
  line-height:2;
}

body.kataralife-page.kataralife-refresh .card-product-art{
  margin:0;
  overflow:hidden;
  border:1px solid #e5d9c5;
  border-radius:18px;
  background:#fffdf8;
}

body.kataralife-page.kataralife-refresh .card-product-art img{
  display:block;
  width:100%;
  height:100%;
  min-height:430px;
  object-fit:cover;
  object-position:62% center;
}

body.kataralife-page.kataralife-refresh .card-product-section + .event-card-cta{
  margin-top:30px;
}

@media(max-width:760px){
  body.kataralife-page.kataralife-refresh .flow-section > .story-card + .story-card{
    margin-top:24px;
  }
}

/* かたらいふ: 人物を描かず、二人と四人の利用場面を物の配置で表す挿絵。 */
body.kataralife-page.kataralife-refresh .reason-heading-row{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(340px,.74fr);
  gap:44px;
  align-items:center;
}

body.kataralife-page.kataralife-refresh .reason-spot-art,
body.kataralife-page.kataralife-refresh .event-card-spot-art{
  margin:0;
  overflow:hidden;
  border:1px solid #e5d9c5;
  border-radius:18px;
  background:#fffdf8;
}

body.kataralife-page.kataralife-refresh .reason-spot-art img,
body.kataralife-page.kataralife-refresh .event-card-spot-art img{
  display:block;
  width:100%;
  height:auto;
}

body.kataralife-page.kataralife-refresh .reason-spot-art img{
  aspect-ratio:5 / 4;
  object-fit:cover;
}

body.kataralife-page.kataralife-refresh .event-card-cta{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);
  gap:42px;
  align-items:center;
  padding:36px;
  text-align:left;
}

body.kataralife-page.kataralife-refresh .event-card-spot-art img{
  aspect-ratio:3 / 2;
  object-fit:cover;
}

body.kataralife-page.kataralife-refresh .event-card-cta-copy p{
  margin:0 0 24px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(22px,2.2vw,32px);
  line-height:1.8;
  color:#4f443c;
}

@media(max-width:900px){
  body.kataralife-page.kataralife-refresh .reason-heading-row,
  body.kataralife-page.kataralife-refresh .event-card-cta,
  body.kataralife-page.kataralife-refresh .card-product-section{
    grid-template-columns:1fr;
    gap:26px;
  }

  body.kataralife-page.kataralife-refresh .reason-spot-art{
    max-width:620px;
  }

  body.kataralife-page.kataralife-refresh .event-card-cta-copy{
    text-align:center;
  }

  body.kataralife-page.kataralife-refresh .card-product-art img{
    min-height:0;
    aspect-ratio:16 / 9;
  }
}

@media(max-width:760px){
  body.kataralife-page.kataralife-refresh .reason-wrap{
    padding:34px 22px;
  }

  body.kataralife-page.kataralife-refresh .event-card-cta{
    padding:20px;
  }

  body.kataralife-page.kataralife-refresh .card-product-section{
    margin-top:24px;
    padding:24px 22px;
  }

  body.kataralife-page.kataralife-refresh .card-product-copy h2 span{
    display:inline;
  }

  body.kataralife-page.kataralife-refresh .card-product-section .card-shop-facts{
    grid-template-columns:1fr;
  }

  body.kataralife-page.kataralife-refresh .card-product-section .card-shop-actions .pill-btn{
    width:100%;
    text-align:center;
  }

  body.kataralife-page.kataralife-refresh .event-card-cta-copy p{
    font-size:22px;
  }
}

/* かたらいふ: 選ばれる理由の番号と見出しを横並びにし、カードをコンパクトにします。 */
body.kataralife-page.kataralife-refresh .reason-grid{
  align-items:start;
  grid-auto-rows:auto;
  gap:18px;
  border:0;
  overflow-anchor:none;
}

body.kataralife-page.kataralife-refresh .reason-card{
  align-self:start;
  height:auto;
  min-height:228px;
  padding:24px 26px;
  border:1px solid #d9cfbd;
  border-radius:14px;
}

body.kataralife-page.kataralife-refresh .reason-card--expandable{
  padding:0;
}

body.kataralife-page.kataralife-refresh .reason-toggle{
  width:100%;
  min-height:228px;
  padding:24px 26px;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}

body.kataralife-page.kataralife-refresh .reason-card--expandable.is-open{
  border-color:#b9cdb7;
  box-shadow:0 0 0 1px rgba(47,95,69,.08);
}

body.kataralife-page.kataralife-refresh .reason-detail-panels{
  display:grid;
  gap:18px;
  margin-top:18px;
}

body.kataralife-page.kataralife-refresh .reason-detail-panel{
  position:relative;
  padding:30px 32px;
  border:1px solid #d9cfbd;
  border-radius:14px;
  background:#fffdf9;
}

body.kataralife-page.kataralife-refresh .reason-detail-panel[hidden]{
  display:none;
}

body.kataralife-page.kataralife-refresh .reason-close{
  position:absolute;
  top:18px;
  right:18px;
  min-height:38px;
  padding:0 14px;
  border:1px solid #d9cfbd;
  border-radius:999px;
  background:#fff8ef;
  color:#8c6546;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}

body.kataralife-page.kataralife-refresh .reason-close:focus-visible{
  outline:2px solid #7da08a;
  outline-offset:2px;
}

body.kataralife-page.kataralife-refresh .reason-detail-panel .step-flow.compact{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:0;
  padding:0;
}

body.kataralife-page.kataralife-refresh .reason-card-heading{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 14px;
}

body.kataralife-page.kataralife-refresh .reason-card-heading .icon{
  flex:0 0 42px;
  width:42px;
  height:42px;
  margin:0;
  font-size:18px;
}

body.kataralife-page.kataralife-refresh .reason-card-heading h3{
  margin:0;
  font-size:clamp(24px,1.8vw,29px);
  line-height:1.4;
}

body.kataralife-page.kataralife-refresh .reason-card p{
  margin:0;
}

body.kataralife-page.kataralife-refresh .reason-toggle > span{
  display:inline-flex;
  margin-top:12px;
  color:#b06a43;
  font-weight:700;
  border-bottom:1px solid currentColor;
}

body.kataralife-page.kataralife-refresh .reason-toggle:focus-visible{
  outline:2px solid #7da08a;
  outline-offset:-2px;
}

@media(max-width:760px){
  body.kataralife-page.kataralife-refresh .reason-grid{
    gap:14px;
  }

  body.kataralife-page.kataralife-refresh .reason-card,
  body.kataralife-page.kataralife-refresh .reason-toggle{
    min-height:auto;
    padding:20px;
  }

  body.kataralife-page.kataralife-refresh .reason-card-heading{
    gap:12px;
    margin-bottom:12px;
  }

  body.kataralife-page.kataralife-refresh .reason-card-heading h3{
    font-size:23px;
  }

  body.kataralife-page.kataralife-refresh .reason-detail-panels{
    gap:14px;
    margin-top:14px;
  }

  body.kataralife-page.kataralife-refresh .reason-detail-panel{
    padding:22px 20px;
  }

  body.kataralife-page.kataralife-refresh .reason-close{
    top:14px;
    right:14px;
    min-height:34px;
    padding:0 12px;
    font-size:13px;
  }

  body.kataralife-page.kataralife-refresh .reason-detail-panel .step-flow.compact{
    grid-template-columns:1fr;
  }
}


/* ─────────────────────────────────────────────
   iPad・スマホ用のロゴ（1200px以下で表示）
   画像ヘッダーが隠れる幅でも、サイト名が分かるようにします。
   ───────────────────────────────────────────── */
.site-brand-mobile{
  display:none;
}
@media(max-width:1200px){
  .site-brand-mobile{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    padding:12px 16px 2px;
    background:#f6f3ed;
    color:#493d34;
    font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif;
    font-size:21px;
    font-weight:600;
    line-height:1.2;
    text-decoration:none;
    white-space:nowrap;
  }
  .site-brand-mobile-mark{
    flex:0 0 44px;
    width:44px;
    height:40px;
    background-image:url("assets/brand_mark.png");
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
  }
  .site-brand-mobile + .mobile-nav{
    padding-top:8px;
  }
}
/* かたらいふページの小さな画面には専用ロゴがあるため、重複を避けます。 */
@media(max-width:760px){
  body.kataralife-page .site-brand-mobile{
    display:none;
  }
}

/* このサイトについて: 参考サイトの内容と既存イラストを、読みやすい余白で組み直します。 */
.about-balance .about-hero{
  grid-template-columns:minmax(0,.95fr) minmax(360px,.85fr);
  gap:42px;
  align-items:center;
  margin-bottom:64px;
}
.about-balance .pg-copy h1{
  max-width:9em;
  font-size:clamp(42px,4.4vw,60px);
  line-height:1.28;
}
.about-balance .pg-copy p{
  max-width:640px;
}
.about-balance .about-lead{
  color:#147f8f;
  font-weight:800;
}
.about-balance .about-story-section,
.about-balance .about-values-section,
.about-balance .about-team-section,
.about-balance .about-guide-section,
.about-balance .about-card-note{
  margin-bottom:64px;
}
.about-balance .about-story-section{
  padding:34px 0 14px;
  border-top:1px solid #eadfce;
  border-bottom:1px solid #eadfce;
}
.about-balance .about-story-copy{
  max-width:720px;
}
.about-balance .about-section-heading.align-left{
  text-align:left;
  max-width:760px;
  margin-bottom:24px;
}
.about-balance .about-value-grid .value-card{
  padding:26px 24px;
}
.about-balance .about-value-grid .icon{
  width:52px;
  height:52px;
  font-size:15px;
  font-weight:800;
}
.about-balance .about-value-grid h3{
  font-size:24px;
}
.about-balance .about-team-grid{
  align-items:stretch;
}
.about-balance .about-member-card{
  padding:30px 24px 24px;
}
.about-balance .about-guide-section{
  display:grid;
  grid-template-columns:minmax(260px,.45fr) minmax(0,1fr);
  gap:34px;
  align-items:center;
  padding:30px;
  border:1px solid #eadfce;
  border-radius:30px;
  background:linear-gradient(180deg,#fffdf9,#f8f3ea);
  box-shadow:0 12px 26px rgba(90,70,50,.045);
}
.about-guide-art{
  padding:12px;
  border-radius:26px;
  background:#fffdf9;
  border:1px solid #eadfce;
}
.about-guide-art img{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:20px;
}
.about-guide-copy h2{
  margin:0 0 12px;
  color:#147f8f;
  font-family:"Noto Serif CJK JP","Yu Mincho",serif;
  font-size:clamp(30px,3vw,40px);
  font-weight:600;
  line-height:1.4;
}
.about-guide-copy p{
  margin:0 0 18px;
  color:#62584f;
  font-size:16px;
  line-height:2;
}
.about-small-kicker{
  margin:0 0 8px!important;
  color:#df8b73!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
}
.about-guide-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.about-guide-list a{
  display:grid;
  grid-template-columns:96px 1fr;
  gap:14px;
  align-items:center;
  padding:12px;
  border:1px solid #eadfce;
  border-radius:20px;
  background:#fffdf9;
  transition:transform .2s ease,box-shadow .2s ease;
}
.about-guide-list a:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 22px rgba(90,70,50,.08);
}
.about-guide-list img{
  grid-row:span 2;
  width:96px;
  height:64px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid #eadfce;
}
.about-guide-list span{
  align-self:end;
  color:#147f8f;
  font-size:17px;
  font-weight:800;
}
.about-guide-list small{
  align-self:start;
  color:#756a60;
  font-size:13px;
  line-height:1.7;
}
.about-balance .about-card-note{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:28px;
  align-items:center;
  max-width:920px;
}
.about-card-note img{
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
  border-radius:24px;
  border:1px solid #cde9ed;
  background:#fffdf9;
}
.about-balance .about-final-note{
  max-width:720px;
  padding:34px 24px 12px;
  text-align:center;
}
.about-balance .about-final-main{
  max-width:680px;
  margin:0 auto 16px!important;
  font-size:clamp(28px,3vw,38px)!important;
  line-height:1.65!important;
  letter-spacing:0!important;
}
.about-balance .about-final-main br{
  display:block;
}

@media(max-width:900px){
  .about-balance .about-hero,
  .about-balance .about-guide-section,
  .about-balance .about-card-note{
    grid-template-columns:1fr;
  }
  .about-balance .about-card-note img{
    max-width:280px;
    margin:0 auto;
  }
}
@media(max-width:760px){
  .about-balance .about-hero{
    gap:24px;
    margin-bottom:42px;
  }
  .about-balance .pg-copy h1{
    font-size:40px;
  }
  .about-balance .about-story-section,
  .about-balance .about-values-section,
  .about-balance .about-team-section,
  .about-balance .about-guide-section,
  .about-balance .about-card-note{
    margin-bottom:42px;
  }
  .about-balance .about-guide-section{
    padding:22px;
    border-radius:24px;
  }
  .about-guide-list{
    grid-template-columns:1fr;
  }
  .about-balance .about-final-note{
    text-align:center;
  }
  .about-balance .about-final-main{
    font-size:28px!important;
  }
}

/* このサイトについて: 指摘を受けて、見出し・写真・案内カードのバランスを整えます。 */
.about-balance .about-hero{
  gap:36px;
  margin-bottom:56px;
}
/* 2列にするのは広い画面だけ。ここに書かないと、上にある狭い画面用の1列指定を
   打ち消してしまい、スマホで左の列が潰れて文字が縦一列になる */
@media(min-width:901px){
  .about-balance .about-hero{
    grid-template-columns:minmax(0,1.02fr) minmax(330px,.78fr);
  }
}
.about-balance .pg-copy h1{
  max-width:none;
  font-size:clamp(40px,3.6vw,52px);
  line-height:1.35;
  text-wrap:balance;
}
.about-balance .pg-copy p{
  max-width:700px;
  font-size:17px;
  line-height:2.05;
}
.about-balance .about-lead{
  color:#5f765d;
  font-size:18px;
}
.about-balance .about-icon{
  display:none;
}
.about-balance .about-side-heading{
  padding-top:0;
}
.about-balance .about-side-heading h2{
  font-size:clamp(30px,3vw,40px);
  line-height:1.45;
}
.about-balance .about-story-section{
  grid-template-columns:250px 1fr;
  gap:44px;
  padding:30px 0;
  margin-bottom:58px;
}
.about-balance .about-story-copy p{
  font-size:18px;
  line-height:2.05;
}
.about-balance .about-values-section{
  margin-bottom:58px;
}
.about-balance .about-value-grid .value-card{
  padding:28px;
}
.about-balance .about-value-grid h3{
  color:#4f6f5a;
  font-size:25px;
}
.about-balance .about-value-grid .value-card p{
  color:#5f554c;
  font-size:16px;
  line-height:2;
}
.about-balance .about-team-section{
  margin-bottom:58px;
}
.about-balance .about-member-card{
  padding:30px 28px 26px;
  border-color:#eadfce;
  background:#fffdf9;
}
.about-balance .about-member-photo{
  width:124px;
  height:124px;
  margin-bottom:18px;
  border:3px solid #d9e8d2;
  background:#fff;
  object-fit:cover;
}
.about-balance .about-member-photo.light-photo{
  object-position:center center;
}
.about-balance .about-member-photo.naomi-photo{
  object-position:center 42%;
}
.about-balance .about-member-photo.yue-photo{
  object-position:center 34%;
}
.about-balance .about-member-card h3{
  color:#4f6f5a;
  font-size:25px;
}
.about-balance .about-member-role{
  min-height:auto;
  color:#b77a52!important;
  font-size:14px!important;
}
.about-balance .about-member-card>p:not(.about-member-role){
  color:#5f554c;
  font-size:16px;
  line-height:1.95;
}
.about-balance .about-guide-section{
  grid-template-columns:220px 1fr;
  gap:30px;
  padding:28px 30px;
  margin-bottom:58px;
}
.about-balance .about-guide-art{
  padding:10px;
  border-color:#eadfce;
}
.about-balance .about-guide-copy h2{
  color:#4f6f5a;
  font-size:clamp(28px,2.5vw,36px);
  line-height:1.45;
}
.about-balance .about-guide-copy p{
  font-size:17px;
  line-height:2;
}
.about-balance .about-guide-list{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.about-balance .about-guide-list a{
  display:block;
  min-height:132px;
  padding:18px 16px;
  border-radius:18px;
}
.about-balance .about-guide-list span{
  display:block;
  margin-bottom:8px;
  color:#4f6f5a;
  font-size:19px;
}
.about-balance .about-guide-list small{
  display:block;
  color:#5f554c;
  font-size:15px;
  line-height:1.8;
}
.about-balance .about-card-note{
  grid-template-columns:minmax(0,1fr) 190px;
  gap:24px;
  padding:28px 32px;
  margin-bottom:52px;
}
.about-balance .about-card-note h2{
  color:#4f6f5a;
  font-size:clamp(27px,2.4vw,34px);
}
.about-balance .about-card-note p{
  font-size:17px;
  line-height:2;
}
.about-balance .about-card-note img{
  border-color:#eadfce;
}
.about-balance .about-final-note{
  max-width:680px;
  padding-top:18px;
}
.about-balance .about-final-main{
  font-size:clamp(25px,2.3vw,32px)!important;
  line-height:1.7!important;
}

@media(max-width:1000px){
  .about-balance .about-guide-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .about-balance .about-story-section,
  .about-balance .about-guide-section,
  .about-balance .about-card-note{
    grid-template-columns:1fr;
  }
  .about-balance .about-guide-art,
  .about-balance .about-card-note img{
    max-width:320px;
    margin:0 auto;
  }
}
@media(max-width:760px){
  .about-balance .pg-copy h1{
    font-size:38px;
  }
  .about-balance .pg-copy p,
  .about-balance .about-story-copy p,
  .about-balance .about-guide-copy p,
  .about-balance .about-card-note p{
    font-size:16px;
  }
  .about-balance .about-guide-list{
    grid-template-columns:1fr;
  }
  .about-balance .about-guide-list a{
    min-height:auto;
  }
  .about-balance .about-member-photo{
    width:118px;
    height:118px;
  }
}

/* このサイトについて: 文字量と色の強さを少し抑え、既存ページ全体の雰囲気に寄せます。 */
.about-balance .about-side-heading h2,
.about-balance .about-section-heading h2,
.about-balance .about-card-note h2,
.about-balance .about-guide-copy h2{
  color:#4f6f5a;
  font-weight:600;
  letter-spacing:0;
}
.about-balance .about-section-heading p,
.about-balance .about-side-heading p,
.about-balance .about-small-kicker,
.about-balance .about-final-kicker{
  color:#b77a52!important;
  letter-spacing:.14em!important;
}
.about-balance .about-guide-section{
  grid-template-columns:minmax(240px,.38fr) minmax(0,1fr);
  gap:28px;
  padding:28px;
  background:#fffdf9;
  border-color:#eadfce;
}
.about-balance .about-guide-copy h2{
  font-size:clamp(28px,2.4vw,34px);
  margin-bottom:10px;
}
.about-balance .about-guide-copy p{
  max-width:760px;
  color:#65584e;
  font-size:15px;
}
.about-balance .about-guide-list a{
  grid-template-columns:82px 1fr;
  min-height:116px;
  border-color:#eadfce;
  background:#fffaf3;
}
.about-balance .about-guide-list a:focus{
  outline:none;
}
.about-balance .about-guide-list a:focus-visible{
  outline:3px solid #d6e4c7;
  outline-offset:3px;
}
.about-balance .about-guide-list img{
  width:82px;
  height:58px;
}
.about-balance .about-guide-list span{
  color:#4f6f5a;
  font-size:16px;
}
.about-balance .about-guide-list small{
  color:#6f645b;
  font-size:13px;
}
.about-balance .about-card-note{
  background:#fffdf9;
  border-color:#eadfce;
}
.about-balance .about-card-note p{
  color:#65584e;
}
.about-balance .about-final-main{
  color:#51473f!important;
  font-size:clamp(26px,2.5vw,34px)!important;
}

/* このサイトについて: 案内カードとカード説明の上下余白・読みやすさを整えます。 */
.about-balance .about-guide-section{
  align-items:center;
  margin-bottom:34px;
  padding:32px 34px;
}
.about-balance .about-guide-copy > p:not(.about-small-kicker){
  color:#5f554c;
  font-size:17px;
  line-height:1.95;
}
.about-balance .about-guide-list{
  gap:14px;
}
.about-balance .about-guide-list a{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:126px;
  padding:22px 20px;
}
.about-balance .about-guide-list span{
  margin-bottom:10px;
  font-size:18px;
  line-height:1.45;
}
.about-balance .about-guide-list small{
  font-size:16px;
  line-height:1.75;
}
.about-balance .about-card-note{
  align-items:center;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:42px;
  margin:34px auto 52px;
  padding:42px 54px;
}
.about-balance .about-card-note h2{
  font-size:clamp(31px,2.8vw,40px);
  line-height:1.35;
}
.about-balance .about-card-note p{
  max-width:760px;
  font-size:18px;
  line-height:2.05;
}
.about-balance .about-card-note img{
  width:220px;
  max-width:100%;
}
.about-balance .about-card-note .inline-cta{
  margin-top:26px;
}
.about-balance .about-card-note .pill-btn{
  min-height:54px;
  padding:0 28px;
  font-size:17px;
}

@media(max-width:900px){
  .about-balance .about-card-note{
    gap:26px;
    padding:34px 28px;
  }
}
@media(max-width:760px){
  .about-balance .about-guide-section{
    margin-bottom:28px;
    padding:24px;
  }
  .about-balance .about-guide-list a{
    min-height:auto;
    padding:20px;
  }
  .about-balance .about-card-note{
    margin-top:28px;
    padding:30px 22px;
  }
  .about-balance .about-card-note p,
  .about-balance .about-guide-list small{
    font-size:16px;
  }
}

/* このサイトについて: 小鳥のリンク印と、案内カードの崩れを整えます。 */
.about-balance .about-guide-section,
.about-balance .about-card-note{
  width:100%;
  max-width:none;
}
.about-balance .about-guide-section{
  grid-template-columns:minmax(280px,.36fr) minmax(0,1fr);
  gap:34px;
  margin-bottom:42px;
  padding:36px;
}
.about-balance .about-guide-copy{
  align-self:center;
}
.about-balance .about-guide-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.about-balance .about-guide-list a{
  position:relative;
  display:block;
  min-height:118px;
  padding:22px 58px 22px 24px;
}
.about-balance .about-guide-list a::after,
.about-balance .about-member-links a::after,
.bird-link::after{
  content:"";
  display:inline-block;
  width:24px;
  height:18px;
  margin-left:8px;
  background:url("assets/link_bird_mark.png") center/contain no-repeat;
  vertical-align:-3px;
}
.about-balance .about-guide-list a::after{
  position:absolute;
  top:18px;
  right:18px;
  width:30px;
  height:22px;
  margin:0;
  opacity:.9;
}
.about-balance .about-guide-list span{
  display:block;
  margin:0 0 8px;
  font-size:21px;
  line-height:1.35;
}
.about-balance .about-guide-list small{
  display:block;
  font-size:17px;
  line-height:1.85;
}
.about-balance .about-card-note{
  grid-template-columns:minmax(0,1fr) 220px;
  gap:40px;
  margin:42px auto 54px;
  padding:42px 54px;
}
.about-balance .about-card-note .pill-btn{
  gap:0;
}
.about-balance .about-member-links a{
  gap:0;
}

@media(max-width:900px){
  .about-balance .about-guide-section,
  .about-balance .about-card-note{
    grid-template-columns:1fr;
    padding:32px 28px;
  }
  .about-balance .about-guide-art{
    max-width:320px;
    margin:0 auto;
  }
}
@media(max-width:760px){
  .about-balance .about-guide-section,
  .about-balance .about-card-note{
    padding:26px 22px;
  }
  .about-balance .about-guide-list{
    grid-template-columns:1fr;
  }
  .about-balance .about-guide-list a{
    min-height:auto;
  }
  .about-balance .about-guide-list span{
    font-size:20px;
  }
  .about-balance .about-guide-list small{
    font-size:16px;
  }
}

/* このサイトについて: リンク横の青い鳥マークを非表示にします。 */
.about-balance .about-guide-list a::after,
.about-balance .about-member-links a::after,
.bird-link::after{
  content:none;
  display:none;
}

/* 活動報告: かたるん画像はカード枠を外して大きく表示します。 */
.katarun-report-image{
  display:grid;
  place-items:center;
  background:transparent;
  border:0;
  padding:0;
  box-shadow:none;
}
.katarun-report-image img{
  width:min(100%,360px);
  max-width:360px;
  aspect-ratio:1/1;
  object-fit:contain;
  border:0;
  border-radius:0;
  background:transparent;
}
.archive-card.katarun-archive-card{
  grid-template-columns:300px 1fr;
}
.archive-card img.katarun-archive-image{
  width:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  border:0;
  border-radius:0;
  background:transparent;
}

@media(max-width:760px){
  .katarun-report-image img,
  .archive-card img.katarun-archive-image{
    max-width:320px;
    margin:0 auto;
  }
}
.report-photo{
  margin:22px 0 26px;
  padding:10px;
  background:#fbf7ef;
  border:1px solid #eadfce;
  border-radius:20px;
}
.report-photo img{
  display:block;
  width:100%;
  height:auto;
  border-radius:14px;
}
.report-inline-link{
  color:#2f5f45;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:#a8bea9;
  text-underline-offset:4px;
  word-break:break-all;
}
.report-inline-link:hover{
  color:#9a7434;
}

/* ライフコンパス→かたらいふ 名前の併記（2026-09-24） */
.kataralife-page .kv-copy .rename-note{
  margin:18px 0 0;
  padding:12px 16px;
  border-left:3px solid #cf815b;
  background:rgba(255,253,248,.85);
  color:#5a4a3c;
  font-size:15px;
  line-height:1.8;
}
.kataralife-page .kv-copy .rename-note a{
  display:inline-block;
  margin-top:4px;
  color:#117f8f;
  font-weight:700;
}
.story-copy h2 .h2-sub{
  display:block;
  font-size:.55em;
  color:#7a6b5c;
}
.store-name-note{
  margin:0 0 16px;
  padding:10px 14px;
  border-radius:10px;
  background:#fff6e6;
  border:1px solid #efd8a4;
  color:#6d5a3c;
  font-size:14px;
  line-height:1.8;
}
