/* Kotoie Estimate 1.9.0 */
.kot-reform222-sim {
  margin-bottom: -140px !important;
}


/* Version 1.35.38: vendor database CTA with page-top navigation. */
.kotoieEstimateSeoVendorGuide {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) minmax(220px, 290px);
  align-items: center;
  gap: 18px;
  margin: 22px 0 0;
  padding: 20px 22px;
  border: 1px solid #ead8c1;
  border-radius: 16px;
  background: linear-gradient(135deg, #fffaf3 0%, #fff 62%, #fff8ed 100%);
  box-shadow: 0 10px 28px rgba(96, 62, 20, .07);
}
.kotoieEstimateSeoVendorGuide__icon {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 15px;
  background: #fff;
  color: #d87508;
  box-shadow: inset 0 0 0 1px #f0dfca;
}
.kotoieEstimateSeoVendorGuide__icon svg {
  width: 34px;
  height: 34px;
  fill: #fff3e2;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.kotoieEstimateSeoVendorGuide__content {
  min-width: 0;
}
.kotoieEstimateSeoVendorGuide__content > span {
  display: block;
  margin: 0 0 4px;
  color: #a45d0d;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: .08em;
}
.kotoieEstimateSeoVendorGuide__content h2 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #32281f !important;
  font-size: 21px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  box-shadow: none !important;
}
.kotoieEstimateSeoVendorGuide__content h2::before,
.kotoieEstimateSeoVendorGuide__content h2::after {
  content: none !important;
  display: none !important;
}
.kotoieEstimateSeoVendorGuide__content p {
  margin: 7px 0 0 !important;
  color: #62584e;
  font-size: 13px;
  line-height: 1.75;
}
.kotoieEstimateSeoVendorGuide__content ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.kotoieEstimateSeoVendorGuide__content li {
  margin: 0 !important;
  padding: 4px 9px !important;
  border: 1px solid #eed9bd;
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  color: #74532f;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.4;
}
.kotoieEstimateSeoVendorGuide__content li::before,
.kotoieEstimateSeoVendorGuide__content li::after {
  content: none !important;
  display: none !important;
}
.kotoieEstimateSeoVendorGuide__button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 12px 15px;
  border: 1px solid #df7908;
  border-radius: 10px;
  background: #e9810b;
  color: #fff !important;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.5;
  text-decoration: none !important;
  box-shadow: 0 7px 16px rgba(207, 105, 0, .17);
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.kotoieEstimateSeoVendorGuide__button:hover,
.kotoieEstimateSeoVendorGuide__button:focus-visible {
  background: #cf6d00;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 9px 20px rgba(190, 90, 0, .23);
}
.kotoieEstimateSeoVendorGuide__button i {
  flex: 0 0 auto;
  font-size: 20px;
  font-style: normal;
  line-height: 1;
}
@media screen and (max-width: 760px) {
  .kotoieEstimateSeoVendorGuide {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 11px 12px;
    margin-top: 18px;
    padding: 16px;
    border-radius: 14px;
  }
  .kotoieEstimateSeoVendorGuide__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
  }
  .kotoieEstimateSeoVendorGuide__icon svg {
    width: 27px;
    height: 27px;
  }
  .kotoieEstimateSeoVendorGuide__content h2 {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }
  .kotoieEstimateSeoVendorGuide__content p {
    font-size: 12.5px;
    line-height: 1.7;
  }
  .kotoieEstimateSeoVendorGuide__content ul {
    gap: 5px;
    margin-top: 8px !important;
  }
  .kotoieEstimateSeoVendorGuide__content li {
    padding: 3px 7px !important;
    font-size: 10px;
  }
  .kotoieEstimateSeoVendorGuide__button {
    grid-column: 1 / -1;
    min-height: 50px;
    padding: 11px 14px;
    font-size: 12.5px;
  }
}

@media screen and (max-width: 600px) {
  .kot-reform222-sim {
    margin-bottom: -70px !important;
  }
}

.kot-reform222-sim {
  background: linear-gradient(180deg, #efd54c 0%, #e7ca39 100%);
  padding: 70px 70px !important;
  margin: 0 -50px;
  font-family: inherit;
}

.kot-reform222-sim * {
  box-sizing: border-box;
}

.kot-reform222-wrap {
  max-width: 760px;
  margin: 0 auto;
  background: #fff;
  border-radius: 18px;
  border: 1px solid #e8e8e8;
  box-shadow: 0 10px 28px rgba(0,0,0,0.08);
  overflow: hidden;
}

.kot-reform222-wrap {
  --kot-navi-main: #684700;
  --kot-navi-dark: #4d3400;
  --kot-navi-accent: #d58a00;
  --kot-navi-accent-dark: #a96d00;
  --kot-navi-soft: #fffdf8;
  --kot-navi-soft2: #f7efe0;
  --kot-navi-border: #e9dfca;
  --kot-navi-text: #3a2a12;
  --kot-navi-sub: #6f6048;
  --kot-navi-danger: #b95d00;
}

.kot-reform222-head {
  padding: 36px 24px 28px;
  text-align: center;
  background: linear-gradient(180deg, #fffaf1 0%, #fff7e8 100%);
  border-bottom: 1px solid var(--kot-navi-border);
}

.kot-reform222-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  width: -moz-fit-content;
  margin: 0 auto 20px;
  padding: 7px 18px;
  background: var(--kot-navi-main);
  color: #fff;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
}

.kot-reform222-head h2 {
  display: block;
  margin: 0 auto 22px !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--kot-navi-text);
  font-size: 26px;
  line-height: 1.55;
  font-weight: 900;
  text-align: center !important;
  letter-spacing: 0.03em;
}

.kot-reform222-head h2 span {
  color: var(--kot-navi-accent);
}

.kot-reform222-lead-row {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 620px;
  margin: 0 auto;
}

.kot-reform222-head p {
  max-width: 620px;
  margin: 0 auto !important;
  color: var(--kot-navi-sub);
  font-size: 14px;
  line-height: 1.9;
  font-weight: 600;
  text-align: center;
}

.kot-reform222-budget-box {
  margin: 18px 20px 0;
  padding: 18px 16px;
  background: #fffdf8;
  border: 1px solid var(--kot-navi-border);
  border-radius: 14px;
  text-align: center;
}

.kot-reform222-budget-title {
  margin: 0 0 10px;
  color: var(--kot-navi-text);
  font-size: 14px;
  font-weight: 800;
}

.kot-reform222-budget-input {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.kot-reform222-budget-input input {
  display: block;
  width: 120px;
  min-height: 46px;
  padding: 10px 12px;
  border: 2px solid var(--kot-navi-accent);
  border-radius: 10px;
  background: #fff;
  font-size: 18px;
  font-weight: 800;
  text-align: right;
  color: var(--kot-navi-main);
  line-height: 1.3;
  -webkit-appearance: none;
  appearance: none;
}

.kot-reform222-budget-input input::placeholder {
  color: #c7bba5;
  font-size: 16px;
  font-weight: 700;
}

.kot-reform222-budget-input input:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(213,138,0,0.16);
}

.kot-reform222-budget-input span {
  color: var(--kot-navi-text);
  font-size: 17px;
  font-weight: 800;
}

.kot-reform222-budget-note {
  margin: 10px 0 0;
  color: var(--kot-navi-sub);
  font-size: 12px;
  line-height: 1.7;
}

.kot-reform222-form {
  padding: 22px 20px 26px;
}

.kot-reform222-form label {
  display: block;
  margin-bottom: 15px;
}

.kot-reform222-form label span {
  display: block;
  margin-bottom: 7px;
  padding-left: 12px;
  border-left: 4px solid var(--kot-navi-accent);
  color: var(--kot-navi-text);
  font-size: 14px;
  font-weight: 800;
}

.kot-reform222-form select {
  width: 100%;
  min-height: 48px;
  padding: 12px 42px 12px 12px;
  border: 1px solid var(--kot-navi-border);
  border-radius: 8px;
  background:
    linear-gradient(45deg, transparent 50%, var(--kot-navi-main) 50%) right 18px center / 7px 7px no-repeat,
    linear-gradient(135deg, var(--kot-navi-main) 50%, transparent 50%) right 13px center / 7px 7px no-repeat,
    #fff;
  color: var(--kot-navi-text);
  font-size: 15px;
  appearance: none;
  -webkit-appearance: none;
}

.kot-reform222-form select:focus {
  outline: none;
  border-color: var(--kot-navi-accent);
  box-shadow: 0 0 0 3px rgba(213,138,0,0.16);
}

.kot-reform222-form button {
  width: 100%;
  margin-top: 8px;
  padding: 16px 12px;
  background: var(--kot-navi-accent);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 18px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 5px 0 var(--kot-navi-accent-dark);
  transition: 0.18s ease;
}

.kot-reform222-form button:after {
  content: " ▶";
  font-size: 13px;
}

.kot-reform222-form button:active {
  transform: translateY(3px);
  box-shadow: 0 2px 0 var(--kot-navi-accent-dark);
}

.kot-reform222-form.is-calculated button {
  margin-top: 6px;
  padding: 12px 12px;
  background: #c98200;
  box-shadow: 0 3px 0 #9a6500;
  font-size: 16px;
  opacity: 0.9;
}

.kot-reform222-form.is-calculated button:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 #9a6500;
}

.kot-reform222-result {
  margin: 0 20px 26px !important;
  padding: 26px 16px 24px;
  border: 1px solid var(--kot-navi-border);
  border-radius: 14px;
  background: #fffdf8;
  text-align: center;
}

.kot-result-heading {
  margin: 0 0 18px;
  text-align: center;
}

.kot-result-heading span {
  display: inline-block;
  margin-bottom: 8px;
  padding: 6px 14px;
  background: var(--kot-navi-main);
  color: #fff;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.kot-result-heading strong {
  display: block;
  color: var(--kot-navi-text);
  font-size: 19px;
  font-weight: 900;
  line-height: 1.6;
}

.kot-budget-message {
  margin: 0 0 22px;
  padding: 14px 12px;
  background: #fff;
  border: 1px solid var(--kot-navi-border);
  border-radius: 10px;
  color: var(--kot-navi-text);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.75;
}

.kot-budget-message strong {
  color: var(--kot-navi-accent);
  font-size: 22px;
  font-weight: 900;
}

.kot-budget-message em {
  display: block;
  margin-top: 6px;
  color: var(--kot-navi-sub);
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}

.kot-average-price {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 18px;
}

.kot-average-label {
  color: var(--kot-navi-main);
  font-size: 24px;
  font-weight: 900;
}

.kot-average-price strong {
  display: inline-block;
  min-width: 220px;
  padding: 14px 20px;
  background: #fff;
  border: 1px solid var(--kot-navi-border);
  border-radius: 6px;
  color: var(--kot-navi-accent);
  font-size: clamp(31px, 5vw, 42px);
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
  font-weight: 900;
}

.kot-yen {
  color: var(--kot-navi-main);
  font-size: 30px;
  font-weight: 900;
}

.kot-minmax-area {
  margin-bottom: 24px;
  text-align: center;
}

.kot-range-title {
  margin: 0 0 12px;
  color: var(--kot-navi-sub);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}

.kot-minmax-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.kot-minmax-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  margin-top: unset !important;
}

.kot-minmax-item span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  padding: 0 9px;
  background: var(--kot-navi-main);
  color: #fff;
  border-radius: 3px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
}

.kot-minmax-item strong {
  display: inline-flex;
  align-items: center;
  color: var(--kot-navi-accent);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

.kot-minmax-item em {
  display: inline-flex;
  align-items: center;
  color: var(--kot-navi-text);
  font-style: normal;
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
}

.kot-recalc-link {
  display: inline-block;
  border: none;
  background: transparent;
  color: var(--kot-navi-main);
  text-decoration: underline;
  font-size: 15px;
  cursor: pointer;
}

.kot-recalc-link:before {
  content: "●";
  display: inline-block;
  margin-right: 6px;
  color: var(--kot-navi-accent);
  font-size: 12px;
}

.kot-detail-box {
  width: 100% !important;
  max-width: none !important;
  margin-top: 16px !important;
  padding: 12px 14px;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--kot-navi-border);
  text-align: left;
}

.kot-detail-row {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  border-bottom: 1px dashed var(--kot-navi-border);
  column-gap: 12px;
  font-size: 14px;
}

.kot-detail-row:last-child {
  border-bottom: none;
}

.kot-detail-row span {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  color: var(--kot-navi-sub);
  font-weight: 700;
  text-align: left !important;
}

.kot-detail-row strong {
  display: block !important;
  width: auto !important;
  min-width: 120px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--kot-navi-accent);
  white-space: nowrap;
  text-align: right !important;
  justify-self: end !important;
  font-weight: 900;
}

.kot-compare-box {
  margin: 18px 0 0;
  padding: 16px 14px;
  background: #fff;
  border: 2px solid var(--kot-navi-accent);
  border-radius: 12px;
  text-align: left;
}

.kot-compare-title {
  margin: 0 0 8px !important;
  color: var(--kot-navi-danger);
  font-size: 16px;
  font-weight: 900;
  line-height: 1.6;
  text-align: center;
}

.kot-compare-text {
  margin: 0 !important;
  color: var(--kot-navi-sub);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.85;
}

.kot-compare-list {
  margin: 14px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.kot-compare-list li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px;
  margin: 0 0 9px !important;
  padding: 0 !important;
  color: var(--kot-navi-text);
  font-size: 13.5px;
  font-weight: 800;
  line-height: 1.7;
}

.kot-compare-list li:last-child {
  margin-bottom: 0 !important;
}

.kot-check-icon {
  flex: 0 0 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 21px;
  height: 21px;
  margin-top: 1px;
  background: var(--kot-navi-accent);
  color: #fff;
  border-radius: 50%;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.kot-cv-balloon {
  display: inline-block;
  position: relative;
  margin-top: 24px;
  padding: 10px 26px;
  background: var(--kot-navi-main);
  color: #fff;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 900;
}

.kot-cv-balloon:after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%);
  border-width: 10px 9px 0 9px;
  border-style: solid;
  border-color: var(--kot-navi-main) transparent transparent transparent;
}

.kot-reform222-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  max-width: 520px;
  margin: 18px auto 0;
  padding: 18px 16px;
  background: var(--kot-navi-accent);
  color: #fff !important;
  border-radius: 8px;
  text-decoration: none;
  font-size: 24px;
  font-weight: 900;
  box-shadow: 0 5px 0 var(--kot-navi-accent-dark);
}

.kot-reform222-cta span {
  display: inline-block;
  padding: 8px 10px;
  background: #fff;
  color: var(--kot-navi-main);
  border-radius: 4px;
  font-size: 20px;
  font-weight: 900;
  white-space: nowrap;
}

.kot-reform222-cta:hover {
  opacity: 0.94;
}

.kot-cta-note {
  margin: 12px 0 0 !important;
  color: var(--kot-navi-sub);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}

@media screen and (max-width: 600px) {

  .kot-reform222-sim {
    padding: 70px 70px !important;
    margin: 0 -50px;
  }

  .kot-reform222-wrap {
    border-radius: 16px;
  }

  .kot-reform222-head {
    padding: 30px 20px 26px;
  }

  .kot-reform222-badge {
    margin: 0 auto 18px;
    font-size: 12px;
  }

  .kot-reform222-head h2 {
    font-size: 21px;
    line-height: 1.55;
    text-align: center !important;
    margin: 0 auto 20px !important;
  }

  .kot-reform222-head p {
    max-width: 100%;
    font-size: 13.5px;
    line-height: 1.9;
    text-align: left;
  }

  .kot-reform222-lead-row {
    align-items: center;
    justify-content: center;
    gap: 2px;
    max-width: 100%;
    margin-top: 0;
  }

  .kot-reform222-budget-box {
    margin: 16px 14px 0 !important;
    padding: 16px 14px !important;
  }

  .kot-reform222-budget-title {
    font-size: 13.5px;
  }

  .kot-reform222-budget-input input {
    width: 112px;
    min-height: 44px;
    font-size: 17px;
  }

  .kot-reform222-budget-input input::placeholder {
    font-size: 15px;
  }

  .kot-reform222-budget-input span {
    font-size: 16px;
  }

  .kot-reform222-form {
    padding: 20px 14px 24px;
  }

  .kot-reform222-form.is-calculated button {
    padding: 11px 12px;
    font-size: 15px;
  }

  .kot-reform222-result {
    margin: 0 14px 22px !important;
    padding: 22px 12px;
  }

  .kot-result-heading strong {
    font-size: 17px;
  }

  .kot-budget-message {
    font-size: 15px;
  }

  .kot-budget-message strong {
    font-size: 18px;
  }

  .kot-average-price {
    gap: 8px;
  }

  .kot-average-label {
    font-size: 17px;
    line-height: 1.4;
  }

  .kot-yen {
    font-size: 22px;
  }

  .kot-average-price strong {
    min-width: 145px;
    padding: 12px 9px;
    font-size: clamp(23px, 7vw, 29px);
  }

  .kot-minmax-row {
    gap: 12px;
  }

  .kot-minmax-item {
    width: 100%;
  }

  .kot-minmax-item strong {
    font-size: 18px;
  }

  .kot-recalc-link {
    margin-top: 2px;
  }

  .kot-detail-box {
    width: 100% !important;
    max-width: none !important;
    padding: 12px !important;
  }

  .kot-detail-row {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    column-gap: 10px !important;
  }

  .kot-detail-row span {
    min-width: 0 !important;
    text-align: left !important;
  }

  .kot-detail-row strong {
    min-width: 95px !important;
    text-align: right !important;
    justify-self: end !important;
    margin: 0 !important;
  }

  .kot-compare-box {
    padding: 15px 12px;
  }

  .kot-compare-title {
    font-size: 15px;
  }

  .kot-compare-text,
  .kot-compare-list li {
    font-size: 13px;
  }

  .kot-check-icon {
    flex-basis: 20px;
    width: 20px;
    height: 20px;
    font-size: 12px;
    margin-top: 1px;
  }

  .kot-cv-balloon {
    display: block;
    width: fit-content;
    width: -moz-fit-content;
    max-width: 100%;
    margin: 24px auto 0;
    padding: 10px 18px;
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
  }

  .kot-reform222-cta {
    gap: 8px;
    font-size: 16px;
    line-height: 1.55;
    padding: 15px 10px;
  }

  .kot-reform222-cta span {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 14px;
    padding: 6px 8px;
  }
}

/* Shared title styling used by all 36 calculators. */
.kotoie-estimate .kot-reform222-head .h3text {
  display: block;
  margin: 0 auto 22px !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--kot-navi-text);
  font-size: 26px;
  line-height: 1.55;
  font-weight: 900;
  text-align: center !important;
  letter-spacing: .03em;
  border: 0 !important;
}
.kotoie-estimate .kot-reform222-head .h3text span { color: var(--kot-navi-accent); }
.kotoie-estimate .kot-reform222-head .kotEstimateHub__title { margin: 0 auto 22px !important; }

.kotoie-estimate--embedded .kot-reform222-sim {
  margin-top: -30px !important;
  margin-bottom: 80px !important;
}

/* Individual article shortcode only: remove the outer yellow panel and width cap. */
.kotoie-estimate--embedded:not(.kotoie-estimate--standalone) .kot-reform222-sim {
  background: unset !important;
}

.kotoie-estimate--embedded:not(.kotoie-estimate--standalone) .kot-reform222-wrap {
  max-width: unset !important;
}

@media screen and (max-width: 600px) {
  .l-wrapper .kotoie-estimate--embedded:not(.kotoie-estimate--standalone) .kot-reform222-sim {
    padding: 40px 50px !important;
  }
}

.kotoie-estimate-error,
.kotEstimateHub__status {
  margin: 16px 0;
  font-weight: 700;
  text-align: center;
}
.kotEstimateHub__status.is-error { color: #b42318; }
.kotEstimateHub__status.is-loading { color: #6f6048; }

/* Hub / first-view design */
.kotEstimateHub {
  width: auto;
  max-width: none;
  margin: -80px -75px -140px !important;
  padding: 80px !important;
  box-sizing: border-box;
  background: linear-gradient(180deg, #efd54c 0%, #e7ca39 100%);
  font-family: inherit;
}
.kotEstimateHub * { box-sizing: border-box; }
.kotEstimateHub__card {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  overflow: hidden;
  padding: 30px 14px 26px;
  border-radius: 16px;
  background: #fffaf1;
  border: 1px solid rgba(123,79,18,.08);
  box-shadow: 0 14px 30px rgba(94,62,23,.12);
}
.kotEstimateHub__intro { position: relative; z-index: 1; text-align: center; }
.kotEstimateHub__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  margin: 0 auto 18px;
  padding: 8px 16px;
  border-radius: 999px;
  background: #7a4a00;
  color: #fff;
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .03em;
}
.kotEstimateHub__title {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #3f2a18 !important;
  font-size: 20px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
  letter-spacing: .03em;
  text-align: center !important;
}
.kotEstimateHub__titleMain { display: block; color: #3f2a18; }
.kotEstimateHub__titleAccent { display: block; color: #f18800; font-size: 26px; letter-spacing: .06em; }
.kotEstimateHub__lead {
  margin: 22px auto 0 !important;
  max-width: 620px;
  color: #6a5a48;
  font-size: 13.5px;
  line-height: 2;
  font-weight: 700;
  text-align: left;
}
.kotEstimateHub__selectBox_waku {
  max-width: 760px;
  margin: 30px auto -25px;
  padding: 10px 15px;
  background: #fff;
}
.kotEstimateHub__selectBox {
  position: relative;
  z-index: 1;
  margin: 10px 0 0;
  padding: 18px 13px 17px;
  background: #fffdf8;
  border: 1px solid #e5d8bf;
  border-radius: 14px;
}
.kotEstimateHub__label {
  display: block;
  margin: 0 0 12px;
  color: #3f2a18;
  font-size: 14px;
  line-height: 1.7;
  font-weight: 900;
  text-align: center;
}
.kotEstimateHub__selectWrap { position: relative; }
.kotEstimateHub__select {
  width: 100%;
  height: 54px;
  padding: 0 48px 0 16px;
  border: 2px solid #f18800;
  border-radius: 11px;
  background: #fff;
  color: #3f2a18;
  font-size: 15px;
  font-weight: 900;
  appearance: none;
  -webkit-appearance: none;
}
.kotEstimateHub__select:focus { outline: none; box-shadow: 0 0 0 4px rgba(241,136,0,.14); }
.kotEstimateHub__selectWrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18px;
  width: 9px;
  height: 9px;
  border-right: 2px solid #7a4a00;
  border-bottom: 2px solid #7a4a00;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}
.kotEstimateHub__note {
  margin: 12px 0 0 !important;
  color: #7b6b58;
  font-size: 12px;
  line-height: 1.85;
  font-weight: 600;
  text-align: center;
}
.kotEstimateHub__pointList { margin: 18px 0 0 !important; padding: 0 !important; list-style: none !important; }
.kotEstimateHub__point {
  position: relative;
  margin: 12px 0 0 !important;
  padding: 0 0 0 14px !important;
  color: #4a3524;
  font-size: 13.5px;
  line-height: 1.7;
  font-weight: 800;
}
.kotEstimateHub__point:first-child { margin-top: 0 !important; }
.kotEstimateHub__point::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 4px;
  height: 15px;
  border-radius: 999px;
  background: #f18800;
}
.kotEstimateHub__bottomText {
  margin: 22px 0 0 !important;
  padding: 14px 12px 0;
  border-top: 1px solid rgba(123,79,18,.10);
  color: #7b6b58;
  font-size: 12px;
  line-height: 1.8;
  font-weight: 600;
  text-align: center;
}
.kotEstimateHub__result {
  max-width: 900px;
  margin: 40px auto 0;
}
.kotEstimateHub__result .kot-reform222-sim {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.kotEstimateHub__result .kot-reform222-wrap { max-width: 760px; }

@media screen and (max-width: 600px) {
  .kotoie-estimate .kot-reform222-head .h3text { font-size: 21px; margin-bottom: 20px !important; }
  .kotEstimateHub {
    margin: -70px -70px -100px !important;
    padding: 34px 30px 50px !important;
    border-radius: 0;
  }
  .kotEstimateHub__card { padding: 30px 13px 25px; }
  .kotEstimateHub__title { font-size: 19px !important; }
  .kotEstimateHub__titleAccent { font-size: 21px; }
  .kotEstimateHub__lead { font-size: 13px; }
  .kotEstimateHub__selectBox_waku { margin: 30px -10px -25px; padding: 10px; }
  .kotEstimateHub__selectBox { margin-top: 0; }
  .kotEstimateHub__select { height: 52px; font-size: 14.5px; }
  .kotEstimateHub__result { margin-top: 34px; }
}

/* Version 1.0.1: protect custom list markers from theme list styles. */
.kotoie-estimate .kotEstimateHub__pointList,
.kotoie-estimate .kotEstimateHub__pointList > .kotEstimateHub__point {
  list-style: none !important;
}

.kotoie-estimate .kotEstimateHub__pointList > .kotEstimateHub__point::marker,
.kotoie-estimate .kot-compare-list > li::marker {
  content: "" !important;
  font-size: 0 !important;
}

.kotoie-estimate .kotEstimateHub__pointList > .kotEstimateHub__point::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: .55em !important;
  width: 4px !important;
  height: 15px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f18800 !important;
  box-shadow: none !important;
  color: transparent !important;
  font-family: inherit !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transform: none !important;
}

.kotoie-estimate .kotEstimateHub__pointList > .kotEstimateHub__point::after {
  content: none !important;
  display: none !important;
}

.kotoie-estimate .kot-compare-list,
.kotoie-estimate .kot-compare-list > li {
  list-style: none !important;
}

.kotoie-estimate .kot-compare-list > li::before,
.kotoie-estimate .kot-compare-list > li::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* In the hub, the page already explains that this is a free estimate simulator.
   Keep only the selected genre name in the dynamically loaded calculator. */
.kotEstimateHub__result .kot-reform222-badge,
.kotEstimateHub__result .kotEstimateHub__titleAccent {
  display: none !important;
}

.kotEstimateHub__result .kot-reform222-head {
  padding-top: 30px !important;
  padding-bottom: 25px !important;
}

.kotEstimateHub__result .kotEstimateHub__title {
  margin: 0 auto 18px !important;
}

.kotEstimateHub__result .kotEstimateHub__titleMain {
  display: block !important;
  color: var(--kot-navi-accent) !important;
  font-size: 27px !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
}

@media screen and (max-width: 600px) {
  .kotEstimateHub__result .kot-reform222-head {
    padding-top: 25px !important;
    padding-bottom: 22px !important;
  }

  .kotEstimateHub__result .kotEstimateHub__titleMain {
    font-size: 23px !important;
  }
}

/* Version 1.0.3: keep enough yellow background above the first-view card
   and above the simulator loaded from the genre selector. */
.kotoie-estimate--hub.kotEstimateHub {
  margin-top: 0 !important;
  padding-top: 80px !important;
}

.kotoie-estimate--hub .kotEstimateHub__result {
  margin-top: 70px !important;
}

@media screen and (max-width: 600px) {
  .kotoie-estimate--hub.kotEstimateHub {
    margin-top: 0 !important;
    padding-top: 60px !important;
  }

  .kotoie-estimate--hub .kotEstimateHub__result {
    margin-top: 55px !important;
  }
}

/* Version 1.0.5: prevent the main hub shortcode from overflowing the
   mobile content area. The old -70px side margins expanded the hub beyond
   the viewport on narrow themes such as iPhone SE layouts. */
@media screen and (max-width: 600px) {
  .kotoie-estimate--hub.kotEstimateHub {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    overflow-x: hidden !important;
  }

  .kotoie-estimate--hub .kotEstimateHub__card,
  .kotoie-estimate--hub .kotEstimateHub__selectBox_waku,
  .kotoie-estimate--hub .kotEstimateHub__selectBox,
  .kotoie-estimate--hub .kotEstimateHub__result,
  .kotoie-estimate--hub .kotEstimateHub__result .kot-reform222-wrap {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .kotoie-estimate--hub .kotEstimateHub__selectBox_waku {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .kotoie-estimate--hub .kotEstimateHub__lead,
  .kotoie-estimate--hub .kot-reform222-head p,
  .kotoie-estimate--hub .kotEstimateHub__bottomText,
  .kotoie-estimate--hub .kotEstimateHub__note {
    overflow-wrap: anywhere;
    word-break: normal;
  }
}

/* Version 1.2.0: lightweight link to the subsidy simulator. */
.kot-subsidy-guide {
  margin: 18px 0 0;
  padding: 18px 16px 17px;
  border: 1px solid var(--kot-navi-border);
  border-radius: 12px;
  background: #fffaf0;
  text-align: center;
  box-sizing: border-box;
}

.kot-subsidy-guide * {
  box-sizing: border-box;
}

.kot-subsidy-guide__heading {
  margin: 0;
}

.kot-subsidy-guide__eyebrow {
  display: inline-block;
  margin: 0 0 9px;
  padding: 6px 13px;
  border-radius: 999px;
  background: var(--kot-navi-main);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
}

.kot-subsidy-guide__title {
  margin: 0 !important;
  color: var(--kot-navi-text);
  font-size: 17px;
  line-height: 1.65;
  font-weight: 900;
  text-align: center;
}

.kot-subsidy-guide__text {
  margin: 10px 0 0 !important;
  color: var(--kot-navi-sub);
  font-size: 13px;
  line-height: 1.8;
  font-weight: 700;
  text-align: left;
}

.kot-subsidy-guide__amount {
  margin: 12px 0 0 !important;
  padding: 10px 12px;
  border: 1px solid var(--kot-navi-border);
  border-radius: 8px;
  background: #fff;
  color: var(--kot-navi-sub);
  font-size: 12.5px;
  line-height: 1.6;
  font-weight: 800;
  text-align: center;
}

.kot-subsidy-guide__amount strong {
  color: var(--kot-navi-accent-dark);
  font-size: 16px;
  font-weight: 900;
  white-space: nowrap;
}

.kot-subsidy-guide__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 420px;
  min-height: 48px;
  margin: 14px auto 0;
  padding: 12px 16px;
  border-radius: 8px;
  background: var(--kot-navi-main);
  color: #fff !important;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 900;
  text-decoration: none !important;
  box-shadow: 0 4px 0 var(--kot-navi-dark);
  transition: transform .15s ease, box-shadow .15s ease;
}

.kot-subsidy-guide__button::after {
  content: " →";
  margin-left: 7px;
}

.kot-subsidy-guide__button:active {
  transform: translateY(2px);
  box-shadow: 0 2px 0 var(--kot-navi-dark);
}

@media screen and (max-width: 600px) {
  .kot-subsidy-guide {
    padding: 16px 12px 15px;
  }

  .kot-subsidy-guide__title {
    font-size: 16px;
  }

  .kot-subsidy-guide__text {
    font-size: 12.5px;
  }

  .kot-subsidy-guide__button {
    min-height: 46px;
    font-size: 14px;
  }
}


/* Version 1.2.3: the outer card of the normal main hub shortcode is white.
   This removes the partial pale-beige strip visible behind the genre selector area. */
.kotoie-estimate--hub[data-kotoie-cta-notification="1"] .kotEstimateHub__card {
  background: #fff !important;
}


/* Version 1.2.4: keep the heading/intro section of the normal main hub in
   #fffaf1, while the selector and the lower content stay white. */
.kotoie-estimate--hub[data-kotoie-cta-notification="1"] .kotEstimateHub__intro {
  margin: -30px -14px 0;
  padding: 30px 14px 30px;
  background: #fffaf1;
}

.kotoie-estimate--hub[data-kotoie-cta-notification="1"] .kotEstimateHub__selectBox_waku {
  margin-top: 0;
}

@media screen and (max-width: 600px) {
  .kotoie-estimate--hub[data-kotoie-cta-notification="1"] .kotEstimateHub__intro {
    margin-right: -13px;
    margin-left: -13px;
    padding-right: 13px;
    padding-left: 13px;
  }
}


/* 1.3.0: hub genre group labels */
.kotEstimateHub__select optgroup {
  color: #7a4a00;
  font-weight: 900;
  background: #fffaf1;
}
.kotEstimateHub__select option {
  color: #3f2a18;
  font-weight: 700;
  background: #fff;
}

/* Version 1.4.0: richer result guidance for every estimate genre. */
.kot-result-support,
.kot-result-support * {
  box-sizing: border-box;
}

.kot-result-support {
  margin: 18px 0 0;
  padding: 18px;
  border: 1px solid var(--kot-navi-border);
  border-radius: 12px;
  background: #fffdf8;
}

.kot-result-support__heading {
  margin: 0 0 14px;
  text-align: center;
}

.kot-result-support__eyebrow {
  display: inline-block;
  margin: 0 0 7px;
  padding: 5px 11px;
  border-radius: 999px;
  background: #f3ead7;
  color: var(--kot-navi-main);
  font-size: 11px;
  line-height: 1.2;
  font-weight: 900;
  letter-spacing: .04em;
}

.kot-result-support__title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--kot-navi-text) !important;
  font-size: 18px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
  text-align: center !important;
}

.kot-result-support__title::before,
.kot-result-support__title::after {
  content: none !important;
}

.kot-result-support__note {
  margin: 12px 0 0 !important;
  color: var(--kot-navi-sub);
  font-size: 11.5px;
  line-height: 1.7;
  font-weight: 600;
  text-align: left;
}

.kot-plan-comparison {
  background: linear-gradient(180deg, #fffdf8 0%, #fff 100%);
}

.kot-plan-comparison__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.kot-plan-card {
  min-width: 0;
  padding: 13px 10px 12px;
  border: 1px solid #eadfc8;
  border-radius: 10px;
  background: #fff;
  text-align: center;
}

.kot-plan-card--standard {
  border: 2px solid #d8b34a;
  background: #fffaf0;
  box-shadow: 0 5px 14px rgba(122, 85, 14, .08);
}

.kot-plan-card__sub {
  display: block;
  margin: 0 0 5px;
  color: var(--kot-navi-sub);
  font-size: 10.5px;
  line-height: 1.35;
  font-weight: 700;
}

.kot-plan-card__name {
  margin: 0 !important;
  color: var(--kot-navi-text);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 900;
}

.kot-plan-card__price {
  display: block;
  margin: 8px 0 7px;
  color: var(--kot-navi-accent-dark);
  font-size: clamp(16px, 2.3vw, 21px);
  line-height: 1.2;
  font-weight: 900;
  white-space: nowrap;
}

.kot-plan-card__description {
  margin: 0 !important;
  color: var(--kot-navi-sub);
  font-size: 11.5px;
  line-height: 1.65;
  font-weight: 600;
  text-align: left;
}

.kot-extra-costs {
  background: #fffaf4;
}

.kot-extra-costs__list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.kot-extra-costs__item {
  margin: 0 !important;
  padding: 10px 11px !important;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  border: 1px solid #eadfc8;
  border-radius: 9px;
  background: #fff;
  color: var(--kot-navi-text);
  font-size: 12px;
  line-height: 1.65;
  font-weight: 700;
  list-style: none !important;
}

.kot-extra-costs__item::before,
.kot-extra-costs__item::after {
  content: none !important;
}

.kot-extra-costs__icon {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
  border-radius: 50%;
  background: #f3d59d;
  color: #7b4c00;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
}

.kot-schedule-guide {
  background: #f8fbf7;
}

.kot-schedule-guide__grid {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.kot-schedule-guide__item {
  margin: 0;
  padding: 12px;
  border: 1px solid #dce8d9;
  border-radius: 9px;
  background: #fff;
}

.kot-schedule-guide__item dt {
  margin: 0 0 5px;
  color: #3e6b39;
  font-size: 11.5px;
  line-height: 1.4;
  font-weight: 900;
}

.kot-schedule-guide__item dd {
  margin: 0;
  color: var(--kot-navi-text);
  font-size: 12px;
  line-height: 1.7;
  font-weight: 600;
}

@media screen and (max-width: 700px) {
  .kot-result-support {
    padding: 15px 12px;
  }

  .kot-result-support__title {
    font-size: 16px !important;
  }

  .kot-plan-comparison__grid,
  .kot-extra-costs__list,
  .kot-schedule-guide__grid {
    grid-template-columns: 1fr;
  }

  .kot-plan-card {
    padding: 12px;
  }

  .kot-plan-card__price {
    font-size: 19px;
  }
}

/* Version 1.4.1: reset theme-added adjacent-block margins inside CSS grids.
   Some themes add a top margin to every block after the first one, which made
   the second and later cards look one step lower even though they share a grid row. */
.kot-plan-comparison__grid > .kot-plan-card,
.kot-schedule-guide__grid > .kot-schedule-guide__item,
.kot-extra-costs__list > .kot-extra-costs__item {
  margin: 0 !important;
  margin-block: 0 !important;
  align-self: stretch !important;
  float: none !important;
  clear: none !important;
  top: auto !important;
  transform: none !important;
}

.kot-plan-comparison__grid > .kot-plan-card + .kot-plan-card,
.kot-schedule-guide__grid > .kot-schedule-guide__item + .kot-schedule-guide__item,
.kot-extra-costs__list > .kot-extra-costs__item + .kot-extra-costs__item {
  margin-top: 0 !important;
}

/* Version 1.5.0: save, share and compare estimate results. */
.kot-result-actions {
  background: linear-gradient(180deg, #fffdf7 0%, #fff9ec 100%);
  border-color: #ead9b8;
}

.kot-result-actions__lead {
  margin: -3px auto 14px !important;
  max-width: 620px;
  color: var(--kot-navi-sub);
  font-size: 12px;
  line-height: 1.75;
  font-weight: 600;
  text-align: center;
}

.kot-result-actions__buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.kot-result-actions__button {
  min-width: 0;
  min-height: 48px;
  margin: 0 !important;
  padding: 10px 8px !important;
  border: 1px solid #dac8a7 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--kot-navi-text) !important;
  font-family: inherit;
  font-size: 12px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  text-align: center;
  box-shadow: 0 3px 0 rgba(110, 78, 18, .12) !important;
  cursor: pointer;
  appearance: none;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.kot-result-actions__button::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  margin-right: 6px;
  border-radius: 50%;
  background: #f5ead1;
  color: #865300;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  vertical-align: -1px;
}

.kot-result-actions__button--save::before {
  content: "✓";
}

.kot-result-actions__button--share::before {
  content: "↗";
}

.kot-result-actions__button--compare::before {
  content: "⇄";
}

.kot-result-actions__button:hover {
  border-color: #c89a3e !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 0 rgba(110, 78, 18, .15) !important;
}

.kot-result-actions__button:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 rgba(110, 78, 18, .12) !important;
}

.kot-result-actions__feedback {
  min-height: 1.6em;
  margin: 11px 0 0 !important;
  color: #3e6b39;
  font-size: 11.5px;
  line-height: 1.65;
  font-weight: 700;
  text-align: center;
}

.kot-result-actions__feedback.is-error {
  color: #a13524;
}

.kot-condition-compare {
  background: linear-gradient(180deg, #f8fbf7 0%, #fff 100%);
  border-color: #d6e5d2;
}

.kot-condition-compare[hidden] {
  display: none !important;
}

.kot-condition-compare__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start !important;
  gap: 10px;
}

.kot-condition-compare__card {
  align-self: start !important;
  min-width: 0;
  margin: 0 !important;
  padding: 14px 12px;
  border: 1px solid #dce8d9;
  border-radius: 10px;
  background: #fff;
}

.kot-condition-compare__card--current {
  border: 2px solid #70ad68;
  background: #fbfff9;
}

.kot-condition-compare__label {
  display: inline-block;
  padding: 4px 9px;
  border-radius: 999px;
  background: #edf5eb;
  color: #3e6b39;
  font-size: 10.5px;
  line-height: 1.3;
  font-weight: 900;
}

.kot-condition-compare__price {
  display: block;
  margin: 9px 0 4px;
  color: var(--kot-navi-accent-dark);
  font-size: clamp(20px, 3vw, 27px);
  line-height: 1.25;
  font-weight: 900;
}

.kot-condition-compare__range {
  margin: 0 0 10px !important;
  color: var(--kot-navi-sub);
  font-size: 10.5px;
  line-height: 1.55;
  font-weight: 700;
}

.kot-condition-compare__conditions {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.kot-condition-compare__conditions li {
  position: relative;
  margin: 0 !important;
  padding: 6px 0 6px 15px !important;
  border-top: 1px solid #edf1eb;
  color: var(--kot-navi-text);
  font-size: 11px;
  line-height: 1.55;
  font-weight: 600;
  list-style: none !important;
}

.kot-condition-compare__conditions li::before {
  content: "" !important;
  position: absolute;
  top: 50%;
  left: 2px;
  width: 3px !important;
  height: 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #c8ad76 !important;
  box-shadow: none !important;
  transform: translateY(-50%);
}

.kot-condition-compare__card--current .kot-condition-compare__conditions li::before {
  background: #70ad68 !important;
}

.kot-condition-compare__conditions li::after {
  content: none !important;
}

.kot-condition-compare__difference {
  margin: 12px 0 0 !important;
  padding: 10px 12px;
  border-radius: 8px;
  background: #f4f7f2;
  color: var(--kot-navi-text);
  font-size: 12px;
  line-height: 1.6;
  font-weight: 800;
  text-align: center;
}

.kot-condition-compare__difference strong {
  color: var(--kot-navi-accent-dark);
  font-size: 16px;
  white-space: nowrap;
}

.kot-condition-compare__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 0;
}

.kot-condition-compare__reset,
.kot-condition-compare__reselect {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  margin: 0 !important;
  padding: 9px 12px !important;
  border-radius: 8px !important;
  font-family: inherit;
  font-size: 11.5px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  text-align: center;
  box-shadow: none !important;
  cursor: pointer;
}

.kot-condition-compare__reset {
  border: 1px solid #5f9f57 !important;
  background: #5f9f57 !important;
  color: #fff !important;
}

.kot-condition-compare__reselect {
  border: 1px solid #d5bd83 !important;
  background: #fffaf0 !important;
  color: #76520a !important;
}

.kot-condition-compare__reset:hover,
.kot-condition-compare__reset:focus-visible {
  border-color: #4d8846 !important;
  background: #4d8846 !important;
}

.kot-condition-compare__reselect:hover,
.kot-condition-compare__reselect:focus-visible {
  border-color: #c7aa68 !important;
  background: #fff5df !important;
  color: #5f4108 !important;
}

@media screen and (max-width: 700px) {
  .kot-result-actions__buttons,
  .kot-condition-compare__grid {
    grid-template-columns: 1fr;
  }

  .kot-result-actions__button {
    min-height: 46px;
    font-size: 12.5px !important;
  }

  .kot-condition-compare__price {
    font-size: 22px;
  }

  .kot-condition-compare__actions {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .kot-condition-compare__reset,
  .kot-condition-compare__reselect {
    min-height: 46px;
    font-size: 12px !important;
  }
}

/* Version 1.6.0: model estimate sheets with detailed line-item breakdowns. */
.kot-estimate-breakdown {
  background: linear-gradient(180deg, #fff 0%, #fffdf8 100%);
  border-color: #dfcfaf;
}

.kot-estimate-breakdown__conditions {
  margin: 0 0 13px;
  padding: 12px;
  border: 1px solid #eadfc8;
  border-radius: 9px;
  background: #fffaf1;
}

.kot-estimate-breakdown__conditions-title,
.kot-estimate-breakdown__included-title {
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--kot-navi-main) !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  text-align: left !important;
}

.kot-estimate-breakdown__conditions-title::before,
.kot-estimate-breakdown__conditions-title::after,
.kot-estimate-breakdown__included-title::before,
.kot-estimate-breakdown__included-title::after {
  content: none !important;
}

.kot-estimate-breakdown__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.kot-estimate-breakdown__chip {
  display: inline-block;
  padding: 5px 8px;
  border: 1px solid #e4d5b8;
  border-radius: 999px;
  background: #fff;
  color: var(--kot-navi-text);
  font-size: 10.5px;
  line-height: 1.45;
  font-weight: 700;
}

.kot-estimate-breakdown__intro {
  margin: 0 0 13px !important;
  color: var(--kot-navi-sub);
  font-size: 11.5px;
  line-height: 1.75;
  font-weight: 600;
  text-align: left;
}

.kot-estimate-breakdown__plans {
  display: grid;
  gap: 9px;
}

.kot-estimate-breakdown__plan {
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #e4d8c0;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.kot-estimate-breakdown__plan + .kot-estimate-breakdown__plan {
  margin-top: 0 !important;
}

.kot-estimate-breakdown__plan--standard {
  border: 2px solid #d8b34a;
  background: #fffef9;
}

.kot-estimate-breakdown__summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 !important;
  padding: 12px 42px 12px 13px !important;
  border: 0 !important;
  background: #fff !important;
  color: var(--kot-navi-text) !important;
  font-family: inherit;
  list-style: none;
  cursor: pointer;
}

.kot-estimate-breakdown__plan--standard > .kot-estimate-breakdown__summary {
  background: #fff9ea !important;
}

.kot-estimate-breakdown__summary::-webkit-details-marker {
  display: none;
}

.kot-estimate-breakdown__summary::before {
  content: none !important;
}

.kot-estimate-breakdown__summary::after {
  content: "+" !important;
  position: absolute;
  top: 50%;
  right: 14px;
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #f1e5cf;
  color: var(--kot-navi-main);
  font-size: 15px;
  line-height: 1;
  font-weight: 900;
}

.kot-estimate-breakdown__plan[open] > .kot-estimate-breakdown__summary::after {
  content: "−" !important;
}

.kot-estimate-breakdown__summary-text {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

.kot-estimate-breakdown__summary-text small {
  display: block;
  margin: 0 0 2px;
  color: var(--kot-navi-sub);
  font-size: 9.5px;
  line-height: 1.35;
  font-weight: 700;
}

.kot-estimate-breakdown__summary-text strong {
  display: block;
  color: var(--kot-navi-text);
  font-size: 13px;
  line-height: 1.45;
  font-weight: 900;
}

.kot-estimate-breakdown__summary-price {
  flex: 0 0 auto;
  color: var(--kot-navi-accent-dark);
  font-size: 15px;
  line-height: 1.3;
  font-weight: 900;
  white-space: nowrap;
}

.kot-estimate-breakdown__plan-body {
  padding: 0 12px 13px;
  border-top: 1px solid #eee3cf;
}

.kot-estimate-breakdown__plan-description {
  margin: 0 -12px 11px !important;
  padding: 10px 12px;
  background: #fffaf1;
  color: var(--kot-navi-sub);
  font-size: 10.5px;
  line-height: 1.65;
  font-weight: 600;
  text-align: left;
}

.kot-estimate-breakdown__table-frame {
  position: relative;
  width: 100%;
}

.kot-estimate-breakdown__scroll-hint {
  display: none;
}

.kot-estimate-breakdown__table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

.kot-estimate-breakdown__table-scroll:focus-visible {
  outline: 2px solid var(--kot-navi-accent);
  outline-offset: 2px;
}

.kot-estimate-breakdown__table {
  width: 100% !important;
  min-width: 570px;
  margin: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: #fff;
  color: var(--kot-navi-text);
  font-size: 10.5px;
  line-height: 1.5;
  table-layout: auto;
}

.kot-estimate-breakdown__table th,
.kot-estimate-breakdown__table td {
  margin: 0 !important;
  padding: 8px 7px !important;
  border: 1px solid #e9e1d2 !important;
  background: #fff !important;
  color: var(--kot-navi-text) !important;
  font-size: 10.5px !important;
  line-height: 1.5 !important;
  vertical-align: middle;
}

.kot-estimate-breakdown__table thead th {
  background: #f4efe6 !important;
  color: var(--kot-navi-main) !important;
  font-weight: 900 !important;
  text-align: center !important;
  white-space: nowrap;
}

.kot-estimate-breakdown__table tbody th {
  min-width: 190px;
  font-weight: 800 !important;
  text-align: left !important;
}

.kot-estimate-breakdown__table td {
  text-align: center !important;
}

.kot-estimate-breakdown__table .kot-estimate-breakdown__money {
  min-width: 92px;
  text-align: right !important;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-weight: 700 !important;
}

.kot-estimate-breakdown__table tfoot th,
.kot-estimate-breakdown__table tfoot td {
  background: #fff8e8 !important;
  color: var(--kot-navi-main) !important;
  font-weight: 900 !important;
}

.kot-estimate-breakdown__table tfoot th {
  text-align: right !important;
}

.kot-estimate-breakdown__table .kot-estimate-breakdown__total {
  color: var(--kot-navi-accent-dark) !important;
  font-size: 12px !important;
  text-align: right !important;
  white-space: nowrap;
}

.kot-estimate-breakdown__table-note {
  margin: 8px 0 0 !important;
  color: var(--kot-navi-sub);
  font-size: 9.5px;
  line-height: 1.65;
  font-weight: 600;
  text-align: left;
}

.kot-estimate-breakdown__included {
  margin: 13px 0 0;
  padding: 12px;
  border: 1px solid #dce8d9;
  border-radius: 9px;
  background: #f8fbf7;
}

.kot-estimate-breakdown__included-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 10px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.kot-estimate-breakdown__included-list li {
  position: relative;
  margin: 0 !important;
  padding: 5px 0 5px 20px !important;
  color: var(--kot-navi-text);
  font-size: 10.5px;
  line-height: 1.55;
  font-weight: 700;
  list-style: none !important;
}

.kot-estimate-breakdown__included-list li::before {
  content: "✓" !important;
  position: absolute;
  top: 5px;
  left: 0;
  width: 15px;
  height: 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #dcefd8;
  color: #3e6b39;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
}

.kot-estimate-breakdown__included-list li::after {
  content: none !important;
}

@media screen and (max-width: 700px) {
  .kot-estimate-breakdown__summary {
    padding: 11px 38px 11px 11px !important;
  }

  .kot-estimate-breakdown__summary-price {
    font-size: 13px;
  }

  .kot-estimate-breakdown__included-list {
    grid-template-columns: 1fr;
  }

  .kot-estimate-breakdown__table-frame::after {
    content: "";
    position: absolute;
    z-index: 2;
    top: 31px;
    right: 0;
    bottom: 0;
    width: 34px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(214, 155, 30, 0.18));
    opacity: 1;
    transition: opacity 0.2s ease;
  }

  .kot-estimate-breakdown__table-frame.is-at-end::after {
    opacity: 0;
  }

  .kot-estimate-breakdown__scroll-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 25px;
    margin: 0 0 6px !important;
    padding: 5px 9px !important;
    border: 1px solid #ead9b6;
    border-radius: 7px;
    background: #fff8e8;
    color: var(--kot-navi-main);
    font-size: 9.5px;
    line-height: 1.45;
    font-weight: 900;
    text-align: center;
    transition: opacity 0.2s ease;
  }

  .kot-estimate-breakdown__table-frame.is-scrolled .kot-estimate-breakdown__scroll-hint {
    opacity: 0.58;
  }

  .kot-estimate-breakdown__scroll-hint-icon {
    flex: 0 0 auto;
    font-size: 13px;
    line-height: 1;
  }

  .kot-estimate-breakdown__scroll-hint-text {
    min-width: 0;
  }

  .kot-estimate-breakdown__scroll-hint-arrow {
    flex: 0 0 auto;
    font-size: 13px;
    line-height: 1;
    animation: kotEstimateScrollHint 1.15s ease-in-out infinite alternate;
  }

  .kot-estimate-breakdown__table-scroll {
    padding-bottom: 5px;
    scrollbar-width: thin;
    scrollbar-color: #d2a743 #f4ead7;
  }

  .kot-estimate-breakdown__table-scroll::-webkit-scrollbar {
    height: 6px;
  }

  .kot-estimate-breakdown__table-scroll::-webkit-scrollbar-track {
    border-radius: 999px;
    background: #f4ead7;
  }

  .kot-estimate-breakdown__table-scroll::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: #d2a743;
  }
}

@keyframes kotEstimateScrollHint {
  from { transform: translateX(0); }
  to { transform: translateX(4px); }
}

@media (prefers-reduced-motion: reduce) {
  .kot-estimate-breakdown__scroll-hint-arrow {
    animation: none !important;
  }
}

/* =========================================
   依頼先比較（v1.7.0）
========================================= */
.kot-provider-comparison__recommendation {
  margin: 0 0 14px !important;
  padding: 14px 15px !important;
  border: 1px solid #efd6a5 !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #fffaf0 0%, #fff 100%) !important;
  box-shadow: none !important;
}

.kot-provider-comparison__recommendation-label {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  margin: 0 0 7px !important;
  padding: 3px 9px !important;
  border-radius: 999px !important;
  background: #f59b35 !important;
  color: #fff !important;
  font-size: 9px !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  letter-spacing: .04em;
}

.kot-provider-comparison__recommendation-title {
  margin: 0 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--kot-navi-main) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
}

.kot-provider-comparison__recommendation-text,
.kot-provider-comparison__cta-text {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--kot-navi-text) !important;
  font-size: 10.5px !important;
  line-height: 1.8 !important;
  font-weight: 600 !important;
}

.kot-provider-comparison__scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 0 12px !important;
  border: 1px solid #dfd8cb !important;
  border-radius: 10px !important;
  background: #fff !important;
}

.kot-provider-comparison__table {
  width: 100% !important;
  min-width: 950px !important;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
  table-layout: fixed !important;
  background: #fff !important;
}

.kot-provider-comparison__table th,
.kot-provider-comparison__table td {
  margin: 0 !important;
  padding: 11px 10px !important;
  border: 0 !important;
  border-right: 1px solid #ece7de !important;
  border-bottom: 1px solid #ece7de !important;
  background: #fff !important;
  color: var(--kot-navi-text) !important;
  font-size: 10px !important;
  line-height: 1.65 !important;
  text-align: left !important;
  vertical-align: top !important;
}

.kot-provider-comparison__table tr > *:last-child {
  border-right: 0 !important;
}

.kot-provider-comparison__table tbody tr:last-child > * {
  border-bottom: 0 !important;
}

.kot-provider-comparison__table thead th {
  background: #f4efe6 !important;
  color: var(--kot-navi-main) !important;
  font-weight: 900 !important;
  text-align: center !important;
  vertical-align: middle !important;
}

.kot-provider-comparison__table thead th:nth-child(1) { width: 145px; }
.kot-provider-comparison__table thead th:nth-child(2) { width: 150px; }
.kot-provider-comparison__table thead th:nth-child(3) { width: 185px; }
.kot-provider-comparison__table thead th:nth-child(4) { width: 180px; }
.kot-provider-comparison__table thead th:nth-child(5) { width: 190px; }
.kot-provider-comparison__table thead th:nth-child(6) { width: 190px; }

.kot-provider-comparison__table tbody th {
  background: #faf8f4 !important;
  color: var(--kot-navi-main) !important;
  font-weight: 900 !important;
}

.kot-provider-comparison__table tbody tr.is-recommended th,
.kot-provider-comparison__table tbody tr.is-recommended td {
  background: #fffaf0 !important;
}

.kot-provider-comparison__provider-name {
  display: block;
  margin: 0 0 6px !important;
  font-size: 10.5px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
}

.kot-provider-comparison__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  background: #f59b35 !important;
  color: #fff !important;
  font-size: 8.5px !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
  white-space: nowrap;
}

.kot-provider-comparison__price {
  color: var(--kot-navi-accent-dark) !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
  text-align: right !important;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.kot-provider-comparison__cta-text {
  margin: 0 0 8px !important;
  padding: 11px 12px !important;
  border-left: 4px solid #f59b35 !important;
  border-radius: 0 8px 8px 0 !important;
  background: #fff9ee !important;
  font-weight: 800 !important;
}

@media screen and (max-width: 700px) {
  .kot-provider-comparison__recommendation {
    padding: 12px !important;
  }

  .kot-provider-comparison__recommendation-title {
    font-size: 13px !important;
  }

  .kot-provider-comparison__scroll::after {
    content: "横にスクロールして比較できます";
    display: block;
    position: sticky;
    left: 0;
    width: fit-content;
    padding: 6px 9px;
    color: var(--kot-navi-sub);
    font-size: 8.5px;
    line-height: 1.4;
    font-weight: 700;
  }
}

/* =========================================
   折りたたみ表示（v1.7.1）
   結論は見せ、詳細な明細・追加費用・依頼先比較は初期状態で閉じる。
========================================= */
.kot-result-disclosure {
  padding: 0 !important;
  overflow: hidden;
}

.kot-result-disclosure > .kot-result-disclosure__summary {
  position: relative;
  display: block;
  margin: 0 !important;
  padding: 18px 54px 18px 18px !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  list-style: none !important;
  cursor: pointer;
}

.kot-result-disclosure > .kot-result-disclosure__summary::-webkit-details-marker,
.kot-result-inner-disclosure > .kot-result-inner-disclosure__summary::-webkit-details-marker {
  display: none;
}

.kot-result-disclosure > .kot-result-disclosure__summary::before,
.kot-result-inner-disclosure > .kot-result-inner-disclosure__summary::before {
  content: none !important;
}

.kot-result-disclosure > .kot-result-disclosure__summary::after {
  content: "+" !important;
  position: absolute;
  top: 50%;
  right: 18px;
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #f2e5cd;
  color: var(--kot-navi-main);
  font-size: 19px;
  line-height: 1;
  font-weight: 900;
}

.kot-result-disclosure[open] > .kot-result-disclosure__summary::after {
  content: "−" !important;
}

.kot-result-disclosure[open] > .kot-result-disclosure__summary {
  border-bottom: 1px solid #eadfc8 !important;
}

.kot-result-disclosure__heading {
  margin: 0 !important;
  text-align: left !important;
}

.kot-result-disclosure__heading .kot-result-support__title {
  text-align: left !important;
}

.kot-result-disclosure__description {
  margin: 7px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--kot-navi-sub) !important;
  font-size: 11.5px !important;
  line-height: 1.7 !important;
  font-weight: 600 !important;
  text-align: left !important;
}

.kot-result-disclosure__description::before,
.kot-result-disclosure__description::after {
  content: none !important;
}

.kot-result-disclosure__content {
  padding: 18px !important;
}

.kot-result-inner-disclosure {
  margin: 13px 0 0 !important;
  padding: 0 !important;
  border: 1px solid #e1d7c5 !important;
  border-radius: 9px !important;
  background: #fff !important;
  overflow: hidden;
}

.kot-result-inner-disclosure > .kot-result-inner-disclosure__summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 !important;
  padding: 12px 42px 12px 13px !important;
  border: 0 !important;
  background: #fff !important;
  color: var(--kot-navi-main) !important;
  font-family: inherit;
  font-size: 12px !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  text-align: left !important;
  list-style: none !important;
  cursor: pointer;
}

.kot-result-inner-disclosure > .kot-result-inner-disclosure__summary::after {
  content: "+" !important;
  position: absolute;
  top: 50%;
  right: 13px;
  width: 21px;
  height: 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #f2e5cd;
  color: var(--kot-navi-main);
  font-size: 15px;
  line-height: 1;
  font-weight: 900;
}

.kot-result-inner-disclosure[open] > .kot-result-inner-disclosure__summary::after {
  content: "−" !important;
}

.kot-result-inner-disclosure[open] > .kot-result-inner-disclosure__summary {
  border-bottom: 1px solid #ece4d7 !important;
  background: #fffaf1 !important;
}

.kot-result-inner-disclosure__label {
  min-width: 0;
}

.kot-result-inner-disclosure__count {
  flex: 0 0 auto;
  color: var(--kot-navi-sub);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.kot-result-inner-disclosure__body {
  padding: 13px !important;
}

.kot-extra-costs__overview {
  margin: -2px 0 0 !important;
  padding: 0 !important;
  color: var(--kot-navi-sub) !important;
  font-size: 11.5px !important;
  line-height: 1.75 !important;
  font-weight: 600 !important;
  text-align: left !important;
}

.kot-extra-costs__overview::before,
.kot-extra-costs__overview::after {
  content: none !important;
}

.kot-extra-costs__details .kot-result-inner-disclosure__body {
  background: #fffdf9;
}

.kot-provider-comparison__details {
  margin-top: 13px !important;
}

.kot-provider-comparison__details .kot-result-inner-disclosure__body {
  padding: 13px !important;
  background: #fffdf9;
}

.kot-provider-comparison__details .kot-provider-comparison__scroll {
  margin-bottom: 12px !important;
}

/* 3プラン内の明細は、標準プランを含めて初期状態では閉じる。 */
.kot-estimate-breakdown__plan:not([open]) > .kot-estimate-breakdown__plan-body {
  display: none;
}

@media screen and (max-width: 700px) {
  .kot-result-disclosure > .kot-result-disclosure__summary {
    padding: 15px 48px 15px 12px !important;
  }

  .kot-result-disclosure > .kot-result-disclosure__summary::after {
    right: 12px;
    width: 26px;
    height: 26px;
  }

  .kot-result-disclosure__content {
    padding: 13px 12px 15px !important;
  }

  .kot-result-inner-disclosure__body {
    padding: 11px !important;
  }
}

/* =========================================
   結果メニューの統一（v1.7.2）
   概算結果以外は、同じデザインの折りたたみメニューとして表示する。
========================================= */
.kot-result-menu {
  margin: 12px 0 0 !important;
  padding: 0 !important;
  border: 1px solid var(--kot-navi-border) !important;
  border-radius: 12px !important;
  background: #fffdf8 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.kot-result-menu > .kot-result-disclosure__summary {
  min-height: 0;
  background: #fffdf8 !important;
}

.kot-result-menu[open] > .kot-result-disclosure__summary {
  background: #fffaf1 !important;
}

.kot-result-menu > .kot-result-disclosure__content {
  border: 0 !important;
  background: #fff !important;
}

/* メニュー名は一覧で追いやすいよう左揃えに統一。 */
.kot-result-menu .kot-result-disclosure__heading,
.kot-result-menu .kot-result-support__title,
.kot-result-menu .kot-result-disclosure__description {
  text-align: left !important;
}

.kot-result-menu .kot-result-support__eyebrow {
  text-align: left !important;
}

.kot-subsidy-guide__content {
  text-align: center;
}

.kot-subsidy-guide__content .kot-subsidy-guide__text {
  margin-top: 0 !important;
}

.kot-result-menu.kot-plan-comparison,
.kot-result-menu.kot-extra-costs,
.kot-result-menu.kot-schedule-guide,
.kot-result-menu.kot-provider-comparison,
.kot-result-menu.kot-result-actions,
.kot-result-menu.kot-condition-compare,
.kot-result-menu.kot-subsidy-guide,
.kot-result-menu.kot-estimate-breakdown {
  background: #fffdf8 !important;
}

.kot-result-menu .kot-provider-comparison__recommendation,
.kot-result-menu .kot-plan-comparison__grid,
.kot-result-menu .kot-schedule-guide__grid,
.kot-result-menu .kot-extra-costs__list,
.kot-result-menu .kot-result-actions__buttons,
.kot-result-menu .kot-condition-compare__grid {
  margin-top: 0 !important;
}

@media screen and (max-width: 700px) {
  .kot-result-menu {
    margin-top: 10px !important;
  }
}


/* =========================================
   条件比較を概算内訳の直下へ独立表示（v1.7.3）
========================================= */
.kot-condition-compare-control {
  margin: 14px 0 0 !important;
  padding: 0 !important;
  text-align: center;
}

.kot-condition-compare-control__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 360px);
  min-height: 46px;
  margin: 0 !important;
  padding: 11px 18px !important;
  border: 1px solid #cf9b38 !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #fffdf8 0%, #fff5df 100%) !important;
  color: #765000 !important;
  font-family: inherit;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  text-align: center;
  box-shadow: 0 3px 0 rgba(118, 80, 0, .12) !important;
  cursor: pointer;
  appearance: none;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.kot-condition-compare-control__button::before {
  content: "⇄";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-right: 7px;
  border-radius: 50%;
  background: #f4dfb7;
  color: #765000;
  font-size: 13px;
  line-height: 1;
  font-weight: 900;
}

.kot-condition-compare-control__button:hover {
  border-color: #b47a0d !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 0 rgba(118, 80, 0, .15) !important;
}

.kot-condition-compare-control__button:active {
  transform: translateY(2px);
  box-shadow: 0 1px 0 rgba(118, 80, 0, .12) !important;
}

.kot-condition-compare-control__feedback {
  min-height: 0;
  margin: 8px 0 0 !important;
  color: #3e6b39;
  font-size: 11.5px;
  line-height: 1.65;
  font-weight: 700;
  text-align: center;
}

.kot-condition-compare-control__feedback:empty {
  display: none;
}

.kot-condition-compare-control__feedback.is-error {
  color: #a13524;
}

.kot-condition-compare--inline {
  scroll-margin-top: 72px;
  margin: 10px 0 0 !important;
  padding: 16px !important;
  border: 1px solid #d6e5d2 !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, #f8fbf7 0%, #fff 100%) !important;
  box-shadow: none !important;
}

.kot-condition-compare__eyebrow {
  margin: 0 0 3px !important;
  color: #4f7c49;
  font-size: 10.5px;
  line-height: 1.4;
  font-weight: 900;
  letter-spacing: .04em;
  text-align: left;
}

.kot-condition-compare__title {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--kot-navi-text) !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  text-align: left !important;
  box-shadow: none !important;
}

.kot-condition-compare__title::before,
.kot-condition-compare__title::after {
  content: none !important;
  display: none !important;
}

.kot-condition-compare__description {
  margin: 5px 0 13px !important;
  color: var(--kot-navi-sub);
  font-size: 11.5px;
  line-height: 1.7;
  font-weight: 600;
  text-align: left;
}

@media screen and (max-width: 700px) {
  .kot-condition-compare-control__button {
    width: 100%;
    min-height: 45px;
    font-size: 12.5px !important;
  }

  .kot-condition-compare--inline {
    padding: 13px 11px !important;
  }
}

/* =========================================
   詳細内訳と条件比較を横並び表示（v1.7.5）
   3つの費用プランは詳細内訳パネル内へ統合。
========================================= */
.kot-condition-compare-control__buttons {
  width: 100%;
  max-width: 760px;
  margin: 0 auto !important;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.kot-condition-compare-control__button {
  width: 100% !important;
  min-width: 0;
  min-height: 52px;
  white-space: normal;
}

.kot-condition-compare-control__button--breakdown {
  border-color: #91a987 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f1f7ee 100%) !important;
  color: #36552f !important;
  box-shadow: 0 3px 0 rgba(54, 85, 47, .12) !important;
}

.kot-condition-compare-control__button--breakdown::before {
  content: "▤" !important;
  background: #dcebd7 !important;
  color: #36552f !important;
}

.kot-condition-compare-control__button--breakdown:hover,
.kot-condition-compare-control__button--breakdown.is-open {
  border-color: #64825b !important;
  background: linear-gradient(180deg, #f8fcf6 0%, #e6f1e2 100%) !important;
  box-shadow: 0 4px 0 rgba(54, 85, 47, .15) !important;
}

.kot-condition-compare-control__button--breakdown.is-open::before {
  content: "−" !important;
}

.kot-condition-compare-control__button--compare::before {
  content: "⇄" !important;
}

.kot-estimate-breakdown--inline-panel {
  margin: 10px 0 0 !important;
  padding: 0 !important;
  border: 1px solid #d9cfbc !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
  overflow: hidden;
}

.kot-estimate-breakdown--inline-panel[hidden] {
  display: none !important;
}

.kot-estimate-breakdown__panel-heading {
  margin: 0 !important;
  padding: 15px 16px 13px;
  border-bottom: 1px solid #eadfc8;
  background: #fffaf1;
  text-align: left;
}

.kot-estimate-breakdown__panel-heading .kot-result-support__eyebrow,
.kot-estimate-breakdown__panel-heading .kot-result-support__title,
.kot-estimate-breakdown__panel-heading .kot-result-disclosure__description {
  text-align: left !important;
}

.kot-estimate-breakdown__panel-heading .kot-result-support__title {
  font-size: 17px !important;
}

.kot-estimate-breakdown__panel-heading .kot-result-disclosure__description {
  margin: 5px 0 0 !important;
}

.kot-estimate-breakdown--inline-panel > .kot-estimate-breakdown__content {
  padding: 15px !important;
  background: #fff !important;
}









@media screen and (max-width: 700px) {
  .kot-condition-compare-control__buttons {
    gap: 7px;
  }

  .kot-condition-compare-control__button {
    min-height: 56px;
    padding: 9px 7px !important;
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }

  .kot-condition-compare-control__button::before {
    width: 21px;
    height: 21px;
    margin-right: 5px;
    font-size: 11px;
  }

  .kot-estimate-breakdown__panel-heading {
    padding: 13px 12px 11px;
  }

  .kot-estimate-breakdown--inline-panel > .kot-estimate-breakdown__content {
    padding: 12px !important;
  }

}


/* =========================================
   詳細内訳内の現地確認項目（v1.7.6）
========================================= */
.kot-estimate-breakdown__extra-costs {
  margin: 16px 0 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #eadfc8 !important;
  border-radius: 10px !important;
  background: #fffaf4 !important;
}

.kot-estimate-breakdown__extra-costs > .kot-estimate-breakdown__extra-costs-summary {
  position: relative;
  display: block;
  margin: 0 !important;
  padding: 14px 50px 14px 14px !important;
  border: 0 !important;
  background: #fffaf4 !important;
  color: inherit !important;
  list-style: none !important;
  cursor: pointer;
}

.kot-estimate-breakdown__extra-costs > .kot-estimate-breakdown__extra-costs-summary::-webkit-details-marker {
  display: none;
}

.kot-estimate-breakdown__extra-costs > .kot-estimate-breakdown__extra-costs-summary::before {
  content: none !important;
}

.kot-estimate-breakdown__extra-costs > .kot-estimate-breakdown__extra-costs-summary::after {
  content: "+" !important;
  position: absolute;
  top: 50%;
  right: 14px;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #f3d59d;
  color: #7b4c00;
  font-size: 18px;
  line-height: 1;
  font-weight: 900;
}

.kot-estimate-breakdown__extra-costs[open] > .kot-estimate-breakdown__extra-costs-summary::after {
  content: "−" !important;
}

.kot-estimate-breakdown__extra-costs[open] > .kot-estimate-breakdown__extra-costs-summary {
  border-bottom: 1px solid #eadfc8 !important;
  background: #fff7e9 !important;
}

.kot-estimate-breakdown__extra-costs-heading {
  margin: 0 !important;
  text-align: left !important;
}

.kot-estimate-breakdown__extra-costs-eyebrow {
  display: inline-block;
  margin: 0 0 5px !important;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f3d59d;
  color: #7b4c00;
  font-size: 10.5px;
  line-height: 1.4;
  font-weight: 900;
}

.kot-estimate-breakdown__extra-costs-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--kot-navi-text) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  font-weight: 900 !important;
  text-align: left !important;
}

.kot-estimate-breakdown__extra-costs-description {
  margin: 5px 0 0 !important;
  padding: 0 !important;
  color: var(--kot-navi-sub) !important;
  font-size: 11.5px !important;
  line-height: 1.7 !important;
  font-weight: 600 !important;
  text-align: left !important;
}

.kot-estimate-breakdown__extra-costs-title::before,
.kot-estimate-breakdown__extra-costs-title::after,
.kot-estimate-breakdown__extra-costs-description::before,
.kot-estimate-breakdown__extra-costs-description::after {
  content: none !important;
}

.kot-estimate-breakdown__extra-costs-body {
  padding: 13px !important;
  background: #fffdf9;
}

.kot-estimate-breakdown__extra-costs-note {
  margin: 11px 0 0 !important;
}

@media screen and (max-width: 700px) {
  .kot-estimate-breakdown__extra-costs {
    margin-top: 13px !important;
  }

  .kot-estimate-breakdown__extra-costs > .kot-estimate-breakdown__extra-costs-summary {
    padding: 12px 45px 12px 11px !important;
  }

  .kot-estimate-breakdown__extra-costs > .kot-estimate-breakdown__extra-costs-summary::after {
    right: 11px;
    width: 24px;
    height: 24px;
  }

  .kot-estimate-breakdown__extra-costs-body {
    padding: 11px !important;
  }
}


/* =========================================
   結果メニューを2行表示へ圧縮（v1.7.8）
   閉じているときはラベルとタイトルのみを表示し、説明文は開いた内容へ移す。
========================================= */
.kot-result-menu > .kot-result-disclosure__summary {
  padding: 13px 48px 13px 14px !important;
}

.kot-result-menu > .kot-result-disclosure__summary::after {
  right: 14px;
  width: 25px;
  height: 25px;
  font-size: 17px;
}

.kot-result-menu .kot-result-support__eyebrow {
  margin-bottom: 5px !important;
  padding: 4px 10px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}

.kot-result-menu .kot-result-support__title {
  font-size: 16px !important;
  line-height: 1.4 !important;
}

.kot-result-menu .kot-result-disclosure__description--inside {
  margin: 0 0 12px !important;
  color: var(--kot-navi-sub) !important;
  font-size: 11.5px !important;
  line-height: 1.75 !important;
  font-weight: 600 !important;
  text-align: left !important;
}

.kot-subsidy-guide__content .kot-result-disclosure__description--inside {
  text-align: left !important;
}

@media screen and (max-width: 700px) {
  .kot-result-menu {
    margin-top: 7px !important;
    border-radius: 9px !important;
  }

  .kot-result-menu > .kot-result-disclosure__summary {
    padding: 10px 41px 10px 10px !important;
  }

  .kot-result-menu > .kot-result-disclosure__summary::after {
    right: 10px;
    width: 23px;
    height: 23px;
    font-size: 15px;
  }

  .kot-result-menu .kot-result-support__eyebrow {
    margin-bottom: 4px !important;
    padding: 3px 8px !important;
    font-size: 9px !important;
  }

  .kot-result-menu .kot-result-support__title {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }

  .kot-result-menu > .kot-result-disclosure__content {
    padding: 11px 10px 13px !important;
  }

  .kot-result-menu .kot-result-disclosure__description--inside {
    margin-bottom: 10px !important;
    font-size: 11px !important;
    line-height: 1.65 !important;
  }
}

/* =========================================
   モバイルの視認性とCTA導線を改善（v1.8.0）
   ・黄色い外枠を細くする
   ・概算内訳直後へコンパクトCTAを追加
   ・詳細内訳の補足情報を折りたたむ
   ・小さすぎる文字を読みやすくする
========================================= */
.kot-result-quick-cta {
  display: none;
}

.kot-estimate-breakdown__meta {
  margin: 0 0 11px !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #e5dac5 !important;
  border-radius: 9px !important;
  background: #fffaf1 !important;
}

.kot-estimate-breakdown__included.kot-estimate-breakdown__meta {
  margin: 13px 0 0 !important;
  border-color: #dce8d9 !important;
  background: #f8fbf7 !important;
}

.kot-estimate-breakdown__meta > .kot-estimate-breakdown__meta-summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 42px;
  margin: 0 !important;
  padding: 10px 42px 10px 12px !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  list-style: none !important;
  cursor: pointer;
}

.kot-estimate-breakdown__meta > .kot-estimate-breakdown__meta-summary::-webkit-details-marker {
  display: none;
}

.kot-estimate-breakdown__meta > .kot-estimate-breakdown__meta-summary::before {
  content: none !important;
}

.kot-estimate-breakdown__meta > .kot-estimate-breakdown__meta-summary::after {
  content: "+" !important;
  position: absolute;
  top: 50%;
  right: 12px;
  width: 21px;
  height: 21px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #efe2c9;
  color: var(--kot-navi-main);
  font-size: 15px;
  line-height: 1;
  font-weight: 900;
}

.kot-estimate-breakdown__included.kot-estimate-breakdown__meta > .kot-estimate-breakdown__meta-summary::after {
  background: #dcefd8;
  color: #3e6b39;
}

.kot-estimate-breakdown__meta[open] > .kot-estimate-breakdown__meta-summary::after {
  content: "−" !important;
}

.kot-estimate-breakdown__meta[open] > .kot-estimate-breakdown__meta-summary {
  border-bottom: 1px solid #e8deca !important;
}

.kot-estimate-breakdown__included.kot-estimate-breakdown__meta[open] > .kot-estimate-breakdown__meta-summary {
  border-bottom-color: #dce8d9 !important;
}

.kot-estimate-breakdown__meta-title {
  min-width: 0;
  color: var(--kot-navi-main);
  font-size: 12.5px;
  line-height: 1.5;
  font-weight: 900;
  text-align: left;
}

.kot-estimate-breakdown__included .kot-estimate-breakdown__meta-title {
  color: #3e6b39;
}

.kot-estimate-breakdown__meta-count {
  flex: 0 0 auto;
  color: var(--kot-navi-sub);
  font-size: 10.5px;
  line-height: 1.4;
  font-weight: 700;
  white-space: nowrap;
}

.kot-estimate-breakdown__meta-body {
  padding: 11px !important;
  background: #fff;
}

.kot-estimate-breakdown__included .kot-estimate-breakdown__meta-body {
  background: #fbfdfb;
}

@media screen and (max-width: 700px) {
  /* メインハブの黄色はブランド枠として3pxだけ残す。 */
  .kotoie-estimate--hub.kotEstimateHub {
    padding-right: 3px !important;
    padding-left: 3px !important;
  }

  /* 個別の単独表示も、左右の黄色い余白を最小限にする。 */
  .kotoie-estimate--embedded.kotoie-estimate--standalone .kot-reform222-sim {
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 3px !important;
    padding-left: 3px !important;
  }

  .kotoie-estimate--hub .kotEstimateHub__card,
  .kotoie-estimate--hub .kotEstimateHub__result,
  .kotoie-estimate--hub .kotEstimateHub__result .kot-reform222-wrap {
    border-radius: 10px !important;
  }

  /* 結果カード自体の余白と枠を軽くし、実際の表示幅を広げる。 */
  .kot-reform222-result {
    margin-right: 8px !important;
    margin-left: 8px !important;
    padding: 18px 10px 20px !important;
    border-color: #eee5d5 !important;
    border-radius: 11px !important;
  }

  /* 概算内訳の直後だけに表示する、短いCTA。 */
  .kot-result-quick-cta {
    display: block;
    margin: 11px 0 0 !important;
    padding: 11px !important;
    border: 1px solid #e3c16d;
    border-radius: 10px;
    background: linear-gradient(180deg, #fffaf0 0%, #fff 100%);
    text-align: center;
  }

  .kot-result-quick-cta__copy {
    margin: 0 0 8px !important;
    padding: 0 !important;
  }

  .kot-result-quick-cta__eyebrow {
    display: block;
    margin: 0 0 2px;
    color: #7a5200;
    font-size: 10.5px;
    line-height: 1.4;
    font-weight: 800;
  }

  .kot-result-quick-cta__title {
    display: block;
    color: var(--kot-navi-text);
    font-size: 14px;
    line-height: 1.5;
    font-weight: 900;
  }

  .kot-result-quick-cta .kot-result-quick-cta__button {
    min-height: 46px;
    margin: 0 !important;
    padding: 10px 9px !important;
    gap: 7px;
    border-radius: 7px;
    font-size: 14px;
    line-height: 1.4;
    box-shadow: 0 3px 0 var(--kot-navi-dark);
  }

  .kot-result-quick-cta .kot-result-quick-cta__button span {
    padding: 4px 7px;
    font-size: 12px;
  }

  .kot-result-quick-cta__note {
    margin: 7px 0 0 !important;
    color: var(--kot-navi-sub);
    font-size: 11.5px;
    line-height: 1.55;
    font-weight: 600;
  }

  /* 小さい補足文字を、拡大しなくても読めるサイズへ統一。 */
  .kot-result-support__note,
  .kot-estimate-breakdown__intro,
  .kot-estimate-breakdown__plan-description,
  .kot-estimate-breakdown__table-note,
  .kot-extra-costs__overview,
  .kot-estimate-breakdown__extra-costs-description,
  .kot-result-actions__lead,
  .kot-condition-compare__description,
  .kot-provider-comparison__recommendation-text,
  .kot-provider-comparison__cta-text {
    font-size: 12px !important;
    line-height: 1.7 !important;
  }

  .kot-result-menu .kot-result-support__eyebrow {
    font-size: 10px !important;
  }

  .kot-result-menu .kot-result-support__title {
    font-size: 14.5px !important;
    line-height: 1.4 !important;
  }

  .kot-result-menu .kot-result-disclosure__description--inside,
  .kot-schedule-guide__item dd,
  .kot-extra-costs__item {
    font-size: 12.5px !important;
    line-height: 1.65 !important;
  }

  .kot-schedule-guide__item dt {
    font-size: 12px !important;
  }

  .kot-estimate-breakdown__summary-text small {
    font-size: 10.5px;
  }

  .kot-estimate-breakdown__summary-text strong {
    font-size: 13.5px;
  }

  .kot-estimate-breakdown__summary-price {
    font-size: 14px;
  }

  .kot-estimate-breakdown__chip,
  .kot-estimate-breakdown__included-list li {
    font-size: 11.5px !important;
    line-height: 1.55 !important;
  }

  .kot-estimate-breakdown__table,
  .kot-estimate-breakdown__table th,
  .kot-estimate-breakdown__table td {
    font-size: 11.5px !important;
    line-height: 1.5 !important;
  }

  .kot-estimate-breakdown__table .kot-estimate-breakdown__total {
    font-size: 13px !important;
  }

  .kot-estimate-breakdown__scroll-hint {
    font-size: 10.5px !important;
  }

  .kot-estimate-breakdown__meta {
    margin-bottom: 10px !important;
  }

  .kot-estimate-breakdown__included.kot-estimate-breakdown__meta {
    margin-top: 11px !important;
  }

  .kot-estimate-breakdown__meta > .kot-estimate-breakdown__meta-summary {
    min-height: 43px;
    padding: 10px 40px 10px 10px !important;
  }

  .kot-estimate-breakdown__meta > .kot-estimate-breakdown__meta-summary::after {
    right: 10px;
  }

  .kot-estimate-breakdown__meta-title {
    font-size: 12.5px;
  }

  .kot-estimate-breakdown__meta-count {
    font-size: 10.5px;
  }

  .kot-estimate-breakdown__meta-body {
    padding: 10px !important;
  }

  /* 四つの補助メニューは、読みやすさを維持しつつ縦幅を抑える。 */
  .kot-result-menu {
    margin-top: 6px !important;
  }

  .kot-result-menu > .kot-result-disclosure__summary {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
  }
}

/* =========================================
   比較モード解除ボタン（v1.8.2）
========================================= */
.kot-reform222-form .kot-comparison-mode-cancel {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  min-height: 42px;
  margin: 11px 0 0 !important;
  padding: 9px 12px !important;
  border: 1px solid #d7c59f !important;
  border-radius: 8px !important;
  background: #fffdf8 !important;
  color: #765000 !important;
  font-family: inherit;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.kot-reform222-form .kot-comparison-mode-cancel::before {
  content: "×";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border-radius: 50%;
  background: #f2e5c9;
  color: #765000;
  font-size: 15px;
  line-height: 1;
  font-weight: 900;
}

.kot-reform222-form .kot-comparison-mode-cancel::after {
  content: none !important;
  display: none !important;
}

.kot-reform222-form .kot-comparison-mode-cancel:hover {
  border-color: #b99248 !important;
  background: #fff8e9 !important;
}

.kot-reform222-form .kot-comparison-mode-cancel:active {
  transform: translateY(1px) !important;
  box-shadow: none !important;
}

.kot-reform222-form .kot-comparison-mode-cancel:focus-visible {
  outline: 3px solid rgba(213, 138, 0, .24);
  outline-offset: 2px;
}

@media screen and (max-width: 700px) {
  .kot-reform222-form .kot-comparison-mode-cancel {
    min-height: 40px;
    margin-top: 9px !important;
    padding: 8px 9px !important;
    font-size: 12px !important;
  }
}



/* =========================================
   保存・共有の整列と補助メニューの排他開閉（v1.8.8）
========================================= */
.kot-result-actions > .kot-result-disclosure__content {
  text-align: center !important;
}

.kot-result-actions .kot-result-disclosure__description--inside,
.kot-result-actions__lead {
  width: 100%;
  max-width: 620px;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.kot-result-actions__buttons {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  max-width: 620px;
  margin: 0 auto !important;
}

.kot-result-actions__feedback {
  width: 100%;
  max-width: 620px;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media screen and (max-width: 700px) {
  .kot-result-actions__buttons {
    grid-template-columns: 1fr;
  }

  .kot-result-actions .kot-result-disclosure__description--inside,
  .kot-result-actions__lead {
    text-align: left !important;
  }
}


/* =========================================
   費用モデルの安全化・計算前提表示（v1.9.1）
========================================= */
.kot-estimate-field-note,
.kot-estimate-section-note {
  display: block;
  margin: 7px 0 0 !important;
  color: #6f675c;
  font-size: 12px;
  line-height: 1.65;
  font-weight: 600;
}

.kot-estimate-section-note {
  margin: 2px 0 16px !important;
  padding: 10px 12px;
  border-left: 3px solid #d58a00;
  border-radius: 0 7px 7px 0;
  background: #fffaf0;
}

.kot-estimate-legacy-fields[hidden] {
  display: none !important;
}


.kot-exterior-closed-fields[hidden] {
  display: none !important;
}

.kot-exterior-closed-fields {
  margin: 2px 0 17px;
  padding: 14px 14px 1px;
  border: 1px solid #ead8b9;
  border-radius: 10px;
  background: #fffdf8;
}

.kot-exterior-closed-fields .kot-estimate-section-note {
  margin-bottom: 14px !important;
}

.kot-estimate-basis {
  margin: 14px 0 0;
  padding: 16px;
  border: 1px solid #d9e6d3;
  border-radius: 11px;
  background: #fbfef9;
  color: #302a22;
  text-align: left;
}

.kot-estimate-basis__heading {
  margin-bottom: 12px;
}

.kot-estimate-basis__heading > span {
  display: inline-block;
  margin-bottom: 5px;
  color: #4f8751;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 900;
}

.kot-estimate-basis__heading > strong {
  display: block;
  font-size: 17px;
  line-height: 1.5;
  font-weight: 900;
}

.kot-estimate-basis__accuracy {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #eef8ec;
}

.kot-estimate-basis__accuracy > span {
  font-size: 12px;
  font-weight: 800;
}

.kot-estimate-basis__accuracy > strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 55px;
  min-height: 27px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #4f8751;
  color: #fff;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 900;
}

.kot-estimate-basis[data-accuracy="low"] .kot-estimate-basis__accuracy {
  background: #fff4e5;
}

.kot-estimate-basis[data-accuracy="low"] .kot-estimate-basis__accuracy > strong {
  background: #b66a00;
}

.kot-estimate-basis[data-accuracy="high"] .kot-estimate-basis__accuracy > strong {
  background: #2f7b3b;
}

.kot-estimate-basis__accuracy > p {
  margin: 0 !important;
  color: #514a40;
  font-size: 12px;
  line-height: 1.65;
}

.kot-estimate-basis__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 9px;
}

.kot-estimate-basis__item {
  min-width: 0;
  height: 100%;
  margin: 0 !important;
  align-self: stretch !important;
  position: relative !important;
  top: auto !important;
  transform: none !important;
  box-sizing: border-box;
  padding: 11px;
  border: 1px solid #e4e9df;
  border-radius: 8px;
  background: #fff;
}

.kot-estimate-basis__item--caution {
  border-color: #ead8b9;
  background: #fffdf8;
}

.kot-estimate-basis__item > strong {
  display: block;
  margin-bottom: 7px;
  font-size: 12px;
  line-height: 1.45;
  font-weight: 900;
}

.kot-estimate-basis__item ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.kot-estimate-basis__item li {
  position: relative;
  margin: 0 !important;
  padding: 5px 0 5px 13px !important;
  color: #5d564d;
  font-size: 11.5px;
  line-height: 1.55;
  border-top: 1px dashed #ece8df;
}

.kot-estimate-basis__item li:first-child {
  border-top: 0;
}

.kot-estimate-basis__item li::before {
  content: "" !important;
  position: absolute;
  left: 2px;
  top: 50%;
  width: 3px !important;
  height: 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #65a468 !important;
  box-shadow: none !important;
  transform: translateY(-50%);
}

.kot-estimate-basis__item--caution li::before {
  background: #d58a00 !important;
}

.kot-estimate-basis__item li::after {
  content: none !important;
}

.kot-estimate-basis__note {
  margin: 11px 0 0 !important;
  padding-top: 10px;
  border-top: 1px solid #e1e8dd;
  color: #686158;
  font-size: 11.5px;
  line-height: 1.7;
}

@media screen and (max-width: 700px) {
  .kot-estimate-field-note,
  .kot-estimate-section-note {
    font-size: 11.5px;
  }

  .kot-estimate-basis {
    margin-top: 10px;
    padding: 12px 10px;
  }

  .kot-estimate-basis__heading > strong {
    font-size: 15px;
  }

  .kot-estimate-basis__accuracy {
    grid-template-columns: auto auto;
    gap: 6px 8px;
    padding: 9px;
  }

  .kot-estimate-basis__accuracy > p {
    grid-column: 1 / -1;
    font-size: 11.5px;
  }

  .kot-estimate-basis__grid {
    grid-template-columns: 1fr;
    gap: 7px;
  }

  .kot-estimate-basis__item {
    padding: 9px;
  }

  .kot-estimate-basis__item li,
  .kot-estimate-basis__note {
    font-size: 11px;
  }
}


/* =========================================
   全面リフォーム専用入力（v1.9.1）
========================================= */
.kot-reform222-form .kot-estimate-custom-area[hidden],
.kot-estimate-input-error[hidden] {
  display: none !important;
}

.kot-estimate-number-field {
  display: flex;
  align-items: center;
  gap: 8px;
}

.kot-reform222-form .kot-estimate-number-field input {
  width: 100%;
  min-height: 48px;
  padding: 12px;
  border: 1px solid var(--kot-navi-border);
  border-radius: 8px;
  background: #fff;
  color: var(--kot-navi-text);
  font-size: 15px;
  appearance: textfield;
}

.kot-reform222-form .kot-estimate-number-field input:focus {
  outline: none;
  border-color: var(--kot-navi-accent);
  box-shadow: 0 0 0 3px rgba(213,138,0,0.16);
}

.kot-reform222-form .kot-estimate-number-field b {
  flex: 0 0 auto;
  color: var(--kot-navi-text);
  font-size: 15px;
  font-weight: 900;
}

.kot-estimate-input-error {
  margin: 7px 0 0 !important;
  color: #b3261e;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.6;
}

.kot-inline-number-input{display:flex;align-items:center;gap:8px}.kot-inline-number-input input{width:100%;min-width:0}.kot-inline-number-input em{font-style:normal;font-weight:800;color:#594d40;white-space:nowrap}.kot-field-note{display:block;margin-top:6px;color:#746a5f;font-size:12px;line-height:1.65}.kot-form-caution{margin:4px 0 14px!important;padding:10px 12px;border-radius:8px;background:#fff8e8;color:#665943;font-size:12.5px;line-height:1.75;text-align:left}@media(max-width:600px){.kot-field-note,.kot-form-caution{font-size:12px}}


/* v1.21.0: keep the three estimate-basis cards aligned even when the active theme adds first-child spacing. */
.kot-estimate-basis__grid > .kot-estimate-basis__item,
.kot-estimate-basis__grid > .kot-estimate-basis__item:first-child,
.kot-estimate-basis__grid > .kot-estimate-basis__item:nth-child(2),
.kot-estimate-basis__grid > .kot-estimate-basis__item:nth-child(3) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  inset: auto !important;
  vertical-align: top !important;
}

/* v1.21.0: desktop alignment hardening for estimate basis cards. */
@media screen and (min-width: 701px) {
  .kot-estimate-basis__grid {
    align-items: stretch !important;
    align-content: stretch !important;
  }

  .kot-estimate-basis__grid > .kot-estimate-basis__item,
  .kot-estimate-basis__grid > .kot-estimate-basis__item:first-child,
  .kot-estimate-basis__grid > .kot-estimate-basis__item:nth-child(2),
  .kot-estimate-basis__grid > .kot-estimate-basis__item:nth-child(3) {
    grid-row: 1 !important;
    align-self: stretch !important;
    height: auto !important;
    min-height: 100% !important;
    margin: 0 !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
  }
}


/* =========================================
   v1.27.2 投稿本文の input 非表示指定との競合回避
   数字入力の全角→半角変換、比較カード別の内訳詳細
========================================= */
.kotoie-estimate input:not([type="hidden"]) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.kotoie-estimate .kot-inline-number-input input {
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px;
  margin: 0 !important;
  padding: 11px 12px !important;
  border: 1px solid var(--kot-navi-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--kot-navi-text) !important;
  font: inherit;
  font-size: 15px !important;
  line-height: 1.4 !important;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

.kotoie-estimate .kot-inline-number-input input:focus {
  outline: none;
  border-color: var(--kot-navi-accent) !important;
  box-shadow: 0 0 0 3px rgba(213, 138, 0, .16) !important;
}

.kot-condition-compare__detail-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: auto !important;
  min-height: 0 !important;
  margin: 9px 0 0 !important;
  padding: 5px 1px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #76520a !important;
  font-family: inherit;
  font-size: 11.5px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  text-align: left;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  box-shadow: none !important;
  cursor: pointer;
}

.kot-condition-compare__detail-toggle::before {
  content: "＋";
  margin-right: 5px;
  font-size: 12px;
  line-height: 1;
  text-decoration: none;
}

.kot-condition-compare__detail-toggle:hover,
.kot-condition-compare__detail-toggle:focus-visible,
.kot-condition-compare__detail-toggle.is-open {
  border: 0 !important;
  background: transparent !important;
  color: #5f4108 !important;
  text-decoration-thickness: 2px;
}

.kot-condition-compare__detail-toggle.is-open::before {
  content: "−";
}

.kot-condition-compare__detail-panel {
  margin: 9px 0 0;
  padding: 12px;
  border: 1px solid #e6dcc8;
  border-radius: 9px;
  background: #fffdf8;
}

.kot-condition-compare__detail-panel[hidden] {
  display: none !important;
}

.kot-condition-compare__detail-title,
.kot-condition-compare__detail-subtitle {
  margin: 0 0 8px !important;
  color: var(--kot-navi-text);
  font-size: 12px;
  line-height: 1.5;
  font-weight: 900;
  text-align: left;
}

.kot-condition-compare__detail-subtitle {
  margin-top: 13px !important;
  padding-top: 12px;
  border-top: 1px solid #eadfc8;
}

.kot-condition-compare__detail-summary {
  overflow: hidden;
  border: 1px solid #eadfc8;
  border-radius: 8px;
  background: #fff;
}

.kot-condition-compare__detail-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 9px;
  border-bottom: 1px solid #f0e8d8;
  color: var(--kot-navi-text);
  font-size: 11px;
  line-height: 1.45;
}

.kot-condition-compare__detail-row:last-child {
  border-bottom: 0;
}

.kot-condition-compare__detail-row span {
  min-width: 0;
  font-weight: 700;
}

.kot-condition-compare__detail-row strong {
  flex: 0 0 auto;
  color: var(--kot-navi-accent-dark);
  font-size: 12px;
  white-space: nowrap;
}

.kot-condition-compare__detail-empty,
.kot-condition-compare__detail-note {
  margin: 0 !important;
  color: var(--kot-navi-sub);
  font-size: 10.5px;
  line-height: 1.65;
  text-align: left;
}

.kot-condition-compare__detail-note {
  margin-top: 10px !important;
}

.kot-condition-compare__detail-panel .kot-estimate-breakdown__table-frame {
  margin-top: 0;
}

.kot-condition-compare__detail-panel .kot-estimate-breakdown__table {
  min-width: 560px;
}

@media screen and (max-width: 700px) {
  .kot-condition-compare__detail-toggle {
    min-height: 0;
    font-size: 12px !important;
  }
}

/* Version 1.27.5: three-level comparison breakdowns and persistent desktop scrollbar. */
.kot-condition-compare__detail-intro {
  margin: 0 0 10px !important;
  color: var(--kot-navi-sub);
  font-size: 10.5px;
  line-height: 1.65;
  font-weight: 600;
  text-align: left;
}

.kot-condition-compare__detail-plans {
  gap: 8px;
}

.kot-condition-compare__detail-plan .kot-estimate-breakdown__summary {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.kot-condition-compare__detail-plan .kot-estimate-breakdown__summary-text small {
  font-size: 9px;
}

.kot-condition-compare__detail-plan .kot-estimate-breakdown__summary-text strong {
  font-size: 12px;
}

.kot-condition-compare__detail-plan .kot-estimate-breakdown__summary-price {
  font-size: 13px;
}

.kot-condition-compare__detail-plan .kot-estimate-breakdown__plan-body {
  padding: 0 9px 10px;
}

.kot-condition-compare__detail-subtitle--first {
  margin-top: 0 !important;
  padding-top: 9px !important;
  border-top: 0 !important;
}

.kot-estimate-breakdown__desktop-scrollbar {
  display: none;
}

@media screen and (min-width: 701px) {
  /*
   * OSの自動非表示設定に影響されない操作用バー。
   * 横幅が足りない表では常に表示し、マウスで太いつまみをドラッグできる。
   */
  .kot-estimate-breakdown__table-scroll {
    overflow-x: scroll;
    scrollbar-width: none;
  }

  .kot-estimate-breakdown__table-scroll::-webkit-scrollbar {
    width: 0;
    height: 0;
  }

  .kot-estimate-breakdown__desktop-scrollbar {
    display: block;
    width: 100%;
    height: 20px;
    margin: 8px 0 0;
    padding: 3px;
    border: 1px solid #dfcfaf;
    border-radius: 7px;
    background: #f5ecdc;
    box-sizing: border-box;
    user-select: none;
    touch-action: none;
  }

  .kot-estimate-breakdown__desktop-scrollbar.is-disabled {
    display: none;
  }

  .kot-estimate-breakdown__desktop-scrollbar-track {
    position: relative;
    width: 100%;
    height: 12px;
    border-radius: 999px;
    background: #e8dcc5;
    cursor: pointer;
    overflow: hidden;
  }

  .kot-estimate-breakdown__desktop-scrollbar-thumb {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    min-width: 54px;
    height: 12px;
    border: 2px solid #b78a2b;
    border-radius: 999px;
    background: #d4a83f;
    box-sizing: border-box;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.35);
    cursor: grab;
    will-change: transform;
  }

  .kot-estimate-breakdown__desktop-scrollbar-thumb:hover,
  .kot-estimate-breakdown__desktop-scrollbar-thumb.is-dragging {
    border-color: #956b17;
    background: #bf8d27;
  }

  .kot-estimate-breakdown__desktop-scrollbar-thumb.is-dragging {
    cursor: grabbing;
  }
}

@media screen and (max-width: 700px) {
  .kot-condition-compare__detail-plan .kot-estimate-breakdown__summary {
    padding: 10px 38px 10px 10px !important;
  }
}

/* Version 1.28.6: modal genre picker for the hub only. */
.kotEstimateHub__modalTrigger {
  display: none;
  width: 100%;
  min-height: 56px;
  padding: 13px 52px 13px 17px;
  border: 2px solid #f18800;
  border-radius: 12px;
  background: #fff;
  color: #3f2a18;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
  position: relative;
  box-shadow: 0 8px 18px rgba(123,79,18,.07);
}
.kotEstimateHub.is-modal-ready .kotEstimateHub__modalTrigger {
  display: block;
}
.kotEstimateHub.is-modal-ready .kotEstimateHub__selectWrap--native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.kotEstimateHub__modalTrigger:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(241,136,0,.16), 0 8px 18px rgba(123,79,18,.07);
}
.kotEstimateHub__modalTriggerText {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kotEstimateHub__modalTrigger:not(.is-selected) .kotEstimateHub__modalTriggerText {
  color: #8a7a67;
}
.kotEstimateHub__modalTriggerIcon {
  position: absolute;
  right: 18px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 2px solid #7a4a00;
  border-bottom: 2px solid #7a4a00;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}
.kotEstimateHubGenreModal[hidden] { display: none !important; }
.kotEstimateHubGenreModal {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 999999;
  margin: 0 !important;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.kotEstimateHubGenreModal__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  background: rgba(38, 25, 14, .56);
  backdrop-filter: blur(2px);
}
.kotEstimateHubGenreModal__panel {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: min(86vh, 760px);
  overflow: hidden;
  border-radius: 18px;
  background: #fffdf8;
  border: 1px solid rgba(123,79,18,.16);
  box-shadow: 0 22px 60px rgba(36, 23, 11, .28);
  display: flex;
  flex-direction: column;
}
.kotEstimateHubGenreModal__panel:focus { outline: none; }
.kotEstimateHubGenreModal__head {
  position: relative;
  display: block;
  padding: 18px 70px 15px 20px;
  border-bottom: 1px solid rgba(123,79,18,.12);
  background: linear-gradient(180deg, #fffaf1 0%, #fffdf8 100%);
}
.kotEstimateHubGenreModal__eyebrow {
  margin: 0 0 5px !important;
  color: #f18800;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 900;
  letter-spacing: .08em;
}
.kotEstimateHubGenreModal__title {
  margin: 0 !important;
  color: #3f2a18;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 900;
}
.kotEstimateHubGenreModal__close {
  position: absolute;
  top: 17px;
  right: 18px;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #fff1df;
  color: #7a4a00;
  font-size: 24px;
  line-height: 40px;
  font-weight: 900;
  text-align: center;
  cursor: pointer;
}
.kotEstimateHubGenreModal__close:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(241,136,0,.16);
}
.kotEstimateHubGenreModal__body {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 18px 20px 22px;
}
.kotEstimateHubGenreModal__group {
  margin: 22px 0 0;
}
.kotEstimateHubGenreModal__group:first-child { margin-top: 0; }
.kotEstimateHubGenreModal__groupTitle {
  margin: 0 0 10px !important;
  padding: 9px 12px;
  border-radius: 10px;
  background: #f6f1e8;
  color: #4a3524;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 900;
}
.kotEstimateHubGenreModal__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.kotEstimateHubGenreModal__option {
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #e6d8bf;
  border-radius: 11px;
  background: #fff;
  color: #3f2a18;
  font-size: 13.5px;
  line-height: 1.45;
  font-weight: 850;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(123,79,18,.05);
}
.kotEstimateHubGenreModal__option:hover,
.kotEstimateHubGenreModal__option:focus {
  outline: none;
  border-color: #f18800;
  box-shadow: 0 0 0 3px rgba(241,136,0,.12), 0 4px 10px rgba(123,79,18,.05);
}
.kotEstimateHubGenreModal__option.is-selected {
  border-color: #f18800;
  background: #fff2df;
  color: #7a4a00;
}
html.kotEstimateHubGenreModal-is-open,
body.kotEstimateHubGenreModal-is-open {
  overflow: hidden;
}
@media screen and (max-width: 760px) {
  .kotEstimateHubGenreModal {
    padding: 0 8px env(safe-area-inset-bottom, 0px);
    align-items: flex-end;
  }
  .kotEstimateHubGenreModal__panel {
    width: 100%;
    max-height: 92vh;
    max-height: 92dvh;
    border-radius: 18px 18px 0 0;
  }
  .kotEstimateHubGenreModal__head {
    padding: 16px 62px 13px 16px;
  }
  .kotEstimateHubGenreModal__close {
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    line-height: 38px;
  }
  .kotEstimateHubGenreModal__body {
    padding: 14px 12px 18px;
  }
  .kotEstimateHubGenreModal__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .kotEstimateHubGenreModal__option {
    min-height: 45px;
    font-size: 13px;
    padding: 9px 10px;
  }
  .kotEstimateHub__modalTrigger {
    min-height: 52px;
    font-size: 14.5px;
  }
}

/* Step-style estimate input modal (budget -> condition selects -> confirm). */
.kotEstimateStepModal__openButton {
  width: 100%;
  margin: 14px 0 0;
  padding: 13px 16px;
  border: 1px solid #f0d7b5;
  border-radius: 14px;
  background: #fff8ed;
  color: #7a4a00;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 7px 18px rgba(123,79,18,.08);
}
.kotEstimateStepModal__openButton span {
  display: block;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}
.kotEstimateStepModal__openButton em {
  display: block;
  margin-top: 3px;
  color: #a56b14;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
}
.kotEstimateStepModal__openButton:hover,
.kotEstimateStepModal__openButton:focus-visible {
  outline: none;
  border-color: #f18800;
  box-shadow: 0 0 0 4px rgba(241,136,0,.14), 0 7px 18px rgba(123,79,18,.08);
}
.kotEstimateStepModal[hidden] { display: none !important; }
.kotEstimateStepModal {
  position: fixed;
  inset: 0;
  z-index: 2147483502;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  min-height: 100vh;
  min-height: 100dvh;
  height: var(--kot-step-modal-height, 100dvh);
  padding: 18px;
  box-sizing: border-box;
}
.kotEstimateStepModal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(35, 29, 22, .58);
}
.kotEstimateStepModal__panel {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  max-height: min(720px, 92vh);
  max-height: min(720px, 92dvh);
  overflow: hidden;
  border-radius: 24px;
  background: #fffdf9;
  box-shadow: 0 24px 80px rgba(0,0,0,.22);
  display: flex;
  flex-direction: column;
}
.kotEstimateStepModal__panel:focus { outline: none; }
.kotEstimateStepModal__head {
  position: relative;
  padding: 20px 70px 15px 22px;
  border-bottom: 1px solid #f0e4d4;
}
.kotEstimateStepModal__eyebrow {
  margin: 0 0 5px;
  color: #e07700;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
}
.kotEstimateStepModal__title {
  margin: 0;
  color: #2f2117;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.45;
}
.kotEstimateStepModal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: #fff1dd;
  color: #8a5100;
  font-size: 25px;
  line-height: 42px;
  font-weight: 900;
  text-align: center;
  cursor: pointer;
}
.kotEstimateStepModal__close:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(241,136,0,.16);
}
.kotEstimateStepModal__progress {
  padding: 12px 22px 0;
  color: #7e6a55;
  font-size: 12px;
  font-weight: 850;
}
.kotEstimateStepModal__progress em {
  display: block;
  width: 8%;
  height: 6px;
  margin-top: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f18800, #f6bc5c);
  transition: width .18s ease;
}
.kotEstimateStepModal__body {
  flex: 1 1 auto;
  overflow: auto;
  padding: 18px 22px 20px;
}
.kotEstimateStepModal__label {
  margin: 0;
  color: #2f2117;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 900;
}
.kotEstimateStepModal__hint {
  margin: 7px 0 15px;
  color: #756454;
  font-size: 13px;
  line-height: 1.65;
  font-weight: 700;
}
.kotEstimateStepModal__budgetInput {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid #ead8bf;
  border-radius: 16px;
  background: #fff;
}
.kotEstimateStepModal__budgetInput input {
  min-width: 0;
  flex: 1 1 auto;
  height: 48px;
  border: 0;
  border-radius: 12px;
  background: #fff8ef;
  padding: 0 14px;
  color: #2f2117;
  font-size: 21px;
  font-weight: 900;
}
.kotEstimateStepModal__budgetInput input:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(241,136,0,.13);
}
.kotEstimateStepModal__budgetInput span {
  flex: 0 0 auto;
  color: #4a3524;
  font-size: 16px;
  font-weight: 900;
}
.kotEstimateStepModal__options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.kotEstimateStepModal__option {
  min-height: 50px;
  padding: 12px 13px;
  border: 1px solid #e6d8bf;
  border-radius: 13px;
  background: #fff;
  color: #3f2a18;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 850;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 4px 10px rgba(123,79,18,.05);
}
.kotEstimateStepModal__option:hover,
.kotEstimateStepModal__option:focus-visible {
  outline: none;
  border-color: #f18800;
  box-shadow: 0 0 0 3px rgba(241,136,0,.12), 0 4px 10px rgba(123,79,18,.05);
}
.kotEstimateStepModal__option.is-selected {
  border-color: #f18800;
  background: #fff2df;
  color: #7a4a00;
}
.kotEstimateStepModal__summary {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.kotEstimateStepModal__summary li {
  display: grid;
  grid-template-columns: minmax(100px, .72fr) minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid #eadfce;
  border-radius: 13px;
  background: #fff;
}
.kotEstimateStepModal__summary span {
  color: #7a6858;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 850;
}
.kotEstimateStepModal__summary strong {
  color: #2f2117;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 900;
}
.kotEstimateStepModal__foot {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding: 14px 22px 18px;
  border-top: 1px solid #f0e4d4;
  background: #fffaf3;
}
.kotEstimateStepModal__btn {
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
}
.kotEstimateStepModal__btn--sub {
  border: 1px solid #e6d8bf;
  background: #fff;
  color: #5a4735;
}
.kotEstimateStepModal__btn--main {
  border: 1px solid #f18800;
  background: #f18800;
  color: #fff;
  box-shadow: 0 7px 16px rgba(241,136,0,.18);
}
.kotEstimateStepModal__btn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 4px rgba(241,136,0,.16);
}
html.kotEstimateStepModal-is-open,
body.kotEstimateStepModal-is-open {
  overflow: hidden;
}
@media screen and (max-width: 760px) {
  .kotEstimateStepModal {
    align-items: flex-end;
    justify-content: flex-end;
    inset: 0 auto auto 0;
    width: 100vw;
    min-height: 0;
    height: var(--kot-step-modal-height, 100dvh);
    padding: 0;
  }
  .kotEstimateStepModal__panel {
    width: 100%;
    max-height: var(--kot-step-panel-max-height, 100dvh);
    border-radius: 18px 18px 0 0;
  }
  .kotEstimateStepModal__head {
    padding: 17px 62px 13px 16px;
  }
  .kotEstimateStepModal__close {
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    line-height: 38px;
  }
  .kotEstimateStepModal__progress { padding: 10px 16px 0; }
  .kotEstimateStepModal__body {
    padding: 16px 14px 18px;
    overscroll-behavior: contain;
  }
  .kotEstimateStepModal__options {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .kotEstimateStepModal__option {
    min-height: 47px;
    padding: 10px 12px;
    font-size: 13.5px;
  }
  .kotEstimateStepModal__summary li {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .kotEstimateStepModal__foot {
    position: sticky;
    bottom: 0;
    padding: 12px 14px max(16px, env(safe-area-inset-bottom, 0px));
  }
  .kotEstimateStepModal__btn {
    flex: 1 1 0;
    min-width: 0;
    padding: 0 10px;
  }
}


/* Version 1.28.9: protect estimate inputs from article/theme rules such as `input { display:none; }`. */
.kot-reform222-sim .kot-reform222-budget-input input[type="text"],
.kot-reform222-sim .kot-inline-number-input input[type="text"],
.kot-reform222-sim input[data-kotoie-generic-budget],
.kot-reform222-sim input[data-se-budget],
.kotEstimateStepModal input[data-kotoie-step-budget-input] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  position: static !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none;
}
.kotEstimateStepModal .kotEstimateStepModal__budgetInput input[data-kotoie-step-budget-input] {
  min-width: 0 !important;
  width: 100% !important;
  flex: 1 1 auto !important;
  height: 48px !important;
  margin: 0 !important;
}
.kotEstimateStepModal .kotEstimateStepModal__budgetInput {
  cursor: text;
}

/* Version 1.28.14: prevent article theme `.content p` margins from pushing simulation helper notes down. */
.kot-reform222-sim .kot-reform222-budget-note {
  margin: 8px 0 0 !important;
}

.kot-reform222-form label + .kot-reform222-budget-note {
  margin: -6px 0 16px !important;
}

.kot-reform222-budget-box .kot-reform222-budget-note {
  margin: 8px 0 0 !important;
}

/* Version 1.29.0: genre SEO routes and inline progressive input. */
.kotoieEstimateSeo,
.kotoieEstimateSeo * {
  box-sizing: border-box;
}
.kotoieEstimateSeo {
  --kot-seo-text: #2f281f;
  --kot-seo-sub: #74685b;
  --kot-seo-line: #eadfce;
  --kot-seo-soft: #fff9f1;
  --kot-seo-accent: #f18800;
  --kot-seo-accent-dark: #b76500;
  --kot-seo-main: #5c432a;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  color: var(--kot-seo-text);
}
.kotoieEstimateSeo__article {
  width: 100%;
  margin: 0;
}
.kotoieEstimateSeoBreadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin: 0 0 18px;
  color: var(--kot-seo-sub);
  font-size: 12px;
  line-height: 1.6;
}
.kotoieEstimateSeoBreadcrumb a {
  color: #755224;
  text-decoration: none;
}
.kotoieEstimateSeoBreadcrumb a:hover { text-decoration: underline; }
.kotoieEstimateSeoHero {
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 5vw, 52px);
  border: 1px solid var(--kot-seo-line);
  border-radius: 26px;
  background:
    radial-gradient(circle at 92% 8%, rgba(241, 136, 0, .12), transparent 32%),
    linear-gradient(145deg, #fffdf9, #fff8ee);
  box-shadow: 0 16px 48px rgba(83, 53, 15, .08);
}
.kotoieEstimateSeoHero__eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin: 0 0 14px;
  padding: 0 12px;
  border-radius: 999px;
  background: #fff0d9;
  color: #a55b00;
  font-size: 12px;
  font-weight: 900;
}
.kotoieEstimateSeoHero__title {
  max-width: 850px;
  margin: 0 !important;
  color: var(--kot-seo-text);
  font-size: clamp(28px, 4.3vw, 48px);
  line-height: 1.35;
  letter-spacing: -.02em;
  font-weight: 900;
}
.kotoieEstimateSeoHero__intro {
  max-width: 850px;
  margin: 20px 0 0;
  color: var(--kot-seo-sub);
  font-size: 15px;
  line-height: 2;
  font-weight: 650;
}
.kotoieEstimateSeoHero__intro p { margin: 0 !important; }
.kotoieEstimateSeoHero__points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0 0;
}
.kotoieEstimateSeoHero__points > div {
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid var(--kot-seo-line);
  border-radius: 15px;
  background: rgba(255,255,255,.86);
}
.kotoieEstimateSeoHero__points strong,
.kotoieEstimateSeoHero__points span { display: block; }
.kotoieEstimateSeoHero__points strong {
  color: #a75b00;
  font-size: 14px;
  font-weight: 900;
}
.kotoieEstimateSeoHero__points span {
  margin-top: 5px;
  color: var(--kot-seo-sub);
  font-size: 12px;
  line-height: 1.6;
  font-weight: 700;
}
.kotoieEstimateSeoHero__switch {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0 0;
  padding: 10px 15px;
  border: 1px solid #ead5b7;
  border-radius: 999px;
  background: #fff;
  color: var(--kot-seo-text);
  cursor: pointer;
  box-shadow: 0 5px 14px rgba(80, 50, 12, .06);
}
.kotoieEstimateSeoHero__switch span {
  font-size: 12px;
  font-weight: 800;
}
.kotoieEstimateSeoHero__switch strong {
  padding-left: 12px;
  border-left: 1px solid #eadfce;
  color: #a75b00;
  font-size: 12px;
  font-weight: 900;
}
.kotoieEstimateSeoHero__switch:hover,
.kotoieEstimateSeoHero__switch:focus-visible {
  outline: none;
  border-color: var(--kot-seo-accent);
  box-shadow: 0 0 0 4px rgba(241,136,0,.12);
}
.kotoieEstimateSeoSimulator {
  margin: 34px 0 0;
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid var(--kot-seo-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 44px rgba(78, 48, 11, .07);
}
.kotoieEstimateSeoSectionHead {
  margin: 0 0 20px;
  text-align: center;
}
.kotoieEstimateSeoSectionHead > span,
.kotoieEstimateSeoBlock__head > span {
  display: inline-block;
  margin: 0 0 8px;
  color: #b56500;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
}
.kotoieEstimateSeoSectionHead h2,
.kotoieEstimateSeoBlock__head h2 {
  margin: 0 !important;
  color: var(--kot-seo-text);
  font-size: clamp(23px, 3vw, 34px);
  line-height: 1.45;
  font-weight: 900;
}
.kotoieEstimateSeoSectionHead p,
.kotoieEstimateSeoBlock__head p {
  max-width: 760px;
  margin: 10px auto 0 !important;
  color: var(--kot-seo-sub);
  font-size: 13px;
  line-height: 1.85;
  font-weight: 650;
}
.kotoieEstimateSeoSimulator__body .kot-reform222-sim {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent;
}
.kotoieEstimateSeoSimulator__body .kot-reform222-wrap {
  overflow: visible;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}
.kotoieEstimateSeoSimulator__body .kot-reform222-head {
  margin: 0 0 16px;
  padding: 18px 18px 20px;
  border: 1px solid #f0e3d0;
  border-radius: 17px;
  background: var(--kot-seo-soft);
}
.kotoieEstimateSeoSimulator__body .kot-reform222-head .kot-reform222-badge { display: none; }
.kotoieEstimateSeoSimulator__body .kot-reform222-head .kotEstimateHub__title {
  margin: 0 !important;
  font-size: 20px;
}
.kotoieEstimateSeoSimulator__body .kot-reform222-lead-row p {
  margin: 8px 0 0 !important;
  font-size: 13px;
  line-height: 1.8;
}
.kotInlineProgressiveSource__hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}
.kotInlineProgressive {
  overflow: hidden;
  border: 1px solid #ead9bf;
  border-radius: 20px;
  background: #fffdf9;
  box-shadow: 0 14px 34px rgba(75, 45, 8, .09);
}
.kotInlineProgressive__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 17px 20px 13px;
}
.kotInlineProgressive__top div span,
.kotInlineProgressive__top div strong { display: block; }
.kotInlineProgressive__top div span {
  color: #b96500;
  font-size: 11px;
  font-weight: 900;
}
.kotInlineProgressive__top div strong {
  margin-top: 3px;
  color: var(--kot-seo-text);
  font-size: 16px;
  font-weight: 900;
}
.kotInlineProgressive__top > p {
  margin: 0 !important;
  color: var(--kot-seo-sub);
  font-size: 12px;
  font-weight: 800;
}
.kotInlineProgressive__meter {
  height: 7px;
  background: #f4eadc;
}
.kotInlineProgressive__meter i {
  display: block;
  width: 4%;
  height: 100%;
  border-radius: 0 999px 999px 0;
  background: linear-gradient(90deg, #e87900, #f4b34d);
  transition: width .2s ease;
}
.kotInlineProgressive__answers {
  display: grid;
  gap: 7px;
  padding: 14px 18px 0;
}
.kotInlineProgressive__answers[hidden] { display: none !important; }
.kotInlineProgressive__answers button {
  display: grid;
  grid-template-columns: minmax(120px, .8fr) minmax(0, 1.2fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 11px 12px;
  border: 1px solid #e8ddcc;
  border-radius: 12px;
  background: #fff;
  color: var(--kot-seo-text);
  cursor: pointer;
  text-align: left;
}
.kotInlineProgressive__answers button:hover,
.kotInlineProgressive__answers button:focus-visible {
  outline: none;
  border-color: #f0a64d;
  box-shadow: 0 0 0 3px rgba(241,136,0,.1);
}
.kotInlineProgressive__answers span {
  color: var(--kot-seo-sub);
  font-size: 11px;
  font-weight: 800;
}
.kotInlineProgressive__answers strong {
  min-width: 0;
  overflow: hidden;
  color: var(--kot-seo-text);
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kotInlineProgressive__answers em {
  color: #a45b00;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}
.kotInlineProgressive__question {
  padding: clamp(22px, 4vw, 38px);
  text-align: center;
}
.kotInlineProgressive__stepBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 27px;
  padding: 0 12px;
  border-radius: 999px;
  background: #5c432a;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}
.kotInlineProgressive__question h3 {
  margin: 13px 0 0 !important;
  color: var(--kot-seo-text);
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.45;
  font-weight: 900;
}
.kotInlineProgressive__question > p {
  max-width: 680px;
  margin: 9px auto 18px !important;
  color: var(--kot-seo-sub);
  font-size: 12px;
  line-height: 1.75;
  font-weight: 650;
}
.kotInlineProgressive__options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-width: 780px;
  margin: 0 auto;
}
.kotInlineProgressive__option {
  min-height: 52px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #e5d8c5;
  border-radius: 13px;
  background: #fff;
  color: var(--kot-seo-text);
  cursor: pointer;
  font-size: 13px;
  line-height: 1.55;
  font-weight: 800;
  text-align: left;
  box-shadow: 0 4px 12px rgba(75, 45, 8, .04);
}
.kotInlineProgressive__option:hover,
.kotInlineProgressive__option:focus-visible {
  outline: none;
  border-color: var(--kot-seo-accent);
  box-shadow: 0 0 0 4px rgba(241,136,0,.11);
}
.kotInlineProgressive__option.is-current {
  border-color: #e7b56f;
  background: #fff7eb;
}
.kotInlineProgressive__number {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  max-width: 330px;
  margin: 0 auto;
}
.kotInlineProgressive__number input {
  display: block !important;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  height: 54px;
  margin: 0 !important;
  padding: 0 15px;
  border: 2px solid var(--kot-seo-accent);
  border-radius: 13px;
  background: #fff;
  color: var(--kot-seo-text);
  font-size: 20px;
  font-weight: 900;
  text-align: right;
  opacity: 1 !important;
  visibility: visible !important;
}
.kotInlineProgressive__number input:focus {
  outline: none;
  box-shadow: 0 0 0 4px rgba(241,136,0,.13);
}
.kotInlineProgressive__number span {
  flex: 0 0 auto;
  color: var(--kot-seo-text);
  font-size: 15px;
  font-weight: 900;
}
.kotInlineProgressive__next,
.kotInlineProgressive__calculate {
  display: block;
  width: min(520px, 100%);
  min-height: 54px;
  margin: 18px auto 0;
  padding: 12px 18px;
  border: 0;
  border-radius: 13px;
  background: var(--kot-seo-accent);
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  font-weight: 900;
  box-shadow: 0 5px 0 var(--kot-seo-accent-dark);
}
.kotInlineProgressive__next:hover,
.kotInlineProgressive__next:focus-visible,
.kotInlineProgressive__calculate:hover,
.kotInlineProgressive__calculate:focus-visible {
  outline: none;
  filter: brightness(.98);
  box-shadow: 0 0 0 4px rgba(241,136,0,.13), 0 5px 0 var(--kot-seo-accent-dark);
}
.kotInlineProgressive__comparisonCancel {
  display: block;
  width: min(520px, 100%);
  min-height: 44px;
  margin: 14px auto 0;
  padding: 9px 15px;
  border: 1px solid #d8c6ad;
  border-radius: 12px;
  background: #fff;
  color: #71583e;
  cursor: pointer;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 900;
}
.kotInlineProgressive__comparisonCancel:hover,
.kotInlineProgressive__comparisonCancel:focus-visible {
  outline: none;
  border-color: #e69a3b;
  background: #fff8ee;
  box-shadow: 0 0 0 4px rgba(241,136,0,.1);
}
.kotInlineProgressive__completeIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #fff0da;
  color: #b25f00;
  font-size: 24px;
  font-weight: 900;
}
.kotoieEstimateSeoSimulator__body .kot-reform222-result {
  margin: 22px 0 0 !important;
}
.kotoieEstimateSeoContent {
  display: grid;
  gap: 28px;
  margin: 34px 0 0;
}
.kotoieEstimateSeoBlock {
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid var(--kot-seo-line);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(78, 48, 11, .055);
}
.kotoieEstimateSeoBlock__head { text-align: center; }
.kotoieEstimateSeoPlanGrid,
.kotoieEstimateSeoInfoGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0 0;
}
.kotoieEstimateSeoPlan {
  padding: 20px;
  border: 1px solid #eadfce;
  border-radius: 16px;
  background: #fffaf3;
}
.kotoieEstimateSeoPlan > span,
.kotoieEstimateSeoPlan > strong { display: block; }
.kotoieEstimateSeoPlan > span {
  color: #b45f00;
  font-size: 11px;
  font-weight: 900;
}
.kotoieEstimateSeoPlan > strong {
  margin-top: 5px;
  color: var(--kot-seo-text);
  font-size: 16px;
  font-weight: 900;
}
.kotoieEstimateSeoPlan > p {
  margin: 11px 0 0 !important;
  color: var(--kot-seo-sub);
  font-size: 12px;
  line-height: 1.8;
  font-weight: 650;
}
.kotoieEstimateSeoBreakdown {
  display: grid;
  gap: 14px;
  max-width: 820px;
  margin: 26px auto 0;
}
.kotoieEstimateSeoBreakdown__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin: 0 0 6px;
}
.kotoieEstimateSeoBreakdown__label span {
  color: var(--kot-seo-text);
  font-size: 13px;
  font-weight: 800;
}
.kotoieEstimateSeoBreakdown__label strong {
  color: #a85b00;
  font-size: 13px;
  font-weight: 900;
}
.kotoieEstimateSeoBreakdown__bar {
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #f1e8dc;
}
.kotoieEstimateSeoBreakdown__bar i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #e97c00, #f5ba61);
}
.kotoieEstimateSeoIncluded {
  max-width: 820px;
  margin: 24px auto 0;
  padding: 18px 20px;
  border-radius: 15px;
  background: #fff8ee;
}
.kotoieEstimateSeoIncluded h3 {
  margin: 0 !important;
  color: var(--kot-seo-text);
  font-size: 15px;
  font-weight: 900;
}
.kotoieEstimateSeoIncluded ul,
.kotoieEstimateSeoInfoCard ul {
  margin: 12px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.kotoieEstimateSeoIncluded li,
.kotoieEstimateSeoInfoCard li {
  position: relative;
  margin: 0 0 8px !important;
  padding: 0 0 0 20px !important;
  color: var(--kot-seo-sub);
  font-size: 12px;
  line-height: 1.75;
  font-weight: 700;
}
.kotoieEstimateSeoIncluded li:last-child,
.kotoieEstimateSeoInfoCard li:last-child { margin-bottom: 0 !important; }
.kotoieEstimateSeoIncluded li:before,
.kotoieEstimateSeoInfoCard li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: #bd6800;
  font-weight: 900;
}
.kotoieEstimateSeoInfoGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kotoieEstimateSeoInfoCard {
  padding: 22px;
  border: 1px solid #eadfce;
  border-radius: 17px;
  background: #fffaf4;
}
.kotoieEstimateSeoInfoCard h3 {
  margin: 0 !important;
  color: var(--kot-seo-text);
  font-size: 17px;
  font-weight: 900;
}
.kotoieEstimateSeoInfoCard dl { margin: 13px 0 0; }
.kotoieEstimateSeoInfoCard dl > div {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr);
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px dashed #e2d4c1;
}
.kotoieEstimateSeoInfoCard dl > div:last-child { border-bottom: 0; }
.kotoieEstimateSeoInfoCard dt {
  color: #a75b00;
  font-size: 11px;
  font-weight: 900;
}
.kotoieEstimateSeoInfoCard dd {
  margin: 0;
  color: var(--kot-seo-sub);
  font-size: 12px;
  line-height: 1.75;
  font-weight: 650;
}
.kotoieEstimateSeoBlock--custom {
  color: var(--kot-seo-sub);
  font-size: 14px;
  line-height: 2;
}
.kotoieEstimateSeoFaq {
  display: grid;
  gap: 9px;
  max-width: 860px;
  margin: 24px auto 0;
}
.kotoieEstimateSeoFaq details {
  overflow: hidden;
  border: 1px solid #eadfce;
  border-radius: 14px;
  background: #fff;
}
.kotoieEstimateSeoFaq summary {
  position: relative;
  padding: 16px 52px 16px 18px;
  color: var(--kot-seo-text);
  cursor: pointer;
  font-size: 13px;
  line-height: 1.65;
  font-weight: 900;
  list-style: none;
}
.kotoieEstimateSeoFaq summary::-webkit-details-marker { display: none; }
.kotoieEstimateSeoFaq summary:after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: #ad5f00;
  font-size: 22px;
  font-weight: 700;
}
.kotoieEstimateSeoFaq details[open] summary:after { content: "−"; }
.kotoieEstimateSeoFaq details > div {
  padding: 0 18px 17px;
  border-top: 1px solid #f0e5d5;
}
.kotoieEstimateSeoFaq details[open] > .kotoieEstimateSeoFaq__answer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.kotoieEstimateSeoFaq details[open] > .kotoieEstimateSeoFaq__answer > p {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
}
.kotoieEstimateSeoFaq details p {
  margin: 14px 0 0 !important;
  color: var(--kot-seo-sub);
  font-size: 12px;
  line-height: 1.85;
  font-weight: 650;
}
.kotoieEstimateSeoFaq__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 12px 0 0;
  color: #9a5200;
  font-size: 12px;
  line-height: 1.6;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.kotoieEstimateSeoFaq__link span {
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
}
.kotoieEstimateSeoGuideLinks .kotoieEstimateSeoFilterLinks__groups {
  max-width: 860px;
  margin-right: auto;
  margin-left: auto;
}
.kotoieEstimateSeoFilterLinks__groups {
  display: grid;
  gap: 14px;
  margin: 18px 0 0;
}
.kotoieEstimateSeoFilterLinks__group {
  margin: 0;
}
.kotoieEstimateSeoFilterLinks__section,
.kotoieEstimateSeoFilterLinks__subgroups {
  display: grid;
  gap: 12px;
  margin: 0;
}
.kotoieEstimateSeoFilterLinks .kotoieEstimateSeoFilterLinks__parentHeading {
  margin: 0 !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-left: 3px solid #e58a18 !important;
  border-radius: 3px !important;
  background: #fff7eb !important;
  color: #8a4d00 !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}
.kotoieEstimateSeoFilterLinks .kotoieEstimateSeoFilterLinks__parentHeading::before,
.kotoieEstimateSeoFilterLinks .kotoieEstimateSeoFilterLinks__parentHeading::after {
  display: none !important;
  content: none !important;
}
.kotoieEstimateSeoFilterLinks .kotoieEstimateSeoFilterLinks__group h3,
.kotoieEstimateSeoFilterLinks .kotoieEstimateSeoFilterLinks__group h4 {
  margin: 0 0 7px !important;
  padding: 0 0 5px !important;
  border: 0 !important;
  border-bottom: 1px dotted #d9c29f !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #5c3a08 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}
.kotoieEstimateSeoFilterLinks .kotoieEstimateSeoFilterLinks__group h3::before,
.kotoieEstimateSeoFilterLinks .kotoieEstimateSeoFilterLinks__group h3::after,
.kotoieEstimateSeoFilterLinks .kotoieEstimateSeoFilterLinks__group h4::before,
.kotoieEstimateSeoFilterLinks .kotoieEstimateSeoFilterLinks__group h4::after {
  display: none !important;
  content: none !important;
}
.kotoieEstimateSeoFilterLinks__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.kotoieEstimateSeoFilterLinks__grid a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #e7dbc9;
  border-radius: 12px;
  background: #fffaf4;
  color: var(--kot-seo-text) !important;
  text-decoration: none !important;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 850;
}
.kotoieEstimateSeoFilterLinks__grid a:hover,
.kotoieEstimateSeoFilterLinks__grid a:focus-visible {
  outline: none;
  border-color: #ef9b32;
  background: #fff5e6;
}
.kotoieEstimateSeoFilterLinks__grid a[aria-current="page"] {
  border-color: #d97706;
  background: #fff1dc;
  box-shadow: 0 0 0 1px rgba(217, 119, 6, 0.12);
}
.kotoieEstimateSeoFilterLinks__grid a .kotoieEstimateSeoLinkArrow {
  flex: 0 0 auto;
  color: #b76300;
  font-size: 18px;
}
.kotoieEstimateSeoRelated {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin: 24px 0 0;
}
.kotoieEstimateSeoRelated a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid #e7dbc9;
  border-radius: 12px;
  background: #fffaf4;
  color: var(--kot-seo-text) !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 850;
}
.kotoieEstimateSeoLinkCopy {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
}
.kotoieEstimateSeoLinkCopy > b {
  display: block;
  color: inherit;
  font-size: inherit;
  line-height: 1.45;
  font-weight: 850;
}
.kotoieEstimateSeoLinkCopy > small {
  display: block;
  margin-top: 3px;
  color: #8a7a68;
  font-size: 9.5px;
  line-height: 1.35;
  font-weight: 700;
}
.kotoieEstimateSeoLinkCopy > small > strong {
  color: #b76500;
  font-size: 10.5px;
  font-weight: 900;
}

.kotoieEstimateSeoRelated a:hover,
.kotoieEstimateSeoRelated a:focus-visible {
  outline: none;
  border-color: #ef9b32;
  background: #fff5e6;
}
.kotoieEstimateSeoRelated a .kotoieEstimateSeoLinkArrow {
  flex: 0 0 auto;
  color: #b76300;
  font-size: 18px;
}
.kotoieEstimateSeoGenreModal[hidden] { display: none !important; }
.kotoieEstimateSeoGenreModal {
  position: fixed;
  inset: 0;
  z-index: 2147483501;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.kotoieEstimateSeoGenreModal__overlay {
  position: fixed;
  inset: 0;
  background: rgba(35, 29, 22, .62);
}
.kotoieEstimateSeoGenreModal__panel {
  position: relative;
  z-index: 1;
  width: min(900px, 100%);
  max-height: min(820px, 92vh);
  overflow: hidden;
  border-radius: 22px;
  background: #fffdf9;
  box-shadow: 0 28px 90px rgba(0,0,0,.24);
}
.kotoieEstimateSeoGenreModal__panel:focus { outline: none; }
.kotoieEstimateSeoGenreModal__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px 20px;
  border-bottom: 1px solid #eadfce;
}
.kotoieEstimateSeoGenreModal__head span {
  display: block;
  color: #ad5f00;
  font-size: 11px;
  font-weight: 900;
}
.kotoieEstimateSeoGenreModal__head h2 {
  margin: 3px 0 0 !important;
  color: var(--kot-seo-text);
  font-size: 20px;
  font-weight: 900;
}
.kotoieEstimateSeoGenreModal__head button {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid #e5d7c2;
  border-radius: 50%;
  background: #fff;
  color: var(--kot-seo-text);
  cursor: pointer;
  font-size: 24px;
  line-height: 38px;
}
.kotoieEstimateSeoGenreModal__body {
  max-height: calc(92vh - 78px);
  overflow: auto;
  padding: 18px 20px 24px;
}
.kotoieEstimateSeoGenreModal__body section + section { margin-top: 20px; }
.kotoieEstimateSeoGenreModal__body h3 {
  margin: 0 0 9px !important;
  color: #6e5a46;
  font-size: 12px;
  font-weight: 900;
}
.kotoieEstimateSeoGenreModal__body section > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.kotoieEstimateSeoGenreModal__body a {
  display: flex;
  align-items: center;
  min-height: 43px;
  padding: 9px 11px;
  border: 1px solid #e7dbc9;
  border-radius: 11px;
  background: #fff;
  color: var(--kot-seo-text) !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 800;
}
.kotoieEstimateSeoGenreModal__body a:hover,
.kotoieEstimateSeoGenreModal__body a:focus-visible,
.kotoieEstimateSeoGenreModal__body a[aria-current="page"] {
  outline: none;
  border-color: #ed9630;
  background: #fff3e1;
}
html.kotoieEstimateSeoGenreModal-is-open,
body.kotoieEstimateSeoGenreModal-is-open { overflow: hidden; }

@media screen and (max-width: 760px) {
  .kotoieEstimateSeo {
    width: min(100% - 20px, 1120px);
    padding: 14px 0 50px;
  }
  .kotoieEstimateSeoHero {
    padding: 24px 18px;
    border-radius: 20px;
  }
  .kotoieEstimateSeoHero__title { font-size: 28px; }
  .kotoieEstimateSeoHero__intro { font-size: 13px; line-height: 1.85; }
  .kotoieEstimateSeoHero__points { grid-template-columns: 1fr; gap: 8px; margin-top: 20px; }
  .kotoieEstimateSeoHero__points > div { padding: 12px 13px; }
  .kotoieEstimateSeoHero__switch {
    width: 100%;
    justify-content: space-between;
    border-radius: 13px;
  }
  .kotoieEstimateSeoSimulator { margin-top: 20px; padding: 14px 10px 12px; border-radius: 18px; }
  .kotoieEstimateSeoSectionHead { padding: 0 8px; }
  .kotoieEstimateSeoSectionHead h2,
  .kotoieEstimateSeoBlock__head h2 { font-size: 23px; }
  .kotoieEstimateSeoSimulator__body .kot-reform222-head { padding: 15px 13px 16px; }
  .kotoieEstimateSeoSimulator__body .kot-reform222-head .kotEstimateHub__title { font-size: 18px; }
  .kotInlineProgressive { border-radius: 16px; }
  .kotInlineProgressive__top { padding: 14px 14px 11px; }
  .kotInlineProgressive__answers { padding: 11px 10px 0; }
  .kotInlineProgressive__answers button {
    grid-template-columns: 1fr auto;
    gap: 4px 8px;
    padding: 10px;
  }
  .kotInlineProgressive__answers span { grid-column: 1 / -1; }
  .kotInlineProgressive__answers strong { white-space: normal; }
  .kotInlineProgressive__question { padding: 22px 13px 26px; }
  .kotInlineProgressive__options { grid-template-columns: 1fr; gap: 8px; }
  .kotInlineProgressive__option { min-height: 49px; padding: 11px 12px; font-size: 12.5px; }
  .kotoieEstimateSeoSimulator__body .kot-reform222-result { margin: 16px 0 0 !important; padding: 20px 10px !important; }
  .kotoieEstimateSeoContent { gap: 18px; margin-top: 20px; }
  .kotoieEstimateSeoBlock { padding: 22px 15px; border-radius: 18px; }
  .kotoieEstimateSeoPlanGrid,
  .kotoieEstimateSeoInfoGrid { grid-template-columns: 1fr; gap: 9px; margin-top: 18px; }
  .kotoieEstimateSeoPlan,
  .kotoieEstimateSeoInfoCard { padding: 17px; }
  .kotoieEstimateSeoInfoCard dl > div { grid-template-columns: 80px minmax(0, 1fr); }
  .kotoieEstimateSeoFilterLinks__groups { gap: 13px; margin-top: 16px; }
  .kotoieEstimateSeoFilterLinks__section,
  .kotoieEstimateSeoFilterLinks__subgroups { gap: 11px; }
  .kotoieEstimateSeoFilterLinks__grid,
  .kotoieEstimateSeoRelated { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kotoieEstimateSeoGenreModal { align-items: flex-end; padding: 0; }
  .kotoieEstimateSeoGenreModal__panel {
    width: 100%;
    max-height: 92dvh;
    border-radius: 19px 19px 0 0;
  }
  .kotoieEstimateSeoGenreModal__head { padding: 16px; }
  .kotoieEstimateSeoGenreModal__body { padding: 15px 13px max(22px, env(safe-area-inset-bottom, 0px)); }
  .kotoieEstimateSeoGenreModal__body section > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.kotInlineProgressive__error {
  width: min(520px, 100%);
  margin: 9px auto 0 !important;
  padding: 9px 11px;
  border: 1px solid #efc2b8;
  border-radius: 9px;
  background: #fff4f1;
  color: #a33622;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 800;
  text-align: left;
}

/* Version 1.30.0: SEO breadcrumb, genre hero icon, CTA, related cases and monthly trends. */
.kotoieEstimateSeo {
  padding-top: 0;
  padding-bottom: 0;
}
.kotoieEstimateSeoBreadcrumb {
  min-height: 56px;
  margin: 0 0 18px;
  padding: 17px 2px 14px;
  border-bottom: 1px solid #e7e1d8;
  color: #77736f;
  font-size: 13px;
  line-height: 1.7;
  font-weight: 500;
}
.kotoieEstimateSeoBreadcrumb a {
  color: #77736f;
}
.kotoieEstimateSeoBreadcrumb a:first-child {
  color: #009bd4;
  font-weight: 700;
}
.kotoieEstimateSeoBreadcrumb > span[aria-hidden="true"] {
  margin: 0 6px;
  color: #c6c1bb;
  font-size: 18px;
  font-weight: 400;
}
.kotoieEstimateSeoHero > :not(.kotoieEstimateSeoHero__icon) {
  position: relative;
  z-index: 2;
}
.kotoieEstimateSeoHero__icon {
  position: absolute;
  z-index: 1;
  top: 28px;
  right: 30px;
  width: clamp(170px, 22vw, 250px);
  height: clamp(170px, 22vw, 250px);
  color: #c87b27;
  opacity: .13;
  pointer-events: none;
  transform: rotate(-3deg);
}
.kotoieEstimateSeoHero__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.kotoieEstimateSeoHero__title,
.kotoieEstimateSeoHero__intro {
  max-width: min(780px, calc(100% - 210px));
}
.kotoieEstimateSeoAction {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  align-items: center;
  gap: 28px;
  margin: 26px 0 0;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid #ead8bc;
  border-radius: 22px;
  background: linear-gradient(135deg, #fff9ef, #fffdf9 58%, #fff2df);
  box-shadow: 0 13px 38px rgba(86, 53, 14, .08);
}
.kotoieEstimateSeoAction__copy > span {
  display: inline-flex;
  margin: 0 0 8px;
  color: #a85a00;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
}
.kotoieEstimateSeoAction__copy h2 {
  margin: 0 !important;
  color: var(--kot-seo-text);
  font-size: clamp(22px, 3vw, 31px);
  line-height: 1.45;
  font-weight: 900;
}
.kotoieEstimateSeoAction__copy p {
  margin: 10px 0 0 !important;
  color: var(--kot-seo-sub);
  font-size: 13px;
  line-height: 1.85;
  font-weight: 650;
}
.kotoieEstimateSeoAction__buttons {
  display: grid;
  gap: 10px;
}
.kotoieEstimateSeoAction__primary,
.kotoieEstimateSeoAction__secondary {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 54px;
  padding: 12px 16px !important;
  border-radius: 13px;
  text-align: center;
  text-decoration: none !important;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 900;
}
.kotoieEstimateSeoAction__primary {
  border: 1px solid #d96e00;
  background: linear-gradient(180deg, #f39a24, #e97800);
  color: #fff !important;
  box-shadow: 0 9px 21px rgba(224, 113, 0, .22);
}
.kotoieEstimateSeoAction__primary b {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 7px;
  border-radius: 999px;
  background: #fff;
  color: #c76100;
  font-size: 10px;
}
.kotoieEstimateSeoAction__secondary {
  border: 1px solid #ddcbb1;
  background: #fff;
  color: #6e4a22 !important;
}
.kotoieEstimateSeoAction__primary:hover,
.kotoieEstimateSeoAction__primary:focus-visible,
.kotoieEstimateSeoAction__secondary:hover,
.kotoieEstimateSeoAction__secondary:focus-visible {
  outline: none;
  transform: translateY(-1px);
  box-shadow: 0 0 0 4px rgba(241, 136, 0, .12), 0 10px 24px rgba(90, 53, 7, .12);
}
.kotoieEstimateSeoLive {
  display: grid;
  gap: 22px;
  margin: 22px 0 0;
}
.kotoieEstimateSeoLive__output {
  min-height: 112px;
  margin: 22px 0 0;
}
.kotoieEstimateSeoLiveLoading,
.kotoieEstimateSeoLiveEmpty {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 9px;
  min-height: 112px;
  padding: 20px;
  border: 1px dashed #dfd0bc;
  border-radius: 15px;
  background: #fffaf3;
  color: var(--kot-seo-sub);
  text-align: center;
}
.kotoieEstimateSeoLiveLoading i {
  display: block;
  width: 26px;
  height: 26px;
  border: 3px solid #ecdcc6;
  border-top-color: #e77b08;
  border-radius: 50%;
  animation: kotoieEstimateSeoSpin .8s linear infinite;
}
.kotoieEstimateSeoLiveLoading span {
  font-size: 12px;
  font-weight: 800;
}
@keyframes kotoieEstimateSeoSpin { to { transform: rotate(360deg); } }
.kotoieEstimateSeoLiveEmpty strong {
  color: var(--kot-seo-text);
  font-size: 15px;
  font-weight: 900;
}
.kotoieEstimateSeoLiveEmpty p {
  margin: 0 !important;
  font-size: 12px;
  line-height: 1.75;
  font-weight: 650;
}
.kotoieEstimateSeoLiveEmpty a {
  color: #a75b00 !important;
  font-size: 12px;
  font-weight: 900;
}
.kotoieEstimateSeoCases__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 12px;
}
.kotoieEstimateSeoCases__summary strong {
  color: var(--kot-seo-text);
  font-size: 14px;
  font-weight: 900;
}
.kotoieEstimateSeoCases__summary span {
  color: var(--kot-seo-sub);
  font-size: 11px;
  font-weight: 800;
}
.kotoieEstimateSeoCases__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.kotoieEstimateSeoCase {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e8ddcd;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(73, 47, 14, .05);
}
.kotoieEstimateSeoCase__media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
  background: #ede5da;
}
.kotoieEstimateSeoCase__image {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f3eee7;
}
.kotoieEstimateSeoCase__image em {
  position: absolute;
  z-index: 2;
  top: 7px;
  left: 7px;
  min-width: 45px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(38, 31, 23, .72);
  color: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  text-align: center;
}
.kotoieEstimateSeoCase__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.kotoieEstimateSeoCase__image.is-empty i {
  position: absolute;
  inset: 32% 26%;
  border: 2px solid #cabaa4;
  border-radius: 8px;
}
.kotoieEstimateSeoCase__image.is-empty i:before,
.kotoieEstimateSeoCase__image.is-empty i:after {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  height: 2px;
  background: #cabaa4;
  transform-origin: center;
}
.kotoieEstimateSeoCase__image.is-empty i:before { top: 44%; transform: rotate(25deg); }
.kotoieEstimateSeoCase__image.is-empty i:after { top: 55%; transform: rotate(-24deg); }
.kotoieEstimateSeoCase__body {
  padding: 14px;
}
.kotoieEstimateSeoCase__body h3 {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 !important;
  color: var(--kot-seo-text);
  font-size: 14px;
  line-height: 1.6;
  font-weight: 900;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.kotoieEstimateSeoCase__meta {
  margin: 7px 0 0 !important;
  color: var(--kot-seo-sub);
  font-size: 11px;
  line-height: 1.6;
  font-weight: 700;
}
.kotoieEstimateSeoCase__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 10px 0 0;
}
.kotoieEstimateSeoCase__chips span {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  min-height: 25px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #fff3e2;
  color: #8a500e;
  font-size: 10px;
  line-height: 1.45;
  font-weight: 800;
}
.kotoieEstimateSeoCases__more {
  display: flex;
  justify-content: center;
  margin: 17px 0 0;
}
.kotoieEstimateSeoCases__more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 43px;
  padding: 9px 17px;
  border: 1px solid #ddcdb7;
  border-radius: 999px;
  background: #fffaf3;
  color: #745027 !important;
  text-decoration: none !important;
  font-size: 12px;
  font-weight: 900;
}
.kotoieEstimateSeoPopularity__summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  max-width: 480px;
  margin: 0 auto 17px;
}
.kotoieEstimateSeoPopularity__summary > div {
  padding: 11px 14px;
  border: 1px solid #eadfce;
  border-radius: 12px;
  background: #fffaf4;
  text-align: center;
}
.kotoieEstimateSeoPopularity__summary span,
.kotoieEstimateSeoPopularity__summary strong {
  display: block;
}
.kotoieEstimateSeoPopularity__summary span {
  color: var(--kot-seo-sub);
  font-size: 10px;
  font-weight: 850;
}
.kotoieEstimateSeoPopularity__summary strong {
  margin-top: 3px;
  color: var(--kot-seo-text);
  font-size: 18px;
  font-weight: 900;
}
.kotoieEstimateSeoPopularity__field {
  margin: 0 0 13px !important;
  color: var(--kot-seo-text);
  font-size: 13px;
  font-weight: 900;
  text-align: center;
}
.kotoieEstimateSeoPopularity__legend {
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  margin: 0 0 10px;
}
.kotoieEstimateSeoPopularity__legend span {
  position: relative;
  padding-left: 15px;
  color: var(--kot-seo-sub);
  font-size: 10px;
  font-weight: 800;
}
.kotoieEstimateSeoPopularity__legend span:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 10px;
  height: 7px;
  border-radius: 999px;
  transform: translateY(-50%);
}
.kotoieEstimateSeoPopularity__legend .is-current:before,
.kotoieEstimateSeoPopularity__bars .is-current { background: #ed8a16; }
.kotoieEstimateSeoPopularity__legend .is-previous:before,
.kotoieEstimateSeoPopularity__bars .is-previous { background: #bdb3a7; }
.kotoieEstimateSeoPopularity__chart {
  display: grid;
  gap: 13px;
  max-width: 850px;
  margin: 0 auto;
}
.kotoieEstimateSeoPopularity__row {
  display: grid;
  grid-template-columns: minmax(120px, 220px) minmax(0, 1fr);
  align-items: center;
  gap: 13px;
}
.kotoieEstimateSeoPopularity__row > strong {
  overflow: hidden;
  color: var(--kot-seo-text);
  font-size: 11px;
  line-height: 1.55;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kotoieEstimateSeoPopularity__bars {
  display: grid;
  gap: 4px;
}
.kotoieEstimateSeoPopularity__bars > span {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: var(--kot-pop-width);
  min-width: 24px;
  height: 14px;
  padding-right: 4px;
  border-radius: 0 999px 999px 0;
}
.kotoieEstimateSeoPopularity__bars i {
  color: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}
.kotoieEstimateSeoPopularity__note {
  margin: 17px 0 0 !important;
  color: #887b6c;
  font-size: 10px;
  line-height: 1.7;
  text-align: center;
}

@media screen and (max-width: 760px) {
  .kotoieEstimateSeo {
    padding-top: 0;
    padding-bottom: 0;
  }
  .kotoieEstimateSeoBreadcrumb {
    min-height: 50px;
    margin-bottom: 12px;
    padding: 13px 0 11px;
    gap: 3px;
    font-size: 11px;
  }
  .kotoieEstimateSeoBreadcrumb > span[aria-hidden="true"] {
    margin: 0 3px;
    font-size: 15px;
  }
  .kotoieEstimateSeoHero__icon {
    top: 18px;
    right: -20px;
    width: 165px;
    height: 165px;
    opacity: .10;
  }
  .kotoieEstimateSeoHero__title,
  .kotoieEstimateSeoHero__intro {
    max-width: 100%;
  }
  .kotoieEstimateSeoHero__title {
    padding-right: 34px;
  }
  .kotoieEstimateSeoAction {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 18px;
    padding: 21px 16px;
    border-radius: 18px;
  }
  .kotoieEstimateSeoAction__copy h2 { font-size: 22px; }
  .kotoieEstimateSeoAction__primary,
  .kotoieEstimateSeoAction__secondary { min-height: 51px; font-size: 12px; }
  .kotoieEstimateSeoLive { gap: 18px; margin-top: 18px; }
  .kotoieEstimateSeoLive__output { margin-top: 17px; }
  .kotoieEstimateSeoCases__grid { grid-template-columns: 1fr; }
  .kotoieEstimateSeoCase__body { padding: 12px; }
  .kotoieEstimateSeoPopularity__row {
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .kotoieEstimateSeoPopularity__row > strong {
    white-space: normal;
  }
  .kotoieEstimateSeoPopularity__legend { justify-content: center; }
}
.kotoieEstimateSeoPopularity__bars > span.is-zero {
  min-width: 0;
  padding-right: 0;
}
.kotoieEstimateSeoPopularity__bars > span.is-zero i {
  display: none;
}
/* SEO専用ページでは、投稿記事向けの2ボタン導線を二重表示させません。 */
.kotoie-estimate-seo-route #kotoie-sim-quicknav,
.kotoieEstimateSeo ~ #kotoie-sim-quicknav {
  display: none !important;
}

/* Version 1.30.2: outer margin reset and header-width content container. */
body.kotoie-estimate-seo-route #primary.kotoieEstimateSeo,
#primary.kotoieEstimateSeo {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.kotoieEstimateSeo__article {
  width: min(1180px, calc(100% - 20px)) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* テーマ側のH2装飾をSEO専用ページ内だけでリセットします。 */
.kotoieEstimateSeo h2 {
  display: block;
  margin: 0 !important;
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: none !important;
  box-shadow: none !important;
  color: var(--kot-seo-text);
  font-family: inherit;
  font-style: normal;
  text-align: left;
  text-decoration: none;
  text-shadow: none;
  transform: none;
}
.kotoieEstimateSeo h2::before,
.kotoieEstimateSeo h2::after {
  content: none !important;
  display: none !important;
}
.kotoieEstimateSeoSectionHead,
.kotoieEstimateSeoBlock__head {
  text-align: left !important;
}
.kotoieEstimateSeoSectionHead > span,
.kotoieEstimateSeoBlock__head > span {
  margin: 0 0 8px 18px;
}
.kotoieEstimateSeoSectionHead h2,
.kotoieEstimateSeoBlock__head h2,
.kotoieEstimateSeoBlock--custom h2 {
  position: relative;
  padding: 0 0 14px 18px !important;
  border-bottom: 1px solid #e8ded1 !important;
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.45;
  letter-spacing: -.015em;
  font-weight: 900;
}
.kotoieEstimateSeoSectionHead h2::before,
.kotoieEstimateSeoBlock__head h2::before,
.kotoieEstimateSeoBlock--custom h2::before {
  content: "" !important;
  position: absolute;
  display: block !important;
  top: .16em;
  bottom: calc(14px + .16em);
  left: 0;
  width: 5px;
  border-radius: 999px;
  background: linear-gradient(180deg, #f3a33c, #e67900);
}
.kotoieEstimateSeoSectionHead h2::after,
.kotoieEstimateSeoBlock__head h2::after,
.kotoieEstimateSeoBlock--custom h2::after {
  content: "" !important;
  position: absolute;
  display: block !important;
  bottom: -1px;
  left: 18px;
  width: 72px;
  height: 3px;
  border-radius: 999px;
  background: #ed8915;
}
.kotoieEstimateSeoSectionHead p,
.kotoieEstimateSeoBlock__head p {
  max-width: none;
  margin: 11px 0 0 18px !important;
}

/* CTAとモーダルのH2は、カード固有の見せ方を維持します。 */
.kotoieEstimateSeoAction__copy h2,
.kotoieEstimateSeoGenreModal__head h2 {
  padding: 0 !important;
  border: 0 !important;
}
.kotoieEstimateSeoAction__copy h2::before,
.kotoieEstimateSeoAction__copy h2::after,
.kotoieEstimateSeoGenreModal__head h2::before,
.kotoieEstimateSeoGenreModal__head h2::after {
  content: none !important;
  display: none !important;
}
.kotoieEstimateSeoAction--single {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
}
.kotoieEstimateSeoAction--single .kotoieEstimateSeoAction__buttons {
  align-self: stretch;
}
.kotoieEstimateSeoAction--single .kotoieEstimateSeoAction__primary {
  height: 100%;
  min-height: 58px;
}

@media screen and (max-width: 760px) {
  .kotoieEstimateSeo {
    width: 100% !important;
    margin: 0 !important;
  }
  .kotoieEstimateSeoSectionHead > span,
  .kotoieEstimateSeoBlock__head > span {
    margin-left: 14px;
  }
  .kotoieEstimateSeoSectionHead h2,
  .kotoieEstimateSeoBlock__head h2,
  .kotoieEstimateSeoBlock--custom h2 {
    padding-left: 14px !important;
    font-size: 22px;
  }
  .kotoieEstimateSeoSectionHead h2::after,
  .kotoieEstimateSeoBlock__head h2::after,
  .kotoieEstimateSeoBlock--custom h2::after {
    left: 14px;
    width: 58px;
  }
  .kotoieEstimateSeoSectionHead p,
  .kotoieEstimateSeoBlock__head p {
    margin-left: 14px !important;
  }
  .kotoieEstimateSeoAction--single {
    grid-template-columns: 1fr;
  }
  .kotoieEstimateSeoAction--single .kotoieEstimateSeoAction__primary {
    height: auto;
  }
}

@media screen and (max-width: 760px) {
  .kotoieEstimateSeo__article {
    width: calc(100% - 12px) !important;
    max-width: none !important;
  }
}

/* Version 1.30.2: required budget and two-part popularity display. */
.kotBudgetRequiredBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #f18800;
  color: #fff;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  vertical-align: middle;
}
.kotBudgetRequiredError,
.kotEstimateStepModal__requiredError {
  margin: 9px 0 0 !important;
  color: #c74118;
  font-size: 12px;
  line-height: 1.6;
  font-weight: 900;
  text-align: center;
}
.kot-reform222-budget-input input[aria-invalid="true"],
.kotInlineProgressive__number input[aria-invalid="true"],
.kotEstimateStepModal__budgetInput input[aria-invalid="true"] {
  border-color: #d94b24 !important;
  box-shadow: 0 0 0 3px rgba(217, 75, 36, .12) !important;
}
.kotoieEstimateSeoPopularity__chart + .kotoieEstimateSeoPopularity__field {
  margin-top: 26px !important;
  padding-top: 22px;
  border-top: 1px solid #eadfce;
}


/* Version 1.30.4: show the budget and every saved condition group. */
.kotoieEstimateSeoPopularity__legend--global {
  justify-content: center;
  max-width: 880px;
  margin: -2px auto 18px;
}
.kotoieEstimateSeoPopularity__budget {
  max-width: 900px;
  margin: 0 auto 24px;
  padding: 20px 22px;
  border: 1px solid #ecd8ba;
  border-radius: 17px;
  background: linear-gradient(180deg, #fffaf2 0%, #fff 100%);
}
.kotoieEstimateSeoPopularity__groupHead,
.kotoieEstimateSeoPopularity__conditionHead {
  margin: 0 0 16px;
  text-align: left;
}
.kotoieEstimateSeoPopularity__groupHead > span,
.kotoieEstimateSeoPopularity__conditionHead > span {
  display: block;
  margin-bottom: 4px;
  color: #b76500;
  font-size: 10px;
  line-height: 1.4;
  font-weight: 900;
}
.kotoieEstimateSeoPopularity__groupHead h3,
.kotoieEstimateSeoPopularity__conditionHead h3,
.kotoieEstimateSeoPopularity__group h3 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: var(--kot-seo-text) !important;
  text-align: left !important;
  box-shadow: none !important;
}
.kotoieEstimateSeoPopularity__groupHead h3,
.kotoieEstimateSeoPopularity__conditionHead h3 {
  font-size: 18px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
}
.kotoieEstimateSeoPopularity__groupHead h3::before,
.kotoieEstimateSeoPopularity__groupHead h3::after,
.kotoieEstimateSeoPopularity__conditionHead h3::before,
.kotoieEstimateSeoPopularity__conditionHead h3::after,
.kotoieEstimateSeoPopularity__group h3::before,
.kotoieEstimateSeoPopularity__group h3::after {
  content: none !important;
  display: none !important;
}
.kotoieEstimateSeoPopularity__groupHead p,
.kotoieEstimateSeoPopularity__conditionHead p {
  margin: 6px 0 0 !important;
  color: #7b6f62;
  font-size: 11px;
  line-height: 1.75;
}
.kotoieEstimateSeoPopularity__budget .kotoieEstimateSeoPopularity__chart {
  max-width: none;
}
.kotoieEstimateSeoPopularity__conditionHead {
  max-width: 900px;
  margin: 0 auto 13px;
  padding-top: 3px;
}
.kotoieEstimateSeoPopularity__groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 900px;
  margin: 0 auto;
}
.kotoieEstimateSeoPopularity__group {
  min-width: 0;
  padding: 16px;
  border: 1px solid #eadfce;
  border-radius: 15px;
  background: #fffdf9;
}
.kotoieEstimateSeoPopularity__group h3 {
  margin-bottom: 13px !important;
  padding-bottom: 9px !important;
  border-bottom: 1px solid #eee2d2 !important;
  color: #5c432a !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
}
.kotoieEstimateSeoPopularity__group .kotoieEstimateSeoPopularity__chart {
  gap: 10px;
  max-width: none;
}
.kotoieEstimateSeoPopularity__group .kotoieEstimateSeoPopularity__row {
  grid-template-columns: minmax(105px, 43%) minmax(0, 1fr);
  gap: 9px;
}
.kotoieEstimateSeoPopularity__group .kotoieEstimateSeoPopularity__row > strong {
  font-size: 10px;
  white-space: normal;
}
.kotoieEstimateSeoPopularity__group .kotoieEstimateSeoPopularity__bars > span {
  height: 13px;
}
@media screen and (max-width: 760px) {
  .kotoieEstimateSeoPopularity__budget {
    margin-bottom: 18px;
    padding: 16px 13px;
    border-radius: 14px;
  }
  .kotoieEstimateSeoPopularity__groups {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .kotoieEstimateSeoPopularity__group {
    padding: 14px 12px;
  }
  .kotoieEstimateSeoPopularity__group .kotoieEstimateSeoPopularity__row {
    grid-template-columns: minmax(98px, 42%) minmax(0, 1fr);
    gap: 8px;
  }
  .kotoieEstimateSeoPopularity__conditionHead {
    padding: 0 2px;
  }
}


/* Version 1.30.8: current-month-only popularity trends without public counts. */
.kotoieEstimateSeoPopularity__monthIntro {
  max-width: 900px;
  margin: 0 auto 18px;
  padding: 13px 16px;
  border: 1px solid #ead9c0;
  border-radius: 14px;
  background: #fff9f0;
  text-align: center;
}
.kotoieEstimateSeoPopularity__monthIntro > span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 12px;
  border-radius: 999px;
  background: #fff0da;
  color: #a85d00;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 900;
}
.kotoieEstimateSeoPopularity__monthIntro p {
  margin: 7px 0 0 !important;
  color: #786b5c;
  font-size: 11px;
  line-height: 1.7;
}
.kotoieEstimateSeoPopularity__bars {
  position: relative;
  display: block;
  height: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #f2eadf;
}
.kotoieEstimateSeoPopularity__bars > span {
  display: block;
  width: var(--kot-pop-width);
  min-width: 12px;
  height: 100%;
  padding: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #f5a43a 0%, #ed7f08 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(166, 87, 0, .08);
}
.kotoieEstimateSeoPopularity__bars i { display: none !important; }
.kotoieEstimateSeoPopularity__row.is-leading > strong {
  color: #9b5500;
}
.kotoieEstimateSeoPopularity__badge {
  display: inline-flex;
  align-items: center;
  min-height: 18px;
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 999px;
  background: #fff0d8;
  color: #aa5d00;
  font-size: 8px;
  line-height: 1;
  font-weight: 900;
  vertical-align: middle;
}
.kotoieEstimateSeoPopularity__field {
  margin-bottom: 10px !important;
  text-align: left;
}
.kotoieEstimateSeoPopularity__summary,
.kotoieEstimateSeoPopularity__legend,
.kotoieEstimateSeoPopularity__legend--global {
  display: none !important;
}
@media screen and (max-width: 760px) {
  .kotoieEstimateSeoPopularity__monthIntro {
    margin-bottom: 14px;
    padding: 12px 11px;
  }
  .kotoieEstimateSeoPopularity__row.is-leading > strong::after {
    margin-left: 4px;
    padding-inline: 5px;
  }
}


/* Version 1.30.9: simplified SEO headings and post-calculation case visibility. */
.kotoieEstimateSeoSectionHead > span,
.kotoieEstimateSeoBlock__head > span {
  margin-left: 0 !important;
}
.kotoieEstimateSeoSectionHead h2,
.kotoieEstimateSeoBlock__head h2,
.kotoieEstimateSeoBlock--custom h2 {
  position: relative;
  margin: 0 !important;
  padding: 12px 16px 12px 18px !important;
  border: 0 !important;
  border-left: 4px solid #ed8915 !important;
  border-radius: 0 12px 12px 0 !important;
  background: linear-gradient(90deg, #fff6e8 0%, rgba(255, 246, 232, .55) 62%, rgba(255, 255, 255, 0) 100%) !important;
  font-size: clamp(22px, 3vw, 31px);
  line-height: 1.42;
  letter-spacing: -.015em;
}
.kotoieEstimateSeoSectionHead h2::before,
.kotoieEstimateSeoSectionHead h2::after,
.kotoieEstimateSeoBlock__head h2::before,
.kotoieEstimateSeoBlock__head h2::after,
.kotoieEstimateSeoBlock--custom h2::before,
.kotoieEstimateSeoBlock--custom h2::after {
  content: none !important;
  display: none !important;
}
.kotoieEstimateSeoSectionHead p,
.kotoieEstimateSeoBlock__head p {
  margin-left: 0 !important;
}
.kotoieEstimateSeoCases[hidden],
.kotoieEstimateSeoAction__secondary[hidden] {
  display: none !important;
}
@media screen and (max-width: 760px) {
  .kotoieEstimateSeoSectionHead h2,
  .kotoieEstimateSeoBlock__head h2,
  .kotoieEstimateSeoBlock--custom h2 {
    padding: 10px 12px 10px 14px !important;
    border-left-width: 3px !important;
    border-radius: 0 9px 9px 0 !important;
    font-size: 21px;
    line-height: 1.45;
  }
}


/* Version 1.30.11: simple headings and empty-state display previews. */
.kotoieEstimateSeoSectionHead h2,
.kotoieEstimateSeoBlock__head h2,
.kotoieEstimateSeoBlock--custom h2 {
  margin: 0 !important;
  padding: 0 0 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #e8ded1 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.45;
  letter-spacing: -.012em;
}
.kotoieEstimateSeoSectionHead h2::before,
.kotoieEstimateSeoSectionHead h2::after,
.kotoieEstimateSeoBlock__head h2::before,
.kotoieEstimateSeoBlock__head h2::after,
.kotoieEstimateSeoBlock--custom h2::before,
.kotoieEstimateSeoBlock--custom h2::after {
  content: none !important;
  display: none !important;
}

.kotoieEstimateSeoLiveEmpty--withPreview {
  display: block;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #fffaf3;
  text-align: center;
}
.kotoieEstimateSeoLiveEmpty__message {
  padding: 27px 20px 22px;
}
.kotoieEstimateSeoLiveEmpty__message strong {
  display: block;
  color: var(--kot-seo-text);
  font-size: 16px;
  line-height: 1.55;
  font-weight: 900;
}
.kotoieEstimateSeoLiveEmpty__message p {
  margin: 8px 0 0 !important;
  color: var(--kot-seo-sub);
  font-size: 12px;
  line-height: 1.75;
  font-weight: 650;
}
.kotoieEstimateSeoEmptyPreview {
  overflow: hidden;
  border-top: 1px solid rgba(95, 73, 49, .1);
  background: rgba(255, 255, 255, .72);
}
.kotoieEstimateSeoEmptyPreview__veil {
  padding: 9px 15px;
  background: rgba(31, 27, 23, .72);
  color: rgba(255, 255, 255, .94);
  font-size: 10px;
  line-height: 1.5;
  font-weight: 850;
  letter-spacing: .04em;
  text-align: center;
}
.kotoieEstimateSeoEmptyPreviewCases {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  opacity: .68;
}
.kotoieEstimateSeoEmptyPreviewCase {
  overflow: hidden;
  border: 1px solid #e3d8ca;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 14px rgba(73, 47, 14, .05);
}
.kotoieEstimateSeoEmptyPreviewCase__media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2px;
  min-height: 82px;
  background: #e7dfd5;
}
.kotoieEstimateSeoEmptyPreviewCase__media span {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding: 7px;
  background: linear-gradient(135deg, #e8e1d8 0%, #cfc5b8 100%);
  color: #fff;
  font-size: 8px;
  line-height: 1;
  font-weight: 900;
}
.kotoieEstimateSeoEmptyPreviewCase__media span::before {
  content: "";
  display: block;
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(35, 31, 27, .58);
}
.kotoieEstimateSeoEmptyPreviewCase__body {
  padding: 11px;
}
.kotoieEstimateSeoEmptyPreviewCase__body > i {
  display: block;
  height: 8px;
  margin-bottom: 7px;
  border-radius: 999px;
  background: #ddd3c6;
}
.kotoieEstimateSeoEmptyPreviewCase__body > i:first-child { width: 54%; height: 11px; background: #d08a36; }
.kotoieEstimateSeoEmptyPreviewCase__body > i:nth-child(2) { width: 72%; }
.kotoieEstimateSeoEmptyPreviewCase__body > div {
  display: flex;
  gap: 5px;
  margin-top: 10px;
}
.kotoieEstimateSeoEmptyPreviewCase__body b {
  display: block;
  width: 48px;
  height: 18px;
  border-radius: 999px;
  background: #f0e4d5;
}

.kotoieEstimateSeoEmptyPreviewTrends {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  opacity: .7;
}
.kotoieEstimateSeoEmptyPreviewTrend {
  padding: 12px;
  border: 1px solid #e3d8ca;
  border-radius: 12px;
  background: #fff;
  text-align: left;
}
.kotoieEstimateSeoEmptyPreviewTrend--wide {
  grid-column: 1 / -1;
}
.kotoieEstimateSeoEmptyPreviewTrend > strong {
  display: block;
  margin-bottom: 10px;
  color: #6c563d;
  font-size: 10px;
  line-height: 1.4;
}
.kotoieEstimateSeoEmptyPreviewTrend p {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin: 7px 0 0 !important;
}
.kotoieEstimateSeoEmptyPreviewTrend p span {
  display: block;
  width: 58px;
  height: 7px;
  border-radius: 999px;
  background: #ded5ca;
}
.kotoieEstimateSeoEmptyPreviewTrend p i {
  position: relative;
  display: block;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #eee7de;
}
.kotoieEstimateSeoEmptyPreviewTrend p i::before {
  content: "";
  display: block;
  width: var(--preview-width);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f5a43a, #ed7f08);
}

@media screen and (max-width: 760px) {
  .kotoieEstimateSeoSectionHead h2,
  .kotoieEstimateSeoBlock__head h2,
  .kotoieEstimateSeoBlock--custom h2 {
    padding-bottom: 10px !important;
    font-size: 21px;
    line-height: 1.48;
  }
  .kotoieEstimateSeoLiveEmpty__message {
    padding: 22px 14px 18px;
  }
  .kotoieEstimateSeoLiveEmpty__message strong {
    font-size: 14px;
  }
  .kotoieEstimateSeoEmptyPreview__veil {
    padding: 8px 10px;
    font-size: 9px;
  }
  .kotoieEstimateSeoEmptyPreviewCases,
  .kotoieEstimateSeoEmptyPreviewTrends {
    grid-template-columns: 1fr;
    padding: 10px;
  }
  .kotoieEstimateSeoEmptyPreviewCases .kotoieEstimateSeoEmptyPreviewCase:nth-child(2),
  .kotoieEstimateSeoEmptyPreviewTrends .kotoieEstimateSeoEmptyPreviewTrend:nth-child(3) {
    display: none;
  }
  .kotoieEstimateSeoEmptyPreviewTrend--wide {
    grid-column: auto;
  }
}

/* Version 1.30.13: warm-brown overlay and balanced empty-state typography. */
.kotoieEstimateSeoLiveEmpty--withPreview {
  background: transparent;
}
.kotoieEstimateSeoEmptyPreview--overlay {
  position: relative;
  isolation: isolate;
  min-height: 250px;
  border-top: 0;
  border-radius: 16px;
  background: #f6f0e8;
}
.kotoieEstimateSeoEmptyPreview--overlay .kotoieEstimateSeoEmptyPreviewCases,
.kotoieEstimateSeoEmptyPreview--overlay .kotoieEstimateSeoEmptyPreviewTrends {
  min-height: 250px;
  opacity: 1;
  filter: saturate(.7) contrast(.9);
}
.kotoieEstimateSeoEmptyPreview__overlay {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(52, 40, 29, .78) 0%, rgba(91, 63, 35, .70) 100%);
  box-shadow: inset 0 0 0 1px rgba(241, 136, 0, .18);
  backdrop-filter: blur(1px) saturate(.82);
  -webkit-backdrop-filter: blur(1px) saturate(.82);
}
.kotoieEstimateSeoEmptyPreview__overlay .kotoieEstimateSeoLiveEmpty__message {
  width: min(100%, 610px);
  padding: 0;
  color: #fff;
  text-align: center;
}
.kotoieEstimateSeoEmptyPreview__overlay .kotoieEstimateSeoLiveEmpty__message strong {
  color: #fffaf3;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.45;
  letter-spacing: .01em;
  text-shadow: 0 2px 9px rgba(31, 20, 10, .32);
}
.kotoieEstimateSeoEmptyPreview__overlay .kotoieEstimateSeoLiveEmpty__message p {
  margin-top: 8px !important;
  color: rgba(255, 249, 239, .9);
  font-size: 13px;
  line-height: 1.7;
  font-weight: 650;
  text-shadow: 0 2px 7px rgba(31, 20, 10, .25);
}
@media screen and (max-width: 760px) {
  .kotoieEstimateSeoEmptyPreview--overlay,
  .kotoieEstimateSeoEmptyPreview--overlay .kotoieEstimateSeoEmptyPreviewCases,
  .kotoieEstimateSeoEmptyPreview--overlay .kotoieEstimateSeoEmptyPreviewTrends {
    min-height: 220px;
  }
  .kotoieEstimateSeoEmptyPreview__overlay {
    padding: 20px 16px;
    background: linear-gradient(135deg, rgba(52, 40, 29, .80) 0%, rgba(91, 63, 35, .73) 100%);
  }
  .kotoieEstimateSeoEmptyPreview__overlay .kotoieEstimateSeoLiveEmpty__message strong {
    font-size: 16px;
    line-height: 1.5;
  }
  .kotoieEstimateSeoEmptyPreview__overlay .kotoieEstimateSeoLiveEmpty__message p {
    margin-top: 7px !important;
    font-size: 11.5px;
    line-height: 1.7;
  }
}



/* Version 1.31.3: keep the breadcrumb divider full width and inset only its contents. */
nav.kotoieEstimateSeoBreadcrumb {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.kotoieEstimateSeoBreadcrumb__inner {
  margin-left: 20px !important;
  margin-right: 20px !important;
}
.kotoieEstimateSeoBreadcrumb a,
.kotoieEstimateSeoBreadcrumb a:visited {
  color: #009bd4 !important;
}

/* Version 1.31.0: concrete parking condition pages and SEO CTA notification. */


/* v1.31.1: SEOファーストビューの費用相場要約 */
.kotoieEstimateSeoPriceSummary {
  border: 1px solid #eadbc5;
  background: #fffdf9;
}
.kotoieEstimateSeoPriceCards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}
.kotoieEstimateSeoPriceCards > div {
  min-width: 0;
  padding: 18px 14px;
  border: 1px solid #efdcc2;
  border-radius: 14px;
  background: #fff8ef;
  text-align: center;
}
.kotoieEstimateSeoPriceCards span {
  display: block;
  margin-bottom: 5px;
  color: #7b6c5c;
  font-size: 12px;
  font-weight: 700;
}
.kotoieEstimateSeoPriceCards strong {
  display: block;
  color: #5d3d00;
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.35;
}
.kotoieEstimateSeoPriceTable {
  overflow: hidden;
  margin-top: 22px;
  border: 1px solid #eadbc5;
  border-radius: 14px;
  background: #fff;
}
.kotoieEstimateSeoPriceTable > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding: 14px 18px;
  border-top: 1px solid #f0e5d6;
}
.kotoieEstimateSeoPriceTable > div:first-child { border-top: 0; }
.kotoieEstimateSeoPriceTable span {
  color: #4f463d;
  font-weight: 700;
}
.kotoieEstimateSeoPriceTable strong {
  color: #b66400;
  font-size: 17px;
  white-space: nowrap;
}
.kotoieEstimateSeoPriceSummary__note {
  margin: 14px 0 0 !important;
  color: #7a6e62;
  font-size: 12px;
  line-height: 1.8;
}
.kotoieEstimateSeoPriceSummaryGroup {
  margin-top: 26px;
  padding-top: 22px;
  border-top: 1px solid #eadbc5;
}
.kotoieEstimateSeoPriceSummaryGroup__eyebrow {
  display: block;
  margin-bottom: 6px;
  color: #b66400;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}
.kotoieEstimateSeoPriceSummaryGroup h3 {
  margin: 0;
  color: #4f3b25;
  font-size: clamp(18px, 2.4vw, 23px);
  line-height: 1.5;
}
.kotoieEstimateSeoPriceSummaryGroup__lead {
  margin: 8px 0 0 !important;
  color: #6f655a;
  font-size: 13px;
  line-height: 1.8;
}
.kotoieEstimateSeoInfoCard--wide { width: 100%; }

@media (max-width: 760px) {
  .kotoieEstimateSeoPriceCards { gap: 7px; }
  .kotoieEstimateSeoPriceCards > div { padding: 13px 5px; border-radius: 10px; }
  .kotoieEstimateSeoPriceCards span { font-size: 10px; }
  .kotoieEstimateSeoPriceCards strong { font-size: 17px; }
  .kotoieEstimateSeoPriceTable > div { gap: 10px; padding: 12px; }
  .kotoieEstimateSeoPriceTable span { font-size: 12px; }
  .kotoieEstimateSeoPriceTable strong { font-size: 14px; }
}

/* v1.31.2: ファーストビュー費用相場の余白調整 */
.kotoieEstimateSeoPriceSummary {
  margin-top: 34px;
}
@media (max-width: 760px) {
  .kotoieEstimateSeoPriceSummary {
    margin-top: 20px;
  }
}

/* Version 1.31.6: align SEO breadcrumb spacing and rhythm with the main simulation page. */
nav.kotoieEstimateSeoBreadcrumb {
  display: block !important;
  min-height: 0 !important;
  margin: 12px 0 24px !important;
  padding: 14px 0 16px !important;
  border-bottom: 1px solid #e7e1d8 !important;
  color: #77736f !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}
.kotoieEstimateSeoBreadcrumb__inner {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 20px !important;
  padding: 0 !important;
}
.kotoieEstimateSeoBreadcrumb__inner > a,
.kotoieEstimateSeoBreadcrumb__inner > span[aria-current="page"] {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
}
.kotoieEstimateSeoBreadcrumb__inner > a,
.kotoieEstimateSeoBreadcrumb__inner > a:visited {
  color: #009bd4 !important;
  text-decoration: none !important;
}
.kotoieEstimateSeoBreadcrumb__inner > a:hover {
  text-decoration: underline !important;
}
.kotoieEstimateSeoBreadcrumb__inner > span[aria-current="page"] {
  color: #77736f !important;
}
.kotoieEstimateSeoBreadcrumb__inner > span[aria-hidden="true"] {
  flex: 0 0 auto;
  margin: 0 13px !important;
  color: #c6c1bb !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}

@media screen and (max-width: 760px) {
  nav.kotoieEstimateSeoBreadcrumb {
    margin-top: 8px !important;
    margin-bottom: 16px !important;
    padding-top: 11px !important;
    padding-bottom: 12px !important;
    font-size: 11.5px !important;
    line-height: 1.65 !important;
  }
  .kotoieEstimateSeoBreadcrumb__inner {
    margin-left: 20px !important;
    margin-right: 20px !important;
  }
  .kotoieEstimateSeoBreadcrumb__inner > a,
  .kotoieEstimateSeoBreadcrumb__inner > span[aria-current="page"] {
    min-height: 20px;
  }
  .kotoieEstimateSeoBreadcrumb__inner > span[aria-hidden="true"] {
    margin-left: 8px !important;
    margin-right: 8px !important;
    font-size: 14px !important;
  }
}

/* Version 1.32.0: mobile flow, percentage insights, option icons and hub links. */

/* パンくずは1行のまま横スクロール。下線は全幅、文字だけ左右20px。 */
nav.kotoieEstimateSeoBreadcrumb {
  overflow: hidden !important;
}
.kotoieEstimateSeoBreadcrumb__inner {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 20px 3px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  white-space: nowrap !important;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}
.kotoieEstimateSeoBreadcrumb__inner::-webkit-scrollbar { display: none; }
.kotoieEstimateSeoBreadcrumb__inner > a,
.kotoieEstimateSeoBreadcrumb__inner > span {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* SEOページでは外側の見出しを主役にし、シミュレーター内の重複見出しは非表示。 */
.kotoieEstimateSeoSectionHead {
  margin: 0 0 20px !important;
  padding: 20px clamp(16px, 3vw, 28px) !important;
  border: 1px solid #edcfaa !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #fff8ee 0%, #fffdf9 72%) !important;
  box-shadow: 0 9px 24px rgba(104, 69, 22, .07) !important;
  text-align: left !important;
}
.kotoieEstimateSeoSectionHead > span {
  display: inline-flex !important;
  align-items: center;
  min-height: 25px;
  margin-bottom: 8px !important;
  padding: 3px 10px;
  border-radius: 999px;
  background: #fff0dc;
  color: #a85d00 !important;
  font-size: 10px !important;
  letter-spacing: .06em !important;
}
.kotoieEstimateSeoSectionHead h2 {
  padding-bottom: 11px !important;
  border-bottom-color: #ead5b8 !important;
  color: #604000 !important;
}
.kotoieEstimateSeoSectionHead p {
  max-width: none !important;
  margin-top: 11px !important;
  font-size: 13px !important;
  line-height: 1.85 !important;
}
.kotoieEstimateSeoSimulator__body .kot-reform222-head {
  display: none !important;
}
.kotoieEstimateSeoSimulator__body .kot-reform222-wrap {
  padding-top: 0 !important;
}

/* 回答済み項目が増えても、次の質問がページ下部へ押し出されすぎないようにする。 */
.kotInlineProgressive__question {
  scroll-margin-top: 96px;
}
@media screen and (max-width: 760px) {
  .kotInlineProgressive__answers:not([hidden]) {
    max-height: 236px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
  }
  .kotInlineProgressive__question { scroll-margin-top: 76px; }
}

/* 種類・形・型・素材など、視覚的な選択肢には簡易アイコンを添える。 */
.kotInlineProgressive__option.has-icon {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 11px !important;
  min-height: 66px !important;
  text-align: left !important;
}
.kotInlineProgressive__optionIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid #ead8bf;
  border-radius: 12px;
  background: #fffaf2;
  color: #9a5b13;
}
.kotInlineProgressive__optionIcon svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.kotInlineProgressive__optionText {
  min-width: 0;
  line-height: 1.55;
  font-weight: 850;
}
.kotInlineProgressive__option.has-icon.is-current .kotInlineProgressive__optionIcon {
  border-color: #ef9a31;
  background: #fff0dc;
  color: #c46b00;
}
@media screen and (max-width: 760px) {
  .kotInlineProgressive__option.has-icon {
    grid-template-columns: 39px minmax(0, 1fr) !important;
    gap: 9px !important;
    min-height: 58px !important;
  }
  .kotInlineProgressive__optionIcon {
    width: 37px;
    height: 37px;
    border-radius: 10px;
  }
  .kotInlineProgressive__optionIcon svg { width: 26px; height: 26px; }
}

/* 今月の利用傾向は件数ではなく割合を表示。 */
.kotoieEstimateSeoPopularity__row {
  grid-template-columns: minmax(120px, 220px) minmax(0, 1fr) 48px !important;
}
.kotoieEstimateSeoPopularity__percent {
  color: #8a5a20;
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  text-align: right;
  white-space: nowrap;
}
.kotoieEstimateSeoPopularity__group .kotoieEstimateSeoPopularity__row {
  grid-template-columns: minmax(105px, 42%) minmax(0, 1fr) 42px !important;
}
.kotoieEstimateSeoPopularity__groupHead,
.kotoieEstimateSeoPopularity__conditionHead {
  text-align: left;
}
.kotoieEstimateSeoPopularity__titleLine {
  display: flex;
  align-items: center;
  gap: 12px;
}
.kotoieEstimateSeoPopularity__titleLine > div { min-width: 0; }
.kotoieEstimateSeoPopularity__titleLine > div > span {
  display: block;
  margin-bottom: 3px;
  color: #b76500;
  font-size: 10px;
  line-height: 1.4;
  font-weight: 900;
}
.kotoieEstimateSeoPopularity__titleIcon {
  flex: 0 0 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border: 1px solid #ecd4b4;
  border-radius: 14px;
  background: linear-gradient(145deg, #fff5e6, #fffdf9);
  color: #cf7200;
  box-shadow: 0 5px 13px rgba(126, 75, 12, .07);
}
.kotoieEstimateSeoPopularity__titleIcon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.kotoieEstimateSeoPopularity__results {
  max-width: 900px;
  margin: 0 auto 25px;
  padding: 20px 22px;
  border: 1px solid #ecd8ba;
  border-radius: 17px;
  background: linear-gradient(180deg, #fffaf2 0%, #fff 100%);
}
.kotoieEstimateSeoPopularity__resultGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
  margin-top: 17px;
}
.kotoieEstimateSeoPopularity__resultCard {
  min-width: 0;
  padding: 14px;
  border: 1px solid #eadfce;
  border-radius: 14px;
  background: #fffdf9;
}
.kotoieEstimateSeoPopularity__resultCard.is-main {
  border-color: #e9bd82;
  background: #fff8ed;
}
.kotoieEstimateSeoPopularity__resultCard h4 {
  margin: 0 0 12px !important;
  color: #63441f;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 900;
}
.kotoieEstimateSeoPopularity__resultCard .kotoieEstimateSeoPopularity__row {
  grid-template-columns: minmax(72px, 1fr) minmax(60px, 1fr) 39px !important;
  gap: 6px !important;
}
.kotoieEstimateSeoPopularity__resultCard .kotoieEstimateSeoPopularity__row > strong {
  font-size: 9px;
  white-space: normal;
}
.kotoieEstimateSeoPopularity__resultCard .kotoieEstimateSeoPopularity__percent {
  font-size: 9px;
}
@media screen and (max-width: 760px) {
  .kotoieEstimateSeoPopularity__row,
  .kotoieEstimateSeoPopularity__group .kotoieEstimateSeoPopularity__row {
    grid-template-columns: minmax(90px, 40%) minmax(0, 1fr) 39px !important;
    gap: 7px !important;
  }
  .kotoieEstimateSeoPopularity__resultGrid { grid-template-columns: 1fr; }
  .kotoieEstimateSeoPopularity__results { padding: 16px 13px; }
  .kotoieEstimateSeoPopularity__titleIcon {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
  .kotoieEstimateSeoPopularity__titleIcon svg { width: 24px; height: 24px; }
}

/* モバイルのジャンル選択モーダルで最下部がブラウザUIに隠れないようにする。 */
@media screen and (max-width: 760px) {
  .kotoieEstimateSeoGenreModal {
    height: 100dvh;
    min-height: 100svh;
    align-items: flex-end;
  }
  .kotoieEstimateSeoGenreModal__panel {
    display: flex;
    flex-direction: column;
    height: min(94dvh, 94svh);
    max-height: min(94dvh, 94svh) !important;
    overflow: hidden;
  }
  .kotoieEstimateSeoGenreModal__head { flex: 0 0 auto; }
  .kotoieEstimateSeoGenreModal__body {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important;
    scroll-padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  }
}

/* メインショートコード下の分類別内部リンク。 */
.kotEstimateHubLinks {
  width: min(1120px, 100%);
  margin: 34px auto 0;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid #eadbc5;
  border-radius: 22px;
  background: #fffdf9;
  box-shadow: 0 12px 32px rgba(83, 52, 13, .06);
}
.kotEstimateHubLinks__head { margin-bottom: 20px; }
.kotEstimateHubLinks__head > span {
  display: block;
  margin-bottom: 6px;
  color: #b76500;
  font-size: 11px;
  font-weight: 900;
}
.kotEstimateHubLinks__head h2 {
  margin: 0 !important;
  padding: 0 0 12px !important;
  border: 0 !important;
  border-bottom: 1px solid #eadfce !important;
  background: none !important;
  color: #5c432a !important;
  font-size: clamp(22px, 3vw, 30px) !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
}
.kotEstimateHubLinks__head p {
  margin: 10px 0 0 !important;
  color: #75695d;
  font-size: 13px;
  line-height: 1.8;
}
.kotEstimateHubLinks__groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}
.kotEstimateHubLinks__group {
  min-width: 0;
  padding: 16px;
  border: 1px solid #eee2d2;
  border-radius: 15px;
  background: #fffaf3;
}
.kotEstimateHubLinks__group h3 {
  margin: 0 0 11px !important;
  padding: 0 0 8px !important;
  border: 0 !important;
  border-bottom: 1px solid #ecdcc6 !important;
  background: none !important;
  color: #a45c00 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
}
.kotEstimateHubLinks__group > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.kotEstimateHubLinks__group a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 41px;
  padding: 8px 10px;
  border: 1px solid #eadfce;
  border-radius: 10px;
  background: #fff;
  color: #5a4937 !important;
  text-decoration: none !important;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 800;
}
.kotEstimateHubLinks__group a span { color: #ce7100; font-size: 16px; }
.kotEstimateHubLinks__group a:hover,
.kotEstimateHubLinks__group a:focus-visible {
  outline: none;
  border-color: #ed9630;
  background: #fff4e3;
}
@media screen and (max-width: 760px) {
  .kotEstimateHubLinks {
    margin-top: 20px;
    padding: 19px 13px;
    border-radius: 18px;
  }
  .kotEstimateHubLinks__groups { grid-template-columns: 1fr; gap: 10px; }
  .kotEstimateHubLinks__group { padding: 13px 11px; }
  .kotEstimateHubLinks__group > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kotEstimateHubLinks__group a { min-height: 39px; padding: 7px 8px; font-size: 10px; }
}


/* Version 1.32.1: show all answered items, compact monthly-data links and tighten breadcrumb rhythm. */
@media screen and (max-width: 760px) {
  .kotInlineProgressive__answers:not([hidden]) {
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
    scrollbar-width: auto !important;
  }
}

nav.kotoieEstimateSeoBreadcrumb {
  margin-top: 4px !important;
  margin-bottom: 16px !important;
  padding-top: 8px !important;
  padding-bottom: 9px !important;
}
.kotoieEstimateSeoBreadcrumb__inner {
  padding-bottom: 0 !important;
}
@media screen and (max-width: 760px) {
  nav.kotoieEstimateSeoBreadcrumb {
    margin-top: 2px !important;
    margin-bottom: 12px !important;
    padding-top: 7px !important;
    padding-bottom: 8px !important;
  }
}

.kotEstimateHubLinks {
  margin-top: 24px;
  padding: 18px 20px;
  border-radius: 18px;
}
.kotEstimateHubLinks__head {
  margin-bottom: 13px;
}
.kotEstimateHubLinks__head > span {
  margin-bottom: 3px;
  font-size: 10px;
}
.kotEstimateHubLinks__head h2 {
  padding-bottom: 8px !important;
  font-size: clamp(18px, 2.4vw, 24px) !important;
  line-height: 1.4 !important;
}
.kotEstimateHubLinks__head p {
  margin-top: 7px !important;
  font-size: 11.5px;
  line-height: 1.7;
}
.kotEstimateHubLinks__groups {
  gap: 9px;
}
.kotEstimateHubLinks__group {
  padding: 11px;
  border-radius: 12px;
}
.kotEstimateHubLinks__group h3 {
  margin-bottom: 7px !important;
  padding-bottom: 6px !important;
  font-size: 11.5px !important;
}
.kotEstimateHubLinks__group > div {
  gap: 5px;
}
.kotEstimateHubLinks__group a {
  min-height: 35px;
  padding: 6px 8px;
  border-radius: 8px;
  font-size: 10px;
}
@media screen and (max-width: 760px) {
  .kotEstimateHubLinks {
    margin-top: 17px;
    padding: 15px 10px;
    border-radius: 15px;
  }
  .kotEstimateHubLinks__head {
    margin-bottom: 11px;
  }
  .kotEstimateHubLinks__head h2 {
    font-size: 17px !important;
  }
  .kotEstimateHubLinks__head p {
    font-size: 10.5px;
  }
  .kotEstimateHubLinks__groups {
    gap: 7px;
  }
  .kotEstimateHubLinks__group {
    padding: 9px;
  }
  .kotEstimateHubLinks__group a {
    min-height: 33px;
    padding: 5px 7px;
    font-size: 9.5px;
  }
}


/* Version 1.32.2: frame the whole condition trend area and keep breadcrumb side gutters equal. */
.kotoieEstimateSeoPopularity__conditions {
  max-width: 940px;
  margin: 0 auto 25px;
  padding: 22px;
  border: 1px solid #e8d2b3;
  border-radius: 20px;
  background: linear-gradient(180deg, #fffdf9 0%, #fff9f0 100%);
  box-shadow: 0 8px 24px rgba(92, 67, 42, .045);
}
.kotoieEstimateSeoPopularity__conditions .kotoieEstimateSeoPopularity__conditionHead,
.kotoieEstimateSeoPopularity__conditions .kotoieEstimateSeoPopularity__groups {
  max-width: none;
}
.kotoieEstimateSeoPopularity__conditions .kotoieEstimateSeoPopularity__conditionHead {
  margin-bottom: 17px;
  padding: 0;
}
.kotoieEstimateSeoPopularity__conditions .kotoieEstimateSeoPopularity__groups {
  margin: 0;
}

/* The breadcrumb line remains full width; only the scrollable content gets equal 20px gutters. */
.kotoieEstimateSeoBreadcrumb__inner {
  width: calc(100% - 40px) !important;
  max-width: calc(100% - 40px) !important;
  margin-left: 20px !important;
  margin-right: 20px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media screen and (max-width: 760px) {
  .kotoieEstimateSeoPopularity__conditions {
    margin-bottom: 18px;
    padding: 14px 12px;
    border-radius: 16px;
  }
  .kotoieEstimateSeoPopularity__conditions .kotoieEstimateSeoPopularity__conditionHead {
    margin-bottom: 13px;
  }
}

/* Version 1.32.4: normal hub links and context-aware trend badges. */

/* Version 1.32.5: reform-only search-intent content. */
.kotoieEstimateSeoTopicNav {
  display: flex;
  gap: 7px;
  margin: 18px auto 0;
  padding: 0 4px 5px;
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.kotoieEstimateSeoTopicNav::-webkit-scrollbar { display: none; }
.kotoieEstimateSeoTopicNav a {
  flex: 0 0 auto;
  padding: 7px 12px;
  border: 1px solid #eadcc9;
  border-radius: 999px;
  background: #fff;
  color: #6d5337 !important;
  text-decoration: none !important;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 800;
}
.kotoieEstimateSeoTopicNav a:hover,
.kotoieEstimateSeoTopicNav a:focus-visible {
  outline: none;
  border-color: #ef9b38;
  background: #fff5e7;
  color: #a95b00 !important;
}
.kotoieEstimateSeoReformBasics__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.kotoieEstimateSeoReformBasics__card {
  min-width: 0;
  padding: 17px 14px;
  border: 1px solid #eadbc6;
  border-radius: 15px;
  background: linear-gradient(180deg, #fff 0%, #fffaf3 100%);
}
.kotoieEstimateSeoReformBasics__card > span {
  display: block;
  margin-bottom: 6px;
  color: #b96908;
  font-size: 10px;
  line-height: 1.4;
  font-weight: 900;
}
.kotoieEstimateSeoReformBasics__card > strong {
  display: block;
  margin-bottom: 7px;
  color: #413427;
  font-size: 14px;
  line-height: 1.5;
}
.kotoieEstimateSeoReformBasics__card > p {
  margin: 0 !important;
  color: #776a5c;
  font-size: 11px;
  line-height: 1.75;
}
.kotoieEstimateSeoReformChecklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.kotoieEstimateSeoReformChecklist article {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  min-width: 0;
  padding: 14px;
  border: 1px solid #eadfce;
  border-radius: 13px;
  background: #fff;
}
.kotoieEstimateSeoReformChecklist article > span {
  flex: 0 0 28px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff1dd;
  color: #bc6900;
  font-size: 10px;
  font-weight: 900;
}
.kotoieEstimateSeoReformChecklist strong,
.kotoieEstimateSeoReformCompare strong,
.kotoieEstimateSeoReformCautions strong,
.kotoieEstimateSeoReformFlow strong {
  display: block;
  color: #44372a;
  font-size: 13px;
  line-height: 1.55;
}
.kotoieEstimateSeoReformChecklist p,
.kotoieEstimateSeoReformCompare p,
.kotoieEstimateSeoReformCautions p,
.kotoieEstimateSeoReformFlow p {
  margin: 4px 0 0 !important;
  color: #75695d;
  font-size: 11px;
  line-height: 1.75;
}
.kotoieEstimateSeoReformCompare {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.kotoieEstimateSeoReformCompare article {
  position: relative;
  min-width: 0;
  padding: 42px 15px 16px;
  border: 1px solid #e7d7c1;
  border-radius: 15px;
  background: #fffdf9;
}
.kotoieEstimateSeoReformCompare article > span {
  position: absolute;
  top: 13px;
  left: 14px;
  color: #d37a0b;
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .08em;
}
.kotoieEstimateSeoReformGuide__note {
  margin: 12px 0 0 !important;
  padding: 12px 14px;
  border-left: 3px solid #e68b1c;
  border-radius: 0 9px 9px 0;
  background: #fff7eb;
  color: #6d5c4a;
  font-size: 11px;
  line-height: 1.75;
}
.kotoieEstimateSeoReformFlow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: reform-flow;
}
.kotoieEstimateSeoReformFlow li {
  position: relative;
  min-width: 0;
  padding: 41px 13px 14px;
  border: 1px solid #e8dccb;
  border-radius: 14px;
  background: #fff;
  counter-increment: reform-flow;
}
.kotoieEstimateSeoReformFlow li::before {
  content: counter(reform-flow);
  position: absolute;
  top: 12px;
  left: 13px;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #5d452f;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}
.kotoieEstimateSeoReformCautions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.kotoieEstimateSeoReformCautions article {
  padding: 14px 15px;
  border: 1px solid #ead8bf;
  border-radius: 13px;
  background: linear-gradient(135deg, #fffaf2 0%, #fff 100%);
}
@media screen and (max-width: 960px) {
  .kotoieEstimateSeoReformBasics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kotoieEstimateSeoReformFlow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kotoieEstimateSeoReformFlow li:last-child { grid-column: 1 / -1; }
}
@media screen and (max-width: 760px) {
  .kotoieEstimateSeoTopicNav {
    margin-top: 13px;
    padding-left: 0;
    padding-right: 0;
  }
  .kotoieEstimateSeoTopicNav a { padding: 6px 10px; font-size: 10px; }
  .kotoieEstimateSeoReformBasics__grid,
  .kotoieEstimateSeoReformChecklist,
  .kotoieEstimateSeoReformCompare,
  .kotoieEstimateSeoReformFlow,
  .kotoieEstimateSeoReformCautions {
    grid-template-columns: 1fr;
  }
  .kotoieEstimateSeoReformFlow li:last-child { grid-column: auto; }
  .kotoieEstimateSeoReformBasics__card { padding: 14px 12px; }
  .kotoieEstimateSeoReformChecklist article,
  .kotoieEstimateSeoReformCompare article,
  .kotoieEstimateSeoReformCautions article,
  .kotoieEstimateSeoReformFlow li { padding-right: 12px; padding-left: 12px; }
  .kotoieEstimateSeoReformCompare article { padding-top: 39px; }
  .kotoieEstimateSeoReformFlow li { padding-top: 40px; }
}


/* Keep genre-specific top-level SEO cards visually separated. */
.kotoieEstimateSeoReformBasics {
  margin-top: 28px !important;
}
@media screen and (max-width: 760px) {
  .kotoieEstimateSeoReformBasics {
    margin-top: 20px !important;
  }
}

/* Version 1.32.8: reusable sticky topic navigation with active-section state. */
.kotoieEstimateSeoTopicNavSentinel {
  display: block;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
}
.kotoieEstimateSeoTopicNav[data-kotoie-topic-nav] {
  position: -webkit-sticky;
  position: sticky;
  top: var(--kotoie-estimate-topic-nav-top, 8px);
  z-index: 80;
  box-sizing: border-box;
  transition: padding .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.kotoieEstimateSeoTopicNav[data-kotoie-topic-nav].is-stuck {
  margin-right: 0;
  margin-left: 0;
  padding: 8px 10px;
  border: 1px solid rgba(226, 205, 177, .92);
  border-radius: 15px;
  background: rgba(255, 252, 247, .97);
  box-shadow: 0 8px 24px rgba(76, 53, 27, .11);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.kotoieEstimateSeoTopicNav[data-kotoie-topic-nav] a.is-active,
.kotoieEstimateSeoTopicNav[data-kotoie-topic-nav] a[aria-current="true"] {
  border-color: #e97900;
  background: linear-gradient(180deg, #ff920d 0%, #ef7800 100%);
  color: #fff !important;
  box-shadow: 0 3px 8px rgba(213, 105, 0, .2);
}
.kotoieEstimateSeoTopicNav[data-kotoie-topic-nav] a.is-active:hover,
.kotoieEstimateSeoTopicNav[data-kotoie-topic-nav] a.is-active:focus-visible,
.kotoieEstimateSeoTopicNav[data-kotoie-topic-nav] a[aria-current="true"]:hover,
.kotoieEstimateSeoTopicNav[data-kotoie-topic-nav] a[aria-current="true"]:focus-visible {
  border-color: #d96900;
  background: linear-gradient(180deg, #f88906 0%, #df6e00 100%);
  color: #fff !important;
}
.kotoieEstimateSeo [id^="kotoie-estimate-"] {
  scroll-margin-top: calc(var(--kotoie-estimate-topic-nav-top, 8px) + var(--kotoie-estimate-topic-nav-height, 52px) + 20px);
}
@media screen and (max-width: 760px) {
  .kotoieEstimateSeoTopicNav[data-kotoie-topic-nav].is-stuck {
    padding: 7px 8px;
    border-radius: 13px;
  }
}


/* Version 1.32.13: keep related-case card titles compact and isolate them from theme H3 decoration. */
body.kotoie-estimate-seo-route #primary.kotoieEstimateSeo .kotoieEstimateSeoCase__body > h3,
#primary.kotoieEstimateSeo .kotoieEstimateSeoCase__body > h3,
.kotoieEstimateSeo .kotoieEstimateSeoCase__body > h3 {
  display: -webkit-box !important;
  min-height: 3.1em;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--kot-seo-text) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  word-break: break-word;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
body.kotoie-estimate-seo-route #primary.kotoieEstimateSeo .kotoieEstimateSeoCase__body > h3::before,
body.kotoie-estimate-seo-route #primary.kotoieEstimateSeo .kotoieEstimateSeoCase__body > h3::after,
#primary.kotoieEstimateSeo .kotoieEstimateSeoCase__body > h3::before,
#primary.kotoieEstimateSeo .kotoieEstimateSeoCase__body > h3::after,
.kotoieEstimateSeo .kotoieEstimateSeoCase__body > h3::before,
.kotoieEstimateSeo .kotoieEstimateSeoCase__body > h3::after {
  content: none !important;
  display: none !important;
}
@media screen and (max-width: 760px) {
  body.kotoie-estimate-seo-route #primary.kotoieEstimateSeo .kotoieEstimateSeoCase__body > h3,
  #primary.kotoieEstimateSeo .kotoieEstimateSeoCase__body > h3,
  .kotoieEstimateSeo .kotoieEstimateSeoCase__body > h3 {
    min-height: 3em;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
}

/* Version 1.32.22: related-case units, detail modal and photo lightbox. */
.kotoieEstimateSeoCase__media {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  appearance: none;
  cursor: pointer;
  text-align: inherit;
}
.kotoieEstimateSeoCase__media:focus-visible {
  z-index: 2;
  outline: 3px solid rgba(235, 119, 0, .32);
  outline-offset: -3px;
}
.kotoieEstimateSeoCase__media:hover .kotoieEstimateSeoCase__image img,
.kotoieEstimateSeoCase__media:focus-visible .kotoieEstimateSeoCase__image img {
  transform: scale(1.025);
}
.kotoieEstimateSeoCase__image img {
  transition: transform .22s ease, opacity .18s ease;
}
.kotoieEstimateSeoCase__image.is-kotoie-image-loading img {
  opacity: .18;
}
.kotoieEstimateSeoCase__image.is-kotoie-image-loaded img {
  opacity: 1;
}
.kotoieEstimateSeoCase__zoom {
  position: absolute;
  z-index: 4;
  right: 8px;
  bottom: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(35, 29, 23, .76);
  color: #fff;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  pointer-events: none;
}
body.kotoieEstimateCaseModalOpen {
  overflow: hidden !important;
}
.kotoieEstimateCaseModal,
.kotoieEstimateCaseLightbox {
  position: fixed;
  z-index: 1000002;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  box-sizing: border-box;
}
.kotoieEstimateCaseModal.is-open,
.kotoieEstimateCaseLightbox.is-open {
  display: flex;
}
.kotoieEstimateCaseModal__backdrop,
.kotoieEstimateCaseLightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 24, 39, .72);
  backdrop-filter: blur(2px);
}
.kotoieEstimateCaseModal__dialog {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: calc(100dvh - 36px);
  overflow: auto;
  border: 1px solid rgba(255,255,255,.58);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.kotoieEstimateCaseModal__close,
.kotoieEstimateCaseLightbox__close {
  position: absolute;
  z-index: 5;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(25, 31, 39, .88);
  color: #fff;
  font-size: 27px;
  line-height: 1;
  font-weight: 400;
  cursor: pointer;
}
.kotoieEstimateCaseModal__content {
  padding: 27px;
}
.kotoieEstimateCaseModal__eyebrow {
  display: inline-flex;
  margin: 0 0 7px;
  color: #a95b00;
  font-size: 11px;
  line-height: 1.3;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.kotoieEstimateCaseModal__title {
  margin: 0 !important;
  padding: 0 54px 0 0 !important;
  border: 0 !important;
  background: none !important;
  color: #1f2937 !important;
  font-size: 23px !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}
.kotoieEstimateCaseModal__title::before,
.kotoieEstimateCaseModal__title::after {
  content: none !important;
  display: none !important;
}
.kotoieEstimateCaseModal__meta {
  margin: 6px 0 15px !important;
  color: #64748b;
  font-size: 12px;
  line-height: 1.65;
  font-weight: 700;
}
.kotoieEstimateCaseModal__tabs {
  display: flex;
  gap: 6px;
  margin: 0 0 12px;
  padding: 4px;
  overflow-x: auto;
  border: 1px solid #e8dfd2;
  border-radius: 12px;
  background: #faf7f2;
  scrollbar-width: thin;
}
.kotoieEstimateCaseModal__tabs[hidden] {
  display: none !important;
}
.kotoieEstimateCaseModal__tab {
  flex: 0 0 auto;
  min-height: 38px;
  margin: 0;
  padding: 8px 13px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #655d54;
  font-size: 11px;
  line-height: 1.35;
  font-weight: 900;
  cursor: pointer;
}
.kotoieEstimateCaseModal__tab.is-active,
.kotoieEstimateCaseModal__tab[aria-selected="true"] {
  border-color: #efc58e;
  background: #fff;
  color: #9a5100;
  box-shadow: 0 3px 11px rgba(74, 43, 9, .07);
}
.kotoieEstimateCaseModal__photos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.kotoieEstimateCaseModal__photo {
  position: relative;
  display: block;
  min-width: 0;
  aspect-ratio: 4 / 3;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 14px;
  background: #ece7df;
  cursor: zoom-in;
}
.kotoieEstimateCaseModal__photo[hidden] {
  display: none !important;
}
.kotoieEstimateCaseModal__photo > span {
  position: absolute;
  z-index: 2;
  top: 8px;
  left: 8px;
  min-width: 50px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(33, 29, 25, .76);
  color: #fff;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 900;
}
.kotoieEstimateCaseModal__photo > em {
  position: absolute;
  z-index: 2;
  right: 8px;
  bottom: 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(33, 29, 25, .74);
  color: #fff;
  font-size: 9px;
  line-height: 1.2;
  font-style: normal;
  font-weight: 850;
}
.kotoieEstimateCaseModal__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: transform .22s ease, opacity .18s ease;
}
.kotoieEstimateCaseModal__photo.is-kotoie-image-loading::before,
.kotoieEstimateCaseLightbox figure.is-kotoie-image-loading::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  margin: -15px 0 0 -15px;
  border: 3px solid rgba(255, 255, 255, .55);
  border-top-color: #d96a00;
  border-radius: 50%;
  box-sizing: border-box;
  animation: kotoieEstimateCaseImageSpin .72s linear infinite;
  pointer-events: none;
}
.kotoieEstimateCaseModal__photo.is-kotoie-image-loading img,
.kotoieEstimateCaseLightbox figure.is-kotoie-image-loading img {
  opacity: 0;
}
.kotoieEstimateCaseModal__photo.is-kotoie-image-loaded img,
.kotoieEstimateCaseLightbox figure.is-kotoie-image-loaded img {
  opacity: 1;
}
@keyframes kotoieEstimateCaseImageSpin {
  to { transform: rotate(360deg); }
}
.kotoieEstimateCaseModal__photo:hover img,
.kotoieEstimateCaseModal__photo:focus-visible img {
  transform: scale(1.025);
}
.kotoieEstimateCaseModal__details {
  margin: 16px 0 0;
  padding: 14px;
  border: 1px solid #e9dfd0;
  border-radius: 16px;
  background: #fffaf3;
}
.kotoieEstimateCaseModal__details[hidden] {
  display: none !important;
}
.kotoieEstimateCaseModal__detailsHead {
  margin: 0 0 10px;
  color: #915300;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 900;
}
.kotoieEstimateCaseModal__detailsGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.kotoieEstimateCaseModal__detailItem {
  display: grid;
  grid-template-columns: minmax(92px, 116px) minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #eee5d8;
  border-radius: 11px;
  background: #fff;
}
.kotoieEstimateCaseModal__detailItem span {
  color: #8a7660;
  font-size: 10px;
  line-height: 1.45;
  font-weight: 850;
}
.kotoieEstimateCaseModal__detailItem strong {
  min-width: 0;
  color: #334155;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 850;
  overflow-wrap: anywhere;
}
.kotoieEstimateCaseModal__work {
  margin: 10px 0 0;
  padding: 11px 12px;
  border: 1px solid #eee5d8;
  border-radius: 11px;
  background: #fff;
}
.kotoieEstimateCaseModal__work[hidden] {
  display: none !important;
}
.kotoieEstimateCaseModal__work span,
.kotoieEstimateCaseModal__comment > span {
  display: block;
  margin: 0 0 5px;
  color: #9a5a00;
  font-size: 10.5px;
  line-height: 1.4;
  font-weight: 900;
}
.kotoieEstimateCaseModal__work p,
.kotoieEstimateCaseModal__comment p {
  margin: 0 !important;
  color: #334155;
  font-size: 13px;
  line-height: 1.8;
  font-weight: 500;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.kotoieEstimateCaseModal__comment {
  margin: 13px 0 0;
  padding: 12px 14px;
  border: 1px solid #e2e8f0;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(63, 43, 0, .04);
}
.kotoieEstimateCaseModal__comment[hidden] {
  display: none !important;
}
/* Version 1.32.23: company-name comment label and modal inquiry / estimate actions. */
.kotoieEstimateCaseModal__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 15px 0 0;
}
.kotoieEstimateCaseModal__actions[hidden] {
  display: none !important;
}
.kotoieEstimateCaseModal__actions.is-single {
  grid-template-columns: minmax(0, 1fr);
}
.kotoieEstimateCaseModal__actions a[hidden] {
  display: none !important;
}
.kotoieEstimateCaseModal__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  margin: 0;
  padding: 11px 15px;
  border: 1px solid transparent;
  border-radius: 13px;
  text-align: center;
  text-decoration: none !important;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 900;
  box-sizing: border-box;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.kotoieEstimateCaseModal__actions a:hover,
.kotoieEstimateCaseModal__actions a:focus-visible {
  transform: translateY(-1px);
  text-decoration: none !important;
}
.kotoieEstimateCaseModal__inquiry {
  border-color: #a7620b !important;
  background: #fff !important;
  color: #8c4c00 !important;
  box-shadow: 0 6px 17px rgba(121, 71, 5, .08);
}
.kotoieEstimateCaseModal__compare {
  border-color: #ed6f00 !important;
  background: linear-gradient(135deg, #ff8a00, #ed6f00) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(237, 111, 0, .22);
}
.kotoieEstimateCaseModal__inquiry:hover,
.kotoieEstimateCaseModal__inquiry:focus-visible {
  background: #fff8ee !important;
  box-shadow: 0 8px 20px rgba(121, 71, 5, .13);
}
.kotoieEstimateCaseModal__compare:hover,
.kotoieEstimateCaseModal__compare:focus-visible {
  filter: brightness(.98);
  box-shadow: 0 10px 24px rgba(237, 111, 0, .28);
}

.kotoieEstimateCaseLightbox {
  z-index: 1000004;
}
.kotoieEstimateCaseLightbox__dialog {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(1100px, 100%);
  height: min(780px, calc(100dvh - 36px));
  padding: 56px 70px 34px;
  border-radius: 20px;
  background: #151a21;
  box-shadow: 0 28px 90px rgba(0,0,0,.42);
  box-sizing: border-box;
}
.kotoieEstimateCaseLightbox figure {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  margin: 0;
}
.kotoieEstimateCaseLightbox figure img {
  display: block;
  max-width: 100%;
  max-height: calc(100% - 34px);
  border-radius: 12px;
  object-fit: contain;
  opacity: 1;
  transition: opacity .18s ease;
}
.kotoieEstimateCaseLightbox figcaption {
  margin: 10px 0 0;
  color: #e5e7eb;
  font-size: 11px;
  line-height: 1.4;
  font-weight: 800;
}
.kotoieEstimateCaseLightbox__nav {
  position: absolute;
  z-index: 4;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 64px;
  margin: -32px 0 0;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: rgba(255,255,255,.13);
  color: #fff;
  font-size: 38px;
  line-height: 1;
  cursor: pointer;
}
.kotoieEstimateCaseLightbox__nav.is-prev { left: 12px; }
.kotoieEstimateCaseLightbox__nav.is-next { right: 12px; }
.kotoieEstimateCaseLightbox__nav[hidden] { display: none !important; }
@media screen and (max-width: 760px) {
  .kotoieEstimateCaseModal,
  .kotoieEstimateCaseLightbox {
    padding: max(10px, env(safe-area-inset-top)) 8px max(10px, env(safe-area-inset-bottom));
  }
  .kotoieEstimateCaseModal__dialog {
    width: 100%;
    max-height: calc(100dvh - 20px);
    border-radius: 17px;
  }
  .kotoieEstimateCaseModal__content {
    padding: 19px 14px calc(20px + env(safe-area-inset-bottom));
  }
  .kotoieEstimateCaseModal__close,
  .kotoieEstimateCaseLightbox__close {
    top: 8px;
    right: 8px;
    width: 39px;
    height: 39px;
  }
  .kotoieEstimateCaseModal__title {
    padding-right: 45px !important;
    font-size: 18px !important;
  }
  .kotoieEstimateCaseModal__photos {
    gap: 7px;
  }
  .kotoieEstimateCaseModal__photo {
    border-radius: 11px;
  }
  .kotoieEstimateCaseModal__photo > em {
    display: none;
  }
  .kotoieEstimateCaseModal__details {
    padding: 12px;
    border-radius: 14px;
  }
  .kotoieEstimateCaseModal__detailsGrid {
    grid-template-columns: 1fr;
    gap: 7px;
  }
  .kotoieEstimateCaseModal__detailItem {
    grid-template-columns: 82px minmax(0, 1fr);
    padding: 9px 10px;
  }
  .kotoieEstimateCaseModal__actions {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .kotoieEstimateCaseModal__actions a {
    min-height: 48px;
    font-size: 12.5px;
  }
  .kotoieEstimateCaseLightbox__dialog {
    width: 100%;
    height: calc(100dvh - 20px);
    padding: 52px 46px 26px;
    border-radius: 16px;
  }
  .kotoieEstimateCaseLightbox__nav {
    width: 38px;
    height: 52px;
    margin-top: -26px;
    font-size: 31px;
  }
  .kotoieEstimateCaseLightbox__nav.is-prev { left: 5px; }
  .kotoieEstimateCaseLightbox__nav.is-next { right: 5px; }
}

/* Version 1.32.33: unify main, sub and SEO estimate condition selection. */
.kotEstimateConditionSource__hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}
.kotEstimateConditionMenu {
  overflow: hidden;
  margin: 0 0 22px;
  border: 1px solid #ead9bf;
  border-radius: 20px;
  background: #fffdf9;
  box-shadow: 0 12px 30px rgba(75,45,8,.08);
}
.kotEstimateConditionMenu__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px 17px;
  border-bottom: 1px solid #f0e3d1;
  background: linear-gradient(135deg,#fffaf2 0%,#fff 100%);
}
.kotEstimateConditionMenu__head > div { min-width: 0; }
.kotEstimateConditionMenu__head span {
  display: block;
  margin: 0 0 5px;
  color: #c66d00;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 900;
  letter-spacing: .04em;
}
.kotEstimateConditionMenu__head h3 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #35261b !important;
  font-size: 20px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
.kotEstimateConditionMenu__head h3::before,
.kotEstimateConditionMenu__head h3::after { display: none !important; }
.kotEstimateConditionMenu__head p {
  flex: 0 1 330px;
  margin: 0 !important;
  color: #746252;
  font-size: 12.5px;
  line-height: 1.75;
}
.kotEstimateConditionMenu__list {
  display: grid;
  gap: 9px;
  margin: 0 !important;
  padding: 18px 22px !important;
  list-style: none !important;
}
.kotEstimateConditionMenu__list li,
.kotEstimateStepModal__summary li {
  display: grid;
  grid-template-columns: minmax(105px,.72fr) minmax(0,1.3fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 10px 12px 10px 14px;
  border: 1px solid #eadfce;
  border-radius: 14px;
  background: #fff;
}
.kotEstimateConditionMenu__list span,
.kotEstimateStepModal__summary li > span {
  color: #7a6858;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 850;
}
.kotEstimateConditionMenu__list strong,
.kotEstimateStepModal__summary li > strong {
  min-width: 0;
  color: #2f2117;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 900;
  overflow-wrap: anywhere;
}
.kotEstimateConditionMenu__list button,
.kotEstimateStepModal__summary [data-kotoie-step-edit] {
  min-width: 68px;
  min-height: 36px;
  padding: 6px 12px;
  border: 1px solid #dfc9a9;
  border-radius: 999px;
  background: #fffaf2;
  color: #84500b;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  cursor: pointer;
}
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__list button,
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__action,
.kotEstimateStepModal__summary [data-kotoie-step-edit]:where(:not(:disabled)) {
  transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}
.kotEstimateConditionMenu__list button:hover,
.kotEstimateConditionMenu__list button:focus-visible,
.kotEstimateStepModal__summary [data-kotoie-step-edit]:hover,
.kotEstimateStepModal__summary [data-kotoie-step-edit]:focus-visible {
  border-color: #f18800;
  background: #fff0d8;
  outline: none;
}
.kotEstimateConditionMenu__actions {
  display: flex;
  justify-content: center;
  padding: 0 22px 22px;
}
.kotEstimateConditionMenu__action {
  min-height: 50px;
  padding: 11px 26px;
  border: 1px solid #f18800;
  border-radius: 999px;
  background: #f18800;
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(241,136,0,.18);
  cursor: pointer;
}
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__head span { color: #9a5b00; }
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__list button {
  border-color: #f0ad54;
  background: #fff2df;
  color: #8a4a00;
}
.kotEstimateStepModal__summary { gap: 9px; }
.kotEstimateStepModal__summary li { padding: 10px 11px 10px 13px; }
.kotEstimateStepModal__requiredError:empty { display: none; }

@media screen and (max-width: 760px) {
  .kotEstimateConditionMenu { margin-bottom: 18px; border-radius: 17px; }
  .kotEstimateConditionMenu__head {
    display: block;
    padding: 17px 16px 14px;
  }
  .kotEstimateConditionMenu__head h3 { font-size: 18px !important; }
  .kotEstimateConditionMenu__head p { margin-top: 8px !important; font-size: 12px; }
  .kotEstimateConditionMenu__list { padding: 14px 14px !important; }
  .kotEstimateConditionMenu__list li,
  .kotEstimateStepModal__summary li {
    grid-template-columns: minmax(78px,.7fr) minmax(0,1.25fr) auto;
    gap: 8px;
    min-height: 52px;
    padding: 9px 9px 9px 11px;
  }
  .kotEstimateConditionMenu__list strong,
  .kotEstimateStepModal__summary li > strong { font-size: 13px; }
  .kotEstimateConditionMenu__list button,
  .kotEstimateStepModal__summary [data-kotoie-step-edit] {
    min-width: 58px;
    min-height: 34px;
    padding: 5px 9px;
    font-size: 11.5px;
  }
  .kotEstimateConditionMenu__actions { padding: 0 14px 17px; }
  .kotEstimateConditionMenu__action { width: 100%; min-height: 48px; }
}
.kotEstimateConditionMenu__actions {
  flex-wrap: wrap;
  gap: 10px;
}
.kotEstimateConditionMenu__cancel {
  min-height: 44px;
  padding: 9px 20px;
  border: 1px solid #dbc9ad;
  border-radius: 999px;
  background: #fff;
  color: #66513d;
  font-size: 12.5px;
  line-height: 1.4;
  font-weight: 850;
  cursor: pointer;
}
.kotEstimateConditionMenu__cancel[hidden] { display: none !important; }
@media screen and (max-width: 760px) {
  .kotEstimateConditionMenu__cancel { width: 100%; }
}


/* Version 1.32.36: budget-first linked modal flow and post-result edit menu. */
.kotEstimateConditionMenu[hidden] {
  display: none !important;
}
.kotEstimateConditionStart {
  display: flex;
  justify-content: center;
  margin-top: 17px;
}
.kotEstimateConditionStart button {
  min-height: 50px;
  padding: 11px 27px;
  border: 1px solid #f18800;
  border-radius: 999px;
  background: #f18800;
  color: #fff;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 900;
  box-shadow: 0 8px 18px rgba(241,136,0,.18);
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.kotEstimateConditionStart button:hover,
.kotEstimateConditionStart button:focus-visible {
  background: #df7900;
  box-shadow: 0 10px 22px rgba(241,136,0,.24);
  transform: translateY(-1px);
  outline: none;
}
@media screen and (max-width: 760px) {
  .kotEstimateConditionStart {
    margin-top: 14px;
  }
  .kotEstimateConditionStart button {
    width: 100%;
    min-height: 48px;
    padding-inline: 18px;
  }
}

/* Version 1.32.39: preserve the confirmed condition-menu design; budget is Step 1 of the linked modal flow. */
.kotEstimateConditionMenu__list li::before,
.kotEstimateConditionMenu__list li::after,
.kotEstimateStepModal__summary li::before,
.kotEstimateStepModal__summary li::after {
  content: none !important;
  display: none !important;
}
.kotEstimateConditionMenu__list li::marker,
.kotEstimateStepModal__summary li::marker {
  content: "" !important;
  font-size: 0 !important;
}

/* 比較時の2ボタンは、PCでも1列2段にし、既存ショートコードのボタン意匠へ統一。 */
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 10px !important;
  width: 100% !important;
}
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__action {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 14px 12px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--kot-navi-accent, #d58a00) !important;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  box-shadow: 0 5px 0 var(--kot-navi-accent-dark, #a96d00) !important;
}
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__action::after {
  content: " ▶" !important;
  display: inline !important;
  margin-left: 4px !important;
  font-size: 12px !important;
}
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__action:active {
  transform: translateY(3px) !important;
  box-shadow: 0 2px 0 var(--kot-navi-accent-dark, #a96d00) !important;
}
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__cancel {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  border: 1px solid #d7c59f !important;
  border-radius: 8px !important;
  background: #fffdf8 !important;
  color: #765000 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__cancel::before {
  content: "×" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  border-radius: 50% !important;
  background: #f2e5c9 !important;
  color: #765000 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__cancel::after {
  content: none !important;
  display: none !important;
}
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__cancel:hover,
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__cancel:focus-visible {
  border-color: #b99248 !important;
  background: #fff8e9 !important;
  outline: none !important;
}

@media screen and (max-width: 760px) {
  /* 条件メニューの枠が画面端へ密着しないよう外側余白を確保。 */
  .kotEstimateConditionMenu {
    width: auto !important;
    margin: 0 12px 18px !important;
  }
  .kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__action {
    min-height: 50px !important;
    padding: 13px 10px !important;
    font-size: 15px !important;
  }
  .kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__cancel {
    min-height: 42px !important;
    padding: 9px !important;
    font-size: 12px !important;
  }
}


/* Version 1.32.40: balanced condition header, modal-first comparison edits, and one continuous budget step. */
.kotEstimateConditionMenu__head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  justify-content: stretch !important;
  gap: 8px !important;
  padding: 22px 26px 19px !important;
}
.kotEstimateConditionMenu__head > div {
  width: 100% !important;
  min-width: 0 !important;
}
.kotEstimateConditionMenu__head span {
  margin-bottom: 4px !important;
}
.kotEstimateConditionMenu__head h3 {
  font-size: 21px !important;
  line-height: 1.42 !important;
}
.kotEstimateConditionMenu__head p {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}
.kotEstimateConditionMenu__list {
  padding: 20px 26px !important;
}
.kotEstimateConditionMenu__actions {
  padding: 0 26px 24px !important;
}
.kotEstimateConditionMenu__action[hidden] {
  display: none !important;
}
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__actions {
  grid-template-columns: minmax(0, 1fr) !important;
}
.kotEstimateConditionMenu.is-comparison .kotEstimateConditionMenu__action[hidden] + .kotEstimateConditionMenu__cancel {
  margin-top: 0 !important;
}

@media screen and (max-width: 760px) {
  .kotEstimateConditionMenu__head {
    gap: 7px !important;
    padding: 18px 16px 15px !important;
  }
  .kotEstimateConditionMenu__head h3 {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }
  .kotEstimateConditionMenu__head p {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
  }
  .kotEstimateConditionMenu__list {
    padding: 15px 14px !important;
  }
  .kotEstimateConditionMenu__actions {
    padding: 0 14px 18px !important;
  }
}

/* Version 1.32.41: align the initial budget panel across SEO, hub and sub shortcodes. */
/* SEO専用ページはシミュレーター外枠の内側いっぱいに近づけ、左右の二重余白を解消。 */
.kotoieEstimateSeoSimulator__body .kot-reform222-budget-box:not(.kotEstimateConditionSource__hidden) {
  width: auto !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

/* メイン／サブショートコードは、初期予算枠の下に外枠内の余白を確保。 */
.kotoie-estimate--hub .kot-reform222-budget-box:not(.kotEstimateConditionSource__hidden),
.kotoie-estimate--embedded .kot-reform222-budget-box:not(.kotEstimateConditionSource__hidden) {
  margin-bottom: 24px !important;
}

@media screen and (max-width: 760px) {
  .kotoieEstimateSeoSimulator__body .kot-reform222-budget-box:not(.kotEstimateConditionSource__hidden) {
    margin-right: 0 !important;
    margin-left: 0 !important;
  }
  .kotoie-estimate--hub .kot-reform222-budget-box:not(.kotEstimateConditionSource__hidden),
  .kotoie-estimate--embedded .kot-reform222-budget-box:not(.kotEstimateConditionSource__hidden) {
    margin-bottom: 18px !important;
  }
}

/* Version 1.32.43: align the confirmed-condition panel with surrounding cards and add top separation in hub/sub views. */
/* Main hub and embedded/sub shortcodes use the same horizontal inset as the result card. */
.kotoie-estimate--hub .kotEstimateConditionMenu,
.kotoie-estimate--embedded .kotEstimateConditionMenu {
  width: auto !important;
  max-width: none !important;
  margin: 24px 20px 26px !important;
  box-sizing: border-box !important;
}

/* The SEO calculator already supplies the outer inset, so its condition panel fills that body. */
.kotoieEstimateSeoSimulator__body .kotEstimateConditionMenu {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 22px !important;
  box-sizing: border-box !important;
}

@media screen and (max-width: 760px) {
  /* Match the calculator result card's 14px mobile inset. */
  .kotoie-estimate--hub .kotEstimateConditionMenu,
  .kotoie-estimate--embedded .kotEstimateConditionMenu {
    width: auto !important;
    max-width: none !important;
    margin: 18px 14px 22px !important;
  }

  /* Do not add the generic 12px inset inside the SEO simulator body. */
  .kotoieEstimateSeoSimulator__body .kotEstimateConditionMenu {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
  }
}



/* Version 1.32.45: classify monthly condition trends and keep unselected options visible at 0%. */
.kotoieEstimateSeoPopularity__conditionCategories {
  display: grid;
  gap: 18px;
}
.kotoieEstimateSeoPopularity__conditionCategory {
  min-width: 0;
}
.kotoieEstimateSeoPopularity__conditionCategoryTitle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #8f5109 !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
  text-align: left !important;
  box-shadow: none !important;
}
.kotoieEstimateSeoPopularity__conditionCategoryTitle::before {
  content: "" !important;
  display: block !important;
  flex: 0 0 18px;
  width: 18px;
  height: 3px;
  border-radius: 999px;
  background: #ed8a16;
}
.kotoieEstimateSeoPopularity__conditionCategoryTitle::after {
  content: none !important;
  display: none !important;
}
.kotoieEstimateSeoPopularity__bars .is-current[style*="--kot-pop-width:0%"] {
  min-width: 0 !important;
}
@media screen and (max-width: 760px) {
  .kotoieEstimateSeoPopularity__conditionCategories {
    gap: 15px;
  }
  .kotoieEstimateSeoPopularity__conditionCategoryTitle {
    margin-bottom: 8px !important;
    font-size: 11px !important;
  }
}


/* Version 1.32.48: keep numeric-step actions above the mobile software keyboard. */
@media screen and (max-width: 760px) {
  .kotEstimateStepModal.is-keyboard-active .kotEstimateStepModal__panel {
    height: var(--kot-step-panel-max-height, 100dvh);
    max-height: var(--kot-step-panel-max-height, 100dvh);
  }
  .kotEstimateStepModal.is-keyboard-active .kotEstimateStepModal__body {
    padding-bottom: 94px;
  }
  .kotEstimateStepModal.is-keyboard-active .kotEstimateStepModal__foot {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 5;
    box-shadow: 0 -8px 24px rgba(70, 43, 10, .08);
  }
}

/* v1.35.57: 背面収納などの初期寸法をフォーム上部で明示 */
.kot-reform222-dimension-summary {
  margin: 12px auto 0;
  padding: 10px 14px;
  max-width: 760px;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 8px;
  background: rgba(255,255,255,.72);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}


/* v1.35.67 */
.kotoieEstimateSeoFaq details[open] > .kotoieEstimateSeoFaq__answer,.kotoieEstimateSeoFaq details[open] > .kotoieEstimateSeoFaq__answer > p{display:block!important;visibility:visible!important;opacity:1!important;position:static!important;width:auto!important;height:auto!important;max-height:none!important;overflow:visible!important;clip:auto!important;clip-path:none!important;color:var(--kot-seo-sub,#6f655a)!important;font-size:12px!important;line-height:1.85!important;white-space:normal!important;transform:none!important}.kotoieEstimateSeoFaq details[open] > .kotoieEstimateSeoFaq__answer{padding:0 18px 17px!important;border-top:1px solid #f0e5d5!important}.kotoieEstimateSeoFaq details[open] > .kotoieEstimateSeoFaq__answer > p{margin:14px 0 0!important}
.kotoieEstimateSeoSectionHead__titleLine{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px}.kotoieEstimateSeoSectionHead__icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #efc992;border-radius:15px;background:linear-gradient(145deg,#fff7e9,#ffecd0);color:#b96500;box-shadow:0 8px 18px rgba(133,79,8,.1)}.kotoieEstimateSeoSectionHead__icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.kotoieEstimateSeoSectionHead__titleLine h2{min-width:0}
.kotoieEstimateSeoSimulatorGuide{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:max-content;max-width:calc(100% - 24px);margin:-7px auto 15px;padding:7px 18px 5px;border:1px solid #edc382;border-radius:999px;background:#fff8ed;color:#a95d00;box-shadow:0 7px 18px rgba(109,65,8,.08);text-align:center}.kotoieEstimateSeoSimulatorGuide span{font-size:11px;line-height:1.45;font-weight:900;letter-spacing:.03em}.kotoieEstimateSeoSimulatorGuide svg{width:31px;height:31px;margin-bottom:-14px;fill:none;stroke:#df7500;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 5px rgba(151,79,0,.15));animation:kotoieEstimateGuideArrow 1.35s ease-in-out infinite}@keyframes kotoieEstimateGuideArrow{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}@media(prefers-reduced-motion:reduce){.kotoieEstimateSeoSimulatorGuide svg{animation:none}}
.kotoieEstimateSeoPopularityPrevious{margin-top:20px;padding-top:20px;border-top:1px dashed #d8c2a5}.kotoieEstimateSeoPopularityPrevious__head{margin:0 0 14px;padding:15px 17px;border:1px solid #ead5b8;border-radius:14px;background:#fff9f0}.kotoieEstimateSeoPopularityPrevious__head span{display:block;color:#9e5700;font-size:16px;line-height:1.5;font-weight:900}.kotoieEstimateSeoPopularityPrevious__head p{margin:5px 0 0!important;color:var(--kot-seo-sub,#6f655a);font-size:12px;line-height:1.75;font-weight:650}
@media screen and (max-width:760px){.kotoieEstimateSeoSectionHead__titleLine{grid-template-columns:41px minmax(0,1fr);gap:10px}.kotoieEstimateSeoSectionHead__icon{width:41px;height:41px;border-radius:12px}.kotoieEstimateSeoSectionHead__icon svg{width:25px;height:25px}.kotoieEstimateSeoSectionHead__titleLine h2{font-size:21px!important}.kotoieEstimateSeoSimulatorGuide{margin-top:-5px;padding-inline:14px}.kotoieEstimateSeoPopularityPrevious__head{padding:13px 14px}}


/* v1.35.68: UTF-8 FAQ fix / simplified simulator cue */
.kotoieEstimateSeoSectionHead__icon{
  width:46px!important;
  height:46px!important;
  border:0!important;
  border-radius:50%!important;
  background:#fff0da!important;
  box-shadow:none!important;
}
.kotoieEstimateSeoSimulatorGuide{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  width:auto!important;
  max-width:none!important;
  margin:8px auto 9px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#b86500!important;
  box-shadow:none!important;
  text-align:center!important;
}
.kotoieEstimateSeoSimulatorGuide span{
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.kotoieEstimateSeoSimulatorGuide svg{
  width:32px!important;
  height:32px!important;
  margin:0!important;
  fill:none!important;
  stroke:#df7500!important;
  stroke-width:3!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  filter:none!important;
}
@media screen and (max-width:760px){
  .kotoieEstimateSeoSectionHead__icon{width:40px!important;height:40px!important}
  .kotoieEstimateSeoSimulatorGuide{margin:7px auto 8px!important}
  .kotoieEstimateSeoSimulatorGuide span{font-size:11px!important}
}

/* v1.35.69: simulator heading is a plain introduction area, not a nested card */
.kotoieEstimateSeoSimulator > .kotoieEstimateSeoSectionHead{
  margin:0 0 10px!important;
  padding:4px clamp(4px,1.5vw,12px) 8px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.kotoieEstimateSeoSimulator > .kotoieEstimateSeoSectionHead > span{
  display:none!important;
}
.kotoieEstimateSeoSimulator > .kotoieEstimateSeoSectionHead .kotoieEstimateSeoSectionHead__titleLine{
  align-items:center!important;
}
.kotoieEstimateSeoSimulator > .kotoieEstimateSeoSectionHead p{
  margin-top:12px!important;
}
.kotoieEstimateSeoSimulator > .kotoieEstimateSeoSimulatorGuide{
  margin:5px auto 12px!important;
}
@media screen and (max-width:760px){
  .kotoieEstimateSeoSimulator > .kotoieEstimateSeoSectionHead{
    margin-bottom:8px!important;
    padding:2px 2px 6px!important;
  }
  .kotoieEstimateSeoSimulator > .kotoieEstimateSeoSimulatorGuide{
    margin:4px auto 10px!important;
  }
}



/* v1.35.70: remove the floating simulator cue and connect sections with spacing only */
.kotoieEstimateSeoSimulator > .kotoieEstimateSeoSectionHead{
  margin-bottom:24px!important;
}
@media screen and (max-width:760px){
  .kotoieEstimateSeoSimulator > .kotoieEstimateSeoSectionHead{
    margin-bottom:18px!important;
  }
}


/* v1.35.71: integrate a refined animated entry cue into the condition card */
.kotEstimateConditionMenu__entryCue{
  display:none;
}
.kotoieEstimateSeoSimulator__body .kotEstimateConditionMenu{
  position:relative!important;
  overflow:visible!important;
}
.kotoieEstimateSeoSimulator__body .kotEstimateConditionMenu__head{
  border-radius:19px 19px 0 0;
}
.kotoieEstimateSeoSimulator__body .kotEstimateConditionMenu__entryCue{
  position:absolute;
  top:-24px;
  left:50%;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#fff0da;
  color:#d97600;
  box-shadow:0 9px 22px rgba(116,70,9,.14);
  transform:translateX(-50%);
  pointer-events:none;
}
.kotoieEstimateSeoSimulator__body .kotEstimateConditionMenu__entryCue svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
  animation:kotoieEstimateConditionEntryCue 2.8s ease-in-out infinite;
}
@keyframes kotoieEstimateConditionEntryCue{
  0%,55%,100%{transform:translateY(0)}
  68%{transform:translateY(5px)}
  78%{transform:translateY(0)}
  88%{transform:translateY(3px)}
}
@media (prefers-reduced-motion:reduce){
  .kotoieEstimateSeoSimulator__body .kotEstimateConditionMenu__entryCue svg{
    animation:none;
  }
}
@media screen and (max-width:760px){
  .kotoieEstimateSeoSimulator__body .kotEstimateConditionMenu__head{
    border-radius:16px 16px 0 0;
  }
  .kotoieEstimateSeoSimulator__body .kotEstimateConditionMenu__entryCue{
    top:-21px;
    width:40px;
    height:40px;
    box-shadow:0 7px 18px rgba(116,70,9,.13);
  }
  .kotoieEstimateSeoSimulator__body .kotEstimateConditionMenu__entryCue svg{
    width:23px;
    height:23px;
  }
}

/* v1.35.72: mobile spacing and narrow-screen balance for the integrated entry cue */
@media screen and (max-width:760px){
  .kotoieEstimateSeoSimulator__body .kotEstimateConditionMenu__head{
    padding-top:25px!important;
  }
}
@media screen and (max-width:360px){
  .kotoieEstimateSeoSimulator > .kotoieEstimateSeoSectionHead .kotoieEstimateSeoSectionHead__titleLine{
    grid-template-columns:38px minmax(0,1fr)!important;
    gap:9px!important;
  }
  .kotoieEstimateSeoSimulator > .kotoieEstimateSeoSectionHead .kotoieEstimateSeoSectionHead__icon{
    width:38px!important;
    height:38px!important;
  }
  .kotoieEstimateSeoSimulator > .kotoieEstimateSeoSectionHead .kotoieEstimateSeoSectionHead__icon svg{
    width:23px!important;
    height:23px!important;
  }
  .kotoieEstimateSeoSimulator > .kotoieEstimateSeoSectionHead .kotoieEstimateSeoSectionHead__titleLine h2{
    font-size:20px!important;
    line-height:1.45!important;
  }
}

/* v1.35.73: keep the simulator title suffix intact on desktop */
@media screen and (min-width:761px){
  .kotoieEstimateSeoSimulator > .kotoieEstimateSeoSectionHead .kotoieEstimateSeoSectionHead__titleSuffix{
    display:inline-block;
    white-space:nowrap;
  }
}
/* Version 1.35.97: previous-month fallback and legacy band explanation. */
.kotoieEstimateSeoPopularityPrevious__legacyNote{margin:8px 0 0!important;padding-top:8px;border-top:1px dashed #e5cda9;color:#786b5e!important;font-size:11px!important;line-height:1.7!important;font-weight:650!important}


/* v1.35.98.4: 減築フォームの項目群。共通カードへ負の余白を加えず、PC・モバイルとも枠線を離す。 */
.kot-reduction-sim .kot-reform222-form{display:grid;gap:22px;}
.kot-reduction-field-group{display:grid;gap:14px;margin:0;padding:20px;border:1px solid rgba(15,23,42,.12);border-radius:14px;background:#fff;}
.kot-reduction-field-group__title{margin:0 0 2px;font-weight:800;line-height:1.5;color:#1f2937;}
.kot-reduction-field-group + .kot-reduction-field-group{margin-top:0;}
.kot-reduction-sim .kot-field-note{display:block;margin-top:6px;line-height:1.6;color:#64748b;}
.kot-reduction-sim .kot-estimate-number-field > div{display:flex;align-items:center;gap:8px;}
@media (max-width: 767px){
  .kot-reduction-sim .kot-reform222-form{gap:16px;}
  .kot-reduction-field-group{gap:12px;padding:16px 14px;border-radius:12px;}
}

/* Water-area v1.35.98.6: 複数設備フォーム・内訳表（既存ジャンルへ影響しないスコープ） */
.kot-water-sim .kot-water-form {
  display: grid;
  gap: 18px;
}
.kot-water-sim .kot-water-fieldset {
  min-width: 0;
  margin: 0;
  padding: 20px;
  border: 1px solid #dfe5ea;
  border-radius: 14px;
  background: #fff;
}
.kot-water-sim .kot-water-fieldset + .kot-water-fieldset {
  margin-top: 0;
}
.kot-water-sim .kot-water-fieldset legend {
  max-width: 100%;
  padding: 0 8px;
  font-weight: 700;
  line-height: 1.45;
  white-space: normal;
}
.kot-water-sim .kot-water-field {
  margin: 0 0 14px;
}
.kot-water-sim .kot-water-field:last-of-type {
  margin-bottom: 0;
}
.kot-water-sim .kot-water-field-note {
  margin: 0 0 14px;
}
.kot-water-sim .kot-water-form-notice,
.kot-water-sim .kot-water-corrections,
.kot-water-sim .kot-water-selected,
.kot-water-sim .kot-water-breakdown {
  margin: 18px 0 0;
  padding: 16px 18px;
  border: 1px solid #dfe5ea;
  border-radius: 12px;
  background: #fff;
}
.kot-water-sim .kot-water-form-notice:empty,
.kot-water-sim .kot-water-form-notice[hidden] {
  display: none;
}
.kot-water-sim .kot-water-corrections ul,
.kot-water-sim .kot-water-selected ul {
  margin: 10px 0 0;
  padding-left: 1.4em;
}
.kot-water-sim .kot-water-corrections li,
.kot-water-sim .kot-water-selected li {
  margin: 6px 0;
  line-height: 1.65;
}
.kot-water-sim .kot-water-selected ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-left: 0;
  list-style: none;
}
.kot-water-sim .kot-water-selected li {
  margin: 0;
  padding: 5px 10px;
  border: 1px solid #dfe5ea;
  border-radius: 999px;
  background: #f7f9fa;
  font-size: 13px;
}
.kot-water-sim .kot-water-group-summary {
  margin-top: 18px;
}
.kot-water-sim .kot-water-breakdown summary {
  cursor: pointer;
  font-weight: 700;
  line-height: 1.55;
}
.kot-water-sim .kot-water-breakdown-scroll {
  width: 100%;
  margin-top: 14px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.kot-water-sim .kot-water-breakdown table {
  width: 100%;
  min-width: 650px;
  border-collapse: collapse;
  table-layout: auto;
}
.kot-water-sim .kot-water-breakdown th,
.kot-water-sim .kot-water-breakdown td {
  padding: 10px 12px;
  border-bottom: 1px solid #e5e9ec;
  text-align: right;
  white-space: nowrap;
}
.kot-water-sim .kot-water-breakdown th:first-child {
  text-align: left;
  white-space: normal;
}
.kot-water-sim .kot-water-breakdown p {
  margin: 12px 0 0;
  line-height: 1.65;
}
.kot-water-sim [hidden] {
  display: none !important;
}
@media (min-width: 768px) {
  .kot-water-sim .kot-water-fieldset {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
  }
  .kot-water-sim .kot-water-fieldset legend {
    grid-column: 1 / -1;
  }
  .kot-water-sim .kot-water-field-note {
    grid-column: 1 / -1;
  }
}
@media (max-width: 767px) {
  .kot-water-sim .kot-water-fieldset {
    padding: 16px 14px;
  }
  .kot-water-sim .kot-water-selected ul {
    display: block;
  }
  .kot-water-sim .kot-water-selected li + li {
    margin-top: 7px;
  }
  .kot-water-sim .kot-water-breakdown th,
  .kot-water-sim .kot-water-breakdown td {
    padding: 9px 10px;
    font-size: 13px;
  }
}

/* v1.35.98.87: TOP hub heading rhythm, info-card spacing and FAQ card separation. */
.kotEstimateHub__titleAccent .kotEstimateHub__titleLine {
  white-space: nowrap;
}

.kotoie-estimate--hub .kotoieEstimateSeoInfoCard > p {
  margin: 10px 0 0 !important;
}

.kotoieEstimateSeoFaq__list {
  display: grid;
  gap: 10px;
}

@media screen and (max-width: 600px) {
  .kotEstimateHub__titleAccent .kotEstimateHub__titleLine {
    display: block;
  }
}
/* v1.35.98.88: normalize TOP SEO card title/body spacing independent of theme paragraph margins. */
.kotoie-estimate--hub .kotoieEstimateSeoInfoGrid > .kotoieEstimateSeoInfoCard {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.kotoie-estimate--hub .kotoieEstimateSeoInfoGrid > .kotoieEstimateSeoInfoCard > h3,
.kotoie-estimate--hub .kotoieEstimateSeoInfoGrid > .kotoieEstimateSeoInfoCard > p {
  margin: 0 !important;
  padding: 0 !important;
}

/* v1.35.98.95: TOP hub title, selected-card breathing room, monthly center bands and resource links. */
.kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__title {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  width: min(650px, 100%);
  margin: 0 auto !important;
  text-align: left !important;
}
.kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border: 1px solid #efc992;
  border-radius: 17px;
  background: linear-gradient(145deg, #fff7e9, #ffecd0);
  color: #b96500;
  box-shadow: 0 9px 20px rgba(133,79,8,.10);
}
.kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleIcon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleAccent {
  min-width: 0;
  color: #e98200;
  font-size: clamp(30px, 4.2vw, 38px) !important;
  line-height: 1.32 !important;
  letter-spacing: .025em;
  text-align: left;
}
.kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleAccent .kotEstimateHub__titleLine {
  display: block;
  white-space: nowrap;
}

/* Dynamically loaded second card: retain a visible, even yellow frame around the white simulator. */
.kotoie-estimate--hub .kotEstimateHub__result {
  box-sizing: border-box;
  max-width: 788px;
  padding: 14px !important;
}
.kotoie-estimate--hub .kotEstimateHub__result .kot-reform222-wrap {
  width: 100%;
}

.kotEstimateHubMonthly,
.kotEstimateHubResources {
  width: min(900px, 100%);
  margin: 28px auto 0;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid #eadbc5;
  border-radius: 22px;
  background: #fffdf9;
  box-shadow: 0 12px 32px rgba(83,52,13,.06);
}
.kotEstimateHubMonthly__head {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
}
.kotEstimateHubMonthly__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border: 1px solid #efc992;
  border-radius: 15px;
  background: linear-gradient(145deg, #fff7e9, #ffecd0);
  color: #b96500;
}
.kotEstimateHubMonthly__icon svg,
.kotEstimateHubResources__icon svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.kotEstimateHubMonthly__head > div > span,
.kotEstimateHubResources__head > span {
  display: block;
  margin: 0 0 4px;
  color: #b76500;
  font-size: 10.5px;
  line-height: 1.5;
  font-weight: 900;
}
.kotEstimateHubMonthly__head h2,
.kotEstimateHubResources__head h2 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #5c432a !important;
  font-size: clamp(20px, 2.7vw, 28px) !important;
  line-height: 1.4 !important;
  font-weight: 900 !important;
}
.kotEstimateHubMonthly__head p,
.kotEstimateHubResources__head p {
  margin: 8px 0 0 !important;
  color: #75695d;
  font-size: 12px;
  line-height: 1.75;
}
.kotEstimateHubMonthly__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-top: 18px;
}
.kotEstimateHubMonthly__grid > a {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 96px;
  flex-direction: column;
  justify-content: center;
  padding: 13px 27px 12px 12px;
  border: 1px solid #eadfce;
  border-radius: 12px;
  background: #fffaf3;
  color: #5a4937 !important;
  text-decoration: none !important;
}
.kotEstimateHubMonthly__grid > a > span {
  overflow: hidden;
  color: #7b6753;
  font-size: 11px;
  line-height: 1.45;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kotEstimateHubMonthly__grid > a > strong {
  display: block;
  margin-top: 4px;
  color: #b76500;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 900;
}
.kotEstimateHubMonthly__grid > a > small {
  display: block;
  margin-top: 3px;
  color: #8b7b69;
  font-size: 9px;
  line-height: 1.4;
  font-weight: 700;
}
.kotEstimateHubMonthly__grid > a > i {
  position: absolute;
  top: 50%;
  right: 11px;
  color: #ce7100;
  font-size: 18px;
  font-style: normal;
  transform: translateY(-50%);
}
.kotEstimateHubMonthly__grid > a:hover,
.kotEstimateHubMonthly__grid > a:focus-visible,
.kotEstimateHubResources__card:hover,
.kotEstimateHubResources__card:focus-visible {
  outline: none;
  border-color: #ed9630;
  background: #fff4e3;
}
.kotEstimateHubMonthly__more {
  margin: 14px 0 0 !important;
  text-align: right;
}
.kotEstimateHubMonthly__more a {
  color: #9f5b00 !important;
  font-size: 11px;
  line-height: 1.5;
  font-weight: 900;
  text-decoration: none !important;
}
.kotEstimateHubMonthly__more a span { margin-left: 5px; }
.kotEstimateHubMonthly__empty {
  display: grid;
  gap: 4px;
  margin-top: 16px;
  padding: 16px;
  border: 1px dashed #dfc9a9;
  border-radius: 12px;
  background: #fffaf3;
  color: #75695d;
  text-align: center;
}
.kotEstimateHubMonthly__empty strong { color: #6a4b2c; font-size: 13px; }
.kotEstimateHubMonthly__empty span { font-size: 11px; line-height: 1.6; }

.kotEstimateHubResources__head { text-align: center; }
.kotEstimateHubResources__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
  margin-top: 18px;
}
.kotEstimateHubResources__card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 118px;
  padding: 14px;
  border: 1px solid #eadfce;
  border-radius: 14px;
  background: #fffaf3;
  color: #5a4937 !important;
  text-decoration: none !important;
}
.kotEstimateHubResources__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #fff0d9;
  color: #b96500;
}
.kotEstimateHubResources__icon svg { width: 25px; height: 25px; }
.kotEstimateHubResources__copy {
  display: block;
  min-width: 0;
}
.kotEstimateHubResources__copy > small,
.kotEstimateHubResources__copy > strong,
.kotEstimateHubResources__copy > span {
  display: block;
}
.kotEstimateHubResources__copy > small {
  color: #b76500;
  font-size: 9px;
  line-height: 1.4;
  font-weight: 900;
}
.kotEstimateHubResources__copy > strong {
  margin-top: 3px;
  color: #5c432a;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 900;
}
.kotEstimateHubResources__copy > span {
  margin-top: 5px;
  color: #817363;
  font-size: 9.5px;
  line-height: 1.6;
  font-weight: 600;
}
.kotEstimateHubResources__card > i {
  color: #ce7100;
  font-size: 19px;
  font-style: normal;
}

/* The existing full genre directory now shows the same monthly center-band summary without another query. */
.kotEstimateHubLinks__group a {
  align-items: center;
  gap: 7px;
}
.kotEstimateHubLinks__group a .kotEstimateHubLinks__linkCopy {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  color: #5a4937;
  font-size: inherit;
}
.kotEstimateHubLinks__linkCopy > b {
  display: block;
  overflow: hidden;
  color: #5a4937;
  font-size: inherit;
  line-height: 1.4;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.kotEstimateHubLinks__linkCopy > small {
  display: block;
  margin-top: 2px;
  color: #8a7a68;
  font-size: 8.5px;
  line-height: 1.35;
  font-weight: 700;
}
.kotEstimateHubLinks__linkCopy > small > strong {
  color: #b76500;
  font-size: 9px;
  font-weight: 900;
}
.kotEstimateHubLinks__group a .kotEstimateHubLinks__arrow {
  flex: 0 0 auto;
  color: #ce7100;
  font-size: 16px;
  font-style: normal;
}

@media screen and (max-width: 760px) {
  .kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__title {
    grid-template-columns: 1fr;
    gap: 10px;
    text-align: center !important;
  }
  .kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleIcon {
    width: 46px;
    height: 46px;
    margin: 0 auto;
    border-radius: 13px;
  }
  .kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleIcon svg {
    width: 28px;
    height: 28px;
  }
  .kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleAccent {
    font-size: 23px !important;
    line-height: 1.38 !important;
    text-align: center;
  }
  .kotoie-estimate--hub .kotEstimateHub__result {
    width: 100% !important;
    max-width: 100% !important;
    margin: 42px auto 0 !important;
    padding: 10px !important;
  }
  .kotoie-estimate--hub .kotEstimateHub__result .kot-reform222-wrap {
    border-radius: 12px !important;
  }
  .kotEstimateHubMonthly,
  .kotEstimateHubResources {
    width: calc(100% - 12px);
    margin-top: 18px;
    padding: 17px 11px;
    border-radius: 16px;
  }
  .kotEstimateHubMonthly__head {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px;
  }
  .kotEstimateHubMonthly__icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
  }
  .kotEstimateHubMonthly__icon svg { width: 25px; height: 25px; }
  .kotEstimateHubMonthly__head h2,
  .kotEstimateHubResources__head h2 {
    font-size: 18px !important;
  }
  .kotEstimateHubMonthly__head p,
  .kotEstimateHubResources__head p {
    font-size: 10.5px;
    line-height: 1.7;
  }
  .kotEstimateHubMonthly__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
    margin-top: 14px;
  }
  .kotEstimateHubMonthly__grid > a {
    min-height: 82px;
    padding: 10px 22px 9px 9px;
    border-radius: 10px;
  }
  .kotEstimateHubMonthly__grid > a > span { font-size: 9.5px; }
  .kotEstimateHubMonthly__grid > a > strong { font-size: 13px; }
  .kotEstimateHubMonthly__grid > a > small { font-size: 8px; }
  .kotEstimateHubMonthly__grid > a > i { right: 8px; font-size: 15px; }
  .kotEstimateHubMonthly__more { text-align: center; }
  .kotEstimateHubResources__grid {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 14px;
  }
  .kotEstimateHubResources__card {
    min-height: 0;
    padding: 11px;
    border-radius: 11px;
  }
  .kotEstimateHubLinks__linkCopy > small { font-size: 7.8px; }
  .kotEstimateHubLinks__linkCopy > small > strong { font-size: 8.3px; }
}

/* v1.35.98.96: align TOP hub card widths/gaps and use an SEO-hero-style background icon. */
.kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__title {
  position: relative;
  display: block;
  width: min(650px, 100%);
  margin: 0 auto !important;
  text-align: left !important;
}
.kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleIcon {
  position: absolute;
  z-index: 0;
  top: -42px;
  right: -8px;
  display: block;
  width: clamp(150px, 20vw, 205px);
  height: clamp(150px, 20vw, 205px);
  margin: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: #c87b27;
  box-shadow: none;
  opacity: .12;
  pointer-events: none;
  transform: rotate(-3deg);
}
.kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleIcon svg {
  display: block;
  width: 100%;
  height: 100%;
  stroke-width: 2.05;
}
.kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleAccent {
  position: relative;
  z-index: 1;
  display: block;
  max-width: calc(100% - 120px);
  color: #e98200;
  font-size: clamp(34px, 4.6vw, 44px) !important;
  line-height: 1.3 !important;
  letter-spacing: .02em;
  text-align: left !important;
}
.kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleAccent .kotEstimateHub__titleLine {
  display: block;
  white-space: nowrap;
}

/* Match the selected simulator to the 900px TOP information cards on desktop. */
.kotoie-estimate--hub .kotEstimateHub__result {
  width: min(900px, 100%) !important;
  max-width: 900px !important;
  padding: 14px 0 !important;
}
.kotoie-estimate--hub .kotEstimateHub__result .kot-reform222-wrap {
  width: 100% !important;
  max-width: 900px !important;
}

/* Resource heading follows the same left-aligned reading direction as the other explanatory sections. */
.kotoie-estimate--hub .kotEstimateHubResources__head {
  text-align: left !important;
}
.kotoie-estimate--hub .kotEstimateHubResources {
  margin-bottom: 28px !important;
}
.kotoie-estimate--hub .kotEstimateHubResources + .kotoieEstimateSeoContent {
  margin-top: 0 !important;
}

@media screen and (max-width: 760px) {
  .kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__title {
    display: block;
    width: 100%;
    text-align: left !important;
  }
  .kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleIcon {
    top: -22px;
    right: -3px;
    width: 124px;
    height: 124px;
    margin: 0;
    border-radius: 0;
  }
  .kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleIcon svg {
    width: 100%;
    height: 100%;
  }
  .kotoie-estimate--hub .kotEstimateHub__card .kotEstimateHub__titleAccent {
    max-width: calc(100% - 62px);
    font-size: 25px !important;
    line-height: 1.38 !important;
    text-align: left !important;
  }
  .kotoie-estimate--hub .kotEstimateHub__result {
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 0 !important;
  }
  .kotoie-estimate--hub .kotEstimateHub__result .kot-reform222-wrap {
    width: 100% !important;
    max-width: 100% !important;
  }
  .kotoie-estimate--hub .kotEstimateHubMonthly,
  .kotoie-estimate--hub .kotEstimateHubResources {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
  .kotoie-estimate--hub .kotEstimateHubResources {
    margin-bottom: 22px !important;
  }
}


/* v1.35.98.97: TOP mobile card typography, FIT theme div-margin reset, and left-aligned badge. */
.kotoie-estimate--hub .kotEstimateHub__badge {
  display: flex;
  width: max-content;
  margin: 0 0 18px max(0px, calc((100% - 650px) / 2)) !important;
}

/* FIT can apply `.content div { margin-top: 2rem; }`; keep the monthly heading aligned with its icon. */
.content .kotoie-estimate--hub .kotEstimateHubMonthly__head > div,
.kotoie-estimate--hub .kotEstimateHubMonthly__head > div {
  margin-top: 0 !important;
}

@media screen and (max-width: 760px) {
  /* Use the monthly result cards as the typography scale for the other compact TOP cards. */
  .kotoie-estimate--hub .kotEstimateHubResources__copy > small {
    font-size: 9.5px;
    line-height: 1.45;
  }
  .kotoie-estimate--hub .kotEstimateHubResources__copy > strong {
    font-size: 13px;
    line-height: 1.45;
  }
  .kotoie-estimate--hub .kotEstimateHubResources__copy > span {
    font-size: 9.5px;
    line-height: 1.6;
  }

  .kotoie-estimate--hub .kotoieEstimateSeoPlan > span {
    font-size: 9.5px;
    line-height: 1.45;
  }
  .kotoie-estimate--hub .kotoieEstimateSeoPlan > strong,
  .kotoie-estimate--hub .kotoieEstimateSeoInfoCard > h3 {
    font-size: 13px;
    line-height: 1.45;
  }
  .kotoie-estimate--hub .kotoieEstimateSeoPlan > p,
  .kotoie-estimate--hub .kotoieEstimateSeoInfoCard > p,
  .kotoie-estimate--hub .kotoieEstimateSeoInfoCard li,
  .kotoie-estimate--hub .kotoieEstimateSeoInfoCard dt,
  .kotoie-estimate--hub .kotoieEstimateSeoInfoCard dd {
    font-size: 9.5px;
    line-height: 1.65;
  }

  .kotoie-estimate--hub .kotEstimateHub__badge {
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

/* v1.35.98.98: unify TOP hub typography hierarchy and vertical rhythm.
   Keep this scoped to the main hub so SEO genre pages retain their own scale. */
.kotoie-estimate--hub {
  --kot-hub-section-title-size: clamp(22px, 2.5vw, 26px);
  --kot-hub-section-lead-size: 12px;
  --kot-hub-eyebrow-size: 10.5px;
  --kot-hub-card-title-size: 14px;
  --kot-hub-card-body-size: 11.5px;
  --kot-hub-card-label-size: 10px;
  --kot-hub-section-gap: 24px;
  --kot-hub-card-gap: 10px;
}

/* One section-heading system: monthly data, resource links, editorial blocks and genre directory. */
.kotoie-estimate--hub .kotEstimateHubMonthly__head h2,
.kotoie-estimate--hub .kotEstimateHubResources__head h2,
.kotoie-estimate--hub .kotoieEstimateSeoBlock__head h2,
.kotoie-estimate--hub .kotEstimateHubLinks__head h2 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #5c432a !important;
  font-size: var(--kot-hub-section-title-size) !important;
  line-height: 1.42 !important;
  font-weight: 900 !important;
  letter-spacing: -.01em !important;
  text-align: left !important;
}
.kotoie-estimate--hub .kotEstimateHubMonthly__head > div > span,
.kotoie-estimate--hub .kotEstimateHubResources__head > span,
.kotoie-estimate--hub .kotoieEstimateSeoBlock__head > span,
.kotoie-estimate--hub .kotEstimateHubLinks__head > span {
  display: block;
  margin: 0 0 5px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #b76500 !important;
  font-size: var(--kot-hub-eyebrow-size) !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  letter-spacing: .035em !important;
  text-align: left !important;
}
.kotoie-estimate--hub .kotEstimateHubMonthly__head p,
.kotoie-estimate--hub .kotEstimateHubResources__head p,
.kotoie-estimate--hub .kotoieEstimateSeoBlock__head p,
.kotoie-estimate--hub .kotEstimateHubLinks__head p {
  max-width: none !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  color: #75695d !important;
  font-size: var(--kot-hub-section-lead-size) !important;
  line-height: 1.75 !important;
  font-weight: 650 !important;
  text-align: left !important;
}
.kotoie-estimate--hub .kotoieEstimateSeoBlock__head,
.kotoie-estimate--hub .kotEstimateHubResources__head,
.kotoie-estimate--hub .kotEstimateHubLinks__head {
  text-align: left !important;
}

/* Keep the large white TOP sections on a regular vertical rhythm. */
.kotoie-estimate--hub .kotEstimateHubMonthly,
.kotoie-estimate--hub .kotEstimateHubResources,
.kotoie-estimate--hub .kotEstimateHubLinks {
  margin-top: var(--kot-hub-section-gap) !important;
}
.kotoie-estimate--hub .kotEstimateHubResources {
  margin-bottom: var(--kot-hub-section-gap) !important;
}
.kotoie-estimate--hub .kotEstimateHubResources + .kotoieEstimateSeoContent {
  margin-top: 0 !important;
}
.kotoie-estimate--hub .kotoieEstimateSeoContent {
  gap: var(--kot-hub-section-gap) !important;
}
.kotoie-estimate--hub .kotoieEstimateSeoBlock {
  padding: 24px !important;
}
.kotoie-estimate--hub .kotoieEstimateSeoInfoGrid,
.kotoie-estimate--hub .kotoieEstimateSeoPlanGrid {
  gap: var(--kot-hub-card-gap) !important;
  margin-top: 18px !important;
}

/* One compact-card text system. Numeric monthly values remain deliberately stronger. */
.kotoie-estimate--hub .kotEstimateHubResources__copy > small,
.kotoie-estimate--hub .kotoieEstimateSeoPlan > span {
  font-size: var(--kot-hub-card-label-size) !important;
  line-height: 1.45 !important;
}
.kotoie-estimate--hub .kotEstimateHubResources__copy > strong,
.kotoie-estimate--hub .kotoieEstimateSeoPlan > strong,
.kotoie-estimate--hub .kotoieEstimateSeoInfoCard > h3 {
  margin-top: 0 !important;
  color: #5c432a !important;
  font-size: var(--kot-hub-card-title-size) !important;
  line-height: 1.5 !important;
  font-weight: 900 !important;
}
.kotoie-estimate--hub .kotEstimateHubResources__copy > span,
.kotoie-estimate--hub .kotoieEstimateSeoPlan > p,
.kotoie-estimate--hub .kotoieEstimateSeoInfoCard > p,
.kotoie-estimate--hub .kotoieEstimateSeoInfoCard li,
.kotoie-estimate--hub .kotoieEstimateSeoInfoCard dt,
.kotoie-estimate--hub .kotoieEstimateSeoInfoCard dd {
  color: #75695d !important;
  font-size: var(--kot-hub-card-body-size) !important;
  line-height: 1.72 !important;
}
.kotoie-estimate--hub .kotEstimateHubResources__copy > strong {
  margin-top: 3px !important;
}
.kotoie-estimate--hub .kotEstimateHubResources__copy > span {
  margin-top: 5px !important;
}
.kotoie-estimate--hub .kotoieEstimateSeoInfoGrid > .kotoieEstimateSeoInfoCard {
  gap: 8px !important;
  padding: 16px !important;
}
.kotoie-estimate--hub .kotoieEstimateSeoInfoGrid > .kotoieEstimateSeoInfoCard > h3,
.kotoie-estimate--hub .kotoieEstimateSeoInfoGrid > .kotoieEstimateSeoInfoCard > p {
  margin: 0 !important;
}

/* FAQ belongs to the same hierarchy instead of looking like a separate type scale. */
.kotoie-estimate--hub .kotoieEstimateSeoFaq {
  gap: 8px !important;
  margin-top: 18px !important;
}
.kotoie-estimate--hub .kotoieEstimateSeoFaq summary {
  padding: 14px 46px 14px 15px !important;
  font-size: 12.5px !important;
  line-height: 1.6 !important;
}
.kotoie-estimate--hub .kotoieEstimateSeoFaq details p,
.kotoie-estimate--hub .kotoieEstimateSeoFaq details[open] > .kotoieEstimateSeoFaq__answer > p {
  font-size: 11.5px !important;
  line-height: 1.75 !important;
}

/* The monthly cards define the compact data-card hierarchy. */
.kotoie-estimate--hub .kotEstimateHubMonthly__grid > a > span {
  font-size: 10px !important;
  line-height: 1.45 !important;
}
.kotoie-estimate--hub .kotEstimateHubMonthly__grid > a > strong {
  font-size: 16px !important;
  line-height: 1.35 !important;
}
.kotoie-estimate--hub .kotEstimateHubMonthly__grid > a > small {
  font-size: 9px !important;
  line-height: 1.45 !important;
}

/* Bottom genre directory uses the same section heading scale and a quieter card scale. */
.kotoie-estimate--hub .kotEstimateHubLinks__head {
  margin-bottom: 16px !important;
}
.kotoie-estimate--hub .kotEstimateHubLinks__group h3 {
  font-size: 12.5px !important;
  line-height: 1.5 !important;
}
.kotoie-estimate--hub .kotEstimateHubLinks__linkCopy > b {
  font-size: 11px !important;
  line-height: 1.45 !important;
}
.kotoie-estimate--hub .kotEstimateHubLinks__linkCopy > small {
  font-size: 9px !important;
  line-height: 1.4 !important;
}
.kotoie-estimate--hub .kotEstimateHubLinks__linkCopy > small > strong {
  font-size: 9.5px !important;
}

@media screen and (max-width: 760px) {
  .kotoie-estimate--hub {
    --kot-hub-section-title-size: 17px;
    --kot-hub-section-lead-size: 10.5px;
    --kot-hub-eyebrow-size: 9.5px;
    --kot-hub-card-title-size: 13px;
    --kot-hub-card-body-size: 9.5px;
    --kot-hub-card-label-size: 9.5px;
    --kot-hub-section-gap: 18px;
    --kot-hub-card-gap: 8px;
  }

  .kotoie-estimate--hub .kotEstimateHubMonthly,
  .kotoie-estimate--hub .kotEstimateHubResources,
  .kotoie-estimate--hub .kotEstimateHubLinks {
    padding: 16px 11px !important;
    border-radius: 16px !important;
  }
  .kotoie-estimate--hub .kotoieEstimateSeoBlock {
    padding: 18px 13px !important;
    border-radius: 16px !important;
  }
  .kotoie-estimate--hub .kotoieEstimateSeoInfoGrid,
  .kotoie-estimate--hub .kotoieEstimateSeoPlanGrid {
    margin-top: 14px !important;
  }
  .kotoie-estimate--hub .kotoieEstimateSeoInfoGrid > .kotoieEstimateSeoInfoCard,
  .kotoie-estimate--hub .kotoieEstimateSeoPlan {
    padding: 12px !important;
    border-radius: 11px !important;
  }
  .kotoie-estimate--hub .kotoieEstimateSeoInfoGrid > .kotoieEstimateSeoInfoCard {
    gap: 7px !important;
  }
  .kotoie-estimate--hub .kotEstimateHubResources__card {
    gap: 9px !important;
    padding: 11px !important;
  }
  .kotoie-estimate--hub .kotEstimateHubResources__copy > strong {
    margin-top: 2px !important;
  }
  .kotoie-estimate--hub .kotEstimateHubResources__copy > span {
    margin-top: 4px !important;
  }
  .kotoie-estimate--hub .kotoieEstimateSeoFaq {
    margin-top: 14px !important;
  }
  .kotoie-estimate--hub .kotoieEstimateSeoFaq summary {
    padding: 11px 38px 11px 12px !important;
    font-size: 10.5px !important;
    line-height: 1.6 !important;
  }
  .kotoie-estimate--hub .kotoieEstimateSeoFaq summary::after {
    right: 12px !important;
    font-size: 18px !important;
  }
  .kotoie-estimate--hub .kotoieEstimateSeoFaq details > div {
    padding: 0 12px 12px !important;
  }
  .kotoie-estimate--hub .kotoieEstimateSeoFaq details p,
  .kotoie-estimate--hub .kotoieEstimateSeoFaq details[open] > .kotoieEstimateSeoFaq__answer > p {
    margin-top: 10px !important;
    font-size: 9.5px !important;
    line-height: 1.7 !important;
  }
  .kotoie-estimate--hub .kotEstimateHubMonthly__grid > a {
    padding-top: 11px !important;
    padding-bottom: 10px !important;
  }
  .kotoie-estimate--hub .kotEstimateHubMonthly__grid > a > span {
    font-size: 9.5px !important;
  }
  .kotoie-estimate--hub .kotEstimateHubMonthly__grid > a > strong {
    font-size: 13px !important;
  }
  .kotoie-estimate--hub .kotEstimateHubMonthly__grid > a > small {
    font-size: 8px !important;
  }
  .kotoie-estimate--hub .kotEstimateHubLinks__head {
    margin-bottom: 12px !important;
  }
  .kotoie-estimate--hub .kotEstimateHubLinks__group h3 {
    font-size: 10.5px !important;
  }
  .kotoie-estimate--hub .kotEstimateHubLinks__linkCopy > b {
    font-size: 9.5px !important;
  }
  .kotoie-estimate--hub .kotEstimateHubLinks__linkCopy > small {
    font-size: 8px !important;
  }
  .kotoie-estimate--hub .kotEstimateHubLinks__linkCopy > small > strong {
    font-size: 8.5px !important;
  }
}

/* v1.35.98.113: 情報ガイドの費用早見表・㎡/坪表示切替 */
.kotoieEstimateSeoGuideReference {
  margin-top: 34px;
  border-color: #eadbc5;
  background: #fffdf9;
}
.kotoieEstimateSeoGuideUnitSwitch {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 12px;
  margin: 22px auto 0;
  color: #66594d;
  font-size: 12px;
  font-weight: 800;
}
.kotoieEstimateSeoGuideUnitSwitch > span { font-weight: 900; }
.kotoieEstimateSeoGuideUnitSwitch > div {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid #e2c9a6;
  border-radius: 999px;
  background: #fff;
}
.kotoieEstimateSeoGuideUnitSwitch button {
  min-width: 54px;
  padding: 7px 14px;
  border: 0;
  border-left: 1px solid #eadbc5;
  background: #fff;
  color: #795f42;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
}
.kotoieEstimateSeoGuideUnitSwitch button:first-child { border-left: 0; }
.kotoieEstimateSeoGuideUnitSwitch button.is-active {
  background: #fff1dd;
  color: #9b5300;
}
.kotoieEstimateSeoGuideUnitSwitch small {
  flex-basis: 100%;
  color: #817568;
  text-align: center;
  font-size: 11px;
  line-height: 1.6;
  font-weight: 650;
}
/* v1.35.98.114: テーマ側のtable幅指定に負けず、早見表をカード幅いっぱいに表示 */
.kotoieEstimateSeoGuideReference__tableWrap {
  width: 100%;
  overflow-x: auto;
  margin-top: 20px;
  border: 1px solid #eadbc5;
  border-radius: 14px;
  background: #fff;
  -webkit-overflow-scrolling: touch;
}
.kotoieEstimateSeoGuideReference__table {
  display: table !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 620px;
  margin: 0 !important;
  table-layout: auto;
  border-collapse: collapse;
  border-spacing: 0;
}
.kotoieEstimateSeoGuideReference__table th,
.kotoieEstimateSeoGuideReference__table td {
  padding: 13px 15px;
  border-bottom: 1px solid #f0e5d6;
  color: #51483f;
  text-align: left;
  vertical-align: middle;
  font-size: 12px;
  line-height: 1.55;
}
.kotoieEstimateSeoGuideReference__table th {
  background: #fff7ec;
  color: #75624d;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}
.kotoieEstimateSeoGuideReference__table tbody tr:last-child td { border-bottom: 0; }
.kotoieEstimateSeoGuideReference__table td:nth-last-child(2):not(.kotoieEstimateSeoGuideReference__primary),
.kotoieEstimateSeoGuideReference__primary {
  font-weight: 850;
}
.kotoieEstimateSeoGuideReference__action { text-align: right !important; white-space: nowrap; }
.kotoieEstimateSeoGuideReference__action button {
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #e1c194;
  border-radius: 9px;
  background: #fff8ee;
  color: #a85b00;
  cursor: pointer;
  font-size: 11px;
  font-weight: 900;
}
.kotoieEstimateSeoGuideReference__action button:hover,
.kotoieEstimateSeoGuideReference__action button:focus-visible {
  outline: none;
  border-color: #d4933e;
  background: #fff0dc;
  box-shadow: 0 0 0 3px rgba(241, 136, 0, .10);
}
.kotoieEstimateSeoGuideReference__note {
  margin: 14px 0 0 !important;
  color: #7a6e62;
  font-size: 12px;
  line-height: 1.8;
}
@media (max-width: 760px) {
  .kotoieEstimateSeoGuideReference { margin-top: 20px; }
  .kotoieEstimateSeoGuideReference__table { min-width: 560px; }
  .kotoieEstimateSeoGuideReference__table th,
  .kotoieEstimateSeoGuideReference__table td { padding: 11px 12px; font-size: 11px; }
  .kotoieEstimateSeoGuideUnitSwitch { align-items: flex-start; }
}


/* v1.35.98.116: モバイル早見表の計算案内帯を横スクロール時も途切れさせない */
@media (max-width: 760px) {
  .kotoieEstimateSeoGuideReference__tableWrap:has(.kotoieEstimateSeoGuideReference__action) {
    background: #fff8ee;
    box-shadow: inset -14px 0 16px -16px rgba(168, 91, 0, .58);
  }
  .kotoieEstimateSeoGuideReference__tableWrap:has(.kotoieEstimateSeoGuideReference__action)::before {
    content: '右にスクロールすると「計算」があります →';
    position: sticky;
    left: 0;
    z-index: 3;
    display: block;
    box-sizing: border-box;
    width: 100%;
    min-width: 100%;
    padding: 8px 12px;
    border-bottom: 1px solid #f0e5d6;
    background: #fff8ee;
    color: #a85b00;
    text-align: right;
    font-size: 10.5px;
    line-height: 1.5;
    font-weight: 900;
    white-space: nowrap;
  }
  .kotoieEstimateSeoGuideReference__tableWrap:has(.kotoieEstimateSeoGuideReference__action) .kotoieEstimateSeoGuideReference__table {
    background: #fff;
  }
}


/* v1.35.98.149: keep multi-card SEO sections balanced on desktop regardless of item count. */
@media screen and (min-width: 961px) {
  .kotoieEstimateSeoReformBasics__grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  }
  .kotoieEstimateSeoReformChecklist {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  }
  .kotoieEstimateSeoReformCompare {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  }
  .kotoieEstimateSeoReformFlow {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }
  .kotoieEstimateSeoReformCautions {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  }
}

/* v1.35.98.158: モーダルを「大分類 → ジャンル → 独立サブジャンル」で表示 */
.kotEstimateHubGenreModal__families {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.kotEstimateHubGenreModal__family.has-children {
  grid-column: 1 / -1;
  padding: 11px;
  border: 1px solid #eadfcf;
  border-radius: 13px;
  background: #fffdf9;
}
.kotEstimateHubGenreModal__familyHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
}
.kotEstimateHubGenreModal__familyHead > span {
  color: #4a3524;
  font-size: 13px;
  font-weight: 900;
}
.kotEstimateHubGenreModal__parentOption {
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid #d9c5a7;
  border-radius: 9px;
  background: #fff;
  color: #5a3c21;
  font-size: 12.5px;
  font-weight: 850;
  cursor: pointer;
}
.kotEstimateHubGenreModal__childGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}
.kotEstimateHubGenreModal__option.is-subgenre {
  background: #fff8ee;
  border-color: #ead3b1;
}
.kotEstimateHubGenreModal__parentOption:hover,
.kotEstimateHubGenreModal__parentOption:focus,
.kotEstimateHubGenreModal__parentOption.is-selected {
  outline: none;
  border-color: #f18800;
  background: #fff2df;
  color: #7a4a00;
}
.kotoieEstimateSeoGenreModal__body section > .kotoieEstimateSeoGenreModal__families {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.kotoieEstimateSeoGenreModal__family.has-children {
  grid-column: 1 / -1;
  padding: 10px;
  border: 1px solid #eadfcf;
  border-radius: 12px;
  background: #fffdf9;
}
.kotoieEstimateSeoGenreModal__familyHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.kotoieEstimateSeoGenreModal__familyHead > span {
  color: #5d4938;
  font-size: 12px;
  font-weight: 900;
}
.kotoieEstimateSeoGenreModal__familyHead > a {
  min-height: 36px;
}
.kotoieEstimateSeoGenreModal__children {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 7px;
}
.kotoieEstimateSeoGenreModal__children > a {
  background: #fff8ee;
  border-color: #ead3b1;
}
@media screen and (max-width: 760px) {
  .kotEstimateHubGenreModal__families { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .kotEstimateHubGenreModal__familyHead { align-items: flex-start; flex-direction: column; }
  .kotEstimateHubGenreModal__parentOption { width: 100%; text-align: left; }
  .kotEstimateHubGenreModal__childGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kotoieEstimateSeoGenreModal__body section > .kotoieEstimateSeoGenreModal__families { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kotoieEstimateSeoGenreModal__familyHead { align-items: flex-start; flex-direction: column; }
  .kotoieEstimateSeoGenreModal__familyHead > a { width: 100%; }
  .kotoieEstimateSeoGenreModal__children { grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
}

/* v1.35.98.159: 大分類 → ジャンル → 独立サブジャンルを読み取りやすくするモーダルUI */
.kotEstimateHubGenreModal__families,
.kotoieEstimateSeoGenreModal__body section > .kotoieEstimateSeoGenreModal__families {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
  align-items: stretch;
}
.kotEstimateHubGenreModal__family,
.kotoieEstimateSeoGenreModal__family {
  min-width: 0;
}
.kotEstimateHubGenreModal__family.has-children,
.kotoieEstimateSeoGenreModal__family.has-children {
  grid-column: auto;
  padding: 13px;
  border: 1px solid #ead8bd;
  border-radius: 14px;
  background: #fffdfa;
  box-shadow: 0 5px 14px rgba(92, 60, 26, .045);
}
.kotEstimateHubGenreModal__familyHead,
.kotoieEstimateSeoGenreModal__familyHead {
  display: block;
  margin: 0 0 10px;
}
.kotEstimateHubGenreModal__familyHead > span,
.kotoieEstimateSeoGenreModal__familyHead > span {
  display: block;
  margin: 0 0 6px;
  color: #6c4a2d;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
}
.kotEstimateHubGenreModal__parentOption,
.kotoieEstimateSeoGenreModal__familyHead > a {
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #dfc49d;
  border-radius: 10px;
  background: #fff;
  color: #3e3025;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.35;
  text-align: left;
  text-decoration: none;
}
.kotoieEstimateSeoGenreModal__familyHead > a {
  display: flex;
  align-items: center;
}
.kotEstimateHubGenreModal__parentOption::after,
.kotoieEstimateSeoGenreModal__familyHead > a::after {
  content: "›";
  float: right;
  margin-left: auto;
  padding-left: 8px;
  color: #d66d00;
  font-size: 18px;
  line-height: 1;
}
.kotEstimateHubGenreModal__childGrid,
.kotoieEstimateSeoGenreModal__children {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.kotEstimateHubGenreModal__option.is-subgenre,
.kotoieEstimateSeoGenreModal__children > a {
  box-sizing: border-box;
  min-width: 0;
  min-height: 42px;
  padding: 9px 10px;
  border: 1px solid #f0d9b8;
  border-radius: 10px;
  background: #fff7eb;
  color: #4f3926;
  font-size: 12.5px;
  font-weight: 800;
  line-height: 1.35;
  text-align: left;
}
.kotEstimateHubGenreModal__family:not(.has-children) > .kotEstimateHubGenreModal__option,
.kotoieEstimateSeoGenreModal__family:not(.has-children) > a {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  min-height: 52px;
  display: flex;
  align-items: center;
  padding: 11px 13px;
  border-radius: 12px;
}
.kotEstimateHubGenreModal__groupTitle,
.kotoieEstimateSeoGenreModal__body > section > h3 {
  margin-bottom: 11px;
}
.kotEstimateHubGenreModal__group + .kotEstimateHubGenreModal__group,
.kotoieEstimateSeoGenreModal__body section + section {
  margin-top: 24px;
}
@media screen and (max-width: 760px) {
  .kotEstimateHubGenreModal__families,
  .kotoieEstimateSeoGenreModal__body section > .kotoieEstimateSeoGenreModal__families {
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .kotEstimateHubGenreModal__childGrid,
  .kotoieEstimateSeoGenreModal__children {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 420px) {
  .kotEstimateHubGenreModal__childGrid,
  .kotoieEstimateSeoGenreModal__children {
    grid-template-columns: 1fr;
  }
}


/* v1.35.98.160: ジャンル選択をPC4列/SP2列へ戻し、子ジャンルだけ副見出しで区切る */
.kotEstimateHubGenreModal__families,
.kotoieEstimateSeoGenreModal__body section > .kotoieEstimateSeoGenreModal__families {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  align-items: stretch;
}
.kotEstimateHubGenreModal__subheading,
.kotoieEstimateSeoGenreModal__subheading {
  grid-column: 1 / -1;
  margin: 6px 0 0 !important;
  padding: 8px 2px 2px;
  border: 0;
  color: #6c4a2d;
  background: transparent;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .04em;
}
.kotEstimateHubGenreModal__subheading:first-child,
.kotoieEstimateSeoGenreModal__subheading:first-child {
  margin-top: 0 !important;
  padding-top: 0;
}
.kotEstimateHubGenreModal__option.is-parent-genre,
.kotoieEstimateSeoGenreModal__families > a.is-parent-genre {
  border-color: #dfc49d;
  background: #fff;
  color: #3e3025;
  font-weight: 900;
}
.kotEstimateHubGenreModal__option.is-subgenre,
.kotoieEstimateSeoGenreModal__families > a.is-subgenre {
  border-color: #ead3b1;
  background: #fff8ee;
}
.kotoieEstimateSeoGenreModal__families > a {
  min-width: 0;
}
@media screen and (max-width: 760px) {
  .kotEstimateHubGenreModal__families,
  .kotoieEstimateSeoGenreModal__body section > .kotoieEstimateSeoGenreModal__families {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .kotEstimateHubGenreModal__subheading,
  .kotoieEstimateSeoGenreModal__subheading {
    padding-top: 7px;
  }
}

/* v1.35.98.163: 80ジャンルを表示専用副分類で整理。副見出しが階層を示すためカード色は統一。 */
.kotEstimateHubGenreModal__option.is-subgenre,
.kotoieEstimateSeoGenreModal__families > a.is-subgenre {
  border-color: #e7d7c3;
  background: #fff;
  color: inherit;
}
