*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:#f6f5f1;color:#252622;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.8}header{max-width:1280px;margin:auto;padding:26px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #deded6}a{color:inherit;text-decoration:none}.brand{font-family:Georgia,serif;font-size:29px;letter-spacing:3px;line-height:1.2}.brand small{font-family:serif;font-size:13px;letter-spacing:1px}.brand span{display:block;font:11px sans-serif;letter-spacing:2px;margin-top:10px}.nav{font-size:12px}main{max-width:1160px;margin:auto;padding:0 28px}.hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;padding:70px 0 50px}.hero img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#e4e1da}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#78705a;font-weight:bold;margin:0 0 20px}h1{font-family:"Yu Mincho","Noto Serif JP",serif;font-size:clamp(30px,3.4vw,46px);line-height:1.65;letter-spacing:3px;font-weight:500;margin:0 0 22px}.intro{color:#65665e;font-size:13px;line-height:2.2;margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;background:#252722;color:#fff;border:1px solid #252722;padding:16px 25px;font:inherit;font-size:14px;cursor:pointer;min-height:52px}.button:hover{background:#41433b}.button:disabled{opacity:.5;cursor:wait}.guides{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d4d4cb;border-bottom:1px solid #d4d4cb;padding:25px 0}.guides>div{padding:0 24px;border-right:1px solid #d4d4cb}.guides>div:first-child{padding-left:0}.guides>div:last-child{border:0}.guides small{display:block;font-size:9px;letter-spacing:2px;color:#898472}.guides strong{font-weight:500;font-size:16px}.consult{font-size:12px;color:#73746b;margin:15px 0 55px}.steps{padding:0;display:flex;list-style:none;border-bottom:1px solid #ddd;gap:28px;font-size:12px;margin-bottom:55px;color:#8d8e84}.steps li{padding:12px 0}.steps .active{color:#292b25;border-bottom:2px solid #292b25}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:30px;gap:16px}.section-title p{font-size:12px;color:#75766e}.section-title .eyebrow{font-size:10px;margin-bottom:8px}h2{font-family:"Yu Mincho",serif;font-size:27px;font-weight:500;letter-spacing:2px;margin:0 0 24px}.section-title h2{margin:0}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 25px}.product img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#eae7e0;display:block}.product h3{font-size:15px;font-weight:500;line-height:1.65;margin:18px 0 8px;min-height:50px}.price{font-family:Georgia,serif;font-size:21px}.price small{font:10px sans-serif;color:#777;margin-left:8px}.quantity-row{display:flex;justify-content:space-between;align-items:center;margin:14px 0 0;padding-top:15px;border-top:1px solid #dadbd1;gap:8px}.quantity{display:flex;align-items:center;border:1px solid #c7c9bf}.quantity button{border:0;width:42px;height:44px;background:transparent;font-size:20px;cursor:pointer}.quantity input{border:0!important;width:46px!important;text-align:center;padding:6px!important;background:transparent!important;-moz-appearance:textfield}.quantity input::-webkit-inner-spin-button{appearance:none}.subtotal{font-size:12px;color:#62645c}.form-section{border-top:1px solid #d5d7cd;margin-top:60px;padding-top:40px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:22px 30px;margin-top:25px}.field label{display:block;font-size:13px;margin-bottom:8px}.required{font-size:10px;color:#7b725b;border:1px solid #d5cdbb;padding:2px 5px;margin-left:8px}.optional{font-size:10px;color:#92948a;margin-left:8px}input:not([type=radio]),select,textarea{font:inherit;width:100%;border:1px solid #cacdc2;background:#fff;border-radius:0;padding:13px;color:#292c24;min-height:48px}input:focus,textarea:focus,select:focus,button:focus-visible,a:focus-visible{outline:2px solid #8d7d59;outline-offset:3px}[aria-invalid=true]{border-color:#a63128!important}textarea{resize:vertical}.secondary{background:transparent;color:#373a30;border:1px solid #aeb1a4;padding:13px 20px;min-height:48px;font:inherit;font-size:13px;cursor:pointer}.muted{color:#74786b;font-size:12px}.payment{display:flex;gap:20px}.payment label{padding:14px 24px;background:#fff;border:1px solid #d0d3c8;flex:1;cursor:pointer}.payment input{accent-color:#30362a;width:18px;height:18px;vertical-align:middle}.closing{margin:50px auto;text-align:center;max-width:800px}.notice{font-size:13px;line-height:2;background:#ebece5;border-left:2px solid #95805a;padding:22px;text-align:left;margin:30px 0 15px}.closing .button{margin:22px 0;width:min(100%,450px)}.error{font-size:12px;color:#a12f22;margin:6px 0}.error:empty{display:none}.trap,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#basket{position:sticky;bottom:0;z-index:10;background:#252722;color:white;display:flex;align-items:center;justify-content:center;gap:50px;padding:17px 24px;box-shadow:0 -2px 12px #0001}#basket strong{display:block;font:27px Georgia,serif}#basket small{display:block;font-size:10px;color:#c2c5b8}#basket .button{background:#f3f3ed;color:#24271f;font-size:12px}footer{padding:35px 5%;background:#ededE6;font-family:Georgia,serif;letter-spacing:2px;font-size:20px}footer span{font:11px sans-serif;letter-spacing:1px;margin-left:20px}[hidden]{display:none!important}#review,#complete{padding-bottom:70px;min-height:50vh}.summary{border-top:1px solid #ccc;margin:20px 0 35px}.summary-item{display:grid;grid-template-columns:1fr auto;gap:20px;padding:15px 0;border-bottom:1px solid #dadbd1;font-size:13px}.summary-item span{white-space:pre-wrap;overflow-wrap:anywhere}.total-line{font-size:20px;font-weight:500}dl{display:grid;grid-template-columns:180px 1fr;gap:12px 25px;font-size:13px}dt{color:#777}dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.actions{display:flex;gap:20px;flex-wrap:wrap;margin-top:30px}.receipt{display:block;font-size:24px;letter-spacing:1px;overflow-wrap:anywhere}.admin{max-width:1100px;padding-top:35px}.admin-row{display:block;padding:18px;border-bottom:1px solid #ccc;background:white;cursor:pointer}.admin .fields{max-width:650px}.admin pre{white-space:pre-wrap}.admin #detail{padding:30px 0}#adminStatus{display:inline-block;margin-right:15px;width:auto}.admin h1{font-size:30px}.admin .actions{margin:20px 0}button,a,input,select{touch-action:manipulation}@media(max-width:760px){header{padding:20px}.brand{font-size:25px}.nav{font-size:10px}main{padding:0 20px}.hero{grid-template-columns:1fr;gap:25px;padding:38px 0 30px}.hero img{grid-row:2}.hero h1{font-size:32px}.hero .button{padding:12px 24px}.guides{grid-template-columns:1fr;padding:8px 0}.guides>div,.guides>div:first-child{padding:10px 0;border:0;display:flex;justify-content:space-between;align-items:center}.guides strong{font-size:13px}.consult{margin-bottom:25px}.steps{gap:16px;font-size:10px;margin-bottom:35px}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.product h3{font-size:13px;min-height:64px; margin-top:12px}.price{font-size:20px}.quantity-row{flex-wrap:wrap;margin-top:8px}.subtotal{width:100%;font-size:11px}.quantity{width:100%;justify-content:space-between}.quantity button{width:44px}.quantity input{width:40px!important;font-size:16px}.fields{grid-template-columns:1fr;gap:18px}input:not([type=radio]),textarea,select{font-size:16px}.form-section{margin-top:40px;padding-top:28px}.section-title{display:block}.section-title>p{margin-top:12px}h2{font-size:23px}.payment{gap:10px}.payment label{padding:12px}.notice{padding:17px}#basket{padding:12px 18px;gap:15px;justify-content:space-between}#basket strong{font-size:24px}#basket .button{padding:10px 14px;min-height:44px;gap:0}dl{grid-template-columns:1fr;gap:4px}dd{margin-bottom:12px}.actions>*{width:100%}.summary-item{font-size:12px}footer span{display:block;margin:8px 0}#complete h2{font-size:22px}.receipt{font-size:20px}}

@media(max-width:760px){.hero h1{font-size:clamp(25px,7vw,32px);letter-spacing:1px}}

.product img{height:auto}

.guides{margin-top:28px}.consult{margin-bottom:0}.hero{padding-top:40px}@media(min-width:761px) and (max-width:1000px){h1{font-size:25px;letter-spacing:1px}}
