/* Magazine-inspired menu stories: full image, tabbed label, generous text spacing. */
.treatment-ticket{margin:42px 0 52px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0}
.menu-photo-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;border-bottom:1px solid #24659d}
.menu-index{display:inline-flex;gap:12px;align-items:center;background:#d9ebfa;border:1px solid #24659d;border-bottom:0;border-radius:12px 12px 0 0;padding:9px 17px;font:700 10px/1.2 Arial;letter-spacing:.1em;color:#17558d}
.menu-index b{font-size:21px;letter-spacing:0}.menu-curated{font:700 9px/1.4 Arial;letter-spacing:.08em;color:#43749e;padding-bottom:10px}
.menu-visual{margin:0;background:#eaf4fd;border:1px solid #91b3cf;border-top:0;overflow:hidden}
.menu-visual a{display:block}.menu-visual img{display:block;width:100%;height:auto;aspect-ratio:1200/438;object-fit:contain}
.menu-story{padding:22px 15px 24px;border-bottom:1px dashed #8cabc7}
.menu-story .treatment-sources{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.menu-story .tag{font-size:10px;line-height:1.5;padding:5px 9px;background:#eff6fc;border:1px solid #c8ddea;color:#315e84}
.menu-story h2{font-size:23px;line-height:1.7;text-align:left;margin:10px 0 22px;color:#14558e;overflow-wrap:anywhere}
.menu-reason{position:relative;padding:20px 16px 18px;background:#eff6fc;border-radius:0 14px 14px 14px;margin:28px 0}
.menu-reason-label{display:table;margin:-32px 0 14px;padding:5px 10px;background:#fff;border:1px solid #afc9df;border-radius:20px;font-size:11px;line-height:1.5;color:#255d8c;font-weight:700}
.menu-reason .original-copy{font-size:15px;line-height:2.05;white-space:pre-wrap}
.menu-story>.btn{margin-top:8px;min-height:52px;border-radius:28px;font-size:14px;box-shadow:none}
.menu-story>.hint{text-align:center;font-size:11px;line-height:1.8;margin-top:11px}
.menu-story .pdf-menu-note{margin:22px 0;padding:16px;font-size:13px;line-height:1.9;border-radius:8px}
@media(min-width:700px){.menu-story{padding:26px 28px 32px}.menu-story h2{font-size:27px}.menu-reason{padding:22px 24px}.menu-reason .original-copy{font-size:16px}}

.menu-visual a{display:block;text-decoration:none;color:#fff;background:#285da0}
.menu-image-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;font-size:14px;font-weight:700;letter-spacing:.04em}
.menu-image-cta>span{font-size:20px}.menu-visual a:focus-visible,.menu-title-link:focus-visible{outline:3px solid #d5a63b;outline-offset:4px}
.menu-visual a:hover .menu-image-cta{background:#1e4d88}
.menu-title-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.menu-title-link span{white-space:nowrap;font-size:18px}
.menu-story .menu-price{font-size:20px;font-weight:600;color:#285da0;margin:12px 0 26px;line-height:1.6}.menu-story .menu-reason{margin-top:24px}

/* Mobile magazine composition: overlapping caption, highlighted title, price ticket. */
.menu-photo-heading{border:0;padding:0 4px 8px}.menu-index{background:transparent;border:0;padding:0;color:#22568a;font-size:10px;letter-spacing:.12em}.menu-index b{font-family:Georgia,serif;font-size:29px;font-style:italic;font-weight:400;letter-spacing:-.05em;margin-left:4px}.menu-curated{font-size:9px;letter-spacing:.14em}
.menu-visual{border:0;overflow:visible;margin:0 0 24px;position:relative}.menu-visual a{background:transparent;position:relative;border-radius:3px;overflow:visible}.menu-visual img{border-radius:3px;display:block}
.menu-image-cta{position:relative;z-index:1;margin:-9px 12px 0 auto;width:max-content;max-width:calc(100% - 24px);padding:8px 8px 8px 19px;gap:20px;border:1px solid #245b91;border-radius:40px;background:#e5f1fc;color:#194d83;box-shadow:3px 3px 0 #245b91;transform:rotate(-3deg);transition:transform .2s,box-shadow .2s}
.menu-cta-label{font-size:13px;line-height:1.3;text-align:center;letter-spacing:.03em}.menu-cta-en{display:block;font-size:9px;font-weight:600;letter-spacing:.16em;margin-top:3px}.menu-image-cta .menu-cta-arrow{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:50%;background:#245b91;color:white;font-size:25px;font-weight:400}
.menu-visual a:hover .menu-image-cta{background:#e5f1fc;transform:rotate(0deg);box-shadow:1px 1px 0 #245b91}.menu-story{padding-top:5px}.menu-editorial-heading{margin-bottom:30px}.menu-personal-label{display:flex;align-items:center;gap:9px;font-size:10px;color:#285c90;font-weight:700;letter-spacing:.12em;margin:0 0 14px}.menu-personal-label:before{content:'';display:block;width:19px;height:1px;background:currentColor}.menu-personal-label>span{font-size:11px;letter-spacing:.04em;font-weight:500}
.menu-story .menu-editorial-title{text-align:left;font-size:22px;line-height:1.85;letter-spacing:.015em;margin:0 0 18px;font-weight:700}.menu-title-link{text-decoration:none;color:#194b7a}.menu-editorial-title>a>span,.menu-editorial-title>span{background:#dcecff;padding:4px 7px;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-radius:4px}.menu-title-link:hover>span{background:#c3dff8}
.menu-price-ticket{display:flex;align-items:center;gap:15px;padding:10px 0;border-top:1px dotted #8bafce;border-bottom:1px dotted #8bafce}.menu-price-caption{font-size:10px;letter-spacing:.13em;color:#50799f;white-space:nowrap}.menu-story .menu-price{margin:0;font-family:Georgia,'Noto Sans JP',serif;font-size:27px;font-weight:400;letter-spacing:.015em;line-height:1.35;color:#214d76}.menu-yen{font-size:17px;margin-right:5px}.menu-price-ticket:has(.menu-price:not(:has(.menu-yen))) .menu-price{font-family:inherit;font-size:14px;line-height:1.7}
@media(prefers-reduced-motion:reduce){.menu-image-cta{transition:none}}

/* Keep the banner and its compact link within the same rectangular image. */
.menu-visual{margin:0 0 25px;background:transparent;border-radius:3px;overflow:hidden}.menu-visual a{overflow:hidden;position:relative;border-radius:3px}.menu-visual img{width:100%;height:auto;display:block}
.menu-image-cta{position:absolute;right:7px;bottom:7px;margin:0;padding:5px 8px 5px 10px;gap:7px;border:1px solid rgba(36,91,145,.4);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:none;transform:none;max-width:calc(100% - 14px)}
.menu-image-cta .menu-cta-label{font-size:11px;line-height:1.5;letter-spacing:.02em;font-weight:600}.menu-image-cta .menu-cta-arrow{width:21px;height:21px;flex-basis:21px;font-size:17px}.menu-visual a:hover .menu-image-cta{transform:none;box-shadow:none;background:#e5f1fc}
.menu-title-link{display:inline;color:#194b7a;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.menu-editorial-title .menu-title-arrow{display:inline-block;background:#245b91;color:white;border-radius:50%;width:27px;height:27px;line-height:27px;text-align:center;padding:0;margin-left:8px;font-size:20px;vertical-align:middle;box-decoration-break:slice;-webkit-box-decoration-break:slice}

.menu-dual-price{display:grid;grid-template-columns:1fr 1fr;border-top:1px dotted #8bafce;border-bottom:1px dotted #8bafce;padding:16px 0;gap:12px}.menu-dual-price>a{display:flex;flex-direction:column;gap:9px;text-decoration:none;color:#214d76;padding:8px 10px;border-radius:5px}.menu-first-price{background:#e8f3fd}.menu-dual-price .menu-price-caption{font-size:11px;letter-spacing:0}.menu-dual-price .menu-price{font-size:27px;margin:0}.menu-dual-price .menu-regular-price .menu-price{font-size:22px;color:#596b7c}.menu-price-detail{font-size:11px;text-decoration:underline;text-underline-offset:3px}.menu-dual-price>a:focus-visible{outline:2px solid #245b91;outline-offset:3px}.menu-dual-price>a:hover{background:#dcecff}

.menu-dual-price>div{display:flex;flex-direction:column;gap:8px;padding:8px 10px;border-radius:5px}.menu-price-footnote{font-size:11px;line-height:1.7;color:#617084;margin:10px 0 0}.menu-story .menu-line-note{font-size:13px;font-weight:400;line-height:1.8;color:#425d77;margin:15px 0 22px;padding:12px 0;border-top:1px dotted #8bafce;border-bottom:1px dotted #8bafce}

.menu-image-cta,.menu-visual a:hover .menu-image-cta{background:rgba(255,255,255,.55)}
.menu-first-price{background:transparent}

/* A personal magazine clipping: tab, original words, then a compact photo. */
.letter-body .letter-menu-card{position:relative;margin:40px 0 30px;padding:23px 18px 16px;border:1px solid #7397b7;border-radius:0 13px 13px 13px;background:#fff;box-shadow:4px 4px 0 #dceaf5}
.letter-menu-tab{position:absolute;bottom:100%;left:-1px;display:flex;align-items:center;gap:24px;height:27px;padding:0 12px;border:1px solid #7397b7;border-bottom:0;border-radius:8px 8px 0 0;background:#fff;color:#285779;font:700 10px/1 Arial,sans-serif;letter-spacing:.1em}
.letter-menu-tab b{font:italic 18px/1 Georgia,serif;letter-spacing:0}
.letter-body .letter-menu-card .letter-treatment{margin:0 0 12px;padding:0;border:0;background:none;text-align:left;font-size:17px;line-height:1.8;letter-spacing:.02em;color:#234f79}
.letter-body .letter-menu-card .letter-paragraph{margin:0;padding:0;color:#29445e;font-size:15px;line-height:2}
.letter-body .letter-menu-footer{margin-top:17px}
.letter-body .letter-menu-compact{display:block;position:relative;border-radius:7px;overflow:hidden;text-decoration:none;color:#234f79}
.letter-body .letter-menu-compact img{display:block;width:100%;height:auto;margin:0}
.letter-body .letter-menu-compact>span{position:absolute;bottom:6px;right:6px;display:flex;align-items:center;gap:6px;padding:4px 6px 4px 10px;background:rgba(255,255,255,.78);border:1px solid #829cb2;border-radius:30px;font-size:10px;line-height:1.5;white-space:nowrap}
.letter-menu-compact b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#315f86;color:white;font:400 15px/1 Arial,sans-serif}
.letter-menu-compact:focus-visible{outline:3px solid #245b91;outline-offset:3px}
@media(hover:hover){.letter-menu-compact:hover>span{background:white}}

/* Handwritten menu label across the folder, with its edition tab on the right. */
.letter-body .letter-menu-card{margin-top:66px;border-radius:12px 0 13px 13px;padding-top:24px}
.letter-menu-tab{left:auto;right:-1px;gap:10px}
.letter-body .letter-menu-card .letter-treatment{position:relative;display:table;max-width:calc(100% - 95px);margin:-43px 0 23px -8px;padding:5px 12px;transform:rotate(-3deg);transform-origin:left center;background:#e4f0fc!important;box-shadow:3px 4px 0 #c6dcf0;color:#164d7b;font-family:'HanziPen SC','HanziPen TC','HGP行書体','Yu Kyokasho','Yu Mincho',serif;font-size:21px;font-weight:700;line-height:1.6;border-radius:3px 8px 4px 6px;overflow-wrap:anywhere}
@media(max-width:360px){.letter-body .letter-menu-card .letter-treatment{font-size:18px;max-width:calc(100% - 95px)}}

/* White marker only beneath the handwritten lettering. */
.letter-body .letter-menu-card .letter-treatment{background:transparent!important;box-shadow:none;border-radius:0;padding:5px 0;}
.letter-treatment .menu-name-ink{background:linear-gradient(transparent 52%,#fff 52%,#fff 94%,transparent 94%);padding:0 4px;box-decoration-break:clone;-webkit-box-decoration-break:clone;}

/* Title sits above the left portion of the folder, clear of both edges. */
.letter-body .letter-menu-card{margin-top:150px}
.letter-body .letter-menu-card .letter-treatment{position:absolute;left:0;bottom:calc(100% + 44px);width:calc(100% - 95px);max-width:none;margin:0;padding:0 4px;text-align:center;font-family:'HanziPen SC','HanziPen TC','HGP行書体','Yu Kyokasho',cursive;font-size:20px;line-height:1.5;transform:rotate(-3deg)}
@media(max-width:360px){.letter-body .letter-menu-card .letter-treatment{font-size:17px;max-width:none}}
@font-face{font-family:EightSkinMenuHand;src:url('fonts/menu-hand.woff2') format('woff2');font-weight:400;font-display:swap}
.letter-body .letter-menu-card .letter-treatment{font-family:EightSkinMenuHand,'HanziPen SC',cursive;font-weight:400}
/* Compact editorial heading, beside the folder tab rather than above it. */
.letter-body .letter-menu-card{margin-top:78px;padding-top:20px;box-shadow:3px 3px 0 #dceaf5}
.letter-body .letter-menu-card:has(.letter-treatment br){margin-top:106px}
.letter-body .letter-menu-card .letter-treatment{bottom:calc(100% + 12px);width:calc(100% - 112px);line-height:1.4;letter-spacing:0}
.letter-menu-tab{gap:7px;padding:0 10px;font-size:9px;height:26px}
.letter-menu-tab b{font-size:17px}

/* Center the handwritten title and retain a half-height marker. */
.letter-body .letter-menu-card .letter-treatment{left:50%;width:calc(100% - 24px);bottom:calc(100% + 35px);transform:translateX(-50%) rotate(-3deg);transform-origin:center;text-align:center}
.letter-body .letter-menu-card{margin-top:92px}
.letter-body .letter-menu-card:has(.letter-treatment br){margin-top:120px}
.letter-treatment .menu-name-ink{background:linear-gradient(transparent 54%,#fff 54%,#fff 96%,transparent 96%);padding:0 8px;box-decoration-break:clone;-webkit-box-decoration-break:clone}

.letter-treatment .menu-name-ink{background:linear-gradient(transparent 54%,#fff1a6 54%,#fff1a6 96%,transparent 96%)}
.letter-body .letter-menu-card .letter-treatment{font-size:clamp(16px,4.1vw,20px);white-space:nowrap;width:calc(100% - 12px)}

/* Strengthen the handwritten heading without adding another decoration. */
.letter-body .letter-menu-card .letter-treatment{font-weight:700;-webkit-text-stroke:.35px currentColor;color:#164d7b;letter-spacing:.015em}
