@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--rose:#ae5679;--ink:#553d49;--paper:#fffafc;--pink:#f4dce7;--line:#ead7e0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--rose);outline-offset:5px}aside{position:fixed;inset:0 auto 0 0;width:228px;padding:45px 30px;background:#fff4f8;border-right:1px solid var(--line);z-index:10;display:flex;flex-direction:column}.brand{font-family:'Playfair Display',serif;font-size:36px;letter-spacing:2px;color:var(--rose);line-height:1.3}.brand small{font-family:Arial;display:block;letter-spacing:4px;font-size:8px;margin-top:9px}nav{margin-top:64px}nav a{display:block;padding:17px 12px;border-bottom:1px solid var(--line);font-size:15px;letter-spacing:2px}nav a small{display:block;letter-spacing:0;font-size:10px;color:#957988}nav a.active{background:#f2dde7;color:var(--rose);border-radius:8px}aside .side-bottom{margin-top:auto;font-size:10px;color:#957988}main{margin-left:228px}.hero{min-height:660px;position:relative;overflow:hidden;display:grid;place-items:center;text-align:center;background:radial-gradient(ellipse at 50% 40%,#fff8fc 0%,#f5d9e5 50%,#edbad0 100%)}.hero:before,.hero:after{content:'';position:absolute;width:510px;height:510px;border:1px solid #fff9;border-radius:50%;transform:rotate(-28deg);left:-260px;top:170px;box-shadow:0 0 0 40px #fff2,0 0 0 80px #fff1}.hero:after{left:auto;right:-260px;top:-200px}.hero-content{position:relative;z-index:1;padding:90px 24px}.eyebrow{font-size:10px;letter-spacing:4px;color:var(--rose)}.hero h1{font-family:'Playfair Display',serif;letter-spacing:8px;font-size:clamp(70px,9vw,145px);font-weight:500;line-height:1.15;color:var(--rose);margin:18px 0 10px}.production{font-size:12px;letter-spacing:8px}.hero h2{font-weight:500;font-size:19px;letter-spacing:4px;margin:55px 0 34px}.pill{display:inline-block;border:1px solid #b97694;border-radius:40px;padding:13px 30px;color:var(--rose);background:#fff5;letter-spacing:1px;font-size:12px}.spark{position:absolute;color:#fff;font-size:30px}.ribbon{display:inline-block;font-size:58px;color:#c7799d;line-height:1}.intro{max-width:970px;margin:auto;padding:85px 48px 55px;display:flex;align-items:center;gap:65px}.intro h2{font-family:'Playfair Display',serif;font-weight:500;font-size:46px;line-height:1.4;color:var(--rose);white-space:nowrap}.intro p{font-size:13px;line-height:2.5}.section{max-width:1100px;margin:auto;padding:50px 55px 70px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.title{font-family:'Playfair Display',serif;color:var(--rose);font-size:44px;line-height:1.3;margin:0;font-weight:500}.sub{font-size:11px;letter-spacing:2px;margin-top:12px;color:#927080}.more{font-size:11px;color:var(--rose);border-bottom:1px solid var(--rose);padding-bottom:5px}.members{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.portrait{height:285px;border-radius:150px 150px 8px 8px;background:linear-gradient(145deg,#f9eaf1,var(--tone,#e4c5d4));position:relative;overflow:hidden;display:grid;place-items:center;transition:transform .35s}.portrait:before{content:'';position:absolute;width:80px;height:80px;top:65px;border-radius:50%;background:#fff8}.portrait:after{content:'';position:absolute;width:160px;height:190px;border-radius:90px 90px 0 0;top:160px;background:#fff8}.portrait span{position:relative;z-index:1;font-family:'Playfair Display';font-size:47px;font-style:italic;color:#b47c96;opacity:.8}.member:hover .portrait{transform:translateY(-5px)}.member .latin{font-family:'Playfair Display';font-size:23px;letter-spacing:2px;margin-top:19px;color:var(--rose)}.member .jp{font-size:12px}.sample-note{font-size:10px;color:#9b7c8d;margin-top:24px}.news-row{padding:24px 0;border-top:1px solid var(--line);display:flex;gap:28px;align-items:center}.news-row time{font-size:11px;color:#9f8492}.tag{font-size:10px;background:#f7e7ef;padding:3px 14px;border-radius:20px;color:var(--rose)}.news-row strong{font-size:13px;font-weight:400}.cta{margin:40px 55px 65px;padding:48px;text-align:center;background:#f2dce6;border-radius:8px}.cta .title{font-size:38px}.button{border:0;background:var(--rose);color:white;display:inline-block;padding:15px 37px;border-radius:30px;font-size:12px;cursor:pointer}.cta p{font-size:12px;margin:18px 0 25px}footer{padding:36px 55px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;color:#997a8a;gap:20px}.page-heading{padding:75px 55px 50px;background:linear-gradient(120deg,#fff7fb,#f4dfe9)}.page-heading .title{font-size:60px}.breadcrumb{font-size:10px;letter-spacing:1px;margin-bottom:30px}.profile{display:grid;grid-template-columns:1fr 1fr;gap:60px}.profile .portrait{height:490px}.profile .portrait:before{width:130px;height:130px;top:110px}.profile .portrait:after{width:270px;height:300px;top:260px}.profile h2{font-family:'Playfair Display';font-size:52px;color:var(--rose);margin:15px 0 0}.profile dl{display:grid;grid-template-columns:100px 1fr;font-size:12px;line-height:2.5;margin:35px 0}.profile dt,.profile dd{margin:0;border-bottom:1px solid var(--line);padding:13px 0}.prose{max-width:720px;line-height:2.4}.prose h2{font-size:25px;font-weight:500;margin:35px 0 25px}.prose h3{font-size:17px;margin-top:35px}.prose p{font-size:13px}.concept{font-family:'Playfair Display';font-size:66px!important;color:var(--rose);line-height:1.3!important}.notice{background:#faedf3;padding:18px 22px;font-size:12px;border-left:3px solid #d796b5}.form{max-width:700px;margin:auto}.field{display:block;margin:25px 0;font-size:12px}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid var(--line);background:white;padding:14px;border-radius:5px;margin-top:9px;color:var(--ink)}.field textarea{min-height:160px}.required{color:var(--rose);font-size:10px;margin-left:10px}.menu-toggle{display:none}.review{white-space:pre-wrap;background:#faf0f5;padding:24px;font-size:13px}.error{color:#a24166} @media(min-width:1600px){.hero{min-height:740px}}@media(max-width:1000px){aside{width:190px;padding:35px 20px}main{margin-left:190px}.members{gap:15px}.portrait{height:230px}.section{padding:45px 32px}.intro{padding:50px 32px;gap:30px}.intro h2{font-size:36px}.profile{gap:30px}}@media(max-width:720px){aside{position:sticky;top:0;width:100%;height:76px;padding:13px 22px;display:flex;flex-direction:row;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-size:25px}.brand small{font-size:6px;margin-top:3px}.menu-toggle{display:block;background:none;border:0;color:var(--rose);font-size:11px;letter-spacing:2px;padding:12px}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff4f8;margin:0;padding:12px 25px 25px}nav.open{display:block}aside .side-bottom{display:none}main{margin:0}.hero{min-height:520px}.hero h1{font-size:67px;letter-spacing:3px}.hero h2{font-size:13px;letter-spacing:2px;margin-top:38px}.production{font-size:8px;letter-spacing:6px}.hero-content{padding:65px 15px}.intro{display:block;padding:42px 26px 20px}.intro h2{font-size:34px}.intro p{font-size:12px}.section{padding:35px 25px 45px}.title{font-size:35px}.members{grid-template-columns:1fr 1fr;gap:25px 17px}.portrait{height:230px}.news-row{gap:12px;flex-wrap:wrap}.news-row strong{width:100%}.cta{margin:15px 25px 40px;padding:35px 20px}.cta .title{font-size:32px}footer{padding:25px;flex-direction:column;gap:12px}.page-heading{padding:38px 25px}.page-heading .title{font-size:46px}.profile{grid-template-columns:1fr}.profile .portrait{height:450px;max-width:380px;width:100%;margin:auto}.concept{font-size:48px!important}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.social-links{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.social-links:empty{display:none}.profile-simple{align-items:center;min-height:660px}.profile-simple .portrait{border-radius:24px;border:7px solid white;box-shadow:0 16px 45px #ae567915}.profile-simple .member-name{font-size:21px;color:var(--rose);margin:10px 0 28px}.profile-simple .profile-intro{line-height:2.2}.profile-simple dl{margin:28px 0}.profile-simple h2{margin-top:0}.portrait.has-photo:before,.portrait.has-photo:after{display:none}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 28%}