/* =====================================================
   contact.css — ご予約・お問い合わせページ
===================================================== */

.ct{background:#fbf6ee}

/* ---------- ページヘッダー ---------- */
.ct-hero{padding:clamp(9rem,14vw,12rem) 0 clamp(3rem,5vw,4.5rem);text-align:center;
  background:linear-gradient(180deg,#f7efe1,#fbf6ee)}
.ct-hero .script{font-family:'Parisienne',cursive;font-size:clamp(2rem,3.4vw,3.2rem);display:block;margin-bottom:.2em;
  background:linear-gradient(120deg,#d3ab61,#a5824a);-webkit-background-clip:text;background-clip:text;color:transparent}
.ct-hero h1{font-family:'Shippori Mincho',serif;font-weight:600;font-size:clamp(1.7rem,3.2vw,2.7rem);
  letter-spacing:.14em;color:#41382e}
.ct-rule{display:block;width:min(360px,56%);height:1px;margin:1.2em auto;
  background:linear-gradient(90deg,transparent,#c9a25e 18%,#c9a25e 82%,transparent)}
.ct-hero .lead{font-family:'Shippori Mincho',serif;font-size:clamp(.88rem,1.05vw,1rem);
  color:#6a5f50;line-height:2.15;letter-spacing:.04em}

/* ---------- フォームセクション ---------- */
.ct-form-sec{padding:clamp(1.5rem,3vw,2.5rem) 0 clamp(4rem,7vw,6rem)}
.ct-form-sec .wrap{width:min(92%,1120px);margin-inline:auto}
.ct-grid{display:grid;grid-template-columns:1fr;gap:clamp(1.4rem,2.4vw,2rem);max-width:960px;margin:0 auto}
.ct-hpb{display:flex;align-items:center;gap:clamp(1.2rem,2.4vw,2rem);text-align:left}
.ct-hpb .tx{flex:1}
.ct-hpb .tx p{margin-bottom:0}
.ct-side-card.ct-hpb .btn{width:auto;flex:0 0 auto;white-space:nowrap;padding-inline:2.2em}
@media(max-width:640px){
  .ct-hpb{flex-direction:column;text-align:center}
  .ct-side-card.ct-hpb .btn{width:100%;justify-content:center}
}

.ct-form{background:linear-gradient(180deg,#fffdf9,#fdf7ee);border:1px solid #ddc492;
  border-radius:clamp(18px,2vw,28px);box-shadow:var(--shadow-soft);
  padding:clamp(1.8rem,3vw,3rem) clamp(1.4rem,2.6vw,2.8rem)}
.ct-form .row{margin-bottom:clamp(1.2rem,2vw,1.7rem)}
.ct-form label{display:block;font-family:'Shippori Mincho',serif;font-weight:600;color:#41382e;
  font-size:clamp(.92rem,1.1vw,1.02rem);letter-spacing:.06em;margin-bottom:.55em}
.ct-form label em{font-style:normal;display:inline-block;margin-left:.7em;padding:.15em .7em;
  background:linear-gradient(135deg,#cfa964,#96773c);color:#fff;border-radius:999px;
  font-size:.68em;letter-spacing:.14em;vertical-align:.15em}
.ct-form input,.ct-form select,.ct-form textarea{width:100%;appearance:none;-webkit-appearance:none;
  background:#fff;border:1px solid rgba(190,160,105,.4);border-radius:10px;
  font-family:'Shippori Mincho',serif;font-size:clamp(.95rem,1.05vw,1rem);color:#41382e;
  padding:.85em 1em;transition:border-color .3s,box-shadow .3s}
.ct-form input::placeholder,.ct-form textarea::placeholder{color:#c2b6a3}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:none;
  border-color:#c9a25e;box-shadow:0 0 0 3px rgba(201,162,94,.18)}
.ct-form textarea{resize:vertical;min-height:10em;line-height:1.9}
.ct-form .sel{position:relative}
.ct-form .sel::after{content:"";position:absolute;right:1.1em;top:50%;translate:0 -30%;
  width:8px;height:8px;border-right:1.4px solid #b98d43;border-bottom:1.4px solid #b98d43;
  transform:rotate(45deg);pointer-events:none}
.ct-form .err{font-family:'Shippori Mincho',serif;color:#b03a3a;font-size:.85rem;margin-top:.5em}
.ct-form .err--top{background:#fbecec;border:1px solid #e3b5b5;border-radius:10px;
  padding:.9em 1.2em;margin:0 0 1.4rem;line-height:1.9}
.hp-trap{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.ct-form .note{font-family:'Shippori Mincho',serif;color:#8a7d6a;font-size:.82rem;line-height:1.9;
  margin:1.6rem 0 1.2rem}
.ct-submit{display:flex;width:min(360px,100%);margin:0 auto;justify-content:center;font-size:clamp(1rem,1.2vw,1.1rem);padding:1.05em 2em;border:none;cursor:pointer;font-family:'Shippori Mincho',serif}

/* ---------- 右カラム ---------- */
.ct-side{display:flex;flex-direction:column;gap:clamp(1rem,1.8vw,1.4rem)}
.ct-side-card{background:#fffdf9;border:1px solid rgba(190,160,105,.3);border-radius:16px;
  box-shadow:var(--shadow-soft);padding:clamp(1.4rem,2.2vw,1.9rem) clamp(1.3rem,2vw,1.7rem)}
.ct-side-card h2{font-family:'Shippori Mincho',serif;font-weight:600;color:#96773c;
  font-size:clamp(1rem,1.2vw,1.12rem);letter-spacing:.06em;margin-bottom:.7em;
  padding-bottom:.6em;border-bottom:1px solid rgba(190,160,105,.3)}
.ct-side-card p{font-family:'Shippori Mincho',serif;color:#5c5348;font-size:clamp(.84rem,.98vw,.92rem);
  line-height:2;margin-bottom:1em}
.ct-side-card p:last-child{margin-bottom:0}
.ct-side-card .btn{width:100%;justify-content:center;font-size:.92rem}

/* ---------- 送信完了 ---------- */
.ct-done{max-width:680px;margin:0 auto;text-align:center;
  background:linear-gradient(180deg,#fffdf9,#fdf7ee);border:1px solid #ddc492;
  border-radius:clamp(18px,2vw,28px);box-shadow:var(--shadow-soft);
  padding:clamp(2.5rem,4.5vw,4rem) clamp(1.5rem,3vw,3rem)}
.ct-done .ic{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 1.2rem;border-radius:50%;
  background:linear-gradient(135deg,#cfa964,#96773c);color:#fff}
.ct-done .ic svg{width:55%;height:55%}
.ct-done h2{font-family:'Shippori Mincho',serif;font-weight:600;color:#41382e;
  font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:.1em;margin-bottom:.8em}
.ct-done p{font-family:'Shippori Mincho',serif;color:#5c5348;font-size:clamp(.88rem,1.02vw,.98rem);line-height:2.15}
.ct-alt{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:1.8rem}

/* ---------- モバイル ---------- */

