/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: last 4 version
*/

@charset "utf-8";

/* フォーム用共通リセットここから */
input,
button,
textarea,
select {
  /* デフォルトスタイルをリセット */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  /* font-familyを継承しないので、継承させる */
  font-family: inherit;

  /* iOSの角丸をリセット */
  border-radius: 0;

  /* box-size */
  -webkit-box-sizing: border-box;
  box-sizing: border-box;

  /* 文字の大きさ iOSでズームさせないために16px以上を指定 */
  font-size: 16px;

  /* 文字色を親から継承 */
  color: inherit;
}

label {
  /* iOSでのlabelとinput,select,textareaの関連付け */
  cursor: pointer;
}

/* スピンボタン非表示 chrome,safari */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="month"]::-webkit-outer-spin-button,
input[type="month"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-outer-spin-button,
input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="week"]::-webkit-outer-spin-button,
input[type="week"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="date"]::-webkit-inner-spin-button {
  /*-webkit-appearance: none;
  margin: 0;*/
  display: none;
}

/* スピンボタン非表示(firefox) */
input[type="number"],
input[type="month"],
input[type="datetime-local"],
input[type="week"],
input[type="time"],
input[type="date"] {
  -moz-appearance: textfield;
}

/* クリアボタン非表示 */
input[type="date"]::-webkit-clear-button,
input[type="month"]::-webkit-clear-button,
input[type="datetime-local"]::-webkit-clear-button,
input[type="time"]::-webkit-clear-button,
input[type="week"]::-webkit-clear-button {
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

/* フォーム用共通リセットここまで */


/* 共通 */
html {
  font-size: 16px;
  font-family: 'メイリオ', Meiryo, "ヒラギノ角ゴ Pro W3", Osaka, "ＭＳ Ｐゴシック", sans-serif;
  color: #333;
}

.contents {
  width: 95%;
  max-width: 768px;
  margin: auto;
}

.container {
  background-color: #f3f3f3;
  border-top: 1px solid #f3f3f3;
  border-bottom: 1px solid #f3f3f3;
}

.container>.contents {
  margin-bottom: 6em;
}

h1 {
  margin: 0;
}

h2 {
  font-size: 24px;
  font-weight: normal;
  margin: 0 0 1em 0;
  /*
  border-bottom: 2px solid #BA454B;
  */
  border-bottom: 2px solid #70C5D2;

}

h2 .h2_small {
  font-size: 12px;
  margin-left: 15px;
}

/* ヘッダー */
header {
  /*
  border-bottom: 6px solid #BA454B;
  */
  border-bottom: 6px solid #70C5D2;
}

header .contents {
  text-align: center;
  padding: 2rem;
}

header img {
  max-width: 100%;
}


/* MV */
.mv img {
  width: 100%;
}

.form_subttl {
  /*
  background: #e2565e;
  */
  background: #70C5D2;
  border-radius: 8px;
  padding: 10px 3%;
  margin: 35px 0 0 0;
  color: #fff;
  font-size: 18px;
}

/* フォーム */
p.question {
  margin-bottom: 0;
}

p.question.sub {
  margin: 0;
  font-size: 80%;
}

.box {
  background: #fff;
  border: 1px solid #DADCE0;
  border-radius: 8px;
  margin: 3rem 0;
  padding: 24px;
}

.must {
  background: #F25D62;
  color: #fff;
  font-size: 14px;
  border-radius: 5px;
  padding: .1em .4em;
  vertical-align: middle;
  margin-left: .5em;
}

.wrap {
  display: flex;
  flex-wrap: wrap;
}

.wrap.dashed {
  border-bottom: 1px dashed #ccc;
  margin: .5em 0;
  padding-bottom: .5em;
}

.mw_wp_form_confirm .dashed {
  border-bottom: none;
}

.name-wrap {
  width: 50%;
}

input[type="text"][name="zip01"],
input[type="text"][name="phone01"],
input[type="text"][name="phone-mobile01"],
input[type="text"][name="phone-home01"] {
  width: 85px;
}

input[type="text"][name="room-number"],
input[type="text"][name="zip02"],
input[type="text"][name="phone02"],
input[type="text"][name="phone03"],
input[type="text"][name="phone-mobile02"],
input[type="text"][name="phone-mobile03"],
input[type="text"][name="phone-home02"],
input[type="text"][name="phone-home03"] {
  width: 100px;
}

input[type="text"][name="purpose-tel"],
input[type="text"][name="planprice"],
input[type="text"][name="building-name"] {
  width: 250px;
}

input[type="text"][name="intended-use-other"] {
  width: 200px;
}

.name,
.kana {
  width: 45%;
}

input[type="text"],
input[type="email"],
input[type="number"],
select,
textarea {
  position: relative;
  padding: .5em;
  border-radius: 5px;
  margin: 5px 0;
  border: 1px solid #707070;
  max-width: 100%;
}

textarea {
  width: 100%;
}

select {
  padding: .5em 2em .5em 1em;
}

.select-wrap {
  display: inline-block;
  position: relative;
}

.select-wrap:before {
  content: "";
  display: block;
  z-index: 1;
  width: 10px;
  height: 10px;
  position: absolute;
  right: 15px;
  top: 40%;
  border-bottom: #333 1px solid;
  border-right: #333 1px solid;
  -webkit-transform: rotate(45deg)translateY(-30%);
  -ms-transform: rotate(45deg)translateY(-30%);
  transform: rotate(45deg)translateY(-30%);
}

[type="radio"]:not(:checked),
[type="radio"]:checked {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
}

[type="radio"]:not(:checked)+span,
[type="radio"]:checked+span {
  position: relative;
  padding-left: 25px;
  cursor: pointer;
  display: inline-block;
  height: 25px;
  line-height: 25px;
  font-size: 1rem;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

[type="radio"]:checked+span:after,
[type="radio"]:checked+span:before {
  border: 2px solid #5B83C3;
}

[type="radio"]:not(:checked)+span:before {
  border: 2px solid #333333;
}

[type="radio"]:not(:checked)+span:before,
[type="radio"]:not(:checked)+span:after,
[type="radio"]:checked+span:before,
[type="radio"]:checked+span:after {
  border-radius: 50%;
}

[type="radio"]+span:before,
[type="radio"]+span:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  margin: 4px;
  width: 16px;
  height: 16px;
  z-index: 0;
}

[type="radio"]:checked+span:after {
  background-color: #5B83C3;
  -webkit-transform: scale(0.5);
  -ms-transform: scale(0.5);
  transform: scale(0.5);
}

.zip-button {
  background: #22A5D4;
  border: none;
  color: #fff;
  border-radius: 5px;
  padding: 0.3em 1em;
  cursor: pointer;
}

button.kasai-button[type="submit"] {
  display: block;
  margin: 1em auto;
  padding: 1em;
  width: 340px;
  max-width: 100%;
  border: none;
  color: #fff;
  /*
  background: #D15E69;
  */
  background: #70C5D2;
  font-size: 1.25rem;
  cursor: pointer;
}

.kasai-back-button a {
  display: block;
  margin: 1em auto;
  padding: 1em;
  width: 340px;
  max-width: 100%;
  border: none;
  color: #fff;
  background: #999;
  font-size: 1.25rem;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
}

.agreement-box {
  width: 100%;
  background: #fff;
  border: 1px solid #707070;
  margin: 3em auto;
  padding: 2rem;
  text-align: center;
}

.agreement-box .ttl {
  text-align: center;
  margin-bottom: 10px;
}

.agreement-box p {
  text-align: left;
  margin: 0;
}

.agreement-box label {
  display: inline-block;
  background: #D6E4FF;
  margin-top: 2em;
  padding: 1.5em;
}

.agreement-box input {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert;
}

.aplication_method {
  margin-top: 10px;
}

.aplication_method span:nth-child(1) label::after {
  content: "専⽤のQRコードをご案内いたします。スマホなどで簡単にお⼿続きいただけます。";
  display: block;
  font-size: 80%;
  margin: 0 0 0 25px;
}

.aplication_method span:nth-child(2) label::after {
  content: "書類を送付いたしますので、ご署名等必要事項をご記入の上、ご返送ください。";
  display: block;
  font-size: 80%;
  margin: 0 0 0 25px;
}

.consultation_method {
  margin: 10px 0 30px 0;
}

.consultation_method span.mwform-radio-field {
  margin: 0 0 15px 0;
}

.consultation_method span:nth-child(1) label::after {
  content: "原則、平⽇10時〜17時とさせていただいております。";
  display: block;
  font-size: 80%;
  margin: 0 0 0 25px;
}

.consultation_method span:nth-child(3) label::after {
  content: "最終的なご意向確認等、必要最⼩限のご連絡とさせていただきます。";
  display: block;
  font-size: 80%;
  margin: 0 0 0 25px;
}

.consultation_method_tel {
  font-size: 80%;
  margin: 10px 0 0 25px;
}

.consultation_method_attention {
  display: inline-block;
  line-height: 1.3rem;
  position: relative;
  top: 10px;
}

.fc-b {
  color: #333;
  text-decoration: none;
}

/* フッター */
footer {
  padding: 2em 0;
  font-size: 0.9em;
  color: #fff;
  /*
  background: #BA454B;
  */
  background: #70C5D2;
  text-align: center;
}

/* 確認ページのみ適用 */
.mw_wp_form_confirm .box {
  font-size: 18px;
}

.mw_wp_form_confirm .question {
  font-size: 14px;
  color: #aaa;
  border-bottom: 1px solid #ddd;
  padding-bottom: 0.5em;
  margin-bottom: .5em;
}

/* 確認ページで非表示 */
.mw_wp_form_confirm .attention-syakka-other,
.mw_wp_form_confirm .select-wrap:before,
.mw_wp_form_confirm .attention-input,
.mw_wp_form_confirm .zip-button,
.mw_wp_form_confirm .no-conf {
  display: none;
}

/* 完了ページ */
.mw_wp_form_complete {
  margin: 6em auto;
}

/* 火災保険トップ */
.kasai_form_select {
  background: #fff;
  border: 1px solid #DADCE0;
  border-radius: 8px;
  margin: 3rem 0;
  padding-bottom: 35px;
}

.kasai_form_select p {
  text-align: center;
}

.kasai_form_select h2 {
  /*
  background: #e2565e;
  */
  background: #70C5D2;
  border-bottom: #70C5D2;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  padding: 25px 3% 20px 3%;
  color: #fff;
  font-size: 18px;
  margin-bottom: 35px;
}

.kasai_form_select .button {
  background: #fff url(../../images/kasai/icon_arrow.svg) no-repeat 96% center;
  border-radius: 8px;
  border: solid 1px #b9b9b9;
  padding: 15px 5%;
  font-size: 16px;
  text-align: center;
  max-width: 500px;
  width: 90%;
  display: block;
  margin: 0 auto 20px auto;
  color: #000;
  text-decoration: none;
  transition: .5s;
}

.kasai_form_select .button:hover {
  background: #eeeeee url(../../images/kasai/icon_arrow.svg) no-repeat 96% center;
}

.kasai_form_select .button span {
  font-size: 55%;
  display: block;
  padding-top: 5px;
}

@media screen and (max-width: 767px) {
  .kasai_form_select p {
    text-align: left;
    padding: 0 5%;
  }

  .kasai_form_select .button span {
    padding-right: 4%;
    text-align: left;
  }
}




/* プレイスホルダーの色 */
input::-webkit-input-placeholder {
  color: #bbb;
}

input::-moz-placeholder {
  color: #bbb;
}

input:-ms-input-placeholder {
  color: #bbb;
}

input::-ms-input-placeholder {
  color: #bbb;
}

input::placeholder {
  color: #bbb;
}

/* IE */
input:-ms-input-placeholder {
  color: #bbb;
}

/* Edge */
input::-ms-input-placeholder {
  color: #bbb;
}


@media screen and (max-width: 767px) {
  h2 .h2_small {
    display: block;
    margin-left: 0;
    padding-bottom: 7px;
  }

  .form_subttl p {
    margin: 10px 0;
  }

  .box {
    padding: 16px;
  }

  .mv p,
  .agreement-box {
    padding: 1rem;
  }

  .name-wrap {
    width: 100%;
  }

  input[type="text"][name="building-name"] {
    width: 100%;
  }

  select {
    padding: .5em 2em .5em .5em;
  }

  .form-wrap {
    display: block;
  }

  .form-wrap .left,
  .form-wrap .right {
    display: block;
    width: 100%;
  }

  .mwform-radio-field.horizontal-item {
    display: block;
    margin: 1em auto;
  }

  .mwform-radio-field:not(:first-child) {
    margin-left: 0 !important;
  }

  .consultation_method_attention {
    display: block;
  }

  .consultation_method_attention br {
    display: none;
  }
}

/* --------------------
	  2025.2.20追記
--------------------- */

.mv .contents h1 {
  text-align: center;
  font-size: 50px;
  line-height: 1.1;
  margin-top: 50px;
  color: #000;

  @media screen and (max-width: 767px) {
    font-size: clamp(32px, 6.5vw, 6.5vw);
  }
}

.mv .contents p {
  margin-top: 50px;

}

/* --------------------
	  2025.3.3追記
--------------------- */
@media screen and (min-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}


header.bb-green,
h2.bb-green {
  border-color: #007264;
}

.qrf {
  font-size: 18px;
}

.mv .contents h1.fz36 {
  font-size: 36px;
  font-weight: bold;
}

.mv .contents h1.mt50 {
  margin: 130px auto;
}

.head-text {
  font-size: 20px;
  margin-top: 0;
}

.details table,
.details td,
.details th {
  border: 1px solid #007264;
  border-collapse: collapse;
}

.details th {
  background: #007264;
  color: #fff;
  font-size: 20px;
}

.details {
  width: 100%;
}

.details td {
  padding: 20px 30px;
  font-size: 18px;
}

.attention {
  margin-top: 0;
  font-size: 14px;
}

.mwform-checkbox-field input {
  margin-right: 5px;
}

.check_btn {
  margin-top: 5px;
}

.check_btn td {
  margin-top: 10px;
}

.check_btn input[type=checkbox].check_btn_item {
  display: none;
}

.check_btn label {
  display: inline-block;
}

.check_btn .check_btn_item+span {
  padding-left: 28px;
  display: inline-block;
  position: relative;
}

.check_btn .check_btn_item+span::after,
.check_btn .check_btn_item+span::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
}

.check_btn .check_btn_item+span::before {
  border: 2px solid #000;
  border-radius: 2px;
  left: 0;
  height: 20px;
  width: 20px;
  top: 50%;
  transform: translateY(-50%);
}

.check_btn .check_btn_item+span::after {
  border: none;
  border-right: 3px solid #000;
  border-bottom: 3px solid #000;
  height: 12px;
  left: 6px;
  opacity: 0;
  top: 45%;
  transform: translateY(-50%) rotate(45deg);
  width: 7px;
}

.check_btn .check_btn_item:checked+span::after {
  opacity: 1;
}

.mw_wp_form .horizontal-item {
  display: inline-block;
  width: 270px;
  margin-left: 0 !important;
  margin-top: 10px;
}

.contact {
  margin-bottom: 0;
  line-height: 1.7;
}

.agreement-box .fz20 {

  font-size: 20px;
}

.agreement-box .fwb {
  font-weight: bold;
}

.zip-button.green {
  background: #007264;
  margin-left: 10px;
}

button.kasai-button[type="submit"] {
  background: #007264;
  font-size: 18px;
  font-weight: bold;
  padding: 0.5em;
}

button.kasai-button[value="back"] {
  background: #999 !important;
}

.kasai-button .fz24 {
  font-size: 24px;
}

.ttl.mb20 {
  margin-bottom: 20px;
}

footer.pd-custom p {
  margin: 5px;
}

footer.pd-custom {
  padding: 40px 0;
  background: #C44C53;
}

footer.pd-custom div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}

footer.pd-custom a {
  text-decoration: none;
  color: #fff;
}
