/*
	Theme Name: diver_child
	Template: diver
	Description:  Diverの子テーマです。
	Theme URI: http://tan-taka.com/diver/
	Author: Takato Takagi
 */

/* カスタマイズする場合にはこれより下に追記してください  */

/* ==========================================================
   ai-lab.resurrec.co.jp 法務ページ用スタイル
   2026-08-25 移植。resurrec.co.jp の diver_child/style.css から
   :root 変数と .rc-legal- 一式のみを抜き出したもの。
   対象＝/privacy-policy/ /legal-l1/ /terms-l1/ /refund-policy/
   ⚠️ 正本は resurrec.co.jp 側。あちらを直したらこちらも直す。
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..900&display=swap');

:root{
  --rc-blue:#3f5973; --rc-blue-dark:#2d4155; --rc-blue-light:#4d6a82;
  --rc-purple:#833ab4; --rc-pink:#e1306c; --rc-orange:#fcb045; --rc-gold:#fcb045;
  --rc-light:#f7f8fc; --rc-white:#ffffff; --rc-text:#1f2937; --rc-gray:#6b7280; --rc-gray2:#e5e7eb;
  --rc-line-green:#06C755; --rc-success:#10b981; --rc-warning:#f59e0b; --rc-error:#ef4444;
  --rc-radius:12px; --rc-radius-pill:50px; --rc-radius-sm:8px;
  --rc-shadow:0 4px 24px rgba(0,0,0,0.10); --rc-shadow-hover:0 8px 32px rgba(0,0,0,0.18);
  --rc-shadow-cta:0 4px 20px rgba(225,48,108,0.4);
  --rc-font:'Noto Sans JP',sans-serif; --rc-lh:1.8; --rc-lh-heading:1.4;
  /* 変数化されていなかったワンオフ色をここに集約 */
  --rc-tint-blue:#f0f6ff; --rc-tint-blue-br:#c5d9f0; --rc-tint-pink:#fdf2f8;
  --rc-tint-gray:#f0f4f8; --rc-tint-amber:#fff7ed; --rc-tint-cream:#fffaf0;
  --rc-ink-amber:#b8791a; --rc-ink-brown:#5a3d00; --rc-ink-brown2:#8a5a00;
  --rc-ink-red:#b91c1c;
}

/* 共通リセット（.rc-legal 配下のみ） */
p:empty{display:none;}
.rc-legal *{box-sizing:border-box;}

/* ==========================================================
   法務ページ共通 .rc-legal-（プライバシーポリシー／特定商取引法）
   ========================================================== */
/* ---- このページ固有：基本 ---- */
.rc-legal{font-family:var(--rc-font);color:var(--rc-text);line-height:var(--rc-lh);}
.rc-legal-container{max-width:880px;margin:0 auto;padding:0 20px;}
.rc-legal-section{padding:72px 0;}
.rc-legal-section--light{background:var(--rc-light);}
/* ---- ヘッダー ---- */
.rc-legal-hero{background:linear-gradient(135deg,var(--rc-blue-dark),var(--rc-blue-light));color:var(--rc-white);padding:72px 0 64px;text-align:center;}
.rc-legal-hero__label{display:inline-block;font-size:13px;font-weight:700;letter-spacing:0.15em;color:var(--rc-white);background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.25);padding:7px 18px;border-radius:var(--rc-radius-pill);margin:0 0 20px;}
.rc-legal-hero__title{font-size:clamp(26px,4.2vw,40px);font-weight:900;line-height:1.35;margin:0 0 18px;}
.rc-legal-hero__sub{font-size:16px;color:rgba(255,255,255,0.85);line-height:1.9;max-width:720px;margin:0 auto;}
/* ---- 本文 ---- */
.rc-legal-intro{font-size:15px;color:var(--rc-text);line-height:1.95;margin:0 0 44px;}
.rc-legal-item{margin:0 0 40px;}
.rc-legal-item__title{font-size:19px;font-weight:900;color:var(--rc-blue);line-height:1.55;margin:0 0 14px;padding-left:16px;border-left:4px solid var(--rc-pink);}
.rc-legal-item__text{font-size:15px;color:var(--rc-text);line-height:1.95;margin:0 0 14px;}
.rc-legal-item__text:last-child{margin-bottom:0;}
.rc-legal-list{list-style:none;padding:0;margin:0 0 14px;}
.rc-legal-list li{font-size:15px;color:var(--rc-text);line-height:1.85;padding:8px 0 8px 24px;position:relative;border-bottom:1px dashed var(--rc-gray2);}
.rc-legal-list li:before{content:"●";position:absolute;left:2px;top:9px;color:var(--rc-blue);font-size:9px;}
.rc-legal-list--num{counter-reset:rc-legal-num;}
.rc-legal-list--num li{padding-left:30px;}
.rc-legal-list--num li:before{counter-increment:rc-legal-num;content:"(" counter(rc-legal-num) ")";font-size:13px;font-weight:700;color:var(--rc-blue);top:8px;}
/* ---- 事業者情報テーブル ---- */
.rc-legal-info{background:var(--rc-white);border:1px solid var(--rc-gray2);border-radius:var(--rc-radius);overflow:hidden;box-shadow:var(--rc-shadow);}
.rc-legal-info table{width:100%;border-collapse:collapse;}
.rc-legal-info th,.rc-legal-info td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--rc-gray2);font-size:15px;line-height:1.8;vertical-align:top;}
.rc-legal-info th{background:var(--rc-light);font-weight:700;color:var(--rc-blue);width:32%;white-space:nowrap;}
.rc-legal-info tr:last-child th,.rc-legal-info tr:last-child td{border-bottom:none;}
/* ---- 改定履歴 ---- */
.rc-legal-history{font-size:14px;color:var(--rc-gray);line-height:1.9;margin:44px 0 0;padding-top:24px;border-top:1px dashed var(--rc-gray2);text-align:right;}
/* ---- CTA ---- */
.rc-legal-cta{background:var(--rc-white);border:1px dashed var(--rc-blue);border-radius:var(--rc-radius);padding:32px 36px;text-align:center;box-shadow:var(--rc-shadow);}
.rc-legal-cta__title{font-size:18px;font-weight:900;color:var(--rc-blue);margin:0 0 12px;line-height:1.5;}
.rc-legal-cta__text{font-size:15px;color:var(--rc-gray);line-height:1.9;margin:0 0 24px;}
.rc-legal-btn{display:inline-block;padding:16px 36px;border-radius:var(--rc-radius-pill);font-size:16px;font-weight:700;font-family:var(--rc-font);text-align:center;text-decoration:none;background:var(--rc-white);color:var(--rc-blue)!important;border:2px solid var(--rc-blue);transition:transform .2s,background .2s;}
.rc-legal-btn:hover{transform:translateY(-2px);background:var(--rc-blue);color:var(--rc-white)!important;text-decoration:none;}
/* ---- レスポンシブ ---- */
@media (max-width:768px){
  .rc-legal-section{padding:48px 0;}
  .rc-legal-hero{padding:52px 0 46px;}
  .rc-legal-info th,.rc-legal-info td{display:block;width:100%;white-space:normal;}
  .rc-legal-info th{border-bottom:none;padding-bottom:6px;}
  .rc-legal-cta{padding:24px 20px;}
  .rc-legal-btn{width:100%;}
}

/* ==========================================================
   法務ページ 追加分（旧: 特定商取引法ページのみが保持）
   ========================================================== */
.rc-legal-info td strong{color:var(--rc-blue);}
.rc-legal-note{background:var(--rc-light);border-left:4px solid var(--rc-pink);border-radius:var(--rc-radius-sm);padding:20px 24px;margin:0 0 14px;}
.rc-legal-note p{font-size:15px;color:var(--rc-text);line-height:1.95;margin:0 0 10px;}

/* ==========================================================
   ai-lab トップページ .rc-hub-
   2026-08-26 追加。法定ページの .rc-legal- と同じ変数を使う。
   ========================================================== */
.rc-hub *{box-sizing:border-box;}
.rc-hub{font-family:var(--rc-font);color:var(--rc-text);line-height:var(--rc-lh);}
.rc-hub-container{max-width:880px;margin:0 auto;padding:0 20px;}
.rc-hub-section{padding:64px 0;}
.rc-hub-section--light{background:var(--rc-light);}
.rc-hub-hero{background:linear-gradient(135deg,var(--rc-blue-dark),var(--rc-blue-light));color:var(--rc-white);padding:80px 0 72px;text-align:center;}
.rc-hub-hero__label{display:inline-block;font-size:12px;font-weight:700;letter-spacing:0.18em;color:var(--rc-white);background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.25);padding:7px 18px;border-radius:var(--rc-radius-pill);margin:0 0 20px;}
.rc-hub-hero__title{font-size:clamp(28px,5vw,44px);font-weight:900;line-height:1.3;margin:0 0 18px;}
.rc-hub-hero__sub{font-size:16px;color:rgba(255,255,255,0.85);line-height:1.9;max-width:640px;margin:0 auto;}
.rc-hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 0 40px;}
.rc-hub-card{background:var(--rc-white);border:1px solid var(--rc-gray2);border-radius:var(--rc-radius);padding:32px 28px;box-shadow:var(--rc-shadow);display:flex;flex-direction:column;}
.rc-hub-card__label{font-size:12px;font-weight:700;letter-spacing:0.12em;color:var(--rc-pink);margin:0 0 10px;}
.rc-hub-card__title{font-size:20px;font-weight:900;color:var(--rc-blue);line-height:1.5;margin:0 0 14px;}
.rc-hub-card__text{font-size:15px;color:var(--rc-text);line-height:1.9;margin:0 0 12px;}
.rc-hub-card__note{font-size:13px;color:var(--rc-gray);line-height:1.85;margin:auto 0 0;padding-top:12px;border-top:1px dashed var(--rc-gray2);}
.rc-hub-btn{display:inline-block;margin:auto 0 0;padding:14px 30px;border-radius:var(--rc-radius-pill);font-size:15px;font-weight:700;text-align:center;text-decoration:none;background:var(--rc-white);color:var(--rc-blue)!important;border:2px solid var(--rc-blue);transition:transform .2s,background .2s;}
.rc-hub-btn:hover{transform:translateY(-2px);background:var(--rc-blue);color:var(--rc-white)!important;text-decoration:none;}
.rc-hub-info{background:var(--rc-white);border:1px solid var(--rc-gray2);border-radius:var(--rc-radius);overflow:hidden;box-shadow:var(--rc-shadow);}
.rc-hub-info table{width:100%;border-collapse:collapse;}
.rc-hub-info th,.rc-hub-info td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--rc-gray2);font-size:15px;line-height:1.8;vertical-align:top;}
.rc-hub-info th{background:var(--rc-light);font-weight:700;color:var(--rc-blue);width:32%;white-space:nowrap;}
.rc-hub-info tr:last-child th,.rc-hub-info tr:last-child td{border-bottom:none;}
.rc-hub-legal-title{font-size:13px;font-weight:700;letter-spacing:0.1em;color:var(--rc-gray);margin:0 0 14px;}
.rc-hub-legal{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 28px;}
.rc-hub-legal a{font-size:15px;color:var(--rc-blue);text-decoration:underline;}
@media (max-width:768px){
  .rc-hub-section{padding:44px 0;}
  .rc-hub-hero{padding:56px 0 50px;}
  .rc-hub-grid{grid-template-columns:1fr;}
  .rc-hub-info th,.rc-hub-info td{display:block;width:100%;white-space:normal;}
  .rc-hub-info th{border-bottom:none;padding-bottom:6px;}
  .rc-hub-btn{width:100%;}
}

/* ---- お問い合わせフォーム（Contact Form 7） ---- */
.rc-hub-form{background:var(--rc-white);border:1px solid var(--rc-gray2);border-radius:var(--rc-radius);padding:36px 32px;box-shadow:var(--rc-shadow);margin:0 0 32px;}
.rc-hub-form label{display:block;font-size:15px;font-weight:700;color:var(--rc-blue);margin:0 0 22px;line-height:1.7;}
.rc-hub-form input[type=text],.rc-hub-form input[type=email],.rc-hub-form select,.rc-hub-form textarea{width:100%;margin-top:8px;padding:12px 14px;border:1px solid var(--rc-gray2);border-radius:var(--rc-radius-sm);font-family:var(--rc-font);font-size:15px;font-weight:400;color:var(--rc-text);background:var(--rc-white);}
.rc-hub-form input:focus,.rc-hub-form select:focus,.rc-hub-form textarea:focus{outline:none;border-color:var(--rc-blue);}
.rc-hub-form textarea{min-height:180px;resize:vertical;}
.rc-hub-form p{font-size:14px;color:var(--rc-gray);line-height:1.9;margin:0 0 20px;}
.rc-hub-form input[type=submit]{display:inline-block;width:auto;padding:16px 44px;border:none;border-radius:var(--rc-radius-pill);font-family:var(--rc-font);font-size:16px;font-weight:700;color:var(--rc-white);background:var(--rc-blue);cursor:pointer;transition:transform .2s,background .2s;}
.rc-hub-form input[type=submit]:hover{transform:translateY(-2px);background:var(--rc-blue-dark);}
.rc-hub-form .wpcf7-not-valid-tip{font-size:13px;font-weight:400;color:var(--rc-error);margin-top:6px;}
.rc-hub-form .wpcf7-response-output{font-size:14px;line-height:1.8;border-radius:var(--rc-radius-sm);padding:14px 18px;margin:20px 0 0;}
@media (max-width:768px){
  .rc-hub-form{padding:24px 20px;}
  .rc-hub-form input[type=submit]{width:100%;}
}

/* ---- 返金申請ページの注意書き ---- */
.rc-hub-note{background:var(--rc-tint-amber);border-left:4px solid var(--rc-warning);border-radius:var(--rc-radius-sm);padding:28px 30px;margin:0 0 32px;}
.rc-hub-note__title{font-size:17px;font-weight:900;color:var(--rc-ink-brown);margin:0 0 16px;line-height:1.5;}
.rc-hub-note__list{list-style:none;padding:0;margin:0 0 16px;}
.rc-hub-note__list li{font-size:15px;color:var(--rc-text);line-height:1.9;padding:9px 0;border-bottom:1px dashed var(--rc-gray2);}
.rc-hub-note__list li:last-child{border-bottom:none;}
.rc-hub-note__list strong{color:var(--rc-ink-brown);}
.rc-hub-note__text{font-size:14px;color:var(--rc-gray);line-height:1.9;margin:0;}
.rc-hub-foot{font-size:14px;color:var(--rc-gray);line-height:1.9;margin:24px 0 0;}
.rc-hub-form .wpcf7-acceptance{display:block;margin:0 0 20px;}
.rc-hub-form .wpcf7-acceptance .wpcf7-list-item{margin:0;}
.rc-hub-form .wpcf7-acceptance label{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:400;color:var(--rc-text);line-height:1.85;margin:0;}
.rc-hub-form .wpcf7-acceptance input[type=checkbox]{width:auto;margin-top:4px;flex:none;}
@media (max-width:768px){ .rc-hub-note{padding:20px 18px;} }
/* ---- LMSレッスン本文（Tutor LMS）---- */
/* Diverの pre は黒背景＋白文字だが、中の code に #eee が別途当たり、
   白文字が乗って読めなくなる。教材の「コピーして使うテンプレート」が
   この形なので、コントラストを確保する。2026-08-28 */
.tutor-lesson-content pre,
.tutor-lesson-wrapper pre{
  background:#1e293b;color:#f1f5f9;border:1px solid #334155;border-radius:6px;
  padding:16px 18px;margin:16px 0;overflow-x:auto;
  font-size:14px;line-height:1.85;white-space:pre-wrap;word-break:break-word;
}
.tutor-lesson-content pre code,
.tutor-lesson-wrapper pre code{
  background:transparent;color:inherit;padding:0;font-size:inherit;
}
.tutor-lesson-content :not(pre) > code,
.tutor-lesson-wrapper :not(pre) > code{
  background:#f1f5f9;color:#0f172a;padding:2px 6px;border-radius:4px;font-size:.92em;
}
.tutor-lesson-content table,
.tutor-lesson-wrapper table{ margin:18px 0; }
.tutor-lesson-content blockquote,
.tutor-lesson-wrapper blockquote{ margin:18px 0; }

/* ============================================================
   商品ページ（2026-09-01）
   単品のデジタル商品なので、サイドバーを外した全幅のままだと
   商品画像が 632px 角まで広がって間延びする。内容量に見合う幅に抑える。
   ============================================================ */
.single-product #main-wrap{ max-width:1040px; margin-left:auto; margin-right:auto; }
