@charset "UTF-8";
/*==================================
  General - 共通
==================================*/
.p-index-section {
  padding: 60px 0;
}
.p-index-section:not(:first-of-type) {
  border-top: solid 1px #D1D1D1;
}
.p-index-section:last-of-type {
  padding: 60px 0 0;
}

@media only screen and (max-width: 767px) {
  .p-index-section {
    padding: 30px 0;
  }
}

/*==================================
  Title - 見出し
==================================*/
.p-index-title_p1 {
  font-size: 4.2rem;
  font-weight: 700;
  border-bottom: solid 1px #1C1C1C;
}
.p-index-title_p1 > span {
  padding-left: 45px;
  position: relative;
}
.p-index-title_p1 > span::before {
  content: "";
  width: 30px;
  aspect-ratio: 1;
  position: absolute;
  top: 6px;
  left: 0;
}
.p-index-title_p1.title-feature > span::before {
  background: url(/assets/images/common/icon_tag.svg) center/cover no-repeat;
}
.p-index-title_p1.title-topics > span::before {
  background: url(/assets/images/common/icon_topics.svg) center/cover no-repeat;
}
.p-index-title_p1.title-outing > span::before {
  background: url(/assets/images/common/icon_door-wh.svg) center/cover no-repeat;
}
.p-index-title_p2 {
  font-size: 2.8rem;
  font-weight: 700;
}
.p-index-title_p2 > span {
  padding-left: 30px;
  position: relative;
}
.p-index-title_p2 > span::before {
  content: "";
  background: url(/assets/images/common/icon_tag.svg) center/cover no-repeat;
  width: 15px;
  aspect-ratio: 1;
  position: absolute;
  top: 7px;
  left: 0;
}

@media only screen and (max-width: 767px) {
  .p-index-title_p1 {
    font-size: 2.8rem;
  }
  .p-index-title_p1 > span {
    padding-left: 36px;
  }
  .p-index-title_p1 > span::before {
    width: 26px;
    top: 1px;
  }
  .p-index-title_p2 {
    font-size: 2.2rem;
  }
  .p-index-title_p2 > span {
    padding-left: 25px;
  }
  .p-index-title_p2 > span::before {
    top: 3px;
  }
}
/*==================================
  Feature - 特集
==================================*/
.p-index-feature_unit {
  display: flex;
  gap: 40px;
}
.p-index-feature_unit_item a {
  background-color: #fff;
  border-radius: 0 0 60px 0;
  color: inherit;
  text-decoration: none;
  display: inline-block;
  height: 100%;
  width: 100%;
}
.p-index-feature_unit > * {
  flex: 1;
}
.p-index-feature a:hover, .p-index-feature a:active, .p-index-feature a:focus {
  opacity: 1;
}
.p-index-feature a:hover img, .p-index-feature a:active img, .p-index-feature a:focus img {
  opacity: 1;
  transform: scale(1.1);
}

.p-index-feature_box {
  padding: 40px;
  display: flex;
  gap: 40px;
}
.p-index-feature_box_image {
  position: relative;
  border-radius: 0 0 30px 0;
  overflow: hidden;
}
.p-index-feature_box_image > img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.p-index-feature_box_image::before {
  content: "";
  background: url(/assets/images/common/icon_eartag.svg) center/cover no-repeat;
  width: 90px;
  aspect-ratio: 1;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.p-index-feature_box_data {
  flex: 1;
}
.p-index-feature_box_label {
  padding: 0 10px;
  background-color: #FC8E62;
  border-radius: 15px;
  font-weight: 700;
  display: inline-block;
  min-width: 9.5em;
  text-align: center;
  font-size: 90%;
}
.p-index-feature_box_title {
  font-size: 2.2rem;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-overflow: ellipsis;
}

@media only screen and (min-width: 1200px) {
  .p-index-feature_box_image {
    width: 55%;
    max-width: 360px;
  }
}

@media only screen and (min-width: 768px) {
  .p-index-feature_unit > * {
    max-width: 50%;
  }
}

@media only screen and (max-width: 1199px) {
  .p-index-feature_unit_item a {
    border-radius: 0 0 30px 0;
  }
  .p-index-feature_box {
    padding: 20px;
    flex-direction: column;
    gap: 20px;
  }
  .p-index-feature_box_title {
    font-size: 1.8rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    text-overflow: ellipsis;
  }
}

@media only screen and (max-width: 767px) {
  .p-index-feature_unit {
    flex-direction: column;
    gap: 20px;
  }
}

/*==================================
  Outing - おでかけ
==================================*/
.p-index-outing_image {
  padding-left: calc(56% + min(5vw, 80px));
  position: relative;
  min-height: 240px;
}
.p-index-outing_image::before {
  content: "";
  background: url(/assets/images/index/banner.jpg) no-repeat center/cover;
  width: 56%;
  aspect-ratio: 1721/480;
  position: absolute;
  top: 0;
  left: 0;
}
.p-index-outing_lead {
  font-size: 2.8rem;
  font-weight: 700;
}
.p-index-outing_lead > span {
  background: linear-gradient(transparent 70%, #fff 30%);
}

@media only screen and (max-width: 1199px) {
  .p-index-outing_image {
    padding-left: 0;
    padding-top: calc(28% + 20px);
  }
  .p-index-outing_image::before {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .p-index-outing_lead {
    font-size: 2.2rem;
  }
}