@charset "UTF-8";
/* Scss Document */
/*font*/
/*頻出するテーマカラーのブルー、全体的な変更に備えて変数化*/
/*
@mediaquery変更に備えて変数化
@media screen and (min-width:$onmouse)
のような形で使う
*/
/*==========================================
 導入部
===========================================*/
.innerPT {
  padding-top: clamp(100px, 15vw, 180px) !important;
}

input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield;
}

.form_tle_bg {
  background: #ededed;
  padding: 40px 2% 40px;
  margin-bottom: 60px;
  color: #1c2a51;
}

.form_child_bg {
  width: 100vw;
  background: #ededed;
  padding: 10px calc(50vw - 50%) 40px calc(50vw - 50%);
  margin-bottom: 60px;
  color: #1c2a51;
  margin: 0 calc(50% - 50vw);
}

.form_child_bg .form_tle_img {
  margin: 0;
}

.form_tle_block {
  text-align: center;
}

.form_tle_ttl {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
  display: inline-block;
  padding-bottom: 0.3em;
  border-bottom: solid 3px #929393;
  margin: 0 auto 1em;
  text-align: center;
}

.form_tle_txt {
  font-weight: 500;
  margin-bottom: 1em;
  letter-spacing: 0;
  text-align: center;
}

.form_tle_txt02 {
  margin-bottom: 0.5em;
  text-align: center;
}
.form_tle_txt02 a {
  color: #1c2a51;
  font-size: 3.6rem;
  line-height: 1;
  display: inline-block;
  font-family: "Comfortaa";
}

.form_tle_txt03 {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
  text-align: center;
}

.form_tle_img {
  text-align: center;
  margin-top: 20px;
}

.form_tle_headsUp {
  color: red;
  text-align: center;
}

.form_txt {
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0em;
  margin-bottom: 0.3em;
  text-align: center;
}
.form_txt .link {
  border-bottom: solid 2px #1c2a51;
  padding-bottom: 0.1em;
  display: inline-block;
  color: #1c2a51;
}

.form_txt--red {
  font-size: 1.1em;
  font-weight: 900;
  line-height: 2.5;
  letter-spacing: 0em;
  margin-bottom: 1em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .form_txt {
    text-align: center;
  }
  .form_txt .link {
    display: inline;
  }
}
.form_info_block {
  margin: 60px auto;
  max-width: 960px;
}
.form_info_block .ttl {
  font-size: 2.6rem;
  text-align: center;
  margin-bottom: 1em;
  color: #104b68;
  font-weight: bold;
}
.form_info_block .flex_area {
  display: flex;
  align-items: center;
}
.form_info_block .flex_area .blc.blc1 {
  flex-basis: 50%;
  font-weight: 500;
}
.form_info_block .flex_area .blc.blc2 {
  flex-basis: 45%;
  margin-left: 5%;
}

@media screen and (max-width: 768px) {
  .form_info_block {
    margin: 30px 0;
  }
  .form_info_block .ttl {
    font-size: 2rem;
  }
  .form_info_block .flex_area {
    display: block;
  }
  .form_info_block .flex_area .blc.blc1 {
    margin-bottom: 1em;
  }
  .form_info_block .flex_area .blc.blc2 {
    margin-left: 0%;
    padding: 0 4%;
  }
}
/* FORM【フォーム】 ===========*/
/*==========================================
 共通
===========================================*/
.form-area-wrap {
  overflow: hidden;
}

.sp_none {
  display: block;
}
@media screen and (max-width: 768px) {
  .sp_none {
    display: none;
  }
}

/*==========================================
 FORM STYLE
===========================================*/
input[type=text], input[type=tel], input[type=email], input[type=number], input[type=submit] {
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield;
}

/*===プレースホルダー===*/
::-webkit-input-placeholder {
  color: #909090;
  line-height: 2;
}

::-moz-placeholder,
:-ms-input-placeholder,
::-ms-input-placeholder,
::placeholder {
  color: #909090;
  opacity: 1;
  line-height: 2;
}

/* IE */
/* Edge */
@media screen and (max-width: 480px) {
  ::-webkit-input-placeholder,
  ::-moz-placeholder,
  :-ms-input-placeholder,
  ::-ms-input-placeholder,
  ::placeholder {
    font-size: 14px;
  }
}
#form .txt-asterisk {
  font-size: 1.4rem;
  margin-top: 7px;
}
#form .form-block-wrap {
  width: 100%;
  margin: 80px auto;
}
#form .form-block .form-item {
  display: flex;
  flex-wrap: wrap;
  border-bottom: dashed 1px #b2b2b2;
  padding: 40px 2%;
}
#form .form-block .form-item:first-child {
  border-top: dashed 1px #b2b2b2;
}
#form .form-item-address .form_control_wrap:not(:last-child) {
  margin-bottom: 15px;
}
#form .form-item-ttl {
  font-size: 1.7rem;
  font-weight: bold;
  margin: 8px 2% 0 0;
  padding-right: 70px;
  flex-basis: 340px;
  position: relative;
}
#form .form-item-txt {
  width: 100%;
  flex: 0 0 100%;
  font-size: 1.7rem;
  font-weight: 900;
  margin: -20px 0 20px 0;
  padding-left: 5%;
  line-height: 1.7;
  text-align: center;
}
#form .form_flex_item {
  flex-basis: calc(98% - 340px);
}
#form .required,
#form .optional {
  font-size: 1.6rem;
  padding: 1px 1em 0;
  font-weight: normal;
}
#form .required {
  background: #1c2a52;
  color: #fff;
  position: absolute;
  top: 0;
  right: 0;
}
#form .optional {
  background: #fff;
  border: 1px solid #737373;
  color: #737373;
  position: absolute;
  top: 0;
  right: 0;
}
#form .form_control {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
  display: block;
  width: 100%;
  padding: 0.5em;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #000;
  background-image: none;
  background-clip: padding-box;
  border: 1px solid #666;
  border-radius: 0;
  min-height: 45px;
  border-radius: 5px;
}
#form .form_control.wpcf7-radio, #form .form_control.wpcf7-file {
  border: none;
}
#form textarea.form_control {
  height: 160px;
  line-height: 1.5;
  resize: vertical;
}
#form .form_control_wrap .time,
#form .form_control_wrap .people {
  position: relative;
  display: block;
}
#form .form_control_wrap .time::after,
#form .form_control_wrap .people::after {
  display: block;
  content: " ";
  position: absolute;
  top: 32px;
  right: 10px;
  width: 10px;
  height: 10px;
  margin-top: -15px;
  background: url(../img/common/arw-select.png) 0 0 no-repeat;
  /* 背景画像の指定 */
  background-size: cover;
  pointer-events: none;
}
#form .checkbox.wpcf7-form-control .wpcf7-list-item label input {
  display: none;
}
#form .checkbox.wpcf7-form-control .wpcf7-list-item label .wpcf7-list-item-label {
  padding: 0 0 0 30px;
  display: inline-block;
  position: relative;
}
#form .checkbox .wpcf7-list-item-label:before {
  content: "";
  width: 18px;
  height: 18px;
  display: inline-block;
  border: solid 2px #c9c9c9;
  background-color: #fff;
  position: absolute;
  left: 18px;
  top: 18px;
}
#form .checkbox input[type=checkbox]:checked + .wpcf7-list-item-label:before {
  font: normal normal normal 14px/1 FontAwesome;
  content: "\f00c";
  vertical-align: middle;
  font-size: 1.8rem;
  color: #000;
  border: solid 2px #666;
}
#form .form_control.zipcode {
  max-width: 220px;
  display: inline-block;
  margin: 0 2%;
}

@media screen and (max-width: 768px) {
  #form .form-block .form-item {
    display: block;
    padding: 40px 2%;
  }
  #form .form-item-txt {
    margin: -10px 0 10px 0;
    padding-left: 0;
    line-height: 2;
  }
}
@media screen and (max-width: 480px) {
  #form .form-block-wrap {
    margin: 40px auto;
  }
}
/*=== ご住所 ===*/
@media screen and (max-width: 480px) {
  /*=== ご住所 ===*/
  #form .form-item-address .form_control_wrap:not(:last-child) {
    margin-bottom: 5px;
  }
}
@media screen and (max-width: 768px) {
  #form .form-item-ttl {
    margin: 0 0 10px 0;
  }
}
/*IE*/
@media all and (-ms-high-contrast: none) {
  #form .form_control {
    font-family: "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    line-height: 1.25;
    padding: 1.2rem 1.5rem;
  }
}
/*=== TEXTAREA ===*/
/*=== SELECT ===*/
@media all and (-ms-high-contrast: none) {
  select::-ms-expand {
    display: menulist;
  }
}
/*=== CHECKBOX ===*/
@media screen and (min-width: 768px) {
  #form .checkbox.wpcf7-form-control .wpcf7-list-item label:hover {
    cursor: pointer;
  }
}
@media screen and (max-width: 480px) {
  #form .checkbox.wpcf7-form-control .wpcf7-list-item label .wpcf7-list-item-label {
    padding: 0 0 0 30px;
  }
}
/*=== ご住所 ===*/
.zip_note {
  display: inline-block;
  margin-top: 8px;
}

@media screen and (max-width: 480px) {
  #form .required,
  #form .optional {
    font-size: 1.3rem;
    padding: 1px 6px 0;
    margin-right: 0.5em;
  }
  #form .form-item-ttl {
    margin-bottom: 5px;
    font-size: 1.5rem;
  }
}
/*=== 日時 ===*/
.form_control_wrap01 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 10px;
}

.form_control_wrap02 {
  flex-basis: 75%;
}

.shop_time_txt {
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .form_control_wrap01 {
    display: block;
  }
  .form_control_wrap02 {
    margin-bottom: 10px;
  }
}
/*=== ERROR MESSAGE ===*/
#form span.wpcf7-not-valid-tip {
  font-size: 1.4rem;
  margin: 8px 0 0 0;
}
#form span.wpcf7-not-valid-tip::before {
  display: none;
}
#form span.wpcf7-not-valid-tip::after {
  display: none;
}
#form .form_control.wpcf7-not-valid {
  background: #ffd9df;
  border-color: #d06476;
}
#form .checkbox.wpcf7-not-valid {
  display: block;
  border: 1px solid #d06476;
  background: #ffd9df;
  padding: 10px 0;
}
#form div.wpcf7-validation-errors, #form div.wpcf7-mail-sent-ok {
  max-width: 710px;
  width: 100%;
  margin: 1em auto 0;
  font-size: 1.4rem;
  padding: 10px 1em;
}
#form div.wpcf7-validation-errors, #form div.wpcf7-mail-sent-ok {
  border: 1px solid #000;
  background: #ddd;
  text-align: center;
}

div.screen-reader-response ul {
  display: none;
}

/*=== 個人情報の取扱いについて ===*/
#form .form-privacy {
  text-align: center;
  line-height: 2;
  margin: 0 2.5%;
}
#form .form-privacy-ttl {
  margin-bottom: 0.5em;
}
#form .form-privacy-text a {
  text-decoration: none;
  color: #000;
  transition: 0.3s;
}
#form .form-privacy-text a:hover {
  color: #f5823b;
}
#form .btn_submit_wrap {
  max-width: 300px;
  width: 100%;
  margin: 10px auto 40px;
  position: relative;
}
#form .btn_submit_wrap::before {
  content: "";
  position: absolute;
  top: 33%;
  right: 6%;
  border-bottom: solid 1px #fff;
  width: 30px;
  transition: 0.3s;
}
#form .btn_submit_wrap::after {
  content: "";
  position: absolute;
  top: 29%;
  right: calc(6% - 1px);
  border-bottom: solid 1px #fff;
  transform: rotate(45deg);
  width: 8px;
  transition: 0.3s;
}
#form .btn_submit_wrap:hover::before, #form .btn_submit_wrap:hover::after {
  border-bottom: solid 1px #1c2a52;
}
#form .btn_submit {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  margin: 0 auto;
  display: block;
  width: 100%;
  text-align: center;
  padding: 14.5px 2%;
  color: #fff;
  transition: 0.3s;
  cursor: pointer;
  background: #1c2a52;
  border: solid 1px #1c2a52;
}
#form .btn_submit:hover {
  color: #1c2a52;
  background: #fff;
}
#form .individual {
  font-weight: bold;
  text-align: center;
  display: block;
}
#form .individual label,
#form .individual input {
  cursor: pointer;
  cursor: hand;
}
#form .document {
  font-weight: bold;
  text-align: center;
  display: block;
}
#form .document label,
#form .document input {
  cursor: pointer;
  cursor: hand;
}

@media screen and (max-width: 480px) {
  #form .form-privacy-text {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 370px) {
  #form .form-privacy-text {
    letter-spacing: -0.01em;
  }
}
/*=== 送信ボタン ===*/
@media screen and (max-width: 480px) {
  #form .btn_submit_wrap {
    margin: 10px auto 80px;
  }
  #form .btn_submit {
    font-size: 1.8rem;
  }
}
/*=== 追加分チェックボックス ===*/
.time01_txt {
  margin: 0 0 4px 0;
}

@media screen and (min-width: 768px) {
  .time01_txt {
    margin: 0 2% 0 4.9%;
  }
}
.form_control_wrap03 {
  flex-basis: 14%;
}

/*=== ありがとうございます。メッセージは送信されました。 ===*/
.screen-reader-response {
  text-align: center;
}

/*==== ご来店希望日時 ====*/
#form .reserve-row-item {
  display: flex;
}
#form .reserve-row-item .day01::before,
#form .reserve-row-item .day02::before {
  content: "";
  position: absolute;
  top: 12px;
  right: 1em;
  width: 17px;
  height: 19px;
  background: url(../images/form/icon_calendar.svg) 50% 50% no-repeat;
  background-size: cover;
  pointer-events: none;
}
#form .reserve-row-item:not(:first-child) {
  margin-top: 1em;
}
#form .reserve-row-item .wpcf7-form-control-wrap {
  width: calc(48% - 60px);
  display: block;
}
#form .reserve-row-itemC {
  display: flex;
}
#form .reserve-row-itemC .day01::before,
#form .reserve-row-itemC .day02::before {
  content: "";
  position: absolute;
  top: 12px;
  right: 1em;
  width: 17px;
  height: 19px;
  background: url(../images/form/icon_calendar.svg) 50% 50% no-repeat;
  background-size: cover;
  pointer-events: none;
}
#form .reserve-row-itemC:not(:first-child) {
  margin-top: 1em;
}
#form .reserve-row-itemC .wpcf7-form-control-wrap:nth-of-type(1) {
  width: 290px;
  display: block;
}
#form .reserve-row-itemC .wpcf7-form-control-wrap:nth-of-type(2) {
  width: 148px;
  display: block;
}
#form .reserve-block .reserve-row-ttl {
  font-weight: 500;
  font-size: 1.6rem;
  margin: 8px 0 7px;
  width: 80px;
}
#form .reserve-block .reserve-row-time {
  font-weight: 500;
  font-size: 1.6rem;
  margin: 10px 0 7px 4%;
  width: 40px;
}
#form .reserve-block .reserve-row-ttlC {
  font-weight: 500;
  font-size: 1.6rem;
  margin: 8px 0 7px;
  min-width: 80px;
}
#form .reserve-block .reserve-row-timeC {
  font-weight: 500;
  font-size: 1.6rem;
  margin: 10px 0 7px 4%;
  min-width: 180px;
}
#form .people-block {
  display: flex;
}
#form .people-block-item {
  max-width: 250px;
  width: 100%;
}
#form .input-people {
  max-width: 100px;
  display: inline-block;
  margin: 0 10px 0 10px;
}
#form .form-block .form-item.event-firstchoice {
  border: none;
}
#form .form-block .form-item.event-secondchoice {
  padding-top: 0;
}

@media screen and (max-width: 1140px) {
  #form .reserve-row-itemC {
    display: block;
  }
  #form .reserve-row-itemC:not(:first-child) {
    margin-top: 1em;
  }
  #form .reserve-row-itemC .wpcf7-form-control-wrap:nth-of-type(1) {
    width: 100%;
  }
  #form .reserve-row-itemC .wpcf7-form-control-wrap:nth-of-type(2) {
    width: 100%;
  }
  #form .reserve-block .reserve-row-timeC {
    margin: 10px 0 7px;
  }
}
@media screen and (max-width: 960px) {
  #form .reserve-row-item {
    display: block;
  }
  #form .reserve-row-item:not(:first-child) {
    margin-top: 2em;
  }
  #form .reserve-row-item .wpcf7-form-control-wrap {
    width: 100%;
  }
  #form .reserve-block .reserve-row-ttl {
    margin: 10px 0 0;
  }
  #form .reserve-block .reserve-row-time {
    margin: 10px 0 0 0;
  }
}
/*==== 参加予定人数 ====*/
@media screen and (max-width: 480px) {
  #form .people-block {
    display: block;
  }
  #form .people-block .people-block-item {
    margin-top: 15px;
  }
}
/*==== イベント参加申し込み【第二希望日】 ====*/
#time_guide {
  margin-top: 10px;
  display: block;
}

/*=========================
 エントリー
=========================*/
/*==== 生年月日 ====*/
#form .form_flex_item.date {
  display: flex;
  align-items: center;
}
#form .form_flex_item.date .form_control_wrap:first-child {
  width: 50%;
}
#form .form_flex_item.date .form_control_wrap:not(:first-child) {
  width: 25%;
  min-width: 100px;
}

.wpcf7-form-control-wrap[data-name=year] {
  flex-basis: 150px;
  margin-right: 40px;
  display: block;
}
.wpcf7-form-control-wrap[data-name=year]::after {
  content: "年";
  position: absolute;
  top: 8px;
  right: -24px;
}

.wpcf7-form-control-wrap[data-name=moon] {
  flex-basis: 100px;
  margin-right: 40px;
  display: block;
}
.wpcf7-form-control-wrap[data-name=moon]::after {
  content: "月";
  position: absolute;
  top: 8px;
  right: -24px;
}

.wpcf7-form-control-wrap[data-name=day] {
  flex-basis: 100px;
  margin-right: 40px;
  display: block;
}
.wpcf7-form-control-wrap[data-name=day]::after {
  content: "日";
  position: absolute;
  top: 8px;
  right: -24px;
}

@media screen and (max-width: 768px) {
  #form .form_flex_item.date {
    display: block;
  }
  #form .form_flex_item.date .form_control_wrap:first-child {
    width: 100%;
  }
  #form .form_flex_item.date .form_control_wrap:not(:first-child) {
    width: 100%;
    min-width: 100%;
  }
  .wpcf7-form-control-wrap.year, .wpcf7-form-control-wrap.moon, .wpcf7-form-control-wrap.day {
    max-width: 300px;
    margin-bottom: 10px;
  }
}
/*==== PDFアップロードボタン ====*/
.pdf01,
.pdf02 {
  display: block;
}

.pdf01::before,
.pdf02::before {
  content: "";
  width: 110px;
  height: 30px;
  position: absolute;
  bottom: 0;
  left: -110px;
  background: #fff;
}

.pdf01 input[type=file],
.pdf02 input[type=file] {
  margin-left: -110px;
}

.label_pdf01,
.label_pdf02 {
  display: block;
  width: 100%;
  max-width: 400px;
  padding: 12px 0;
  border: solid 1px #666;
  border-radius: 5px;
  text-align: center;
  cursor: pointer;
  transition: 0.3s;
}

.label_pdf01:hover,
.label_pdf02:hover {
  background: #666;
  color: #fff;
}

.pdf01,
.pdf02 {
  pointer-events: none;
}

/*=========================
 無料相談予約
=========================*/
.children-block .children-row-item {
  display: flex;
}
.children-block .children-row-item:not(:first-child) {
  margin-top: 1em;
}
.children-block .children-row-item .children-row-name {
  width: 65px;
  margin-top: 8px;
}
.children-block .children-row-item .child01,
.children-block .children-row-item .child02,
.children-block .children-row-item .child03,
.children-block .children-row-item .child04,
.children-block .children-row-item .child05 {
  width: calc(47% - 142.5px);
}
.children-block .children-row-item .children-row-read {
  width: 80px;
  margin-left: 3%;
  margin-top: 8px;
}
.children-block .children-row-item .child_kana01,
.children-block .children-row-item .child_kana02,
.children-block .children-row-item .child_kana03,
.children-block .children-row-item .child_kana04,
.children-block .children-row-item .child_kana05 {
  width: calc(47% - 142.5px);
}
.children-block .children-row-item .children-row-age {
  width: 45px;
  margin-left: 3%;
  margin-top: 8px;
}
.children-block .children-row-item .child_age01,
.children-block .children-row-item .child_age02,
.children-block .children-row-item .child_age03,
.children-block .children-row-item .child_age04,
.children-block .children-row-item .child_age05 {
  width: 70px;
}
.children-block .children-row-item .children-row-unit {
  width: 25px;
  text-align: right;
  margin-top: 8px;
}

@media screen and (min-width: 1041px) {
  .children-block .children-row-item .children-row-name {
    min-width: 65px;
  }
  .children-block .children-row-item .children-row-read {
    min-width: 80px;
  }
}
@media screen and (max-width: 1040px) {
  .children-block .children-row-item {
    flex-wrap: wrap;
  }
  .children-block .children-row-item:not(:first-child) {
    margin-top: 2em;
  }
  .children-block .children-row-item .children-row-name {
    width: 100%;
  }
  .children-block .children-row-item .adult01,
  .children-block .children-row-item .adult02,
  .children-block .children-row-item .adult03,
  .children-block .children-row-item .adult04,
  .children-block .children-row-item .child01,
  .children-block .children-row-item .child02,
  .children-block .children-row-item .child03,
  .children-block .children-row-item .child04,
  .children-block .children-row-item .child05 {
    width: 100%;
  }
  .children-block .children-row-item .children-row-read {
    width: 100%;
    margin-left: 0;
  }
  .children-block .children-row-item .adult_kana01,
  .children-block .children-row-item .adult_kana02,
  .children-block .children-row-item .adult_kana03,
  .children-block .children-row-item .adult_kana04,
  .children-block .children-row-item .child_kana01,
  .children-block .children-row-item .child_kana02,
  .children-block .children-row-item .child_kana03,
  .children-block .children-row-item .child_kana04,
  .children-block .children-row-item .child_kana05 {
    width: 100%;
    margin-bottom: 1em;
  }
  .children-block .children-row-item .children-row-age {
    margin-left: 0;
  }
  .children-block .children-row-item .child_age01,
  .children-block .children-row-item .child_age02,
  .children-block .children-row-item .child_age03,
  .children-block .children-row-item .child_age04,
  .children-block .children-row-item .child_age05 {
    width: 120px;
  }
}
/*=========================
 こんな土地が欲しい
=========================*/
/*==== 大見出し ====*/
.form-large-ttl {
  color: #1c2a52;
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding: 1em 0;
  text-align: center;
  position: relative;
  margin-bottom: 20px;
}
.form-large-ttl.ttl02 {
  margin-top: 60px;
}
.form-large-ttl.ttl03 {
  margin-top: 60px;
  color: #000;
  font-size: 1.8rem;
}
.form-large-ttl::before {
  content: "";
  background: #eaecf0;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -100vw;
  right: -100vw;
  z-index: -10;
}

/*==== 沿線エリア・駅名 ====*/
.station-row-item01 {
  margin-bottom: 1.5em;
}

.station-row-item02 {
  display: flex;
}
.station-row-item02 .station01 {
  width: calc(50% - 52.5px);
}
.station-row-item02 .station_end01 {
  width: 70px;
  text-align: center;
  margin-top: 8px;
}
.station-row-item02 .station02 {
  width: calc(50% - 52.5px);
}
.station-row-item02 .station_end02 {
  width: 35px;
  text-align: right;
  margin-top: 8px;
}

@media screen and (max-width: 960px) {
  .station-row-item02 {
    flex-wrap: wrap;
  }
  .station-row-item02 .station01 {
    width: calc(100% - 70px);
    margin-bottom: 1em;
  }
  .station-row-item02 .station_end01 {
    text-align: left;
    margin-bottom: 1em;
    padding-left: 1em;
  }
  .station-row-item02 .station02 {
    width: calc(100% - 70px);
  }
  .station-row-item02 .station_end02 {
    width: 70px;
    text-align: left;
    padding-left: 1em;
  }
}
/*=========================
 ワークショップ参加・来場予約
=========================*/
/*==== ご来場予定日時 ====*/
.form-item-visit .form_flex_item {
  display: flex;
  flex-wrap: wrap;
}
.form-item-visit .form_flex_item .workshop_ttl {
  width: 60%;
}
.form-item-visit .form_flex_item .form_control_wrap {
  width: calc(50% - 35px);
  margin-bottom: 1em;
}
.form-item-visit .form_flex_item .form_control_wrap:nth-child(2) {
  position: relative;
  margin-left: 70px;
}
.form-item-visit .form_flex_item .form_control_wrap:nth-child(2) ::before {
  content: "時間";
  position: absolute;
  top: 8px;
  left: -40px;
}
.form-item-visit .form_flex_item .form_control_wrap .wpcf7-form-control-wrap {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .form-item-visit .form_flex_item .workshop_ttl {
    width: 60%;
  }
  .form-item-visit .form_flex_item .form_control_wrap {
    width: calc(50% - 35px);
  }
  .form-item-visit .form_flex_item .form_control_wrap:nth-child(1) {
    width: 100%;
  }
  .form-item-visit .form_flex_item .form_control_wrap:nth-child(2) {
    width: calc(1000% - 50px);
    position: relative;
    margin-left: 50px;
  }
}
/*==== ご来場予定日時 ====*/
.form-item-count .form_flex_item {
  display: flex;
  flex-wrap: wrap;
}
.form-item-count .form_flex_item .workshop_ttl {
  width: 60%;
}
.form-item-count .form_flex_item .form_control_wrap:nth-child(1) {
  width: calc(50% - 90px);
  margin-bottom: 1em;
  position: relative;
  margin-left: 40px;
  margin-right: 50px;
}
.form-item-count .form_flex_item .form_control_wrap:nth-child(1) ::before {
  content: "大人";
  position: absolute;
  top: 8px;
  left: -40px;
}
.form-item-count .form_flex_item .form_control_wrap:nth-child(1) ::after {
  content: "名";
  position: absolute;
  top: 8px;
  right: -25px;
}
.form-item-count .form_flex_item .form_control_wrap:nth-child(2) {
  width: calc(50% - 100px);
  margin-bottom: 1em;
  position: relative;
  margin-left: 70px;
  margin-right: 30px;
}
.form-item-count .form_flex_item .form_control_wrap:nth-child(2) ::before {
  content: "こども";
  position: absolute;
  top: 8px;
  left: -60px;
}
.form-item-count .form_flex_item .form_control_wrap:nth-child(2) ::after {
  content: "名";
  position: absolute;
  top: 8px;
  right: -25px;
}
.form-item-count .form_flex_item .form_control_wrap .wpcf7-form-control-wrap {
  width: 100%;
  display: block;
}

/*=========================
 リフォームのご相談・お問い合わせ
=========================*/
/*==== 画像アップロード ====*/
.form-item-photo .form_flex_item .note01 {
  font-size: 1.6rem;
  font-weight: 500;
}
.form-item-photo .form_flex_item .note02 {
  font-size: 1.4rem;
}
.form-item-photo .form_flex_item .form_control_wrap {
  width: calc(100% - 100px);
  position: relative;
  margin-left: 100px;
}
.form-item-photo .form_flex_item .form_control_wrap::before {
  content: "画像データ";
  position: absolute;
  top: 8px;
  left: -100px;
}
.form-item-photo .form_flex_item .form_control_wrap .wpcf7-file {
  width: auto;
  cursor: context-menu;
}

/*=========================
 資料請求
=========================*/
.checkbox_ttl {
  position: relative;
  text-align: center;
  font-size: 1.7rem;
  font-weight: bold;
  padding: 0 80px;
  max-width: 36em;
  margin: 0 auto;
  width: 100%;
}

.form-item-checkbox {
  max-width: 1040px;
  margin: 0 auto;
  border-bottom: dashed 1px #b2b2b2;
  padding-bottom: 3em;
}
.form-item-checkbox .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item {
  flex-basis: 47%;
  width: 100%;
  position: relative;
  margin-left: 0;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 6em;
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item:nth-child(2n) {
  margin-left: 6%;
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item input[type=checkbox] {
  display: none;
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item input[type=checkbox]:checked + .wpcf7-list-item-label {
  background: #cbced5;
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
  padding: 1em 1em 3em 3em;
  border: solid 1px #aaa;
  display: block;
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label::after {
  width: 100px;
  height: 130px;
  position: absolute;
  bottom: 1.5em;
  right: 1.5em;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item:nth-child(1) .wpcf7-list-item-label::after {
  background-image: url(../images/form/request_img01.jpg);
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item:nth-child(2) .wpcf7-list-item-label::after {
  background-image: url(../images/form/request_img02.jpg);
  width: 130px;
  height: 100px;
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item:nth-child(3) .wpcf7-list-item-label::after {
  background-image: url(../images/form/request_img03.jpg);
  width: 130px;
  height: 100px;
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item:nth-child(4) .wpcf7-list-item-label::after {
  background-image: url(../images/form/request_img04.jpg);
  width: 130px;
  height: 100px;
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item:nth-child(5) .wpcf7-list-item-label::after {
  background-image: url(../images/form/request_img05.jpg);
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item:nth-child(6) .wpcf7-list-item-label::after {
  background-image: url(../images/form/request_img06.jpg);
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item:nth-child(7) .wpcf7-list-item-label::after {
  background-image: url(../images/form/request_img07.jpg);
}
.form-item-checkbox .wpcf7-checkbox .wpcf7-list-item:nth-child(8) .wpcf7-list-item-label::after {
  background-image: url(../images/form/request_img08.jpg);
}

@media screen and (max-width: 1200px) {
  .form-item-checkbox {
    max-width: 520px;
  }
  .form-item-checkbox .wpcf7-checkbox {
    display: block;
  }
  .form-item-checkbox .wpcf7-checkbox .wpcf7-list-item:nth-child(2n) {
    margin-left: 0;
  }
}
@media screen and (max-width: 786px) {
  .checkbox_ttl {
    text-align: left;
    padding: 0 80px 0 0;
    max-width: 100%;
  }
  .form-item-checkbox .wpcf7-checkbox .wpcf7-list-item {
    margin-top: 2em;
  }
  .form-item-checkbox .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label {
    padding: 1em 1em 11em 3em;
  }
  .form-item-checkbox .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label::after {
    top: auto;
    bottom: 1em;
    right: 50%;
    transform: translate(50%, 0);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
  }
}
@media screen and (max-width: 786px) {
  .checkbox_ttl {
    padding: 0 50px 0 0;
  }
}
/*=========================
宿泊体験予約
=========================*/
.children-block-stay > div:not(:last-child) {
  margin-bottom: 1em;
}

.stay-num-wrap {
  display: flex;
}
.stay-num-wrap .stay-num-item {
  display: flex;
  align-items: center;
}
.stay-num-wrap .stay-num-item:first-child {
  margin-right: 50px;
}
.stay-num-wrap .stay-num-item .wpcf7-form-control-wrap {
  max-width: 95px;
}
.stay-num-wrap .stay-num-item .item-ttl {
  min-width: 60px;
}
.stay-num-wrap .stay-num-item .item-unit {
  min-width: 30px;
  text-align: right;
}

@media screen and (max-width: 960px) {
  .stay-num-wrap .stay-num-item:first-child {
    margin-right: 25px;
  }
}
@media screen and (max-width: 480px) {
  .stay-num-wrap {
    display: block;
  }
  .stay-num-wrap .stay-num-item:first-child {
    margin: 0 auto 15px;
  }
}
.stay-attention {
  width: 95%;
  margin: 0 auto;
}
.stay-attention-ttl {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
}
.stay-attention-box {
  max-width: 810px;
  width: 100%;
  margin: 40px auto 60px;
  border: 1px solid #ccc;
  padding: 35px 30px;
}
.stay-attention-list li {
  position: relative;
  padding: 0 0 0 1em;
}
.stay-attention-list li::before {
  content: "・";
  position: absolute;
  left: 0;
}
.stay-attention .stay-agree {
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 480px) {
  .stay-attention {
    width: 92%;
  }
  .stay-attention-box {
    margin: 20px auto 30px;
    padding: 30px 15px;
  }
}
/*=========================
 サンクスページ
=========================*/
.thanks_ttl {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1.5em;
  text-align: center;
}

.thanks_txt {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 2em;
  text-align: center;
}

.thanks_btn {
  font-size: 1.6rem;
  margin: 0 auto 80px;
}
.thanks_btn a {
  max-width: 250px;
  display: block;
  text-align: center;
  padding: 14.5px 2%;
  font-family: "Comfortaa";
  position: relative;
  background: #1c2a52;
  border: solid 1px #1c2a52;
  color: #fff;
  margin: 0 auto;
}
.thanks_btn a::before {
  content: "";
  position: absolute;
  top: 55%;
  right: 6%;
  border-bottom: solid 1px #fff;
  width: 30px;
  transition: 0.3s;
}
.thanks_btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: calc(6% - 1px);
  border-bottom: solid 1px #fff;
  transform: rotate(45deg);
  width: 8px;
  transition: 0.3s;
}
.thanks_btn a:hover {
  color: #1c2a52;
  background: #fff;
}
.thanks_btn a:hover::before, .thanks_btn a:hover::after {
  border-bottom: solid 1px #1c2a52;
}
.thanks_btn .fa {
  color: #fa7f24;
  margin-left: 3rem;
  transition: 0.3s;
}

.thanks_link_area {
  background: #ededed;
  padding: 60px 0 75px;
  text-align: center;
}
.thanks_link_area .txt {
  font-size: 2.2rem;
  color: #1c2a52;
  font-weight: bold;
  padding-bottom: 0.2em;
  border-bottom: 1px solid #767676;
  display: inline-block;
  margin: 0 auto 30px;
}
.thanks_link_area .ul {
  padding: 0 2%;
}
.thanks_link_area .ul.flex {
  display: flex;
}
.thanks_link_area .ul .li {
  flex-basis: 46%;
  margin: 0 2%;
  width: 100%;
}
.thanks_link_area .ul .li a {
  display: inline-block;
  width: 100%;
  border: 3px solid #1c2a52;
  color: #1c2a52;
  letter-spacing: 0.2em;
  line-height: 1;
  background: #fff;
  padding: 30px 30px;
  position: relative;
  transition: 0.3s;
}
.thanks_link_area .ul .li a::before {
  content: "";
  position: absolute;
  top: 75%;
  right: 6%;
  border-bottom: solid 1px #1c2a52;
  width: 80px;
  transition: 0.3s;
}
.thanks_link_area .ul .li a::after {
  content: "";
  position: absolute;
  top: 69.5%;
  right: calc(5.5% - 1px);
  border-bottom: solid 1px #1c2a52;
  transform: rotate(45deg);
  width: 20px;
  transition: 0.3s;
}
.thanks_link_area .ul .li a:hover {
  color: #fff;
  background: #1c2a52;
}
.thanks_link_area .ul .li a:hover::before, .thanks_link_area .ul .li a:hover::after {
  border-bottom: solid 1px #fff;
}
.thanks_link_area .ul .li .ttl_en {
  font-family: "Comfortaa";
  font-size: 4.8rem;
  font-weight: bold;
  margin-bottom: 0.2em;
}
.thanks_link_area .ul .li .ttl_jp {
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .thanks_link_area {
    padding: 30px 0 40px;
  }
  .thanks_link_area .txt {
    font-size: 1.8rem;
    margin: 0 auto 1em;
  }
  .thanks_link_area .ul.flex {
    display: flex;
  }
  .thanks_link_area .ul .li {
    flex-basis: 46%;
    margin: 0 2%;
  }
  .thanks_link_area .ul .li a {
    padding: 20px 20px;
  }
  .thanks_link_area .ul .li .ttl_en {
    font-size: 3rem;
  }
}
@media screen and (max-width: 480px) {
  .thanks_link_area .ul {
    padding: 0 6%;
  }
  .thanks_link_area .ul.flex {
    display: block;
  }
  .thanks_link_area .ul .li {
    margin: 0 0% 10px;
  }
}
/*.thanks_bnr_ttl {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 50px;
}
.thanks_bnr_block {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 80px;
}

.thanks_bnr {
  flex-basis: 42%;
  border: solid 5px #ff9933;
  width: 100%;
  max-width: 460px;
  margin: 0 auto 20px;
  > a {
    display: flex;
    width: 100%;
    padding: 15px;
    position: relative;
    &:hover {
      background: #ff9933;
      color: #fff;
    }
    &::after {
      content: "";
      width: 70px;
      border-bottom: solid 1px #000;
      position: absolute;
      bottom: 46px;
      right: -40px;
    }
    &::before {
      content: "";
      width: 20px;
      border-bottom: solid 1px #000;
      transform: rotate(50deg);
      position: absolute;
      bottom: 54px;
      right: -42px;
    }
  }
}
.thanks_bnr_img {
  flex-basis: 41%;
  line-height: 0;
}
.thanks_bnr_txt {
  flex-basis: 59%;
  padding: 10px 4% 0;
}
.thanks_bnr_txt01 {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.01rem;
  margin-bottom: 16px;
}
.thanks_bnr_txt02 {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.04rem;
}

@media screen and (max-width: 1190px) {
  .thanks_bnr_block {
    padding: 0 40px;
    display: block;
  }
}

@media screen and (max-width: 1190px) {
  .thanks_bnr_block {
    padding: 0;
  }
  .thanks_bnr > a {
    &::before, &::after {
      content: "";
      display: none;
    }
  }
}

@media screen and (max-width: 768px) {
  .thanks_bnr_img {
    flex-basis: 30%;
    line-height: 0;
  }
  .thanks_bnr_txt {
    flex-basis: 70%;
    padding: 0 4% 0;
  }
  .thanks_bnr_txt01 {
    margin-bottom: 0;
  }
  .thanks_bnr_txt02 {
    font-size: 1.8rem;
  }
  .thanks_ttl {
    font-size: 2rem;
  }
  .thanks_txt {
    font-size: 1.6rem;
    margin-bottom: 30px;
  }
  .thanks_btn a {
    margin: 0 auto 60px;
  }
  .thanks_bnr_ttl {
    font-size: 2rem;
    margin-bottom: 20px;
  }
}*/
.form_request_block {
  width: 100%;
  max-width: 960px;
  margin: 0 auto 60px;
  padding: 0 20px;
}
.form_request_txt {
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0em;
  margin-bottom: 1em;
}

/*=========================
 お友達紹介
=========================*/
.form_control_wrap.relationship {
  margin-bottom: 15px;
}
@media (max-width: 480px) {
  .form_control_wrap.relationship {
    margin-bottom: 5px;
  }
}
.form_control_wrap.relationship .wpcf7-not-valid-tip {
  display: none;
}
.form_control_wrap.relationship .wpcf7-form-control-wrap.relationship:last-child .wpcf7-not-valid-tip {
  display: block;
  margin-left: 18px !important;
}

@media (max-width: 768px) {
  .privacy-text {
    text-align: start;
  }
  .pc768 {
    display: none;
  }
}
@media (max-width: 576px) {
  .mail-text {
    text-align: start;
  }
  .pc576 {
    display: none;
  }
}
/*=========================
 フォーム・来場予約特典条件
=========================*/
.main_content .w1140 .conditions {
  padding: 15px 15px;
  border: 1px solid;
  margin: 80px 0 0 0;
}

/*=========================
  個人情報保護方針エリア
=========================*/
.privacy-policy-wrap {
  margin: 40px auto 50px;
  text-align: center;
  border: 1px solid #b2b2b2;
  border-radius: 0;
  background-color: #fff;
  padding: 0;
  /* 上部：テキストとリンクエリア */
}
.privacy-policy-wrap .privacy-text {
  padding: 30px 20px 20px;
  text-align: center;
}
.privacy-policy-wrap .privacy-text p {
  text-align: center;
  margin-bottom: 0.5em;
}
.privacy-policy-wrap .privacy-text a {
  text-decoration: underline;
  color: #333;
  display: inline-block;
  transition: opacity 0.3s;
}
.privacy-policy-wrap .privacy-text a:hover {
  opacity: 0.7;
}
.privacy-policy-wrap {
  /* 下部：同意チェックボックスエリア */
}
.privacy-policy-wrap .privacy-checkbox {
  padding: 20px;
  text-align: center;
  background-color: #ededed;
  /* CF7のチェックボックス調整 */
}
.privacy-policy-wrap .privacy-checkbox input[type=checkbox] {
  transform: scale(1.5);
  margin-right: 10px;
}
.privacy-policy-wrap .privacy-checkbox label {
  font-weight: bold;
  color: #333;
  cursor: pointer;
}

/*=========================
  送信ボタンエリアの制御
=========================*/
.btn_submit_wrap.is-disabled {
  opacity: 0.5;
  pointer-events: none;
  cursor: not-allowed;
}
.btn_submit_wrap.is-disabled::before, .btn_submit_wrap.is-disabled::after {
  display: none;
}
.btn_submit_wrap.is-disabled:hover::before, .btn_submit_wrap.is-disabled:hover::after {
  border-bottom-color: #fff;
}

/*# sourceMappingURL=form.css.map */
