.cp-main{background:var(--midnight);color:var(--cream);overflow-x:hidden}.cp-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:60px 20px;background:linear-gradient(135deg,var(--midnight) 0,var(--indigo) 100%);border-bottom:1px solid rgba(201,169,97,.1)}.cp-hero-inner{position:relative;z-index:2;text-align:center;max-width:800px}.cp-hero-label{display:block;font-size:14px;letter-spacing:.1em;color:var(--gold-light);margin-bottom:24px;font-weight:300}.cp-hero-title{font-family:Cormorant Garamond,serif;font-size:clamp(64px,10vw,120px);font-weight:400;letter-spacing:.04em;line-height:1;margin-bottom:16px;color:var(--cream)}.cp-hero-period{color:var(--gold)}.cp-hero-subtitle{font-family:Shippori Mincho,serif;font-size:24px;font-weight:400;color:var(--cream-dim);margin-top:32px;line-height:1.6}.cp-hero-deco{position:absolute;top:40px;right:40px;width:120px;height:120px;display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,serif;font-size:80px;font-weight:300;color:rgba(201,169,97,.08);z-index:1}@media (max-width:1024px){.cp-hero-deco{width:80px;height:80px;font-size:60px;top:20px;right:20px}}.cp-body{padding:80px 20px;max-width:1400px;margin:0 auto}.cp-section{margin-bottom:120px;scroll-margin-top:100px}.cp-section-header{margin-bottom:60px}.cp-section-label{display:block;font-size:14px;letter-spacing:.1em;color:var(--gold-light);margin-bottom:16px;font-weight:300}.cp-section-title{font-family:Cormorant Garamond,serif;font-size:clamp(40px,6vw,80px);font-weight:400;letter-spacing:.02em;line-height:1.2;color:var(--cream)}.cp-section-title .italic{font-style:italic;color:var(--gold-light)}.cp-section-content{display:grid;gap:80px;align-items:center}.cp-section-content,.cp-section-content-reverse{grid-template-columns:1fr 1fr}.cp-text-block h3{font-family:Shippori Mincho,serif;font-size:28px;font-weight:600;line-height:1.6;margin-bottom:24px;color:var(--cream)}.cp-text-block p{font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:1.8;color:var(--cream-dim);margin-bottom:20px}.cp-text-block p:last-of-type{margin-bottom:0}.cp-signature{font-family:Cormorant Garamond,serif;font-size:18px;font-style:italic;color:var(--gold-light);margin-top:32px;letter-spacing:.05em}.cp-visual-block{position:relative;min-height:400px;background:linear-gradient(135deg,rgba(201,169,97,.1),rgba(184,123,142,.1));border:1px solid rgba(201,169,97,.15);border-radius:8px;overflow:hidden}.cp-visual-block:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(201,169,97,.05) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(184,123,142,.05) 0,transparent 50%);pointer-events:none}.cp-visual-block-alt{background:linear-gradient(135deg,rgba(184,123,142,.1),rgba(201,169,97,.1))}.cp-section-alt{background:rgba(21,25,57,.5);border-radius:8px;margin-left:-20px;margin-right:-20px;padding:60px calc(60px + 20px)}.cp-values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:40px;margin-top:60px}.cp-value-card{padding:40px;background:rgba(26,29,62,.6);border:1px solid rgba(201,169,97,.15);border-radius:8px;transition:all .3s ease}.cp-value-card:hover{background:rgba(26,29,62,.9);border-color:rgba(201,169,97,.3);transform:translateY(-4px)}.cp-value-num{font-size:48px;font-weight:300;color:var(--gold-dim)}.cp-value-num,.cp-value-title{font-family:Cormorant Garamond,serif;margin-bottom:16px}.cp-value-title{font-size:24px;font-weight:400;color:var(--gold-light);letter-spacing:.05em}.cp-value-desc{font-family:Noto Sans JP,sans-serif;font-size:15px;line-height:1.7;color:var(--cream-dim)}.cp-cta-section{margin-top:100px;padding:80px 60px;background:linear-gradient(135deg,rgba(201,169,97,.08),rgba(184,123,142,.08));border:1px solid rgba(201,169,97,.15);border-radius:8px;text-align:center}.cp-cta-inner{max-width:600px;margin:0 auto}.cp-cta-title{font-family:Shippori Mincho,serif;font-size:32px;font-weight:600;line-height:1.6;margin-bottom:24px;color:var(--cream)}.cp-cta-desc{font-family:Noto Sans JP,sans-serif;font-size:16px;line-height:1.8;color:var(--cream-dim);margin-bottom:40px}.cp-cta-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}.cp-btn{display:inline-block;padding:16px 40px;font-family:Noto Sans JP,sans-serif;font-size:16px;font-weight:500;border-radius:4px;text-decoration:none;transition:all .3s ease;letter-spacing:.05em}.cp-btn-primary{background:var(--gold);color:var(--midnight);border:1px solid var(--gold)}.cp-btn-primary:hover{background:var(--gold-light);border-color:var(--gold-light);transform:translateY(-2px)}.cp-btn-secondary{background:transparent;color:var(--gold);border:1px solid var(--gold)}.cp-btn-secondary:hover{background:rgba(201,169,97,.1);border-color:var(--gold-light);color:var(--gold-light)}.cp-nav{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:100px;padding-top:60px;border-top:1px solid rgba(201,169,97,.1)}.cp-nav-link{display:flex;flex-direction:column;gap:12px;padding:24px;text-decoration:none;border:1px solid rgba(201,169,97,.15);border-radius:4px;transition:all .3s ease}.cp-nav-link:hover{background:rgba(201,169,97,.05);border-color:rgba(201,169,97,.3)}.cp-nav-link-label{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:400;color:var(--gold-light);letter-spacing:.05em}.cp-nav-link-ja{font-family:Noto Sans JP,sans-serif;font-size:14px;color:var(--cream-dim)}@media (max-width:1024px){.cp-body{padding:60px 20px}.cp-section{margin-bottom:80px}.cp-section-content,.cp-section-content-reverse{grid-template-columns:1fr;gap:40px}.cp-visual-block{min-height:300px}.cp-section-alt{margin-left:-20px;margin-right:-20px;padding:40px 20px}.cp-values-grid{grid-template-columns:1fr 1fr;gap:30px}.cp-cta-section{padding:60px 30px}.cp-nav{grid-template-columns:1fr;gap:20px}}@media (max-width:640px){.cp-hero{min-height:80vh;padding:40px 20px}.cp-hero-title{font-size:clamp(48px,8vw,80px)}.cp-hero-subtitle{font-size:18px}.cp-hero-deco{display:none}.cp-section-header{margin-bottom:40px}.cp-section-title{font-size:clamp(28px,5vw,48px)}.cp-text-block h3{font-size:22px}.cp-text-block p{font-size:15px}.cp-values-grid{grid-template-columns:1fr}.cp-value-card{padding:30px}.cp-cta-section{padding:40px 20px}.cp-cta-title{font-size:24px}.cp-cta-buttons{flex-direction:column}.cp-btn{width:100%}}