
/*==============================================================*/
/*エントリーフォーム*/
/*==============================================================*/
/*.box_form .contentsWrap { width: 96%; }*/
/*.entryTxt { text-align: left; }*/
/*.mfp:nth-of-type(1) input, .mfp:nth-of-type(2) input { width: 48%; }
form#mailformpro dl dd:last-of-type { padding: 0; }*/
/*address.entry { padding: 30px 0; }
address.entry figure { margin-right: 0; width: 30%; max-width: 100px; margin-bottom: 20px; }
address.entry h3 { font-size: 18px; }
address.entry p { font-size: 12px; }*/
/* form要素の最大幅 */
form#mailformpro input,
form#mailformpro textarea {
  max-width: 100%;
}

.courseTxt{
      padding-left: 1em;
    display: block;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #E60011;
}

/* 最小幅 */
#mfp_element_8 { min-width: 50px !important; }

/* ポリシー枠 */
.box_form .policy {
  margin: 24px auto;
  padding: 20px 25px;
}
.box_form .policy h3 { font-size: 16px; }
.box_form .policy p  { font-size: 13px; }

/* フレックスラッパ（PCでflex化。SPはブロック） */
.flexbox { overflow: hidden; }

/* 兄弟以降の余白 */
.flexbox:not(:first-child) { margin-top: 15px; }

/* 入力系 */
input[type=date],
input[type=email],
input[type=tel],
input[type=text],
select,
textarea {
  max-width: 98%;
  border: solid 1px #CCC;
  padding: 10px 15px;
  margin: 3px !important;
  background-color: #F6F7F9;
  border-radius: 3px;
}
input:focus-visible,
textarea:focus-visible {
  outline: solid 1px #0a1978;
  background-color: #fff;
}
label { cursor: pointer; position: relative; }
input[type=date] { vertical-align: middle; }

/* 必須バッジ */
.mailform .must {
  float: right;
  display: inline-block;
  background-color: #C00;
  border: solid 2px #C00;
  padding: 3px 7px 5px;
  font-size: 12px;
  color: #FFF;
  border-radius: 30px;
  line-height: 1;
  margin: 0 5px;
}

/* プレースホルダー */
.mailform ::-webkit-input-placeholder { color:#555; font-weight:300; }
.mailform ::-moz-placeholder        { color:#555; font-weight:300; }
.mailform :-ms-input-placeholder    { color:#555; font-weight:300; }
.mailform ::-ms-input-placeholder   { color:#555; font-weight:300; }
.mailform ::placeholder             { color:#555; font-weight:300; }

/* ラジオ */
.mailform .wpcf7-radio { overflow: hidden; display: block; }
.mailform .wpcf7-radio.course_radio .wpcf7-list-item{
    float: none;
        display: block;
}

.mailform .wpcf7-list-item { position: relative; float: left; margin-right: 20px; }
.mailform input[type=radio] + .wpcf7-list-item-label {
  display:block; position:relative; padding:8px 0 8px 30px; white-space:inherit !important;
}
.mailform input[type=radio] + .wpcf7-list-item-label:before {
  content:""; background:#eee; border-radius:100%; border:1px solid #aeaeae;
  display:inline-block; width:1.4em; height:1.4em; position:absolute; top:8px; left:0;
  vertical-align:top; cursor:pointer; text-align:center; transition:all 250ms ease;
}
.mailform input[type=radio] { position:absolute; opacity:0; }
.mailform input[type=radio]:checked + .wpcf7-list-item-label:before {
  background-color:#0068b7; box-shadow: inset 0 0 0 4px #eee;
}

/* チェックボックス */
.mailform input[type=checkbox] + .wpcf7-list-item-label {
  display:block; position:relative; padding:5px 0 5px 40px; white-space:inherit !important;
}
.mailform input[type=checkbox] + .wpcf7-list-item-label:before {
  content:""; position:absolute; top:5px; left:0; display:block; width:25px; height:25px;
  border:1px solid #aeaeae; background:#F6F7F9; border-radius:4px; color:#fff;
}
.mailform input[type=checkbox] { position:absolute; left:0; top:5px; opacity:0; }
.mailform input[type=checkbox]:checked + .wpcf7-list-item-label:before {
  border:1px solid #0068b7; background-color:#0068b7;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23FFFFFF' viewBox='0 0 16 16'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z'/%3E%3C/svg%3E");
  background-position:center; background-size:25px;
}

/* 定義リスト（項目名・内容） */
.mailform dt {
  padding: 30px 5px 0;
  clear: both;
  font-weight: 500;
  border-top: solid 2px #0068b6;
}
.mailform dd {
  margin: 0;
  padding: 20px 5px;
  line-height: 1.5em;
  /*text-align: left;*/
  border-top: solid 2px #ddd;
}

.flex_age{
   display: flex !important;
   align-items: center;
   gap: 10px;
}


.check{
        margin-top: 15px;
    padding-left: 4em;
    display: block;
    font-size: 14px;
}

/* 行のまとまり */
.mailform .rows { overflow: hidden; }
.mailform .rows:not(:last-of-type) { margin-bottom: 15px; }

/* プライバシー文言 */
.mailform .privacy_box .wpcf7-list-item { float: none !important; }
.mailform .privacy_txt {
  margin-bottom: 20px; font-size: 1.4rem; padding: 25px; background: #F2F2F2;
}
.mailform .privacy_txt a {
  color:#0068B6; text-decoration:underline; font-weight:bold;
}
.mailform .privacy_txt a:hover { text-decoration:none; }

.mailform .policy_link {
  margin-bottom:15px; display:inline-block; color:#0068B6; font-weight:bold;
  text-decoration:underline; vertical-align:middle; font-size:1.4rem;
}
.mailform .policy_link:after {
  content:""; display:inline-block; width:8px; height:8px;
  border-top:1px solid #0068B6; border-right:1px solid #0068B6;
  transform:rotate(45deg); vertical-align:middle; margin:5px;
}
.mailform .policy_link:hover { text-decoration:none; }

/* ボタン */
.cf7_buttons { text-align: center; }
.cf7_buttons .btn_back,
.cf7_buttons .btn_element,
.cf7_buttons button[type=submit],
.cf7_buttons input[type=submit] {
        max-width: 240px;
        width: 100%;
  color:#fff;
  background:#0068b7 url("../../common/img/icon-plane.svg") no-repeat left 20px center/25px auto;
  font-size:1.8rem; line-height:1.3; padding:18px 30px 18px 60px; margin:25px 5px;
  position:relative; display:inline-block; vertical-align:middle;
  border-radius:30px; font-weight:500; border:none; transition: all .35s;
  box-shadow:0 1px 3px rgba(0,0,0,.35);
}
.cf7_buttons .btn_back:hover,
.cf7_buttons .btn_element:hover,
.cf7_buttons button[type=submit]:hover,
.cf7_buttons input[type=submit]:hover {
  filter: brightness(120%);
}
.wpcf7-spinner{
    margin: 0 auto;
}

/* CF7 メッセージ */
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
  color:#dc3232; font-weight:900; border:1.5px solid #dc3232; border-radius:2px;
  margin:1.5em 0; padding:.5em 1em; text-align:center;
}
.wpcf7 form.sent .wpcf7-response-output {
  color:#0068B6; font-weight:900; border:1.5px solid #0068B6; border-radius:2px;
  margin:1.5em 0; padding:.5em 1em; text-align:center;
}

/* バリデーション */
.wpcf7-not-valid-tip {
  box-sizing:border-box; border-radius:5px; background-color:#e50031; color:#fff;
  display:block; font-size:14px; font-weight:bold; margin:10px 2px 0; padding:10px 10px; position:relative;
}
.wpcf7-not-valid-tip:before {
  content:""; border:10px solid transparent; border-bottom:15px solid #e50031;
  position:absolute; top:-25px; left:5%;
}

/* reCAPTCHA 表示注記 */
.reCAPTCHA_txt { text-align:center; font-size:1.4rem; margin-top:40px; }

/* サンクスページ */
#thanks { margin-bottom: 50px; }
#thanks h3 { font-size: 18px; margin: 30px auto; }
#thanks p  { margin-bottom: 10px; }

/* ---- ≤767px ---------------------------------------------- */
@media screen and (max-width: 767px) {
  .mailform dt { padding: 15px 5px; }
  .mailform dd { clear: both; border-top-width: 1px; }
  .column{ display: block;}
}

/* ---- ≥768px ------------------------------------------- */
@media screen and (min-width: 768px){
  /*.mailform dt { width: 14em; float: left; }*/
  .mailform dd { /*padding-left: 17em;*/ padding-left: 4em; }

  .flexbox {
    /* 古いブラウザ向けの記述は残す */
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -moz-align-items: center;
    -ms-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .mailform dd { min-height: 100px; }

  
.column{
      display: grid;
      grid-template-columns:  14em calc(100% - 14em);
}
.column dt{
    display: grid;
    align-items: center;
    padding: 0 5px;
}
.column dd{
    display: grid;
    align-items: center;
}


}

/* ---- ≤768px（thanks段落の左寄せ指定） ------------------- */
@media screen and (max-width: 768px) {

  #thanks p { text-align: left; }
    .box_form { padding-inline: 2%; }
}

/* ---- print ------------------------------------------------
   印刷時は幅条件なしでPC相当のレイアウトに寄せる
------------------------------------------------------------- */
@media print {
  .flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .mailform dt { width: 14em; float: left; }
  .mailform dd { padding-left: 17em; min-height: 100px; }
}