/* ============================================
   page.css - Motion Lite サブページ共通
   ============================================ */

/* HAMBURGER (dark for subpages) */
.hamburger.dark span,
.page-nav .hamburger span{background:#333}
.page-nav {
  position: fixed;  /* absolute → fixed */
  top: 24px;
  right: 24px;
  z-index: 102;
}

/* PAGE HEADER */
.page-hd{padding:80px 40px 0}
.page-hd-t{font-family:var(--en);font-size:52px;font-weight:800;line-height:1.2;letter-spacing:.04em;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.page-hd-sub{margin-top:20px;font-size:20px;font-weight:900;letter-spacing:.05em}
.page-hd-hr{margin-top:20px;border:none;border-top:2px solid var(--txt);width:100%}

/* PAGE BODY (privacy, terms) */
.page-body{padding:40px 40px 60px}
.page-lead{font-size:15px;line-height:2;margin-bottom:32px}
.page-sec{margin-bottom:28px}
.page-sec-t{font-size:16px;font-weight:700;margin-bottom:8px}
.page-sec-body{font-size:15px;line-height:2}
.page-sec-body ol,.page-sec-body ul{margin:8px 0 8px 20px}
.page-sec-body li{margin-bottom:4px}
.page-sec-body p{margin-bottom:8px}
.page-date{margin-top:40px;font-size:14px;color:var(--sub);text-align:right}

/* privacy.html: gradient section titles */
.page-sec-t.grad{background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* LAW TABLE (transactions) */
.law-tbl{width:100%}
.law-row{border-bottom:1px solid #eee;padding:24px 0}
.law-label{font-size:13px;font-weight:500;color:var(--sub);margin-bottom:8px}
.law-val{font-size:15px;font-weight:400;line-height:2}
.law-val-note{font-size:14px;font-weight:400;color:var(--sub);line-height:1.8}

/* CONTACT FORM */
.contact-form{padding:40px 40px 60px}
.form-group{margin-bottom:28px}
.form-label{display:block;font-size:15px;font-weight:700;margin-bottom:8px}
.form-label .req{color:#e74c6f;font-size:14px;margin-left:2px}
.form-input{width:100%;padding:14px 16px;font-size:15px;font-family:var(--jp);border:none;border-bottom:1px solid #ccc;background:#f8f8f8;border-radius:0;outline:none;transition:border-color .2s,background .2s;-webkit-appearance:none;appearance:none}
.form-input:focus{border-bottom-color:#9b59b6;background:#f4f0f8}
.form-select{width:100%;padding:14px 40px 14px 16px;font-size:15px;font-family:var(--jp);border:none;border-bottom:1px solid #ccc;background:#f8f8f8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 16px center;border-radius:0;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer;transition:border-color .2s,background .2s}
.form-select:focus{border-bottom-color:#9b59b6;background-color:#f4f0f8}
.form-textarea{width:100%;padding:16px;font-size:15px;font-family:var(--jp);border:none;background:#f8f8f8;border-radius:8px;outline:none;resize:vertical;min-height:180px;transition:border-color .2s,background .2s;border:1px solid transparent}
.form-textarea:focus{background:#f4f0f8;border-color:#ddd}
.form-submit-wrap{text-align:center;margin-top:40px}
.form-submit{display:inline-block;background:var(--grad);color:#fff;font-size:16px;font-weight:700;font-family:var(--jp);padding:18px 64px;border-radius:40px;border:none;cursor:pointer;letter-spacing:.08em;box-shadow:0 4px 20px rgba(142,68,173,.25);transition:transform .2s,box-shadow .2s}
.form-submit:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(142,68,173,.35)}
.form-note{margin-top:16px;font-size:13px;color:var(--sub);text-align:center}
.form-note a{color:#9b59b6;text-decoration:none;font-weight:500}
.form-note a:hover{text-decoration:underline}

/* FORM DONE */
.form-done{display:none;text-align:center;padding:60px 0}
.form-done.show{display:block}
.form-done-icon{width:64px;height:64px;border-radius:50%;background:var(--grad);color:#fff;font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}
.form-done-t{font-size:22px;font-weight:900;margin-bottom:16px}
.form-done-d{font-size:15px;color:var(--sub);line-height:2}
.form-done-link{display:inline-block;margin-top:32px;font-size:14px;color:#9b59b6;text-decoration:none;font-weight:500;border-bottom:1px solid #9b59b6;padding-bottom:2px}
.form-done-link:hover{opacity:.7}

/* SUBMIT LOADING */
.form-submit.loading{pointer-events:none;opacity:.6}
.form-submit.loading::after{content:'';display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;margin-left:8px;vertical-align:middle;animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== SP ===== */
@media(max-width:779px){
  .page-hd{padding:60px 24px 0}
  .page-hd-t{font-size:36px}
  .page-hd-sub{font-size:18px}
  .page-body{padding:32px 24px 48px}
  .contact-form{padding:32px 24px 48px}
}

/* ===== PC ===== */
@media(min-width:780px){
  .page-hd{padding:100px 60px 0}
  .page-hd-t{font-size:64px}
  .page-body{padding:48px 60px 80px}
  .contact-form{padding:48px 60px 80px}
  .form-inner{max-width:640px;margin:0 auto}
  /* transactions: 2col table */
  .law-row{display:flex;align-items:flex-start;gap:20px;padding:32px 0}
  .law-label{flex:0 0 220px;margin-bottom:0;padding-top:4px}
  .law-val{flex:1}
}

/* contact: letter-spacing for CONTACT title */
.page-hd-t.contact{letter-spacing:.08em;text-transform:uppercase}
