@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500&display=swap');
:root{--deep:#15585d;--mint:#70af97;--ink:#404242;--cream:#f1ead1;--blush:#eee7e2;--serif:'Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Yu Gothic',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:#eee9dc;font:400 14px/1.9 var(--serif);letter-spacing:.035em;line-break:strict}p,h1,h2,h3,figure,dl,dd{margin:0}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #ba8e60;outline-offset:5px}img{display:block;max-width:100%}button,summary{font:inherit}::selection{background:#d2e4d8}
.backdrop{position:fixed;inset:0;z-index:-2;background-image:linear-gradient(#f2ead45e,#f2ead45e),url('assets/chicken-lunch-v3.png');background-size:cover;background-position:center 48%;filter:saturate(.65);transform:scale(1.015)}.backdrop:after{content:'';position:absolute;inset:0;background:#f7f0dc44}.backdrop-word{position:fixed;bottom:-35px;left:0;z-index:-1;font-size:96px;letter-spacing:.02em;color:#ffffff65;line-height:1.5;white-space:nowrap;pointer-events:none}
.sidebar{position:fixed;left:max(25px,calc(50% - 554px));top:80px;width:330px}.school-mark{display:block;background:var(--deep);color:#fff;text-align:center;padding:19px 10px;font-size:25px;line-height:1.6;letter-spacing:.04em}.school-mark span{display:block;font-size:29px;line-height:1.3;letter-spacing:.035em}.sidebar nav{margin-top:48px;width:272px;background:#f2ead3f5;padding:4px 10px 12px 0}.sidebar nav a{display:flex;align-items:baseline;padding:9px 6px 9px 0;gap:8px;white-space:nowrap}.sidebar nav a:before{content:'−';font-size:17px;color:#a9a590}.sidebar nav .en{font-size:26px;letter-spacing:.02em}.sidebar nav .ja{font-size:11px;letter-spacing:.03em}.sidebar nav a:hover{color:var(--mint)}.button{display:flex;justify-content:center;align-items:center;background:var(--mint);color:#fff;padding:14px 7px;font-weight:500;font-size:13px;letter-spacing:.1em;line-height:1.8;text-align:center}.button:hover{background:#5c9d83}.sidebar .button{width:267px;margin-top:31px;padding:16px 8px}.draft{width:267px;margin-top:12px;padding:7px 8px;background:#ffffffb8;font:10px/1.7 var(--sans);color:#576b5f;letter-spacing:.04em;text-align:center}
.sheet{width:420px;margin:120px auto 0;background:white;overflow:hidden;box-shadow:0 10px 60px #28413818}.mobile-menu{display:none}.hero{position:relative;padding-top:120px;padding-bottom:50px;background-color:#fff;background-image:repeating-linear-gradient(128deg,transparent 0 66px,#9aa09c06 67px,#acb3ad05 73px,transparent 82px 130px)}.hero-band{position:absolute;top:60px;left:0;z-index:2;width:292px;background:var(--deep);padding:13px 8px 15px;text-align:center;color:white}.hero-band h1{font-size:26px;font-weight:400;letter-spacing:.035em;line-height:1.55}.hero-band p{font-size:12px;letter-spacing:.05em;margin-top:4px}.hero-photo{position:relative;width:298px;margin:0 auto}.hero-photo img{width:100%;height:355px;object-fit:cover;object-position:center 52%}.hero-photo:after{content:'STOLLEN LESSON';position:absolute;left:calc(100% - 4px);top:0;color:#7ba3989c;font-size:36px;writing-mode:vertical-rl;letter-spacing:.015em;white-space:nowrap;line-height:1}.hero-copy{width:300px;margin:20px auto 0}.hero-copy h2{font-size:24px;font-weight:400;letter-spacing:.065em;line-height:1.65}.hero-copy p{font-size:13px;margin-top:13px;line-height:1.9;letter-spacing:.04em}
.intro{position:relative;text-align:center;padding:54px 25px 43px;overflow:hidden}.intro:before{content:'Introduction';position:absolute;left:-13px;top:32px;writing-mode:vertical-rl;color:#8baaa85c;font-size:49px;letter-spacing:.01em;line-height:1}.intro .lead{font-size:15px;line-height:1.9;margin-bottom:18px}.intro .lead span{border-bottom:1px solid #beccc0}.intro p{font-size:13px;line-height:2;letter-spacing:.075em}.intro .button{margin:27px 10px 0}.sparkles{padding:25px 0 22px;display:flex;flex-direction:column;align-items:center;gap:1px;color:#b5a58e;font-size:15px;line-height:1.05}.sparkles i{font-style:normal}.sparkles i:nth-child(2){font-size:19px}.sparkles i:nth-child(3){font-size:13px}
.concept{padding:31px 24px 50px;text-align:center}.concept h2{font-size:20px;font-weight:400;line-height:1.6;letter-spacing:.085em;margin-bottom:6px}.english-line{display:flex;align-items:center;justify-content:flex-end;font-style:italic;font-size:14px;color:var(--deep);letter-spacing:.02em;margin-bottom:44px}.english-line:before{content:'';width:44px;height:1px;background:var(--deep);margin-right:6px}.mini-card{position:relative;background:var(--cream);min-height:119px;border-radius:7px;display:flex;align-items:center;margin-top:20px;text-align:left;padding:17px 112px 17px 17px}.mini-card:nth-of-type(even){background:#eae0da;padding:17px 17px 17px 112px}.mini-card p{font-size:13px;line-height:1.8;letter-spacing:.055em}.mini-card img{position:absolute;right:0;top:0;width:112px;height:119px;object-fit:cover;border-radius:58px 7px 7px 58px}.mini-card:nth-of-type(even) img{left:0;right:auto;border-radius:7px 58px 58px 7px}.mini-card strong{font-weight:400;border-bottom:1px solid #b3b5a4}.offset-photo{position:relative;margin:46px 12px 0}.offset-photo:after{content:'';position:absolute;inset:12px -12px -12px 20px;background:#bdd2cd;z-index:0}.offset-photo img{position:relative;z-index:1;width:100%;height:190px;object-fit:cover;object-position:center 48%}
.section-title{text-align:center;margin:0 0 43px}.section-title .en{display:block;color:var(--mint);font-size:39px;line-height:1.45;letter-spacing:.02em;font-weight:400}.section-title h2{color:var(--mint);font-size:16px;font-weight:400;letter-spacing:.09em;margin-top:0}.points{padding:36px 0 17px}.point{margin:0 0 40px}.point-image{position:relative;display:flex;align-items:stretch}.point-image img{width:calc(100% - 56px);height:211px;object-fit:cover;border-radius:0 74px 0 0}.point-number{writing-mode:vertical-rl;position:absolute;right:15px;top:64px;font-size:23px;font-style:italic;color:var(--deep);letter-spacing:.06em;line-height:1}.point:nth-of-type(even) .point-image{flex-direction:row-reverse}.point:nth-of-type(even) .point-image img{border-radius:74px 0 0 0}.point:nth-of-type(even) .point-number{right:auto;left:14px}.point-body{padding:22px 25px 0}.point-body h3{font-size:15px;font-weight:500;color:var(--deep);line-height:1.8;letter-spacing:.08em;margin-bottom:9px}.point-body p{font-size:13px;line-height:1.9;letter-spacing:.07em}.point.photo-six img{object-position:center 57%}.point.photo-eight img{object-position:center}.point.photo-lunch img{object-position:center 54%}
.table{padding:20px 24px 44px;background:linear-gradient(#fff,#faf9f5)}.table .section-title{margin-bottom:30px}.table .section-title .en{font-size:34px}.table-photo{position:relative}.table-photo img{width:100%;height:260px;object-fit:cover;object-position:center 52%}.table-photo:after{content:'Christmas';position:absolute;bottom:-18px;right:6px;color:var(--mint);font-size:38px;font-style:italic;letter-spacing:.02em;line-height:1}.table-copy{margin-top:36px;text-align:center;font-size:14px;line-height:2}.table-copy p+p{margin-top:14px}
.lesson{padding:30px 24px 38px}.lesson .section-title{margin-bottom:28px}.lesson-card{border:1px solid #d5cbbf;border-radius:8px;overflow:hidden}.lesson-card h3{background:var(--cream);font-size:17px;font-weight:400;color:var(--deep);text-align:center;padding:21px 10px;line-height:1.65}.lesson-card .inside{text-align:center;padding:27px 15px}.lesson-card p{font-size:13px;line-height:1.9}.lesson-card .fee{color:var(--mint);font-size:41px;line-height:1.3;margin:19px 0 9px;letter-spacing:.01em}.fee small{font-size:14px;margin-left:5px}.lesson-card .lesson-note{font-size:12px;margin-top:12px;color:#7c817b}.lesson .button{margin-top:22px}
.details{padding:37px 24px 36px}.details .section-title{margin-bottom:37px}.details dl{font-size:13px;letter-spacing:.04em}.details dt{background:var(--blush);padding:15px 16px;font-size:14px}.details dd{padding:10px 12px 14px;line-height:1.9;border-bottom:1px solid #ece9e4}.month{display:block;font-weight:400;color:var(--deep);margin:3px 0 6px}.month.dec{margin-top:15px}.date-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 8px}.date{display:inline-flex;white-space:nowrap;letter-spacing:0}.day{display:inline-block;width:2ch;text-align:right;font-variant-numeric:tabular-nums}.weekday{font-size:12px}.details .cost{font-size:21px;color:var(--deep);letter-spacing:.03em}
.qa{padding:39px 24px 32px}.qa .section-title{margin-bottom:31px}.qa details{margin-bottom:15px;border-bottom:1px solid #d8e0d8;font-size:13px}.qa summary{list-style:none;background:var(--mint);color:#fff;padding:13px 24px 13px 13px;position:relative;cursor:pointer;font-size:13px;letter-spacing:.03em;line-height:1.7}.qa summary::-webkit-details-marker{display:none}.qa summary:after{content:'+';position:absolute;right:11px;top:13px}.qa details[open] summary:after{content:'−'}.qa summary span{font-size:19px;margin-right:8px}.qa .answer{padding:17px 13px 20px;line-height:1.9;letter-spacing:.035em}.qa .answer b{color:var(--mint);font-size:18px;font-weight:400;margin-right:8px}
.message{padding:42px 24px 47px}.message .section-title{margin-bottom:30px}.message-copy h3{font-size:23px;font-weight:400;text-align:center;line-height:1.8;letter-spacing:.045em;margin-bottom:25px}.message-copy p{font-size:13px;line-height:2;letter-spacing:.07em}.message-copy p+p{margin-top:17px}.message .button{margin-top:26px}.mobile-status{font:10px/1.8 var(--sans);letter-spacing:.025em;color:#788379;text-align:center;margin-top:17px}.footer{padding:22px 12px 25px;text-align:center;font-size:11px;letter-spacing:.055em;border-top:1px solid #dfdfd8;background:#f9f8f3}.footer .name{display:block;color:var(--deep);font-size:21px;margin-bottom:5px;letter-spacing:.03em}
@media(max-width:1120px) and (min-width:861px){.sidebar{left:28px;width:270px}.school-mark{font-size:21px}.school-mark span{font-size:25px}.sidebar nav{width:245px}.sidebar nav .en{font-size:24px}.sidebar .button,.draft{width:245px}.sheet{margin-left:345px;margin-right:0}}
@media(max-width:860px){.backdrop,.backdrop-word,.sidebar{display:none}body{background:#fff}.sheet{width:100%;max-width:420px;margin:0 auto;box-shadow:none}.mobile-menu{display:block;position:absolute;top:20px;right:25px;z-index:10}.mobile-menu summary{list-style:none;font:22px/1 var(--sans);color:var(--deep);cursor:pointer;padding:4px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;right:0;top:34px;width:218px;background:#f1ead7;padding:10px 17px;box-shadow:0 6px 20px #283c3420}.mobile-menu nav a{display:block;font-size:14px;padding:10px 0;border-bottom:1px solid #ddd7c4}.hero{padding-top:120px}.hero-band{width:79%;top:59px}.hero-photo{width:80%}.hero-photo img{height:auto;aspect-ratio:5/6;object-fit:cover}.hero-copy{width:80%}.hero-copy h2{font-size:24px}.intro{padding-top:58px}.concept,.table,.lesson,.details,.qa,.message{padding-left:24px;padding-right:24px}.point-image img{height:220px}.offset-photo img{height:200px}}
@media(max-width:350px){.hero-band h1{font-size:23px}.hero-copy h2{font-size:22px}.concept,.table,.lesson,.details,.qa,.message{padding-left:20px;padding-right:20px}.mini-card{padding-left:13px;padding-right:105px}.mini-card:nth-of-type(even){padding-left:105px;padding-right:13px}.mini-card img{width:103px}.mini-card p{font-size:12px}.section-title .en{font-size:35px}.point-image img{height:190px}.point-number{right:10px}.date-grid{gap:6px}.date{font-size:12px}}
.hero-copy h2{font-size:21px;letter-spacing:.04em}@media(max-width:860px){.hero-copy h2{font-size:20px;letter-spacing:.04em}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.sidebar,.backdrop,.backdrop-word,.mobile-menu{display:none}.sheet{margin:0 auto;box-shadow:none}.point,.mini-card,.lesson-card,details{break-inside:avoid}.button{display:none}}

.table-photo img{height:auto;object-fit:contain}

.date-online,.date-full{display:flex;flex-wrap:wrap;justify-content:center;white-space:normal}.date-note{flex-basis:100%;text-align:center;font-size:10px;line-height:1.4;white-space:nowrap}.date-full{color:#a34f42}.date-full .date-note{font-weight:700}


/* More even text wrapping across desktop and mobile. */
.intro p,.point-body p,.table-copy p,.details dd,.message-copy p{letter-spacing:.025em;line-break:strict;word-break:normal;overflow-wrap:normal;text-wrap:pretty}.intro .lead,.section-title h2,.point-body h3,.message-copy h3{letter-spacing:.035em;line-break:strict;text-wrap:balance}.button{letter-spacing:.06em}

.hero-copy .hero-tagline{display:inline-block;white-space:nowrap;font-size:clamp(9px,3.5vw,13px);letter-spacing:0}

.intro .lead span{white-space:nowrap}

.intro .intro-copy{width:calc(100% - 30px);margin-left:auto;margin-right:auto}
