.hero{position:relative;height:100vh;min-height:600px;overflow:hidden;color:var(--color-white)}.hero-slides{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}.hero-slide.is-active{opacity:1}.hero-slide-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);animation:kenburns 14s ease-out forwards}@keyframes kenburns{0%{transform:scale(1.05)}to{transform:scale(1.15)}}.hero-slide:nth-child(1) .hero-slide-bg{background-image:linear-gradient(115deg,#0f24476b,#0a0e1494 60%,#0a0e14cc),url(/images/hero/top-hero-1-solar-house.jpg),linear-gradient(180deg,#2d4373,#0a0e14)}.hero-slide:nth-child(2) .hero-slide-bg{background-image:linear-gradient(115deg,#0f24476b,#0a0e1494 60%,#0a0e14cc),url(/images/hero/top-hero-2-family-living.jpg),linear-gradient(180deg,#1a4d2e,#0a0e14)}.hero-slide:nth-child(3) .hero-slide-bg{background-image:linear-gradient(115deg,#0f24476b,#0a0e1494 60%,#0a0e14cc),url(/images/hero/top-hero-3-bathroom-renewed.jpg),linear-gradient(180deg,#475569,#0a0e14)}.hero-slide:nth-child(4) .hero-slide-bg{background-image:linear-gradient(115deg,#0f24476b,#0a0e1494 60%,#0a0e14cc),url(/images/hero/top-hero-4-neighborhood.jpg),linear-gradient(180deg,#2d4373,#0a0e14)}.hero-content{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-px);padding-top:80px;z-index:2}.hero-eyebrow{font-family:var(--font-en);font-size:13px;font-weight:500;letter-spacing:.36em;color:var(--color-gold);margin-bottom:36px;opacity:0;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) .4s forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-title{font-family:var(--font-serif-jp);font-weight:500;font-size:clamp(40px,7vw,96px);line-height:1.3;letter-spacing:.04em;color:var(--color-white);margin-bottom:32px;max-width:900px;opacity:0;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) .6s forwards}.hero-subtitle{font-family:var(--font-sans-jp);font-weight:300;font-size:clamp(15px,1.3vw,17px);line-height:2;color:#ffffffe0;max-width:560px;margin-bottom:52px;opacity:0;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) .8s forwards}.hero-slide-tag{font-family:var(--font-serif-jp);font-weight:500;font-size:clamp(20px,2vw,26px);color:var(--color-gold);margin-bottom:18px;opacity:0;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) .5s forwards;transition:opacity .8s ease;letter-spacing:.06em}.hero-cta{display:flex;align-items:center;gap:32px;opacity:0;animation:fadeUp 1.2s cubic-bezier(.16,1,.3,1) 1s forwards}.hero-cta a{color:var(--color-white);font-family:var(--font-en);font-size:12px;font-weight:500;letter-spacing:.22em;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.4);transition:all var(--transition-smooth);display:inline-flex;align-items:center;gap:10px;text-transform:uppercase}.hero-cta a:after{content:"→";transition:transform var(--transition-smooth)}.hero-cta a:hover{border-color:var(--color-gold);color:var(--color-gold)}.hero-cta a:hover:after{transform:translate(6px)}.hero-indicator{position:absolute;bottom:60px;right:40px;display:flex;gap:14px;z-index:3}.hero-indicator button{width:48px;height:2px;background:#ffffff4d;transition:background var(--transition-smooth)}.hero-indicator button.is-active{background:var(--color-gold)}.hero-scroll{position:absolute;bottom:32px;left:50%;transform:translate(-50%);writing-mode:vertical-rl;font-family:var(--font-en);font-size:11px;letter-spacing:.34em;color:#ffffffb3;z-index:3;animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{transform:translate(-50%) translateY(0);opacity:.7}50%{transform:translate(-50%) translateY(8px);opacity:1}}.intro{padding:var(--section-py) 0;background:var(--color-white);text-align:center;position:relative;overflow:hidden}.intro:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(184,149,106,.05) 0%,transparent 70%);pointer-events:none}.intro-inner{position:relative;max-width:820px;margin:0 auto;padding:0 var(--container-px)}.intro-en{font-family:var(--font-serif-en);font-style:italic;font-weight:400;font-size:clamp(40px,5vw,64px);color:var(--color-gray-200);line-height:1.1;margin-bottom:14px}.intro-eyebrow{font-family:var(--font-en);font-size:12px;font-weight:600;letter-spacing:.28em;color:var(--color-gold);margin:20px 0 24px;text-transform:uppercase}.intro-title{font-family:var(--font-serif-jp);font-weight:500;font-size:clamp(28px,3.6vw,44px);line-height:1.7;letter-spacing:.06em;color:var(--color-navy-deep);margin-bottom:44px}.intro-text{font-size:15px;line-height:2;color:var(--color-gray-600);margin-bottom:20px}.products{padding:var(--section-py) 0;background:var(--color-white);position:relative;overflow:hidden}.products:before{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(135deg,rgba(26,77,46,.03),transparent);pointer-events:none}.products-inner{position:relative;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-px)}.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.product-card{background:var(--color-white);border:1px solid var(--color-gray-100);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth);cursor:pointer;display:flex;flex-direction:column;overflow:hidden}.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--color-gold-light)}.product-card-image{position:relative;aspect-ratio:4/3;background-color:var(--color-gray-100);background-size:cover;background-position:center;overflow:hidden}.product-card:nth-child(1) .product-card-image{background-image:linear-gradient(180deg,#0f244700,#0f244726),url(/images/products/product-solar.jpg),linear-gradient(135deg,#1a4d2e,#0f2447)}.product-card:nth-child(2) .product-card-image{background-image:linear-gradient(180deg,#0f244700,#0f244726),url(/images/products/product-battery.jpg),linear-gradient(135deg,#2d4373,#0f2447)}.product-card:nth-child(3) .product-card-image{background-image:linear-gradient(180deg,#0f244700,#0f244726),url(/images/products/product-ecocute.jpg),linear-gradient(135deg,#475569,#0f2447)}.product-card-tag{position:absolute;top:20px;left:20px;background:#0f2447d9;backdrop-filter:blur(12px);color:var(--color-white);font-family:var(--font-en);font-size:10px;font-weight:600;letter-spacing:.22em;padding:8px 14px;text-transform:uppercase;z-index:2}.product-card-body{padding:36px 28px;flex:1;display:flex;flex-direction:column}.product-card-en{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.24em;color:var(--color-gold);margin-bottom:12px}.product-card-title{font-family:var(--font-serif-jp);font-weight:700;font-size:22px;color:var(--color-navy-deep);margin-bottom:16px;line-height:1.4}.product-card-text{font-size:14px;line-height:1.95;color:var(--color-gray-600);margin-bottom:24px;flex:1}.product-card-features{list-style:none;padding:0;margin:0}.product-card-features li{font-size:12px;color:var(--color-gray-800);padding:6px 0 6px 20px;position:relative;letter-spacing:.04em}.product-card-features li:before{content:"";position:absolute;left:0;top:13px;width:12px;height:1px;background:var(--color-gold)}.business{padding:var(--section-py) 0;background:var(--color-gray-50);position:relative}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.business-card{background:var(--color-white);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-sm)}.business-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.business-card-image{position:relative;aspect-ratio:16/11;background-size:cover;background-position:center;background-color:var(--color-navy);overflow:hidden}.business-card:nth-child(1) .business-card-image{background-image:linear-gradient(180deg,#0f244700,#0f244780),url(/images/business/business-energy.jpg),linear-gradient(135deg,#1a4d2e,#0f2447)}.business-card:nth-child(2) .business-card-image{background-image:linear-gradient(180deg,#0f244700,#0f244780),url(/images/business/business-renovation.jpg),linear-gradient(135deg,#b8956a,#0f2447)}.business-card:nth-child(3) .business-card-image{background-image:linear-gradient(180deg,#0f244700,#0f244780),url(/images/business/business-realestate.jpg),linear-gradient(135deg,#2d4373,#0f2447)}.business-card-number{position:absolute;top:24px;left:24px;font-family:var(--font-serif-en);font-style:italic;font-size:52px;color:var(--color-white);line-height:1;z-index:2;opacity:.92}.business-card-body{padding:44px 32px;flex:1;display:flex;flex-direction:column}.business-card-eyebrow{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.26em;color:var(--color-gold);margin-bottom:16px}.business-card-title{font-family:var(--font-serif-jp);font-weight:700;font-size:24px;line-height:1.5;color:var(--color-navy-deep);margin-bottom:20px}.business-card-text{font-size:14px;line-height:1.95;color:var(--color-gray-600);margin-bottom:28px;flex:1}.why{padding:var(--section-py) 0;background:var(--color-navy-deep);color:var(--color-white);position:relative;overflow:hidden}.why:before{content:"";position:absolute;top:-200px;right:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(184,149,106,.12),transparent 70%);pointer-events:none}.why:after{content:"";position:absolute;bottom:-200px;left:-200px;width:600px;height:600px;background:radial-gradient(circle,rgba(26,77,46,.18),transparent 70%);pointer-events:none}.why .section-title-en{color:#ffffff1a}.why .section-title{color:var(--color-white)}.why .eyebrow{color:var(--color-gold)}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;position:relative}.why-card{padding:52px 36px;background:#ffffff08;backdrop-filter:blur(20px);border:1px solid rgba(184,149,106,.18);transition:all var(--transition-smooth)}.why-card:hover{background:#b8956a14;border-color:var(--color-gold);transform:translateY(-4px)}.why-card-number{font-family:var(--font-serif-en);font-style:italic;font-size:64px;color:var(--color-gold);line-height:1;margin-bottom:28px}.why-card-title-en{font-family:var(--font-en);font-size:11px;font-weight:600;letter-spacing:.26em;color:var(--color-gold-light);margin-bottom:16px}.why-card-title{font-family:var(--font-serif-jp);font-weight:700;font-size:22px;line-height:1.55;color:var(--color-white);margin-bottom:20px}.why-card-text{font-size:14px;line-height:1.95;color:#ffffffbf}.numbers{padding:var(--section-py) 0;background:var(--color-white)}.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.numbers-grid.is-three{grid-template-columns:repeat(3,1fr);gap:48px;max-width:1080px;margin:0 auto}.number-block{text-align:center;padding:36px 16px;border-left:1px solid var(--color-gray-100)}.number-block:first-child{border-left:none}.number-value{font-family:var(--font-en);font-weight:800;font-size:clamp(40px,5vw,64px);color:var(--color-navy-deep);line-height:1;letter-spacing:-.02em;display:inline-flex;align-items:baseline;gap:4px;flex-wrap:nowrap}.number-unit{font-family:var(--font-serif-jp);font-size:15px;font-weight:500;color:var(--color-gold)}.number-arrow{font-family:var(--font-en);font-size:.7em;font-weight:600;color:var(--color-gold);margin:0 6px;line-height:1}.number-label{font-family:var(--font-sans-jp);font-size:13px;font-weight:500;letter-spacing:.1em;color:var(--color-gray-600);margin-top:18px}.number-label-en{font-family:var(--font-en);font-size:10px;font-weight:600;letter-spacing:.22em;color:var(--color-gold);margin-top:8px;text-transform:uppercase}.number-context{font-family:var(--font-sans-jp);font-size:11.5px;line-height:1.7;color:var(--color-gray-400);margin-top:24px;padding-top:16px;border-top:1px solid var(--color-gray-100);letter-spacing:.04em;font-weight:400;max-width:260px;margin-left:auto;margin-right:auto}.ceo-message{padding:var(--section-py) 0;background:var(--color-gray-50);position:relative;overflow:hidden}.ceo-message:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:880px;height:100%;background:radial-gradient(ellipse at center,rgba(184,149,106,.05) 0%,transparent 60%);pointer-events:none}.ceo-inner{max-width:820px;margin:0 auto;padding:0 var(--container-px);position:relative;text-align:center}.ceo-content{position:relative;padding-top:32px}.ceo-content:before{content:'"';position:absolute;top:-10px;left:50%;transform:translate(-50%);font-family:var(--font-serif-en);font-size:140px;font-style:italic;color:var(--color-gold);opacity:.2;line-height:1;pointer-events:none;font-weight:500}.ceo-en{font-family:var(--font-serif-en);font-style:italic;font-weight:400;font-size:clamp(44px,5.5vw,72px);color:var(--color-gray-200);line-height:1.1;margin-bottom:14px}.ceo-eyebrow{font-family:var(--font-en);font-size:12px;font-weight:600;letter-spacing:.28em;color:var(--color-gold);margin-bottom:28px;text-transform:uppercase;display:inline-block;position:relative;padding:0 32px}.ceo-eyebrow:before,.ceo-eyebrow:after{content:"";position:absolute;top:50%;width:20px;height:1px;background:var(--color-gold)}.ceo-eyebrow:before{left:0}.ceo-eyebrow:after{right:0}.ceo-title{font-family:var(--font-serif-jp);font-weight:500;font-size:clamp(24px,3vw,38px);line-height:1.7;color:var(--color-navy-deep);margin-bottom:40px;letter-spacing:.05em}.ceo-text{font-size:15px;line-height:2.1;color:var(--color-gray-800);margin-bottom:18px;max-width:680px;margin-left:auto;margin-right:auto}.ceo-sign{margin-top:48px;padding-top:36px;border-top:1px solid var(--color-gray-200);display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}.ceo-sign-label{font-family:var(--font-en);font-size:10px;letter-spacing:.28em;color:var(--color-gold);text-transform:uppercase;font-weight:600}.ceo-sign-name{font-family:var(--font-serif-jp);font-weight:700;font-size:17px;color:var(--color-navy-deep)}.ceo-link-wrap{text-align:center;margin-top:28px}.ceo-link{font-family:var(--font-en);font-size:12px;font-weight:600;letter-spacing:.22em;color:var(--color-navy-deep);display:inline-flex;align-items:center;gap:10px;padding:14px 32px;border:1px solid var(--color-navy-deep);transition:all var(--transition-smooth);text-transform:uppercase}.ceo-link:after{content:"→";transition:transform var(--transition-smooth)}.ceo-link:hover{color:var(--color-gold);border-color:var(--color-gold)}.ceo-link:hover:after{transform:translate(6px)}.news{padding:var(--section-py) 0;background:var(--color-white)}.news-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:72px;gap:24px}.news-list{list-style:none}.news-item{padding:32px 0;border-bottom:1px solid var(--color-gray-100);display:grid;grid-template-columns:140px 140px 1fr 24px;gap:32px;align-items:center;transition:padding var(--transition-smooth);cursor:pointer}.news-item:first-child{border-top:1px solid var(--color-gray-100)}.news-item:hover{padding-left:16px}.news-date{font-family:var(--font-en);font-size:14px;font-weight:500;color:var(--color-gray-600);letter-spacing:.04em}.news-category{font-family:var(--font-en);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;padding:6px 12px;border:1px solid var(--color-navy-deep);color:var(--color-navy-deep);text-align:center;justify-self:start}.news-category.is-press{background:var(--color-gold);color:var(--color-white);border-color:var(--color-gold)}.news-title{font-family:var(--font-sans-jp);font-size:15px;font-weight:500;color:var(--color-navy-deep);line-height:1.7}.news-arrow{color:var(--color-gold);font-family:var(--font-en);transition:transform var(--transition-smooth)}.news-item:hover .news-arrow{transform:translate(8px)}.news-item.is-clickable{padding:0;cursor:pointer}.news-item.is-clickable>a{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;gap:inherit;align-items:center;padding:32px 0;color:inherit;text-decoration:none;width:100%;transition:padding var(--transition-smooth)}.news-item.is-clickable:hover{padding-left:0}.news-item.is-clickable:hover>a{padding-left:16px}.news-item.is-clickable .news-title{color:var(--color-navy-deep)}.news-item.is-clickable:hover .news-title{color:var(--color-gold)}.news-ext{font-family:var(--font-en);font-size:10px;font-weight:600;letter-spacing:.18em;color:var(--color-gold);margin-left:12px;padding:4px 10px;border:1px solid var(--color-gold);display:inline-block;white-space:nowrap;vertical-align:middle}.number-value{white-space:nowrap}.number-label{word-break:keep-all;line-break:strict}.hero-indicator button{position:relative;cursor:pointer}.hero-indicator button:before{content:"";position:absolute;inset:-16px -4px}@media(max-width:960px){.hero-slide:nth-child(1) .hero-slide-bg{background-position:60% center}.hero-slide:nth-child(2) .hero-slide-bg{background-position:65% center}.hero-slide:nth-child(3) .hero-slide-bg{background-position:center}.hero-slide:nth-child(4) .hero-slide-bg{background-position:55% center}}@media(min-width:641px)and (max-width:960px){.products-grid{grid-template-columns:repeat(2,1fr);gap:24px}.products-grid>:last-child{grid-column:1 / -1;max-width:calc(50% - 12px);margin:0 auto}.hero{height:100vh;height:100svh}.hero-content{padding-left:32px;padding-right:32px;padding-top:60px}.hero-indicator{right:32px;bottom:64px}.hero-scroll{display:none}.business-grid{grid-template-columns:repeat(2,1fr);gap:24px}.business-grid>:last-child{grid-column:1 / -1;max-width:calc(50% - 12px);margin:0 auto}.why-grid{grid-template-columns:repeat(2,1fr);gap:24px}.why-grid>:last-child{grid-column:1 / -1;max-width:calc(50% - 12px);margin:0 auto}.why-card{padding:44px 28px}.numbers-grid{grid-template-columns:repeat(2,1fr);gap:16px}.numbers-grid.is-three{grid-template-columns:1fr;gap:0;max-width:540px}.number-block{border-left:none;padding:32px 12px;border-bottom:1px solid var(--color-gray-100)}.number-block:nth-last-child(-n+2){border-bottom:none}.number-block:nth-child(odd){border-right:1px solid var(--color-gray-100)}.numbers-grid.is-three .number-block{border-right:none!important;border-bottom:1px solid var(--color-gray-100)}.numbers-grid.is-three .number-block:last-child{border-bottom:none}.number-value{font-size:clamp(40px,6vw,52px)}.ceo-inner{grid-template-columns:280px 1fr;gap:48px;padding:0 32px}.news-item{grid-template-columns:120px 110px 1fr 24px;gap:20px}}@media(max-width:640px){.products-grid{grid-template-columns:1fr;gap:20px}.product-card-image{aspect-ratio:16/10}.product-card-body{padding:28px 24px}.product-card-title{font-size:20px}.hero{height:100vh;height:100svh}.hero-content{padding-left:var(--container-px-mobile);padding-right:var(--container-px-mobile);padding-top:60px}.hero-title{font-size:clamp(34px,9vw,56px);line-height:1.28}.hero-subtitle{font-size:14px;line-height:1.9;margin-bottom:40px}.hero-slide-tag{font-size:clamp(18px,5vw,22px)}.hero-eyebrow{letter-spacing:.28em;margin-bottom:24px}.hero-indicator{right:24px;bottom:88px;gap:8px}.hero-indicator button{width:28px}.hero-scroll{display:none}.hero-cta{gap:24px;flex-wrap:wrap}.intro-inner{padding:0 var(--container-px-mobile)}.intro{padding:var(--section-py) 0 calc(var(--section-py) - 20px)}.intro-en{font-size:clamp(36px,11vw,56px)}.intro-title{font-size:clamp(26px,7vw,36px);margin-bottom:32px}.intro-text{font-size:14px}.business-grid{grid-template-columns:1fr;gap:20px}.business-card-image{aspect-ratio:16/10}.business-card-body{padding:32px 24px}.business-card-title{font-size:22px}.why-grid{grid-template-columns:1fr;gap:16px}.why-card{padding:36px 24px}.why-card-number{font-size:48px;margin-bottom:20px}.why-card-title{font-size:20px}.numbers-grid{grid-template-columns:1fr 1fr;gap:8px}.numbers-grid.is-three{grid-template-columns:1fr;max-width:100%}.number-block{border-left:none;padding:24px 8px;border-bottom:1px solid var(--color-gray-100)}.number-block:nth-last-child(-n+2){border-bottom:none}.number-block:nth-child(odd){border-right:1px solid var(--color-gray-100)}.numbers-grid.is-three .number-block{border-right:none!important}.number-value{font-size:clamp(28px,8vw,44px)}.number-unit{font-size:12px}.number-label{font-size:12px;margin-top:12px}.number-context{font-size:10.5px;margin-top:16px;padding-top:12px}.ceo-message{padding:var(--section-py) 0}.ceo-inner{padding:0 var(--container-px-mobile)}.ceo-en{font-size:clamp(36px,11vw,56px)}.ceo-content:before{font-size:100px;top:-8px}.ceo-content{padding-top:24px}.ceo-title{font-size:clamp(22px,6.2vw,30px);margin-bottom:32px}.ceo-text{font-size:13.5px;line-height:2}.ceo-sign{margin-top:36px;padding-top:28px}.ceo-link-wrap{margin-top:20px}.ceo-link{padding:12px 24px;font-size:11px}.news-header{flex-direction:column;align-items:flex-start;margin-bottom:40px;gap:16px}.news-item{grid-template-columns:1fr;gap:8px;padding:24px 0}.news-arrow{display:none}.news-item:hover{padding-left:0}.news-category{justify-self:start}}@media(max-width:400px){.hero-title{font-size:clamp(28px,9vw,44px)}.hero-subtitle{font-size:13px}.intro-title{font-size:clamp(22px,7vw,32px)}.business-card-body{padding:28px 20px}.why-card{padding:32px 20px}.ceo-text{font-size:12.5px}}
