:root{--color-primary:#5c3d6e;--color-primary-light:#7b5494;--color-accent:#c9a96e;--color-cream:#faf7f2;--color-bg:#fff;--color-text:#2d2d2d;--color-text-muted:#6b6b6b;--color-border:#e8e0d5;--color-success:#3a7d44;--color-error:#c0392b;--radius:8px;--shadow:0 2px 12px rgba(92,61,110,.08);--shadow-hover:0 6px 24px rgba(92,61,110,.15)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.7;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}main{flex:1 1}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-light)}img{max-width:100%;height:auto}.container{max-width:1100px;margin:0 auto;padding:0 20px}.section{padding:60px 0}.site-header{background:var(--color-primary);color:#fff;padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.15)}.site-header__inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:64px}.site-header__logo{font-size:1.2rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:8px}.site-header__logo span{color:var(--color-accent)}.site-header__nav{display:flex;align-items:center;gap:24px}.site-header__nav a{color:hsla(0,0%,100%,.85);font-size:.9rem;transition:color .2s}.site-header__nav a:hover{color:#fff}.btn{display:inline-block;padding:12px 28px;border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:all .2s;text-align:center}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-light);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-hover)}.btn-accent{background:var(--color-accent);color:#fff}.btn-accent:hover{background:#b8934a;color:#fff;transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background:var(--color-primary);color:#fff}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.9rem;font-weight:600;margin-bottom:6px;color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1.5px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:inherit;transition:border-color .2s;background:#fff;color:var(--color-text)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.badge-sheet{background:#e8d5f5;color:#5c3d6e}.badge-video{background:#d5e8f5;color:#1a5c8e}.badge-bundle{background:#f5e8d5;color:#8e5c1a}.badge-beginner{background:#d5f5e0;color:#1a6e3a}.badge-intermediate{background:#fff3cd;color:#856404}.badge-advanced{background:#fde8e8;color:#8e1a1a}.site-footer{background:var(--color-primary);color:hsla(0,0%,100%,.7);padding:40px 20px;margin-top:40px;text-align:center;font-size:.85rem}.site-footer a{color:hsla(0,0%,100%,.85)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.mt-4{margin-top:16px}.mt-8{margin-top:32px}.mb-4{margin-bottom:16px}.price-tag{font-size:1.4rem;font-weight:700;color:var(--color-primary)}@media (max-width:768px){.site-header__inner{height:auto;flex-direction:column;align-items:flex-start;gap:8px;padding:12px 0 14px}main>.container:first-child,main>:first-child>.container:first-child{padding-top:16px}.site-header__logo{font-size:1.05rem}.site-header__nav{gap:14px;flex-wrap:wrap;font-size:.85rem}.section{padding:40px 0}.container{padding:0 16px}.product-layout{grid-template-columns:1fr!important}.purchase-box{position:static!important}table{font-size:.8rem!important}.btn{padding:11px 20px;font-size:.9rem}}