:root{--main:#7a1f2b;--main-dark:#4b1018;--gold:#b89a5e;--ivory:#f7f5f0;--gray:#e8e6e1;--ink:#252525;--muted:#69645f;--white:#fff;--shadow:0 20px 60px #2914161f;--radius:18px;--container:min(1160px, calc(100% - 40px))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--ivory);margin:0;font-family:Noto Sans JP,Yu Gothic,sans-serif;line-height:1.8}body.menu-open{overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:var(--container);margin:auto}.site-header{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f5f0ed;border-bottom:1px solid #7a1f2b14;width:100%;transition:all .3s;position:fixed;top:0;left:0}.site-header.is-scrolled{box-shadow:0 8px 30px #1e0c0e14}.header-inner{justify-content:space-between;align-items:center;height:88px;display:flex}.brand img{width:310px;height:auto}.global-nav{align-items:center;gap:30px;font-size:14px;font-weight:700;display:flex}.global-nav a{position:relative}.global-nav a:not(.nav-contact):after{content:"";background:var(--main);width:0;height:2px;transition:all .3s;position:absolute;bottom:-8px;left:0}.global-nav a:hover:after,.global-nav a.is-current:after{width:100%}.nav-contact{color:#fff;background:var(--main);border:1px solid var(--main);padding:13px 22px;transition:all .25s}.nav-contact:hover{background:var(--main-dark)}.menu-toggle{background:0 0;border:0;display:none}.hero{background-image:linear-gradient(90deg,#f7f5f0fa 0%,#f7f5f0e6 40%,#f7f5f059 70%,#f7f5f01a 100%),url(/assets/hero-bg-6GW7JLmf.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;align-items:center;min-height:720px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(145deg, var(--gray), #fff);clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);z-index:-2;width:55vw;height:640px;position:absolute;top:60px;right:-14vw}.hero-grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:72px;display:grid}.hero-copy h1{letter-spacing:.04em;margin:12px 0 24px;font-family:Noto Serif JP,serif;font-size:clamp(42px,5vw,70px);line-height:1.35}.hero-copy h1 span{color:var(--main)}.hero-copy p{color:var(--muted);max-width:600px;font-size:17px}.eyebrow{color:var(--main);letter-spacing:.24em;margin:0;font-size:12px;font-weight:800}.eyebrow.light{color:#ead8bb}.hero-actions{gap:15px;margin-top:38px;display:flex}.btn{border:1px solid var(--main);justify-content:space-between;align-items:center;gap:32px;min-width:210px;padding:16px 24px;font-weight:700;transition:all .25s;display:inline-flex}.btn-primary{background:var(--main);color:#fff}.btn-primary:hover{background:var(--main-dark);transform:translateY(-2px)}.btn-outline:hover{background:var(--main);color:#fff}.btn-light{color:var(--main);background:#fff;border-color:#fff}.hero-visual{position:relative}.hero-visual img{box-shadow:var(--shadow);border-radius:30px}.hero-badge{box-shadow:var(--shadow);border-left:5px solid var(--gold);background:#fff;padding:24px 28px;position:absolute;bottom:-28px;left:-35px}.hero-badge strong{color:var(--main);font-size:28px;display:block}.section{padding:110px 0}.section-white{background:#fff}.section-dark{background:var(--main-dark);color:#fff}.section-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:52px;display:flex}.section-head h2,.page-hero h1{margin:10px 0 0;font-family:Noto Serif JP,serif;font-size:clamp(32px,4vw,50px);line-height:1.4}.section-head p{max-width:530px;color:var(--muted)}.section-dark .section-head p{color:#e7dfe0}.problem-grid,.service-grid,.style-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.problem-card,.service-card,.style-card{background:#fff;border:1px solid #eee8e0;padding:35px;transition:all .3s}.problem-card:hover,.service-card:hover{box-shadow:var(--shadow);transform:translateY(-7px)}.num{color:var(--gold);letter-spacing:.14em;font-size:13px;font-weight:800}.problem-card h3,.service-card h3,.style-card h3{font-size:22px;line-height:1.5}.service-card{padding-top:80px;position:relative}.service-icon{background:var(--ivory);width:48px;height:48px;color:var(--main);border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute;top:30px;right:30px}.service-card ul{color:var(--muted);padding-left:20px}.service-price{border-top:1px solid var(--gray);color:var(--main);padding-top:20px;font-weight:800}.split{grid-template-columns:1fr 1fr;align-items:center;gap:75px;display:grid}.split-image img{border-radius:24px}.point-list{gap:20px;margin-top:32px;display:grid}.point{grid-template-columns:52px 1fr;gap:18px;display:grid}.point b{background:var(--main);color:#fff;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.point h3{margin:0 0 4px}.point p{color:var(--muted);margin:0}.flow{background:#ffffff2e;grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.flow-item{background:var(--main-dark);padding:36px}.flow-item span{color:var(--gold);font-weight:800}.footer-cta{background:var(--main);color:#fff;padding:70px 0}.footer-cta-inner{justify-content:space-between;align-items:center;gap:30px;display:flex}.footer-cta h2{margin:8px 0;font-family:Noto Serif JP,serif;font-size:36px}.site-footer{color:#ddd;background:#211a1b;padding:70px 0 28px}.footer-grid{grid-template-columns:1.7fr 1fr 1fr;gap:70px;display:grid}.footer-brand img{filter:brightness(0)invert();width:300px;margin-bottom:20px}.footer-grid h3{letter-spacing:.18em;color:var(--gold);font-size:12px}.footer-grid a{color:#cfc7c8;margin:8px 0;font-size:14px;display:block}.footer-bottom{border-top:1px solid #453a3c;justify-content:space-between;margin-top:50px;padding-top:20px;font-size:12px;display:flex}.page-hero{background:linear-gradient(135deg, #fff 0%, var(--ivory) 55%, var(--gray) 100%);border-bottom:1px solid #ded8d0;padding:170px 0 80px}.breadcrumb{color:var(--muted);margin-bottom:20px;font-size:12px}.content-block{max-width:900px;margin:auto}.lead-text{font-size:22px;line-height:2}.concept-box{background:var(--main);color:#fff;padding:55px;position:relative;overflow:hidden}.concept-box:after{content:"LINK";color:#ffffff0f;font-size:150px;font-weight:900;position:absolute;bottom:-50px;right:-15px}.company-table{border-collapse:collapse;width:100%}.company-table th,.company-table td{text-align:left;border-bottom:1px solid #ddd5cc;padding:22px}.company-table th{width:28%;color:var(--main)}.service-detail{border-bottom:1px solid #dcd4cb;grid-template-columns:210px 1fr;gap:44px;padding:55px 0;display:grid}.service-detail h2{margin-top:0;font-family:Noto Serif JP,serif}.service-detail .service-no{color:var(--gold);font-family:serif;font-size:60px}.detail-columns{grid-template-columns:1fr 1fr;gap:24px;margin-top:25px;display:grid}.detail-box{background:#fff;border:1px solid #e8e1d9;padding:28px}.price-table{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.price-card{background:#fff;border:1px solid #ddd5cc;padding:32px}.price-card.featured{border:2px solid var(--main);transform:translateY(-8px)}.price-card strong{color:var(--main);font-size:26px}.faq-list{max-width:900px;margin:auto}.faq-item{border-bottom:1px solid #d9d0c8}.faq-item button{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;width:100%;padding:26px 8px;font-weight:700;display:flex}.faq-item button span:first-child:before{content:"Q";color:var(--main);margin-right:18px;font-size:22px}.faq-answer{max-height:0;color:var(--muted);transition:all .35s;overflow:hidden}.faq-answer p{margin:0;padding:0 50px 28px}.faq-item.is-open .faq-answer{max-height:300px}.faq-item.is-open .plus{transform:rotate(45deg)}.plus{font-size:24px;transition:all .3s}.contact-layout{grid-template-columns:.7fr 1.3fr;gap:60px;display:grid}.contact-note{background:var(--main);color:#fff;height:max-content;padding:40px}.contact-note h2{font-family:Noto Serif JP,serif}.contact-form{box-shadow:var(--shadow);background:#fff;padding:45px}.form-row{margin-bottom:24px}.form-row label{margin-bottom:8px;font-weight:700;display:block}.required{color:#fff;background:var(--main);margin-left:8px;padding:3px 7px;font-size:11px}.form-row input,.form-row textarea,.form-row select{background:#fdfcf9;border:1px solid #cfc7bf;width:100%;padding:15px}.form-row textarea{min-height:170px}.privacy-check{align-items:flex-start;gap:10px;display:flex}.form-submit-area{flex-direction:column;align-items:flex-start;gap:20px;margin-top:32px;display:flex}.submit-button{color:#fff;width:262px;min-height:78px;font:inherit;cursor:pointer;background:#7a1f2b;border:none;justify-content:space-between;align-items:center;gap:24px;padding:20px 30px;font-size:18px;font-weight:700;display:flex}.form-message{box-sizing:border-box;width:100%;margin:0;padding:18px 20px;line-height:1.8;display:none}.form-message.success,.form-message.error{display:block}.form-message.success{color:#23623d;background:#e8f4eb;border:1px solid #b8d8c1}.form-message.error{color:#7a1f2b;background:#f8eeee;border:1px solid #d9aeb4}.reveal{opacity:0;transition:all .65s;transform:translateY(25px)}.reveal.is-visible{opacity:1;transform:none}@media (width<=900px){.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--ivory)}.header-inner{height:74px}.brand img{width:240px}.menu-toggle{z-index:102;cursor:pointer;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;padding:8px;display:flex}.menu-toggle span{background:var(--main);width:28px;height:2px;transition:transform .3s,opacity .2s;display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(8px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.global-nav{z-index:101;background:var(--ivory);visibility:hidden;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:28px 24px 40px;font-size:16px;transition:transform .35s,visibility .35s;display:flex;position:fixed;inset:74px 0 0;overflow-y:auto;transform:translate(100%)}.global-nav.is-open{visibility:visible;transform:translate(0)}.global-nav a{border-bottom:1px solid #ddd5cc;width:100%;padding:18px 6px}.global-nav a:not(.nav-contact):after{display:none}.global-nav .nav-contact{text-align:center;border-bottom:0;width:100%;margin-top:24px;padding:17px 20px}.hero{padding-top:125px}.hero-grid,.split,.contact-layout{grid-template-columns:1fr}.hero-copy{order:1}.hero-visual{order:2}.problem-grid,.service-grid,.style-grid,.flow,.price-table,.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.service-detail,.detail-columns{grid-template-columns:1fr}.footer-cta-inner{flex-direction:column;align-items:flex-start}}@media (width<=600px){:root{--container:min(100% - 28px, 1160px)}.section{padding:75px 0}.hero{min-height:auto;padding-bottom:70px}.hero-grid{gap:45px}.hero-actions{flex-direction:column}.btn{width:100%}.hero-badge{margin-top:14px;position:static}.section-head{flex-direction:column;align-items:flex-start;margin-bottom:35px}.problem-grid,.service-grid,.style-grid,.flow,.price-table,.footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer-cta h2{font-size:29px}.company-table th,.company-table td{width:100%;padding:13px;display:block}.company-table th{border-bottom:0;padding-bottom:0}.contact-form{padding:25px}.concept-box{padding:35px 25px}.page-hero{padding-top:125px}.footer-bottom{flex-direction:column;gap:15px}.brand img{width:205px}}@media (width<=768px){.form-submit-area{gap:16px}.submit-button,.form-message{width:100%}}
