*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Noto Sans JP',sans-serif;color:#2b2a27;background:#f3efe6;line-height:1.8;font-size:15px;overflow-x:hidden}a{color:inherit;text-decoration:none;transition:opacity .3s}a:hover{opacity:.7}img{max-width:100%;height:auto;display:block}ul{list-style:none}.flex{display:flex}.column{flex-direction:column}.gothic{font-family:'Noto Sans JP',sans-serif}.t_cntr{text-align:center}.t_left{text-align:left}.t_justfy{text-align:justify}.pc{display:block}.sptb{display:none}#loading{position:fixed;inset:0;background:#f3efe6;z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .6s}#loading.fadeout{opacity:0;pointer-events:none}.loading_inner{gap:8px;display:flex}.loading_inner span{font-family:'Noto Serif JP',serif;font-size:32px;letter-spacing:.25em;font-weight:400;animation:loadPulse 1.2s ease-in-out infinite alternate}.loading_inner span:nth-child(2){animation-delay:.15s}.loading_inner span:nth-child(3){animation-delay:.3s}.loading_inner span:nth-child(4){animation-delay:.45s}@keyframes loadPulse{0%{opacity:.2;transform:translateY(4px)}100%{opacity:1;transform:translateY(-4px)}}#header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(243,239,230,.96);backdrop-filter:blur(6px);border-bottom:1px solid #d8d2c5;transition:transform .35s}.header_inner{max-width:1280px;margin:0 auto;padding:0 40px;height:80px;align-items:center;justify-content:space-between}.logo_link{display:flex;align-items:center}.header_logo{height:70px;min-height:60px;max-height:114px;width:auto}.mainnavi{margin-left:auto;gap:36px;align-items:center}.mainnavi li a{font-size:13px;font-weight:700;letter-spacing:.08em;position:relative;padding-bottom:4px}.mainnavi li a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:#2b2a27;transition:width .3s}.mainnavi li a:hover::after{width:100%}.mainnavi li a:hover{opacity:1}.navimenu_toggle{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:10px;z-index:200}.burger_line{display:block;width:26px;height:2px;background:#2b2a27;transition:all .3s}.navimenu_toggle.active .burger_line:nth-child(1){transform:rotate(45deg)translate(5px,6px)}.navimenu_toggle.active .burger_line:nth-child(2){opacity:0}.navimenu_toggle.active .burger_line:nth-child(3){transform:rotate(-45deg)translate(5px,-6px)}.modal-window{position:fixed;inset:0;z-index:250;visibility:hidden;opacity:0;transition:opacity .4s,visibility .4s}.modal-window.modal-open{visibility:visible;opacity:1}.modal_overlay{position:absolute;inset:0;background:rgba(0,0,0,.75)}.modal_body{position:relative;z-index:2;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.modal-close{right:28px;background:none;position:absolute;color:#f3efe6;cursor:pointer;top:28px;font-size:36px;border:none}.static_navi ul{text-align:center}.static_navi li{margin-bottom:32px}.static_navi li a{font-family:'Noto Serif JP',serif;font-size:24px;color:#f3efe6;letter-spacing:.15em}.modal_contact_info{margin-top:56px;text-align:center;color:#6e6a62;font-size:13px;line-height:1.8}.modal_contact_info a{color:#f3efe6}.banner{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:90;gap:12px}.banner .btn{writing-mode:vertical-rl;background:#2b2a27;padding:16px 10px}.banner .btn a{color:#f3efe6;font-size:11px;letter-spacing:.12em}.tategaki{writing-mode:vertical-rl}#top{position:relative;height:100vh;min-height:620px;overflow:hidden}.topgallery{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease-in-out}.topgallery.active{opacity:1}.hero_content_wrap{position:relative;z-index:5;height:100%;display:flex;align-items:center;justify-content:center}.catchcopy{font-family:'Noto Serif JP',serif;font-size:44px;font-weight:400;color:#f3efe6;letter-spacing:.18em;text-align:center;text-shadow:0 2px 24px rgba(0,0,0,.55);line-height:1.7}.catchcopy.sptb{display:none}#intro{padding:120px 40px;text-align:center}.intro_body{max-width:780px;margin:0 auto}.intro_text{font-family:'Noto Serif JP',serif;font-size:15px;line-height:2.4;margin-bottom:52px;text-align:left}.button{display:inline-block;transition:all .3s}.button.circle{width:120px;height:120px;border:1px solid #2b2a27;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:'Noto Sans JP',sans-serif;font-size:12px;font-weight:700;letter-spacing:.2em}.button.circle:hover{background:#2b2a27;color:#f3efe6;opacity:1}.button.box{padding:14px 36px;border:1px solid #2b2a27;font-size:13px;font-weight:700;letter-spacing:.1em}.button.box:hover{background:#2b2a27;color:#f3efe6;opacity:1}.pagetitle{font-weight:400;font-size:36px;margin-bottom:52px;font-family:'Noto Sans JP',sans-serif;letter-spacing:.22em;text-align:center}.pagetitle span{display:block;font-size:12px;letter-spacing:.15em;margin-top:10px;color:#6e6a62}#block_whatwedo{padding:110px 40px;max-width:1300px;margin:0 auto}.whatwedo_grid{flex-wrap:wrap;gap:44px;justify-content:center}.box_whatwedo{width:calc(33.333% - 30px)}.title_whatwedo{font-family:'Noto Serif JP',serif;font-size:18px;font-weight:700;margin-bottom:18px;letter-spacing:.05em}.img_whatwedo{position:relative;height:240px;overflow:hidden;margin-bottom:18px}.img_whatwedo .hv_cntr{position:absolute;inset:0;background:rgba(0,0,0,.55);color:#f3efe6;display:flex;align-items:center;justify-content:center;font-size:13px;letter-spacing:.22em;font-weight:700;opacity:0;transition:opacity .35s}.img_whatwedo:hover .hv_cntr{opacity:1}.copy_whatwedo{font-family:'Noto Serif JP',serif;font-size:14px;line-height:1.9;margin-bottom:14px}.text_whatwedo{font-size:13px;color:#6e6a62;line-height:1.8}#bottom_action{padding:100px 40px;background:#ffffff}.action_grid{max-width:1200px;margin:0 auto;gap:32px;flex-wrap:wrap;justify-content:center}.navi_bottom_box{flex:1;min-width:280px;max-width:360px;padding:44px 28px;border:1px solid #d8d2c5;background:#ffffff}#bottom_contact .navi_bottom_box{background:#f3efe6}.navi_bottom_title{font-family:'Noto Serif JP',serif;font-size:17px;font-weight:700;margin-bottom:16px}.pict_consul i,.pict_mail i,.pict_faq i,.pict_repair i,.pict_partner i{font-size:36px;margin-bottom:18px;display:block}.text_box{font-size:13px;margin-bottom:24px;color:#6e6a62;line-height:1.8;text-align:justify}#gallery_section{padding:100px 40px;max-width:1300px;margin:0 auto}.gallery_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery_item{overflow:hidden;aspect-ratio:1/1}.gallery_item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery_item:hover img{transform:scale(1.06)}#bottom_contact{padding:0 0 100px}.contact_hero{height:320px;margin-bottom:64px}.contact_cards{max-width:1200px;margin:0 auto;padding:0 40px;gap:28px;flex-wrap:wrap;justify-content:center}#footer{background:#2b2a27;color:#f3efe6;padding:80px 40px 28px;flex-direction:column}.footer_inner{max-width:1280px;margin:0 auto;width:100%;gap:60px;flex-wrap:wrap;padding-bottom:48px;border-bottom:1px solid rgba(243,239,230,.12);margin-bottom:28px}.footer_logo{max-height:146px;width:auto;filter:brightness(0)invert(1);margin-bottom:24px}.footer_dl{font-size:12px;line-height:2.2}.footer_dl dt{font-weight:700;letter-spacing:.18em;color:#6e6a62;margin-top:10px}.footer_dl dd{font-size:13px}.footer_dl dd a{color:#f3efe6}.footer_nav_col{margin-left:auto}.footer_menu li{margin-bottom:14px}.footer_menu li a{font-size:13px;letter-spacing:.08em}.footer_bottom{max-width:1280px;margin:0 auto;width:100%;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.legal_links{gap:24px;flex-wrap:wrap}.legal_links li a{font-size:11px;color:#6e6a62;letter-spacing:.05em}.copyright{font-size:11px;color:#6e6a62;letter-spacing:.1em}.fixin{opacity:0;transition:opacity .65s ease,transform .65s ease;transform:translateY(32px)}.fixin.visible{opacity:1;transform:translateY(0)}.fixin.delay{transition-delay:.18s}.fixin.delay6{transition-delay:.36s}@media screen and(max-width:1023px){.whatwedo_grid{gap:32px}.box_whatwedo{width:calc(50% - 16px)}.gallery_grid{grid-template-columns:repeat(2,1fr)}.consultation_grid{grid-template-columns:repeat(2,1fr)}}@media screen and(max-width:768px){.pc{display:none}.sptb{display:block}.catchcopy.sptb{display:block}.header_inner{padding:0 20px;height:64px}.header_logo{height:52px}.mainnavi{display:none}.navimenu_toggle{display:flex}.banner{display:none}.catchcopy{font-size:26px}#intro{padding:80px 20px}#block_whatwedo{padding:64px 20px}#bottom_action{padding:64px 20px}#gallery_section{padding:64px 20px}.box_whatwedo{width:100%}.gallery_grid{grid-template-columns:repeat(2,1fr)}.contact_hero{height:200px;margin-bottom:40px}.contact_cards{padding:0 20px}.footer_inner{gap:32px}.footer_nav_col{margin-left:0}#footer{padding:48px 20px 20px}.pagetitle{font-size:24px;letter-spacing:.15em}.action_grid{gap:20px}.navi_bottom_box{min-width:100%}}@media screen and(max-width:480px){.gallery_grid{grid-template-columns:1fr}.navi_bottom_box{padding:28px 20px}.header_inner{height:56px}.header_logo{height:44px;min-height:40px}.catchcopy{font-size:22px}}:root{--color-bg:#f3efe6;--color-bg-alt:#ffffff;--color-ink:#2b2a27;--color-ink-muted:#6e6a62;--color-hairline:#d8d2c5;--color-overlay:rgba(0,0,0,.6)}.products{padding:110px 40px;max-width:1300px;margin:0 auto}.products_filter{justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:52px}.filter_btn{font-family:'Noto Sans JP',sans-serif;font-size:12px;font-weight:700;letter-spacing:.08em;padding:10px 24px;border:1px solid var(--color-hairline);background:transparent;color:var(--color-ink);cursor:pointer;transition:background .3s,color .3s}.filter_btn:hover,.filter_btn.active{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.products_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.product_card{background:var(--color-bg-alt);border:1px solid var(--color-hairline);overflow:hidden;transition:box-shadow .35s}.product_card:hover{box-shadow:0 8px 32px rgba(43,42,39,.1)}.product_card.hidden_card{display:none}.product_card_link{display:block}.product_card_link:hover{opacity:1}.product_thumb{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--color-bg-alt)}.product_thumb img{padding:16px;transition:transform .55s;width:100%;object-fit:contain;height:100%}.product_card:hover .product_thumb img{transform:scale(1.04)}.product_badge{position:absolute;top:14px;left:14px;font-family:'Noto Sans JP',sans-serif;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--color-bg);background:var(--color-ink);padding:5px 12px}.product_info{padding:24px 24px 28px}.product_name{font-family:'Noto Serif JP',serif;font-size:16px;font-weight:700;letter-spacing:.03em;margin-bottom:14px;line-height:1.5}.product_specs{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.product_specs li{font-size:11px;color:var(--color-ink-muted);border:1px solid var(--color-hairline);padding:3px 10px;letter-spacing:.02em}.product_desc{font-size:13px;color:var(--color-ink-muted);line-height:1.8;margin-bottom:20px;display:-webkit-box;overflow:hidden}.product_bottom{align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--color-hairline);padding-top:18px}.product_price{font-family:'Noto Serif JP',serif;font-weight:700;letter-spacing:.04em;font-size:20px}.price_tax{font-size:11px;font-weight:400;color:var(--color-ink-muted);margin-left:4px}.add_to_cart{font-family:'Noto Sans JP',sans-serif;background:transparent;cursor:pointer;white-space:nowrap}.add_to_cart.added_anim{background:var(--color-ink);color:var(--color-bg);border-color:var(--color-ink)}.cart-floating-btn{position:fixed;bottom:32px;right:32px;width:56px;height:56px;background:var(--color-ink);color:var(--color-bg);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:80;transition:transform .3s,box-shadow .3s;font-size:22px}.cart-floating-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(43,42,39,.25)}.cart_badge{position:absolute;top:-4px;right:-4px;background:#8b4513;color:var(--color-bg);font-family:'Noto Sans JP',sans-serif;font-size:10px;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.cart_badge.has_items{opacity:1}.cart-sidebar{position:fixed;inset:0;z-index:400;visibility:hidden;opacity:0;transition:opacity .35s,visibility .35s}.cart-sidebar.open{visibility:visible;opacity:1}.cart_sidebar_overlay{position:absolute;inset:0;background:var(--color-overlay)}.cart_sidebar_panel{position:absolute;top:0;right:-420px;width:400px;max-width:90vw;height:100%;background:var(--color-bg);display:flex;flex-direction:column;transition:right .4s cubic-bezier(.4,0,.2,1)}.cart-sidebar.open .cart_sidebar_panel{right:0}.cart_sidebar_header{padding:28px 28px 20px;border-bottom:1px solid var(--color-hairline);align-items:center;justify-content:space-between;flex-shrink:0}.cart_sidebar_title{font-family:'Noto Sans JP',sans-serif;font-size:18px;font-weight:400;letter-spacing:.2em}.cart_sidebar_title span{display:block;font-size:11px;letter-spacing:.12em;color:var(--color-ink-muted);margin-top:4px}.cart_sidebar_close{background:none;border:none;font-size:28px;color:var(--color-ink);cursor:pointer;padding:4px;transition:opacity .3s}.cart_sidebar_close:hover{opacity:.6}.cart_sidebar_body{flex:1;overflow-y:auto;padding:20px 28px}.cart_empty_msg{font-family:'Noto Sans JP',sans-serif;font-size:14px;color:var(--color-ink-muted);text-align:center;padding:40px 0}.cart_item{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--color-hairline);align-items:flex-start}.cart_item_thumb{width:72px;height:72px;flex-shrink:0;background:var(--color-bg-alt);border:1px solid var(--color-hairline);overflow:hidden}.cart_item_thumb img{width:100%;height:100%;object-fit:contain;padding:4px}.cart_item_details{flex:1;min-width:0}.cart_item_name{font-family:'Noto Serif JP',serif;font-size:13px;font-weight:700;line-height:1.4;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cart_item_price{font-size:13px;font-weight:700;margin-bottom:10px}.cart_item_controls{display:flex;align-items:center;gap:0}.qty_btn{width:28px;height:28px;border:1px solid var(--color-hairline);background:transparent;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:'Noto Sans JP',sans-serif;color:var(--color-ink);transition:background .2s}.qty_btn:hover{background:var(--color-ink);color:var(--color-bg)}.cart_item_qty{width:36px;text-align:center;font-size:13px;font-weight:700;font-family:'Noto Sans JP',sans-serif;border-top:1px solid var(--color-hairline);border-bottom:1px solid var(--color-hairline);height:28px;line-height:28px;background:transparent}.cart_item_remove{margin-left:auto;background:none;border:none;font-size:18px;color:var(--color-ink-muted);cursor:pointer;padding:4px;transition:color .2s}.cart_item_remove:hover{color:var(--color-ink)}.cart_sidebar_footer{padding:20px 28px 28px;border-top:1px solid var(--color-hairline);flex-shrink:0}.cart_total{justify-content:space-between;align-items:center;margin-bottom:20px}.cart_total_label{font-family:'Noto Sans JP',sans-serif;font-size:13px;color:var(--color-ink-muted);letter-spacing:.05em}.cart_total_price{font-family:'Noto Serif JP',serif;font-size:22px;font-weight:700}.cart_checkout{display:block;text-align:center;width:100%;padding:16px 36px;font-family:'Noto Sans JP',sans-serif}@media screen and(max-width:1023px){.products_grid{grid-template-columns:repeat(2,1fr);gap:28px}}@media screen and(max-width:768px){.products{padding:64px 20px}.products_filter{gap:8px;margin-bottom:36px}.filter_btn{font-size:11px;padding:8px 16px}.products_grid{grid-template-columns:1fr;gap:24px}.product_info{padding:20px 18px 24px}.cart-floating-btn{bottom:20px;right:20px;width:50px;height:50px;font-size:20px}.cart_sidebar_panel{width:100%;max-width:100vw}.cart_sidebar_body{padding:16px 20px}.cart_sidebar_header{padding:20px 20px 16px}.cart_sidebar_footer{padding:16px 20px 24px}}@media screen and(max-width:480px){.product_bottom{flex-direction:column;align-items:flex-start}.add_to_cart{width:100%}}#policy_hero{padding:150px 40px 60px;text-align:center}.policy_body{padding:0 40px 120px}.policy_inner{max-width:860px;margin:0 auto}.policy_inner h2{font-family:'Noto Serif JP',serif;font-size:20px;font-weight:700;letter-spacing:.03em;color:var(--color-ink);margin:56px 0 20px;padding-bottom:14px;border-bottom:1px solid var(--color-hairline)}.policy_inner h2:first-child{margin-top:0}.policy_inner p{font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:2.1;color:var(--color-ink-muted);letter-spacing:.01em}@media screen and(max-width:768px){#policy_hero{padding:120px 20px 40px}.policy_body{padding:0 20px 80px}.policy_inner h2{font-size:17px;margin:44px 0 16px;padding-bottom:12px}.policy_inner p{font-size:13px;line-height:1.9}}