@charset "utf-8";
/* CSS Document */

/* 市区町村 */
.area-v5 {
  --orange: #f47c20;
  --orange-deep: #d56614;
  --orange-soft: #fff5eb;
  --black: #202529;
  --ink: #222629;
  --text: #000;
  --muted: #5f6569;
  --line: #dde2e5;
  --gray: #f5f7f8;
  --warm: #fff8f1;
  --green: #168c63;
  --green-soft: #eef8f4;
  --blue: #0e7895;
  max-width: 1000px;
  margin: 0 auto;
  color: var(--text);
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.9
}
.area-v5 *, .area-v5 *::before, .area-v5 *::after {
  box-sizing: border-box
}
.area-v5 h1, .area-v5 h2, .area-v5 h3 {
  color: var(--ink) !important
}
.area-v5 h3 {
  list-style: none !important;
}
.area-v5 h3::marker {
  content: none !important;
}
.area-v5 h2 {
  list-style: none !important;
}
.area-v5 h2::before, .area-v5 h2::after {
  content: none !important;
  display: none !important;
}
.area-v5 h2::marker {
  content: none !important;
}
.area-v5 h2 {
  font-weight: 700 !important;
  color: var(--ink) !important;
  border: none !important;
  background: none !important;
}
.area-v5__heading h2, .area-v5__feature h2, .area-v5__final h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 23px !important;
  line-height: 1.5 !important;
}
.area-v5__heading h2 {
  margin: 0 !important;
}
.area-v5__feature h2, .area-v5__final h2 {
  margin: 0 0 9px !important;
}
.area-v5 p {
  margin: 0 0 1.1em;
  color: var(--text) !important
}
.area-v5 a {
  color: inherit
}
.area-v5__titlebar {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 16px;
  margin: 0 0 14px;
  color: #fff;
  background: var(--black);
  border-bottom: 3px solid var(--orange)
}
.area-v5__titlemark {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border: 2px solid var(--orange);
  transform: rotate(45deg);
  position: relative
}
.area-v5__titlemark::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 4px;
  width: 6px;
  height: 6px;
  border: 1px solid var(--orange)
}
.area-v5__titlebar h1 {
  margin: 0;
  color: #fff !important;
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.5
}
.area-v5__intro {
  margin-bottom: 18px;
  padding: 26px 28px 24px;
  border: 1px solid #f1ded0;
  border-radius: 10px;
  background: var(--warm)
}
.area-v5__intro-lead {
  margin-bottom: 12px !important;
  color: #272c30 !important;
  font-size: 18px;
  font-weight: 700
}
.area-v5__cta {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin-top: 18px
}
.area-v5__cta--middle {
  margin: 30px 0 0
}
.area-v5__cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 52px;
  padding: 9px 12px;
  border-radius: 5px;
  text-decoration: none !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center
}
.area-v5__cta-btn small {
  display: block;
  font-size: 14px;
  font-weight: 700
}
.area-v5__cta-icon {
  font-size: 17px
}
.area-v5__cta-icon--chat {
  display: inline-flex;
  align-items: center;
  justify-content: center
}
.area-v5__cta-icon--chat svg {
  display: block
}
.area-v5__cta-btn--tel {
  background: #fff;
  border: 1px solid #59bfd3;
  color: #157f9f !important
}
.area-v5__cta-btn--line {
  background: #13bd28;
  color: #fff !important
}
.area-v5__cta-btn--mail {
  background: #08778e;
  color: #fff !important
}
.area-v5__anchor-nav {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 0 28px
}
.area-v5__anchor {
  display: inline-flex !important;
  flex-direction: row !important;
  flex: 1 1 0 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 13px;
  border: 1px solid #d9dee2;
  border-radius: 999px;
  background: #fff;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 700;
  color: var(--text) !important;
  text-align: center !important
}
.area-v5__anchor::after {
  content: "" !important;
  display: inline-block !important;
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  margin-left: 7px;
  margin-top: -3px;
  border-right: 2px solid var(--orange) !important;
  border-bottom: 2px solid var(--orange) !important;
  transform: rotate(45deg) !important
}
.area-v5__section {
  margin: 0 0 44px;
  scroll-margin-top: 20px
}
.area-v5__heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #e2a46f
}
.area-v5__heading-mark {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  border-radius: 3px;
  background: var(--orange)
}
.area-v5__heading h2 {
  margin: 0;
  font-size: 23px;
  line-height: 1.5
}
.area-v5__leadbox {
  padding: 19px 22px;
  border-radius: 8px;
  background: var(--gray)
}
.area-v5__checklist {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px 24px !important;
  margin: 0;
  padding: 0;
  list-style: none !important
}
.area-v5__checklist li {
  position: relative !important;
  list-style: none !important;
  padding: 8px 10px 8px 30px !important;
  border: 1px solid #edf0f2 !important;
  border-radius: 6px !important;
  background: #fff !important;
  font-size: 15px !important
}
.area-v5__checklist li::before {
  content: "●" !important;
  position: absolute !important;
  left: 10px !important;
  top: 8px !important;
  color: var(--orange) !important;
  font-size: 11px !important;
  display: block !important
}
.area-v5__cards {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 14px !important
}
.area-v5__cards--three {
  grid-template-columns: repeat(3, 1fr) !important
}
.area-v5__card {
  padding: 19px 20px 17px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff
}
.area-v5__card h3 {
  position: relative !important;
  margin: 0 0 9px !important;
  padding-left: 13px !important;
  padding-top: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  border: none !important;
  background: none !important;
}
.area-v5__card h3::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: .3em !important;
  width: 3px !important;
  height: 1.25em !important;
  background: var(--orange) !important;
  display: block !important;
}
.area-v5__related-link {
  margin-top: 12px;
  text-align: right !important
}
.area-v5__related-link a {
  display: inline-flex;
  color: var(--orange-deep) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 700
}
.area-v5__related-link a::after {
  content: " ›";
  margin-left: 3px
}
.area-v5__flow {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 14px !important
}
.area-v5__flow-step {
  position: relative;
  padding: 18px 15px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff
}
.area-v5__step-no {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 800
}
.area-v5__flow-step h3 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  border: none !important;
  background: none !important;
  flex: 1 1 auto !important
}
.area-v5__feature {
  padding: 22px 24px;
  border-left: 4px solid var(--orange);
  border-radius: 8px;
  background: var(--warm)
}
.area-v5__feature h2 {
  margin: 0 0 9px;
  font-size: 23px
}
.area-v5__two-col {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important
}
.area-v5__method {
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafb
}
.area-v5__method h3 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  border: none !important;
  background: none !important;
}
.area-v5__stats-head {
  margin: 0 0 14px;
  font-size: 14px;
  color: var(--muted) !important
}
.area-v5__statsbox {
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff !important
}
.area-v5__stats {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important
}
.area-v5__stat {
  padding: 18px 12px;
  border: 1px solid #e7e9eb;
  border-radius: 8px;
  background: #f7f8fa;
  text-align: center
}
.area-v5__stat-label {
  display: block;
  margin-bottom: 3px;
  font-size: 13px;
  font-weight: 700;
  color: #535b61 !important
}
.area-v5__stat-value {
  display: block;
  color: var(--orange-deep) !important;
  font-size: 27px;
  font-weight: 800
}
.area-v5__stat-note {
  margin-top: 10px;
  font-size: 12px;
  color: var(--muted) !important
}
.area-v5__agencies {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important
}
.area-v5__agency {
  padding: 19px 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff
}
.area-v5__agency h3 {
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  border: none !important;
  background: none !important;
}
.area-v5__agency p {
  margin: 0 0 4px
}
.area-v5__agency-tel {
  font-weight: 700;
  color: #1e596d !important
}
.area-v5__faq {
  display: grid !important;
  gap: 10px !important
}
.area-v5__faq-item {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  overflow: hidden
}
.area-v5__faq-item summary {
  display: flex !important;
  flex-direction: row !important;
  gap: 10px;
  align-items: flex-start;
  cursor: pointer;
  list-style: none !important;
  padding: 15px 17px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6
}
.area-v5__faq-item summary::-webkit-details-marker {
  display: none
}
.area-v5__faq-item summary::marker {
  content: none !important;
}
.area-v5__faq-q, .area-v5__faq-a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  border-radius: 50%;
  color: #fff;
  font-size: 13px;
  font-weight: 800
}
.area-v5__faq-q {
  background: var(--orange)
}
.area-v5__faq-a {
  background: var(--blue)
}
.area-v5__faq-content {
  display: flex;
  gap: 10px;
  padding: 0 17px 16px
}
.area-v5__final {
  padding: 25px 27px;
  border: 1px solid #e4ae7a;
  border-radius: 9px;
  background: var(--warm)
}
.area-v5__final h2 {
  margin: 0 0 9px;
  font-size: 23px
}
.area-v5__source-note {
  margin-top: 12px;
  font-size: 12px;
  color: var(--muted) !important
}
@media(max-width:820px) {
  .area-v5 {
    padding: 12px 6px 48px
  }
  .area-v5__intro, .area-v5__final {
    padding: 20px 18px
  }
  .area-v5__cta, .area-v5__cards, .area-v5__cards--three, .area-v5__checklist, .area-v5__flow, .area-v5__two-col, .area-v5__agencies {
    grid-template-columns: 1fr !important
  }
  .area-v5__stats {
    grid-template-columns: repeat(3, 1fr) !important
  }
  .area-v5__heading h2, .area-v5__feature h2, .area-v5__final h2 {
    font-size: 21px !important;
  }
  .area-v5__titlebar h1 {
    font-size: 21px
  }
  .area-v5, .area-v5 * {
    line-height: 1.7em !important
  }
  .area-v5__cta {
    display: block !important
  }
  .area-v5__cta-btn {
    display: flex !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 0 5px !important
  }
  .area-v5__cta-btn:last-child {
    margin: 0 !important
  }
  .area-v5__anchor {
    flex: 0 0 calc(50% - 4px) !important
  }
}
body:has(.area-v5){background:#fff !important;}