/* 申込モーダル */
.modal-overlay{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  padding:40px 20px;
  background:rgba(11,10,8,.72);
  opacity:0;visibility:hidden;
  transition:opacity .25s ease;
}
.modal-overlay.is-open{opacity:1;visibility:visible;}

.modal-box{
  position:relative;
  width:100%;max-width:560px;max-height:88vh;overflow-y:auto;
  background:var(--ivory);color:var(--ink);
  padding:56px 48px;
  transform:translateY(16px);
  transition:transform .25s ease;
}
.modal-overlay.is-open .modal-box{transform:translateY(0);}

.modal-close{
  position:absolute;top:20px;right:24px;
  width:32px;height:32px;border:none;background:none;cursor:pointer;
  font-size:26px;line-height:1;color:var(--ink);font-weight:300;
}

.modal-body h2{font-size:22px;margin-bottom:16px;color:var(--ink);}
.modal-lead{font-size:12.5px;color:#5a554d;margin-bottom:36px;}

.order-form .form-row{margin-bottom:22px;}
.order-form label,
.order-form legend{
  display:block;font-size:11.5px;letter-spacing:.05em;color:#5a554d;margin-bottom:8px;
  font-family:"Zen Kaku Gothic New",sans-serif;
}
.order-form .req{
  display:inline-block;margin-left:8px;font-size:10px;color:var(--vermillion);letter-spacing:.05em;
}
.order-form input[type="text"],
.order-form input[type="tel"],
.order-form input[type="date"],
.order-form select,
.order-form textarea{
  width:100%;padding:12px 14px;
  border:1px solid var(--line);background:#fff;
  font-family:"Zen Kaku Gothic New",sans-serif;font-size:13px;color:var(--ink);
}
.order-form input:focus,
.order-form select:focus,
.order-form textarea:focus{outline:2px solid var(--vermillion);outline-offset:1px;}
.order-form textarea{resize:vertical;}

.radio-group{display:flex;gap:24px;}
.radio-group label{
  display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink);
  margin-bottom:0;
}

.form-submit{
  width:100%;border:none;cursor:pointer;margin-top:12px;
  font-size:12.5px;letter-spacing:.22em;color:var(--ivory);
  background:var(--vermillion);padding:18px;transition:background .25s;
}
.form-submit:hover{background:var(--vermillion-deep);}

.order-complete{text-align:center;padding:30px 0;}
.order-complete-title{
  font-family:"Shippori Mincho",serif;font-size:18px;margin-bottom:16px;color:var(--ink);
}
.order-complete p{font-size:12.5px;color:#5a554d;margin-bottom:30px;}
.form-close-complete{
  border:none;cursor:pointer;display:inline-block;
  font-size:12.5px;letter-spacing:.22em;color:var(--ivory);
  background:var(--vermillion);padding:16px 44px;transition:background .25s;
}
.form-close-complete:hover{background:var(--vermillion-deep);}

@media (max-width: 768px){
  .modal-overlay{padding:0;}
  .modal-box{max-width:none;width:100%;height:100%;max-height:none;padding:70px 26px 40px;}
  .modal-body h2{font-size:19px;}
}
