/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


/**
 *  Astra-Child  –  CF7「職員向けアンケートフォーム」専用スタイル
 *  -------------------------------------------------------------
 *  モバイル   :  ≤ 480px
 *  タブレット :  481-768px
 *  デスクトップ: 769px-
 */

/* =========================================================
   0. リセット & ベース
   ========================================================= */
.wpcf7-form.styled-survey,
.wpcf7-form.styled-survey *{
    box-sizing:border-box;
    font-family: -apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
}
/* 1. レイアウト・外枠 -------------------------------------------------- */
.wpcf7-form.styled-survey .container{
    max-width:900px;
    margin:0 auto;
    background:#fff;
    border-radius:24px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    overflow:hidden;
}
.wpcf7-form.styled-survey .form-section{padding:40px;}

/* 2. ヘッダー --------------------------------------------------------- */
.wpcf7-form.styled-survey .header{
    background:linear-gradient(135deg,#6b8cff 0%,#8355c8 100%);
    color:#fff;
    padding:48px 32px 40px;
    text-align:center;
}
.wpcf7-form.styled-survey .header h1{font-size:28px;font-weight:700;margin-bottom:10px;color: #fff;}
.wpcf7-form.styled-survey .header p{font-size:16px;opacity:.9;margin:0;}

/* 3. 質問セクション --------------------------------------------------- */
.wpcf7-form.styled-survey .question-section{
    background:#fff;
    border:1px solid #e4e8f0;
    border-radius:16px;
    padding:32px;
    margin-bottom:28px;
    transition:.3s;
}
.wpcf7-form.styled-survey .question-section:hover{
    box-shadow:0 4px 16px rgba(0,0,0,.06);
    transform:translateY(-2px);
}
.wpcf7-form.styled-survey .question-number{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#667eea,#764ba2);
    color:#fff;
    font-weight:700;
    width:36px;height:36px;
    border-radius:50%;
    margin-right:14px;
    font-size:16px;
}
.wpcf7-form.styled-survey .question-text{
    font-size:20px;
    font-weight:700;
    color:#2c3e50;
    margin-bottom:26px;
    line-height:1.5;
}

/* 4. 共通入力 --------------------------------------------------------- */
.wpcf7-form.styled-survey input[type=text],
.wpcf7-form.styled-survey input[type=email],
.wpcf7-form.styled-survey textarea{
    width:100%;
    padding:14px 18px;
    border:2px solid #e4e8f0;
    border-radius:10px;
    background:#fafbfd;
    font-size:16px;
    transition:.25s;
}
.wpcf7-form.styled-survey input:focus,
.wpcf7-form.styled-survey textarea:focus{
    border-color:#667eea;
    background:#fff;
    box-shadow:0 0 0 3px rgba(102,126,234,.15);
    outline:none;
}
.wpcf7-form.styled-survey textarea{min-height:110px;resize:vertical;}

/* 5. 5段階凡例パネル -------------------------------------------------- */
.wpcf7-form.styled-survey .scale-legend{
    background:#f4f6ff;
    border:1px solid #dce1ff;
    border-radius:14px;
    padding:26px 24px;
    margin:40px 0;
    text-align:center;
}
.wpcf7-form.styled-survey .scale-legend h3{
    font-size:17px;
    font-weight:700;
    color:#4f5fd4;
    margin:0 0 20px;
}
.wpcf7-form.styled-survey .scale-legend .scale-items{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.wpcf7-form.styled-survey .scale-item{
    background:#fff;
    border-radius:8px;
    padding:10px 0;
    font-size:15px;
    font-weight:600;
    color:#2c3e50;
}

/* 6. カード型ラジオ --------------------------------------------------- */
.wpcf7-form.styled-survey .wpcf7-radio{
    flex-direction:column;
    gap:24px;
}
.wpcf7-form.styled-survey .wpcf7-list-item{
    position:relative;
    width:100%;
	padding: 8px 0;
	margin: 0px;
}
.wpcf7-form.styled-survey .wpcf7-list-item input[type=radio]{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;
	z-index:3;
    margin:0;
}
/* 見た目用スパンはクリックを奪わないように ---------- */
.wpcf7-form.styled-survey .wpcf7-list-item .wpcf7-list-item-label{
    pointer-events:none;  /* ← 追加② */
}

/* （任意）ラベル全体を高さ 100% にして安心 ---------- */
.wpcf7-form.styled-survey .wpcf7-list-item label{
    display:block;        /* ← 追加③ */
    height:100%;
}
/* 見た目（未選択） */
.wpcf7-form.styled-survey .wpcf7-list-item .wpcf7-list-item-label{
     display:flex;
     justify-content:center;
     align-items:center;
     background:#f7f9fc;
     border:2px solid #e0e4ea;
     border-radius:12px;
     padding:10px 18px;
     font-size:16px;
     font-weight:600;
     color:#2c3e50;
     min-height:40px;
     transition:.2s;
}
/* ホバー (PC) */
@media (hover:hover){
  .wpcf7-form.styled-survey .wpcf7-list-item:hover .wpcf7-list-item-label{
      transform:translateY(-2px);
      box-shadow:0 4px 12px rgba(0,0,0,.04);
  }
}
/* 選択状態 */
.wpcf7-form.styled-survey .wpcf7-list-item input[type=radio]:checked + .wpcf7-list-item-label,
.wpcf7-form.styled-survey .wpcf7-list-item input[type=radio]:checked ~ .wpcf7-list-item-label{
    background:linear-gradient(135deg,#667eea,#764ba2);
    border-color:#667eea;
    color:#fff;
    box-shadow:0 6px 16px rgba(102,126,234,.35);
    transform:translateY(-2px);
}

/* 7. プライバシー同意 ------------------------------------------------- */
.wpcf7-form.styled-survey .privacy-section{
    background:#f8f9fa;
    border:1px solid #e4e8f0;
    border-radius:12px;
    padding:22px 20px;
    margin:36px 0;
}
.wpcf7-form.styled-survey .privacy-checkbox{
    display:flex;
    align-items:center;
    gap:14px;
}
.wpcf7-form.styled-survey .privacy-checkbox input{
    width:22px;height:22px;
    accent-color:#667eea;
}
.wpcf7-form.styled-survey .privacy-text{font-size:16px;color:#4d5562;}
.wpcf7-form.styled-survey .privacy-text a{color:#667eea;font-weight:600;text-decoration:none;}
.wpcf7-form.styled-survey .privacy-text a:hover{text-decoration:underline;}

/* 8. 送信ボタン ------------------------------------------------------- */
.wpcf7-form.styled-survey .submit-section{
    background:#f8f9fa;
    border-top:1px solid #e4e8f0;
    padding:36px 0;
    text-align:center;
}
.wpcf7-form.styled-survey input.wpcf7-submit{
    background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);
    color:#fff;
    padding:18px 48px;
    font-size:18px;
    font-weight:700;
    border:none;
    border-radius:32px;
    cursor:pointer;
    transition:.3s;
    box-shadow:0 4px 16px rgba(102,126,234,.35);
}
.wpcf7-form.styled-survey input.wpcf7-submit:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 20px rgba(102,126,234,.45);
}
.wpcf7-form.styled-survey input.wpcf7-submit:active{transform:translateY(0);}

/* 9. バリデーションエラー -------------------------------------------- */
.wpcf7-form.styled-survey span.wpcf7-not-valid-tip{
    display:block;
    margin-top:6px;
    font-size:14px;
    color:#d93025;
}

/* =========================================================
   🔄 レスポンシブ
   ========================================================= */

/* ---------- ≤ 768px (タブレット) ---------- */
@media (max-width:768px){
  .wpcf7-form.styled-survey .container{border-radius:20px;}
  .wpcf7-form.styled-survey .form-section{padding:28px;}
  .wpcf7-form.styled-survey .question-section{padding:26px;}
  .wpcf7-form.styled-survey .question-text{font-size:18px;margin-bottom:22px;}
  .wpcf7-form.styled-survey .header h1{font-size:24px;}
  .wpcf7-form.styled-survey .header p{font-size:15px;}
}

/* ---------- ≤ 480px (スマホ) ---------- */
@media (max-width:480px){
  .wpcf7-form.styled-survey .form-section{padding:20px;}
  .wpcf7-form.styled-survey .header{padding:36px 20px 28px;}
  .wpcf7-form.styled-survey .header h1{font-size:20px;}
  .wpcf7-form.styled-survey .header p{font-size:14px;}
  .wpcf7-form.styled-survey .question-section{padding:22px;}
  .wpcf7-form.styled-survey .question-text{font-size:16px;}
  .wpcf7-form.styled-survey .wpcf7-list-item .wpcf7-list-item-label{padding:0px;font-size:15px;}
  .wpcf7-form.styled-survey .scale-legend{padding:20px 16px;margin:32px 0;}
  .wpcf7-form.styled-survey .scale-legend h3{font-size:15px;margin-bottom:16px;}
  .wpcf7-form.styled-survey .submit-section{padding:28px 0;}
  .wpcf7-form.styled-survey input.wpcf7-submit{padding:16px 36px;font-size:17px;}
}

/* ===== 自由回答テキストエリア – 初期表示を小さく ===== */
.wpcf7-form.styled-survey .free-answer textarea{
    min-height:60px;   /* ← 約 2 行分 */
    height:60px;       /*   同上（ブラウザによって rows が無視される対策） */
    resize:vertical;   /* ← ユーザーが必要なら自由に伸ばせる */
}

/* ===== 自由回答テキストエリア – 初期表示を小さく ===== */
textarea{
    min-height:60px;   /* ← 約 2 行分 */
    height:60px;       /*   同上（ブラウザによって rows が無視される対策） */
    resize:vertical;   /* ← ユーザーが必要なら自由に伸ばせる */
}

/*任意*/
.optional {
  font-size: .9em;
  color: #888;
  margin-left: .25em;
}
