@charset "UTF-8";
/* コンテンツ最大幅 */
/* color */
/* ============================================ */
/* font */
/* ============================================ */
.common-main__ttl {
  top: 43.5%;
  right: 23.5cqw;
}
@media (width < 1681px) {
  .common-main__ttl {
    right: 22.8cqw;
  }
}
@media (width < 1201px) {
  .common-main__ttl {
    right: 22cqw;
  }
}
@media screen and (max-width: 1024px) {
  .common-main__ttl {
    right: 21.8cqw;
  }
}
@media screen and (max-width: 767px) {
  .common-main__ttl {
    top: 35%;
    right: 23.2cqw;
    line-height: 1.3em;
  }
}
@media all and (max-width: 480px) {
  .common-main__ttl {
    top: 36%;
    right: 27.5cqw;
  }
}

.en_ttl {
  font-size: clamp(1.8rem, 0.85vw + 1.482rem, 2.5rem);
  letter-spacing: 0.2em;
  text-align: center;
  font-family: "Anton", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #0073bc;
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .en_ttl {
    padding-bottom: 10px;
  }
}

.life {
  position: relative;
}
.life-container {
  container-type: inline-size;
  position: relative;
  padding: 0 0 8cqw;
}
@media screen and (max-width: 767px) {
  .life-container {
    padding: 0 0 40px;
  }
}
.life-container_lead {
  padding: 8cqw 0 0;
}
@media screen and (max-width: 767px) {
  .life-container_lead {
    padding: 40px 0 0;
  }
}
.life-container_lead h2 {
  font-size: 3.5rem;
  line-height: 1.6em;
  font-weight: 700;
  letter-spacing: 0.1em;
  word-break: keep-all;
  text-align: center;
}
@media screen and (max-width: 1367px) {
  .life-container_lead h2 {
    font-size: 2.8rem;
  }
}
@media all and (max-width: 480px) {
  .life-container_lead h2 {
    font-size: min(6vw, 2rem);
  }
}
.life-container_lead p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  margin-top: 30px;
  text-align: center;
}
@media screen and (max-width: 1367px) {
  .life-container_lead p {
    font-size: 1.5rem;
    margin-top: 20px;
  }
}
@media all and (max-width: 480px) {
  .life-container_lead p {
    font-size: min(5vw, 1.4rem);
    margin-top: 10px;
  }
}
.life-container_column {
  padding-top: 8cqw;
  display: grid;
  row-gap: 8cqw;
}
@media all and (max-width: 480px) {
  .life-container_column {
    row-gap: 40px;
  }
}
.life-container_column .common-col2 {
  gap: 40px 25px;
}
@media screen and (max-width: 767px) {
  .life-container_column .common-col2 {
    gap: 15px 25px;
  }
}
.life-container_column .common-col2 .side_txt h3 {
  color: #fff;
  background: #1BB8CE;
  background: linear-gradient(90deg, rgb(27, 184, 206) 0%, rgb(0, 104, 183) 100%);
  font-size: clamp(1.8rem, 1.09cqw + 1.391rem, 2.7rem);
  text-align: center;
  line-height: 1.3em;
  font-weight: 600;
  padding: 16px 0;
}
@media screen and (max-width: 767px) {
  .life-container_column .common-col2 .side_txt h3 {
    padding: 10px 0;
  }
}
.life-container_column .common-col2 .side_txt h4 {
  font-size: clamp(1.8rem, 1.09cqw + 1.391rem, 2.7rem);
  font-weight: 500;
  line-height: 1.3em;
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .life-container_column .common-col2 .side_txt h4 {
    padding-top: 10px;
  }
}
.life-container_column .common-col2 .side_txt p {
  padding-top: 20px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .life-container_column .common-col2 .side_txt p {
    padding-top: 10px;
  }
}
.life-container_column .common-col2 .side_img {
  position: relative;
}
.life-container_column .common-col2 .side_img.filter::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background: linear-gradient(180deg, rgba(201, 202, 202, 0) 0%, rgb(201, 202, 202) 100%);
  mix-blend-mode: multiply;
}
.life-container_column .common-col2 .side_img .caption {
  position: absolute;
  bottom: 10px;
  right: 15px;
  color: #fff;
  z-index: 1;
}
.life-bggra {
  color: #fff;
  background: #1BB8CE;
  background: linear-gradient(90deg, rgb(27, 184, 206) 0%, rgb(0, 104, 183) 100%);
  padding-bottom: 100px;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 1367px) {
  .life-bggra {
    padding-bottom: 6cqw;
  }
}
@media screen and (max-width: 767px) {
  .life-bggra {
    padding-bottom: 30px;
  }
}
.life-bggra_lead {
  padding: 6cqw 0 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .life-bggra_lead {
    padding: 30px 0 0;
  }
}
.life-bggra_lead h2 {
  font-size: clamp(2.5rem, 1.21cqw + 2.045rem, 3.5rem);
  line-height: 1.2em;
  font-weight: 700;
  letter-spacing: 0.1em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.life-bggra_lead p {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  margin-top: 30px;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 1367px) {
  .life-bggra_lead p {
    font-size: 1.5rem;
    margin-top: 20px;
  }
}
@media all and (max-width: 480px) {
  .life-bggra_lead p {
    font-size: min(5vw, 1.4rem);
    margin-top: 10px;
  }
}
.life-bggra_column {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 5cqw;
       column-gap: 5cqw;
  padding-top: 6cqw;
}
@media all and (max-width: 480px) {
  .life-bggra_column {
    grid-template-columns: repeat(1, 1fr);
    row-gap: 30px;
  }
}
.life-bggra_column_item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 16px;
}
@media all and (max-width: 480px) {
  .life-bggra_column_item {
    row-gap: 10px;
  }
}
.life-bggra_column_item h3 {
  font-size: clamp(1.8rem, 1.09cqw + 1.391rem, 2.7rem);
  text-align: center;
  line-height: 1.3em;
  font-weight: 600;
  align-content: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media all and (max-width: 480px) {
  .life-bggra_column_item h3 {
    padding-top: 4px;
  }
}
.life-bggra_column_item .txt_miryoku {
  text-align: justify;
}
.life-bggra_column_item .txt_holiday {
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.life-gallary {
  text-align: center;
  padding: 6vw 0;
}
@media screen and (max-width: 767px) {
  .life-gallary {
    padding: 40px 0;
  }
}
.life-gallary h2 {
  font-size: clamp(2.5rem, 1.21cqw + 2.045rem, 3.5rem);
  line-height: 1.2em;
  font-weight: 700;
  letter-spacing: 0.1em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.gallary_slider {
  width: 100%;
  padding-top: 4vw;
}
.gallary_slider .splide {
  position: relative;
}
.gallary_slider .splide .splide__track .splide__list .splide__slide {
  width: 100%;
  max-width: 373px;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media all and (max-width: 480px) {
  .gallary_slider .splide .splide__track .splide__list .splide__slide {
    max-width: 250px;
  }
}
.gallary_slider .splide .splide__track .splide__list .splide__slide img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.mv_txt {
  font-size: clamp(3rem, 6.47vw + 0.573rem, 13rem);
  line-height: 1em;
  font-family: "Anton", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  position: absolute;
  left: 1vw;
  bottom: 1vw;
  color: #FFF;
  opacity: 0.5;
  text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.7);
}