@charset "UTF-8";

/* ================================================

  MISAWA Web Estitimate Step01 SP Renewal Style

================================================ */

/* --------------- ▼ Add 202602 ▼ --------------- */
.l-container {
  height: auto;
  min-height: 100vh;
  overflow-y: scroll;
}
.l-footer {
  position: fixed;
  width: 100%;
  left: 0;
}
.copy { padding: 0 0 10px; }
/* --------------- ▲ Add 202602 ▲ --------------- */



/*
  Search Unit
------------------------------------------------ */
.plan-select-unit {
  padding: calc(40 / 750 * 100%) 0 calc(80 / 750 * 100%);
  margin: 0 0 115px 5.333333%;
}
.plan-select-unit h3 {
  font-size: calc(36 / 750 * 100vw);
  padding: 0 0 5px;
  margin: 0 calc(60 / 750 * 100%) 10px;
  border-bottom-width: 2px;
}
.plan-select-unit h3 + p {
  font-size: max(calc(21 / 750 * 100vw), 12px);
  padding: 0 calc(60 / 750 * 100%);
  margin: 0 0 calc(60 / 750 * 100%);
}
.plan-select {
  margin: calc(85 / 750 * 100%) 0 0;
  padding: 0 calc(60 / 750 * 100%);
}
.plan-select:first-of-type { margin: 0; }
.plan-select.is-opened { padding: 0; }
.plan-select a { padding: 25px 0 20px; }
.plan-select figure {
  width: calc(350 / 480 * 100vw);
  margin: auto;
}
.plan-select h4 {
  font-size: calc(27 / 750 * 100vw);
  width: calc(350 / 480 * 100vw);
  margin: 1.25em auto 0;
}
.plan-select h4::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  width: calc(32px *.65);
  height: calc(20px * .65);
  background: url(../images/step01/arrow.png) no-repeat 0 0;
  background-size: cover;
}
.plan-select h4.is-toggled::after { transform: translateY(-50%) rotate(0); }

.inc-select-plan, .inc-select-product {
  position: relative;
  z-index: 1; /* Modified 202602 */
  height: auto;
  background: none;
}

/*
  "renewal" Config
------------------------------------------------ */
.renewal {
  min-width: initial;
  background-image: none;
  background-color: #f5f1e7;
}
.renewal .l-header .header01 { padding: 10px 0; }
.renewal .l-header .header01 ul li a { color: var(--blk); }
.renewal .l-main { padding: 0 0 85px; }

/*
  Section Header
------------------------------------------------ */
.l-section .select-header {
  padding: calc(60 / 750 * 100%) 5.333333% 0;
  display: none;
}
.l-section .select-header .page-nav {
  width: 100%;
  margin: calc(5.333333% / 2) 0 0;
  padding: 0;
  display: none;
}

/*
  Section Heading
------------------------------------------------ */
.sec-heading { font-size: calc(27 / 750 * 100vw); }

/*
  戻る
------------------------------------------------ */
.return { padding: 4px 20px; }
.return a { font-size: calc(24 / 750 * 100vw); }

/*
  閉じる
------------------------------------------------ */
.close-btn { display: none; }

/*
  選ぶ
------------------------------------------------ */
.select-container {
  max-width: initial;
  width: 100%;
  margin: 0;
  padding: calc(45 / 750 * 100%) calc(40 / 750 * 100%);
}
#select-product .select-container { padding: calc(70 / 750 * 100%) calc(40 / 750 * 100%) calc(45 / 750 * 100%); }
.cb-unit {
  grid-template-columns: repeat(2, 1fr);
  gap: calc(60 / 750 * 100vw) calc(20 / 750 * 100vw);
  margin: 0 0 calc(70 / 750 * 100%);
}

.cb-unit label.mb70 { margin: 0 0 calc(70 / 750 * 100%); }
.cb-unit label.product-name::before {
  top: -24px;
  font-size: max(calc(24 / 750 * 100vw), 13px);
  white-space: nowrap;
}

.cb-unit label.product-name::after { top: -10px; }
.cb-unit label.pn01::after { width: calc(200% + (20 / 750 * 100vw)); }
.cb-unit label.pn02::after { width: calc(200% + (20 / 750 * 100vw)); }
.cb-unit label.pn03::after { width: calc(200% + (20 / 750 * 100vw)); }
.cb-unit label.pn04::after { width: calc(200% + (20 / 750 * 100vw)); }

.cb-unit label figure { margin: 0 0 10px; }
.cb-unit label input[type="checkbox"] + p span {
  font-size: max(calc(22 / 750 * 100vw), 13px);
  letter-spacing: 0;
}
.cb-unit label input[type="checkbox"] + p .info-btn { top: .25em; }
.view360 { margin: calc(42px * .55 * -.25) 0 0; }

/*
  条件で絞り込む
------------------------------------------------ */
.filter-trigger { width: 100%; }
.filter-trigger span {
  font-size: max(calc(24 / 750 * 100vw), 13px);
  letter-spacing: -.025em;
}
.filter-trigger span::before { left: -35px; }

.conditions-unit .sec-heading { font-size: calc(26 / 750 * 100vw); }

.condition-list {
  padding: calc(45 / 750 * 100%) calc(45 / 750 * 100%) calc(60 / 750 * 100%);
  flex-wrap: wrap;
  gap: calc(60 / 750 * 100vw) 0;
}
.condition-list dl { width: 50%; }
.condition-list dl dt {
  font-size: max(calc(26 / 750 * 100vw), 14px);
  letter-spacing: 0;
  margin: 0 0 5px;
}
.condition-list dl dd ul li:not(:last-of-type) { margin: 0 0 5px; }
.condition-list dl dd ul li label input[type="checkbox"] + span {
  font-size: max(calc(24 / 750 * 100vw), 13px);
  letter-spacing: 0;
}

/*
  選択間取り数表示
------------------------------------------------ */
.select-container + .num-disp { display: none; }

/*
.renewal .num-disp {
  position: fixed;
  z-index: 3;
  left: 5.333333%;
  top: initial;
  bottom: 10px;
  transform: initial;
  width: calc(100% - (5.333333% * 2));
  min-width: initial;
  margin: 0;
  padding: 15px 7.5%;
  line-height: initial;
}
.renewal .num-disp ul li span { margin: 0 5px 0 calc(25 / 750 * 100vw); }
.renewal .num-disp .disp-btn {
  font-size: max(calc(22 / 750 * 100vw), 12px);
  width: auto;
  padding: .3em 1.5em;
  animation: initial;
}
*/


/* --------------- ▼ Add 202602 ▼ --------------- */

.sec-step01 + .btn-unit.pc + .btn-unit.sp { bottom: 10px; }
.sec-step01 + .btn-unit.pc + .btn-unit.sp.is-bottom { bottom: 30px; }
.sec-step01 + .btn-unit.pc + .btn-unit.sp > div { padding: 0; }
.sec-step01 + .btn-unit.pc + .btn-unit.sp .num-disp {
  position: absolute;
  bottom: 0;
}

/* --------------- ▲ Add 202602 ▲ --------------- */