#products .label-heading{font-size:clamp(32px,4.7vw,58px);padding:18px 40px;border-width:4px;box-shadow:8px 8px #151515;line-height:1.45}#products .section-heading{margin-bottom:48px}#products .section-heading p{font-size:19px}.product-body{display:flex;flex-direction:column;flex:1}.product{display:flex;flex-direction:column}.product .tags{margin-top:auto;padding-top:20px}.product .tags li{font-size:13px}.product-detail-link{min-height:54px;background:var(--yellow);padding:10px 16px;border:3px solid;box-shadow:3px 3px #151515;font-size:17px}.product-detail-link:hover{color:#151515;background:#fff37d}
.budget-jump{margin:48px 0 0;border:4px solid #151515;box-shadow:7px 7px #151515;padding:22px 28px;background:var(--yellow);display:flex;align-items:center;gap:22px;flex-wrap:wrap;transform:rotate(-1deg)}.budget-jump>span{font-size:16px;font-weight:900;background:#151515;color:white;padding:5px 10px}.budget-jump strong{font-size:32px}.budget-jump>b{font-size:17px;margin-left:auto}.budget-jump:hover{background:#fff272}
.estimate.simulator{display:block;margin-top:52px;padding:0;border:4px solid #151515;box-shadow:8px 8px #151515;background:#e2f8fc;overflow:hidden;scroll-margin-top:110px}.sim-banner{text-align:center;padding:28px 20px;background:var(--yellow);background-image:radial-gradient(white 2px,transparent 2px);background-size:12px 12px;border-bottom:4px solid #151515}.sim-banner h2{font-size:clamp(30px,4.3vw,52px);line-height:1.4;margin:7px 0 12px;font-weight:900;letter-spacing:-.04em}.sim-banner p{font-size:17px;font-weight:800;margin:0}.simulator form{display:block;padding:30px;margin:0}.simulator fieldset{padding:0;margin:0 0 27px;border:0;min-width:0}.simulator fieldset:last-child{margin-bottom:0}.simulator legend{font-size:21px;font-weight:900;padding:0;margin-bottom:15px}.simulator legend>span{display:inline-block;background:var(--pink);color:white;padding:2px 9px;margin-right:8px;font-size:17px;border:2px solid #151515}.choice-grid{display:grid;gap:13px}.types{grid-template-columns:repeat(3,1fr)}.counts{grid-template-columns:repeat(3,1fr)}.designs{grid-template-columns:repeat(2,1fr)}.choice{position:relative;cursor:pointer;min-width:0}.choice input{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0;top:0;left:0}.choice>span{min-height:88px;border:3px solid #151515;background:white;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:13px 10px;text-align:center;box-shadow:3px 3px #151515;transition:background .12s,transform .12s}.choice b{font-size:23px}.choice small{font-size:13px;font-weight:600}.choice input:checked+span{background:var(--yellow);box-shadow:inset 0 0 0 3px white,3px 3px #151515}.choice input:checked+span:before{content:'✓ 選択中';font-size:12px;font-weight:900}.choice input:focus-visible+span{outline:4px solid #1858d8;outline-offset:4px}.choice:hover>span{transform:translateY(-2px);background:#fffde0}.choice input:checked+span{min-height:108px}.choice>span{height:100%;min-height:108px}.sim-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 30px;background:white;border-top:3px solid}.simulator .estimate-result{text-align:left}.simulator .estimate-result>span{font-size:16px;font-weight:900}.simulator .estimate-result strong{font-size:clamp(32px,4.5vw,50px);line-height:1.5;color:var(--pink)}.simulator .estimate-result small{font-size:13px;line-height:1.8}.sim-bottom>.button{min-height:70px;font-size:18px;padding:15px 22px;white-space:nowrap}
.related-services{max-width:1120px;margin:0 auto 50px;padding-bottom:45px;border-bottom:1px solid #777}.related-services .eyebrow{color:var(--yellow)}.related-services h2{font-size:29px;margin:12px 0 26px}.service-banners{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-banner{padding:23px 21px;text-align:left;display:flex;flex-direction:column;gap:14px;border:3px solid white;box-shadow:5px 5px #666;min-height:174px;color:#151515;transition:transform .15s}.service-banner:hover{transform:translateY(-4px)}.service-banner small{font-size:13px;font-weight:800}.service-banner strong{font-size:clamp(20px,2.3vw,27px);line-height:1.5;white-space:nowrap}.service-banner>span{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:800}.service-banner span b{font-size:23px}.service-banner.matsuri{background:#ff365d;color:white}.service-banner.kanpai{background:var(--yellow)}.service-banner.reframe{background:#d3f33d}.footer-company{display:block;width:fit-content;margin:25px auto 0;font-size:15px;font-weight:800;border-bottom:1px solid;padding-bottom:4px}
.detail-hero{padding:36px 50px 55px;border-bottom:4px solid}.detail-hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:45px;align-items:center}.detail-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.4;margin:10px 0 23px}.detail-hero h1>span{display:block;font-size:.65em}.detail-hero h2{font-size:24px;line-height:1.7}.detail-hero p{font-size:16px;line-height:2}.detail-hero .tags{margin:20px 0}.detail-hero .tags li{background:white;font-size:14px}.detail-card{padding:20px 15px}.detail-card .card-art{max-width:280px;margin:auto}.detail-hero .button{margin-top:8px}.detail-scenes{background:#fffdec}.scene-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.scene-grid article{border:3px solid;padding:20px;background:white;box-shadow:4px 4px #151515}.scene-grid article>span{font-size:30px;font-weight:900;color:var(--pink)}.scene-grid h3{font-size:22px}.scene-grid p{font-size:15px;margin:0}.prepare-list{list-style:none;padding:0;counter-reset:prepare}.prepare-list li{padding:18px 18px 18px 58px;background:#effaff;border:2px solid;margin:12px 0;font-weight:800;position:relative}.prepare-list li:before{counter-increment:prepare;content:counter(prepare);position:absolute;left:18px;top:15px;font-size:22px;color:var(--pink);font-weight:900}.detail-note{background:#fff9d2;padding:18px;border-left:5px solid var(--yellow);font-size:14px;line-height:1.9}.other-products>div{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:25px}.detail-page .reason-grid h3{font-size:20px}
@media(max-width:1000px){.scene-grid{grid-template-columns:repeat(2,1fr)}.detail-hero{padding:30px}.detail-hero-grid{gap:20px}.service-banners{gap:15px}.service-banner{padding:20px 14px}.service-banner strong{font-size:22px}.sim-bottom{flex-direction:column;align-items:stretch}.sim-bottom>.button{width:100%}}
@media(max-width:800px){#products .label-heading{font-size:31px;padding:16px 17px}#products .section-heading p{font-size:16px}.budget-jump{display:block;padding:22px 17px;text-align:center}.budget-jump>span{display:inline-block;font-size:14px}.budget-jump strong{display:block;font-size:27px;margin:14px 0}.budget-jump>b{font-size:16px}.simulator form{padding:24px 16px}.sim-banner{padding:25px 12px}.sim-banner h2{font-size:30px}.sim-banner p{font-size:14px}.simulator legend{font-size:18px}.choice-grid{gap:10px}.types{grid-template-columns:1fr}.types .choice>span{min-height:80px}.counts{grid-template-columns:repeat(2,1fr)}.designs{grid-template-columns:1fr}.choice b{font-size:21px}.choice small{font-size:13px}.sim-bottom{padding:23px 16px}.sim-bottom>.button{font-size:16px;min-height:64px}.simulator .estimate-result strong{font-size:37px}.simulator .estimate-result small{font-size:12px}.service-banners{grid-template-columns:1fr;gap:20px}.service-banner{max-width:440px;width:100%;margin:auto;padding:22px}.service-banner strong{font-size:28px}.related-services h2{font-size:24px}.detail-hero{padding:25px 22px 35px}.detail-hero-grid{grid-template-columns:1fr}.detail-hero h1{font-size:42px}.detail-hero h2{font-size:22px}.detail-card{padding:20px 65px}.detail-hero .button{width:100%;font-size:15px}.scene-grid{grid-template-columns:1fr;gap:20px}.scene-grid article{padding:20px}.scene-grid h3{font-size:23px}.detail-page .cta-band h2{font-size:22px}.other-products>div{display:grid;gap:20px}.other-products .button{font-size:16px}.estimate.simulator{box-shadow:5px 5px #151515}.prepare-list li{font-size:15px}.detail-hero .breadcrumbs{font-size:12px}}
#products .label-heading>span{display:inline-block;white-space:nowrap}

/* Revision 4 */
.budget-jump{background:#1645c8;color:white;background-image:radial-gradient(#ffffff25 1.5px,transparent 1.5px);background-size:12px 12px;border-color:#111}.budget-jump:hover{background-color:#092b91}.budget-jump>span{background:white;color:#1645c8}.budget-jump>b{background:#fff;color:#1645c8;padding:12px 16px;border:2px solid #111}
#price>.section-heading .label-heading{font-size:clamp(36px,5.5vw,64px);padding:18px 46px;box-shadow:8px 8px #151515}#price>.section-heading>.eyebrow{font-size:22px}#price>.section-heading>p{font-size:20px}
.service-banner.matsuri{background-image:linear-gradient(0deg,#380616ef,#38061655),url('service-matsuri.webp')}.service-banner.kanpai{background-image:linear-gradient(0deg,#241b04ef,#241b0440),url('service-kanpai.webp')}.service-banner.reframe{background-image:linear-gradient(0deg,#041728ef,#04172840),url('service-reframe.png')}.service-banner.matsuri,.service-banner.kanpai,.service-banner.reframe{background-size:cover;background-position:center;color:white;min-height:230px;justify-content:flex-end;text-shadow:0 2px 3px #000}.service-banner small{color:white}.service-banner strong{font-size:26px}.service-banner>span{color:white}
@media(max-width:800px){#price>.section-heading .label-heading{font-size:37px;padding:16px 20px}#price>.section-heading>p{font-size:16px}.budget-jump>b{display:inline-block}.service-banner strong{font-size:28px}}

/* Detail pages: comic hero and image navigation */
.detail-hero{position:relative;isolation:isolate;background:#12c4e9 url('hero-comic-v2.png') center/cover no-repeat;overflow:hidden;padding:32px 48px 52px}.detail-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ffffffef 0%,#ffffffdb 40%,#ffffff15 72%)}.detail-hero .breadcrumbs{font-weight:800}.detail-hero-grid{grid-template-columns:1fr 1fr;gap:34px}.detail-hero h1{font-size:clamp(48px,5.6vw,76px);color:#ffe600;-webkit-text-stroke:5px #111;paint-order:stroke fill;text-shadow:4px 5px #111;line-height:1.3;transform:rotate(-3deg);margin-bottom:32px}.detail-hero h1>span{font-size:.9em}.detail-hero h2{font-size:25px}.detail-hero p{font-weight:700}.detail-card{padding:35px 22px;position:relative}.detail-card:before{content:'';position:absolute;inset:0;background:#ffe600;clip-path:polygon(50% 0,58% 19%,78% 5%,76% 29%,100% 28%,86% 47%,100% 66%,78% 68%,83% 94%,60% 81%,49% 100%,40% 82%,17% 96%,22% 72%,0 70%,14% 51%,0 33%,24% 29%,19% 5%,41% 21%)}.detail-card .card-art{max-width:440px;box-shadow:10px 12px #1118;outline:5px solid white}.other-products>div{display:grid;grid-template-columns:1fr 1fr;gap:28px}.other-card{display:block;border:4px solid #111;box-shadow:6px 6px #111;background:white;overflow:hidden}.other-card-visual{padding:30px 70px;border-bottom:4px solid #111}.other-card .card-art{max-width:190px;margin:auto}.other-card>strong{display:block;font-size:25px;padding:20px 24px}.other-card:hover>strong{background:var(--yellow)}.other-products .text-link{grid-column:1/-1;justify-self:start}
@media(max-width:800px){.detail-hero{padding:25px 22px 40px;background-position:65% center}.detail-hero:before{background:linear-gradient(180deg,#fffffff2 0%,#ffffffda 48%,#ffffff10 70%)}.detail-hero-grid{grid-template-columns:1fr;gap:25px}.detail-hero h1{font-size:52px;-webkit-text-stroke-width:4px}.detail-hero h2{font-size:22px}.detail-card{padding:25px 22px}.detail-card .card-art{max-width:330px}.other-products>div{grid-template-columns:1fr}.other-card-visual{padding:30px 65px}.other-card>strong{font-size:22px}}

.case-studies{background:#fffbee}.case-studies .label-heading{font-size:clamp(28px,4vw,48px);padding:15px 25px}.case-studies .case-disclaimer{font-size:13px;margin-top:12px;font-weight:500}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 25px}.case-card{border:4px solid #111;box-shadow:6px 6px #111;background:white;display:flex;flex-direction:column;overflow:hidden}.case-image{position:relative;padding:28px 54px 42px;border-bottom:4px solid #111}.case-image .card-art{max-width:180px;margin:auto}.case-number{position:absolute;left:12px;top:10px;font-size:32px;font-weight:900;color:#111;z-index:1}.case-scene{position:absolute;bottom:10px;right:10px;background:#111;color:white;border:2px solid white;padding:5px 14px;font-weight:900;font-size:18px;transform:rotate(-3deg)}.case-body{padding:22px;display:flex;flex-direction:column;flex:1}.case-type{font-size:12px;font-weight:800;color:#c40065}.case-body h3{font-size:23px;line-height:1.6;margin:10px 0 14px}.case-body p{font-size:15px;margin:0 0 24px;line-height:1.9}.case-body .text-link{margin-top:auto;min-height:44px;font-size:14px}.case-card:hover{box-shadow:8px 8px #111}
@media(max-width:1000px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.case-grid{grid-template-columns:1fr;gap:26px}.case-studies .label-heading{font-size:28px;padding:14px}.case-image{padding:28px 72px 42px}.case-body h3{font-size:23px}}

/* Journal and final typography */
.party-ribbon figcaption{text-align:center;min-width:0;height:100%;box-sizing:border-box}.party-ribbon strong{display:block;text-align:center;margin:0 auto}#contact .form-panel p{font-family:var(--gothic)!important;font-weight:700}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;max-width:1220px;margin:auto;padding:60px 32px}.article-layout .article{max-width:none;margin:0;padding:0;min-width:0}.article-layout .article h1{font-size:clamp(28px,3.1vw,44px);line-height:1.55}.article-layout .article p{line-height:2}.article-meta{font-size:14px;color:#555}.article-sidebar{align-self:start;position:sticky;top:110px;display:grid;gap:20px}.article-sidebar h2{font-size:22px;margin:0 0 8px}.article-sidebar .service-banner{min-height:210px;padding:22px;border:3px solid #111;box-shadow:5px 5px #111;display:flex}.article-sidebar .service-banner strong{font-size:25px}.article-sidebar .service-banner small{font-size:12px}.article-sidebar .service-banner span{font-size:13px}.article-toc,.article-check,.article-author{padding:24px;border:3px solid #111;margin:32px 0;background:#fffde6}.article-toc li{margin:10px 0}.article-author{background:#e3f7fc}.article-author h2{font-size:15px!important;margin:0 0 10px!important}.article-author strong{font-size:24px}.article-related li{margin:15px 0}.article-layout h2{scroll-margin-top:115px}.blog-toolbar{align-items:start;gap:24px}.blog-toolbar .filters{flex-wrap:wrap;flex:1}.blog-toolbar .filters button{min-height:44px}.blog-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:40px}.blog-pagination button{min-width:48px;min-height:48px;border:2px solid #111;background:white;font-weight:800;cursor:pointer}.blog-pagination button[aria-current]{background:var(--yellow);box-shadow:3px 3px #111}#post-count{scroll-margin-top:120px}.post-info h3{font-size:21px;line-height:1.6}.post-info p{font-size:14px}.article-layout .article-end{padding:24px;background:#fff6ce;margin:32px 0}.article-layout a:focus-visible,.blog-pagination button:focus-visible{outline:3px solid #0076ff;outline-offset:4px}@media(max-width:900px){.article-layout{grid-template-columns:minmax(0,1fr);padding:35px 22px;gap:45px}.article-sidebar{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.article-sidebar>h2,.article-sidebar>.eyebrow{grid-column:1/-1}.article-sidebar .service-banner{min-height:200px}.article-sidebar .service-banner strong{font-size:21px}}@media(max-width:650px){.article-sidebar{grid-template-columns:1fr}.article-sidebar .service-banner{min-height:220px}.article-layout .article h1{font-size:28px}.article-toc,.article-check,.article-author{padding:18px}.blog-toolbar{display:block}.search-label{display:block;margin-top:24px}.party-ribbon strong{text-align:center}}

.article-cover{margin:28px 0 36px;border:3px solid #111;box-shadow:6px 6px #111;background:#fff}.article-cover img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block}.article-cover figcaption{padding:9px 14px;font-size:12px;background:var(--yellow)}.post-visual.post-thumbnail{position:relative;overflow:hidden;padding:0;aspect-ratio:16/9;height:auto;min-height:0}.post-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.post-visual.post-thumbnail span{position:absolute;left:14px;bottom:14px;background:#111;color:#fff;font-size:14px;line-height:1.5;padding:7px 12px;transform:none;text-shadow:none;-webkit-text-stroke:0}.article-author.author-box{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;background:#f5fbfe;padding:28px;border:3px solid #111}.author-photo{width:120px;height:150px;object-fit:cover;object-position:center top;border:2px solid #111}.article-author .author-label{font-size:13px!important;margin:0 0 8px!important;color:#555}.article-author h2{font-size:26px!important;margin:0 0 6px!important}.article-author .author-role{font-size:14px!important;margin:0 0 14px!important}.article-author .author-bio{font-size:14px!important;line-height:1.9!important;margin:0 0 15px}.author-link{font-size:14px;text-decoration:underline}.article-layout .entry-content{font-weight:500}.article-toc ol{padding-left:24px}.article-toc li{font-size:15px;line-height:1.6}.article-layout .entry-content h2{font-size:26px;line-height:1.55;margin:44px 0 18px}.article-layout .entry-content p{margin:0 0 22px;line-height:2.1}.article-check h2{margin-top:0!important}@media(max-width:650px){.article-author.author-box{grid-template-columns:82px minmax(0,1fr);gap:16px;padding:18px}.author-photo{width:82px;height:105px}.article-author .author-bio{grid-column:1/-1}.article-layout .entry-content h2{font-size:23px}.article-cover{box-shadow:4px 4px #111}.article-toc li{font-size:14px}}

@media(max-width:650px){.author-copy{display:contents}.author-photo{grid-row:1/4}.author-copy .author-label,.author-copy h2,.author-copy .author-role{grid-column:2}.author-copy .author-bio,.author-copy .author-link{grid-column:1/-1}.article-author.author-box{row-gap:8px}}

/* Event-specific card artwork: show the complete card without the old sprite crop. */
.case-image .case-art{aspect-ratio:auto;max-width:210px;overflow:visible}
.case-image .case-art img{display:block;position:static;width:100%;max-width:100%;height:auto;left:auto;top:auto}
