*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
::selection{background:rgba(154,122,48,0.2);}
body{font-family:'Noto Sans JP',sans-serif;background:#ffffff;color:#1a2438;font-size:16px;line-height:2.0;overflow-x:hidden;}
.fade{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease;}
.fade.in{opacity:1;transform:translateY(0);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 40px;position:fixed;top:0;left:0;right:0;background:rgba(255,255,255,0.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(26,46,80,0.1);z-index:200;}
.nav-logo{font-family:'Shippori Mincho',serif;font-size:16px;letter-spacing:0.18em;color:#1a2e50;display:flex;align-items:baseline;gap:8px;}
.nav-pre{font-size:13px;color:#9a7a30;letter-spacing:0.15em;}
.nav-links{display:flex;gap:28px;}
.nav-links a{font-size:11px;color:#4a5a78;letter-spacing:0.14em;text-decoration:none;transition:color .2s;}
.nav-links a:hover{color:#1a2e50;}
.nav-burger{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.nav-burger span{display:block;width:22px;height:2px;background:#1a2e50;margin:5px 0;transition:.3s;}
@media(max-width:640px){
  .nav{padding:14px 20px;}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,0.98);flex-direction:column;gap:0;border-bottom:1px solid rgba(26,46,80,0.1);}
  .nav-links.open{display:flex;}
  .nav-links a{padding:16px 24px;border-bottom:1px solid rgba(26,46,80,0.06);font-size:13px;}
  .nav-burger{display:block;}
}
.hero{position:relative;height:100vh;min-height:600px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;animation:heroZoom 18s ease-out forwards;}
@keyframes heroZoom{from{transform:scale(1.06);}to{transform:scale(1);}}
.hero-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,46,80,0.05) 0%,rgba(26,46,80,0.1) 35%,rgba(20,32,58,0.55) 68%,rgba(10,18,36,0.92) 100%);}
.hero-c{position:relative;z-index:2;padding:0 24px;}
.hero-pre{font-size:14px;letter-spacing:0.4em;color:#e0c070;margin-bottom:16px;text-shadow:0 1px 6px rgba(0,0,0,0.6);}
.hero-title{font-family:'Shippori Mincho',serif;font-size:clamp(38px,7.5vw,64px);font-weight:700;color:#ffffff;line-height:1.3;text-shadow:0 3px 40px rgba(0,0,0,0.75);letter-spacing:0.06em;margin-bottom:12px;}
.hero-sub{font-family:'Shippori Mincho',serif;font-size:clamp(16px,3vw,21px);font-weight:400;color:rgba(255,255,255,0.88);letter-spacing:0.16em;text-shadow:0 2px 16px rgba(0,0,0,0.6);margin-bottom:18px;}
.hero-catch{font-family:'Shippori Mincho',serif;font-size:clamp(13px,2.5vw,17px);color:#e0c070;letter-spacing:0.14em;text-shadow:0 1px 10px rgba(0,0,0,0.8);}
.hero-scroll{font-size:11px;letter-spacing:0.24em;color:rgba(255,255,255,0.5);position:absolute;bottom:30px;left:50%;transform:translateX(-50%);animation:fadeup 2.2s ease infinite;z-index:2;}
@keyframes fadeup{0%,100%{opacity:.2;}50%{opacity:.7;}}
.div-gold{height:1px;background:linear-gradient(90deg,transparent,rgba(154,122,48,0.35),transparent);}
.div-light{height:1px;background:rgba(26,46,80,0.07);}
.sec{padding:88px 40px;}
.sec-alt{padding:88px 40px;background:#f7f8fa;}
@media(max-width:640px){.sec,.sec-alt{padding:60px 20px;}}
.sec-tag{font-size:11px;letter-spacing:0.35em;color:#9a7a30;text-transform:uppercase;margin-bottom:12px;}
.sec-title{font-family:'Shippori Mincho',serif;font-size:clamp(23px,4vw,31px);color:#1a2e50;font-weight:700;margin-bottom:36px;letter-spacing:0.05em;padding-bottom:16px;border-bottom:2px solid #9a7a30;display:inline-block;}
.catch-sec{padding:110px 40px;text-align:center;background:#ffffff;}
@media(max-width:640px){.catch-sec{padding:72px 20px;}}
.catch-main{font-family:'Shippori Mincho',serif;font-size:clamp(21px,4.5vw,36px);font-weight:700;color:#1a2e50;line-height:1.85;margin-bottom:44px;}
.catch-line{width:1px;height:64px;background:linear-gradient(180deg,transparent,rgba(154,122,48,0.55),transparent);margin:44px auto;}
.catch-body{font-family:'Shippori Mincho',serif;font-size:clamp(14px,3vw,17px);color:#4a5a78;line-height:2.4;max-width:580px;margin:0 auto;}
.story-panel{position:relative;overflow:hidden;min-height:460px;display:flex;align-items:center;}
.story-panel-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.story-panel-ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,18,36,0.93) 42%,rgba(10,18,36,0.15) 100%);}
.story-panel-ov-r{position:absolute;inset:0;background:linear-gradient(270deg,rgba(10,18,36,0.93) 42%,rgba(10,18,36,0.15) 100%);}
@media(max-width:640px){
  .story-panel-ov,.story-panel-ov-r{background:linear-gradient(180deg,rgba(10,18,36,0.25) 0%,rgba(10,18,36,0.95) 58%);}
  .story-panel{min-height:500px;align-items:flex-end;}
}
.story-panel-c{position:relative;z-index:2;padding:60px 40px;max-width:500px;}
.story-panel-c-r{position:relative;z-index:2;padding:60px 40px;max-width:500px;margin-left:auto;}
@media(max-width:640px){.story-panel-c,.story-panel-c-r{padding:32px 20px 52px;max-width:100%;margin-left:0;}}
.sp-tag{font-size:11px;letter-spacing:0.3em;color:#e0c070;text-transform:uppercase;margin-bottom:14px;}
.sp-title{font-family:'Shippori Mincho',serif;font-size:clamp(19px,3.5vw,26px);color:#ffffff;font-weight:700;margin-bottom:20px;letter-spacing:0.04em;line-height:1.65;}
.sp-body{font-size:15px;color:rgba(255,255,255,0.75);line-height:2.25;}
.tension-sec{padding:96px 40px;text-align:center;background:#1a2e50;position:relative;overflow:hidden;}
.tension-sec::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 40%,rgba(196,160,80,0.08),transparent 70%);}
@media(max-width:640px){.tension-sec{padding:64px 20px;}}
.tension-q{font-family:'Shippori Mincho',serif;font-size:clamp(19px,4.5vw,32px);font-weight:700;color:#ffffff;line-height:1.95;margin-bottom:36px;position:relative;}
.tension-q span{display:block;}
.tension-resolve{font-family:'Shippori Mincho',serif;font-size:clamp(14px,3vw,18px);color:rgba(255,255,255,0.65);line-height:2.1;position:relative;}
.rec-inner{max-width:720px;margin:0 auto;}
.rec-ttl{font-family:'Shippori Mincho',serif;font-size:clamp(18px,3.5vw,21px);color:#1a2e50;margin-bottom:30px;font-weight:600;}
.rec-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 32px;}
@media(max-width:640px){.rec-list{grid-template-columns:1fr;}}
.rec-list li{font-size:15px;color:#4a5a78;padding:15px 0;border-bottom:1px solid rgba(26,46,80,0.08);display:flex;gap:14px;align-items:flex-start;}
.rec-list li::before{content:'';width:5px;height:5px;border-radius:50%;background:#9a7a30;flex-shrink:0;margin-top:11px;}
.char-sec-head{padding:88px 40px 44px;background:#ffffff;}
@media(max-width:640px){.char-sec-head{padding:60px 20px 36px;}}
.char-main{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
@media(max-width:640px){.char-main{grid-template-columns:1fr;}}
.char-poster{position:relative;overflow:hidden;}
.char-poster img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;display:block;transition:transform .6s;}
.char-poster:hover img{transform:scale(1.04);}
.char-poster-ov{position:absolute;inset:0;background:linear-gradient(180deg,transparent 34%,rgba(10,18,36,0.97) 100%);}
.char-poster-c{position:absolute;bottom:0;left:0;right:0;padding:30px 26px;}
.cp-name{font-family:'Shippori Mincho',serif;font-size:clamp(21px,4vw,28px);color:#ffffff;font-weight:700;margin-bottom:4px;letter-spacing:0.05em;}
.cp-yomi{font-size:12px;color:#e0c070;letter-spacing:0.14em;margin-bottom:12px;}
.cp-badge{display:inline-block;font-size:11px;color:rgba(255,255,255,0.75);border:1px solid rgba(255,255,255,0.35);padding:4px 14px;border-radius:1px;margin-bottom:14px;letter-spacing:0.06em;}
.cp-desc{font-size:13px;color:rgba(255,255,255,0.72);line-height:1.95;}
.char-hakuto{background:#f0f4f8;border-top:1px solid rgba(26,46,80,0.1);border-bottom:1px solid rgba(26,46,80,0.1);display:flex;align-items:center;}
@media(max-width:640px){.char-hakuto{flex-direction:column;}}
.hkimg{width:210px;flex-shrink:0;object-fit:cover;object-position:center top;}
@media(max-width:640px){.hkimg{width:100%;height:210px;object-fit:contain;padding:20px;background:#e8eef5;}}
.hk-body{padding:44px 40px;}
@media(max-width:640px){.hk-body{padding:28px 20px 36px;}}
.hk-name{font-family:'Shippori Mincho',serif;font-size:clamp(19px,4vw,26px);color:#1a2e50;font-weight:700;margin-bottom:5px;}
.hk-yomi{font-size:12px;color:#9a7a30;letter-spacing:0.14em;margin-bottom:18px;}
.hk-desc{font-size:15px;color:#4a5a78;line-height:2.15;max-width:500px;}
.crew-label{font-size:11px;color:#8a9ab8;letter-spacing:0.22em;padding:36px 40px 18px;background:#ffffff;}
@media(max-width:640px){.crew-label{padding:26px 20px 14px;}}
.crew-wrap{padding:0 40px 56px;background:#ffffff;}
@media(max-width:640px){.crew-wrap{overflow-x:auto;padding:0 20px 44px;scrollbar-width:thin;}}
.crew-track{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
@media(max-width:900px){.crew-track{grid-template-columns:repeat(3,1fr);}}
@media(max-width:640px){.crew-track{display:flex;gap:12px;width:max-content;}}
.crew-card{background:#ffffff;border:1px solid rgba(26,46,80,0.1);border-radius:4px;overflow:hidden;box-shadow:0 2px 10px rgba(26,46,80,0.06);transition:transform .3s,box-shadow .3s;}
.crew-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px rgba(26,46,80,0.12);}
@media(max-width:640px){.crew-card{width:150px;flex-shrink:0;}}
.crew-card img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;display:block;}
.crew-body{padding:13px 14px;}
.crew-name{font-family:'Shippori Mincho',serif;font-size:14px;color:#1a2e50;font-weight:600;margin-bottom:3px;}
.crew-role{font-size:11px;color:#9a7a30;margin-bottom:6px;}
.crew-desc{font-size:11px;color:#6a7a98;line-height:1.8;}
.book-tbl{display:grid;grid-template-columns:auto 1fr;border:1px solid rgba(26,46,80,0.12);border-radius:4px;overflow:hidden;max-width:640px;margin-bottom:30px;background:#ffffff;}
@media(max-width:600px){.book-tbl{grid-template-columns:1fr;}}
.bl{font-size:12px;color:#9a7a30;padding:13px 20px;border-bottom:1px solid rgba(26,46,80,0.08);background:#f7f8fa;white-space:nowrap;letter-spacing:0.06em;font-weight:500;}
.bv{font-size:14px;color:#1a2438;padding:13px 20px;border-bottom:1px solid rgba(26,46,80,0.08);}
.bl:nth-last-child(2),.bv:last-child{border-bottom:none;}
@media(max-width:600px){.bl{border-bottom:none;padding-bottom:4px;font-size:11px;}.bv{padding-top:2px;}}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;}
.btn-navy{display:inline-block;background:#1a2e50;color:#ffffff;font-size:13px;padding:13px 26px;border-radius:2px;cursor:pointer;text-decoration:none;letter-spacing:0.08em;transition:background .2s;}
.btn-navy:hover{background:#243c66;}
.btn-outline{display:inline-block;background:transparent;color:#1a2e50;font-size:13px;padding:12px 24px;border-radius:2px;border:1px solid rgba(26,46,80,0.3);cursor:pointer;text-decoration:none;letter-spacing:0.06em;transition:border-color .2s,background .2s;}
.btn-outline:hover{border-color:#1a2e50;background:rgba(26,46,80,0.03);}
.btn-gold{display:inline-block;background:#9a7a30;color:#ffffff;font-size:14px;font-weight:500;padding:14px 32px;border-radius:2px;cursor:pointer;text-decoration:none;letter-spacing:0.08em;transition:background .2s;box-shadow:0 4px 14px rgba(154,122,48,0.3);}
.btn-gold:hover{background:#b08c3c;}
.btn-note{font-size:12px;color:#8a9ab8;margin-top:16px;}
.az-sec{padding:100px 40px;text-align:center;background:#1a2e50;position:relative;overflow:hidden;}
.az-sec::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 30%,rgba(196,160,80,0.12),transparent 70%);}
@media(max-width:640px){.az-sec{padding:68px 20px;}}
.az-inner{position:relative;}
.az-catch{font-family:'Shippori Mincho',serif;font-size:clamp(24px,5vw,36px);color:#ffffff;margin-bottom:10px;font-weight:600;letter-spacing:0.1em;}
.az-note{font-size:14px;color:rgba(255,255,255,0.55);margin-bottom:36px;}
.az-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:20px;}
.az-btn-main{display:inline-block;background:linear-gradient(135deg,#c4a050,#9a7a30);color:#ffffff;font-size:15px;font-weight:600;padding:16px 44px;border-radius:2px;cursor:pointer;text-decoration:none;letter-spacing:0.1em;box-shadow:0 6px 24px rgba(196,160,80,0.35);transition:transform .2s,box-shadow .2s;}
.az-btn-main:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(196,160,80,0.45);}
.az-btn-sub{display:inline-block;background:transparent;color:rgba(255,255,255,0.8);font-size:13px;padding:15px 28px;border-radius:2px;border:1px solid rgba(255,255,255,0.3);cursor:pointer;text-decoration:none;letter-spacing:0.06em;transition:border-color .2s,background .2s;}
.az-btn-sub:hover{border-color:rgba(255,255,255,0.6);background:rgba(255,255,255,0.05);}
.az-release{font-size:12px;color:rgba(196,160,80,0.8);letter-spacing:0.2em;}
.yt-card{background:#ffffff;border:1px solid rgba(26,46,80,0.1);border-radius:4px;overflow:hidden;max-width:600px;box-shadow:0 4px 18px rgba(26,46,80,0.08);}
.yt-thumb{width:100%;height:200px;background:linear-gradient(135deg,#1a2e50,#0e1c34);display:block;cursor:pointer;text-decoration:none;position:relative;}
.yt-thumb-inner{display:flex;align-items:center;justify-content:center;width:100%;height:100%;flex-direction:column;gap:12px;}
.yt-play{width:56px;height:56px;border-radius:50%;background:rgba(200,30,30,0.9);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(0,0,0,0.35);transition:transform .2s;}
.yt-thumb:hover .yt-play{transform:scale(1.08);}
.yt-tri{width:0;height:0;border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:19px solid white;margin-left:5px;}
.yt-thumb-label{font-size:11px;color:rgba(255,255,255,0.5);letter-spacing:0.15em;}
.yt-ft{padding:20px 22px;}
.yt-ch{font-size:11px;color:#9a7a30;letter-spacing:0.12em;margin-bottom:7px;}
.yt-tt{font-family:'Shippori Mincho',serif;font-size:17px;color:#1a2e50;margin-bottom:11px;font-weight:600;}
.yt-dc{font-size:14px;color:#4a5a78;line-height:1.95;margin-bottom:18px;}
.yt-bts{display:flex;gap:10px;flex-wrap:wrap;}
.btn-yt{display:inline-block;background:#c02020;color:#ffffff;font-size:13px;padding:11px 24px;border-radius:2px;cursor:pointer;text-decoration:none;letter-spacing:0.04em;transition:background .2s;}
.btn-yt:hover{background:#d43434;}
.media2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px;}
@media(max-width:640px){.media2{grid-template-columns:1fr;}}
.mcard{background:#ffffff;border:1px solid rgba(26,46,80,0.1);border-radius:4px;padding:30px;border-top:3px solid #9a7a30;box-shadow:0 2px 10px rgba(26,46,80,0.05);}
.mttl{font-family:'Shippori Mincho',serif;font-size:17px;color:#1a2e50;margin-bottom:14px;font-weight:600;}
.mbody{font-size:14px;color:#4a5a78;line-height:2.05;margin-bottom:20px;}
.au-inner{display:flex;gap:26px;align-items:flex-start;margin-bottom:26px;}
.au-av{width:68px;height:68px;border-radius:50%;background:#1a2e50;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Shippori Mincho',serif;font-size:22px;color:#c4a050;}
.au-name{font-family:'Shippori Mincho',serif;font-size:clamp(18px,4vw,22px);color:#1a2e50;margin-bottom:5px;font-weight:700;}
.au-role{font-size:12px;color:#9a7a30;letter-spacing:0.08em;margin-bottom:12px;}
.creds{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px;}
.cred{font-size:11px;color:#4a5a78;border:1px solid rgba(26,46,80,0.18);padding:4px 13px;border-radius:2px;background:#f7f8fa;}
.au-bio{font-size:15px;color:#4a5a78;line-height:2.35;}
.cats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:26px 0 30px;}
@media(max-width:640px){.cats{grid-template-columns:repeat(2,1fr);}}
.cat{background:#ffffff;border:1px solid rgba(26,46,80,0.12);border-radius:3px;padding:15px;font-size:13px;color:#1a2e50;text-align:center;font-weight:500;box-shadow:0 1px 4px rgba(26,46,80,0.04);}
.prod-sec{padding:56px 40px;border-top:1px solid rgba(26,46,80,0.08);background:#f7f8fa;}
@media(max-width:640px){.prod-sec{padding:44px 20px;}}
.prod-lbl{font-size:11px;letter-spacing:0.35em;color:#8a9ab8;text-align:center;margin-bottom:26px;}
.prod-cos{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;}
@media(max-width:640px){.prod-cos{flex-direction:column;}}
.pcard{background:#ffffff;border:1px solid rgba(26,46,80,0.1);border-radius:4px;padding:24px 28px;max-width:370px;flex:1;box-shadow:0 2px 10px rgba(26,46,80,0.05);}
.pname{font-size:14px;color:#1a2e50;font-weight:600;margin-bottom:9px;}
.pdesc{font-size:13px;color:#6a7a98;line-height:2.0;}
.footer{padding:30px 40px;text-align:center;border-top:1px solid rgba(26,46,80,0.08);background:#ffffff;}
.footer p{font-size:12px;color:#8a9ab8;}
