:root{--color-bg:#faf9f6;--color-card-bg:#ffffff;--color-text-main:#111111;--color-text-muted:#767676;--color-border:#e8e6e1;--color-shadow:rgba(0,0,0,0.03);--color-shadow-heavy:rgba(0,0,0,0.06);--phone-width:600px;--ease-calm:cubic-bezier(0.16,1,0.3,1);--duration-fast:0.2s;--duration-normal:0.4s;--duration-slow:0.6s}.catalog-wrapper{background-color:var(--color-bg);color:var(--color-text-main);font-family:Noto Sans JP,sans-serif;line-height:1.6;min-height:100vh;padding-top:64px;padding-bottom:0}.catalog-header{padding:56px 24px 16px;text-align:center;background-color:var(--color-bg)}.catalog-header .logo{font-size:28px;letter-spacing:.18em;margin-bottom:8px}.catalog-header .logo,.catalog-header .subtitle{font-family:Outfit,sans-serif;font-weight:500;text-transform:uppercase}.catalog-header .subtitle{font-size:10px;letter-spacing:.35em;color:var(--color-text-muted);margin-bottom:24px}.catalog-header .divider{width:32px;height:1px;background-color:var(--color-text-main);margin:0 auto}.member-status-banner{max-width:var(--phone-width);margin:12px auto 0;padding:0 16px}.member-status-link{display:block;border:1px solid var(--color-border);background:#fafafa;color:#000;text-decoration:none;padding:12px 14px;border-radius:8px;text-align:center;transition:all var(--duration-fast) var(--ease-calm)}.member-status-link:hover{border-color:#000;background:#000;color:#fff}.member-badge{background:#000;color:#fff;font-size:8px;font-weight:700;padding:2px 6px;border-radius:2px;margin-right:8px;vertical-align:middle;font-family:Outfit,sans-serif}.member-status-link:hover .member-badge{background:#fff;color:#000}.member-title{font-size:11px;font-weight:600;letter-spacing:.05em}.article-banner{max-width:var(--phone-width);margin:12px auto 0;padding:0 16px}.article-banner-link{display:block;border:1px solid #eaeaea;background:#fafafa;color:#000;text-decoration:none;padding:12px 14px;border-radius:8px;text-align:center;transition:all var(--duration-fast) var(--ease-calm)}.article-banner-link:hover{border-color:#000;background:#000;color:#fff}.article-badge{background:#000;color:#fff;font-size:8px;font-weight:700;padding:2px 6px;border-radius:2px;margin-right:8px;vertical-align:middle;font-family:Outfit,sans-serif}.article-banner-link:hover .article-badge{background:#fff;color:#000}.article-title{font-size:11px;font-weight:600;letter-spacing:.05em}.tabs-container{display:flex;justify-content:center;gap:12px;margin:32px 0 16px;padding:0 20px;flex-wrap:wrap}.tab-btn{background:none;border:1px solid var(--color-border);color:var(--color-text-muted);padding:8px 20px;border-radius:30px;font-family:Outfit,sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;cursor:pointer;transition:all var(--duration-fast) var(--ease-calm)}.tab-btn:hover{color:var(--color-text-main)}.tab-btn.active,.tab-btn:hover{border-color:var(--color-text-main)}.tab-btn.active{background-color:var(--color-text-main);color:var(--color-card-bg)}.catalog-container{max-width:var(--phone-width);margin:0 auto 120px;padding:0 20px}.product-list{gap:32px;transition:opacity var(--duration-normal) var(--ease-calm)}.product-card,.product-list{display:flex;flex-direction:column}.product-card{background-color:var(--color-card-bg);border-radius:20px;overflow:hidden;cursor:pointer;text-decoration:none;color:inherit;box-shadow:0 2px 10px var(--color-shadow);border:1px solid var(--color-border);transition:transform var(--duration-fast) var(--ease-calm),box-shadow var(--duration-fast) var(--ease-calm)}.product-card:active{transform:scale(.98)}.product-image-container{position:relative;width:100%;aspect-ratio:16/10;background-color:#f3f1ec;overflow:hidden}.product-image{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-calm)}.product-card:hover .product-image{transform:scale(1.02)}.badge-product-type{position:absolute;top:18px;left:18px;background-color:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-text-main);font-size:8.5px;font-weight:700;letter-spacing:.12em;padding:4px 12px;border-radius:20px;text-transform:uppercase;border:1px solid rgba(0,0,0,.04);box-shadow:0 2px 6px rgba(0,0,0,.02);z-index:2}.product-info{padding:28px 28px 24px}.product-meta-header{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.product-title{font-size:18px;font-weight:700;letter-spacing:-.01em;line-height:1.4}.price-wrap{display:flex;align-items:baseline;gap:8px}.product-price{font-family:Outfit,sans-serif;font-size:18px;font-weight:700;color:var(--color-text-main)}.product-price-span{font-size:10px;font-weight:500;color:var(--color-text-muted);margin-left:1px}.product-desc{font-size:12.5px;color:var(--color-text-muted);margin-bottom:20px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-footer{display:flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;letter-spacing:.08em;color:var(--color-text-main);border-top:1px solid var(--color-border);padding-top:16px}.product-footer svg{width:12px;height:12px;transition:transform var(--duration-fast) var(--ease-calm)}.product-card:active .product-footer svg{transform:translateX(3px)}.sheet-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.25);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:100;opacity:0;visibility:hidden;transition:opacity var(--duration-normal) var(--ease-calm),visibility var(--duration-normal) var(--ease-calm)}.sheet-overlay.active{opacity:1;visibility:visible}.bottom-sheet{position:fixed;bottom:0;left:50%;transform:translate(-50%,100%);width:100%;max-width:600px;max-height:88vh;background-color:var(--color-card-bg);border-radius:28px 28px 0 0;z-index:101;overflow-y:auto;transition:transform var(--duration-normal) var(--ease-calm);display:flex;flex-direction:column;outline:none;box-shadow:0 20px 48px rgba(0,0,0,.06);border:1px solid var(--color-border)}.bottom-sheet.active{transform:translate(-50%)}.sheet-handle{width:40px;height:4px;background-color:var(--color-border);border-radius:2px;margin:14px auto 6px;flex-shrink:0}.sheet-content{padding:0 28px 48px}.sheet-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.sheet-close-btn{background:var(--color-bg);border:1px solid var(--color-border);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer}.swipe-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -28px 28px;padding:0 28px;scrollbar-width:none}.swipe-gallery::-webkit-scrollbar{display:none}.gallery-item{flex:0 0 88%;aspect-ratio:16/10;background-color:#f3f1ec;border-radius:14px;overflow:hidden;scroll-snap-align:start;position:relative}.gallery-item img,.gallery-item video{width:100%;height:100%;object-fit:cover}.video-badge{position:absolute;top:14px;right:14px;background-color:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#ffffff;font-size:8px;letter-spacing:.1em;padding:3px 8px;border-radius:4px;z-index:3}.section-title,.video-badge{font-weight:700;text-transform:uppercase}.section-title{font-size:11px;letter-spacing:.15em;color:var(--color-text-muted);margin:28px 0 14px;border-bottom:1px solid var(--color-border);padding-bottom:6px}.bullets-container{gap:18px;margin-bottom:12px}.bullet-item,.bullets-container{display:flex;flex-direction:column}.bullet-item{gap:4px}.bullet-title-wrap{display:flex;align-items:center;gap:8px}.bullet-icon{width:5px;height:5px;background-color:var(--color-text-main);border-radius:50%}.bullet-title{font-size:13px;font-weight:700;letter-spacing:-.01em}.bullet-desc{font-size:12px;color:var(--color-text-muted);line-height:1.6;padding-left:13px}.specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.spec-item{display:flex;flex-direction:column;gap:2px}.spec-label{font-size:10px;color:var(--color-text-muted);letter-spacing:.02em}.spec-value{font-size:12px;font-weight:500;line-height:1.5}.details-text{font-size:13px;color:var(--color-text-main);line-height:1.7;margin-bottom:12px;white-space:pre-wrap}.variant-list{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}.variant-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;transition:border-color var(--duration-fast) var(--ease-calm)}.variant-card:hover{border-color:var(--color-text-main)}.variant-name{font-size:13px;font-weight:700;margin-bottom:2px}.variant-desc{font-size:11px;color:var(--color-text-muted)}.variant-price-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.variant-price{font-family:Outfit,sans-serif;font-weight:700;font-size:15px}.discount-notice-box{margin-top:16px;padding:12px 14px;background:#fafafa;border:1px solid #eaeaea;border-radius:8px;margin-bottom:24px}.discount-notice-text{font-size:11px;font-weight:700;line-height:1.5;color:#e60012;margin:0}.secret-explain-box{margin-top:16px;padding:16px;background:#fafafa;border:1px solid #eaeaea;border-radius:12px;text-align:left;margin-bottom:24px}.secret-explain-title{font-size:12.5px;font-weight:700;color:#e60012;margin-bottom:8px;display:flex;align-items:center;gap:4px}.secret-explain-text{font-size:11.5px;line-height:1.65;color:#333;margin:0 0 12px}.secret-read-link{display:inline-block;font-size:11px;font-weight:700;color:#000;text-decoration:underline;transition:color var(--duration-fast) var(--ease-calm)}.secret-read-link:hover{color:#e60012}.cta-button{background-color:var(--color-text-main);color:#ffffff;border:none;border-radius:14px;width:100%;padding:18px;font-size:13.5px;font-weight:700;letter-spacing:.08em;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.12)}.cta-button svg{width:18px;height:18px}@media (min-width:768px){.article-banner,.catalog-container,.member-status-banner{max-width:1000px}.product-list{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}}.site-header{position:fixed;top:0;left:0;width:100%;height:64px;background-color:rgba(255,255,255,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);justify-content:space-between;padding:0 20px;z-index:1000}.site-header,.site-logo-link{display:flex;align-items:center}.site-logo-link{text-decoration:none}.site-logo-img{height:38px;object-fit:contain}.header-desktop-actions,.nav-desktop{display:none}.mobile-bottom-bar{position:fixed;bottom:0;left:0;width:100%;height:60px;display:flex;z-index:9999;border-top:1px solid rgba(255,255,255,.15);box-shadow:0 -4px 12px rgba(0,0,0,.08)}.mobile-bottom-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:#ffffff;font-size:10px;font-weight:700;border-right:1px dotted rgba(255,255,255,.15);transition:opacity .2s ease}.mobile-bottom-item svg{width:18px;height:18px}.mobile-bottom-item.consultation,.mobile-bottom-item.phone{background-color:#555555}.mobile-bottom-item.menu-btn{background-color:#333333;border-right:none;outline:none;border-top:none;border-bottom:none;cursor:pointer;font-family:inherit;font-size:10px;font-weight:700;color:#ffffff}.hamburger-lines{display:flex;flex-direction:column;gap:4px;width:16px;height:10px;justify-content:center;align-items:center;margin-bottom:2px}.hamburger-lines span{display:block;width:16px;height:1.5px;background-color:#ffffff}.mobile-bottom-item:active{opacity:.85}.nav-mobile-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#ffffff;z-index:9998;opacity:0;visibility:hidden;transition:opacity var(--duration-normal) var(--ease-calm),visibility var(--duration-normal) var(--ease-calm);display:flex;flex-direction:column;align-items:center;padding:40px 24px 100px;overflow-y:auto}.nav-mobile-overlay.active{opacity:1;visibility:visible}.nav-mobile-links{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;max-width:320px;margin:auto 0}.nav-mobile-item{text-decoration:none;color:#111111;font-size:15px;font-weight:500;padding:10px 0;width:100%;text-align:center;border-bottom:1px solid rgba(0,0,0,.03);letter-spacing:.05em;transition:color var(--duration-fast) var(--ease-calm)}.nav-mobile-item:hover{color:#a4b082}.nav-mobile-socials{gap:20px;margin-top:32px}.nav-mobile-social-btn,.nav-mobile-socials{display:flex;align-items:center;justify-content:center}.nav-mobile-social-btn{width:44px;height:44px;border:1px solid #cccccc;border-radius:50%;color:#333333;transition:all .2s ease}.nav-mobile-social-btn svg{width:20px;height:20px}.nav-mobile-social-btn:hover{background-color:#111111;color:#ffffff;border-color:#111111}.nav-mobile-policy-link{font-size:11px;color:#767676;text-decoration:none;margin-top:24px;border-bottom:1px solid #cccccc;padding-bottom:2px;transition:color var(--duration-fast) var(--ease-calm)}.nav-mobile-policy-link:hover{color:#111111}.site-footer{background-color:#ffffff;border-top:1px solid var(--color-border);padding:0;margin-top:80px;overflow:hidden}.footer-grid{display:flex;flex-direction:column}.footer-left{background-color:#b2b0a6;color:#ffffff;padding:60px 24px;text-align:left}.footer-brand,.footer-left{display:flex;flex-direction:column;align-items:flex-start}.footer-brand{margin-bottom:32px;width:100%}.footer-logo-img{height:48px;filter:invert(1);object-fit:contain;margin-bottom:14px}.footer-brand-text{display:flex;flex-direction:column;gap:2px;margin-bottom:18px}.footer-brand-title{font-size:11px;letter-spacing:.05em;opacity:.9}.footer-brand-name{font-size:20px;font-weight:700;letter-spacing:.1em;font-family:Outfit,sans-serif}.footer-social-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.5);border-radius:50%;color:#ffffff;transition:all .2s ease}.footer-social-btn svg{width:16px;height:16px}.footer-social-btn:hover{background-color:#ffffff;color:#b2b0a6;border-color:#ffffff}.footer-contact-details{display:flex;flex-direction:column;gap:16px;margin-bottom:36px;width:100%}.footer-contact-item{display:flex;align-items:center;gap:10px;font-size:12px;color:#ffffff}.footer-contact-item svg.info-icon{width:16px;height:16px;flex-shrink:0}.footer-contact-item svg.external-icon{width:11px;height:11px;opacity:.7;transition:opacity .2s ease;margin-left:2px}.footer-contact-link{display:flex;align-items:center;color:#ffffff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:1px;transition:border-color .2s ease}.footer-contact-link:hover{border-color:#ffffff}.footer-contact-link:hover svg.external-icon{opacity:1}.footer-contact-text{font-weight:500}.footer-btn-reserve{display:inline-flex;align-items:center;gap:12px;height:48px;padding:0 28px;background-color:#ffffff;border-radius:24px;color:#333333;font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.05);transition:all .2s ease;margin-bottom:36px}.footer-btn-reserve-icon-wrap{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:1px solid #333333;color:#333333}.footer-btn-reserve-icon-wrap svg{width:10px;height:10px}.footer-btn-reserve:hover{background-color:#333333;color:#ffffff}.footer-btn-reserve:hover .footer-btn-reserve-icon-wrap{border-color:#ffffff;color:#ffffff}.footer-divider{width:100%;border:none;height:1px;background-color:rgba(255,255,255,.2);margin:0 0 28px}.footer-links-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px;width:100%}.footer-links-col{display:flex;flex-direction:column;gap:12px}.footer-link-item{font-size:12px;color:rgba(255,255,255,.8);text-decoration:none;transition:color .2s ease}.footer-link-item:hover{color:#ffffff}.footer-policy-link{font-size:11px;color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s ease;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:1px}.footer-policy-link:hover{color:#ffffff;border-color:#ffffff}.footer-right{position:relative;width:100%;min-height:380px;background-color:#f7f7f7;overflow:hidden}.footer-right-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.decorative-list{gap:32px;transition:opacity var(--duration-normal) var(--ease-calm)}.decorative-card,.decorative-list{display:flex;flex-direction:column}.decorative-card{background-color:var(--color-card-bg);border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 2px 10px var(--color-shadow);border:1px solid var(--color-border)}.decorative-image-container{position:relative;width:100%;aspect-ratio:16/10;background-color:#f3f1ec;overflow:hidden}.decorative-image{width:100%;height:100%;object-fit:cover}.badge-decorative-type{position:absolute;top:18px;left:18px;background-color:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-text-main);font-size:8.5px;font-weight:700;letter-spacing:.12em;padding:4px 12px;border-radius:20px;text-transform:uppercase;border:1px solid rgba(0,0,0,.04);box-shadow:0 2px 6px rgba(0,0,0,.02);z-index:2}.decorative-info{padding:28px}.decorative-meta-header{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.decorative-title-row{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}.decorative-title{font-size:18px;font-weight:700;letter-spacing:-.01em;line-height:1.4;margin:0}.decorative-english-title{font-size:10px;letter-spacing:.15em;color:var(--color-text-muted);text-transform:uppercase;font-family:Outfit,sans-serif;margin-top:-2px}.decorative-price{font-family:Outfit,sans-serif;font-size:18px;font-weight:700;color:var(--color-text-main)}.decorative-desc{font-size:12.5px;color:var(--color-text-muted);margin-bottom:20px;line-height:1.6}.decorative-variants-container{border-top:1px dashed var(--color-border);padding-top:16px;margin-top:16px}.decorative-variants-title{font-size:11px;font-weight:700;color:var(--color-text-muted);margin-bottom:10px;letter-spacing:.05em}.decorative-variants-list{display:flex;flex-direction:column;gap:8px}.decorative-variant-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:12px;border-bottom:1px solid rgba(0,0,0,.02)}.decorative-variant-item:last-child{border-bottom:none;padding-bottom:0}.decorative-variant-name{font-weight:500}.decorative-variant-price{font-family:Outfit,sans-serif;font-weight:700}@media (min-width:768px){.site-header{padding:0 40px;height:80px}.site-logo-img{height:48px}.nav-desktop{display:flex;align-items:center;gap:16px}.nav-desktop-item{text-decoration:none;color:#333333;font-size:11px;font-weight:500;letter-spacing:.05em;transition:color .2s ease}.nav-desktop-item:hover{color:#a4b082}.nav-desktop-social-link{display:flex;align-items:center;color:#333333;margin-left:4px;transition:color .2s ease}.nav-desktop-social-link svg{width:14px;height:14px}.nav-desktop-social-link:hover{color:#a4b082}.header-desktop-actions{display:flex;align-items:center;gap:12px}.header-btn-line{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:4px;background-color:#a4b082;color:#ffffff;transition:opacity .2s ease}.header-btn-line svg{width:20px;height:20px}.header-btn-line:hover{opacity:.85}.header-btn-contact{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border:1px solid #111111;background-color:#ffffff;color:#111111;font-family:Outfit,sans-serif;font-size:11px;font-weight:700;letter-spacing:.1em;text-decoration:none;transition:all .2s ease}.header-btn-contact:hover{background-color:#111111;color:#ffffff}.catalog-wrapper{padding-top:80px;padding-bottom:0}.mobile-bottom-bar{display:none}.footer-grid{flex-direction:row;min-height:520px}.footer-left{flex:1;padding:80px 60px 80px 80px}.footer-right{flex:1.2;min-height:auto}.decorative-list{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}}@media (min-width:1024px){.nav-desktop{gap:22px}}.decorative-image-slider{width:100%;display:flex;flex-direction:column}.decorative-slider-main{position:relative;width:100%;aspect-ratio:16/10;background-color:#f3f1ec;overflow:hidden}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);background-color:rgba(255,255,255,.75);border:1px solid rgba(0,0,0,.05);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;transition:all .2s ease;outline:none}.slider-arrow:hover{background-color:rgba(255,255,255,.95);box-shadow:0 2px 8px rgba(0,0,0,.1)}.slider-arrow svg{width:14px;height:14px;color:#111111}.slider-arrow-left{left:12px}.slider-arrow-right{right:12px}.decorative-slider-thumbnails{display:flex;gap:6px;padding:10px 16px;background-color:#ffffff;border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none}.decorative-slider-thumbnails::-webkit-scrollbar{display:none}.slider-thumb-btn{background:none;border:2px solid transparent;padding:0;cursor:pointer;border-radius:4px;overflow:hidden;width:48px;height:32px;flex-shrink:0;transition:border-color var(--duration-fast) var(--ease-calm);outline:none}.slider-thumb-btn.active{border-color:var(--color-text-main)}.slider-thumb-img{width:100%;height:100%;object-fit:cover}