*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#f4845f;--primary-dark:#d9663e;--secondary:#fff8f5;--accent:#e8531a;--text:#333;--text-light:#888;--bg:#fff;--bg-sub:#fff9f6;--border:#fce0d4;--radius:8px;--shadow:0 2px 12px #00000014;--max-width:1200px}html{scroll-behavior:smooth;font-size:16px}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.header{background:var(--bg);border-bottom:1px solid var(--border);z-index:100;position:sticky;top:0}.header-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;gap:24px;height:64px;margin:0 auto;padding:0 24px;display:flex}.header-logo{letter-spacing:.05em;color:var(--accent);white-space:nowrap;font-size:1.25rem;font-weight:700}.header-nav{align-items:center;gap:32px;display:flex}.header-nav a{color:var(--text);white-space:nowrap;font-size:.875rem;transition:color .2s}.header-nav a:hover{color:var(--primary-dark)}.footer{background:var(--accent);color:#fff;margin-top:80px;padding:48px 0 24px}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px}.footer-top{grid-template-columns:1fr 1fr 1fr;gap:40px;margin-bottom:40px;display:grid}.footer-brand h2{letter-spacing:.05em;margin-bottom:8px;font-size:1.25rem;font-weight:700}.footer-brand p{opacity:.8;font-size:.8rem;line-height:1.6}.footer-links h3,.footer-info h3{letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin-bottom:16px;font-size:.8rem;font-weight:700}.footer-links ul{flex-direction:column;gap:10px;display:flex}.footer-links a{opacity:.85;font-size:.875rem;transition:opacity .2s}.footer-links a:hover{opacity:1}.footer-info p{opacity:.8;font-size:.8rem;line-height:1.8}.footer-bottom{text-align:center;opacity:.6;border-top:1px solid #fff3;padding-top:24px;font-size:.75rem}.btn{border-radius:var(--radius);cursor:pointer;text-align:center;border:none;padding:12px 32px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-block}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-outline{color:var(--accent);border:2px solid var(--accent);background:0 0}.btn-outline:hover,.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{opacity:.85}.section{padding:72px 0}.section-title{text-align:center;color:var(--accent);margin-bottom:8px;font-size:1.75rem;font-weight:700}.section-sub{text-align:center;color:var(--text-light);margin-bottom:48px;font-size:.875rem}.product-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.product-card{border-radius:var(--radius);background:var(--bg);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;overflow:hidden}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.product-card-img{aspect-ratio:3/4;object-fit:cover;width:100%}.product-card-body{padding:16px}.product-card-category{color:var(--text-light);margin-bottom:4px;font-size:.75rem}.product-card-name{margin-bottom:8px;font-size:.95rem;font-weight:600}.product-card-price{color:var(--accent);font-size:1.1rem;font-weight:700}.badge-new{background:var(--primary);color:#fff;vertical-align:middle;border-radius:4px;margin-left:8px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-block}.hero{background:var(--bg-sub);text-align:center;padding:80px 0}.hero-label{letter-spacing:.15em;color:var(--primary);text-transform:uppercase;margin-bottom:16px;font-size:.8rem;font-weight:700}.hero-title{color:var(--accent);margin-bottom:20px;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.3}.hero-desc{color:var(--text-light);max-width:480px;margin:0 auto 36px;font-size:1rem;line-height:1.8}.page-header{background:var(--bg-sub);text-align:center;border-bottom:1px solid var(--border);padding:48px 0}.page-header h1{color:var(--accent);margin-bottom:8px;font-size:1.75rem;font-weight:700}.page-header p{color:var(--text-light);font-size:.875rem}.form-group{margin-bottom:20px}.form-label{color:var(--text);margin-bottom:6px;font-size:.875rem;font-weight:600;display:block}.form-label .required{color:#e05252;margin-left:4px;font-size:.75rem}.form-input,.form-select,.form-textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);background:var(--bg);padding:10px 14px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);outline:none}.form-textarea{resize:vertical;min-height:120px}.info-table{border-collapse:collapse;width:100%;font-size:.9rem}.info-table th,.info-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:14px 16px}.info-table th{background:var(--bg-sub);width:200px;color:var(--accent);white-space:nowrap;font-weight:600}.bank-box{background:var(--bg-sub);border:2px solid var(--primary);border-radius:var(--radius);margin:32px 0;padding:32px}.bank-box h3{color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:12px;font-size:1.1rem;font-weight:700}.bank-row{border-bottom:1px solid var(--border);gap:16px;padding:10px 0;font-size:.9rem;display:flex}.bank-row:last-child{border-bottom:none}.bank-row dt{width:120px;color:var(--text-light);flex-shrink:0}.bank-row dd{font-weight:600}.alert{border-radius:var(--radius);margin-bottom:20px;padding:16px 20px;font-size:.875rem}.alert-info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.breadcrumb{color:var(--text-light);align-items:center;gap:8px;padding:16px 0;font-size:.8rem;display:flex}.breadcrumb a{color:var(--text-light);transition:color .2s}.breadcrumb a:hover{color:var(--primary-dark)}.breadcrumb span{color:var(--border)}@media (max-width:768px){.product-grid{grid-template-columns:repeat(2,1fr);gap:16px}.footer-top{grid-template-columns:1fr;gap:32px}.header-nav{display:none}.hero,.section{padding:48px 0}.info-table th{width:120px}}@media (max-width:480px){.product-grid{grid-template-columns:1fr}}
