@font-face{font-family:ClosepaSerif;src:url('/fonts/serif.ttf') format('truetype');font-display:swap;font-weight:500;font-style:normal}
@font-face{font-family:ClosepaSerif;src:url('/fonts/serif-italic.ttf') format('truetype');font-display:swap;font-weight:500;font-style:italic}
:root{color-scheme:dark;--bg:#10100f;--panel:#151513;--gold:#d8b963;--text:#f4f1e7;--muted:#b4b1a8;--border:#414034;--serif:ClosepaSerif,Georgia,'Times New Roman',serif;--sans:Arial,'Yu Gothic','Meiryo',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 var(--sans)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #f4d67e;outline-offset:4px}button{border:1px solid var(--border);border-radius:5px;background:transparent;color:var(--text);padding:10px 16px}button:hover:not(:disabled),a.outline:hover{border-color:var(--gold);background:#d8b9630a}input,textarea,select{width:100%;border:1px solid #61563b;border-radius:4px;padding:12px 14px;background:#0e0e0d;color:var(--text)}input::placeholder{color:#a5a298}input[type=checkbox]{accent-color:var(--gold);width:20px;height:20px;flex-shrink:0;padding:0}textarea{resize:vertical;min-height:75px}h1,h2,h3,p{margin:0}small{font-size:11px;color:var(--muted)}.gold{color:var(--gold)}.muted{color:var(--muted)}.micro{font-size:10px;letter-spacing:2.4px;text-transform:uppercase}.en{display:block}.ja{display:block;font-family:var(--sans);font-size:12px;line-height:1.55;color:var(--muted);font-weight:400;letter-spacing:.025em;margin-top:3px}.bilingual-button .ja{font-size:10px}.gold-button{background:linear-gradient(110deg,#c3a045,#e3ca80 60%,#cfac58);border-color:var(--gold);color:#15110a;font-weight:600}.gold-button .ja{color:#302611}.gold-button:hover:not(:disabled){background:linear-gradient(110deg,#d4b158,#efdaa0)}.outline{border:1px solid var(--gold);border-radius:4px;padding:7px 15px;text-align:center}.layout{max-width:1540px;margin:auto;padding:28px 42px 18px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:20px}.wordmark{letter-spacing:5px;font-weight:500}.status-dot{display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin:0 16px 1px 12px}.top-links{display:flex;gap:18px;align-items:center;font-size:11px;color:var(--muted)}.top-links button{padding:3px 8px}.split{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);gap:52px}.brand{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:0 10px 20px 2px;min-width:0}.brand:before{content:'';position:absolute;pointer-events:none;left:-240px;top:-270px;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle at 65% 70%,transparent 53%,#d2ac4721 54%,transparent 72%);z-index:-1}.brand-logo{display:block;width:min(100%,450px);height:auto;align-self:center;mix-blend-mode:screen;margin:-15px 0 -32px}.hero-title{font:clamp(40px,4.4vw,69px)/1.07 var(--serif);letter-spacing:-1.9px;max-width:620px}.hero-title em{display:block;color:#e4c878;font-weight:400}.hero-desc{font-size:17px;line-height:1.6;max-width:430px;margin-top:28px;white-space:pre-line}.steps{margin-top:auto;padding-top:72px;display:flex;align-items:center;gap:17px;flex-wrap:wrap;font-size:9px;letter-spacing:2px}.steps strong{font:24px var(--serif);color:var(--gold);letter-spacing:0;margin-right:8px}.steps i{font-style:normal;color:#83744b}.form-card{border:1px solid #a99150;border-radius:10px;background:linear-gradient(130deg,#171714,#111210);padding:30px 32px;box-shadow:0 12px 55px #0002;min-width:0}.card-title{font:clamp(28px,2.7vw,42px)/1.2 var(--serif);letter-spacing:-.6px}.card-title .ja{font-size:17px;margin-top:6px;color:#e5e0d1}.card-heading{display:flex;justify-content:space-between;gap:15px;align-items:start}.card-heading .micro{font-size:9px;white-space:nowrap;padding-top:9px}.section{border-top:1px solid #8b773f;margin-top:24px;padding-top:21px}.section-head{display:flex;align-items:start;gap:15px;margin-bottom:17px}.section-number{font:25px/1.1 var(--serif);color:#e2c773;min-width:28px}.section-head h2{font:22px/1.18 var(--serif)}.section-head .meta{margin-left:auto;font-size:10px;white-space:nowrap;color:var(--muted);padding-top:4px}.wide{width:100%}.login-button{display:flex;justify-content:center;gap:14px;align-items:center;border-color:var(--gold);padding:10px}.x-mark{font:25px Arial}.hint{font-size:12px;color:var(--muted);margin:-3px 0 9px 43px}.hint .ja{font-size:11px}.tasks{display:flex;flex-direction:column}.task{display:flex;align-items:center;gap:14px;border-bottom:1px solid #36362f;padding:13px 0}.task:last-child{border-bottom:0;padding-bottom:1px}.task label{display:flex;align-items:center;gap:15px;cursor:pointer;flex:1;min-width:0}.task-copy{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.task-copy .ja{font-size:11px}.task a{min-width:85px;font-size:10px;letter-spacing:1.8px;padding:5px 9px}.task a .ja{font-size:9px;letter-spacing:1px;margin:0}.task input:checked+span .en{color:var(--gold)}.not-set{font-size:10px;color:#dbac76;white-space:nowrap}.help{font-size:11px;margin:11px 0 0;color:var(--muted);text-align:center}.help .ja{font-size:10px}.consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0;font-size:11px;color:var(--muted)}.consent .ja{font-size:10px}.consent input{width:16px;height:16px;margin-top:3px}.submit{padding:12px 20px;font:22px var(--serif)}.submit .ja{font-size:11px}.footer{border-top:1px solid #ac9452;display:flex;justify-content:space-between;margin-top:30px;padding-top:15px;color:var(--muted);font-size:9px;letter-spacing:2px}.banner{padding:12px 16px;margin-bottom:18px;background:#d1ae4c12;border:1px solid #887341;border-radius:5px;color:#e1ca89;font-size:12px}.banner a{text-decoration:underline}.banner.error,.error{color:#ffbdad;border-color:#a05849}.message{padding:10px 0;font-size:12px}.success{padding:32px 0}.success-icon{font:35px var(--serif);display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;width:62px;height:62px;color:var(--gold);margin-bottom:22px}.success h2{font:32px var(--serif)}.receipt{padding:18px;border:1px solid var(--border);margin-top:25px;border-radius:5px;overflow-wrap:anywhere;font-size:12px}.receipt div{margin:8px 0}.loading{display:grid;place-items:center;gap:15px;min-height:80vh;letter-spacing:6px;color:var(--gold)}.loading span{font-size:12px;letter-spacing:1px;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:13px 22px;border:1px solid var(--gold);background:#1e1d18;border-radius:6px;box-shadow:0 5px 30px #0008;max-width:90vw;z-index:100;display:none}#toast.show{display:block}.empty{max-width:600px;margin:100px auto;text-align:center;padding:30px}.empty h1{font:38px var(--serif);margin-bottom:20px}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;margin:40px 0}.campaign-tile{display:block;padding:30px;border:1px solid var(--border);border-radius:8px}.campaign-tile:hover{border-color:var(--gold)}.campaign-tile h2{font:28px var(--serif);margin:12px 0}.campaign-tile .micro{color:var(--gold)}
/* Administrator */
.admin-layout{max-width:1400px;margin:auto;padding:28px 32px}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:28px}.admin-title h1{font:34px var(--serif)}.admin-title p{color:var(--muted);font-size:12px;margin-top:5px}.admin-shell{display:grid;grid-template-columns:265px minmax(0,1fr);gap:25px}.sidebar{border:1px solid var(--border);border-radius:8px;padding:15px;align-self:start;position:sticky;top:20px}.sidebar>button{width:100%;margin-bottom:15px}.campaign-select{display:block;width:100%;padding:15px 12px;text-align:left;margin:6px 0;border:1px solid transparent}.campaign-select.active{border-color:#8a7540;background:#d8b96309}.campaign-select span{display:block;font-size:12px;color:var(--muted)}.admin-main{min-width:0}.editor-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px;align-items:center}.editor-head h2{font:28px var(--serif)}.editor-head p{font-size:12px;color:var(--muted)}.toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:20px;gap:8px}.tabs button{border:0;border-radius:0;padding:12px 18px;color:var(--muted)}.tabs button.active{border-bottom:2px solid var(--gold);color:var(--gold)}.editor-block{background:#141411;border:1px solid var(--border);border-radius:7px;margin-bottom:18px;padding:22px}.editor-block h3{font-size:15px;margin-bottom:15px}.editor-block p.note{font-size:12px;color:var(--muted);margin-bottom:16px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:block;font-size:12px;color:#ded9c9;margin-bottom:14px}.field>input,.field>select,.field>textarea{display:block;margin-top:6px}.field small{display:block}.field-grid .field{margin-bottom:0}.copy-row{margin-top:18px;padding-top:17px;border-top:1px solid #303028}.copy-row>label{display:block;color:#ddc889;font-size:12px;margin-bottom:8px}.copy-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.copy-pair small{display:block;margin-bottom:4px}.copy-pair textarea{font-size:13px;min-height:72px}.task-editor{border:1px solid #484335;margin:13px 0;padding:18px;border-radius:5px}.task-editor .field-grid{margin:13px 0}.task-editor-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.check-label{display:inline-flex;align-items:center;gap:7px;font-size:12px;margin-right:12px}.task-order button{font-size:12px;padding:5px 9px}.savebar{position:sticky;bottom:12px;padding:12px 18px;background:#202019f5;backdrop-filter:blur(10px);border:1px solid #88743e;border-radius:7px;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 4px 25px #0005}.savebar span{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:6px}table{border-collapse:collapse;width:100%;font-size:12px}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);max-width:270px;overflow-wrap:anywhere}th{color:var(--gold);background:#191912;white-space:nowrap}td.addr{font-family:monospace;min-width:200px}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.stats{display:flex;gap:24px;align-items:center;margin-bottom:22px}.stats strong{font:40px var(--serif);color:var(--gold)}.setup-box{max-width:620px;margin:60px auto;border:1px solid var(--border);padding:30px;border-radius:8px}.setup-box h1{font:30px var(--serif);margin-bottom:18px}.setup-box p{font-size:13px;color:var(--muted);margin:15px 0}.local-tag{border:1px solid #8c7742;color:#dbc278;padding:4px 8px;border-radius:3px;font-size:10px;letter-spacing:1px}.text-link{text-decoration:underline;text-underline-offset:3px;color:var(--gold)}.right{margin-left:auto}.hidden{display:none!important}
.copy-row summary{cursor:pointer;color:#ddc889;font-size:13px;padding:3px 0 12px}.copy-row summary small{display:inline;margin-left:12px;color:#9d9a8e;font-size:11px}.copy-row[open] summary{padding-bottom:18px}
@media(min-width:1450px){.brand-logo{width:490px;margin-top:0}.hero-title{font-size:73px}.form-card{padding:35px 38px}.task{padding:15px 0}.hero-desc{font-size:19px}}
@media(max-width:1050px){.layout{padding:24px}.split{gap:28px;grid-template-columns:.8fr 1.2fr}.form-card{padding:25px}.hero-title{font-size:46px}.brand-logo{margin-top:35px;margin-bottom:8px}.hero-desc{font-size:15px}.steps{gap:10px;letter-spacing:1px}.top-links>.micro{display:none}.admin-shell{grid-template-columns:210px 1fr}}
@media(max-width:760px){.layout{padding:20px 17px}.topbar{margin-bottom:10px}.wordmark{font-size:11px;letter-spacing:3px}.topbar .micro{font-size:8px;letter-spacing:1px}.status-dot{margin:0 7px}.top-links{gap:8px}.split{grid-template-columns:1fr;gap:26px}.brand{padding:0 8px 3px;align-items:center;text-align:center}.brand-logo{width:240px;margin:-25px 0 -27px}.hero-title{font-size:43px;letter-spacing:-1.2px}.hero-title em{display:inline}.hero-desc{font-size:13px;line-height:1.6;margin-top:15px;max-width:330px}.steps{display:none}.form-card{padding:24px 20px}.card-title{font-size:30px}.card-title .ja{font-size:14px}.card-heading .micro{display:none}.section{margin-top:23px;padding-top:20px}.section-head{gap:12px;margin-bottom:16px}.section-head h2{font-size:21px}.section-head .meta{font-size:8px}.hint{margin-left:0;font-size:11px}.hint .ja{font-size:10px}.task{gap:8px;padding:14px 0}.task label{gap:11px}.task-copy{font-size:12px}.task-copy .ja{font-size:10px}.task a{min-width:62px;padding:6px;font-size:9px}.task input{width:18px;height:18px}.task .not-set{font-size:8px;max-width:55px;white-space:normal}.section-number{font-size:24px;min-width:25px}.submit{font-size:22px}.footer{font-size:8px;letter-spacing:1px}.hero-title em:before{content:' '}.admin-layout{padding:20px 15px}.admin-top{align-items:start}.admin-title h1{font-size:26px}.admin-shell{grid-template-columns:1fr;gap:18px}.sidebar{position:static;display:flex;overflow:auto;align-items:center;gap:8px;padding:10px}.sidebar>button{width:auto;min-width:120px;margin:0}.campaign-select{min-width:200px}.field-grid,.copy-pair{grid-template-columns:1fr}.editor-head{align-items:start;flex-wrap:wrap}.editor-block{padding:16px}.task-editor{padding:12px}.task-editor-top{align-items:start;flex-wrap:wrap}.savebar{padding:10px}.savebar span{font-size:10px}.savebar button{padding:9px 13px}.tabs button{padding:10px 12px}.top-links button{font-size:10px}.setup-box{margin:25px 10px;padding:22px}}

.coffee-promotion{margin:48px auto 0;padding:30px 20px;text-align:center;border-top:1px solid var(--border);max-width:680px}.coffee-brand{font:30px var(--serif);color:var(--gold);margin:0 0 8px}.coffee-offer{font-size:15px;margin:0 0 20px}.coffee-button{display:block;max-width:400px;margin:auto;padding:15px 20px;border-radius:5px;text-align:center;font-weight:600}.coffee-button:hover{filter:brightness(1.08)}

.coffee-promotion{max-width:800px;padding:28px 0 0}.coffee-banner{display:block;overflow:hidden;border-radius:8px}.coffee-banner img{display:block;width:100%;height:auto}.coffee-banner:hover{filter:brightness(1.03)}
