/* pages.css — 固定ページ（お問い合わせ／プライバシー／運営者情報） */
/* ---- page-contact.php ---- */
/* お問い合わせページ専用。テーマのクラスに頼らず、この中だけで完結させる */
.contact-page{--c-accent:#4F46E5;--c-accent-dark:#4338CA;--c-text:#1c1d2b;--c-muted:#5d6072;
  --c-line:#e1e3ec;--c-tile:#f7f7fc;--c-err:#b3261e;
  max-width:1160px;margin:0 auto;padding:0 24px 56px;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Meiryo,system-ui,sans-serif;
  color:var(--c-text);font-size:16px;line-height:1.8;box-sizing:border-box}
.contact-page *,.contact-page *::before,.contact-page *::after{box-sizing:border-box}
.contact-page h1{margin:32px 0 8px;font-size:clamp(24px,4vw,32px);line-height:1.4;font-weight:700;color:var(--c-text)}
.contact-page .lead{margin:0 0 28px;font-size:15px;color:var(--c-muted);line-height:1.85}
.contact-page h2{margin:0 0 16px;font-size:20px;font-weight:700;color:var(--c-text);
  border:0;padding:0;display:flex;align-items:center;gap:12px}
.contact-page h2::after{content:"";flex:1;height:1px;background:var(--c-line)}
.contact-page .box{max-width:720px;border:1px solid var(--c-line);border-radius:4px;padding:clamp(18px,3vw,28px);background:#fff}

.contact-page .field{margin-bottom:20px}
.contact-page .field:last-of-type{margin-bottom:24px}
.contact-page label.lb{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin-bottom:6px}
.contact-page .req{font-size:11px;font-weight:700;color:#fff;background:var(--c-accent);border-radius:3px;padding:2px 7px}
.contact-page .opt{font-size:11px;font-weight:500;color:var(--c-muted);background:var(--c-tile);
  border:1px solid var(--c-line);border-radius:3px;padding:2px 7px}
.contact-page input[type=text],
.contact-page input[type=email],
.contact-page input[type=tel],
.contact-page textarea{width:100%;border:1px solid #cfd1dd;border-radius:3px;background:#fff;
  padding:12px 14px;font-size:16px;font-family:inherit;color:var(--c-text);line-height:1.6}
.contact-page input:focus,.contact-page textarea:focus{outline:2px solid var(--c-accent);outline-offset:1px;border-color:var(--c-accent)}
.contact-page textarea{min-height:180px;resize:vertical}
.contact-page .hint{display:block;margin-top:6px;font-size:12px;color:var(--c-muted)}
.contact-page .submit{display:inline-flex;align-items:center;justify-content:center;min-height:54px;
  padding:0 36px;border:0;border-radius:3px;background:var(--c-accent);color:#fff;
  font-size:17px;font-weight:700;font-family:inherit;cursor:pointer}
.contact-page .submit:hover{background:var(--c-accent-dark)}
.contact-page .note{margin:14px 0 0;font-size:12px;color:var(--c-muted);line-height:1.7}
.contact-page .note a{color:var(--c-accent)}

.contact-page .errors{max-width:720px;margin:0 0 20px;border:1px solid #f0c4c0;background:#fdf3f2;
  border-radius:4px;padding:16px 18px}
.contact-page .errors p{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--c-err)}
.contact-page .errors ul{margin:0;padding-left:20px}
.contact-page .errors li{font-size:14px;color:var(--c-err)}

.contact-page .thanks{max-width:720px;border:1px solid #bfe3c9;background:#f3faf5;border-radius:4px;
  padding:clamp(22px,4vw,32px)}
.contact-page .thanks h2{margin:0 0 10px;font-size:20px}
.contact-page .thanks h2::after{display:none}
.contact-page .thanks p{margin:0 0 10px;font-size:15px;line-height:1.85}
.contact-page .thanks p:last-child{margin-bottom:0}
.contact-page .thanks .back{display:inline-flex;align-items:center;min-height:46px;padding:0 20px;
  margin-top:8px;border:1px solid var(--c-accent);border-radius:3px;color:var(--c-accent);
  font-size:14px;font-weight:700;text-decoration:none}
.contact-page .thanks .back:hover{background:var(--c-accent);color:#fff}

/* 人には見せないおとりの入力欄 */
.contact-page .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* SMS認証 */
.contact-page .tel-row{display:flex;flex-wrap:wrap;gap:8px}
.contact-page .tel-row input{flex:1 1 220px;min-width:0}
.contact-page .sub-btn{flex:0 0 auto;min-height:48px;padding:0 18px;border:1px solid var(--c-accent);
  border-radius:3px;background:#fff;color:var(--c-accent);font-size:14px;font-weight:700;
  font-family:inherit;cursor:pointer;white-space:nowrap}
.contact-page .sub-btn:hover:not(:disabled){background:var(--c-accent);color:#fff}
.contact-page .sub-btn:disabled{opacity:.5;cursor:default}
.contact-page .sms-msg{margin:8px 0 0;font-size:13px;line-height:1.7}
.contact-page .sms-msg.ok{color:#146c2e}
.contact-page .sms-msg.ng{color:var(--c-err)}
.contact-page #sms_code{max-width:220px;letter-spacing:.3em;font-size:18px}

@media (max-width:719px){
  .contact-page{padding-left:16px;padding-right:16px}
  .contact-page .submit{width:100%}
}

/* ---- page-privacy.php ---- */
/* プライバシーポリシー専用。テーマのクラスに頼らず、この中だけで完結させる */
.privacy-page{--p-accent:#4F46E5;--p-text:#1c1d2b;--p-text-2:#33364a;--p-muted:#5d6072;
  --p-line:#e1e3ec;--p-tile:#f7f7fc;
  max-width:1160px;margin:0 auto;padding:0 24px 56px;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Meiryo,system-ui,sans-serif;
  color:var(--p-text);font-size:16px;line-height:1.9;box-sizing:border-box}
.privacy-page *,.privacy-page *::before,.privacy-page *::after{box-sizing:border-box}
.privacy-page h1{margin:32px 0 8px;font-size:clamp(24px,4vw,32px);line-height:1.4;font-weight:700;color:var(--p-text)}
.privacy-page .lead{margin:0 0 8px;font-size:15px;color:var(--p-text-2);line-height:1.9;max-width:820px}
.privacy-page .revised{margin:0 0 36px;font-size:13px;color:var(--p-muted)}
.privacy-page .body{max-width:820px}
.privacy-page h2{margin:40px 0 12px;font-size:20px;font-weight:700;color:var(--p-text);
  border:0;padding:0 0 8px;border-bottom:1px solid var(--p-line);display:block}
.privacy-page h2::after{content:none}
.privacy-page h3{margin:24px 0 8px;font-size:16px;font-weight:700;color:var(--p-text)}
.privacy-page p{margin:0 0 14px;color:var(--p-text-2)}
.privacy-page ul{margin:0 0 16px;padding-left:22px}
.privacy-page li{margin-bottom:6px;color:var(--p-text-2)}
.privacy-page a{color:var(--p-accent)}
.privacy-page .ph{background:#fdf6e3;border-bottom:1px dotted #c9a227;padding:0 2px;font-weight:700}
.privacy-page .box{background:var(--p-tile);border:1px solid var(--p-line);border-radius:3px;
  padding:16px 18px;margin:0 0 16px}
.privacy-page .box p:last-child{margin-bottom:0}
.privacy-page .box dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px}
.privacy-page .box dt{font-size:14px;color:var(--p-muted);white-space:nowrap}
.privacy-page .box dd{margin:0;font-size:15px}
@media (max-width:719px){
  .privacy-page{padding-left:16px;padding-right:16px}
  .privacy-page h2{font-size:18px}
  .privacy-page .box dl{grid-template-columns:1fr;gap:2px 0}
}

/* ---- page-about.php ---- */
/* 運営者情報ページ専用。テーマのクラスに頼らず、この中だけで完結させる */
.about-page{--a-accent:#4F46E5;--a-text:#1c1d2b;--a-text-2:#33364a;--a-muted:#5d6072;
  --a-line:#e1e3ec;--a-tile:#f7f7fc;
  max-width:1160px;margin:0 auto;padding:0 24px 56px;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Meiryo,system-ui,sans-serif;
  color:var(--a-text);font-size:16px;line-height:1.9;box-sizing:border-box}
.about-page *,.about-page *::before,.about-page *::after{box-sizing:border-box}
.about-page h1{margin:32px 0 8px;font-size:clamp(24px,4vw,32px);line-height:1.4;font-weight:700}
.about-page .lead{margin:0 0 36px;font-size:15px;color:var(--a-text-2);line-height:1.9;max-width:820px}
.about-page .body{max-width:820px}
.about-page h2{margin:40px 0 14px;font-size:20px;font-weight:700;color:var(--a-text);
  border:0;padding:0 0 8px;border-bottom:1px solid var(--a-line);display:block}
.about-page h2::after{content:none}
.about-page h3{margin:24px 0 8px;font-size:16px;font-weight:700}
.about-page p{margin:0 0 14px;color:var(--a-text-2)}
.about-page ul{margin:0 0 16px;padding-left:22px}
.about-page li{margin-bottom:6px;color:var(--a-text-2)}
.about-page a{color:var(--a-accent)}
.about-page .ph{background:#fdf6e3;border-bottom:1px dotted #c9a227;padding:0 2px;font-weight:700}

/* 基本情報の表 */
.about-page .info{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 8px}
.about-page .info th,.about-page .info td{border:1px solid var(--a-line);padding:13px 16px;text-align:left;vertical-align:top}
.about-page .info th{background:var(--a-tile);width:190px;font-weight:600;white-space:nowrap;color:var(--a-text)}
.about-page .info td{color:var(--a-text-2)}
.about-page .note{margin:0;font-size:12px;color:var(--a-muted)}

@media (max-width:719px){
  .about-page{padding-left:16px;padding-right:16px}
  .about-page h2{font-size:18px}
  .about-page .info th,.about-page .info td{display:block;width:100%;border-top:none}
  .about-page .info tr:first-child th{border-top:1px solid var(--a-line)}
  .about-page .info th{white-space:normal}
}
