@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;600;700&family=Zen+Old+Mincho:wght@400;700;900&family=Noto+Sans+JP:wght@300;400;500&display=swap');

:root {
  --red:#B22222; --red-l:#c0392b; --red-p:#fdf0f0;
  --dark:#2d1a1a; --dark2:#1a0a0a;
  --cream:#faf7f2; --warm:#f0e8df; --text:#3d2020; --muted:#8a7068;
  --line:#06C755; --accent:#8b2020;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Noto Sans JP',sans-serif;background:#fff;color:var(--text);font-weight:300;font-size:15px;line-height:1.9;}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;font-family:inherit;}

/* HEADER */
.hdr{height:64px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.08);display:flex;align-items:center;justify-content:space-between;padding:0 48px;position:sticky;top:0;z-index:100;}
.hdr-logo{font-family:'Zen Old Mincho',serif;font-size:18px;color:#333;letter-spacing:.12em;}
.hdr-logo span{color:var(--red);}
.hdr-nav{display:flex;align-items:center;gap:20px;}
.nl{font-size:13px;color:#333;letter-spacing:.06em;cursor:pointer;transition:color .2s;border:none;background:none;}
.nl:hover,.nl.active{color:var(--red);}
a.nl{display:flex;align-items:center;}
.nc{background:var(--red);color:#fff;font-size:13px;padding:9px 18px;border:none;transition:background .2s;cursor:pointer;}
.nc:hover{background:var(--red-l);}
a.nc{display:flex;align-items:center;padding:9px 18px;}

/* HAMBURGER MENU */
.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:#333;transition:all .3s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-nav{display:none;flex-direction:column;position:fixed;top:64px;left:0;right:0;z-index:99;background:var(--dark);padding:16px 24px 24px;border-top:1px solid rgba(178,34,34,.15);}
.mobile-nav.open{display:flex;}
.mobile-nav a,.mobile-nav button{display:block;width:100%;text-align:left;font-size:14px;color:rgba(255,255,255,.7);padding:12px 0;border:none;background:none;border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer;font-family:'Noto Sans JP',sans-serif;letter-spacing:.05em;transition:color .2s;}
.mobile-nav a:hover,.mobile-nav button:hover{color:var(--red-l);}
.mobile-nav .mnc{color:var(--red);border-bottom:none;margin-top:8px;}

/* BUTTONS */
.bp{display:inline-flex;align-items:center;gap:8px;background:var(--red);color:#fff;font-size:13px;padding:14px 32px;letter-spacing:.1em;font-family:'Noto Serif JP',serif;border:none;cursor:pointer;transition:background .2s;}
.bp:hover{background:var(--red-l);}
.bd{display:inline-flex;align-items:center;gap:8px;background:var(--dark);color:#fff;font-size:13px;padding:14px 32px;letter-spacing:.1em;font-family:'Noto Serif JP',serif;border:none;cursor:pointer;transition:background .2s;}
.bd:hover{background:#2a201a;}
.bg{display:inline-flex;align-items:center;gap:8px;background:transparent;color:rgba(255,255,255,.7);font-size:13px;padding:13px 26px;letter-spacing:.08em;border:1px solid rgba(255,255,255,.25);cursor:pointer;transition:all .2s;}
.bg:hover{background:rgba(255,255,255,.08);}
.bo{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--dark);font-size:13px;padding:13px 28px;letter-spacing:.08em;border:1px solid var(--dark);cursor:pointer;transition:all .2s;}
.bo:hover{background:var(--dark);color:#fff;}
.bow{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#fff;font-size:13px;padding:13px 28px;letter-spacing:.08em;border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:all .2s;}
.bow:hover{background:rgba(255,255,255,.08);}

/* SECTION */
.sec{padding:80px 48px;}
.si{max-width:1100px;margin:0 auto;}
.sl{font-size:10px;letter-spacing:.25em;color:var(--red);font-family:'Noto Serif JP',serif;display:block;margin-bottom:8px;}
.st{font-family:'Zen Old Mincho',serif;font-size:28px;color:var(--dark);margin-bottom:40px;}
.stw{font-family:'Zen Old Mincho',serif;font-size:28px;color:#fff;margin-bottom:40px;}
.stop{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:40px;gap:16px;flex-wrap:wrap;}
.stop .st,.stop .stw{margin-bottom:0;}

/* PAGE HERO */
.ph{background:var(--dark);padding:72px 64px 60px;position:relative;overflow:hidden;}
.ph::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 50%,rgba(178,34,34,.16) 0%,transparent 58%);}
.ph::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,rgba(178,34,34,.3),transparent);}
.phi{position:relative;z-index:1;max-width:1100px;margin:0 auto;}
.bc{display:flex;align-items:center;gap:8px;font-size:11px;color:rgba(255,255,255,.35);margin-bottom:24px;}
.bc span{color:rgba(255,255,255,.18);}
.bc a,.bc button{background:none;border:none;font-size:11px;color:rgba(255,255,255,.45);cursor:pointer;padding:0;font-family:'Noto Sans JP',sans-serif;transition:color .2s;}
.bc a:hover,.bc button:hover{color:var(--red);}
.phen{font-size:11px;letter-spacing:.25em;color:var(--red);font-family:'Noto Serif JP',serif;margin-bottom:10px;}
.phja{font-family:'Zen Old Mincho',serif;font-size:38px;font-weight:700;color:#fff;margin-bottom:16px;}
.phlead{font-size:14px;color:rgba(255,255,255,.52);line-height:2.1;max-width:580px;}

/* HERO (TOP) */
.hero{min-height:calc(100svh - 64px);background:var(--dark);position:relative;display:flex;align-items:flex-end;overflow:hidden;}
.hero-slides{position:absolute;inset:0;}
.hs{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.2s;}
.hs.active{opacity:1;}
.hs1{background-image:url('images/slide1.webp');}
.hs2{background-image:url('images/slide2.webp');}
.hs3{background-image:url('images/slide3.webp');}
.hs4{background-image:url('images/slide4.webp');}
.hs5{background-image:url('images/slide5.webp');}
.ho{position:absolute;inset:0;background:linear-gradient(to right,rgba(20,8,8,.88) 0%,rgba(20,8,8,.48) 55%,rgba(20,8,8,.12) 100%);}
.hc{position:relative;z-index:2;padding:0 64px 88px;max-width:720px;animation:fu .9s ease .2s both;}
@keyframes fu{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.heyeb{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.2em;color:var(--red);font-family:'Noto Serif JP',serif;margin-bottom:24px;}
.heyeb::after{content:'';display:block;width:44px;height:1px;background:var(--red);opacity:.5;}
.hcatch{font-family:'Zen Old Mincho',serif;font-size:54px;font-weight:900;color:#fff;line-height:1.38;margin-bottom:20px;}
.hcatch em{color:var(--red-l);font-style:normal;}
.hsub{font-size:15px;color:rgba(255,255,255,.56);line-height:2.1;font-weight:300;margin-bottom:40px;}
.hbtns{display:flex;gap:14px;flex-wrap:wrap;}

/* WHO */
.who{background:#1e0505;padding:80px 48px;}
.wi{max-width:1100px;margin:0 auto;}
.whead{text-align:center;margin-bottom:48px;}
.wen{font-size:11px;letter-spacing:.25em;color:var(--red);font-family:'Noto Serif JP',serif;margin-bottom:10px;}
.wja{font-family:'Zen Old Mincho',serif;font-size:24px;color:#fff;margin-bottom:8px;}
.wsub{font-size:13px;color:rgba(255,255,255,.33);}
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.wcard{background:rgba(255,255,255,.02);border:1px solid rgba(178,34,34,.12);padding:40px 32px;cursor:pointer;transition:all .3s;display:block;border:none;text-align:left;width:100%;}
.wcard:hover{background:rgba(178,34,34,.07);border:1px solid rgba(178,34,34,.4);transform:translateY(-4px);}
a.wcard{display:block;}
.wicon{font-size:32px;margin-bottom:20px;}
.wcen{font-size:10px;letter-spacing:.2em;color:var(--red);font-family:'Noto Serif JP',serif;margin-bottom:8px;}
.wcja{font-family:'Zen Old Mincho',serif;font-size:18px;color:#fff;margin-bottom:10px;}
.wcdesc{font-size:12px;color:rgba(255,255,255,.4);line-height:1.9;}
.wcarr{margin-top:20px;font-size:11px;color:var(--red);letter-spacing:.1em;display:flex;align-items:center;gap:6px;}
.wcarr::after{content:'→';}

/* EVENT CARD */
.egrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-bottom:36px;}
.egrid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:48px;}
.ecard{background:#fff;overflow:hidden;box-shadow:0 2px 18px rgba(0,0,0,.07);transition:transform .25s,box-shadow .25s;}
.ecard:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.12);}
.eban{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--dark);position:relative;}
.eban img{width:100%;height:100%;object-fit:cover;}
.ebody{padding:20px 22px 24px;}
.emeta{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px;}
.edb{background:var(--dark);color:var(--red);font-size:11px;padding:4px 12px;font-family:'Zen Old Mincho',serif;}
.etag{font-size:10px;border:1px solid rgba(178,34,34,.4);color:var(--red);padding:2px 8px;letter-spacing:.06em;}
.etago{border-color:rgba(6,199,85,.4);color:var(--line);}
.ename{font-family:'Noto Serif JP',serif;font-size:16px;font-weight:600;color:var(--dark);line-height:1.6;margin-bottom:8px;}
.edesc{font-size:12px;color:var(--muted);line-height:1.9;margin-bottom:14px;}
.eprice{font-size:20px;color:var(--accent);font-family:'Zen Old Mincho',serif;margin-bottom:14px;}
.eprice small{font-size:12px;color:var(--muted);font-family:'Noto Sans JP',sans-serif;}
.eapp{display:block;width:100%;padding:12px;background:var(--dark);color:#fff;border:none;font-size:12px;letter-spacing:.1em;font-family:'Noto Serif JP',serif;text-align:center;transition:background .2s;cursor:pointer;}
.eapp:hover{background:var(--red);}
a.eapp{display:block;text-align:center;}
.enote{font-size:10px;color:var(--muted);text-align:center;margin-top:5px;}

/* ABOUT */
.about{background:var(--warm);padding:80px 48px;}
.aboi{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.abimg{position:relative;}
.abimg::before{content:'';position:absolute;top:16px;left:16px;right:-16px;bottom:-16px;border:1px solid rgba(178,34,34,.25);z-index:0;}
.abimg img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;}
.ablead{font-size:14px;line-height:2.2;font-weight:300;margin-bottom:22px;}
.abname{font-family:'Zen Old Mincho',serif;font-size:22px;color:var(--dark);}
.abrole{font-size:12px;color:var(--muted);letter-spacing:.1em;margin-bottom:24px;}

/* PARTNERS */
.partners{background:var(--cream);padding:80px 48px;}
.pi{max-width:1100px;margin:0 auto;}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;}
.pcard{background:#fff;padding:28px 24px;box-shadow:0 2px 14px rgba(0,0,0,.06);transition:transform .25s,box-shadow .25s;}
.pcard:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.1);}
.plogo{width:100%;height:80px;object-fit:contain;margin-bottom:16px;background:transparent;}
.pname{font-family:'Noto Serif JP',serif;font-size:15px;font-weight:600;color:var(--dark);margin-bottom:8px;}
.pdesc{font-size:12px;color:var(--muted);line-height:1.8;}

/* TEAM */
.team{background:var(--dark);padding:80px 48px;text-align:center;}
.teami{max-width:700px;margin:0 auto;}
.teamtitle{font-family:'Zen Old Mincho',serif;font-size:26px;color:#fff;margin-bottom:14px;}
.teamsub{font-size:13px;color:rgba(255,255,255,.48);margin-bottom:32px;line-height:2;}
.teambtns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* COMMUNITY */
.comm{background:var(--cream);padding:80px 48px;}
.commi{max-width:1100px;margin:0 auto;}
.igrid{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:32px 0 16px;}
.icell{aspect-ratio:1;overflow:hidden;background:var(--warm);}
.icell img{width:100%;height:100%;object-fit:cover;}
.inote{font-size:12px;color:var(--muted);background:#fff8ef;border-left:3px solid var(--red);padding:10px 16px;line-height:1.7;}

/* LINE */
.lsec{background:var(--dark);padding:80px 48px;text-align:center;}
.li{max-width:540px;margin:0 auto;}
.lhead{font-family:'Zen Old Mincho',serif;font-size:26px;color:#fff;line-height:1.6;margin-bottom:12px;}
.lsub{font-size:13px;color:rgba(255,255,255,.48);margin-bottom:26px;line-height:2;}
.lbens{list-style:none;text-align:left;display:inline-block;margin-bottom:30px;}
.lbens li{font-size:13px;color:rgba(255,255,255,.68);padding:5px 0;display:flex;align-items:center;gap:10px;}
.lbens li::before{content:'✓';color:var(--line);}
.lbtn{display:inline-flex;align-items:center;gap:10px;background:var(--line);color:#fff;padding:15px 40px;font-size:14px;font-family:'Noto Serif JP',serif;border:none;cursor:pointer;transition:opacity .2s;}
.lbtn:hover{opacity:.88;}
a.lbtn{display:inline-flex;align-items:center;}
.lsmall{font-size:10px;color:rgba(255,255,255,.25);margin-top:12px;line-height:1.9;}
.lbtn-sm{display:inline-flex;align-items:center;gap:8px;background:var(--line);color:#fff;padding:12px 28px;font-size:13px;font-family:'Noto Serif JP',serif;border:none;cursor:pointer;}
a.lbtn-sm{display:inline-flex;align-items:center;}

/* NEWS */
.news{background:var(--warm);padding:80px 48px;}
.newsi{max-width:1100px;margin:0 auto;}
.nlist{display:flex;flex-direction:column;margin-bottom:36px;}
.nitem{display:flex;align-items:flex-start;gap:24px;padding:18px 0;border-bottom:1px solid rgba(178,34,34,.18);cursor:pointer;transition:padding-left .2s;}
.nitem:first-child{border-top:1px solid rgba(178,34,34,.18);}
.nitem:hover{padding-left:6px;}
.ndate{font-size:12px;color:var(--muted);white-space:nowrap;min-width:86px;padding-top:2px;}
.ntitle{font-size:14px;line-height:1.7;}

/* BLOG */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:36px;}
.bcard{background:#fff;overflow:hidden;box-shadow:0 2px 14px rgba(0,0,0,.06);cursor:pointer;transition:transform .25s,box-shadow .25s;}
.bcard:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(0,0,0,.1);}
.bimg{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--warm);}
.bimg img{width:100%;height:100%;object-fit:cover;}
.bbody{padding:20px 22px 24px;}
.bcats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.bcat{font-size:10px;background:var(--red-p);color:var(--red);padding:2px 8px;}
.bdate{font-size:11px;color:var(--muted);margin-bottom:6px;}
.btitle{font-family:'Noto Serif JP',serif;font-size:14px;font-weight:600;color:var(--dark);line-height:1.7;margin-bottom:6px;}
.bexcerpt{font-size:12px;color:var(--muted);line-height:1.8;}

/* CTA BAND */
.cband{background:var(--dark);padding:80px 48px;text-align:center;}
.cbandi{max-width:680px;margin:0 auto;}
.ctitle{font-family:'Zen Old Mincho',serif;font-size:26px;color:#fff;margin-bottom:12px;}
.csub{font-size:13px;color:rgba(255,255,255,.46);margin-bottom:32px;line-height:2;}
.cbtns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* SERVICE CARDS dark */
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.scard{background:var(--dark);overflow:hidden;transition:transform .25s;}
.scard:hover{transform:translateY(-4px);}
.simg{width:100%;aspect-ratio:4/3;overflow:hidden;background:#2a1a10;}
.simg img{width:100%;height:100%;object-fit:cover;}
.sbody{padding:24px;}
.sen{font-size:10px;letter-spacing:.2em;color:var(--red);margin-bottom:6px;}
.sname{font-family:'Noto Serif JP',serif;font-size:15px;color:#fff;margin-bottom:10px;line-height:1.5;}
.stags{display:flex;flex-wrap:wrap;gap:6px;}
.stag{font-size:10px;border:1px solid rgba(178,34,34,.3);color:var(--red);padding:2px 8px;}

/* SERVICE CARDS light (women) */
.sgridw{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.scardw{background:#fff;overflow:hidden;box-shadow:0 2px 16px rgba(0,0,0,.07);transition:transform .25s,box-shadow .25s;}
.scardw:hover{transform:translateY(-5px);box-shadow:0 12px 30px rgba(0,0,0,.12);}
.simgw{width:100%;aspect-ratio:1;overflow:hidden;background:var(--warm);}
.simgw img{width:100%;height:100%;object-fit:cover;}
.sbodyw{padding:22px;}
.senw{font-size:10px;letter-spacing:.2em;color:var(--red);margin-bottom:6px;}
.snamew{font-family:'Noto Serif JP',serif;font-size:15px;color:var(--dark);margin-bottom:10px;line-height:1.5;font-weight:600;}
.stagsw{display:flex;flex-wrap:wrap;gap:6px;}
.stagw{font-size:10px;border:1px solid rgba(178,34,34,.4);color:var(--red);padding:2px 8px;}

/* DETAIL ROWS */
.drows{display:flex;flex-direction:column;}
.drow{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.drow.flip .dimg{order:2;}.drow.flip .dtxt{order:1;}
.dimg{aspect-ratio:16/10;overflow:hidden;background:var(--warm);}
.dimg img{width:100%;height:100%;object-fit:cover;}
.dtxt{background:var(--dark);padding:52px;display:flex;flex-direction:column;justify-content:center;}
.dtxt h3{font-family:'Noto Serif JP',serif;font-size:19px;color:#fff;margin-bottom:14px;line-height:1.6;}
.dtxt p{font-size:13px;color:rgba(255,255,255,.5);line-height:2.1;}

/* RELATED BLOG */
.relblog{background:var(--cream);padding:80px 48px;}
.relblog-i{max-width:1100px;margin:0 auto;}

/* AFTER APPLY */
.afterapp{background:#1e0505;border:1px solid rgba(178,34,34,.2);padding:40px;text-align:center;margin-top:0;}
.aatitle{font-family:'Zen Old Mincho',serif;font-size:20px;color:#fff;margin-bottom:10px;}
.aasub{font-size:12px;color:rgba(255,255,255,.4);margin-bottom:22px;line-height:1.9;}

/* FILTER BAR */
.fbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;}
.fbtn{padding:7px 16px;font-size:11px;letter-spacing:.08em;border:1px solid var(--warm);background:#fff;color:var(--muted);cursor:pointer;transition:all .2s;}
.fbtn.active,.fbtn:hover{border-color:var(--red);color:var(--red);background:var(--red-p);}

/* GREETING PAGE */
.gmsg{background:var(--cream);padding:80px 48px;}
.gmi{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 2fr;gap:64px;align-items:start;}
.gphoto{width:100%;aspect-ratio:3/4;object-fit:cover;}
.gmsgtext h2{font-family:'Zen Old Mincho',serif;font-size:24px;color:var(--dark);margin-bottom:20px;}
.gmsgtext p{font-size:14px;line-height:2.2;color:var(--text);font-weight:300;margin-bottom:16px;}
.gprofile{background:var(--warm);padding:80px 48px;}
.gpi{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.gp2{width:100%;aspect-ratio:4/3;object-fit:cover;}
.gqualif{list-style:none;margin-top:16px;display:flex;flex-direction:column;gap:10px;}
.gqualif li{font-size:13px;color:var(--text);line-height:1.8;display:flex;align-items:flex-start;gap:10px;}
.gqualif li::before{content:'—';color:var(--red);flex-shrink:0;}
.glogo{background:var(--cream);padding:80px 48px;}
.gli{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.gloimg{width:100%;aspect-ratio:4/3;object-fit:cover;}
.glotxt h3{font-family:'Zen Old Mincho',serif;font-size:22px;color:var(--dark);margin-bottom:16px;}
.glotxt p{font-size:14px;line-height:2.2;font-weight:300;}

/* FAQ */
.faqsec{background:var(--cream);padding:80px 48px;}
.faqi{max-width:800px;margin:0 auto;}
.faqcat{margin-bottom:48px;}
.faqcat-title{font-family:'Zen Old Mincho',serif;font-size:18px;color:var(--dark);border-left:3px solid var(--red);padding-left:16px;margin-bottom:24px;}
.faqitem{border-bottom:1px solid rgba(178,34,34,.2);padding:20px 0;cursor:pointer;}
.faqitem:first-of-type{border-top:1px solid rgba(178,34,34,.2);}
.faqq{font-size:14px;font-weight:500;color:var(--dark);display:flex;justify-content:space-between;align-items:flex-start;gap:16px;line-height:1.6;}
.faqq::after{content:'+';color:var(--red);font-size:20px;flex-shrink:0;transition:transform .3s;}
.faqitem.open .faqq::after{transform:rotate(45deg);}
.faqa{display:none;font-size:13px;color:var(--muted);line-height:2;margin-top:12px;padding-left:0;}
.faqitem.open .faqa{display:block;}

/* ABOUT PAGE TABLE */
.abtable{width:100%;border-collapse:collapse;margin-top:36px;}
.abtable tr{border-bottom:1px solid rgba(178,34,34,.15);}
.abtable tr:first-child{border-top:1px solid rgba(178,34,34,.15);}
.abtable th{font-size:13px;color:var(--muted);font-weight:300;padding:18px 24px 18px 0;vertical-align:top;white-space:nowrap;width:140px;letter-spacing:.05em;}
.abtable td{font-size:14px;color:var(--dark);padding:18px 0;line-height:1.8;}

/* WOMEN FEATURE */
.wfeat{background:var(--warm);padding:80px 48px;}
.wfeati{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.wfimg{aspect-ratio:4/3;overflow:hidden;}
.wfimg img{width:100%;height:100%;object-fit:cover;}
.wftitle{font-family:'Zen Old Mincho',serif;font-size:24px;color:var(--dark);margin-bottom:16px;line-height:1.5;}
.wfbody{font-size:14px;line-height:2.2;font-weight:300;}
.evprev{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:36px;}
.epcard{border:1px solid rgba(178,34,34,.2);padding:24px;background:rgba(255,255,255,.02);cursor:pointer;transition:all .2s;}
.epcard:hover{border-color:rgba(178,34,34,.5);background:rgba(178,34,34,.05);}
a.epcard{display:block;}
.epdate{font-size:12px;color:var(--red);margin-bottom:8px;}
.epname{font-family:'Noto Serif JP',serif;font-size:15px;color:#fff;margin-bottom:8px;line-height:1.6;}
.epprice{font-size:14px;color:var(--red-l);font-family:'Zen Old Mincho',serif;}
.eparr{text-align:right;color:var(--red);font-size:11px;margin-top:12px;letter-spacing:.08em;}

/* TEAM DETAIL */
.tdet{background:var(--dark);padding:80px 48px;}
.tdeti{max-width:1100px;margin:0 auto;}
.tzoom{background:rgba(255,255,255,.04);border:1px solid rgba(178,34,34,.2);padding:40px;margin-top:36px;}
.tzoom h3{font-family:'Zen Old Mincho',serif;font-size:20px;color:#fff;margin-bottom:14px;}
.tzoom p{font-size:13px;color:rgba(255,255,255,.5);line-height:2;}
.tzoom-img{width:100%;aspect-ratio:16/9;background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;margin-top:20px;border:1px dashed rgba(178,34,34,.2);}
.tzoom-img span{font-size:12px;color:rgba(255,255,255,.2);letter-spacing:.1em;}
.tacts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px;}
.tact{border:1px solid rgba(178,34,34,.2);padding:24px;background:rgba(255,255,255,.02);}
.tact-icon{font-size:28px;margin-bottom:12px;}
.tact-title{font-family:'Noto Serif JP',serif;font-size:14px;color:var(--red-l);margin-bottom:8px;}
.tact-desc{font-size:12px;color:rgba(255,255,255,.42);line-height:1.8;}

/* FOOTER */
.ftr{background:#333;padding:64px 48px 0;}
.ftri{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:44px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.1);}
.flogo{font-family:'Zen Old Mincho',serif;font-size:20px;color:var(--red);margin-bottom:10px;}
.ftagline{font-size:12px;color:rgba(255,255,255,.5);line-height:2;margin-bottom:16px;}
.faddr{font-size:11px;color:rgba(255,255,255,.4);line-height:2;}
.fct{font-size:10px;letter-spacing:.2em;color:var(--red);margin-bottom:14px;}
.flinks{list-style:none;display:flex;flex-direction:column;gap:9px;}
.flinks a,.flinks button{background:none;border:none;font-size:12px;color:rgba(255,255,255,.55);cursor:pointer;padding:0;font-family:'Noto Sans JP',sans-serif;text-align:left;transition:color .2s;letter-spacing:.04em;}
.flinks a:hover,.flinks button:hover{color:var(--red-l);}
.fbot{max-width:1100px;margin:0 auto;padding:18px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.fcopy{font-size:10px;color:rgba(255,255,255,.35);letter-spacing:.05em;}
.fplinks{display:flex;gap:16px;}
.fplinks a,.fplinks button{background:none;border:none;font-size:10px;color:rgba(255,255,255,.4);cursor:pointer;padding:0;font-family:'Noto Sans JP',sans-serif;transition:color .2s;}
.fplinks a:hover,.fplinks button:hover{color:rgba(255,255,255,.7);}

/* ========================
   RESPONSIVE BREAKPOINTS
   ======================== */

@media (max-width:768px) {
  /* Header */
  .hdr{padding:0 20px;}
  .hdr-nav{display:none;}
  .hamburger{display:flex;}

  /* Hero */
  .hcatch{font-size:34px;}
  .hc{padding:0 24px 60px;}
  .hsub{font-size:13px;}

  /* Page Hero */
  .ph{padding:48px 24px 40px;}
  .phja{font-size:26px;}

  /* Section */
  .sec{padding:56px 24px;}

  /* Grids 3col -> 1col */
  .wgrid{grid-template-columns:1fr;}
  .egrid3{grid-template-columns:1fr;}
  .sgrid{grid-template-columns:1fr;}
  .sgridw{grid-template-columns:1fr;}
  .bgrid{grid-template-columns:1fr;}
  .pgrid{grid-template-columns:1fr 1fr;}
  .tacts{grid-template-columns:1fr;}

  /* 2col -> 1col */
  .egrid{grid-template-columns:1fr;}
  .aboi{grid-template-columns:1fr;gap:40px;}
  .abimg::before{display:none;}
  .evprev{grid-template-columns:1fr;}
  .gmi{grid-template-columns:1fr;}
  .gpi{grid-template-columns:1fr;}
  .gli{grid-template-columns:1fr;}
  .wfeati{grid-template-columns:1fr;}

  /* Detail rows */
  .drow{grid-template-columns:1fr;}
  .drow.flip .dimg{order:0;}
  .drow.flip .dtxt{order:1;}
  .dtxt{padding:32px 24px;}

  /* Footer */
  .ftri{grid-template-columns:1fr 1fr;gap:28px;}

  /* Community grid */
  .igrid{grid-template-columns:repeat(3,1fr);}

  /* About */
  .about{padding:56px 24px;}
  .partners{padding:56px 24px;}
  .who{padding:56px 24px;}
  .comm{padding:56px 24px;}
  .lsec{padding:56px 24px;}
  .news{padding:56px 24px;}
  .cband{padding:56px 24px;}
  .team{padding:56px 24px;}
  .relblog{padding:56px 24px;}
  .gmsg{padding:56px 24px;}
  .gprofile{padding:56px 24px;}
  .glogo{padding:56px 24px;}
  .faqsec{padding:56px 24px;}
  .tdet{padding:56px 24px;}
  .wfeat{padding:56px 24px;}
  .ftr{padding:48px 24px 0;}
}

@media (max-width:480px) {
  .hcatch{font-size:26px;}
  .st{font-size:22px;}
  .stw{font-size:22px;}
  .phja{font-size:22px;}
  .teamtitle{font-size:20px;}
  .lhead{font-size:20px;}
  .ctitle{font-size:20px;}

  .pgrid{grid-template-columns:1fr;}
  .ftri{grid-template-columns:1fr;}
  .igrid{grid-template-columns:repeat(2,1fr);}

  .bp,.bd,.bg,.bo,.bow{padding:12px 20px;font-size:12px;}
  .lbtn{padding:13px 28px;font-size:13px;}
}
