
:root{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:#243c3a;background:#f5f8f5;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.wrap{max-width:1040px;margin:auto;padding:0 24px}.top{background:#fff;border-bottom:1px solid #dbe7e3}.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}.brand{display:flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:700;letter-spacing:.05em}.mark{display:grid;place-items:center;width:40px;height:40px;background:#2b7169;color:#fff;border-radius:13px;font-size:1.4rem}.mini{font-size:.79rem;font-weight:400;color:#647873;letter-spacing:0}.preview{background:#e8f2ee;color:#27635b;padding:12px 0;font-size:.88rem}.preview .wrap{display:flex;align-items:center;gap:9px}.pill{font-size:.75rem;font-weight:700;border-radius:99px;background:#287467;color:#fff;padding:4px 9px;white-space:nowrap}.nav{display:flex;gap:4px;background:#eef4f1;padding:4px;border-radius:12px}.nav button{border:0;background:transparent;color:#526d67;border-radius:9px;padding:10px 15px;font-weight:700}.nav button.active{background:#fff;color:#22665e;box-shadow:0 1px 5px #153b3017}.main{padding-top:40px;padding-bottom:70px}.eyebrow{font-size:.83rem;color:#287467;font-weight:700;letter-spacing:.08em;margin:0 0 9px}h1{font-size:clamp(1.65rem,4vw,2.35rem);line-height:1.4;margin:0 0 11px;letter-spacing:.02em}h2{font-size:1.25rem;margin:0 0 18px}p{line-height:1.7}.intro{color:#5c716c;margin:0 0 29px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card,.panel{background:#fff;border:1px solid #dbe7e3;border-radius:18px;box-shadow:0 8px 22px #2c63550b}.card{padding:23px;display:flex;flex-direction:column;min-height:290px}.day{font-weight:800;font-size:1.55rem;letter-spacing:.01em}.month{font-size:.82rem;color:#62817a;font-weight:700}.slotTitle{margin:15px 0 3px;font-weight:700;font-size:1.08rem}.meta{font-size:.89rem;color:#667d77;margin:0 0 19px}.seat{display:inline-flex;align-items:center;gap:6px;border-radius:8px;background:#e8f4ed;color:#23715d;padding:6px 10px;font-size:.88rem;font-weight:700;align-self:flex-start;margin-bottom:20px}.seat.full{background:#f2f2f0;color:#6a7771}.seat.paused{background:#fff1e5;color:#9a5a2c}.primary{border:0;background:#287467;color:#fff;padding:13px 17px;border-radius:10px;font-weight:700;min-height:48px}.primary:hover:not(:disabled){background:#1b5b50}.secondary{background:#fff;border:1px solid #bacfc8;color:#286b61;border-radius:10px;padding:10px 14px;font-weight:700;min-height:43px}.card .primary{margin-top:auto;width:100%}.note{font-size:.88rem;color:#647873;margin:23px 0 0}.panel{padding:25px;margin-top:25px}.details{display:grid;grid-template-columns:1fr 1fr;gap:22px}.details p{margin:4px 0;color:#526862}.details strong{color:#2d4943}.details h2{font-family:inherit;font-weight:600;letter-spacing:.035em}.adminHead{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.adminList{display:grid;gap:12px}.adminRow{background:#fff;border:1px solid #dbe7e3;border-radius:14px;padding:18px 20px;display:grid;grid-template-columns:minmax(170px,1fr) auto auto;align-items:center;gap:15px}.adminRow p{margin:5px 0 0;color:#697e78;font-size:.85rem}.countControl{display:flex;align-items:center;gap:8px;white-space:nowrap}.countControl button{background:#f0f6f3;border:1px solid #bed3cc;border-radius:8px;width:36px;height:36px;color:#286b61;font-size:1.25rem}.countControl b{min-width:23px;text-align:center}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{font-size:.86rem}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.bookingList{margin-top:24px}.bookingItem{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e0eae5;padding:14px 0}.bookingItem:first-child{border:0}.muted{color:#667d77}.modalBackdrop{position:fixed;inset:0;background:#163a35a8;display:grid;place-items:center;padding:18px;z-index:10}.modal{background:#fff;border-radius:18px;padding:27px;width:min(100%,500px);max-height:90vh;overflow:auto;box-shadow:0 25px 70px #072b2755}.modal h2{margin-bottom:6px}.modal p{margin:0 0 20px;color:#617671}.field{display:block;font-size:.88rem;font-weight:700;margin:16px 0;color:#3c5a53}.field input,.field select{display:block;width:100%;margin-top:7px;border:1px solid #b9cfc8;border-radius:9px;padding:12px;background:#fff;color:#243c3a;min-height:46px}.modalFooter{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#234c44;color:#fff;padding:12px 18px;border-radius:10px;box-shadow:0 8px 24px #17362e44;z-index:20;max-width:calc(100% - 32px)}.hidden{display:none!important}.empty{border:1px dashed #bfd1ca;border-radius:13px;padding:22px;color:#657d75;background:#fafdFA}.danger{color:#9b453c;border-color:#e5bbb5}.footer{border-top:1px solid #dce8e1;padding:25px 0;color:#70817c;font-size:.82rem}.footrow{display:flex;justify-content:space-between;gap:12px}.small{font-size:.83rem;color:#687f77}.success{border-radius:11px;background:#e9f6ed;padding:15px;color:#236b50;margin-top:15px}body.modalOpen{overflow:hidden}@media(max-width:780px){.grid{grid-template-columns:repeat(2,1fr)}.adminRow{grid-template-columns:1fr auto}.actions{grid-column:1/-1}}@media(max-width:600px){.wrap{padding:0 18px}.top .wrap{min-height:72px}.brand{font-size:1rem}.mark{width:35px;height:35px}.nav button{padding:9px 11px;font-size:.82rem}.main{padding-top:30px}.grid,.details{grid-template-columns:1fr}.card{min-height:255px}.adminHead{display:block}.adminRow{grid-template-columns:1fr}.actions{grid-column:auto}.countControl{justify-content:flex-start}.footrow{display:block}}

/* 音のにわの公式サイトを基にした試作デザイン */
:root{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#31443d;background:#f5f9f3}body{background:#f5f9f3}.wrap{max-width:1120px}.top{background:#fff;border-color:#eceae2}.top .wrap{min-height:88px}.brand{gap:10px;letter-spacing:0}.brandLogo{width:49px;height:46px;object-fit:contain}.brandText{display:flex;flex-direction:column;gap:3px}.brandName{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#ce8196;font-size:1.35rem;letter-spacing:.08em;font-weight:500;line-height:1}.brandName span:first-child{color:#ce8196}.brandName span:last-child{color:#6bae7d}.brandSub{font-size:.67rem;color:#85928a;letter-spacing:.12em;font-weight:400}.nav{background:transparent;border:1px solid #dfe8df;border-radius:3px;padding:3px}.nav button{border-radius:2px;font-weight:500;color:#62766a}.nav button.active{box-shadow:none;background:#628d6e;color:#fff}.preview{background:#eaf4e8;color:#5b715e;border-bottom:1px solid #e6ecdf}.pill{background:#698a6d;border-radius:2px}.main{padding-top:54px;padding-bottom:90px}.bookingLayout{display:grid;grid-template-columns:minmax(260px,.76fr) minmax(0,1.45fr);gap:clamp(34px,6vw,90px);align-items:start}.bookingIntro{padding:25px 0 0}.eyebrow{color:#aa8c74;font-size:.75rem;letter-spacing:.2em;font-weight:600;line-height:1.7}h1,h2{font-family:inherit;font-weight:600;letter-spacing:.035em}.bookingIntro h1{font-size:clamp(2rem,3.3vw,3rem);line-height:1.7;margin:14px 0 24px;color:#344f3e}.bookingIntro h1 span{color:#658f70}.fineRule{width:44px;height:1px;background:#c995a1;margin:0 0 24px}.intro{font-size:.98rem;line-height:2.05;color:#566a5d;margin-bottom:22px}.audience{font-size:.84rem;color:#758678;line-height:1.8}.sectionTop{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #a7bca5;padding-bottom:14px;margin-bottom:14px;color:#4e735a}.sectionTop span:first-child{font-family:Georgia,serif;font-size:.77rem;letter-spacing:.17em}.sectionTop span:last-child{font-family:inherit;font-size:1.08rem;font-weight:600;letter-spacing:.025em}.grid{display:grid;grid-template-columns:1fr;gap:0}.card{display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:22px;min-height:142px;padding:20px 17px;background:transparent;border:0;border-bottom:1px solid #e0e6db;border-radius:0;box-shadow:none}.dateBlock{border-right:1px solid #dce4d9;padding-right:18px;display:flex;flex-direction:column;align-items:center;line-height:1.1}.month{font-family:Georgia,serif;font-weight:400;letter-spacing:.09em;color:#9a9f8c;font-size:.72rem}.dateNum{font-family:Georgia,serif;font-size:2.8rem;color:#436a4f;margin:5px 0 3px}.weekday{font-size:.78rem;color:#819285}.slotTitle{margin:0 0 6px;font-family:inherit;font-weight:600;font-size:1.11rem;letter-spacing:.025em;color:#364d3e}.meta{margin:0 0 10px;color:#7c8b7f;font-size:.85rem}.seat{margin:0;border-radius:2px;padding:5px 8px;background:#eaf2e9;color:#567b5c;font-size:.76rem;font-weight:600}.seat.full{background:#f0efed;color:#888a82}.seat.paused{background:#f7eee8;color:#9b6e59}.primary{border-radius:3px;background:#567f61;font-weight:500;letter-spacing:.04em;min-height:45px}.primary:hover:not(:disabled){background:#426a4d}.card .primary{width:auto;min-width:110px;margin:0;white-space:nowrap}.secondary{border-radius:3px;color:#567a5e;border-color:#c5d3c4}.note{font-size:.8rem;color:#86918a;margin-top:18px}.panel{background:#fff;border-color:#e9ebe2;border-radius:2px;box-shadow:none;padding:29px 33px;margin-top:56px}.panel h2{color:#476c51}.details{gap:50px}.details p{line-height:1.9}.adminRow{border-radius:3px;border-color:#e2e9e0;box-shadow:none}.countControl button,.field input,.field select,.modal,.modalBackdrop .secondary{border-radius:3px}.footer{border-color:#dfe8dc;background:#edf5ea}.bookingList{margin-top:28px}
@media(max-width:820px){.bookingLayout{grid-template-columns:1fr;gap:18px}.bookingIntro{padding:0}.bookingIntro h1{margin:9px 0 13px}.fineRule{margin-bottom:14px}.intro{margin-bottom:8px}.audience{margin:0 0 18px}.main{padding-top:36px}.card{grid-template-columns:84px minmax(0,1fr) auto;gap:15px}}
@media(max-width:600px){.top .wrap{min-height:73px}.brandLogo{width:36px;height:34px}.brandName{font-size:1.05rem}.brandSub{font-size:.56rem}.nav button{padding:8px 7px;font-size:.75rem}.preview{font-size:.8rem}.main{padding-top:28px}.bookingIntro h1{font-size:2rem;line-height:1.5}.intro{font-size:.91rem}.card{grid-template-columns:68px minmax(0,1fr);gap:12px;padding:17px 0;min-height:0}.dateBlock{padding-right:9px}.dateNum{font-size:2.25rem}.cardInfo{min-width:0}.card .primary{grid-column:2;min-width:0;width:100%;min-height:42px}.panel{padding:23px 20px;margin-top:38px}.details{gap:24px}}

.field textarea{display:block;width:100%;min-height:95px;margin-top:7px;border:1px solid #b9cfc8;border-radius:3px;padding:12px;background:#fff;color:#243c3a;resize:vertical;font:inherit}.radioGroup{border:0;padding:0;margin:16px 0}.radioGroup legend{font-size:.88rem;font-weight:700;color:#3c5a53;margin-bottom:10px}.radioGroup label{display:inline-flex;align-items:center;gap:5px;margin:0 22px 8px 0;color:#415d51}.radioGroup input{accent-color:#567f61}.errorText{color:#a4473f!important;font-size:.86rem;margin:10px 0 0!important}.modal{max-width:540px}.modal .small{line-height:1.6}.card .slotTitle{line-height:1.45}.bookingItem .small{line-height:1.7}


.hidden{display:none!important}input,button,select,textarea{font:inherit}.field input,.field select,.field textarea{max-width:100%}
