
:root{font-family:system-ui,-apple-system,sans-serif;color:#223042;background:#f7f9fc}*{box-sizing:border-box}body{margin:0}main{max-width:720px;margin:auto;padding:16px 14px 80px}h1{font-size:1.55rem;margin:10px 0 4px}h2{font-size:1.2rem;margin:0 0 12px}h3{font-size:1rem;margin:16px 0 6px}.muted{color:#657387;font-size:.91rem}.card{background:white;border:1px solid #dce3ec;border-radius:16px;padding:16px;margin:14px 0;box-shadow:0 2px 8px #22304208}button,input,select{font:inherit}button{min-height:44px;border:1px solid #cbd5e1;background:white;color:#24364a;border-radius:10px;padding:9px 13px;cursor:pointer}button.primary{background:#165ea8;color:white;border-color:#165ea8;font-weight:700}button:disabled{opacity:.4;cursor:not-allowed}button.active{background:#e0efff;border-color:#165ea8;color:#134e86}input[type=text],input[type=date],input[type=time],select{width:100%;padding:12px;border:1px solid #aebdce;border-radius:9px;background:white;min-height:48px}label.field{display:block;font-weight:650;margin:10px 0 6px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.flex{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.grow{flex:1}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin:8px 0}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar .dow{text-align:center;font-size:.78rem;color:#64748b}.day{padding:0;min-height:42px;border-radius:9px;font-size:.96rem}.day.selected{background:#165ea8;color:white;border-color:#165ea8}.day.other{opacity:.35}.day.sun{color:#d04545}.day.sat{color:#2466b1}.day.selected.sun,.day.selected.sat{color:white}.slot{border:1px solid #dbe3ed;border-radius:12px;padding:12px;margin:9px 0}.slot strong{display:block}.choice{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.choice button{font-size:1rem;font-weight:700}.choice .yes.on{background:#d9f7e5;border:2px solid #128344;color:#09642f}.choice .maybe.on{background:#fff1ca;border:2px solid #b57b00;color:#765100}.choice .no.on{background:#ffe4e4;border:2px solid #b43d3d;color:#922a2a}.counts{display:flex;gap:12px;flex-wrap:wrap;color:#526176;font-size:.91rem}.preview{border-top:1px solid #e2e8f0;margin-top:10px;padding-top:8px}.preview summary{cursor:pointer;font-weight:600;color:#175ea8;padding:4px}.pill{display:inline-block;background:#f0f3f7;border-radius:8px;padding:4px 8px;margin:4px 4px 0 0;font-size:.88rem}.hidden{display:none!important}.notice{padding:12px;background:#eef5ff;border-radius:9px;margin:12px 0;white-space:pre-wrap}.danger{color:#a52929}.time-row{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;align-items:end;margin:8px 0}.date-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid #e8edf3;padding:8px 0}.date-row button{min-height:38px}.sep{height:1px;background:#e1e7ef;margin:15px 0}footer{text-align:center;color:#64748b;font-size:.78rem;margin-top:20px}@media(max-width:400px){main{padding:10px 9px 60px}.card{padding:12px}.time-row{gap:4px}.time-row input{padding:7px}.time-row button{padding:7px}.counts{gap:8px}}
.buzzbeat-pr{text-align:center}.buzzbeat-pr-label{font-size:.78rem;color:#657387;margin:0 0 10px}.buzzbeat-pr img{display:block;width:100%;height:auto;max-width:500px;margin:0 auto;border-radius:12px}.buzzbeat-pr-link{margin:12px 0 0;font-weight:700}.buzzbeat-pr-link a{color:#165ea8}
.buzzbeat-copy{font-weight:700;line-height:1.8;font-size:clamp(.95rem,3.8vw,1.12rem);margin:10px auto 20px}.buzzbeat-copy p{margin:7px 0}.buzzbeat-pr{margin-top:28px}.buzzbeat-pr img{max-width:100%}
textarea{width:100%;min-height:92px;resize:vertical;padding:12px;border:1px solid #aebdce;border-radius:10px;font:inherit;background:white}.step-heading{font-size:1.28rem;font-weight:800;margin:24px 0 12px;padding:8px 0;border-bottom:2px solid #dbe5f2}.range-panel{background:#edf5fc;border:1px solid #cbdff0;border-top:4px solid #8db8dc;border-radius:12px;padding:14px;margin:24px 0 18px}.range-panel h3{font-size:1.1rem;margin:0 0 12px}.no-time-label{display:flex;align-items:center;gap:10px;margin:12px 0;font-weight:700}.no-time-label input{width:24px;height:24px}.final-panel{border:2px solid #165ea8;border-radius:14px;padding:16px;margin-top:24px;background:#f2f7ff}.final-title{font-size:1.25rem;font-weight:800}.event-details{white-space:pre-wrap;background:#f3f6fb;padding:12px;border-radius:10px;overflow-wrap:anywhere}
.my-events .event-item{border:1px solid #dce3ec;border-radius:12px;padding:12px;margin:10px 0}.my-events .event-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.my-events .event-actions button{flex:1}.privacy-choice{background:#f3f7fd;border-radius:10px;padding:12px;margin:15px 0}.privacy-choice label{display:block;margin:9px 0}.admin-tools{background:#edf5ff;border:1px solid #b9d6f2;border-radius:12px;padding:14px;margin:12px 0}.admin-tools input{margin:7px 0}.name-list{margin:8px 0;padding:9px;background:#f7f9fc;border-radius:9px;line-height:1.8}

/* v9: 温かい黄色 × つやのある穏やかな緑。状態は色だけに頼らない */
:root{font-size:18px;color:#29352B;background:#FFEFBF;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif}
body{background:linear-gradient(180deg,#FFE39A 0,#FFEFBF 230px,#FFF2CD 100%);line-height:1.65}
main{max-width:800px;padding:20px 18px 88px}
.site-header{text-align:center;padding:18px 10px 12px}
.site-header h1{font-size:2.2rem;line-height:1.2;letter-spacing:.025em;color:#216D49;margin:8px 0 12px}
.site-tagline{font-size:1.05rem;font-weight:700;color:#344B38;margin:0}
.site-note{font-size:.92rem;color:#47594A;margin:8px 0 0}
h2{font-size:1.38rem;line-height:1.4;color:#215A40}
h3{font-size:1.16rem;line-height:1.4;color:#294C38}
.muted{font-size:.95rem;color:#4A584B}
.card{border:1px solid #DACD9E;border-radius:18px;padding:22px;background:#FFFDF7;box-shadow:0 4px 14px #61552A14;margin:18px 0}
button{min-height:50px;font-size:1rem;border:2px solid #9BAE95;background:#FFFFFF;color:#224A35;border-radius:12px;padding:10px 15px;font-weight:650}
button.primary{background:#287D50;color:#FFFFFF;border-color:#287D50}
button.active,.day.selected{background:#287D50;color:white;border-color:#205F3D}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #B76C11;outline-offset:3px}
button:disabled{opacity:.6}
input[type=text],input[type=date],input[type=time],select,textarea{min-height:52px;font-size:1rem;border:2px solid #9EAC96;border-radius:11px;color:#29352B;background:white}
input::placeholder,textarea::placeholder{color:#667367;opacity:1}
label.field{font-size:1.02rem}
.calendar .dow{font-size:.88rem;color:#485647;font-weight:700}
.day{min-height:49px;font-size:1rem}
.day.sun{color:#A12F32}.day.sat{color:#24568A}
.day.selected.sun,.day.selected.sat{color:#FFFFFF}
.step-heading{font-size:1.36rem;color:#206744;border-bottom:3px solid #D6DDAF;margin:28px 0 15px}
.range-panel{background:#FFF1B9;border:2px solid #E2BD60;border-top:5px solid #D5A83D;border-radius:14px;padding:17px;margin:26px 0 20px}
.range-panel h3{font-size:1.2rem;color:#58431B}
.final-panel{background:#EDF6E9;border:3px solid #287D50;border-radius:15px;padding:20px}
.final-title{font-size:1.34rem;color:#206744}
.privacy-choice{background:#F4F5DD;border:1px solid #CFD9B4;padding:15px}
.admin-tools{background:#EDF6E9;border:2px solid #A8C5AC}
.event-details{background:#FFF3CE}
.slot{background:#FFFFFF;border:1px solid #D3D6BC}
.choice button{font-size:1.04rem;min-height:54px}
.choice .yes.on{background:#DCEFE2;border:3px solid #216C42;color:#164A30}
.choice .maybe.on{background:#FFF0BC;border:3px solid #916000;color:#674500}
.choice .no.on{background:#FCE2DF;border:3px solid #A33331;color:#802522}
.counts,.preview summary{font-size:.96rem}
.preview summary,.buzzbeat-pr-link a{color:#175E40}
.pill{font-size:.94rem;background:#F2F4E7}
.notice{background:#FFF0B8;border:1px solid #D9BA6A}
.my-events .event-item{background:white;border-color:#D5DCC6}
.name-list{background:#F4F5E8}
.buzzbeat-pr-label,footer{font-size:.88rem;color:#556251}
.buzzbeat-copy{font-size:1.02rem}
@media(max-width:440px){main{padding:12px 10px 64px}.card{padding:16px}.site-header h1{font-size:2rem}.grid2{gap:8px}.time-row{gap:5px}.time-row input{padding:8px}.time-row button{padding:8px}.calendar{gap:4px}.day{min-height:46px}}
/* v9.1: 読みやすさ重視で本文を少し太めに */
body{font-weight:650}
p,li,label,td,th,summary,.muted,.site-note,.site-tagline{font-weight:650}
input,select,textarea{font-weight:600}
button{font-weight:750}
h1,h2,h3,.step-heading,.final-title{font-weight:800}

/* 日付と時間を分け、回答の記号を大きく表示 */
#summary .summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:18px 0;align-items:center}
.summary-datetime{min-width:0;display:grid;gap:6px}
.summary-date{font-size:1.05rem;font-weight:800;line-height:1.5}
.summary-time{white-space:nowrap;font-size:1rem;font-weight:750;line-height:1.5}
.summary-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.summary-count{display:flex;flex-direction:column;align-items:center;gap:2px;white-space:nowrap}
.summary-mark{font-size:2rem;font-weight:800;line-height:1.2;color:#245E43}
.summary-number{font-size:1rem;font-weight:800;line-height:1.5}
@media(max-width:600px){#summary .summary-row{grid-template-columns:minmax(0,1fr);gap:12px}.summary-counts{width:100%;gap:10px}.summary-count{flex-direction:row;justify-content:center;gap:8px;background:#F4F5E8;border:1px solid #D3D6BC;border-radius:10px;padding:8px 4px}.summary-mark{font-size:2.15rem}}
.required-mark{color:#B42318;font-size:.9em;font-weight:800}.image-download{display:inline-block;padding:10px 14px;border-radius:10px;background:#245E43;color:white;font-weight:750;text-decoration:none;min-height:44px}

.about-service{border-color:#D5DDB0}.about-service p{margin:10px 0}

.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand-heading .brand-icon{width:130px;height:130px;border-radius:25px}.brand-heading{display:flex;align-items:center;justify-content:center;gap:14px}.brand-heading h1{margin:0}.brand-icon{width:72px;height:72px;border-radius:18px;box-shadow:0 3px 8px #63521d20}.about-service{margin-top:28px}.about-service h3{font-size:1.18rem;margin:28px 0 10px;color:#216D49}.howto ol{list-style:none;counter-reset:steps;padding:0;margin:0}.howto li{counter-increment:steps;position:relative;padding:14px 12px 12px 62px;border-bottom:1px solid #E4DAB5}.howto li::before{content:counter(steps);position:absolute;left:8px;top:15px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#287D50;color:#fff;font-weight:800}.howto li p{margin:4px 0 0}.usecases p{margin:10px 0}.faq details{border-top:1px solid #D8D8BF;padding:12px 2px}.faq summary{cursor:pointer;font-weight:800;color:#255B3C;min-height:38px}.faq details p{padding:0 8px}.about-service p{line-height:1.75}@media(max-width:440px){.brand-heading{gap:10px}.brand-icon{width:58px;height:58px;border-radius:13px}.brand-heading h1{font-size:1.9rem}}
.language-control{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px auto 14px;flex-wrap:wrap}.language-control label{font-weight:750;color:#245E43}.language-control select{width:auto;max-width:230px;min-width:155px;border:2px solid #287D50;background:#fffef4;font-weight:700;padding:8px}.language-control select:focus-visible{outline:3px solid #AD6500;outline-offset:3px}

/* v12.2: multilingual, responsive hero; Japanese uses original artwork, other languages use the same visual concept with live text */
.home-hero{position:relative;margin:10px auto 20px;max-width:100%;border-radius:22px;overflow:hidden;box-shadow:0 3px 13px #5c54251f;background:#fff1ba}
.hero-ja{display:block;width:100%;height:auto;aspect-ratio:1032/606;object-fit:contain}
.hero-intl{display:none;position:relative;aspect-ratio:1648/928;background:#fff3bc url('/hero-blank.webp') center/100% 100% no-repeat;overflow:hidden;color:#005421}
.hero-content{position:absolute;left:4%;top:5%;width:52%;height:67%;display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(3px,.7vw,10px);text-align:left}
.hero-name{font-size:clamp(12px,2.5vw,24px);font-weight:900;line-height:1.25}
.hero-content h2{font-size:clamp(15px,3.4vw,34px);line-height:1.23;font-weight:900;color:#005421;margin:clamp(2px,1vw,12px) 0 0;overflow-wrap:anywhere}
.hero-content p{font-size:clamp(10px,1.65vw,17px);line-height:1.35;font-weight:750;margin:0;overflow-wrap:anywhere}
.hero-benefits{position:absolute;left:2.7%;bottom:5.3%;width:57%;height:19%;display:grid;grid-template-columns:repeat(3,1fr);gap:2%;align-items:center}
.hero-benefits>div{font-size:clamp(8px,1.45vw,16px);line-height:1.2;font-weight:900;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:2px 4px;min-width:0;overflow-wrap:anywhere}
html:not([lang="ja"]) .hero-ja{display:none}
html:not([lang="ja"]) .hero-intl{display:block}
@media(max-width:480px){main{padding-left:10px;padding-right:10px}.home-hero{border-radius:14px}.hero-content{left:4%;top:4%;width:54%;height:67%;gap:2px}.hero-name{font-size:clamp(11px,3.1vw,16px)}.hero-content h2{font-size:clamp(13px,3.7vw,19px);line-height:1.12;margin:2px 0}.hero-content p{font-size:clamp(9px,2.15vw,12px);line-height:1.17}.hero-benefits>div{font-size:clamp(7px,1.9vw,10px)}}
@media(max-width:350px){.hero-content h2{font-size:12px}.hero-content p{font-size:8px}.hero-benefits>div{font-size:7px}}
