﻿@charset "utf-8";
/* FORM【フォーム】 ===========*/
/*==========================================
 共通
===========================================*/
* {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;
}
.ds_f {
   display: flex;
}
.ai_b {
   align-items: baseline;
}
.just_c {
   justify-content: center;
}
/*=== フォント ===*/
html {
   font-size: 62.5%;
}
.form_gray {
   font-weight: 500;
   background: #f5f5f5;
   padding: 4px 16px;
   margin-top: 20px;
}
input[type="radio"] {
   display: inline;
   cursor: pointer;
}
#form .form-item .wpcf7-radio {
   border: none;
}
.page-form {
   overflow: hidden;
}
.page-form .breadcrumbs {
   position: relative;
}
.page-form .breadcrumbs::before {
   content: "";
   /*border-bottom: solid 1px #333;*/
   position: absolute;
   bottom: 0;
   left: -100vw;
   right: -100vw;
}
.survey_form .breadcrumbs {
   margin-top: 50px;
}
.survey_form .breadcrumbs::before {
   content: "";
   border-bottom: none;
}
.eventform_border {
   /*border-bottom: solid 1px #333;*/
   display: block;
   margin-bottom: 60px;
   padding-top: 10px;
   margin-left: -100vw;
   /**/
   width: 200vw;
}
/*==========================================
 FORM STYLE
===========================================*/
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="submit"],
textarea {
   border-radius: 0;
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
}
/*select::-ms-expand {
    display: 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 {
   color: #909090;
   opacity: 1;
   line-height: 2;
}
/* IE */
:-ms-input-placeholder {
   color: #909090;
   opacity: 1;
   line-height: 2;
}
/* Edge */
::-ms-input-placeholder {
   color: #909090;
   opacity: 1;
   line-height: 2;
}
::placeholder {
   color: #909090;
   opacity: 1;
   line-height: 2;
}
@media screen and (max-width: 480px) {
   ::-webkit-input-placeholder {
      font-size: 14px;
   }
   ::-moz-placeholder {
      font-size: 14px;
   }
   :-ms-input-placeholder {
      font-size: 14px;
   }
   ::-ms-input-placeholder {
      font-size: 14px;
   }
   ::placeholder {
      font-size: 14px;
   }
}
#form .form-block-wrap {
   width: 100%;
}
#form .form-block-wrap.form-bg {
   background: #e5e5e5;
}
#form .form-block {
   max-width: 1140px;
   width: 100%;
   margin: 0 auto;
   padding: 0 2%;
}
#form .form-block .form-item {
   display: flex;
   align-items: flex-start;
   border-bottom: dashed 1px #bfbfbf;
   padding: 40px 3%;
}
#form .form-block .form-item.first {
   border-top: dashed 1px #bfbfbf;
}
#form .form-block .form-item.last {
   /*border-bottom: none;*/
}
#form .form-block .form-item-inr {
   display: flex;
   align-items: center;
}
@media screen and (max-width: 767px) {
   #form .form-block .form-item {
      display: block;
      padding: 20px 2% 20px 0%;
   }
   #form .form-block .sp_padding {
      padding: 20px 2% 20px 0%;
   }
   #form .form-block .form-item-inr {
      display: block;
   }
}
@media screen and (max-width: 480px) {
   #form .form-block-wrap {
      margin: 40px auto;
   }
}
/*=== ご住所 ===*/
#form .form_control_wrap:not(:last-child) {
   margin-bottom: 15px;
}
@media screen and (max-width: 480px) {
   /*=== ご住所 ===*/
   #form .form-item-address .form_control_wrap:not(:last-child) {
      /*    margin-bottom: 5px;*/
   }
}
#form .form-item-ttl {
   font-size: 1.6rem;
   font-weight: bold;
   margin: 12px 5% 0 0;
   flex-basis: 220px;
   position: relative;
   align-self: self-start;
}
@media screen and (max-width: 960px) {
   #form .form-item-ttl {
      margin-bottom: 5px;
      font-size: 1.5rem;
   }
}
#form .fs_only1 {
   font-size: 1em;
}
@media screen and (max-width: 480px) {
   #form .fs_only1 {
      font-size: 1.4rem;
   }
}
#form .fs_only2 {
   font-size: 1em;
}
@media screen and (max-width: 480px) {
   #form .fs_only2 {
      font-size: 1.4rem;
   }
}
#form .fs_only3 {
   font-size: 1em;
   flex-basis: 220px;
}
@media screen and (max-width: 480px) {
   #form .fs_only3 {
      font-size: 1.4rem;
   }
}
#form .move01 {
   right: 725px !important;
   top: 30px !important;
}
@media screen and (max-width: 480px) {
   #form .move01 {
      right: -20px !important;
      top: 30px !important;
   }
}
#form .move02 {
   top: 30px !important;
   right: -25px !important;
}
@media screen and (max-width: 480px) {
   #form .move02 {
      top: 0px !important;
      right: -15px !important;
   }
}
/*希望時期*/
#form .move03 {
   top: 2px;
}
@media screen and (max-width: 480px) {
   #form .move03 {
      top: 0px !important;
      right: -15px !important;
   }
}
/*どんなことを相談したいですか？*/
#form .move05 {
   top: 30px !important;
   right: -20px !important;
}
@media screen and (max-width: 480px) {
   #form .move05 {
      top: 0px !important;
      right: -15px !important;
   }
}
#form .checkbox_wrap1 .form_control {
   display: flex;
   flex-wrap: wrap;
   margin-left: 10px;
}
#form .checkbox_wrap1 .wpcf7-list-item {
   border: 1px solid #ccc;
   width: 370px;
   height: 40px;
   line-height: 1;
   border-radius: 5px;
   font-size: 0.8em;
}
#form .checkbox_wrap1 input[type="checkbox"] {
   display: inline;
   width: 20px;
   height: 20px;
   margin: 10px 5px 10px 10px;
   vertical-align: sub;
}
#form .m_5 .wpcf7-list-item {
   margin: 0px 0px 0px 0px !important;
}
@media screen and (max-width: 480px) {
   #form .checkbox_wrap1 .form_control {
   }
}
/*WAKATTEを知ったきっかけ*/
#form .move04 {
   top: 30px !important;
}
@media screen and (max-width: 480px) {
   #form .move04 {
      top: 0px !important;
      right: -15px !important;
   }
}
#form .checkbox_wrap2 .form_control {
   display: flex;
   flex-wrap: wrap;
   width: 300px;
}
#form .checkbox_wrap2 .wpcf7-list-item {
   border: 1px solid #ccc;
}
@media screen and (max-width: 480px) {
   #form .checkbox_wrap2 .form_control {
   }
}
#form .margin_r7 {
   margin: 0 5% 0 0 !important;
   width: 100% !important;
}
#form .form-item-ttl_add1 {
   font-size: 1.2rem;
   font-weight: normal;
}
#form .form-item-ttl.line2 {
   margin: 0 4% 0 0;
}
@media screen and (max-width: 767px) {
   #form .form-item-ttl,
   #form .form-item-ttl.line2 {
      margin: 0 0 10px 0;
   }
}
#form .form_flex_item {
   flex-basis: calc(96% - 220px);
}
#form .only_size {
   font-size: 1rem !important;
}
@media screen and (max-width: 480px) {
   #form .only_size {
      font-size: 1em !important;
   }
}
.reserved_date_note {
   font-size: 1em;
}
@media screen and (max-width: 480px) {
   .reserved_date_note {
      font-size: 1rem;
   }
}
#form .form_flex_item .form_control_wrap {
   font-size: 1em;
}
@media screen and (max-width: 767px) {
   #form .form_flex_item .form_control_wrap {
      font-size: 0.5em;
   }
}
#form .form_flex_item_add {
   flex-basis: calc(/*96%*/ 50% - 220px);
}
@media screen and (max-width: 767px) {
   #form .form_flex_item_add {
      flex-basis: calc(/*96%*/ 50% - 220px);
      margin: 5px;
   }
}
#form .required,
#form .optional {
   color: #fff;
   font-size: 1.6rem;
   font-weight: 500;
   line-height: 1;
   letter-spacing: 0.2em;
   padding: 4px 0 2px;
   margin-left: 1em;
   width: 60px;
   text-align: center;
   position: absolute;
   right: -25px;
   top: 0;
}
@media screen and (max-width: 768px) {
   #form .required,
   #form .optional {
      right: -15px;
      width: auto;
      padding: 0px;
   }
}
#form .line2 .optional {
   top: 0px;
}
@media screen and (max-width: 768px) {
   #form .line2 .required,
   #form .line2 .optional {
      top: 0;
   }
}
#form .required {
   background: #d9c19e; /* #e58294;*/
}
#form .optional {
   background: #999;
   text-align: center;
}
#form .form_control {
   font-family: "游ゴシック", "Yu Gothic", YuGothic, "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
   display: block;
   width: 100%;
   padding: 0.6rem 1.5rem;
   font-size: 1.6rem;
   line-height: 1;
   color: #000;
   background-image: none;
   background-clip: padding-box;
   border: 1px solid #999;
   border-radius: 8px;
   min-height: 47px;
   box-shadow: 0 0 0px 0 #1e99d7;
}
#form .form_control:focus {
   box-shadow: 0 0 6px 0px #1e99d7;
   outline: 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 ===*/
#form textarea.form_control {
   line-height: 1.5;
   resize: vertical;
}
@media (max-width: 400px) {
   #form .form_control-spread {
      padding: 0.6rem 0.6rem;
   }
}
/*=== SELECT ===*/
#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;
}
@media all and (-ms-high-contrast: none) {
   select::-ms-expand {
      display: menulist;
   }
}
/*=== CHECKBOX ===*/
#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: 20px;
   height: 20px;
   display: inline-block;
   border: solid 1px #000 /*#dbdbdf*/;
   background-color: #fff;
   position: absolute;
   left: -10px;
   top: 0;
}
#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: 2rem;
   color: #000;
}
@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;
   }
}
/*=== ご住所 ===*/
#form .form_control.zipcode {
   max-width: 130px;
   display: inline-block;
   margin: 0 2%;
   border-radius: 20px;
   min-height: 34px;
   line-height: 1;
   padding: 0 1.5rem;
}
.zip_note {
   display: inline-block;
   margin-top: 8px;
}
@media screen and (max-width: 480px) {
   #form .required,
   #form .optional {
      font-size: 1em;
      padding: 4px 6px 3px;
      margin-right: 0.5em;
      top: 0px;
   }
   #form .form-item-ttl {
      margin-bottom: 5px;
      font-size: 1em;
   }
}
@media screen and (max-width: 480px) {
   #form .required,
   #form .optional {
   }
   #form .form-item-ttl_add1 {
      max-width: 300px;
      margin: 0px 0px 0px 0px;
      font-size: 0.8em;
   }
}
/*=== 日時 ===*/
.form_control_wrap01 {
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
   align-items: center;
   margin-bottom: 10px;
}
.form_control_wrap02 {
   flex-basis: 75%;
}
.form_control_wrap03 {
}
.shop_time_txt {
   font-size: 14px;
}
@media screen and (max-width: 767px) {
   .form_control_wrap01 {
      display: block;
   }
   .form_control_wrap02 {
      margin-bottom: 10px;
   }
   .shop_time_txt {
   }
}
/*=== ERROR MESSAGE ===*/
#form span.wpcf7-not-valid-tip {
   font-size: 1.4rem;
   margin: 8px 0 0 0;
}
#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 {
   border: 1px solid #000;
   background: #ddd;
   text-align: center;
   margin-bottom: 20px;
}
#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;
}
@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;
   }
}
/*=== 送信ボタン ===*/
#form .btn_submit_wrap {
   max-width: 570px;
   width: 100%;
   margin: 60px auto 40px;
   position: relative;
}
#form .btn_submit {
   font-size: 2.2rem;
   font-weight: bold;
   display: block;
   width: 100%;
   text-align: center;
   padding: 13.5px 2%;
   color: #d9c19e; /*#f2879b;*/
   letter-spacing: 0.2em;
   cursor: pointer;
   border-radius: 40px;
   background: #fff;
   position: relative;
   z-index: 10;
   border: solid 1px #d9c19e; /*#f2879b;*/
}
#form .btn_submit:hover {
   color: #fff;
   background: #d9c19e; /*#f2879b;*/
}
#form .btn_submit::after {
   content: "\f105";
   font-family: FontAwesome;
   margin-left: 0.3em;
}
#form .ajax-loader {
   display: none;
}
#form .btn_submit_inr {
   display: block;
   padding: 3px;
   margin: 0 2%;
   border-radius: 12px;
   background: linear-gradient(to bottom, #e4a921, #c7421d);
   position: relative;
}
#form .btn_submit_inr::after {
   content: "";
   position: absolute;
   top: 3px;
   bottom: 3px;
   left: 3px;
   right: 3px;
   display: block;
   border-radius: 12px;
   background: linear-gradient(to bottom, #e9b64d 0%, #dc904c 50%, #d46f1f 50%, #c8441d 100%);
   transition: 0.3s;
}
#form .btn_submit_inr::before {
   content: "";
   position: absolute;
   top: 3px;
   bottom: 3px;
   left: 3px;
   right: 3px;
   display: block;
   border-radius: 12px;
   background: linear-gradient(to top, #e9b64d 0%, #dc904c 50%, #d46f1f 50%, #c8441d 100%);
   opacity: 0;
   transition: 0.3s;
}
#form .btn_submit_inr:hover::before {
   opacity: 1;
   z-index: 10;
}
.btn_submit_blc {
}
@media screen and (max-width: 480px) {
   #form .btn_submit_wrap {
      margin: 40px auto 40px;
   }
   #form .btn_submit {
      font-size: 1.8rem;
   }
}
/*===調査以来の送信ボタン===*/
#form.survey .btn_submit_wrap {
   max-width: 485px;
   width: 100%;
   margin: 60px auto 100px;
   position: relative;
}
#form.survey .btn_submit {
   font-family: "Sawarabi Gothic", sans-serif;
   font-size: 3.6rem;
   display: block;
   width: 100%;
   text-align: center;
   padding: 13.5px 2%;
   color: #221815;
   cursor: pointer;
   border-radius: 40px;
   background: #fff;
   position: relative;
   z-index: 10;
   border: solid 3px #f2879b;
   background-color: #f2879b;
}
#form.survey .wpcf7-submit {
   font-family: FontAwesome;
}
#form.survey .btn_submit:hover {
   color: #000;
   background: #fff;
}
@media screen and (max-width: 767px) {
   #form.survey .btn_submit_wrap {
      margin: 40px auto 100px;
   }
   #form.survey .btn_submit_wrap::after {
      right: 30px;
   }
}
/*=== 追加分チェックボックス ===*/
#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;
}
.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;
}
/*=== 提携申込みラジオボタン ===*/
.website label {
   cursor: pointer;
}
.website .wpcf7-list-item {
   position: relative;
   width: 100%;
   max-width: 100px;
}
.website .wpcf7-list-item-label {
   padding-left: 2em;
   display: block;
}
.website input[type="radio"] {
   display: none;
}
.website input[type="radio"] + .wpcf7-list-item-label::before {
   content: "";
   width: 20px;
   height: 20px;
   border-radius: 100%;
   border: solid 1px #999;
   position: absolute;
   left: 0;
   display: block;
   top: 50%;
   transform: translate(0, -50%);
}
.website .wpcf7-list-item input[type="radio"] + .wpcf7-list-item-label::after {
   content: "";
   width: 10px;
   height: 10px;
   border-radius: 100%;
   background: #fff;
   position: absolute;
   left: 7px;
   display: block;
   top: 50%;
   transform: translate(-1px, -50%);
   transition: 0.3s;
}
.website .wpcf7-list-item input[type="radio"]:checked + .wpcf7-list-item-label::after {
   background: #9f1012;
}
.website_note {
   margin: 8px 0;
   display: block;
}
/*=== ご相談、お問い合わせ ===*/
.contact_wrap .form-area-wrap {
   position: relative;
   padding-top: 50px;
}
.contact_wrap .form-area-wrap::before {
   content: "";
   position: absolute;
   top: 0;
   left: -100vw;
   right: -100vw;
   z-index: -10;
   /*border-top: solid 1px #333;*/
}
.contact_wrap .form_icon {
   display: flex;
   align-items: flex-end;
   margin: -85px auto 30px;
   width: 100%;
   max-width: 1140px;
   justify-content: center;
}
.contact_wrap .form_icon01 {
   flex-basis: 58%;
   margin-right: 2%;
   width: 100%;
}
.contact_wrap .form_icon01 img {
   width: 100%;
}
.contact_wrap .form_icon02 {
   flex-basis: 40%;
   width: 100%;
}
.contact_wrap .form_icon02 img {
   width: 100%;
}
.contact_wrap .form_lear,
.request_wrap .form_lear {
   font-size: 1.6rem;
   font-weight: 500;
   letter-spacing: 0.15rem;
   line-height: 1.6;
   max-width: 700px;
   margin: 0 auto 20px;
}
.contact_wrap .form_info {
   display: flex;
   align-items: center;
   width: 100%;
   max-width: 43em;
   margin: 0 auto 80px;
   padding-top: 10px;
   border-top: solid 1px #333;
}
.contact_wrap .form_tel {
   color: #333;
   font-size: 6rem;
   font-weight: bold;
   letter-spacing: 0.1em;
   line-height: 1;
   margin-right: 1em;
}
.contact_wrap .form_tel a {
   pointer-events: none;
}
.contact_wrap .form_tel i {
   font-size: 4.5rem;
}
.contact_wrap .form_time {
   color: #333;
   font-size: 1.6rem;
   font-weight: 500;
   line-height: 1.6;
}
.contact_wrap .form_time_open {
   display: block;
}
.contact_wrap .form_time_close {
   display: block;
}
@media screen and (max-width: 767px) {
   .contact_wrap .form_icon {
      display: block;
      margin: 0 auto 20px;
      width: 100%;
      max-width: 400px;
   }
   .contact_wrap .form_icon01 {
      margin-right: 0;
      margin-bottom: 10px;
   }
   .contact_wrap .form_icon02 {
      padding: 0 16%;
   }
   .contact_wrap .form_lear,
   .request_wrap .form_lear {
      max-width: 90%;
   }
   .contact_wrap .form_info {
      display: block;
      max-width: 20em;
      margin: 0 auto 40px;
      text-align: center;
   }
   .contact_wrap .form_tel {
      font-size: 4rem;
      margin-right: 0;
      margin-bottom: 10px;
   }
   .contact_wrap .form_tel a {
      pointer-events: auto;
   }
   .contact_wrap .form_tel i {
      font-size: 3rem;
   }
   .contact_wrap .form_time {
      color: #333;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.6;
   }
}
@media (max-width: 480px) {
   .contact_wrap .form_lear,
   .request_wrap .form_lear {
      font-size: 1.4rem;
   }
}
/*=== お見積り依頼 ===*/
.estimate_wrap .form_info_wrap {
   background: #f2879b;
   padding: 20px 4%;
   margin: 0 0 40px;
   position: relative;
   border-radius: 40px;
   color: #fff;
}
.estimate_wrap .form-area-wrap {
   position: relative;
   padding-top: 50px;
}
.estimate_wrap .form-area-wrap::before {
   content: "";
   position: absolute;
   top: 0;
   left: -100vw;
   right: -100vw;
   /*border-top: solid 1px #333;*/
}
.estimate_wrap .form_icon {
   display: flex;
   align-items: flex-end;
   margin: -80px auto 20px;
   width: 100%;
   max-width: 700px;
}
.estimate_wrap .form_icon01 {
   flex-basis: 58%;
   margin-right: 2%;
}
.estimate_wrap .form_icon02 {
   flex-basis: 40%;
}
.estimate_wrap .form_lear {
   font-size: 1.6rem;
   font-weight: 500;
   letter-spacing: 0.05rem;
   line-height: 1.6;
   margin: 0 auto 10px;
   max-width: 690px;
}
.estimate_wrap .form_info {
   display: flex;
   align-items: center;
   width: 100%;
   max-width: 43em;
   margin: 0 auto 4px;
   padding-top: 10px;
   border-bottom: solid 2px #fff;
}
.estimate_wrap .form_tel {
   color: #fff;
   font-size: 5.8rem;
   font-weight: bold;
   letter-spacing: 0.1em;
   line-height: 1;
   margin-right: 1em;
}
.estimate_wrap .form_tel a {
   pointer-events: none;
}
.estimate_wrap .form_tel i {
   font-size: 4.5rem;
}
.estimate_wrap .form_time {
   font-size: 1em;
   font-weight: 500;
   line-height: 1.6;
}
.estimate_wrap .form_time_open {
   display: block;
}
.estimate_wrap .form_time_close {
   display: block;
}
.estimate_wrap .form_estimate_note {
   text-align: center;
   margin-bottom: 20px;
}
@media screen and (max-width: 960px) {
   .estimate_wrap .form_tel {
      font-size: 5rem;
   }
}
@media screen and (max-width: 767px) {
   .estimate_wrap .form_info_wrap {
      padding: 10px 4%;
      margin: 20px 0;
      border-radius: 20px;
   }
   .estimate_wrap .form_icon {
      display: block;
      margin: 40px auto 20px;
      width: 100%;
      max-width: 400px;
   }
   .estimate_wrap .form_icon01 {
      margin-right: 0;
      margin-bottom: 10px;
   }
   .estimate_wrap .form_icon02 {
      padding: 0 16%;
   }
   .estimate_wrap .form_lear {
      margin: 0 auto 40px;
   }
   .estimate_wrap .form_lear .br {
      display: none;
   }
   .estimate_wrap .form_info {
      display: block;
      max-width: 20em;
      margin: 0 auto 8px;
   }
   .estimate_wrap .form_tel {
      font-size: 3.6rem;
      margin-right: 0;
      margin-bottom: 10px;
   }
   .estimate_wrap .form_tel a {
      pointer-events: auto;
   }
   .estimate_wrap .form_tel i {
      font-size: 3rem;
   }
   .estimate_wrap .form_time {
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.6;
   }
   .estimate_wrap .form_estimate_note {
      text-align: left;
   }
}
/*=== イベント来場予約フォーム ===*/
.event_wrap {
   overflow: hidden;
}
.event_wrap .page-title {
   padding-top: 50px;
   position: relative;
}
.event_wrap .page-title::before {
   content: "";
   background: url(../images/form/img-form06.png) 50% 50% no-repeat;
   position: absolute;
   top: 0;
   bottom: -50px;
   left: -100%;
   right: -100%;
   z-index: -10;
   display: none;
}
@media screen and (max-width: 960px) {
   .event_wrap .page-title::before {
      background: url(../images/form/img-form06.png) 50% 80% no-repeat;
      background-size: 80%;
      left: -90%;
   }
}
@media screen and (max-width: 767px) {
   .event_wrap .page-title {
      padding-top: 0;
   }
}
/*=== 来店・オンライン相談予約 ===*/
.reserved_wrap .form-area-wrap {
   position: relative;
   padding-top: 50px;
}
.reserved_wrap .form-area-wrap::before {
   content: "";
   position: absolute;
   top: 0;
   left: -100vw;
   right: -100vw;
   /*border-top: solid 1px #333;*/
}
.reserved_wrap .form_lear {
   font-size: 1.6rem;
   font-weight: 500;
   letter-spacing: 0.05rem;
   line-height: 1.6;
   margin: 0 auto;
   max-width: 44em;
}
@media screen and (max-width: 480px) {
   .reserved_wrap .form_lear {
      font-size: 1rem;
   }
}
.reserved_wrap .form_info_bg {
   background: url(../images/form/img-form07.jpg) 50% 100% no-repeat;
   padding-bottom: 250px;
}
.reserved_wrap .form_info_inr {
   max-width: 790px;
   margin: 0 auto;
   background: #fff;
   padding-bottom: 20px;
}
.reserved_wrap .form_info {
   display: flex;
   align-items: center;
   width: 100%;
   max-width: 43em;
   margin: 0 auto;
}
.reserved_wrap .form_tel_ttl {
   color: #333;
   font-size: 2.8rem;
   font-weight: bold;
   letter-spacing: 0.3em;
   line-height: 1.4;
   max-width: 25em;
   width: 100%;
   margin: 0 auto;
   text-align: center;
}
.reserved_wrap .form_tel {
   color: #333;
   font-size: 4rem;
   font-weight: bold;
   letter-spacing: 0.1em;
   line-height: 1;
   margin-right: 0.5em;
}
.reserved_wrap .form_tel a {
   pointer-events: none;
}
.reserved_wrap .form_tel i {
   font-size: 4.5rem;
}
.reserved_wrap .form_time {
   color: #333;
   font-size: 1.6rem;
   font-weight: 500;
   line-height: 1.6;
}
.reserved_wrap .form_time_open {
   display: block;
}
.reserved_wrap .form_time_close {
   display: block;
}
.reserved_wrap .form_img_sp {
   display: none;
}
@media screen and (max-width: 767px) {
   .reserved_wrap .form_lear {
      text-align: left;
      margin: 0 2.5% 0;
   }
   .reserved_wrap .form_lear .br {
      display: none;
   }
   .reserved_wrap .form_info_bg {
      background: none;
      padding-bottom: 0;
      margin-top: 30px;
   }
   .reserved_wrap .form_info {
      display: block;
      max-width: 20em;
      margin: 0 auto 10px;
   }
   .reserved_wrap .form_tel_ttl {
      max-width: 14em;
      font-size: 2.2rem;
      letter-spacing: 0.05em;
   }
   @media screen and (max-width: 767px) {
      .reserved_wrap .form_tel_ttl {
         max-width: 13em;
         font-size: 1em;
      }
   }
   .reserved_wrap .form_tel {
      font-size: 3rem;
      margin-right: 0;
      margin-bottom: 10px;
   }
   .reserved_wrap .form_tel a {
      pointer-events: auto;
   }
   .reserved_wrap .form_tel i {
      font-size: 3rem;
   }
   .reserved_wrap .form_time {
      color: #333;
      font-size: 1.6rem;
      font-weight: 500;
      line-height: 1.6;
   }
   .reserved_wrap .form_img_sp {
      display: block;
   }
}
/*=== 資料請求 ===*/
/*.request_wrap {
    overflow: hidden;
}*/
.request_wrap .form_bg {
   margin-bottom: 40px;
   position: relative;
}
.request_wrap .form_bg::before {
   content: "";
   position: absolute;
   top: 20px;
   bottom: 120px;
   left: -100%;
   right: -100%;
   z-index: -10;
   background: url(../images/form/img-form08.png) 50% 50%;
   /*border-top: solid 1px #333;*/
}
.request_wrap .form_head {
   margin-top: -20px;
   margin-bottom: 80px;
   text-align: center;
}
.request_wrap .form_head01 {
}
.request_wrap .form_head_sp01 {
   display: none;
}
.request_wrap .form_head_sp02 {
   display: none;
}
.request_wrap .form_h2 {
   color: #fff100;
   font-size: 2.8rem;
   font-weight: bold;
   letter-spacing: 0.3em;
   text-align: center;
   padding: 8px 0;
   background: #e58294;
}
.request_wrap .form_body {
   background: url(../images/form/img-form10.jpg);
   padding: 30px 4% 40px;
}
.request_wrap .form_lead {
   font-size: 2rem;
   font-weight: bold;
   letter-spacing: 0.1em;
   text-align: center;
   margin: 0 auto 40px;
}
.request_wrap .form_lead::after {
   content: "";
   display: block;
   width: 100%;
   max-width: 645px;
   height: 9px;
   margin: 0 auto;
   background: url("../images/form/request/line-pink.png") no-repeat top center/contain;
}
@media screen and (max-width: 567px) {
   .request_wrap .form_lead {
      font-size: 1.8rem;
   }
}
.request_wrap .form_body01 {
}
.request_wrap .form_h3 {
   width: 100%;
   position: relative;
   margin-bottom: 40px;
   font-size: 2.4rem;
   font-weight: 500;
   letter-spacing: 0.3em;
}
.request_wrap .form_h3 .span {
   background: url(../images/form/img-ttl04.png) left bottom repeat-x;
   height: 3px;
   width: 100%;
   padding: 0 0 10px;
}
/*.request_wrap .form_h3::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  left: 140px;
  background: url(../images/form/img-ttl04.png) 50% 50% no-repeat;
  height: 3px;
}*/
.request_wrap .form_h3 img {
   margin-right: 10px;
   vertical-align: middle;
}
@media screen and (max-width: 767px) {
   .request_wrap .form_h3 .span {
      display: block;
      height: auto;
   }
}
@media screen and (max-width: 567px) {
   .request_wrap .form_h3 {
      font-size: 2rem;
      letter-spacing: normal;
   }
}
.request_wrap .form-body01_cts {
   display: flex;
   justify-content: space-between;
   margin: 0 auto 60px;
}
.request_wrap .form-body01_cts-head {
   width: 45%;
}
.request_wrap .form-body01_cts-body {
   width: 50%;
}
.request_wrap .form-body01_cts-ttl {
   background: #e58294;
   color: #fff;
   font-weight: bold;
   letter-spacing: 0.1em;
   border-radius: 20px;
   padding: 20px;
}
.request_wrap .form-body01_cts-subttl {
   font-size: 2.6rem;
   color: #e58294;
   font-weight: bold;
   letter-spacing: 0.2em;
   text-align: center;
   margin: 20px 0;
}
.request_wrap .form-body01_cts-txt {
   font-weight: 500;
}
.request_wrap .form-body01_cts-txt .line {
   font-weight: bold;
   background: url("../images/form/request/line-pink2.png") no-repeat bottom center/contain;
}
.request_wrap .form-body01_cts-select {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   margin: 40px auto 0;
}
.request_wrap .form-body01_cts-select dt {
   width: 55%;
}
.request_wrap .form-body01_cts-select dd {
   background: url("../images/form/request/line-dotted.png") left top repeat-x;
   width: 40%;
   margin: 0;
   padding: 15px 0 0;
}
.request_wrap .form-body01_cts-select_list {
   letter-spacing: 0.05em;
   font-weight: 500;
}
.request_wrap .form-body01_cts-select_list li:not(:last-child) {
   margin-bottom: 0.4em;
}
@media screen and (max-width: 1140px) {
   .request_wrap .form-body01_cts-ttl {
      padding: 15px;
   }
   .request_wrap .form-body01_cts-subttl {
      font-size: 2.2rem;
      letter-spacing: 0.1em;
   }
   .request_wrap .form-body01_cts-select {
      display: block;
   }
   .request_wrap .form-body01_cts-select dt {
      width: 100%;
   }
   .request_wrap .form-body01_cts-select dd {
      width: 100%;
      margin: 15px auto 0;
   }
}
@media screen and (max-width: 767px) {
   .request_wrap .form-body01_cts {
      display: block;
   }
   .request_wrap .form-body01_cts-head {
      width: 100%;
   }
   .request_wrap .form-body01_cts-body {
      width: 100%;
      margin: 40px auto 0;
   }
   .request_wrap .form-body01_cts-select dt {
      text-align: center;
   }
}
@media screen and (max-width: 567px) {
   .request_wrap .form-body01_cts-subttl {
      font-size: 2rem;
   }
}
.request_wrap .form-body01_cts2 {
   display: flex;
   justify-content: space-between;
}
.request_wrap .form-body01_cts2-head {
   width: 45%;
}
.request_wrap .form-body01_cts2-head img {
   width: 100%;
}
.request_wrap .form-body01_cts2-body {
   width: 50%;
}
.request_wrap .form-body01_cts2-body p {
   font-weight: 500;
}
.request_wrap .form-body01_cts2-body p .line {
   font-weight: bold;
   background: url("../images/form/request/line-pink3.png") no-repeat bottom center/contain;
}
.request_wrap .form-body01_cts2-body p:not(:last-child) {
   margin-bottom: 1em;
}
.request_wrap .form-body01_cts3 {
   max-width: 710px;
   width: 100%;
   margin: -150px 0 0 auto;
   display: flex;
   justify-content: space-between;
}
.request_wrap .form-body01_cts3-head {
   width: 38%;
}
.request_wrap .form-body01_cts3-body {
   width: 57%;
}
.request_wrap .form-body01_cts3-body p {
   font-weight: 500;
}
.request_wrap .form-body01_cts3-tag {
   letter-spacing: 0.05em;
   font-weight: 500;
   margin: 40px auto 0;
}
.request_wrap .form-body01_cts3-tag li:not(:last-child) {
   margin-bottom: 0.4em;
}
@media screen and (max-width: 1140px) {
   .request_wrap .form-body01_cts3 {
      margin: 40px 0 0 auto;
   }
}
@media screen and (max-width: 567px) {
   .request_wrap .form-body01_cts2 {
      display: block;
   }
   .request_wrap .form-body01_cts2-head {
      width: 100%;
   }
   .request_wrap .form-body01_cts2-body {
      width: 100%;
      margin: 40px auto 0;
   }
   .request_wrap .form-body01_cts3 {
      display: block;
   }
   .request_wrap .form-body01_cts3-head {
      width: 100%;
      text-align: center;
   }
   .request_wrap .form-body01_cts3-body {
      width: 100%;
      margin: 40px auto 0;
   }
}
.request_wrap .form_body01_flex {
   display: flex;
   flex-wrap: wrap;
   margin-bottom: 50px;
}
.request_wrap .form_body01_item01 {
   flex-basis: 40%;
   margin-bottom: 30px;
}
.request_wrap .form_body01_item02 {
   flex-basis: 58%;
   margin-left: 2%;
   margin-bottom: 30px;
   text-align: right;
}
.request_wrap .form_body01_item03 {
   flex-basis: 58%;
}
.request_wrap .form_body01_item04 {
   flex-basis: 40%;
   margin-left: 2%;
   padding-top: 10px;
   border-top: dotted 5px #e58294;
   letter-spacing: 0.05em;
   font-weight: 500;
}
.request_wrap .form_body01_item04 .span {
   margin-bottom: 20px;
   display: block;
}
.request_wrap .form_body01_item04 .bold {
   font-weight: bold;
}
.request_wrap .form_body02_flex {
   display: flex;
   flex-wrap: wrap;
}
.request_wrap .form_body02_item01 {
   flex-basis: 49%;
   margin-bottom: 30px;
}
.request_wrap .form_body02_item02 {
   flex-basis: 49%;
   margin-left: 2%;
   margin-bottom: 30px;
   text-align: right;
}
.request_wrap .form_body02_item03 {
   flex-basis: 49%;
}
.request_wrap .form_body02_item04 {
   flex-basis: 49%;
   margin-left: 2%;
   padding: 30px 3% 10px;
   letter-spacing: 0.05em;
   font-weight: 500;
   background: #fff;
   align-self: flex-start;
}
.request_wrap .form_body02_item04 .span {
   margin-bottom: 20px;
   display: block;
}
@media screen and (max-width: 767px) {
   .request_wrap .form_head {
      margin-bottom: 40px;
   }
   .request_wrap .form_head01 {
      display: none;
   }
   .request_wrap .form_head_sp01 {
      display: block;
      padding: 0 10%;
   }
   .request_wrap .form_main_sp02 {
      display: block;
      margin-top: -20px;
   }
   .request_wrap .form_body01_flex {
      display: block;
   }
   .request_wrap .form_body01_item02 {
      margin-left: 0;
   }
   .request_wrap .form_body01_item04 {
      margin-left: 0;
      margin-top: 40px;
   }
   .request_wrap .form_body02_flex {
      display: block;
   }
   .request_wrap .form_body02_item02 {
      margin-left: 0;
   }
   .request_wrap .form_body02_item04 {
      margin-left: 0;
      margin-top: 40px;
   }
}
@media screen and (max-width: 480px) {
   .request_wrap .form_h2 {
      font-size: 5vw;
      letter-spacing: 0.05em;
   }
   .request_wrap .form_h3 {
      text-align: center;
      padding-bottom: 8px;
   }
   .request_wrap .form_h3 .span {
      display: block;
      margin-top: 8px;
   }
   .request_wrap .form_h3::before {
      left: 0;
   }
}
/* 202112 追加 */
.form_card {
   margin-bottom: 50px;
}
.form_card_head {
   font-size: 2.8rem;
   font-weight: 500;
   line-height: 1.5;
   text-align: center;
   margin-bottom: 50px;
}
.form_card_imgWrap {
   display: flex;
   justify-content: space-between;
}
.form_card_img {
   width: 48%;
   flex: 0 0 48%;
}
.form_card_img img {
   width: 100%;
}
.speech-bubble {
   position: relative;
   display: flex;
   justify-content: center;
}
.speech-bubble_left {
   position: relative;
}
.speech-bubble_left::before {
   content: "";
   display: block;
   position: absolute;
   bottom: 0;
   left: -120px;
   border-bottom: 86.6025px solid #000;
   border-right: 50px solid transparent;
   border-left: 50px solid transparent;
}
.speech-bubble_left::after {
   content: "";
   display: block;
   position: absolute;
   bottom: 0;
   left: -121px;
   border-bottom: 86.6025px solid #fff;
   border-right: 50px solid transparent;
   border-left: 50px solid transparent;
}
.speech-bubble_right {
   position: relative;
}
.speech-bubble_right::before {
   content: "";
   display: block;
   position: absolute;
   bottom: 0;
   right: -120px;
   border-bottom: 86.6025px solid #000;
   border-right: 50px solid transparent;
   border-left: 50px solid transparent;
}
.speech-bubble_right::after {
   content: "";
   display: block;
   position: absolute;
   bottom: 0;
   right: -121px;
   border-bottom: 86.6025px solid #fff;
   border-right: 50px solid transparent;
   border-left: 50px solid transparent;
}
@media (max-width: 768px) {
   .form_card_head {
      font-size: 3.5vw;
      margin-bottom: 30px;
   }
   .speech-bubble_left::before {
      left: -10.5vw;
      border-bottom: 8.66vw solid #000;
      border-right: 5vw solid transparent;
      border-left: 5vw solid transparent;
   }
   .speech-bubble_left::after {
      left: calc(-10.5vw - 1px);
      border-bottom: 8.66vw solid #fff;
      border-right: 5vw solid transparent;
      border-left: 5vw solid transparent;
   }
   .speech-bubble_right::before {
      right: -10.5vw;
      border-bottom: 8.66vw solid #000;
      border-right: 5vw solid transparent;
      border-left: 5vw solid transparent;
   }
   .speech-bubble_right::after {
      right: calc(-10.5vw - 1px);
      border-bottom: 8.66vw solid #fff;
      border-right: 5vw solid transparent;
      border-left: 5vw solid transparent;
   }
}
@media (max-width: 567px) {
   .form_card {
      margin-bottom: 20px;
   }
   .form_card_head {
      font-size: 18px;
      margin-bottom: 20px;
   }
   .speech-bubble_left::before {
      display: none;
   }
   .speech-bubble_left::after {
      display: none;
   }
   .speech-bubble_right::before {
      display: none;
   }
   .speech-bubble_right::after {
      display: none;
   }
   .form_card_imgWrap {
      justify-content: space-around;
   }
   .form_card_img {
      width: 46%;
      flex: 0 0 46%;
   }
}
.br-sp480 {
   display: none;
}
@media (max-width: 480px) {
   .br-sp480 {
      display: block;
   }
}
/*=== プライバシーポリシー ===*/
.form_privacy {
   width: 100%;
   max-width: 990px;
   margin: 40px auto 0;
   letter-spacing: 0.1em;
   font-weight: 500;
}
@media screen and (max-width: 480px) {
   .form_privacy {
      font-size: 1rem;
      width: 90%;
   }
}
.form_privacy a {
   color: #d9c19e; /*#f2879b;*/
}
.form_note {
   color: #000; /*#f2879b;*/
   text-align: center;
   margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
   .form_note {
      text-align: left;
      font-size: 1rem;
   }
}
/*=== 訪問調査希望日 ===*/
#form .form-item-date textarea.form_control {
   height: 260px;
}
#form .form-item-date .form_control_wrap {
   display: flex;
   align-items: center;
   margin-bottom: 20px;
}
#form .form_date_wrap {
   display: flex;
   align-items: center;
   width: calc(100% - 200px);
}
#form .yosan .form_control {
   width: 300px;
}
@media screen and (max-width: 768px) {
   #form .yosan {
      width: 70%;
   }
   #form .yosan .form_control {
      width: 100%;
   }
}
.yosan_wrap {
   display: flex;
   align-items: flex-end;
}
.yosan_unit {
   margin-left: 10px;
}
#form .form_time_wrap {
   display: flex;
   align-items: center;
   width: 200px;
}
#form .form_time_wrap .form_time {
   width: 90px;
}
#form .form_time_wrap .wpcf7-form-control-wrap {
   width: calc(100% - 60px);
}
#form .form_date,
#form .form_remark {
   width: 100px;
}
@media screen and (max-width: 480px) {
   #form .form_date,
   #form .form_remark {
      width: 100px;
      font-size: 2em;
   }
}
#form .date01,
#form .date02,
#form .date03 {
   width: calc(100% - 120px);
}
#form .form-item-date .form_control input[type="radio"] {
   display: inline;
}
#form .remark {
   width: calc(100% - 100px);
}
@media screen and (min-width: 961px) {
   #form .form_date_wrap {
      margin-right: 20px;
   }
   #form .form_date_wrap .form_control {
      max-width: 288px;
   }
   #form .form_time_wrap .form_control {
      max-width: 80px;
   }
}

@media screen and (max-width: 960px) {
   #form .form_date_wrap {
      width: 100%;
      margin-bottom: 10px;
   }
   #form .form-item-date .form_control_wrap {
      display: block;
   }
   #form .date01,
   #form .date02,
   #form .date03 {
      width: calc(100% - 100px);
   }
   #form .form_remark {
      margin-bottom: 10px;
   }
   #form .form_time_wrap {
      width: 100%;
   }
   #form .form_time_wrap .form_time {
      width: 100px;
      font-size: 2em;
   }
   #form .form_time_wrap .wpcf7-form-control-wrap {
      width: calc(100% - 100px);
   }
}
@media screen and (max-width: 767px) {
   #form .form_time_wrap .wpcf7-form-control-wrap {
      margin: 0 0 0 auto;
   }
}
/*=== 気になるリフォーム 希望するリフォーム ===*/
#form .form-item-reform .reform .form_control {
   padding: 0;
   border: none;
   border-radius: 0;
   margin-bottom: 10px;
}
#form .form-item-reform input[type="checkbox"] {
   display: inline;
}
#form .form-item-reform .wpcf7-form-control {
   display: flex;
   flex-wrap: wrap;
}
#form .form-item-reform .wpcf7-list-item {
   flex-basis: 50%;
   margin: 0;
}
#form .form-item-reform02 .reform .form_control {
   padding: 0;
   border: none;
   border-radius: 0;
   margin-bottom: 10px;
}
#form .form-item-reform02 input[type="checkbox"] {
   display: inline;
}
#form .form-item-reform02 .wpcf7-list-item {
   margin: 0;
   display: block;
}
/*希望時期*/
#form .form-item-desired_time .desired_time .form_control {
   padding: 0;
   border: none;
   border-radius: 0;
   margin-bottom: 10px;
}
#form .form-item-desired_time input[type="checkbox"] {
   display: inline;
}
#form .form-item-desired_time .wpcf7-form-control {
   display: flex;
   flex-wrap: wrap;
}
#form .form-item-desired_time .wpcf7-list-item {
   flex-basis: 50%;
   margin: 0;
}
#form .form-item-desired_time02 .desired_time .form_control {
   padding: 0;
   border: none;
   border-radius: 0;
   margin-bottom: 10px;
   justify-content: space-between;
   align-content: space-between;
   height: 90px;
}
#form .form-item-desired_time02 input[type="checkbox"] {
   display: inline;
}
#form .form-item-desired_time02 .wpcf7-list-item {
   margin: 0;
   display: block;
}
/*WAKATTEを知ったきっかけ*/
#form .form-item-source .source .form_control {
   padding: 0;
   border: none;
   border-radius: 0;
   margin-bottom: 10px;
}
#form .form-item-source input[type="checkbox"] {
   display: inline;
}
#form .form-item-source .wpcf7-form-control {
   display: flex;
   flex-wrap: wrap;
}
#form .form-item-source .wpcf7-list-item {
   flex-basis: 50%;
   margin: 0;
}
#form .form-item-source02 .source .form_control {
   padding: 0;
   border: none;
   border-radius: 0;
   margin-bottom: 10px;
   justify-content: space-between;
   align-content: space-between;
   height: 140px;
}
#form .form-item-source02 input[type="checkbox"] {
   display: inline;
}
#form .form-item-source02 .wpcf7-list-item {
   margin: 0;
   display: block;
}
/*=== その他ご質問など ===*/
#form .question textarea.form_control {
   height: 170px;
}
/*=== 現場画像アップロード ===*/
.form_file_txt {
   margin-bottom: 20px;
}
/*=== ご希望の返信方法 ===*/
.form_file_txt {
   margin-bottom: 20px;
}
/*=== ご年齢 ===*/
#form .age {
   width: 100%;
   max-width: 300px;
   display: block;
}
@media screen and (max-width: 767px) {
   #form .age {
      max-width: 100%;
   }
}
/*=== このサイトをご覧になられたきっかけ ===*/
#form .form-block .form-item.form-trigger {
   display: block;
   border: solid 1px #e58294;
   margin-top: 40px;
}
#form .form-trigger .form-item-ttl {
   color: #e58294;
   font-size: 2.2rem;
   font-weight: bold;
   letter-spacing: 0.2em;
   margin: 0 auto 4px;
   max-width: 710px;
}
#form .form-trigger .required {
   position: static;
   margin: 0 8px 0 0;
   padding: 2px 4px 1px;
}
#form .form-trigger .trigger-note {
   letter-spacing: 0.05em;
   margin: 0 auto 40px;
   max-width: 710px;
}
#form .form-trigger .wpcf7-checkbox {
   padding: 0;
   border: none;
}
#form .form-trigger input[type="checkbox"] {
   display: inline;
}
#form .form-trigger .wpcf7-form-control {
   display: flex;
   flex-wrap: wrap;
   max-width: 940px;
   margin: 0 auto 10px;
}
#form .form-trigger .wpcf7-list-item {
   flex-basis: calc(100% * 1 / 3);
   margin: 0;
}
@media screen and (max-width: 1040px) {
   #form .form-trigger .wpcf7-form-control {
      max-width: 620px;
   }
   #form .form-trigger .wpcf7-list-item {
      flex-basis: calc(100% * 1 / 2);
   }
}
@media screen and (max-width: 767px) {
   #form .form-trigger .wpcf7-form-control {
      display: block;
   }
}
@media screen and (max-width: 480px) {
   #form .form-trigger .trigger-note {
      font-size: 1.5rem;
   }
   #form .form-trigger .wpcf7-list-item {
      margin-left: 1.2em;
   }
}
/*=== 来場予定日時 ===*/
#form .form-item-date .date .form_control {
   width: 200px;
}
#form .form-item-date .time .form_control {
   width: 100px;
}
#form .form-item-date .date_ttl {
   margin-right: 1em;
}
@media screen and (max-width: 767px) {
   #form .form-item-date .date .form_control {
      width: 100%;
   }
   #form .form-item-date .time .form_control {
      width: 100%;
   }
}
/*=== オンライン相談 ===*/
#form .online-ttl {
   padding: 40px 3% 0;
}
@media screen and (max-width: 767px) {
   #form .online-ttl {
      padding: 40px 15% 0 0;
   }
}
#form .online-ttl .required {
   position: static;
   margin: 0 8px 0 0;
   padding: 4px 4px 4px;
}
#form .form-block .form-item-online {
   padding: 20px 3%;
}
#form .form-block .form-item-online .form_control {
   display: flex;
   justify-content: space-between;
   width: 100%;
   max-width: 350px;
   padding: 0;
}
@media screen and (max-width: 480px) {
   #form.form-item-ttl.online-ttl.required_add1 {
      padding: 40px 15% 0% 0%;
   }
}
@media screen and (max-width: 767px) {
   #form .form-block .form-item-online .form_control {
      display: block;
   }
}
#form .online-ttl .required_add2 {
   position: absolute !important;
   top: 83px;
   right: 743px;
}
@media screen and (max-width: 480px) {
   #form .online-ttl .required_add2 {
      position: absolute !important;
      top: 85px;
      right: -7px;
   }
}
/*=========================
 サンクスページ
=========================*/
.thanks_wrap {
   position: relative;
   margin-bottom: 70px;
}
.thanks_wrap::before {
   content: "";
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   left: 0;
   background: url(../images/form/img-form03.jpg);
   z-index: -10;
}
.thanks_flex {
   display: flex;
   align-items: flex-end;
}
.thanks_l {
   flex-basis: calc(100% - 420px);
   text-align: center;
   padding: 40px 0 160px;
   position: relative;
}
.thanks_l::before {
   content: "";
   position: absolute;
   top: 40px;
   bottom: 0;
   right: -15px;
   left: -15px;
   z-index: 10;
   pointer-events: none;
   background: url(../images/form/img-form04.png) no-repeat 50% 50%;
}
.thanks_ttl {
   font-weight: bold;
   position: relative;
   margin-bottom: 20px;
   padding-bottom: 20px;
   z-index: 20;
}
.thanks_ttl .en {
   font-size: 7rem;
   letter-spacing: 0.1em;
   display: block;
}
.thanks_ttl .ja {
   color: #f2879b;
   font-size: 4.2rem;
   line-height: 1.2;
   display: block;
}
.thanks_lead {
   font-weight: 500;
   letter-spacing: 0.1em;
   margin-bottom: 20px;
   z-index: 20;
   position: relative;
}
.thanks_btn {
   font-size: 1.6rem;
   font-weight: bold;
   max-width: 250px;
   margin: 0 auto;
}
.thanks_btn a {
   color: #f2879b;
   display: block;
   text-align: center;
   padding: 7px 0;
   border: solid 1px #f2879b;
   border-radius: 16px;
}
.thanks_btn a:hover {
   color: #fff;
   background: #f2879b;
}
.thanks_r {
   flex-basis: 420px;
   background: #fff;
   padding: 30px 1% 0;
   text-align: center;
}
.thanks_subttl {
   font-size: 4.2rem;
   font-weight: bold;
   line-height: 1.2;
   margin-bottom: 110px;
}
.thanks_sublead {
   font-size: 1.6rem;
   font-weight: bold;
   letter-spacing: 0.1em;
   line-height: 1.2;
   margin-bottom: 20px;
}
.thanks_sublead::before {
   content: "";
   background: url(../images/form/icon-form01.png) no-repeat 50% 50%;
   width: 20px;
   height: 30px;
   display: inline-block;
   vertical-align: text-bottom;
   margin-right: 0.5em;
}
.thanks_sublead::after {
   content: "";
   background: url(../images/form/icon-form02.png) no-repeat 50% 50%;
   width: 20px;
   height: 30px;
   display: inline-block;
   vertical-align: text-bottom;
   margin-left: 0.5em;
}
.thanks_bnr {
   font-size: 2.5rem;
   font-weight: bold;
   letter-spacing: 0.1em;
}
.thanks_bnr.first {
   margin-bottom: 30px;
}
.thanks_bnr i {
   margin-left: 0.25em;
}
.thanks_bnr a {
   background: url(../images/form/img-form03.jpg);
   display: block;
   padding: 30px 0;
   width: 100%;
   max-width: 340px;
   margin: 0 auto;
   border-radius: 20px;
}
@media screen and (max-width: 1200px) {
   .thanks_flex {
      display: block;
   }
   .thanks_subttl {
      margin-bottom: 40px;
   }
}
@media screen and (max-width: 767px) {
}
@media screen and (max-width: 480px) {
   .thanks_wrap {
      margin-bottom: 40px;
   }
   .thanks_l {
      padding: 20px 0 50px;
   }
   .thanks_l::before {
      display: none;
   }
   .thanks_ttl .ja {
      font-size: 9vw;
   }
   .thanks_r {
      padding: 30px 4% 0;
   }
   .thanks_subttl {
      font-size: 8vw;
   }
   .thanks_bnr {
      font-size: 2rem;
   }
   .thanks_bnr.first {
      margin-bottom: 20px;
   }
   .thanks_bnr a {
      padding: 20px 0;
   }
}
/* パンくず */
.bottom-breadcrumbs {
   margin: 14px 0 32px;
   text-align: right;
}
/*追記*/
/*姓名*/
#form .form-item-cts {
   font-size: 1.4rem;
   font-weight: 500;
   position: relative;
   align-self: self-start;
   width: 100px;
}
@media(min-width:768px) and (max-width:1040px){
	#form .form-item-cts {
		min-width: 5em;
	}
}
@media screen and (max-width: 480px) {
   #form .form-item-cts {
      margin: 12px 0% 0 0px;
   }
}
@media screen and (max-width: 480px) {
   #form .form-item-cts {
      padding: 0px 0px 5px 0px;
      font-size: 1.4rem;
   }
}
/*こちら。*/
.form-item-ttl a:link {
   color: #0000ee;
   text-decoration: underline;
}
.form-item-ttl a:hover {
   color: #ff0000;
   text-decoration: underline;
}
.form-item-ttl a:visited {
   /* color: #551A8B;*/
   color: #0000ee;
   text-decoration: underline;
}
/*「必須」*/
.form-item-ttl .required_add2 {
   position: relative !important;
}
@media screen and (max-width: 480px) {
   .form-item-ttl .required_add2 {
      /*position: relative !important;*/
   }
}
.form-item-ttl_add1 {
   font-size: 0.5em;
}
/*現住所と同じ*/
.address_same {
   padding: 0px 0px 20px 40px;
}
.address_same .va_top span.wpcf7-list-item-label {
   vertical-align: top;
}
@media screen and (max-width: 480px) {
   .address_same {
      padding: 0px 0px 5px 0px;
   }
   .checkbox label {
      cursor: pointer;
   }
}
/*ラジオボタン*/
span.wpcf7-list-item {
   display: inline-block;
   margin: 0 0 0 1em;
   font-size: 0.8em;
}
@media screen and (max-width: 480px) {
   span.wpcf7-list-item {
      font-size: 0.8em;
      margin: 0 0 0 0em;
   }
   .va_text_bottom span.wpcf7-list-item-label {
      vertical-align: top;
      font-size: 1rem;
   }
   @media screen and (max-width: 780px) {
      .va_text_bottom span.wpcf7-list-item-label {
         font-size: 1.5rem !important;
      }
   }
   .va_text_top span.wpcf7-list-item-label {
      vertical-align: text-top;
   }
} /*(max-width:480px)ここまで*/
/*チェックボックス*/
input[type="checkbox"] {
   display: inherit;
}
span.wpcf7-list-item label {
   cursor: pointer;
}
/*リキャプチャ設置左寄せ*/
.grecaptcha-badge {
   left: 6px !important;
   width: 70px !important;
}
.grecaptcha-badge:hover {
   left: 6px !important;
   width: 256px !important;
}
/*フォントサイズ調整*/
@media screen and (max-width: 480px) {
   #form .fs_1 {
      font-size: 1em !important;
   }
   #form .fs_15 {
      font-size: 1.5em !important;
   }
}
@media screen and (min-width: 767px) {
   #form .fs_1em {
      font-size: 1em !important;
   }
}
@media screen and (max-width: 480px) {
   #form .fs_1 .fs_1em_add1 {
      font-size: 1em !important;
   }
}
@media screen and (max-width: 480px) {
   #form .fs_1rem .form_control {
      font-size: 1.5rem !important;
   }
}
.display_flex {
   display: flex;
   flex-wrap: wrap;
   margin-left: 10px;
}
.display_flex .mwform-checkbox-field {
   border: 1px solid #ccc;
   width: 350px;
   height: 40px;
   line-height: 1;
   border-radius: 5px;
   font-size: 0.8em;
   margin: 1px 1px 0px 0px !important;
}

.modalA-container{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	
	padding: 40px 4%;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	box-sizing: border-box;
	z-index: 12;
}
.modalA-container::before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
.modalA-container .modal_bg{
	position: absolute;
	background: rgba(0,0,0,50%);
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.modalA-container .modal-body{
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 800px;
	width: 98%;
}
.modalA-container .modal-content{
	background: #f2eadf;
	text-align: left;
	padding: 60px clamp(20px, 3vw, 60px) clamp(40px, 80vw, 80px);
	font-size: clamp(1.4rem,1.6vw,1.6rem);
	position: relative;
	max-height: 85vh;
	overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.modalA-container .modal-content::-webkit-scrollbar{
	display:none;
}
.modalA-container .modal-content::after{
	content: "";
	display: block;
	position: absolute;
	bottom: 1em;
	left: 1em;
	width: clamp(50px,12vw,123px);
	aspect-ratio: 123/119;
}
.modalA-container .modal-ttl{
	background: #fff;
	font-weight: bold;
	font-size: clamp(1.8rem,2vw,2rem);
	padding: 0.7em 1.5em;
	line-height: 1;
	max-width: fit-content;
	width: 100%;
	margin: 0 auto 2em;
	border-radius: 100vmax;
}
.modalA-container .modal-lead{
	text-align: center;
}
.modalA-container .modal-txt{
	margin-top: 2em;
}
.modalA-container .modal-txt p:not(:last-child){
	margin-bottom: 1.5em;
}
.modalA-container .modal-close{
	background: #d9c19e;
	max-width: fit-content;
	width: 100%;
	margin: 2em auto 0;
	padding: 0.3em 1.5em;
	border-radius: 100vmax;
	font-weight: bold;
	color: #fff;
	cursor: pointer;
	transition: .3s;
}
.modalA-container.active{
	opacity: 1;
	visibility: visible;
}
@media (hover:hover) {
	.modalA-container .modal-close:hover{
		background: #b7a284;
	}
}
@media screen and (max-width: 767px) {
	.modalA-container .modal-lead{	
		text-align: left;
	}
}

.form-info{
	margin: 1.5em auto 0;
}
.form-info .info-ttl{
	text-align: center;
	font-weight: bold;
	font-size: clamp(1.4rem,1.6vw,1.6rem);
}
.form-info .info-ttl::before{
	content: "\f06a";
	font-family: "FontAwesome";
	font-weight: 900;
	margin-right: 0.3em;
	color: #f78c71;
	font-size: clamp(1.8rem,2.6vw,2.6rem);
}
.form-info .info-txt{
	font-size: clamp(1.2rem,1.4vw,1.4rem);
	text-align: center;
	font-weight: 500;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
@media screen and (max-width: 767px) {
	.form-info .info-txt{	
		text-align: left;
	}
}
@media screen and (max-width: 480px) {
	.form-info{
		width: 90%;
		margin: 1.5em auto 0;
	}
	.form-info .info-txt{
		font-size: 1rem;
	}
}
.form_requestLeadBlock{
	background: #f2eadf;
	padding: clamp(30px,4vw,40px) 2.5%;
}
.form_requestLeadBlock .block-txt{
	font-size: clamp(1.4rem,1.6vw,1.6rem);
	line-height: 1.75;
}
.form_requestLeadBlock.block01 .block-ttl{
	text-align: center;
	font-size: clamp(1.6rem,1.8vw,1.8rem);
	font-weight: bold;
	margin-bottom: 1.5em;
}
.request-bookList{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.request-bookItem{
	width: 48%;
	text-align: center;
	font-size: clamp(1.4rem,1.6vw,1.6rem);
}
.request-bookItem .item-img{
	position: relative;
	width: 100%;
	aspect-ratio: 3/2;
	margin: 0 auto 1.5em;
}
.request-bookItem .item-img img{
	position: absolute;
	box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.3);
}
.request-bookItem .item-img.item01 img.book01{
	width: 80%;
	right: 0;
	top: 0;
}
.request-bookItem .item-img.item01 img.book02{
	width: 42%;
	left: 0;
	bottom: 0;
}
.request-bookItem .item-img.item02 img.book03{
	width: 80%;
	left: 0;
	top: 0;
}
.request-bookItem .item-img.item02 img.book04{
	width: 80%;
	right: 0;
	bottom: 0;
}

@media screen and (max-width: 576px) {
	.form_requestLeadBlock{
		padding: clamp(30px,4vw,40px) 4%;
	}
	.request-bookList .request-bookItem:not(:last-child){
		margin-bottom: 25px;
	}
	.request-bookItem{
		width: 100%;
	}
	.request-bookItem .item-img{
		width: 90%;
	}
}
.form_requestLeadBlock.block02{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	align-items: center;
	margin-top: 25px;
}
.form_requestLeadBlock.block02 .block-head,.form_requestLeadBlock.block02 .block-body{
	width: 48%;
}
.form_requestLeadBlock.block02 .block-body img{
	box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.3);
}
.form_requestLeadBlock.block02 .block-ttl{
	font-size: clamp(1.6rem,1.8vw,1.8rem);
	font-weight: bold;
	margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
	.form_requestLeadBlock.block02 .block-head,.form_requestLeadBlock.block02 .block-body{
		width: 100%;
	}
	.form_requestLeadBlock.block02 .block-body{
		text-align: center;
		margin-top: 25px;
	}
	.form_requestLeadBlock.block02 .block-ttl{
		text-align: center;
	}
}