/* 440showroom.tokyo の実測値に合わせる（色 #333、字間 0.35px、見出し EB Garamond、角なし枠線ボタン） */
:root{--ink:#333;--sub:#777;--line:#e5e5e5;--soft:#f6f5f3;--dis:#c9c9c9;--red:#a6473b;--blue:#3b5a9a}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans JP","Noto Sans Japanese",sans-serif;font-size:14px;letter-spacing:.35px;line-height:1.8;-webkit-font-smoothing:antialiased}
a{color:inherit}
.en{font-family:"EB Garamond",serif;font-weight:400}

/* ヘッダー：本サイトと同じロゴ中央・下線 */
header.site{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--line);height:64px;display:flex;align-items:center;justify-content:center}
header.site img{width:100px;height:auto;display:block}
header.site .back{position:absolute;left:16px;font-size:12px;text-decoration:none;color:var(--sub)}

/* ヒーロー：本サイトと同じ写真と Appointment 見出し */
.hero{position:relative;background:#222 url("https://440showroom.tokyo/cdn/shop/files/7CR01000.jpg?v=1767083249&width=1400") center/cover;color:#fff}
.hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45)}
.hero .in{position:relative;max-width:720px;margin:0 auto;padding:36px 20px 32px}
.hero h1{font-family:"EB Garamond",serif;font-weight:400;font-size:30px;letter-spacing:.75px;margin:0 0 6px;line-height:1.2}
.hero p{margin:0;font-size:14px}

main{max-width:720px;margin:0 auto;padding:28px 20px 72px}

/* 進行表示 */
.steps{display:flex;gap:0;margin:0 0 30px;border-bottom:1px solid var(--line)}
.steps span{flex:1;text-align:center;padding:0 0 10px;font-size:11px;color:var(--dis);position:relative}
.steps span b{display:block;font-family:"EB Garamond",serif;font-weight:400;font-size:15px;letter-spacing:.5px}
.steps span.on{color:var(--ink)}
.steps span.cur::after{content:"";position:absolute;left:20%;right:20%;bottom:-1px;height:1px;background:var(--ink)}

/* 見出し：英語（Garamond 22px）＋日本語の2段 */
.sh{margin:0 0 22px}
.sh h2{font-family:"EB Garamond",serif;font-weight:400;font-size:22px;letter-spacing:.55px;line-height:1.2;margin:0 0 4px}
.sh p{margin:0}

/* メニュー一覧：本サイトと同じ並び（英見出し・日本語・Select 下線） */
.menu{list-style:none;margin:0;padding:0}
.menu li{border-top:1px solid var(--line)}
.menu li:last-child{border-bottom:1px solid var(--line)}
.menu button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:block;padding:20px 0}
.menu .t{font-family:"EB Garamond",serif;font-size:20px;letter-spacing:.5px;line-height:1.2;display:block;margin-bottom:6px}
.menu .j{display:block}
.menu .sel{display:inline-block;margin-top:6px;font-size:12.25px;padding-bottom:2px;background:linear-gradient(#333,#333) left bottom/100% 1px no-repeat;transition:background-size .3s}
.menu button:hover .sel,.menu button:focus-visible .sel{background-size:50% 1px}

/* 選択中の表示 */
.picked{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;background:var(--soft);padding:14px 16px;margin:0 0 28px;font-size:13px}
.picked .t{font-family:"EB Garamond",serif;font-size:16px;display:block;line-height:1.3}
.picked a{font-size:12px;white-space:nowrap;cursor:pointer;padding-bottom:2px;background:linear-gradient(#333,#333) left bottom/100% 1px no-repeat;text-decoration:none}

/* カレンダー */
.cal-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px}
.cal-head b{font-family:"EB Garamond",serif;font-weight:400;font-size:20px;letter-spacing:.5px}
.cal-head b small{font-family:"Noto Sans JP",sans-serif;font-size:12px;color:var(--sub);margin-left:8px}
.cal-head button{all:unset;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;font-size:18px}
.cal-head button[disabled]{color:var(--dis);cursor:default}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.cal .dow{font-size:11px;color:var(--sub);padding:4px 0 8px}
.cal .dow.sun,.cal .d.sun{color:var(--red)}.cal .dow.sat,.cal .d.sat{color:var(--blue)}
.cal .d{all:unset;cursor:pointer;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:"EB Garamond",serif;font-size:18px;line-height:1;border:1px solid transparent}
.cal .d i{font-style:normal;font-family:"Noto Sans JP",sans-serif;font-size:9px;margin-top:4px;color:var(--sub);height:9px}
.cal .d:hover:not([disabled]){border-color:var(--ink)}
.cal .d[disabled]{color:var(--dis)!important;cursor:default}
.cal .d.sel{background:var(--ink);color:#fff!important}.cal .d.sel i{color:#fff}
.legend{font-size:12px;color:var(--sub);margin:12px 0 0}

.times{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.times h3{font-weight:400;font-size:14px;margin:0 0 14px}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.tgrid button{all:unset;cursor:pointer;text-align:center;border:1px solid var(--ink);padding:10px 0;font-family:"EB Garamond",serif;font-size:17px;letter-spacing:.5px}
.tgrid button:hover{background:var(--soft)}
.tgrid button.sel{background:var(--ink);color:#fff}

/* ボタン：本サイトの btn--outline と同じ寸法（13px・字間.975px・角なし） */
.btn{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;text-align:center;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:14px 22px;font-size:13px;letter-spacing:.975px;margin-top:28px}
.btn:hover{background:#000}
.btn[disabled]{background:#fff;color:var(--dis);border-color:var(--dis);cursor:default}
.btn.outline{background:#fff;color:var(--ink);margin-top:10px}
.btn.outline:hover{background:var(--soft)}

/* フォーム */
form{display:grid;gap:20px}
label{display:block;font-size:13px}
label .req,label .opt,.lbl .opt{font-size:10px;margin-left:8px;padding:1px 6px;border:1px solid currentColor;vertical-align:1px}
label .req{color:var(--red)}label .opt,.lbl .opt{color:var(--sub)}
input,textarea,select{width:100%;margin-top:6px;padding:12px;border:1px solid #cfcfcf;border-radius:0;font:inherit;font-size:16px;letter-spacing:.35px;background:#fff;color:var(--ink);-webkit-appearance:none;appearance:none}
select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23333'/%3E%3C/svg%3E") right 14px center no-repeat}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--ink)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:13px}
.agree input{width:18px;height:18px;margin:3px 0 0;flex:none;-webkit-appearance:auto;appearance:auto;accent-color:#333}
.photos .lbl{font-size:13px}
.photos .hint{font-size:12px;color:var(--sub);margin:2px 0 8px}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.pgrid .ph{position:relative;aspect-ratio:1;background:var(--soft) center/cover no-repeat;border:1px solid var(--line)}
.pgrid .ph button{all:unset;cursor:pointer;position:absolute;top:4px;right:4px;width:22px;height:22px;display:grid;place-items:center;background:rgba(255,255,255,.92);border:1px solid var(--line);font-size:13px;line-height:1}
.pgrid .add{all:unset;box-sizing:border-box;cursor:pointer;aspect-ratio:1;border:1px dashed #aaa;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;color:var(--sub);text-align:center;line-height:1.5}
.pgrid .add b{font-weight:400;font-size:24px;line-height:1;color:var(--ink)}
.pgrid .add:hover{border-color:var(--ink)}
.pgrid.mini{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:260px}
.menu .d{display:block;font-size:12.5px;color:var(--sub);line-height:1.8;margin-top:6px}
.notice{margin-top:36px;background:var(--soft);padding:20px;font-size:12.5px;line-height:1.9}
.notice h3{font-family:"EB Garamond","Noto Sans JP",serif;font-weight:400;font-size:18px;margin:0 0 6px}
.notice h4{font-size:13px;font-weight:500;margin:14px 0 2px}
.notice p{margin:0}
.sec{border-top:1px solid var(--line);padding-top:22px;margin-top:6px}
.sec h3{font-weight:500;font-size:15px;margin:0 0 6px}
.sec p{margin:0;font-size:12.5px;color:var(--sub)}
label .hint{display:block;font-size:12px;color:var(--sub);margin-top:2px}
fieldset{border:0;margin:0;padding:0;min-width:0}
legend{font-size:13px;padding:0;margin-bottom:8px}
legend .opt{font-size:10px;margin-left:8px;padding:1px 6px;border:1px solid currentColor;color:var(--sub);vertical-align:1px}
.checks{display:grid;gap:0;border-top:1px solid var(--line)}
.chk{display:flex;gap:12px;align-items:center;padding:11px 2px;border-bottom:1px solid var(--line);font-size:13.5px;cursor:pointer}
.chk input{width:18px;height:18px;margin:0;flex:none;-webkit-appearance:auto;appearance:auto;accent-color:#333}
.exnote{border:1px solid var(--ink);padding:14px 16px;margin:0 0 18px;font-size:13px;line-height:1.8}
.exnote b{font-family:"EB Garamond","Noto Sans JP",serif;font-weight:400;font-size:18px}
.menu li.ex{border-top:1px solid var(--ink)}
.err{color:var(--red);font-size:12px;margin:0;min-height:1em}

/* 確認 */
.conf{margin:0 0 8px;border-top:1px solid var(--line)}
.conf>div{display:grid;grid-template-columns:7em 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.conf dt{color:var(--sub);font-size:12px;padding-top:2px}.conf dd{margin:0;min-width:0}
.note{font-size:12px;color:var(--sub);background:var(--soft);padding:14px 16px;margin:20px 0 0;line-height:1.9}

/* 完了 */
.done{text-align:center;padding:24px 0}
.done .ty{font-family:"EB Garamond",serif;font-size:34px;letter-spacing:.8px;margin:0 0 6px;line-height:1.2}
.done .when{font-family:"EB Garamond",serif;font-size:20px;margin:24px 0 4px}
.access{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;text-align:left}
.access h3{font-family:"EB Garamond",serif;font-weight:400;font-size:20px;margin:0 0 8px}

.proto{position:fixed;left:0;right:0;bottom:0;background:#fff8d6;border-top:1px solid #e8d98a;font-size:11px;text-align:center;padding:5px 8px;color:#6b5a00;z-index:9}
.ts{margin:18px 0 0;min-height:65px}
#mailhint{color:var(--red)}#mailhint a{color:inherit}
.proto[hidden]{display:none}
body.has-proto{padding-bottom:44px}
.times,.sh,.photos{scroll-margin-top:80px}
