/* ============================================================
   汎用（複数セクションで使い回すもの）
   ============================================================ */

:root {
  --smart-chintai-color-white: #fff;
  --smart-chintai-color-blue: #0c4892;
  --smart-chintai-color-light-blue: #00abeb;
  --smart-chintai-color-blue-pale: #e1eaf7;
  --smart-chintai-color-navy: #003894;
  --smart-chintai-color-cyan: #3dc8e0;
  --smart-chintai-color-gray: #eceef4;
  --smart-chintai-color-gray-light: #eee;
  --smart-chintai-color-yellow: #fee231;
}

.u-smart-chintai-md {
  display: none;

  @media screen and (min-width: 769px) {
    display: block;
  }
}

.u-smart-chintai-sm {
  display: block;

  @media screen and (min-width: 769px) {
    display: none;
  }
}

.p-smart-chintai-img img {
  width: 100%;
  height: auto;
}

.p-smart-chintai-img--rounded img {
  border-radius: 6px;
}

.p-smart-chintai-note-list {
  display: grid;
  row-gap: 4px;
  margin-top: 12px;
  padding-left: 1em;
  font-size: 12px;
  line-height: 1.68;
  text-indent: -1em;

  @media screen and (min-width: 769px) {
    margin-top: 20px;
  }

  li {
    padding: 0;

    &::before {
      display: none;
    }

    + li {
      margin-top: 0;
    }
  }
}

/* 黄色マーカー */
.p-smart-chintai-marker {
  --smart-chintai-marker-height: 0.8lh;
  --smart-chintai-marker-offset: 0.4lh;

  padding-bottom: var(--smart-chintai-marker-offset);
  background-image: linear-gradient(
    to top,
    var(--smart-chintai-color-yellow) var(--smart-chintai-marker-height),
    transparent var(--smart-chintai-marker-height)
  );
}

/* マーカー付きキャッチコピー */
.p-smart-chintai-catch {
  --smart-chintai-catch-size: 20px;

  display: grid;
  justify-items: center;
  row-gap: 12px;
  color: var(--smart-chintai-color-blue);
  font-size: var(--smart-chintai-catch-size);
  font-weight: 700;
  line-height: 1;
  text-align: center;

  @media screen and (min-width: 769px) {
    --smart-chintai-catch-size: 24px;

    row-gap: 20px;
  }
}

/* SPは折り返して各行にマーカー、PCは1行につなげる */
.p-smart-chintai-catch__row {
  display: grid;
  justify-items: center;
  row-gap: 12px;

  @media screen and (min-width: 768px) {
    display: flex;
    justify-content: center;
  }
}

.p-smart-chintai-hdg {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.63;
  letter-spacing: 0.1em;

  @media screen and (min-width: 769px) {
    font-size: 24px;
  }
}

/* 下線付き見出し */
.p-smart-chintai-hdg--underline {
  padding-bottom: 10px;
  border-bottom: 2px solid var(--smart-chintai-color-blue);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.11em;

  @media screen and (min-width: 769px) {
    font-size: 28px;
  }

  & + .p-smart-chintai-check-list {
    margin-top: 18px;

    @media screen and (min-width: 769px) {
      margin-top: 34px;
    }
  }
}

/* チェックアイコン付きリスト */
.p-smart-chintai-check-list {
  display: grid;
  row-gap: 12px;

  @media screen and (min-width: 769px) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 18px;
  }

  > li {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px;
    background-color: var(--smart-chintai-color-blue-pale);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.05em;

    @media screen and (min-width: 769px) {
      gap: 10px;
      padding: 14px;
      font-size: 18px;
    }

    &::before {
      display: none;
    }

    + li {
      margin-top: 0;
    }
  }

  img {
    flex-shrink: 0;
    width: 20px;
    height: 20px;

    @media screen and (min-width: 769px) {
      width: 26px;
      height: 26px;
    }
  }

  /* SPは1行、PCのみ改行 */
  br {
    display: none;

    @media screen and (min-width: 769px) {
      display: inline;
    }
  }
}

.p-smart-chintai-text {
  font-size: 14px;
  line-height: 1.63;
  letter-spacing: 0.06em;

  @media screen and (min-width: 769px) {
    font-size: 16px;
  }

  & + & {
    margin-top: 12px;

    @media screen and (min-width: 769px) {
      margin-top: 20px;
    }
  }
}

/* グレーボックス */
.p-smart-chintai-box {
  padding: 32px 48px;
  border-radius: 6px;
  background-color: var(--smart-chintai-color-gray-light);

  &:not(:first-child),
  & + * {
    margin-top: 36px;

    @media screen and (min-width: 769px) {
      margin-top: 55px;
    }
  }
}

.p-smart-chintai-box__hdg {
  margin-bottom: 25px;
}

.p-smart-chintai-box__body {
  display: grid;
  row-gap: 1.5em;
}

/* ---------- 賃貸管理でこんなお悩みありませんか？ ---------- */
.p-smart-chintai-worries {
  display: grid;
  justify-items: center;
  row-gap: 16px;
  padding-bottom: 40px;

  @media screen and (min-width: 769px) {
    row-gap: 30px;
    padding-bottom: 50px;
  }
}

/* 下向き矢印 */
.p-smart-chintai-worries__arrow {
  width: 89px;
  height: 17px;
  scale: 1 -1;

  @media screen and (min-width: 769px) {
    width: 203px;
    height: 39px;
  }
}

.p-smart-chintai-worries__txt {
  display: grid;
  justify-items: center;
  row-gap: 10px;

  @media screen and (min-width: 769px) {
    row-gap: 20px;
  }
}

.p-smart-chintai-worries__lead {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;

  @media screen and (min-width: 769px) {
    gap: 12px;
    font-size: 24px;
  }

  img {
    width: 14px;
    height: 15px;

    @media screen and (min-width: 769px) {
      width: 22px;
      height: 22px;
    }
  }

  img:last-child {
    scale: -1 1;
  }
}

.p-smart-chintai-worries__catch {
  @media screen and (min-width: 768px) {
    --smart-chintai-catch-size: 26px;
  }

  @media screen and (min-width: 769px) {
    --smart-chintai-catch-size: 30px;
  }
}

/* ---------- 例1｜入居時チェック ---------- */
.p-smart-chintai-capture {
  display: grid;
  row-gap: 12px;
  margin-top: 18px;

  @media screen and (min-width: 769px) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 30px;
    margin-top: 48px;
  }
}

.p-smart-chintai-capture__ttl {
  padding: 18px 28px;
  border-radius: 10px 10px 0 0;
  background-color: var(--smart-chintai-usage-title-bg);
  color: var(--smart-chintai-color-white);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-align: center;

  @media screen and (min-width: 769px) {
    font-size: 20px;
  }
}

.p-smart-chintai-capture__img {
  display: grid;
  justify-items: center;
  padding: 30px 10px;
  border-radius: 0 0 10px 10px;
  background-color: var(--smart-chintai-usage-bg);

  img {
    width: auto;
    height: 260px;
    border: 1px solid rgb(0 0 0 / 10%);

    @media screen and (min-width: 769px) {
      height: 360px;
    }
  }
}

/* ---------- 例2｜更新/解約の意思確認 ---------- */
.p-smart-chintai-catch--line {
  margin-block: 20px 30px;

  @media screen and (min-width: 769px) {
    margin-block: 30px 0;
  }
}

/* ---------- 入居者様のご利用イメージ/管理会社様のご利用イメージ ---------- */
/* 入居者様のご利用イメージ */
.p-smart-chintai-usage--resident {
  --smart-chintai-usage-bg: #e0e9f6;
  --smart-chintai-usage-color: var(--smart-chintai-color-blue);
  --smart-chintai-usage-title-bg: var(--smart-chintai-color-navy);
}

/* 管理会社様のご利用イメージ */
.p-smart-chintai-usage--management {
  --smart-chintai-usage-bg: #e1f2f8;
  --smart-chintai-usage-color: var(--smart-chintai-color-blue);
  --smart-chintai-usage-title-bg: var(--smart-chintai-color-cyan);
}

/* ご利用開始までの流れ */
.p-smart-chintai-flow {
  display: grid;
  align-items: start;
  row-gap: 18px;
  margin-top: 18px;

  @media screen and (min-width: 769px) {
    grid-template-columns: 1fr minmax(0, 500px);
    column-gap: 60px;
    margin-top: 55px;
  }
}

.p-smart-chintai-flow__list {
  display: grid;
  row-gap: 14px;

  @media screen and (min-width: 769px) {
    row-gap: 17px;
  }

  > li {
    display: grid;
    justify-items: center;
    row-gap: 14px;
    padding: 0;

    @media screen and (min-width: 769px) {
      row-gap: 17px;
    }

    &::before {
      display: none;
    }

    + li {
      margin-top: 0;

      &::before {
        display: block;
        width: 26px;
        height: 15px;
        background-color: var(--smart-chintai-color-light-blue);
        mask-image: url("/biz/smart_chintai/assets/img/ico_flow_arrow.svg");
        mask-position: center;
        mask-repeat: no-repeat;
        mask-size: contain;
        content: "";
      }
    }
  }

  span {
    display: grid;
    place-items: center;
    justify-self: stretch;
    box-sizing: border-box;
    padding: 16px 10px;
    background-color: var(--smart-chintai-usage-bg);
    color: var(--smart-chintai-usage-color);
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.04em;
    text-align: center;

    @media screen and (min-width: 769px) {
      font-size: 25px;
    }
  }
}

/* 画面イメージ */
.p-smart-chintai-screen {
  display: grid;
  align-items: start;
  row-gap: 30px;
  margin-top: 36px;

  @media screen and (min-width: 769px) {
    grid-template-columns: 1fr minmax(0, 500px);
    column-gap: 60px;
    margin-top: 55px;
  }

  .p-smart-chintai-hdg {
    margin-bottom: 18px;

    @media screen and (min-width: 769px) {
      margin-bottom: 27px;
    }
  }
}

/* ---------- スペック推奨環境/実質0円/利用条件 ---------- */
.p-smart-chintai-list {
  display: grid;
  row-gap: 20px;
  word-break: break-word;

  > li {
    position: relative;
    padding: 0 0 0 20px;

    &::before {
      position: absolute;
      top: 10px;
      left: 0;
      display: block;
      width: 6px;
      height: 6px;
      margin: 0;
      border-radius: 3px;
      background-color: currentColor;
      content: "";
    }

    + li {
      margin-top: 0;
    }
  }
}

/* ---------- お電話でのお問い合わせ・お申し込み ---------- */
.p-smart-chintai-tel {
  display: grid;
  justify-items: center;
  row-gap: 10px;
  margin-top: 24px;
  padding: 30px;
  border: 2px solid var(--smart-chintai-color-gray);
  border-radius: 6px;
  background-color: var(--smart-chintai-color-white);

  @media screen and (min-width: 769px) {
    width: fit-content;
    margin-inline: auto;
  }
}

.p-smart-chintai-tel__company {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
  text-align: center;

  @media screen and (min-width: 769px) {
    font-size: 18px;
  }

  > span {
    display: inline-block;
  }
}

.p-smart-chintai-tel__body {
  display: grid;
  justify-items: center;
  row-gap: 2px;
}

.p-smart-chintai-tel__number {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--smart-chintai-color-blue);
  font-family: "Lato", sans-serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.02em;

  @media screen and (min-width: 769px) {
    font-size: 42px;
  }

  img {
    width: 38px;
    height: 38px;

    @media screen and (min-width: 769px) {
      width: 48px;
      height: 48px;
    }
  }
}

.p-smart-chintai-tel__hours {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.02em;

  @media screen and (min-width: 769px) {
    font-size: 16px;
  }
}

/* ---------- 注意事項 ---------- */
.p-smart-chintai-attention-list {
  font-size: 16px;
  line-height: 1.63;
  letter-spacing: 0.06em;

  li {
    padding: 0;

    &::before {
      display: none;
    }

    + li {
      margin-top: 0;
    }
  }
}
