@charset "UTF-8";
/* ====================================================
   Variables (共通変数)
==================================================== */
:root {
  /* Colors */
  --color-primary: #004680;
  --color-primary-dark: #002a4d;
  --color-accent: #f3e600;
  --color-accent-blue: #0098ff;
  --color-accent-green: #45b89f;
  --color-light-blue: #a7bcd6;
  --color-light-blue-10: #f6f8fb;
  --color-light-blue-20: #edf2f7;
  --color-light-blue-40: #dce4ef;
  --color-light-blue-60: #cad7e6;
  --color-light-blue-80: #b9c9de;
  --color-text-main: #202020;
  --color-text-gray: #666666;
  --color-bg: #f3f3ee;
  --color-white: #ffffff;
  /* Fonts */
  --font-family: "Noto Sans JP", "Noto Sans", sans-serif;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-bold: 700;
  --font-weight-extrabold: 900;
  /* Gradients */
  --grad-bg-blue: linear-gradient(180deg, #0091fd, #005fae 50%, #004680);
  --grad-btn-phone: linear-gradient(
    0deg,
    #ebe017,
    #d2c70a 8%,
    #f3e600 50%,
    #fff986
  );
  --grad-btn-phone-hover: linear-gradient(0deg, #fff986, #fff986);
  --grad-btn-doc: linear-gradient(0deg, #d4d4d4, #c6c6c6 8%, #f3f3ee 50%, #fff);
  --grad-btn-doc-hover: linear-gradient(0deg, #ffffff, #ffffff);
  /* Shadows */
  --shadow-btn-cv: 0 0.6rem 2.4rem rgba(0, 0, 0, 0.25);
  --shadow-btn-floating: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.25);
}

/* ====================================================
   Fluid Root (画面幅に応じた全体の自動縮尺)
==================================================== */
html {
  /* スマホ（〜750px）: 402pxの画面で 1rem = 10px になる設定 */
  font-size: clamp(8px, 2.4875621891dvw, 14px);
}
@media (min-width: 751px) {
  html {
    /* PC（751px〜）: 1440pxの画面で 1rem = 10px になる設定 */
    font-size: clamp(8px, 0.6944444444dvw, 14px);
  }
}

/* ====================================================
   Base & Reset Overrides
==================================================== */
body {
  margin: 0;
  padding: 0;
}

.page {
  background-color: var(--color-bg);
  color: var(--color-primary);
  font-family: var(--font-family);
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-x: hidden;
  font-size: 2.8rem;
  line-height: 1.6;
}

.main {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
  margin-top: 6rem;
}
@media (min-width: 751px) {
  .main {
    margin-top: 8rem;
  }
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

strong {
  font-weight: var(--font-weight-bold);
}

.heading {
  font-size: 2.8rem;
  line-height: 1.4;
  font-weight: var(--font-weight-bold);
}
@media (min-width: 751px) {
  .heading {
    font-size: 4.2rem;
    line-height: 5.4rem;
  }
}

.marker-highlight {
  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #ffeb3b));
  background-image: linear-gradient(180deg, transparent 50%, #ffeb3b 50%);
  padding: 0 0.2rem;
  display: inline;
}

sup {
  font-size: 40%;
  vertical-align: super;
  line-height: 0;
  font-weight: var(--font-weight-light);
}

/* ====================================================
   Header
==================================================== */
.header {
  width: 100%;
  height: 6rem;
  background-color: var(--color-primary);
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 0 !important;
}
@media (min-width: 751px) {
  .header {
    height: 8rem;
  }
}
.header__inner {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 751px) {
  .header__inner {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 4rem;
  }
}
.header__logo {
  height: 3rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 751px) {
  .header__logo {
    height: auto;
    width: 40rem;
  }
}
.header__contact {
  display: none;
}
@media (min-width: 751px) {
  .header__contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0.4rem;
  }
}
@media (min-width: 751px) {
  .header__contact-icon {
    width: 3.2rem;
  }
}
.header__contact-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: var(--color-primary);
}
.header__tel {
  line-height: 1;
  color: var(--color-white);
  font-size: 3.2rem;
  white-space: nowrap;
}
.header__hours {
  font-size: 1.6rem;
  line-height: 1.2;
  color: var(--color-white);
}

/* ====================================================
   Hero (FV)
==================================================== */
.hero {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.4rem;
}
.hero__inner {
  width: 100%;
  max-width: 128rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 1rem;
}
@media (min-width: 751px) {
  .hero__inner {
    padding-top: 4rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8rem;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.hero__img {
  width: 100%;
  max-width: 52rem;
}
.hero__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.2rem;
}
@media (min-width: 751px) {
  .hero__content {
    gap: 2.8rem;
  }
}
.hero__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.6rem;
  position: relative;
}
@media (min-width: 751px) {
  .hero__header {
    gap: 2.4rem;
  }
}
.hero__lead-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.2rem;
  color: var(--color-primary-dark);
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
@media (min-width: 751px) {
  .hero__lead-box {
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
}
.hero__lead-top {
  line-height: 2.6rem;
  font-size: 1.6rem;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .hero__lead-top {
    font-size: 2.4rem;
  }
}
.hero__lead-bottom {
  font-size: min(2.4rem, 3.8dvw);
  line-height: 1;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .hero__lead-bottom {
    font-size: 3.2rem;
  }
}
.hero__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.6rem;
  margin: 0;
  color: var(--color-primary);
  font-weight: var(--font-weight-bold);
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  text-align: center;
}
@media (min-width: 751px) {
  .hero__title {
    -ms-flex-item-align: start;
        -ms-grid-row-align: start;
        align-self: start;
    text-align: left;
  }
}
.hero__title-small {
  font-size: min(4.8rem, 9.4dvw);
  line-height: 1;
  white-space: nowrap;
  text-align: center;
}
@media (min-width: 751px) {
  .hero__title-small {
    font-size: 4.8rem;
    text-align: left;
  }
}
.hero__title-medium {
  font-size: min(4.8rem, 11dvw);
  line-height: 1;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .hero__title-medium {
    font-size: 12rem;
  }
}
.hero__title-large {
  font-size: min(8rem, 15.5dvw);
  line-height: 1;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .hero__title-large {
    font-size: 9.6rem;
  }
}
.hero__note {
  position: absolute;
  bottom: 4rem;
  right: 0;
  font-size: 1.2rem;
  font-weight: var(--font-weight-light);
}
@media (min-width: 751px) {
  .hero__note {
    bottom: 6.4rem;
    right: 3rem;
  }
}
.hero__badges {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (min-width: 751px) {
  .hero__badges {
    gap: 2.4rem;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.hero__footer-text {
  font-size: 1.2rem;
  line-height: 1.5rem;
  color: var(--color-text-gray);
  text-align: left;
}
.hero__action {
  display: none;
}
@media (min-width: 751px) {
  .hero__action {
    display: block;
    width: 100%;
    max-width: 34.4rem;
    margin-bottom: 3.2rem;
  }
}
.hero__action-btn {
  display: block;
  width: 100%;
  background: var(--grad-btn-doc);
  border-radius: 2.4rem;
  -webkit-box-shadow: var(--shadow-btn-cv);
          box-shadow: var(--shadow-btn-cv);
  text-decoration: none;
  color: var(--color-primary);
  border: 2px solid var(--color-primary);
  -webkit-transition: opacity 0.2s ease, background 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: opacity 0.2s ease, background 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, opacity 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  transition: transform 0.2s ease, opacity 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
}
.hero__action-btn:hover {
  background: var(--grad-btn-doc-hover);
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transform: scale(0.98);
          transform: scale(0.98);
  opacity: 0.9;
}
.hero__action-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2.4rem 2rem;
  gap: 1.6rem;
}
.hero__action-inner::before {
  content: "";
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  background-image: url("img/icon_doc_b.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.hero__action-text {
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: left;
}

/* ====================================================
   Badge Component (FV等の共通バッジ)
==================================================== */
.badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.6rem;
}
@media (min-width: 751px) {
  .badge {
    gap: 1rem;
  }
}
.badge::before, .badge::after {
  content: "";
  display: block;
  width: 1.6rem;
  height: 4.8rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 751px) {
  .badge::before, .badge::after {
    width: 2.4rem;
    height: 7.2rem;
  }
}
.badge::before {
  background-image: url("img/fig_emblem_01.webp");
}
.badge::after {
  background-image: url("img/fig_emblem_02.webp");
}
.badge__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
.badge__title {
  font-size: 1.2rem;
  line-height: 1;
  height: 2.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 751px) {
  .badge__title {
    font-size: 1.4rem;
  }
}
.badge__main {
  font-size: 2.8rem;
  line-height: 1.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .badge__main {
    font-size: 3.2rem;
  }
}
.badge__main-inner {
  text-align: center;
}
.badge__main-small {
  font-size: 1.6rem;
}
.badge__note {
  position: absolute;
  font-size: 1.2rem;
  bottom: 0;
  right: -1vw;
  font-weight: var(--font-weight-light);
}

/* ====================================================
   Features Section
==================================================== */
.features {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6rem 2rem 2rem;
  gap: 4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: var(--color-primary);
}
.features__title {
  font-size: 2.8rem;
  line-height: 1;
  color: var(--color-white);
  margin: 0;
  text-align: center;
}
@media (min-width: 751px) {
  .features__title {
    font-size: 4.2rem;
  }
}
.features__list {
  width: 100%;
  max-width: 97.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.6rem;
  list-style: none;
  padding: 0;
  margin: 0;
  color: var(--color-white);
}
@media (min-width: 751px) {
  .features__list {
    gap: 3.2rem;
  }
}
.features__list__note {
  font-size: 1.2rem;
  line-height: 1.4;
  color: var(--color-light-blue-40);
  font-weight: var(--font-weight-light);
  margin: 0;
  text-align: left;
}
@media (min-width: 751px) {
  .features__list__note {
    font-size: 1.4rem;
  }
}
.features__item {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
}
@media (min-width: 751px) {
  .features__item {
    width: calc(50% - 1.6rem);
  }
}
.features__item--padded {
  padding: 0.3rem 0;
}
.features__icon {
  width: 2.1rem;
  height: 1.5rem;
}
@media (min-width: 751px) {
  .features__icon {
    width: 3.2rem;
    height: 2.3rem;
  }
}
.features__text-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.features__text {
  font-size: 2.4rem;
  line-height: 1;
}
@media (min-width: 751px) {
  .features__text {
    font-size: 3.2rem;
  }
}
.features__text-small {
  font-size: 1.6rem;
}
@media (min-width: 751px) {
  .features__text-small {
    font-size: 1.8rem;
  }
}

.arrows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6rem 0 0;
  gap: 1rem;
}
@media (min-width: 751px) {
  .arrows {
    padding-top: 12rem;
  }
}
.arrows__icon {
  width: 4.2rem;
  height: 4.2rem;
}

/* ====================================================
   Worries Section
==================================================== */
.worries {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6rem 0;
  position: relative;
  color: var(--color-text-main);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 751px) {
  .worries {
    padding: 12rem 0 24rem;
  }
}
.worries__wrapper {
  width: 100dvw;
  margin-left: calc(50% - 50dvw);
  background-image: url("img/img_worries_bg_02.webp");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 0;
  margin: 6rem auto;
}
@media (min-width: 751px) {
  .worries__wrapper {
    margin: 12rem 0 0;
  }
}
.worries__wrapper::before {
  content: "";
  position: absolute;
  top: 6rem;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("img/fig_worries_bg_01.webp");
  background-repeat: no-repeat;
  background-position: center center;
  z-index: 1;
  pointer-events: none;
}
@media (min-width: 751px) {
  .worries__wrapper::before {
    top: 12rem;
    background-size: 60dvw auto;
  }
}
.worries__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 96rem;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.worries__title {
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: center;
  margin: 0;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .worries__title {
    font-size: 3.6rem;
    line-height: 5.4rem;
  }
}
.worries__img {
  width: 100%;
  max-width: 24rem;
  position: relative;
  margin-top: -2rem;
}
@media (min-width: 751px) {
  .worries__img {
    margin-top: -6rem;
    max-width: 33.7rem;
  }
}
.worries__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  gap: 2.4rem;
  width: 100%;
  margin-bottom: 3rem;
  padding: 0 1rem;
}
@media (min-width: 751px) {
  .worries__list {
    -ms-grid-columns: 1fr 4.8rem 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 4.8rem;
    margin-bottom: 6rem;
    padding: 0;
  }
}
.worries__conclusion {
  font-size: 2rem;
  line-height: 1.6;
  text-align: center;
  z-index: 3;
}
@media (min-width: 751px) {
  .worries__conclusion {
    font-size: 2.8rem;
    line-height: 4.2rem;
  }
}

.worry-card {
  border-radius: 2.8rem;
  background-color: var(--color-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 2.4rem;
  gap: 1.6rem;
  text-align: left;
}
@media (min-width: 751px) {
  .worry-card {
    padding: 3.6rem 4.8rem;
    gap: 1.8rem;
  }
}
.worry-card__title {
  font-size: 2rem;
  line-height: 1.4;
  margin: 0;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}
@media (min-width: 751px) {
  .worry-card__title {
    font-size: 2.6rem;
  }
}
.worry-card__desc {
  font-size: 2rem;
  line-height: 1.6;
  margin: 0;
}
@media (min-width: 751px) {
  .worry-card__desc {
    font-size: 2.1rem;
    line-height: 3.2rem;
  }
}
.worry-card__desc--fixed {
  display: inline-block;
}
@media (min-width: 751px) {
  .worry-card__desc--fixed {
    height: 9.5rem;
  }
}

/* ====================================================
   Leave It Section
==================================================== */
.leave-it {
  width: 100%;
  background: var(--grad-bg-blue);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--color-white);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 751px) {
  .leave-it {
    height: 36rem;
  }
}
.leave-it__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
@media (min-width: 751px) {
  .leave-it__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8rem;
  }
}
.leave-it__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  position: relative;
  margin-top: -2rem;
}
@media (min-width: 751px) {
  .leave-it__content {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: center;
    width: 48rem;
    height: 24.58rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.leave-it__title {
  font-size: 3.6rem;
  line-height: 1.4;
  margin: 0;
  white-space: nowrap;
  font-weight: var(--font-weight-bold);
}
@media (min-width: 751px) {
  .leave-it__title {
    position: absolute;
    top: 8.575rem;
    left: 0;
    font-size: 6rem;
    line-height: 8rem;
  }
}
.leave-it__icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 12rem;
}
@media (min-width: 751px) {
  .leave-it__icon {
    width: 16rem;
  }
}
.leave-it__img {
  width: 100%;
  max-width: 20rem;
}
@media (min-width: 751px) {
  .leave-it__img {
    max-width: 30.5rem;
  }
}

/* ====================================================
   Reason Section
==================================================== */
.reason {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6rem 2rem;
  color: var(--color-text-main);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 751px) {
  .reason {
    padding: 16rem 0;
  }
}
.reason__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 1.2rem;
  margin-bottom: 4rem;
}
@media (min-width: 751px) {
  .reason__header {
    gap: 1.7rem;
    margin-bottom: 8rem;
  }
}
.reason__title {
  font-size: 2rem;
  margin: 0;
  text-align: center;
}
@media (min-width: 751px) {
  .reason__title {
    font-size: 3.2rem;
  }
}
.reason__header-icon, .reason__header-icon--right {
  width: 1.53rem;
  height: 2.65rem;
}
.reason__list {
  width: 100%;
  max-width: 96rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8rem;
  color: var(--color-primary);
}
@media (min-width: 751px) {
  .reason__list {
    gap: 16rem;
  }
}

.reason-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.2rem;
  margin: 0;
}
@media (min-width: 751px) {
  .reason-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 8rem;
  }
}
@media (min-width: 751px) {
  .reason-item--alt {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 4.8rem;
  }
}
.reason-item__content {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.6rem;
  text-align: left;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (min-width: 751px) {
  .reason-item__content {
    width: 48rem;
  }
}
.reason-item__title {
  font-size: 3.2rem;
  line-height: 1.4;
  margin: 0;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}
@media (min-width: 751px) {
  .reason-item__title {
    font-size: 3.6rem;
    line-height: 5.2rem;
  }
}
.reason-item__title--narrow, .reason-item__title--narrower, .reason-item__title--wide {
  display: block;
}
.reason-item__desc {
  font-size: 2rem;
  line-height: 3.8rem;
  color: var(--color-text-main);
  margin: 0;
}
@media (min-width: 751px) {
  .reason-item__desc {
    font-size: 2.2rem;
  }
}
.reason-item__note {
  font-size: 1.2rem;
  line-height: 1.4;
  color: var(--color-text-gray);
  font-weight: var(--font-weight-light);
  margin: 0;
}
@media (min-width: 751px) {
  .reason-item__note {
    font-size: 1.4rem;
    line-height: 1.8rem;
  }
}
.reason-item__img {
  width: 100%;
  max-width: 40rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 751px) {
  .reason-item__img {
    height: 26.1rem;
  }
}

/* ====================================================
   CV Section
==================================================== */
.cv {
  width: 100%;
  background: var(--grad-bg-blue);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.6rem 1rem 5.2rem;
  gap: 2.4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 751px) {
  .cv {
    padding: 4.6rem 2rem 5.2rem;
  }
}
.cv__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
.cv__property-types {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.8rem;
}
@media (min-width: 751px) {
  .cv__property-types {
    gap: 1.6rem;
  }
}
.cv__property-type {
  border-radius: 0.4rem;
  background-color: var(--color-white);
  color: var(--color-primary);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.2rem 0.4rem;
  font-size: 1.6rem;
}
@media (min-width: 751px) {
  .cv__property-type {
    font-size: 2rem;
    padding: 0.2rem 0.8rem;
  }
}
.cv__title {
  font-size: 2.4rem;
  line-height: 1.4;
  color: var(--color-white);
  margin: 0;
  text-align: center;
  white-space: nowrap;
  font-weight: var(--font-weight-bold);
}
@media (min-width: 751px) {
  .cv__title {
    font-size: 4.2rem;
    line-height: 5.4rem;
  }
}
.cv__inner {
  width: 100%;
  max-width: 86rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: var(--color-white);
}
.cv__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.4rem;
  width: 100%;
}
.cv__badges {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.6rem;
}
@media (min-width: 751px) {
  .cv__badges {
    width: auto;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2.4rem;
  }
}
.cv__note {
  font-size: 1.2rem;
  line-height: 1.25;
  margin: 0;
  text-align: left;
  width: 100%;
  font-weight: var(--font-weight-normal);
  color: var(--color-light-blue-80);
}
@media (min-width: 751px) {
  .cv__note {
    text-align: center;
  }
}
.cv__desc {
  font-size: 2rem;
  line-height: 1.6;
  margin: 0;
  text-align: center;
}
@media (min-width: 751px) {
  .cv__desc {
    font-size: 2.4rem;
  }
}
.cv__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.2rem;
  width: 100%;
  color: var(--color-primary);
}
@media (min-width: 751px) {
  .cv__actions {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 4.8rem;
  }
}
.cv__action-btn {
  -webkit-transition: opacity 0.2s ease, background 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: opacity 0.2s ease, background 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: transform 0.2s ease, opacity 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
  transition: transform 0.2s ease, opacity 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, -webkit-transform 0.2s ease, -webkit-box-shadow 0.2s ease;
  text-decoration: none;
}
.cv__action-btn:hover {
  -webkit-transform: scale(0.98);
          transform: scale(0.98);
  opacity: 0.9;
}
.cv__action-btn--phone {
  width: 100%;
  max-width: 34.3rem;
  background: var(--grad-btn-phone);
  border-radius: 2.4rem;
  -webkit-box-shadow: var(--shadow-btn-cv);
          box-shadow: var(--shadow-btn-cv);
}
.cv__action-btn--phone:hover {
  background: var(--grad-btn-phone-hover);
}
@media (min-width: 751px) {
  .cv__action-btn--phone {
    pointer-events: none;
    cursor: default;
    background: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    color: var(--color-white);
  }
}
.cv__action-btn--doc {
  width: 100%;
  max-width: 34.4rem;
  background: var(--grad-btn-doc);
  border-radius: 2.4rem;
  -webkit-box-shadow: var(--shadow-btn-cv);
          box-shadow: var(--shadow-btn-cv);
}
.cv__action-btn--doc:hover {
  background: var(--grad-btn-doc-hover);
}
.cv__action-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2rem;
  gap: 1.6rem;
}
.cv__action-inner::before {
  content: "";
  display: block;
  width: 4rem;
  height: 4rem;
  background-image: url("img/icon_phone_b.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 751px) {
  .cv__action-inner::before {
    background-image: url("img/icon_phone_w.webp");
  }
}
.cv__action-inner--doc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 3rem 2rem;
  gap: 1.6rem;
}
.cv__action-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
}
.cv__action-label {
  border: 1px solid var(--color-primary);
  padding: 0.4rem 1.2rem;
  font-size: 1.4rem;
  line-height: 1;
}
@media (min-width: 751px) {
  .cv__action-label {
    border-color: var(--color-white);
  }
}
.cv__action-tel-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cv__action-tel {
  font-size: 2.8rem;
  line-height: 1;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .cv__action-tel {
    font-size: 3.2rem;
  }
}
.cv__action-hours {
  font-size: 1.6rem;
}
@media (min-width: 751px) {
  .cv__action-hours {
    font-size: 1.8rem;
  }
}
.cv__action-text {
  font-size: 2rem;
  line-height: 1.25;
  text-align: left;
}
@media (min-width: 751px) {
  .cv__action-text {
    font-size: 2.4rem;
  }
}

.cv-badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.2rem;
  gap: 0;
  position: relative;
}
@media (min-width: 751px) {
  .cv-badge {
    height: 8rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    gap: 1.6rem;
  }
}
.cv-badge::before, .cv-badge::after {
  content: "";
  display: block;
  width: 2rem;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
}
@media (min-width: 751px) {
  .cv-badge::before, .cv-badge::after {
    width: 2.6rem;
  }
}
.cv-badge::before {
  background-image: url("img/fig_emblem_01.webp");
}
.cv-badge::after {
  background-image: url("img/fig_emblem_02.webp");
}
.cv-badge__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.cv-badge__text {
  font-size: 1.2rem;
  line-height: 1.4;
  text-align: center;
  font-weight: bold;
  margin: 0;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .cv-badge__text {
    font-size: 1.4rem;
  }
}
.cv-badge__text--large {
  font-size: 2rem;
  line-height: 1.2;
  display: inline-block;
  margin: 0.2rem 0;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .cv-badge__text--large {
    font-size: 3.2rem;
    margin: 0.4rem 0;
  }
}
.cv-badge__note {
  font-size: 1rem;
  position: absolute;
  bottom: 0;
  right: 2.4rem;
  color: var(--sub-light-blue-40);
  font-weight: var(--font-weight-light);
}

/* ====================================================
   Diff Section
==================================================== */
.diff {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6rem 2rem;
  gap: 3.6rem;
  color: var(--color-text-main);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 751px) {
  .diff {
    padding: 12rem 0;
    gap: 6rem;
  }
}
.diff__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.6rem;
  color: var(--color-primary);
}
.diff__title {
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: center;
  margin: 0;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .diff__title {
    font-size: 4.2rem;
    line-height: 6rem;
  }
}
.diff__img {
  width: 100%;
  max-width: 86rem;
}
.diff__intro {
  position: relative;
  width: 100%;
  max-width: 86rem;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.4rem;
}
.diff__intro-text {
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 0;
}
@media (min-width: 751px) {
  .diff__intro-text {
    font-size: 2.8rem;
    line-height: 4.2rem;
  }
}
.diff__intro-subtext {
  font-size: 1.8rem;
  line-height: 1.6;
  margin: 0;
  background-color: var(--color-white);
  border-radius: 200px;
  padding: 0.6rem 1.8rem;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
@media (min-width: 751px) {
  .diff__intro-subtext {
    font-size: 2.8rem;
    line-height: 4.2rem;
  }
}
.diff__intro-subtext span {
  color: var(--color-accent-green);
  font-weight: var(--font-weight-bold);
}
.diff__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
  width: 100%;
  max-width: 86rem;
  color: var(--color-text-main);
}
@media (min-width: 751px) {
  .diff__list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 6rem;
  }
}
.diff__note {
  font-size: 1.2rem;
  text-align: left;
  margin: 0;
  line-height: 1.4;
  font-weight: var(--font-weight-light);
}
@media (min-width: 751px) {
  .diff__note {
    font-size: 1.4rem;
  }
}
.diff__flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.diff__flow__title {
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 2rem;
  gap: 3.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 751px) {
  .diff__flow__title {
    font-size: 3.6rem;
    line-height: 6rem;
  }
}
.diff__flow img {
  width: 100%;
  max-width: 60rem;
}

.diff-card {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background-color: var(--color-white);
  border-radius: 2.4rem;
  padding: 4rem 2.4rem 2.4rem;
  position: relative;
}
.diff-card--buy {
  border: 0.4rem solid var(--color-primary);
}
.diff-card--agent {
  border: 0.4rem solid #9c9c94;
}
.diff-card__label {
  position: absolute;
  top: -2rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: var(--color-primary);
  color: var(--color-white);
  padding: 0.6rem 2.4rem;
  border-radius: 3rem;
  font-size: 1.8rem;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .diff-card__label {
    font-size: 2rem;
  }
}
.diff-card__label--agent {
  background-color: #9c9c94;
}
.diff-card__content {
  font-size: 1.6rem;
  line-height: 1.8;
}
@media (min-width: 751px) {
  .diff-card__content {
    font-size: 2.4rem;
    line-height: 4.2rem;
  }
}
.diff-card__ul, .diff-card__ul2 {
  margin: 0;
  padding-left: 2.4rem;
}
.diff-card__li {
  list-style-type: circle;
  font-size: 1.8rem;
}
@media (min-width: 751px) {
  .diff-card__li {
    font-size: 2.1rem;
  }
}

/* ====================================================
   Column Section
==================================================== */
.column {
  width: 100%;
  background-color: var(--color-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6rem 2rem;
  gap: 3.2rem;
  color: var(--color-text-main);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 751px) {
  .column {
    padding: 8rem 0;
    gap: 2.4rem;
  }
}
.column__title {
  font-size: 2.4rem;
  line-height: 1.4;
  text-align: center;
  margin: 0;
}
@media (min-width: 751px) {
  .column__title {
    font-size: 3.6rem;
    line-height: 6rem;
  }
}
.column__img {
  width: 100%;
  max-width: 46rem;
}
.column__lead {
  font-size: 1.6rem;
  line-height: 1.6;
  width: 100%;
  max-width: 72rem;
  margin: 0;
}
@media (min-width: 751px) {
  .column__lead {
    font-size: 2rem;
    line-height: 3.6rem;
  }
}
.column__list-wrapper {
  width: 100%;
  max-width: 72rem;
  padding: 2rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.column__list-inner {
  font-size: 1.8rem;
  line-height: 1.6;
}
@media (min-width: 751px) {
  .column__list-inner {
    font-size: 2.8rem;
    line-height: 4.6rem;
  }
}
.column__ul {
  margin: 0;
  padding-left: 2.4rem;
}
.column__li {
  list-style-type: circle;
  margin-top: 0.6rem;
}
.column__footer {
  font-size: 1.6rem;
  line-height: 1.6;
  width: 100%;
  max-width: 72rem;
  margin: 0;
}
@media (min-width: 751px) {
  .column__footer {
    font-size: 2rem;
    line-height: 3.6rem;
  }
}

/* ====================================================
   FAQ Section
==================================================== */
.faq {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6rem 2rem;
  gap: 4rem;
  color: var(--color-text-main);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 751px) {
  .faq {
    padding: 12rem 0;
    gap: 6rem;
  }
}
.faq__title {
  font-size: 2.4rem;
  line-height: 1;
  margin: 0;
  font-weight: var(--font-weight-bold);
  white-space: nowrap;
}
@media (min-width: 751px) {
  .faq__title {
    font-size: 3.6rem;
    line-height: 4.2rem;
  }
}
.faq__list {
  width: 100%;
  max-width: 72rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.2rem;
  margin: 0;
  color: var(--color-primary);
}
@media (min-width: 751px) {
  .faq__list {
    gap: 4.8rem;
  }
}
.faq__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.2rem;
}
.faq__q-wrapper, .faq__a-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.8rem;
  margin: 0;
}
.faq__q-icon {
  font-size: 2rem;
  line-height: 1.2;
}
@media (min-width: 751px) {
  .faq__q-icon {
    font-size: 2.4rem;
    line-height: 2.8rem;
  }
}
.faq__q-text {
  font-size: 1.8rem;
  line-height: 1.4;
  color: var(--color-text-main);
}
@media (min-width: 751px) {
  .faq__q-text {
    font-size: 2.4rem;
    line-height: 2.8rem;
  }
}
.faq__a-wrapper {
  color: var(--color-text-main);
}
.faq__a-icon {
  font-size: 2rem;
  line-height: 1.2;
}
@media (min-width: 751px) {
  .faq__a-icon {
    font-size: 2rem;
    line-height: 3.2rem;
  }
}
.faq__a-text {
  font-size: 1.6rem;
  line-height: 1.6;
}
@media (min-width: 751px) {
  .faq__a-text {
    font-size: 2rem;
    line-height: 3.2rem;
  }
}

/* ====================================================
   Company Section (会社概要)
==================================================== */
.company {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 6rem 2rem 8rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: var(--color-white); /* 背景を白にして区切りを明確に */
}
@media (min-width: 751px) {
  .company {
    padding: 8rem 0 12rem;
  }
}
.company__inner {
  width: 100%;
  max-width: 86rem;
}
.company__title {
  font-size: 2.4rem;
  line-height: 1.4;
  margin: 0 0 3.2rem 0;
  text-align: center;
  color: var(--color-primary);
}
@media (min-width: 751px) {
  .company__title {
    font-size: 3.2rem;
    margin-bottom: 4rem;
  }
}
.company__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.4rem;
  line-height: 1.6;
}
@media (min-width: 751px) {
  .company__table {
    font-size: 1.6rem;
  }
}
.company__table th,
.company__table td {
  /* 既存の変数を使用してサイトのトーンに合わせる */
  border: 1px solid var(--color-light-blue-40);
  padding: 1.6rem;
  text-align: left;
  vertical-align: middle;
}
@media (min-width: 751px) {
  .company__table th,
  .company__table td {
    padding: 2.4rem;
  }
}
.company__table th {
  background-color: var(--color-light-blue-10);
  font-weight: var(--font-weight-bold);
  width: 30%;
  color: var(--color-text-main);
}
@media (min-width: 751px) {
  .company__table th {
    width: 25%;
    white-space: nowrap;
    text-align: center;
  }
}
.company__table td {
  color: var(--color-text-main);
}

/* ====================================================
   FOOTER Section
==================================================== */
footer {
  width: 100%;
  background-color: var(--color-primary);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1rem 0;
  gap: 2.4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media (min-width: 751px) {
  footer {
    padding: 1rem 0;
    gap: 4rem;
  }
}
footer .footer-info-copy {
  font-size: 1.2rem;
  line-height: 1.4;
  color: var(--color-white);
  text-align: center;
  margin: 0;
}
@media (min-width: 751px) {
  footer .footer-info-copy {
    font-size: 1.4rem;
  }
}

/* ====================================================
   Floating Banner (追従バナー)
==================================================== */
.floating-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  background-color: color-mix(in srgb, var(--color-primary) 95%, transparent);
  padding: 1.2rem;
  -webkit-box-shadow: 0 -0.4rem 1.6rem rgba(0, 0, 0, 0.15);
          box-shadow: 0 -0.4rem 1.6rem rgba(0, 0, 0, 0.15);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: opacity 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
  transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0.4s ease;
  transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0.4s ease, -webkit-transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.floating-banner.is-show {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.floating-banner__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.2rem;
  width: 100%;
  max-width: 86rem;
  margin: 0 auto;
}
@media (min-width: 751px) {
  .floating-banner__inner {
    gap: 2.4rem;
    max-width: 64rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.floating-banner__btn {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  text-decoration: none;
  border-radius: 1.6rem;
  -webkit-box-shadow: var(--shadow-btn-floating);
          box-shadow: var(--shadow-btn-floating);
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: transform 0.2s ease, opacity 0.2s ease;
  transition: transform 0.2s ease, opacity 0.2s ease, -webkit-transform 0.2s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--color-primary);
}
.floating-banner__btn:hover {
  -webkit-transform: scale(0.98);
          transform: scale(0.98);
  opacity: 0.9;
}
.floating-banner__btn--phone {
  background: var(--grad-btn-phone);
}
@media (min-width: 751px) {
  .floating-banner__btn--phone {
    pointer-events: none;
    cursor: default;
    background: transparent;
    -webkit-box-shadow: none;
            box-shadow: none;
    color: var(--color-white);
  }
}
.floating-banner__btn--doc {
  background: var(--grad-btn-doc);
}
.floating-banner__btn--doc:hover {
  background: var(--grad-btn-doc-hover);
}
.floating-banner__action-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.8rem;
  gap: 0.8rem;
  width: 100%;
}
.floating-banner__action-inner::before {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background-image: url("img/icon_phone_b.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 751px) {
  .floating-banner__action-inner::before {
    width: 3.2rem;
    height: 3.2rem;
    background-image: url("img/icon_phone_w.webp");
  }
}
.floating-banner__action-inner--doc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.8rem;
  gap: 0.8rem;
  width: 100%;
  /* ▼ パンフレットアイコンを擬似要素で追加 ▼ */
}
.floating-banner__action-inner--doc::before {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background-image: url("img/icon_doc_b.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 751px) {
  .floating-banner__action-inner--doc::before {
    width: 3.2rem;
    height: 3.2rem;
  }
}
@media (min-width: 751px) {
  .floating-banner__action-inner {
    padding: 1.2rem;
    gap: 1.6rem;
  }
  .floating-banner__action-inner--doc {
    padding: 1.2rem;
    gap: 1.6rem;
  }
}
.floating-banner__action-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4rem;
}
.floating-banner__action-label {
  border: 1px solid var(--color-primary);
  padding: 0.2rem 0.8rem;
  font-size: 1.2rem;
  line-height: 1;
}
@media (min-width: 751px) {
  .floating-banner__action-label {
    border-color: var(--color-white);
    font-size: 1.4rem;
  }
}
.floating-banner__action-tel-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.floating-banner__action-tel {
  font-size: clamp(1.8rem, 4.8dvw, 2.4rem);
  line-height: 1;
  white-space: nowrap;
}
@media (min-width: 751px) {
  .floating-banner__action-tel {
    font-size: 2.8rem;
  }
}
.floating-banner__action-hours {
  font-size: 1rem;
}
@media (min-width: 751px) {
  .floating-banner__action-hours {
    font-size: 1.2rem;
  }
}
.floating-banner__action-icon {
  width: 2.4rem;
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (min-width: 751px) {
  .floating-banner__action-icon {
    width: 3.2rem;
  }
}
.floating-banner__action-text {
  font-size: clamp(1.4rem, 3.7dvw, 1.8rem);
  line-height: 1.25;
  text-align: left;
}
@media (min-width: 751px) {
  .floating-banner__action-text {
    font-size: 2rem;
  }
}