@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ----- AISEEN ブランドカラー ----- */
.Form-aiseen,
.mw_wp_form:has(.Form-aiseen) {
  --aiseen-green: #82b366;
  --aiseen-green-dark: #5f8f47;
  --aiseen-green-deep: #4a7340;
  --aiseen-green-border: #a8c99a;
  --aiseen-green-focus: #6a9e52;
}

/* MW WP Form 内の AISEEN フォームカード（サイト全体の form には影響させない） */
.mw_wp_form:has(.Form-aiseen) form {
  background: white;
  border-radius: 10px;
  padding: 3em 2em;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}

/* ラベル行（ラベル＋必須/任意＋※注釈） */
.Form-aiseen .flex-botan {
  display: flex;
  align-items: center;
  gap: 0.5em;
}

/* 代理店コード（URL パラメータ用・非表示） */
.Form-aiseen .agent_code_area {
  display: none;
}

/* フォーム全体の幅・余白 */
.Form-aiseen.Form,
.mw_wp_form:has(.Form-aiseen) .Form {
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.Form-aiseen .Form-Item {
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
}

/* 項目ラベル */
.Form-aiseen .Form-Item-Label {
  max-width: 248px;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-size: 16px;
}

/* 必須バッジ：赤（項目ラベル文字色はテーマ既定の黒のまま） */
.Form-aiseen .Form-Item-Label-Required {
  border-radius: 14px;
  margin-left: 12px;
  padding: 3px 10px;
  text-align: center;
  background: #e53935;
  color: #ffffff;
  font-size: 10px;
  font-weight: 500;
  flex-shrink: 0;
  white-space: nowrap;
}

/* 任意バッジ：灰色 */
.Form-aiseen .Form-Item-Label-Required.Form-Item-Label-Optional {
  background: #9e9e9e;
  color: #ffffff;
}

/* 旧クラス名（任意表示用・HTML で未使用なら害なし） */
.Form-aiseen .Form-Item-Label-NO-Required {
  border-radius: 14px;
  margin-left: 12px;
  padding: 3px 10px;
  text-align: center;
  background: #9e9e9e;
  color: #fff;
  font-size: 10px;
  font-weight: 500;
  flex-shrink: 0;
  white-space: nowrap;
}

/* テキスト入力・セレクト：緑枠 */
.Form-aiseen .Form-Item-Input,
.Form-aiseen .Form-Item-Select,
.Form-aiseen .Form-Item select {
  border: 1px solid var(--aiseen-green-border);
  border-radius: 6px;
  padding-left: 0.5em;
  padding-right: 1em;
  flex: 1;
  width: 100%;
  background: #ffffff;
  font-size: 16px;
  margin-top: 10px;
}

/* テキストエリア：緑枠 */
.Form-aiseen .Form-Item-Textarea,
.Form-aiseen .Form-Item textarea {
  border: 1px solid var(--aiseen-green-border);
  border-radius: 6px;
  padding-left: 1em;
  padding-right: 1em;
  height: 108px !important;
  flex: 1;
  width: 100%;
  background: #ffffff;
  font-size: 16px;
  margin-top: 10px;
}

/* フォーカス時：濃い緑枠＋淡い緑の光彩 */
.Form-aiseen .Form-Item-Input:focus,
.Form-aiseen .Form-Item-Select:focus,
.Form-aiseen .Form-Item-Textarea:focus,
.Form-aiseen .Form-Item select:focus,
.Form-aiseen .Form-Item textarea:focus,
.Form-aiseen select[name="plan"]:focus {
  border-color: var(--aiseen-green-focus);
  outline: none;
  box-shadow: 0 0 0 2px rgba(130, 179, 102, 0.25);
}

/* 送信ボタン：緑（MW WP Form が .Form-aiseen の外に出す場合も対象） */
.mw_wp_form:has(.Form-aiseen) .Form-Btn,
.mw_wp_form:has(.Form-aiseen) input[type="submit"],
.mw_wp_form:has(.Form-aiseen) button[type="submit"] {
  border-radius: 40px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 15px;
  padding-bottom: 15px;
  width: 240px;
  display: block;
  letter-spacing: 0.05em;
  background: var(--aiseen-green);
  color: #ffffff;
  font-weight: bold;
  font-size: 20px;
  border: 1px solid var(--aiseen-green-dark);
}

.mw_wp_form:has(.Form-aiseen) .Form-Btn:hover,
.mw_wp_form:has(.Form-aiseen) input[type="submit"]:hover,
.mw_wp_form:has(.Form-aiseen) button[type="submit"]:hover {
  background: var(--aiseen-green-dark);
  border-color: var(--aiseen-green-deep);
}

/* 幅ユーティリティ */
.Form-aiseen .Form-normal {
  width: 46%;
}

.Form-aiseen .Form-wide {
  width: 100%;
}

.Form-aiseen .Form-shrink {
  width: 35%;
}

/* 利用規約ブロック直前の区切り */
.Form-aiseen .Form-Last-Item {
  margin-top: 30px;
  border-top: 1px solid var(--aiseen-green-border);
}

.Form-aiseen .Form-midasi {
  font-weight: bold;
  font-size: 22px;
  margin-bottom: 10px;
}

.Form-aiseen .Form-explanation {
  font-weight: 400;
  font-size: 15px;
  margin-bottom: 17px;
}

/* ※注釈（価格税抜き表示など） */
.Form-aiseen .Form-Item-Sub {
  font-weight: 400;
  font-size: 13px;
}

/* プライバシーリンク（利用時） */
.Form-aiseen .Form-privacy {
  cursor: pointer;
  color: var(--aiseen-green-deep);
  text-decoration: underline;
}

/* スマホ：ラベル行の PC/SP 切替・幅調整 */
@media screen and (max-width: 750px) {
  .Form-aiseen .Form-Item {
    padding-top: 0;
  }

  .Form-aiseen .Form-normal,
  .Form-aiseen .Form-shrink {
    width: 100%;
  }

  .Form-aiseen .flex-botan-pc {
    display: none;
  }

  .Form-aiseen .flex-botan-sp {
    display: flex;
    flex-direction: column;
  }

  .Form-aiseen .Form-Item-Sub {
    font-size: 11px;
  }

  .Form-aiseen .Form-Last-Item {
    padding-top: 30px;
  }

  .Form-aiseen .Form-sousin {
    margin-top: 20px;
  }

  .Form-aiseen .Form-check {
    letter-spacing: 0.5px;
  }
}

/* PC：SP 用ラベル行を非表示 */
@media screen and (min-width: 751px) {
  .Form-aiseen .flex-botan-sp {
    display: none;
  }
}

/* 申込フォーム：利用規約見出しまわり */
.Form-aiseen .flex-botan-apply-ps {
  display: flex;
  flex-direction: column;
}

.Form-aiseen .apply-kiyaku {
  margin-bottom: 0 !important;
}

/* ----- フォーム調整（オプション・ラジオの縦並び） ----- */

/* チェックボックス・ラジオを縦一列に並べる */
.Form-aiseen .Form-Item.options > p {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 12px 0 0;
  padding: 0;
}

/* テーマ側の横並び指定を無効化 */
.Form-aiseen .Form-Item.options .horizontal-item {
  display: block !important;
  margin: 0 !important;
}

/* チェックボックス：□ とテキストを横並び */
.Form-aiseen .Form-Item.options .mwform-checkbox-field label {
  display: grid;
  grid-template-columns: 1.25em 1fr;
  align-items: start;
  column-gap: 8px;
}

.Form-aiseen .Form-Item.options input[type="checkbox"] {
  width: 1.1em;
  height: 1.1em;
  margin: 0;
}

.Form-aiseen .Form-Item.options .mwform-checkbox-field-text {
  line-height: 1.6;
}

/* ラジオにテキスト入力用の見た目が当たるのを防ぐ */
.Form-aiseen input[type="radio"].Form-Item-Input,
.Form-aiseen .Form-Item-Input[type="radio"] {
  width: 1.1em !important;
  height: 1.1em !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 50% !important;
  display: inline-block !important;
}

/* ネイティブラジオの選択色を緑に */
.Form-aiseen input[type="radio"] {
  display: inline-block !important;
  vertical-align: middle;
  accent-color: var(--aiseen-green);
}

/* ラジオ行の配置 */
.Form-aiseen .mwform-radio-field {
  display: block;
  margin: 8px 0;
}

.Form-aiseen .mwform-radio-field label {
  display: grid;
  grid-template-columns: 1.25em 1fr;
  align-items: center;
  column-gap: 8px;
}

.Form-aiseen .mwform-radio-field-text {
  line-height: 1.6;
}

/* GBPラジオ（.options クラス無し）も同じ縦並び */
.Form-aiseen .Form-Item:has(input[type="radio"][name="gbp"]) > p,
.Form-aiseen .Form-Item:has(input[type="radio"][name^="gbp["]) > p {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 12px 0 0;
  padding: 0;
}

.Form-aiseen .Form-Item:has(input[type="radio"][name="gbp"]) .mwform-radio-field label,
.Form-aiseen .Form-Item:has(input[type="radio"][name^="gbp["]) .mwform-radio-field label {
  display: grid;
  grid-template-columns: 1.25em 1fr;
  align-items: center;
  column-gap: 8px;
}

/* MW WP Form 横並び余白のリセット */
.mw_wp_form:has(.Form-aiseen) .horizontal-item + .horizontal-item {
  margin-left: 0;
}
