/*--------------------------------------------------------------
# ページビジュアル
--------------------------------------------------------------*/
.page_visual {
  background: url(/assets/img/about/page_visual.jpg) no-repeat center / cover;
}
/*--------------------------------------------------------------
# 園の概要
--------------------------------------------------------------*/
#about_outline {
  padding-top: 0;
  background-image: url(/assets/img/common/side_flower_left.png),
                    url(/assets/img/common/side_flower_right.png);
  background-position: top left,
                       top right;
  background-repeat: no-repeat;
  background-size: 6%,
                   7%;
}
#about_outline .content_block {
  max-width: 70rem;
  margin: 0 auto;
}
#about_outline .dl_list {
  border-bottom: 4px solid #E5F4F1;

  & dt {
    color: var(--key-color);
    font-size: 112.5%;
    width: 6em;
    @media (min-width:768px) {
      width: 27%;
    }
  }
  & dd {
    width: calc(100% - 6em);
    @media (min-width:768px) {
      width: 73%;
    }
  }
}
/*--------------------------------------------------------------
# アクセス
--------------------------------------------------------------*/
#about_access {
  background: url(/assets/img/common/bg_design_1.png) no-repeat center / cover, var(--pale-blue);
}
#about_access .section_title::after {
  margin-bottom: 2.4rem;
}
#about_access .block_title {
  line-height: 1.2;
  width: fit-content;
  margin: 4rem auto 1em;
  background-image: linear-gradient(transparent 70%,#FFF155 70%);
}
#about_access ul {
  margin-bottom: 6rem;
  @media (min-width:768px) {
    text-align: center;
    margin-bottom: 8rem;
  }
}
#about_access .column2_row_layout .map {
  margin-top: 1.6rem;
  @media (min-width:768px) {
    width: 48%;
    margin-top: 0;
  }
}

/*--------------------------------------------------------------
# スクールバスについて
--------------------------------------------------------------*/
#about_bus {
  padding-bottom: 13rem;
  position: relative;
  z-index: 0;
  @media (min-width:768px) {
    padding-bottom: 18.4rem;
  }

  &::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #FFF7F4;
    mask: url(/assets/img/common/bg_design_2.png);
    -webkit-mask: url(/assets/img/common/bg_design_2.png);
    z-index: -1;
  }
}
#about_bus .section_title::after {
  margin-bottom: 2.4rem;
}
#about_bus .img_wrap {
  margin-bottom: 2.4rem;
  border-radius: 1.6rem;
  overflow: hidden;
}
#about_bus .text {
  margin-bottom: 1em;
}
#about_bus .block_title {
  line-height: 1.2;
  width: fit-content;
  margin: 3em auto 1em;
  background-image: linear-gradient(transparent 70%, #FFF155 70%);
}
#about_bus .safety_rule .text {
  width: fit-content;
  margin: 0 auto 2em;
}
#about_bus .bus_check_list {
  max-width: 83rem;
  margin: 0 auto 2.4rem;

  & dt {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 5em;
    height: 5em;
    margin: 1em auto;
    border: 1px solid #000;
    border-radius: 50%;
    position: relative;

    &::before {
      content: "";
      width: 100%;
      height: 100%;
      background-image: repeating-linear-gradient(-45deg, #FFFF5F, #FFFF5F 2px, #FFF 2px, #FFF 4px);
      border-radius: 50%;
      position: absolute;
      top: 4px;
      right: -4px;
      z-index: -1;
    }
  }
  & dd {
    & ol {
      counter-reset: count 0;
      margin-left: 4em;
      & li {
        counter-increment: count 1;
        padding-left: 0.5em;

        &::marker {
          content: "step."counter(count);
          color: var(--key-color);
          font-weight: 700;
        }
        + li::before {
          display: block;
          content: "";
          width: 0;
          height: 2em;
          margin: 1rem auto 1rem calc(50% - 2.5em);
          border-right: 0.3rem dashed var(--key-color);
        }
      }
    }
  }
}