/* Only the three opt-in page templates use these responsive rules. */
.fufu-series-mobile,.fufu-mobile-selector{display:none}
.fufu-preparing{max-width:360px;width:calc(100% - 40px);border:1px solid #d4b06c;border-radius:20px;padding:28px;background:#fffaf0;color:#192d58;text-align:center;box-shadow:0 15px 60px #192d5833;line-height:1.7}
.fufu-preparing::backdrop{background:#192d5870}.fufu-preparing button{display:block;margin:18px auto 0;padding:10px 24px;border:0;border-radius:24px;background:#192d58;color:white;font:inherit}
@media(max-width:1024px){
 .header.reference-header{position:sticky!important;top:0!important;z-index:1000;display:flex!important;justify-content:space-between!important;min-height:72px!important;height:auto!important;padding:12px 16px!important;background:#fffaf5!important;overflow:visible!important}
 body.admin-bar .header.reference-header{top:32px!important}
 .header.reference-header .brand img{width:142px!important;height:auto!important}
 .header.reference-header .menu-button{display:block!important;flex:none!important;min-width:94px;min-height:44px;border:1px solid #d4b06c;border-radius:24px;background:#fff9ec;color:#192d58;font:700 15px/1.2 'Fufu Noto',sans-serif;padding:10px 14px}
 .header.reference-header .nav.reference-nav{display:none!important}
 .header.reference-header .nav.reference-nav.is-open{position:absolute!important;top:100%!important;left:0!important;right:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;width:100%!important;max-height:calc(100svh - 120px);overflow:auto!important;padding:10px 18px 20px!important;background:#fffaf5!important;box-shadow:0 14px 25px #192d5826;box-sizing:border-box}
 .header.reference-header .reference-nav>.nav-direct{flex-shrink:0;min-height:56px!important;white-space:normal;border-bottom:1px solid #e8dac8;padding:10px!important;justify-content:flex-start!important}
 .header.reference-header .reference-nav .nav-label{text-align:left;white-space:normal}.header.reference-header .reference-nav .nav-ja{font-size:15px!important}.header.reference-header .reference-nav .nav-en{font-size:10px!important}
 .header.reference-header .reference-nav>.nav-shop{margin-top:8px;justify-content:center!important}
 .ed-contact input,.ed-contact textarea,.ed-contact select{font-size:16px!important;max-width:100%;box-sizing:border-box}.ed-contact .ed-button{min-height:48px}
}
@media(max-width:782px){body.admin-bar .header.reference-header{top:46px!important}}
@media(max-width:600px){
 .characters-v13-intro-copy{padding:40px 18px 24px!important}.characters-v13-intro-copy h1{font-size:27px!important;text-wrap:balance}
 .characters-v13-intro-navigation>img,.characters-v13-intro-navigation>nav:not(.fufu-mobile-selector){display:none!important}
 .fufu-mobile-selector{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;padding:8px 16px 24px;background:#f6f7fb;line-height:1.2}
 .fufu-mobile-selector a{padding:13px 16px;border:1px solid #d5b874;border-radius:24px;background:#fff9ec;font:bold 13px Arial;color:#402259;min-height:44px;box-sizing:border-box}
 .fufu-series{background:#fcf6e8!important;scroll-margin-top:72px!important}
 .fufu-series>img,.fufu-series>.characters-v13-hit,.fufu-series>.characters-art-sr{display:none!important}
 .fufu-series-mobile{display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - 72px);padding:12px 0 24px;box-sizing:border-box;line-height:1.4;overflow:hidden;background:linear-gradient(#ffffff00,#fff7e9)}
 #omusubi .fufu-series-mobile{background:linear-gradient(#e7e4fa,#fff5df)}
 #kokorobi .fufu-series-mobile{background:linear-gradient(#fff1d0,#fff6e9)}
 #goen .fufu-series-mobile{background:linear-gradient(#fff0df,#ffeadd)}
 #komusubi .fufu-series-mobile{background:linear-gradient(#e3f5ff,#fff9e8)}
 .fufu-series-title,.fufu-series-art{position:relative;overflow:hidden;aspect-ratio:var(--crop-ratio);flex-shrink:0}
 .fufu-series-title{width:65%;max-width:280px;margin:0 auto -4px;mask-image:linear-gradient(transparent,#000 9%,#000 91%,transparent)}
 .fufu-series-art{width:100%;mask-image:linear-gradient(transparent,#000 8%,#000 94%,transparent)}
 .fufu-series-mobile img{position:absolute!important;top:0!important;left:var(--image-left)!important;width:var(--image-width)!important;height:auto!important;max-width:none!important;display:block!important;object-fit:initial!important;margin:0!important}
 .fufu-series-actions{display:grid;gap:10px;padding:16px 24px 0}
 .fufu-series-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #bf953f;border-radius:32px;background:linear-gradient(#fffdf7,#f3e8c0);color:#402259;text-decoration:none;font:700 14px/1.4 'Fufu Noto',sans-serif;padding:10px 12px;box-shadow:0 4px 0 #ccb676}
 .business-main{padding:24px 16px 32px!important}
 .business-hero h1{font-size:36px!important;line-height:1.25!important}.business-hero strong{font-size:17px!important;line-height:1.7!important}
 .business-company{padding:24px 18px!important}.business-company h2{font-size:32px!important}.business-company h2:after{width:60px!important;height:60px!important;right:-8px!important;top:-16px!important}
 .business-company dl div{font-size:15px!important;line-height:1.7!important;overflow-wrap:anywhere}
 .business-offers{display:flex!important;flex-direction:column!important;gap:0!important;margin:16px 0!important}
 .business-card{flex:none;width:100%;min-height:calc(100svh - 72px)!important;aspect-ratio:auto!important;border-radius:0!important;background-size:100% auto!important;background-position:center!important;background-color:transparent!important;box-shadow:none!important;scroll-margin-top:72px}
 .business-card:hover{transform:none!important}
 .business-shell .business-contact{aspect-ratio:auto!important;min-height:210px!important;background:#fffaf0!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px!important}
 .business-shell .business-contact>*{display:none!important}
 .business-shell .business-contact .business-contact-copy{display:block!important;position:static!important;width:100%!important;opacity:1!important;text-align:center!important}
 .business-shell .business-contact .business-contact-copy h2{font-size:22px!important;white-space:normal!important;line-height:1.5!important}.business-contact-copy h2:after{display:none!important}
 .business-shell .business-contact .business-contact-copy p{font-size:14px!important;white-space:normal!important;line-height:1.7!important;margin:10px 0 18px!important}
 .business-shell .business-contact>a{display:flex!important;position:static!important;transform:none!important;width:auto!important;height:auto!important;min-height:48px!important;padding:12px 24px!important;font:700 17px/1.4 'Fufu Noto',sans-serif!important;color:#192d58!important;background:#fff3d5!important;border:1px solid #bf953f!important;opacity:1!important}
 .business-shell .business-contact>a span,.business-shell .business-contact>a b{position:static!important;opacity:1!important;color:inherit!important}
 .business-shell .business-contact>a .business-contact-knot{display:none!important}
 .ed-shell{padding-left:16px!important;padding-right:16px!important}.ed-contact{grid-template-columns:1fr!important;gap:24px!important}.ed-contact-form{min-width:0!important}.ed-contact aside{padding:20px!important}
 .business-related-links{padding:24px 12px!important;gap:16px!important}.business-related-links a{font-size:16px!important;min-height:44px}
}
.fufu-mobile-shop{display:none}
@media(max-width:1024px){
 .header.reference-header{gap:8px!important;padding:10px 12px!important}
 .header.reference-header .brand{margin-right:auto!important}.header.reference-header .brand img{width:120px!important}
 .header.reference-header .fufu-mobile-shop{display:flex;align-items:center;justify-content:center;flex:none;min-height:44px;padding:8px 11px;border:1px solid #d5b874;border-radius:24px;background:#fff1ce;color:#402259;text-decoration:none;font:700 11px/1.3 Arial,sans-serif;box-sizing:border-box}
 .header.reference-header .menu-button{min-width:76px;font-size:13px;padding:10px}
}
@media(max-width:360px){.header.reference-header .brand img{width:98px!important}.header.reference-header{gap:6px!important;padding:10px!important}.header.reference-header .fufu-mobile-shop{font-size:10px;padding:8px}.header.reference-header .menu-button{min-width:68px;font-size:12px}}
@media(max-width:600px){
 .characters-v13-page .fufu-series>img.characters-v13-plate,.characters-v13-page .characters-v13-intro-navigation>img.characters-v13-plate{display:none!important}
 .characters-v13-page .fufu-series>.characters-v13-hit,.characters-v13-page .characters-v13-intro-navigation>nav:not(.fufu-mobile-selector){display:none!important}
 .fufu-series-title{mask-image:linear-gradient(transparent,#000 12%,#000 84%,transparent);mask-composite:intersect}
}
@media(max-width:600px){.fufu-series-title{width:85%;max-width:none;mask-image:linear-gradient(transparent,#000 10%,#000 87%,transparent),linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}}

/* 1.0.1: keep the two mobile actions together at the right. */
@media(max-width:1024px){
 .header.reference-header{justify-content:flex-start!important;column-gap:8px!important}
 .header.reference-header .fufu-mobile-shop,.header.reference-header .menu-button{margin-left:0!important;margin-right:0!important}
}
