body.bokubuta-official-page { margin:0; background:#fffaf1; }
body.bokubuta-official-page .wp-site-blocks,
body.bokubuta-official-page main,
body.bokubuta-official-page .entry-content { padding:0!important; margin:0!important; max-width:none!important; }
body.bokubuta-official-page .wp-block-post-title,
body.bokubuta-official-page header.wp-block-template-part,
body.bokubuta-official-page footer.wp-block-template-part { display:none!important; }
#bokubuta-site { --ink:#413735;--muted:#776a66;--rose:#df7b82;--rose-dark:#b95561;--cream:#fffaf1;--green:#738d77;--line:rgba(83,65,59,.14); width:100%; color:var(--ink); background:var(--cream); font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif; line-height:1.5; overflow:hidden; }
#bokubuta-site * { box-sizing:border-box; }
#bokubuta-site a { color:inherit; text-decoration:none; }
#bokubuta-site img { display:block; max-width:100%; }
#bokubuta-site .bb-header { position:sticky;top:0;z-index:40;min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 4vw;background:rgba(255,250,241,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line); }
.bb-brand { display:flex;align-items:center;gap:17px;min-width:0; }
.bb-brand-friends { flex:0 0 auto;height:82px;display:flex;align-items:flex-end;padding:2px 8px 0;overflow:hidden; }
.bb-brand-friends img { width:48px;height:78px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 3px 3px rgba(88,57,50,.1)); }
.bb-brand-friends img+img { margin-left:-9px; }
.bb-brand-friends img:nth-child(3) { width:52px;height:82px;position:relative;z-index:2; }
.bb-brand-logo { width:clamp(220px,23vw,340px);height:78px;object-fit:contain;object-position:left center; }
.bb-header nav { display:flex;align-items:center;gap:28px;font-family:sans-serif;font-size:13px;font-weight:600; }
.bb-header nav a:hover { color:var(--rose-dark); }
.bb-nav-cta { background:var(--rose);color:#fff!important;padding:12px 20px;border-radius:999px;box-shadow:0 5px 0 #ba5e67; }
.bb-hero { min-height:calc(100vh - 78px);display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:5vw;padding:70px 7vw 80px;background:radial-gradient(circle at 14% 14%,rgba(255,255,255,.9) 0 10%,transparent 31%),linear-gradient(135deg,#fffaf2 0%,#fbe7d9 55%,#f6d5d3 100%); }
.bb-eyebrow { margin:0 0 20px;color:var(--rose-dark);font:700 12px/1.5 sans-serif;letter-spacing:.18em;text-transform:uppercase; }
.bb-hero h1 { margin:0;font-size:clamp(48px,6vw,88px);line-height:1.15;letter-spacing:-.05em;font-weight:600; }
.bb-hero h1 em { color:var(--rose-dark);font-style:normal; }
.bb-hero-lead { margin:30px 0;font-size:clamp(16px,1.4vw,20px);line-height:2;color:var(--muted); }
.bb-actions { display:flex;gap:14px;flex-wrap:wrap; }
.bb-button { display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:58px;padding:0 28px;border-radius:18px;font:700 14px/1 sans-serif;transition:.2s ease; }
.bb-primary { color:#fff!important;background:var(--rose);box-shadow:0 6px 0 #bd5c65,0 14px 25px rgba(143,70,76,.14); }
.bb-secondary { background:rgba(255,255,255,.74);border:1px solid rgba(117,79,75,.18); }
.bb-reading-note { margin-top:24px;color:#8d7b73;font-size:13px; }
.bb-hero-art { position:relative;max-width:680px;justify-self:end; }
.bb-hero-art>img { position:relative;z-index:2;width:100%;border:10px solid #fff;border-radius:30px;box-shadow:0 30px 80px rgba(96,57,54,.22);transform:rotate(1.5deg); }
.bb-sun { position:absolute;z-index:0;top:-70px;right:-60px;width:180px;height:180px;border-radius:50%;background:#efbe67;opacity:.72; }
.bb-floating-note { position:absolute;z-index:3;left:-55px;bottom:-34px;padding:20px 28px;border-radius:18px;background:#fff;box-shadow:0 15px 35px rgba(70,50,47,.15);color:var(--rose-dark);font-size:20px;font-weight:700;transform:rotate(-3deg); }
.bb-floating-note small { color:var(--muted);font:12px sans-serif; }
.bb-message-strip { display:flex;justify-content:center;flex-wrap:wrap;gap:24px;padding:24px 5vw;background:var(--green);color:#fff;font-size:14px;letter-spacing:.08em; }
.bb-message-strip i { color:#f1ce8a; }
.bb-section { padding:120px 7vw; }
.bb-section-heading { max-width:900px;margin-bottom:60px; }
.bb-centered { margin-inline:auto;text-align:center; }
.bb-section-heading h2,.bb-author-content h2,.bb-future-copy h2 { margin:0;font-size:clamp(34px,4.2vw,60px);line-height:1.45;letter-spacing:-.035em;font-weight:600; }
.bb-section-heading>p:last-child { color:var(--muted);line-height:1.9; }
.bb-story-section { background:#fffdf8; }
.bb-story-title { font-size:clamp(22px,3.8vw,56px)!important;line-height:1.65!important; }
.bb-story-title span { display:block;white-space:nowrap; }
.bb-story-grid { display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center; }
.bb-story-image-stack { position:relative; }
.bb-story-image-stack img { border-radius:28px;box-shadow:0 24px 60px rgba(80,59,53,.14); }
.bb-stamp { position:absolute;right:-34px;bottom:-34px;width:118px;height:118px;display:grid;place-items:center;text-align:center;background:#e9a2a2;color:#fff;border-radius:50%;border:4px solid #fff;transform:rotate(8deg);font-weight:700; }
.bb-story-copy p { color:var(--muted);font-size:17px;line-height:2.2; }
.bb-story-logo-quote { display:flex;align-items:center;min-height:118px;margin:36px 0 0;padding:24px 0 24px 28px;border-left:4px solid var(--rose); }
.bb-story-logo-quote img { width:min(100%,620px);max-height:86px;object-fit:contain;object-position:left center; }
.bb-friends-section { background:linear-gradient(#f8eadf,#fff8ef); }
.bb-character-grid { max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:18px; }
.bb-character-card { overflow:hidden;padding:0 16px 28px;text-align:center;background:rgba(255,255,255,.9);border:1px solid #fff;border-radius:28px; }
.bb-character-portrait { height:285px;margin:0 -16px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fffaf5 100%); }
.bb-character-portrait img { width:88%;height:94%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 12px rgba(76,51,45,.11)); }
.bb-character-card h3 { margin:18px 0 7px;font-size:24px; }
.bb-character-card p { margin:0;color:var(--muted);font-size:13px;line-height:1.7; }
.bb-ton-says { max-width:790px;margin:55px auto 0;display:flex;align-items:center;gap:24px;padding:26px 34px;background:#fff;border-radius:26px 26px 26px 6px;box-shadow:0 14px 35px rgba(90,67,61,.1); }
.bb-ton-says img { flex:0 0 auto;width:108px;height:128px;object-fit:contain; }
.bb-ton-says p { margin:0;line-height:1.9;color:var(--muted); }.bb-ton-says strong{color:var(--rose-dark);}
.bb-gallery-section { background:#fbf8f1; }
.bb-gallery { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.bb-gallery img { width:100%;height:100%;object-fit:cover;border-radius:24px;box-shadow:0 14px 35px rgba(65,52,48,.1); }
.bb-center-action { display:flex;justify-content:center;margin-top:52px; }
.bb-author-section { background:#708575; }
.bb-author-card { max-width:1200px;margin:0 auto;padding:70px;background:#fffaf2;border-radius:36px;box-shadow:0 30px 80px rgba(31,49,36,.22); }
.bb-author-label { display:inline-block;margin-bottom:42px;padding:9px 15px;border:1px solid var(--line);border-radius:999px;font:600 12px sans-serif; }
.bb-author-content { display:grid;grid-template-columns:1fr 1fr;gap:8vw; }
.bb-author-text p { margin-top:0;color:var(--muted);font-size:16px;line-height:2.15; }
.bb-signature { padding-top:14px;color:var(--ink)!important;font-weight:700;text-align:right; }
.bb-future-section { display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;background:linear-gradient(145deg,#fff8ee,#f8dfdc); }
.bb-future-art img { border-radius:30px;box-shadow:0 25px 60px rgba(86,55,53,.14); }
.bb-future-copy>p:not(.bb-eyebrow) { color:var(--muted);line-height:2.1;font-size:16px;margin:28px 0 34px; }
.bb-operator-section { background:#fffdf8; }
.bb-operator-card { max-width:960px;margin:0 auto;padding:22px 52px 36px;background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:0 18px 50px rgba(72,54,49,.08); }
.bb-operator-card dl { margin:0; }
.bb-operator-card dl>div { display:grid;grid-template-columns:190px 1fr;gap:28px;padding:25px 0;border-bottom:1px solid var(--line); }
.bb-operator-card dt { color:var(--rose-dark);font:700 13px/1.7 sans-serif; }
.bb-operator-card dd { margin:0;line-height:1.8; }
.bb-operator-card dd a { color:var(--rose-dark)!important;text-decoration:underline!important;text-underline-offset:4px; }
.bb-operator-note { margin:30px 0 0;padding:20px 24px;border-radius:16px;background:#fff4ec;color:var(--muted);line-height:1.8; }
.bb-contact-section { background:linear-gradient(145deg,#6d8473,#566d5d); }
.bb-contact-shell { max-width:1180px;margin:0 auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;align-items:start; }
.bb-contact-intro { position:sticky;top:145px;color:#fff; }
.bb-contact-intro .bb-eyebrow { color:#f4c8c3; }
.bb-contact-intro h2 { margin:0;font-size:clamp(38px,4.5vw,64px);font-weight:600; }
.bb-contact-intro>p:not(.bb-eyebrow) { font-size:16px;line-height:2;color:rgba(255,255,255,.86); }
.bb-contact-response { margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.22);font-size:13px!important; }
.bb-contact-form-wrap { padding:48px;background:#fffaf2;border-radius:30px;box-shadow:0 25px 70px rgba(22,40,27,.22); }
.bb-contact-form { display:grid;gap:22px; }
.bb-contact-form label>span:first-child { display:block;margin-bottom:9px;font:700 13px/1.5 sans-serif; }
.bb-contact-form label b { display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;background:#f5d9d7;color:var(--rose-dark);font-size:10px; }
.bb-contact-form input[type="text"],.bb-contact-form input[type="email"],.bb-contact-form select,.bb-contact-form textarea { width:100%;margin:0;padding:15px 16px;border:1px solid rgba(83,65,59,.22);border-radius:12px;background:#fff;color:var(--ink);font:16px/1.6 sans-serif;box-shadow:none; }
.bb-contact-form textarea { resize:vertical;min-height:180px; }
.bb-contact-form input:focus,.bb-contact-form select:focus,.bb-contact-form textarea:focus { outline:3px solid rgba(223,123,130,.2);border-color:var(--rose); }
.bb-consent { display:flex;align-items:flex-start;gap:12px;padding:17px;background:#fff4ec;border-radius:12px; }
.bb-consent input { width:18px;height:18px;margin-top:3px;accent-color:var(--rose-dark); }
.bb-consent span { margin:0!important;color:var(--muted);font:13px/1.8 sans-serif!important; }
.bb-submit { width:100%;border:0;cursor:pointer;font-family:sans-serif; }
.bb-form-privacy { margin:0;color:#8d7b73;font:11px/1.8 sans-serif;text-align:center; }
.bb-honeypot { position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important; }
.bb-form-message { display:flex;flex-direction:column;gap:6px;margin-bottom:26px;padding:20px 22px;border-radius:14px;font-family:sans-serif; }
.bb-form-message.bb-success { background:#e9f4e9;color:#355b3d; }
.bb-form-message.bb-error { background:#fff0ee;color:#8b3e42; }
.bb-footer { padding:0 0 30px;text-align:center;color:#eee7dc;background:#403936;overflow:hidden; }
.bb-footer img { width:100%;height:auto; }.bb-footer p{margin:36px 0 0;color:#cfc4ba;font:11px sans-serif;letter-spacing:.08em;}
@media(max-width:900px){.bb-header nav a:not(.bb-nav-cta){display:none}.bb-hero,.bb-story-grid,.bb-author-content,.bb-future-section,.bb-contact-shell{grid-template-columns:1fr}.bb-contact-intro{position:static}.bb-hero-art{margin-top:50px;justify-self:center}.bb-character-grid{grid-template-columns:repeat(2,1fr)}.bb-character-card:last-child{grid-column:1/-1;max-width:50%;justify-self:center}.bb-gallery{grid-template-columns:1fr}}
@media(max-width:560px){#bokubuta-site .bb-header{min-height:104px;justify-content:center;padding:6px 10px}.bb-brand{width:100%;justify-content:center;gap:6px}.bb-brand-friends{height:70px;padding-inline:0}.bb-brand-friends img{width:34px;height:65px}.bb-brand-friends img+img{margin-left:-10px}.bb-brand-friends img:nth-child(3){width:38px;height:70px}.bb-brand-logo{width:min(52vw,215px);height:72px}.bb-nav-cta{display:none}.bb-hero{min-height:auto;padding:55px 22px 80px}.bb-hero h1{font-size:46px}.bb-actions,.bb-button{width:100%}.bb-floating-note{left:-7px;bottom:-48px;font-size:15px}.bb-message-strip{gap:12px;font-size:11px}.bb-message-strip i{display:none}.bb-section{padding:88px 22px}.bb-section-heading{margin-bottom:42px}.bb-section-heading h2,.bb-author-content h2,.bb-future-copy h2{font-size:35px}.bb-story-title{font-size:clamp(19px,5.7vw,28px)!important}.bb-story-title span{white-space:nowrap}.bb-stamp{width:94px;height:94px;right:-7px}.bb-character-grid{gap:10px}.bb-character-card{padding:0 10px 20px}.bb-character-portrait{height:220px;margin:0 -10px}.bb-ton-says{padding:20px;align-items:flex-start}.bb-ton-says img{width:78px;height:98px}.bb-author-card{padding:36px 24px;border-radius:24px}.bb-operator-card{padding:10px 22px 28px}.bb-operator-card dl>div{grid-template-columns:1fr;gap:4px;padding:20px 0}.bb-contact-form-wrap{padding:28px 20px}.bb-contact-shell{gap:38px}}
