:root{--ink:#244455;--muted:#7294a2;--blue:#267d9f;--deep:#0d6083;--pale:#ebf8fe;--line:#dcecf3;--soft:#f6fbfd;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:ui-rounded,"Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%}h1,h2,h3,p{margin-top:0}.container{max-width:1100px;margin:0 auto;padding-left:24px;padding-right:24px}.site-header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #e8f1f5}.nav-row{height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:baseline;gap:14px;white-space:nowrap}.brand span{font-size:22px;letter-spacing:.05em;font-weight:800;color:#1c5068}.brand small{font-size:9px;letter-spacing:.22em;color:#87afc0;font-weight:800}.main-nav{display:flex;align-items:center;gap:25px}.main-nav a{font-size:11px;font-weight:800;letter-spacing:.13em;color:#3f7085}.main-nav a:hover,.text-link:hover{color:var(--blue)}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font-size:26px;padding:8px}.hero{position:relative;min-height:560px;overflow:hidden;border-radius:22px;margin-top:28px;background:#e6f7fd;display:flex;align-items:center}.hero picture,.hero-photo{position:absolute;inset:0;width:100%;height:100%}.hero-photo{object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(240,251,255,.94),rgba(240,251,255,.67) 36%,transparent 63%)}.hero-copy{position:relative;z-index:1;margin-left:6%;padding:32px 0;color:#21516b}.eyebrow{display:block;font-size:10px;font-weight:900;letter-spacing:.22em;color:#4097b9}.hero-copy h1{font-weight:900;font-size:clamp(48px,6.2vw,78px);letter-spacing:.07em;margin:22px 0 6px}.hero-copy p{color:#5792a8;letter-spacing:.17em;font-size:12px;font-weight:800}.hero-buttons{display:flex;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 20px;border-radius:999px;font-weight:800;font-size:12px;text-align:center;transition:transform .2s;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:white}.button-light{background:rgba(255,255,255,.9);color:#2a7090}.button-outline{border-color:#9acbdc;color:#27799a;background:#fff}.button-outline:hover{background:#effafe}.section{padding-top:87px;padding-bottom:88px}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;border-bottom:1px solid var(--line);padding-bottom:21px}.section-title h2,.profile-layout h2{font-size:35px;letter-spacing:.02em;margin:7px 0 0}.mini-note{font-size:11px;color:var(--muted)}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.plan-card{border:1px solid var(--line);border-radius:18px;padding:28px 30px;display:flex;flex-direction:column;min-height:318px;box-shadow:0 6px 30px rgba(63,139,176,.025)}.pill{display:inline-block;border-radius:999px;color:#2e829e;background:#e6f7fc;padding:6px 11px;font-size:10px;letter-spacing:.12em;font-weight:800}.plan-top h3{font-size:18px;margin:19px 0 7px}.price{font-size:31px;font-weight:900;color:#183f54}.price small{font-size:12px}.plan-card p{font-size:13px;color:#5d8092;margin:12px 0}.plan-points{font-size:11px;line-height:1.8;color:#8aa1ac;margin:4px 0 25px}.plan-card .button{margin-top:auto;align-self:flex-start}.small-note{margin-top:18px;font-size:11px;line-height:1.8;color:#809ba7}.section-blue{background:#eff9fc}.teaser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.teaser-card{display:grid;grid-template-columns:155px 1fr;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;min-height:210px}.teaser-card>img,.teaser-visual img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}.teaser-visual{position:relative}.overlay-lock{position:absolute;inset:0;display:grid;place-items:center;background:rgba(178,221,237,.6);color:#205772;font-weight:800;font-size:12px}.teaser-card>div:last-child{padding:21px 20px;min-width:0}.teaser-card h3{font-size:16px;margin:14px 0 8px}.teaser-card p{font-size:12px;color:#7592a0;line-height:1.9}.text-link{font-size:11px;font-weight:800;color:var(--blue)}.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.gallery-item{border:0;padding:0;border-radius:13px;overflow:hidden;aspect-ratio:3/4;background:#e4f5fc}.gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-item:hover img{transform:scale(1.04)}.profile-layout{display:grid;grid-template-columns:230px 1fr;gap:56px;align-items:center}.profile-photo{border-radius:16px;overflow:hidden;aspect-ratio:3/4;background:#dbf0f7}.profile-photo img{width:100%;height:100%;object-fit:cover}.profile-bio{font-size:14px;line-height:2;color:#5e8090;max-width:560px;margin:20px 0}.profile-links{display:flex;flex-wrap:wrap;gap:12px}.profile-links a{border:1px solid #bddce9;background:#fff;border-radius:999px;color:#27799a;font-size:11px;padding:9px 16px;font-weight:800}.site-footer{background:#fff;padding:25px 0;font-size:11px;color:#8ba2ad}.footer-inner{display:flex;justify-content:space-between;gap:20px}.dialog-open{overflow:hidden}.lightbox{position:fixed;inset:0;z-index:50;background:rgba(7,33,46,.92);display:grid;place-items:center;padding:52px 22px}.lightbox[hidden]{display:none}.lightbox>img{max-width:100%;max-height:88vh;object-fit:contain}.lightbox-close{position:absolute;top:14px;right:22px;border:0;background:transparent;color:#fff;font-size:39px}.panel-bg{min-height:calc(100svh - 76px);background:#f4fafc;padding:50px 0 90px}.panel{max-width:670px;margin:auto;background:#fff;border-radius:20px;border:1px solid var(--line);padding:36px 40px}.panel h1{font-size:28px}.panel h2{font-size:19px}.field{margin:19px 0}.field label{display:block;margin-bottom:8px;font-weight:800;font-size:12px;color:#436777}.field input,.field select,.field textarea{width:100%;border:1px solid #cddfe8;padding:13px;border-radius:10px;font-size:16px;outline-color:#65bbd9;background:#fff}.field textarea{min-height:100px;resize:vertical}.field input[type=checkbox]{width:auto;margin-top:4px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.text-muted{color:var(--muted);font-size:12px;line-height:1.8}.notice{background:#eaf8ff;border:1px solid #c4e8f6;border-radius:11px;padding:16px 18px;margin:20px 0;color:#456f80;font-size:12px;line-height:1.9}.notice-warn{background:#fff9e8;border-color:#f0deb1;color:#7d6838}.notice ul{margin:7px 0 0;padding-left:18px}.alert{border:1px solid #f1c2c4;color:#aa5052;background:#fff5f5;padding:12px 15px;border-radius:10px;font-size:13px;margin:18px 0}.success{border-color:#bdddcf;background:#edf9f3;color:#3e8062}.check-line{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.8;margin:16px 0}.check-line input{margin-top:4px}.inline-links{text-align:center;margin-top:22px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap;font-size:12px;color:#2f86aa;font-weight:800}.members-section{padding:52px 0 90px}.member-hero h1{font-size:34px;margin:10px 0}.member-links{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:34px 0}.member-link{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;min-height:200px;display:flex;flex-direction:column;align-items:flex-start}.member-link h2{font-size:22px;margin:20px 0 10px}.member-link .button{margin-top:auto}.member-link.disabled{opacity:.65}.post-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:25px}.post-entry{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.post-entry img,.post-entry video{display:block;width:100%;max-height:570px;object-fit:cover;aspect-ratio:4/5}.post-entry .post-placeholder{aspect-ratio:4/3;background:#e7f5fb;display:grid;place-items:center;color:#5e92a5}.post-info{padding:19px}.post-info h3{font-size:17px;margin:8px 0}.post-info p{font-size:12px;line-height:1.9;color:#6d8d9c}.empty-state{border:1px dashed #b8d7e4;border-radius:16px;text-align:center;padding:45px;color:#6b94a5}.post-detail{max-width:830px;margin:45px auto 70px}.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:24px 0}.media-grid>*{width:100%;border-radius:12px;object-fit:contain;max-height:700px;background:#f1f7fa}.media-grid>*:only-child{grid-column:1/-1}.post-body{white-space:pre-wrap;font-size:14px;line-height:2;color:#4f6e7a}.admin-head{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line)}.admin-layout{display:grid;grid-template-columns:208px 1fr;gap:30px;padding:32px 0 75px}.admin-menu{display:flex;flex-direction:column;gap:6px}.admin-menu a{font-size:13px;font-weight:800;padding:13px 15px;border-radius:10px}.admin-menu a.active,.admin-menu a:hover{background:#e2f4fa;color:#217da1}.admin-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:24px;margin-bottom:20px}.admin-card h2{font-size:20px}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat{background:#f2fafe;border-radius:12px;padding:17px}.stat strong{font-size:25px;display:block}.table-scroll{overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:12px}.admin-table th,.admin-table td{padding:12px 9px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.admin-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.danger{border:1px solid #e6a4ab;color:#b35363;background:#fff}.thumb{width:72px;height:65px;object-fit:cover;border-radius:8px}.form-hint{font-size:11px;color:#7f98a4;line-height:1.8;margin-top:8px}.admin-bottom{display:none}
@media(max-width:760px){.container{padding-left:16px;padding-right:16px}.nav-row{height:62px}.brand span{font-size:21px}.brand small{font-size:8px}.menu-toggle{display:block}.site-header .main-nav{display:none;position:absolute;top:61px;left:0;right:0;background:#fff;box-shadow:0 15px 20px rgba(31,95,120,.1);padding:14px 18px;flex-direction:column;align-items:stretch;gap:3px}.site-header .main-nav.open{display:flex}.site-header .main-nav a{padding:11px}.hero{min-height:580px;border-radius:17px;margin-top:14px;align-items:flex-end}.hero-photo{object-position:center}.hero-shade{background:linear-gradient(180deg,transparent 39%,rgba(226,247,255,.2) 55%,rgba(233,250,255,.95) 100%)}.hero-copy{margin:0;padding:45px 25px 36px;max-width:100%}.hero-copy h1{font-size:44px}.hero-buttons{margin-top:24px}.section{padding-top:60px;padding-bottom:61px}.section-title{margin-bottom:20px}.section-title h2,.profile-layout h2{font-size:28px}.plan-grid,.teaser-grid,.member-links,.post-feed{grid-template-columns:1fr}.plan-card{min-height:285px;padding:24px}.teaser-card{grid-template-columns:130px 1fr;min-height:180px}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:8px}.profile-layout{grid-template-columns:1fr;gap:25px}.profile-photo{max-width:240px}.panel-bg{padding:18px 0 45px}.panel{padding:25px 19px}.form-row{grid-template-columns:1fr;gap:0}.admin-layout{grid-template-columns:1fr;padding-bottom:105px}.admin-menu{display:none}.admin-card{padding:19px}.admin-grid{grid-template-columns:repeat(3,1fr);gap:8px}.stat{padding:10px}.stat strong{font-size:21px}.admin-bottom{display:grid;position:fixed;bottom:0;left:0;right:0;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--line);z-index:30;padding-bottom:env(safe-area-inset-bottom)}.admin-bottom a{padding:11px 0;text-align:center;font-size:11px;font-weight:800;color:#41748a}.media-grid{grid-template-columns:1fr}.media-grid>*:only-child{grid-column:1}.footer-inner{flex-direction:column}.member-hero h1{font-size:28px}}
@media(max-width:380px){.teaser-card{grid-template-columns:105px 1fr}.teaser-card>div:last-child{padding:12px}.brand small{display:none}}
