*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:'Helvetica Neue',Arial,'Hiragino Kaku Gothic ProN','Hiragino Sans',Meiryo,sans-serif;color:#222222;background:#FFFFFF;line-height:1.7;overflow-x:hidden}a{text-decoration:none;color:inherit;transition:opacity .25s ease}a:hover{opacity:.78}ul{list-style:none}img{max-width:100%;height:auto;display:block}.siteHeader{position:fixed;top:0;left:0;width:100%;z-index:1000;background:#FFFFFF;transition:box-shadow .3s ease}.siteHeader.scrolled{box-shadow:0 2px 18px rgba(0,0,0,.08)}.headerInner{max-width:1280px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:80px}.logoLink{display:flex;align-items:center}.headerLogo{width:auto;max-height:114px;min-height:60px;height:60px}.mainNav .navList{display:flex;gap:36px;align-items:center}.navLink{font-size:.95rem;font-weight:500;letter-spacing:.04em;color:#222222;position:relative;padding:6px 0}.navLink::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:#0F3D62;transition:width .3s ease}.navLink:hover::after,.navLink.activeLink::after{width:100%}.burgerBtn{display:none;background:none;border:none;cursor:pointer;width:36px;height:36px;position:relative;z-index:1100;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0}.burgerLine{display:block;width:28px;height:2px;background:#222222;transition:transform .3s ease,opacity .3s ease}.burgerBtn.active .burgerLine:nth-child(1){transform:translateY(8px)rotate(45deg)}.burgerBtn.active .burgerLine:nth-child(2){opacity:0}.burgerBtn.active .burgerLine:nth-child(3){transform:translateY(-8px)rotate(-45deg)}.mobileOverlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.45);z-index:900;opacity:0;pointer-events:none;transition:opacity .3s}.mobileOverlay.show{opacity:1;pointer-events:auto}@media(max-width:768px){.burgerBtn{display:flex}.mainNav{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:#FFFFFF;z-index:1000;padding:100px 32px 40px;transition:right .35s ease;box-shadow:-4px 0 20px rgba(0,0,0,.1)}.mainNav.open{right:0}.mainNav .navList{flex-direction:column;gap:24px;align-items:flex-start}.navLink{font-size:1.1rem}.headerInner{padding:0 20px;height:68px}}.heroSection{position:relative;height:92vh;min-height:540px;overflow:hidden;display:flex;align-items:flex-end}.heroImageWrap{position:absolute;inset:0;z-index:0}.heroImg{width:100%;height:100%;object-fit:cover}.heroContent{position:relative;z-index:2;padding:60px 48px 72px;max-width:680px}.heroSection::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(15,61,98,.82)0%,rgba(15,61,98,.35)45%,transparent 100%)}.heroTitle{color:#FFFFFF;font-size:clamp(2.2rem,5vw,4rem);font-weight:700;line-height:1.2;letter-spacing:-.02em;margin-bottom:20px}.heroTitleLine{display:block}.heroDesc{color:rgba(255,255,255,.88);font-size:1.05rem;line-height:1.75;margin-bottom:32px;max-width:560px}.heroBtn{display:inline-block;background:#F5EFD9;-webkit-transition:background .3s,transform .2s;-o-transition:background .3s,transform .2s;color:#0F3D62;font-weight:600;font-size:.95rem;padding:14px 36px;border-radius:50px;-moz-transition:background .3s,transform .2s;letter-spacing:.03em;transition:background .3s,transform .2s}.heroBtn:hover{background:#ece4c8;transform:translateY(-2px);opacity:1}.introSection{padding:100px 32px;background:#FFFFFF}.introInner{max-width:1200px;margin:0 auto;display:flex;gap:64px;align-items:center}.introText{flex:1}.introImgWrap{flex:1;border-radius:16px;overflow:hidden}.introImg{width:100%;height:400px;object-fit:cover}.sectionHeading{font-size:clamp(1.8rem,4vw,3rem);font-weight:700;color:#0F3D62;line-height:1.25;margin-bottom:24px;letter-spacing:-.01em}.introBody{font-size:1rem;color:#444;line-height:1.85;margin-bottom:24px}.textLink{font-size:.95rem;color:#0F3D62;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:gap .3s}.textLink:hover{gap:12px;opacity:1}.textLink i{font-size:1.1rem}@media(max-width:768px){.introInner{flex-direction:column;gap:36px}.introImg{height:280px}.introSection{padding:64px 20px}}.servicesGrid{padding:80px 32px 100px;background:#F5EFD9}.servicesInner{max-width:1200px;margin:0 auto}.servicesTitle{text-align:center;margin-bottom:48px}.gridWrap{display:grid;grid-template-columns:1fr 1fr;gap:28px}.serviceCard{background:#FFFFFF;transition:transform .3s,box-shadow .3s;border-radius:16px;overflow:hidden}.serviceCard:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(15,61,98,.1)}.cardLarge{grid-column:1 / -1}.cardLarge .cardImgWrap{height:400px}.cardSmall .cardImgWrap{height:240px}.cardImgWrap{overflow:hidden}.cardImg{width:100%;height:100%;object-fit:cover;transition:transform .5s}.serviceCard:hover .cardImg{transform:scale(1.04)}.cardBody{padding:28px 32px 32px}.cardBody h3{font-size:1.25rem;font-weight:700;color:#0F3D62;margin-bottom:10px}.cardBody p{font-size:.93rem;color:#555;line-height:1.7;margin-bottom:14px}.cardLink{font-size:.88rem;color:#0F3D62;font-weight:600;display:inline-flex;align-items:center;gap:5px;transition:gap .25s}.cardLink:hover{opacity:1;gap:10px}@media(max-width:768px){.gridWrap{grid-template-columns:1fr}.cardLarge .cardImgWrap{height:260px}.cardSmall .cardImgWrap{height:200px}.servicesGrid{padding:56px 20px 64px}.cardBody{padding:20px 24px 28px}}.showcaseSection{padding:100px 32px;background:#FFFFFF}.showcaseInner{max-width:1200px;margin:0 auto;display:flex;gap:56px;align-items:center}.showcaseImgWrap{flex:1;border-radius:16px;overflow:hidden}.showcaseImg{width:100%;height:420px;object-fit:cover}.showcaseText{flex:1}.showcaseText p{font-size:1rem;color:#444;line-height:1.85;margin-bottom:20px}@media(max-width:768px){.showcaseInner{flex-direction:column;gap:32px}.showcaseImg{height:280px}.showcaseSection{padding:64px 20px}}.altSection{padding:80px 32px 100px;background:#F5EFD9}.altInner{max-width:1200px;margin:0 auto;display:flex;gap:56px;align-items:center}.altText{flex:1}.altText p{font-size:1rem;color:#444;line-height:1.85;margin-bottom:24px}.altImgWrap{flex:1;border-radius:16px;overflow:hidden}.altImg{width:100%;height:400px;object-fit:cover}@media(max-width:768px){.altInner{flex-direction:column-reverse;gap:32px}.altImg{height:260px}.altSection{padding:56px 20px 64px}}.galleryBand{padding:0;background:#FFFFFF}.galleryBandInner{display:flex;gap:0;overflow:hidden}.galleryItem{flex:1;min-width:0;overflow:hidden}.galleryBandImg{width:100%;height:340px;object-fit:cover;transition:transform .6s}.galleryItem:hover .galleryBandImg{transform:scale(1.06)}@media(max-width:768px){.galleryBandInner{flex-direction:column}.galleryBandImg{height:220px}}.ctaSection{padding:100px 32px;background:#0F3D62;text-align:center}.ctaInner{max-width:720px;margin:0 auto}.ctaHeading{font-size:clamp(1.6rem,4vw,2.6rem);font-weight:700;color:#FFFFFF;line-height:1.3;margin-bottom:20px}.ctaDesc{color:rgba(255,255,255,.8);font-size:1rem;line-height:1.8;margin-bottom:36px}.ctaBtns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.ctaBtnPrimary{display:inline-block;background:#F5EFD9;color:#0F3D62;font-weight:600;font-size:.95rem;padding:14px 36px;border-radius:50px;letter-spacing:.03em;transition:background .3s,transform .2s}.ctaBtnPrimary:hover{background:#ece4c8;transform:translateY(-2px);opacity:1}.ctaBtnSecondary{display:inline-block;background:transparent;color:#F5EFD9;font-weight:600;font-size:.95rem;padding:14px 36px;border-radius:50px;border:1.5px solid rgba(245,239,217,.5);transition:border-color .3s,transform .2s}.ctaBtnSecondary:hover{border-color:#F5EFD9;transform:translateY(-2px);opacity:1}@media(max-width:768px){.ctaSection{padding:64px 20px}.heroContent{padding:40px 20px 48px}}.siteFooter{position:relative;background:#0F3D62;color:#FFFFFF}.footerWave{margin-top:-1px;position:relative;background:#FFFFFF}.waveSvg{display:block;width:100%;height:auto}.footerMain{padding:64px 32px 0}.footerInner{max-width:1200px;margin:0 auto;display:flex;gap:64px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.12)}.footerBrand{flex:0 0 320px}.footerLogo{max-height:146px;width:auto;filter:brightness(0)invert(1);margin-bottom:20px}.footerBrandDesc{font-size:.88rem;color:rgba(255,255,255,.65);line-height:1.75}.footerNav{-ms-flex:1;flex:1;-webkit-flex:1;display:flex;gap:48px}.footerColTitle{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;color:rgba(255,255,255,.5)}.footerLinks li{margin-bottom:10px}.footerLinks a{font-size:.9rem;color:rgba(255,255,255,.75);transition:color .25s}.footerLinks a:hover{color:#F5EFD9;opacity:1}.footerBottom{padding:28px 32px 32px}.footerBottomInner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.footerAddress{font-size:.82rem;color:rgba(255,255,255,.5)}.footerSocial{display:flex;gap:16px}.footerSocial a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:1rem;transition:background .3s,color .3s,border-color .3s}.footerSocial a:hover{background:rgba(255,255,255,.1);color:#F5EFD9;border-color:rgba(245,239,217,.5);opacity:1}.footerCopy{font-size:.78rem;color:rgba(255,255,255,.4);width:100%;text-align:center;margin-top:12px}@media(max-width:960px){.footerInner{flex-direction:column;gap:40px}.footerBrand{flex:none}.footerNav{flex-wrap:wrap;gap:32px}}@media(max-width:768px){.footerMain{padding:48px 20px 0}.footerBottom{padding:24px 20px 28px}.footerNav{flex-direction:column;gap:28px}.footerBottomInner{flex-direction:column;text-align:center}}.fadeUp{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.fadeUp.visible{opacity:1;transform:translateY(0)}:root{--color-deep:#0F3D62;--color-cream:#F5EFD9;--color-white:#FFFFFF;--color-text:#222222;--color-text-mid:#444444;--color-text-light:#555555;--color-accent:#3F8FBF;--color-border:rgba(15,61,98,.08);--radius-card:16px;--radius-pill:50px}.products{padding:80px 32px 100px;background:var(--color-white)}.productsInner{max-width:1200px;margin:0 auto}.productsHeading{text-align:center;margin-bottom:16px}.productsSubline{text-align:center;color:var(--color-text-mid);font-size:1rem;line-height:1.75;max-width:640px;margin:0 auto 40px}.productFilters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}.filterBtn{background:transparent;border:1.5px solid var(--color-border);color:var(--color-text-mid);font-size:.85rem;padding:8px 22px;border-radius:var(--radius-pill);cursor:pointer;transition:background .25s,color .25s,border-color .25s;font-family:inherit}.filterBtn:hover{border-color:var(--color-deep);color:var(--color-deep)}.filterActive{background:var(--color-deep);color:var(--color-white);border-color:var(--color-deep)}.filterActive:hover{background:#0d3555;color:var(--color-white)}.productsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.productCard{background:var(--color-white);border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--color-border);transition:transform .3s ease,box-shadow .3s ease}.productCard:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(15,61,98,.1)}.productCard.hidden{display:none}.productCard_imgWrap{position:relative;overflow:hidden;height:240px}.productCard_img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.productCard:hover .productCard_img{transform:scale(1.04)}.productCard_badge{position:absolute;top:14px;left:14px;background:rgba(15,61,98,.85);color:var(--color-white);font-size:.72rem;padding:4px 14px;border-radius:var(--radius-pill);letter-spacing:.03em;backdrop-filter:blur(4px)}.productCard_body{padding:24px 24px 28px}.productCard_title{font-size:1.15rem;font-weight:700;color:var(--color-deep);margin-bottom:2px;line-height:1.3}.productCard_subtitle{font-size:.8rem;color:var(--color-text-light);margin-bottom:14px;letter-spacing:.02em}.productCard_specs{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px}.productCard_specs li{font-size:.73rem;color:var(--color-text-mid);background:var(--color-cream);padding:3px 10px;border-radius:20px;line-height:1.5}.productCard_desc{font-size:.87rem;color:var(--color-text-mid);line-height:1.7;margin-bottom:18px;display:-webkit-box;overflow:hidden}.productCard_footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.productCard_price{font-size:1.2rem;font-weight:700;color:var(--color-deep);white-space:nowrap}.productCard_addBtn{background:var(--color-deep);color:var(--color-white);border:none;font-size:.82rem;padding:10px 20px;border-radius:var(--radius-pill);cursor:pointer;font-family:inherit;font-weight:600;transition:background .25s,transform .2s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.productCard_addBtn:hover{background:#0d3555;transform:translateY(-1px)}.productCard_addBtn i{font-size:1rem}.productCard_addBtn.added{background:#2a7d4f}.productCard_addBtn.added i::before{content:"\eb7b"}@media(max-width:1024px){.productsGrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.productsGrid{grid-template-columns:1fr}.products{padding:56px 20px 64px}.productCard_footer{flex-direction:column;align-items:stretch}.productCard_addBtn{justify-content:center}.productFilters{gap:8px}.filterBtn{font-size:.78rem;padding:6px 16px}}.cart-floating-btn{position:fixed;bottom:32px;right:32px;width:56px;height:56px;border-radius:50%;background:var(--color-deep);color:var(--color-white);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1100;box-shadow:0 4px 20px rgba(15,61,98,.3);transition:transform .25s,box-shadow .25s;font-size:1.4rem}.cart-floating-btn:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(15,61,98,.4)}.cart-floating-btn_badge{position:absolute;top:-4px;right:-4px;background:#c0392b;color:var(--color-white);font-size:.68rem;font-weight:700;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .3s;pointer-events:none}.cart-floating-btn_badge.pulse{animation:badgePulse .4s ease}@keyframes badgePulse{0%{transform:scale(1)}50%{transform:scale(1.35)}100%{transform:scale(1)}}.cart-floating-btn_badge.empty{opacity:0;transform:scale(0)}@media(max-width:600px){.cart-floating-btn{bottom:20px;right:20px;width:50px;height:50px;font-size:1.2rem}}.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1200;opacity:0;pointer-events:none;transition:opacity .3s}.cart-overlay.show{opacity:1;pointer-events:auto}.cart-sidebar{position:fixed;top:0;right:-400px;width:380px;max-width:90vw;height:100vh;background:var(--color-white);z-index:1300;display:flex;flex-direction:column;transition:right .35s ease;box-shadow:-4px 0 30px rgba(0,0,0,.12)}.cart-sidebar.open{right:0}.cart-sidebar_header{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 20px;border-bottom:1px solid var(--color-border)}.cart-sidebar_title{font-size:1.1rem;font-weight:700;color:var(--color-deep)}.cart-sidebar_close{background:none;border:none;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s;color:var(--color-text);font-size:1.3rem}.cart-sidebar_close:hover{background:rgba(15,61,98,.06)}.cart-sidebar_body{-ms-flex:1;flex:1;overflow-y:auto;padding:16px 24px}.cart-sidebar_empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--color-text-light);gap:12px}.cart-sidebar_emptyIcon{font-size:2.8rem;opacity:.35}.cart-sidebar_empty p{font-size:.95rem}.cart-sidebar_empty.hidden{display:none}.cart-sidebar_items{}.cartItem{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--color-border);align-items:flex-start}.cartItem_img{width:64px;height:64px;border-radius:10px;object-fit:cover;flex-shrink:0}.cartItem_info{flex:1;-ms-flex:1;min-width:0}.cartItem_name{font-size:.85rem;font-weight:600;color:var(--color-deep);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cartItem_unitPrice{font-size:.75rem;color:var(--color-text-light);margin-bottom:8px}.cartItem_controls{display:flex;align-items:center;gap:10px}.cartItem_qtyBtn{width:28px;height:28px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-white);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--color-deep);transition:background .2s,border-color .2s;font-family:inherit}.cartItem_qtyBtn:hover{background:var(--color-cream);border-color:var(--color-deep)}.cartItem_qty{font-size:.9rem;font-weight:600;color:var(--color-text);min-width:20px;text-align:center}.cartItem_remove{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--color-text-light);font-size:1.1rem;padding:4px;transition:color .2s}.cartItem_remove:hover{color:#c0392b}.cart-sidebar_footer{padding:20px 24px 24px;border-top:1px solid var(--color-border)}.cart-sidebar_footer.hidden{display:none}.cart-sidebar_total{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.cart-sidebar_total span:first-child{font-size:.95rem;color:var(--color-text-mid)}.cart-sidebar_totalPrice{font-size:1.25rem;font-weight:700;color:var(--color-deep)}.cart-sidebar_checkout{display:block;text-align:center;background:var(--color-deep);color:var(--color-white);padding:14px 24px;border-radius:var(--radius-pill);font-weight:600;font-size:.95rem;transition:background .25s,transform .2s;text-decoration:none}.cart-sidebar_checkout:hover{background:#0d3555;transform:translateY(-1px);opacity:1}.cart-sidebar_checkout i{margin-left:6px}.policySection{padding:140px 32px 100px;background:var(--color-white,#FFFFFF);max-width:100%}.policyInner{max-width:860px;margin:0 auto}.policyTitle{font-size:2.4rem;font-weight:700;color:var(--color-deep,#0F3D62);line-height:1.3;margin-bottom:28px;letter-spacing:.01em}.policyLead{font-size:1rem;color:var(--color-text-mid,#444444);line-height:1.9;margin-bottom:48px;padding-bottom:32px;border-bottom:1px solid var(--color-border,rgba(15,61,98,.08))}.policyHeading{font-size:1.25rem;font-weight:700;color:var(--color-deep,#0F3D62);margin:40px 0 16px;line-height:1.5}.policySection p{font-size:.95rem;color:var(--color-text-mid,#444444);line-height:1.9;margin-bottom:0}.policySection h2.policyHeading@media(max-width:768px){.policySection{padding:120px 20px 64px}.policyTitle{font-size:1.8rem}.policyHeading{font-size:1.1rem}.policySection p,.policyLead{font-size:.9rem;line-height:1.8}}@media(max-width:600px){.policySection{padding:110px 16px 56px}.policyTitle{font-size:1.5rem;margin-bottom:20px}.policyLead{margin-bottom:32px;padding-bottom:24px}.policyHeading{margin:32px 0 12px}}