@charset "UTF-8";
/* =====================================================================
「ルミエール友の会」WEB入会フォームページ用スタイル
===================================================================== */
#mainContents {
  padding-bottom: 0 !important;
}

/* -------------------------------------------------------------- */
.emoji {
  -webkit-filter: grayscale(100%) brightness(0) invert(1);
          filter: grayscale(100%) brightness(0) invert(1);
}

/* -------------------------------------------------------------- */
.form_frame {
  width: 100%;
}

/* -------------------------------------------------------------- */
.agree {
  width: 80%;
  height: 260px;
  overflow-x: hidden;
  padding: 40px 30px;
  margin-bottom: 90px;
  background: #fff;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  margin: 0 auto;
  margin-bottom: 90px;
  font-size: 0.8em;
}
@media screen and (max-width: 768px) {
  .agree {
    width: 95%;
    height: 150px;
    overflow-x: hidden;
    padding: 20px;
    margin-bottom: 9vw;
  }
}
.agree .pre {
  white-space: pre-wrap; /* ← 改行維持しつつ折り返す */
  word-wrap: break-word; /* ← 長い単語も折り返す */
}

/* -------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .acceptance .agree {
    margin-bottom: 20px;
  }
}

/* -------------------------------------------------------------- */
.p-mem-sec__form {
  background: #FFF;
  padding-top: 30px;
  padding-bottom: 70px;
  padding-left: 120px;
  padding-right: 120px;
}
@media screen and (max-width: 768px) {
  .p-mem-sec__form {
    padding: 6% 6% 9%;
  }
}

/* -------------------------------------------------------------- */
.p-mem-sec_agree {
  margin: 0 auto;
  padding-top: 40px;
  padding-bottom: 40px;
}

/* -------------------------------------------------------------- */
.c-form__inner {
  padding-top: 40px;
}

/* ===================================================================
全体レイアウト
=================================================================== */
form.wpcf7-form dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  gap: 16px;
}

form.wpcf7-form dt,
form.wpcf7-form dd {
  margin: 0;
}

/* 各行を横並びにする */
form.wpcf7-form dl > dt,
form.wpcf7-form dl > dd {
  display: inline-block;
  vertical-align: middle;
}

/* dt+ddペア全体を横並びに配置 */
form.wpcf7-form dl > dt {
  width: 30%;
  text-align: left;
  padding-right: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.6;
}

form.wpcf7-form dl > dd {
  width: 60%;
}

form.wpcf7-form dl > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* -------------------------------------------------------------- */
/* 画像サイズを強制固定 */
.p-mem-sec__lead picture img {
  width: 360px !important;
  height: 90px !important;
  max-width: none !important;
  margin: 0 auto;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .p-mem-sec__lead picture img {
    width: 100% !important;
    height: auto !important;
    margin-bottom: 40px;
  }
}

/* -------------------------------------------------------------- */
/* 入力欄全体のスタイル（再掲） */
form.wpcf7-form input[type=text],
form.wpcf7-form input[type=email],
form.wpcf7-form input[type=tel],
form.wpcf7-form select,
form.wpcf7-form textarea {
  width: 100%;
  padding: 10px 14px;
  border: none;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  font-size: 15px;
  -webkit-transition: border-color 0.2s, -webkit-box-shadow 0.2s;
  transition: border-color 0.2s, -webkit-box-shadow 0.2s;
  transition: border-color 0.2s, box-shadow 0.2s;
  transition: border-color 0.2s, box-shadow 0.2s, -webkit-box-shadow 0.2s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  form.wpcf7-form textarea {
    height: 100px;
  }
}

/* -------------------------------------------------------------- */
/* 「確認画面へ」ボタンデザインを変更 */
.wpcf7 input[type=submit].c-button {
  background-color: #78C153 !important;
  color: #fff !important;
  border-radius: 40px !important;
  padding: 12px 24px !important;
  border: 1px solid transparent !important;
  font-size: 16px !important;
  display: inline-block;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.wpcf7 input[type=submit].c-button:hover {
  background-color: #fff !important;
  color: #78C153 !important;
  border: 1px solid #78C153 !important;
}

/* -------------------------------------------------------------- */
/* ===== 生年月日や複数フィールド横並びにも対応 ===== */
/* --- 誕生日入力（年・月・日）横並び強制 --- */
.birthday__list ul {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: horizontal !important;
  -webkit-box-direction: normal !important;
      -ms-flex-direction: row !important;
          flex-direction: row !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.birthday__list ul li { /* li を横幅に合わせて縮める */
  list-style: none;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  padding: 0;
}
.birthday__list ul li p { /* p がブロック要素なので横並び阻害 → インライン化 */
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}

/* -------------------------------------------------------------- */
/* セレクトボックスの調整（任意） */
.birthday__list select {
  padding: 6px 8px;
}

.acceptance {
  padding-top: 60px;
}
@media screen and (max-width: 768px) {
  .acceptance {
    padding-top: 30px;
  }
}
.acceptance p {
  text-align: center;
}

/* -------------------------------------------------------------- */
/* ===== モバイルでは縦並びに戻す ===== */
@media screen and (max-width: 768px) {
  form.wpcf7-form dl {
    gap: 12px;
  }
  form.wpcf7-form dl > dt {
    width: 100%;
    text-align: left;
    padding-right: 0;
  }
  form.wpcf7-form dl > dd {
    width: 100%;
  }
}
/* -------------------------------------------------------------- */
.payment-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; /* 横方向に中央揃え */
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  font-family: "Cochin", "NotoSerif", serif !important;
}
.payment-tabs .tab-button {
  padding: 10px 80px;
  background: #fff;
  border: none;
  cursor: pointer;
  font-size: 16px;
  border-radius: 10px 10px 0 0;
  color: #333 !important;
}
@media screen and (max-width: 768px) {
  .payment-tabs .tab-button {
    height: 80px;
    padding: 10px;
    font-size: 1em;
  }
}
.payment-tabs .tab-button.active {
  background: #78C153;
  color: #fff !important;
}

/* -------------------------------------------------------------- */
.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}

/* -------------------------------------------------------------- */
/* 以下追加 */
.credit .credit-text,
.bank .bank-text {
  display: block;
}

.bank .for_bank {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.bank .credit-text,
.credit .bank-text,
.credit .for_bank {
  display: none;
}

/* ----------------------------------------------------------------
フォーム
---------------------------------------------------------------- */
#reQuest input[type=checkbox],
#privacy_checkBox input[type=checkbox] {
  display: none;
}

/* -------------------------------------------------------------- */
.item_choice {
  letter-spacing: 0;
  line-height: 140%;
  padding-left: 1rem;
  cursor: pointer;
  display: inline-block;
  position: relative;
  z-index: 1;
  margin-bottom: 0.5rem;
  text-align: center;
}
.item_choice:before, .item_choice:after {
  content: "";
  position: absolute;
}
.item_choice:before {
  left: 0;
  top: 0.12rem;
  border: 1px solid #333;
  width: 0.8rem;
  height: 0.8rem;
}
.item_choice:after {
  display: block;
  border-right: 2px solid #78C153;
  border-bottom: 3px solid #78C153;
  width: 0.5rem;
  height: 0.9rem;
  top: 0%;
  left: 4px;
  opacity: 0;
  -webkit-transform: rotate(48deg) skew(15deg);
  transform: rotate(48deg) skew(15deg);
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}
@media screen and (min-width: 1200px) {
  .item_choice br {
    display: none;
  }
}

#reQuest input[type=checkbox]:checked + .item_choice,
#privacy_checkBox input[type=checkbox]:checked + .item_choice {
  color: #78C153;
}

#reQuest input[type=checkbox]:checked + .item_choice:before,
#privacy_checkBox input[type=checkbox]:checked + .item_choice:before {
  border-color: #78C153;
}

#reQuest input[type=checkbox]:checked + .item_choice:after,
#privacy_checkBox input[type=checkbox]:checked + .item_choice:after {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  ul.tab_navi_list.payment li {
    width: 50%;
  }
}
/*
@media screen and (max-width: 768px) {
  ul.tab_navi_list.payment li a {
    font-size: 90%;
  }
}
*/
/*
FORM
=====================================================================*/
dl.form_one_box {
  /* width: 80%; */
  width: 100%;
  height: auto;
  margin: 0 auto 30px;
  max-width: 860px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  dl.form_one_box {
    margin-bottom: 6% !important;
    width: 100%;
  }
}
dl.form_one_box dt, dl.form_one_box dd {
  height: auto;
  position: relative;
}
dl.form_one_box dt {
  width: 30% !important;
  padding: 10px 0;
}
@media screen and (max-width: 768px) {
  dl.form_one_box dt {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 0.4rem !important;
  }
}
dl.form_one_box dd {
  width: 68% !important;
  text-align: left;
}
@media screen and (max-width: 768px) {
  dl.form_one_box dd {
    width: 100% !important;
  }
}
dl.form_one_box dd.fullsize {
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
}
dl.form_one_box dd.zipbox {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
dl.form_one_box.with_text {
  margin-top: 45px;
}
@media screen and (max-width: 768px) {
  dl.form_one_box.with_text {
    margin-top: 6%;
  }
}
dl.form_one_box input, dl.form_one_box select, dl.form_one_box textarea {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
dl.form_one_box input[type=text],
dl.form_one_box input[type=email],
dl.form_one_box input[type=tel],
dl.form_one_box select,
dl.form_one_box textarea {
  width: 100%;
  padding: 10px 14px;
  border: none;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  -webkit-transition: border-color 0.2s, -webkit-box-shadow 0.2s;
  transition: border-color 0.2s, -webkit-box-shadow 0.2s;
  transition: border-color 0.2s, box-shadow 0.2s;
  transition: border-color 0.2s, box-shadow 0.2s, -webkit-box-shadow 0.2s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  dl.form_one_box input[type=text],
  dl.form_one_box input[type=email],
  dl.form_one_box input[type=tel],
  dl.form_one_box select,
  dl.form_one_box textarea {
    font-size: 12.5px;
    font-size: min(3.9vw, 15px);
  }
}
dl.form_one_box textarea.form_text {
  min-height: 200px !important;
  display: block;
  margin: 0 auto;
}
dl.form_one_box select.form_text_small,
dl.form_one_box input[type=text].form_text_small {
  width: 40%;
}
dl.form_one_box input[type=text].form_text_small {
  margin: 0 5% 0 0 !important;
}
dl.form_one_box .select_box {
  position: relative;
  z-index: 1;
  border: 1px solid transparent;
}
dl.form_one_box .select_box:before, dl.form_one_box .select_box:after {
  content: "";
  display: block;
  position: absolute;
  pointer-events: none;
  border: 1px solid transparent;
  width: 0;
  height: 0;
  right: 16px;
}
dl.form_one_box .select_box:before {
  bottom: 60%;
  border-width: 0.45rem 0.25rem;
  border-bottom-color: #333;
}
dl.form_one_box .select_box:after {
  border-width: 0.45rem 0.25rem;
  border-top-color: #333;
  top: 60%;
}
dl.form_one_box .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  gap: 1em;
}
dl.form_one_box .flex .select_box {
  width: 25%;
}
dl.form_one_box .flex .select_box:nth-of-type(1) {
  width: 50%;
}
dl.form_one_box .flex .select_box select {
  width: 100%;
  color: #000;
}
dl.form_one_box .flex .select_box select:before {
  -webkit-transform: translateY(60%);
          transform: translateY(60%);
}
dl.form_one_box .flex .select_box select:after {
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
}

#select_cash_bank.select_box:before, #select_cash_bank.select_box:after {
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
#select_cash_bank.select_box:before {
  bottom: 40%;
}
#select_cash_bank.select_box:after {
  top: 70%;
}

/* ----------------------------------------------------------- */
.is-empty {
  color: darkgray;
}

/* ----------------------------------------------------------- */
.mark_required {
  line-height: 100%;
  color: #78C153;
  vertical-align: top;
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .mark_required {
    font-size: 10px;
  }
}

/* ----------------------------------------------------------- */
.formbox {
  margin-top: 45px;
}
@media screen and (max-width: 768px) {
  .formbox {
    margin-top: 9%;
    width: 100%;
  }
}

/* ----------------------------------------------------------- */
.form_one_box + .agree {
  margin-top: 60px;
  width: 100%;
  max-width: 860px;
  padding: 40px 50px;
  /* padding: 40px 20px; */
}
@media screen and (max-width: 768px) {
  .form_one_box + .agree {
    margin-top: 6%;
    margin-bottom: 10%;
    width: 100%;
    padding: 20px;
  }
}

/* ----------------------------------------------------------- */
.privacy_text p {
  /* margin-bottom: 1.5rem;
  line-height: 200%;
  text-align: center; */
  font-size: clamp(13px, 0.729vw, 14px);
  line-height: 200%;
  text-align: justify;
  margin-bottom: 0;
  display: block;
}
@media screen and (max-width: 768px) {
  .privacy_text p {
    font-size: min(3.125vw, 14px);
  }
}
.privacy_text p:last-of-type {
  margin-bottom: 0;
}
.privacy_text p span {
  font-size: clamp(14px, 0.833vw, 16px);
  display: block;
}
.privacy_text p.indent {
  margin-top: 1em;
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.privacy_text p.no-indent {
  margin-top: 1em;
  padding-left: 1.5em;
}

/* ----------------------------------------------------------- */
#privacy_checkBox .item_choice {
  padding-left: 1.5rem;
}
#privacy_checkBox .item_choice:before {
  top: 0.12rem;
  width: 1rem;
  height: 1rem;
}

/* ----------------------------------------------------------- */
.submit_btn_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.submit_btn_box .btn_agree {
  font-size: 16px;
  text-align: center;
  color: #fff;
  background: #78C153;
  border-radius: 100vh !important;
  display: block;
  max-width: 300px !important;
  width: 70% !important;
  margin: 50px auto 0;
  padding: 12px 24px;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
  font-weight: 600;
  -webkit-box-shadow: 0;
  box-shadow: 0;
  border: 1px solid #78C153;
}
.submit_btn_box .btn_agree:hover {
  background: #fff;
  color: #78C153;
}

/* ----------------------------------------------------------- */
/* 送信ボタン切り替え */
#cash_bank-submit,
#paypal-button-container {
  display: none;
}
#cash_bank-submit.active,
#paypal-button-container.active {
  display: block;
}

/* ----------------------------------------------------------- */
.select_box.bank {
  display: inline-block;
  width: 100%;
}
.select_box.bank:before {
  -webkit-transform: translateY(60%);
          transform: translateY(60%);
}
.select_box.bank:after {
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
}
.select_box.bank select {
  color: #000;
}

/* ----------------------------------------------------------- */
#privacy_checkBox {
  text-align: center;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  #privacy_checkBox {
    margin-bottom: 9%;
  }
}

/* ----------------------------------------------------------- */
#confirm_section {
  background: #FFF;
  padding-top: 70px;
  padding-bottom: 70px;
  padding-left: 120px;
  padding-right: 120px;
}
@media screen and (max-width: 768px) {
  #confirm_section {
    padding: 15px;
  }
}
#confirm_section .confirm_inner {
  width: 90%;
  margin: 0 auto;
}
#confirm_section .request_form_headline {
  font-size: clamp(26px, 1.563vw, 30px);
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
  text-align: center;
  padding: 0.8rem 2rem;
  width: 70%;
  max-width: 400px;
  margin: 0 auto 60px;
  font-weight: 400;
  line-height: 140%;
  font-family: "NotoSerif", serif !important;
  display: block;
}
@media screen and (max-width: 768px) {
  #confirm_section .request_form_headline {
    font-size: min(4.583vw, 26px);
    width: 100%;
    padding: 0.8rem 0;
    margin-bottom: 12%;
    margin-top: 1em;
  }
}

/* ----------------------------------------------------------- */
#confirm_send {
  width: 80%;
  margin: 0 auto;
  font-size: clamp(12px, 3.75vw, 18px);
}
@media screen and (max-width: 768px) {
  #confirm_send {
    width: 100%;
  }
}
#confirm_send p {
  border-bottom: 1px solid #78C153;
  line-height: 2;
  margin-bottom: 1.4rem;
}

/* ----------------------------------------------------------- */
#paypal-button-container {
  margin: 60px auto 0;
  width: 90%;
  max-width: 600px;
  /* display: block; */
}
@media screen and (max-width: 768px) {
  #paypal-button-container {
    margin-top: 11vw;
  }
}

/* ----------------------------------------------------------- */
#confirm_section .btn_agree {
  font-size: clamp(20px, 1.0422vw, 24px);
  text-align: center;
  color: #fff;
  border-radius: 100vh !important;
  max-width: 300px !important;
  width: 70% !important;
  margin: 60px auto 0;
  padding: 12px 24px;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
  font-weight: 600;
  margin-top: 30px;
  background: #78C153;
  border: 1px solid #78C153;
}
#confirm_section .btn_agree.back {
  background: #999;
  border: 1px solid #999;
  display: block;
}
#confirm_section .btn_agree.back:hover {
  color: #999;
  background: #fff;
}
#confirm_section .btn_agree:hover {
  color: #78C153;
  background: #fff;
}

/* ----------------------------------------------------------- */
.tac {
  text-align: center;
}
.tac .wpcf7-list-item {
  margin-left: 0;
}

/* 
26.1.20
------------------------------------------------ */
#top-Plan.section_basic {
  padding-bottom: 0 !important;
}