/*! Writen  by SCSS */
.contents_wrap {
  font-weight: 600; }

.inner_main .main_image {
  background-image: url("../images/life/main.png"); }
  @media screen and (max-width: 480px) {
    .inner_main .main_image {
      background-image: url("../images/life/main_sp.png"); } }

.sec01 {
  padding-bottom: clamp(60px, 6.25vw, 100px); }
  @media screen and (max-width: 480px) {
    .sec01 {
      padding-bottom: 60px; } }
  .sec01 .midashi_group {
    margin-bottom: clamp(30px, 3.125vw, 50px); }
  @media screen and (max-width: 820px) {
    .sec01 .sec01_cont01 {
      flex-wrap: wrap;
      gap: 35px 0; } }
  @media screen and (max-width: 480px) {
    .sec01 .sec01_cont01 {
      gap: 25px 0; } }
  .sec01 .sec01_cont01 .item {
    width: 22.5%;
    background: #FFF;
    padding: 20px 0 30px;
    border-radius: 10px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); }
    @media screen and (max-width: 820px) {
      .sec01 .sec01_cont01 .item {
        width: 47%; } }
    @media screen and (max-width: 480px) {
      .sec01 .sec01_cont01 .item {
        width: 100%;
        padding: 20px 0; } }
    .sec01 .sec01_cont01 .item .photo {
      margin-bottom: clamp(15px, 1.875vw, 30px); }
    .sec01 .sec01_cont01 .item .text_group {
      padding: 0 15px; }
      .sec01 .sec01_cont01 .item .text_group.flex {
        flex-direction: column;
        row-gap: 30px; }
        @media screen and (max-width: 480px) {
          .sec01 .sec01_cont01 .item .text_group.flex {
            row-gap: 20px; } }
      .sec01 .sec01_cont01 .item .text_group .wappen {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        row-gap: clamp(10px, 1.25vw, 20px); }
        .sec01 .sec01_cont01 .item .text_group .wappen .wappen_txt {
          font-size: clamp(12px, 1.059vw, 18px); }
          @media screen and (max-width: 820px) {
            .sec01 .sec01_cont01 .item .text_group .wappen .wappen_txt {
              font-size: 2.5vw; } }
          @media screen and (max-width: 480px) {
            .sec01 .sec01_cont01 .item .text_group .wappen .wappen_txt {
              font-size: 4.6vw; } }
        .sec01 .sec01_cont01 .item .text_group .wappen .wappen_cap {
          text-align: left;
          line-height: 1.4;
          font-size: clamp(10px, 0.706vw, 12px); }
      .sec01 .sec01_cont01 .item .text_group .item_group {
        display: flex;
        flex-direction: column;
        row-gap: 15px; }
      .sec01 .sec01_cont01 .item .text_group .item_ttl {
        font-size: clamp(18px, 1.412vw, 24px);
        font-weight: 600;
        line-height: 1.4;
        color: #132d56; }
        @media screen and (max-width: 820px) {
          .sec01 .sec01_cont01 .item .text_group .item_ttl {
            font-size: 2.8vw; } }
        @media screen and (max-width: 480px) {
          .sec01 .sec01_cont01 .item .text_group .item_ttl {
            font-size: 4.4vw;
            line-height: 1.6; } }
        .sec01 .sec01_cont01 .item .text_group .item_ttl .marker01 {
          background: linear-gradient(transparent 60%, #dccca9 60%, #dccca9 95%, transparent 95%); }
        .sec01 .sec01_cont01 .item .text_group .item_ttl .marker02 {
          background: linear-gradient(transparent 60%, #94b0b0 60%, #94b0b0 95%, transparent 95%); }
        .sec01 .sec01_cont01 .item .text_group .item_ttl .marker03 {
          background: linear-gradient(transparent 60%, #efc298 60%, #efc298 95%, transparent 95%); }
      .sec01 .sec01_cont01 .item .text_group .item_read {
        font-size: clamp(12px, 0.942vw, 16px);
        line-height: 1.68; }
        @media screen and (max-width: 820px) {
          .sec01 .sec01_cont01 .item .text_group .item_read {
            font-size: 14px; } }
      .sec01 .sec01_cont01 .item .text_group .hash_group {
        margin: 0;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 5px; }
        .sec01 .sec01_cont01 .item .text_group .hash_group .hash {
          font-size: clamp(11px, 0.824vw, 14px);
          font-weight: 600;
          color: #00a0e9;
          line-height: 1.3; }
          @media screen and (max-width: 820px) {
            .sec01 .sec01_cont01 .item .text_group .hash_group .hash {
              font-size: 14px; } }
          @media screen and (max-width: 480px) {
            .sec01 .sec01_cont01 .item .text_group .hash_group .hash {
              font-size: 10px; } }

.sec02 {
  padding: 60px 0 clamp(50px, 5vw, 80px);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../images/life/bg01.jpg"); }
  @media screen and (max-width: 480px) {
    .sec02 {
      padding: 30px 0 0; } }
  .sec02 .inner {
    max-width: 1800px; }
  .sec02 .izu_chu_ttl {
    flex-direction: column;
    align-items: center;
    row-gap: clamp(20px, 3.125vw, 50px);
    text-align: center;
    margin-bottom: clamp(25px, 3.75vw, 60px); }
    .sec02 .izu_chu_ttl .izu_read {
      font-size: clamp(16px, 1.5vw, 18px);
      line-height: 2;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 480px) {
        .sec02 .izu_chu_ttl .izu_read {
          font-size: 3.7vw;
          letter-spacing: normal; } }
  .sec02 .change_button {
    max-width: 1000px;
    margin: 0 auto 30px; }
    .sec02 .change_button .button {
      width: 48%;
      text-align: center;
      font-size: clamp(18px, 2vw, 24px);
      color: #FFF;
      padding: 20px 10px;
      line-height: 1;
      cursor: pointer;
      position: relative; }
      @media screen and (max-width: 480px) {
        .sec02 .change_button .button {
          padding: 17px 10px 20px;
          font-size: 16px; } }
      .sec02 .change_button .button.dinks {
        background: #183a62; }
      .sec02 .change_button .button.family {
        background: #8d534e; }
      .sec02 .change_button .button.active:after {
        opacity: 1; }
      .sec02 .change_button .button:after {
        content: "";
        position: absolute;
        inset: 0;
        bottom: auto;
        top: calc(100% - 1px);
        width: 30px;
        aspect-ratio: 2/1;
        margin: auto;
        background: inherit;
        clip-path: polygon(50% 100%, 0 0, 100% 0);
        opacity: 0;
        transition: 0.3s opacity ease-in-out 0s; }
        @media screen and (max-width: 480px) {
          .sec02 .change_button .button:after {
            width: 20px; } }
  .sec02 .dinks_family {
    position: relative; }
    .sec02 .dinks_family .dinks_family_in {
      padding: clamp(40px, 3.75vw, 60px) 30px clamp(50px, 5vw, 80px);
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      opacity: 0;
      pointer-events: none;
      transition: 0.5s opacity ease-in-out 0s; }
      @media screen and (max-width: 480px) {
        .sec02 .dinks_family .dinks_family_in {
          width: auto;
          padding: 20px 25px 30px;
          margin: 0 -20px; } }
      .sec02 .dinks_family .dinks_family_in.active {
        position: relative;
        opacity: 1;
        pointer-events: all; }
      .sec02 .dinks_family .dinks_family_in.dinks {
        background: #bccce0; }
      .sec02 .dinks_family .dinks_family_in.family {
        background: #e9c8c1; }
      .sec02 .dinks_family .dinks_family_in .for_ttl {
        font-size: clamp(23px, 1.875vw, 30px);
        text-align: center;
        margin-bottom: clamp(25px, 2.5vw, 40px); }
        @media screen and (max-width: 480px) {
          .sec02 .dinks_family .dinks_family_in .for_ttl {
            font-size: 4vw; } }
      .sec02 .dinks_family .dinks_family_in .time_item {
        max-width: 1600px;
        margin: 0 auto; }
        @media screen and (max-width: 480px) {
          .sec02 .dinks_family .dinks_family_in .time_item {
            flex-direction: column;
            row-gap: 20px; } }
        .sec02 .dinks_family .dinks_family_in .time_item .item {
          width: 48.75%;
          position: relative; }
          @media screen and (max-width: 480px) {
            .sec02 .dinks_family .dinks_family_in .time_item .item {
              width: 100%; } }
          .sec02 .dinks_family .dinks_family_in .time_item .item .item_ttl {
            font-size: clamp(20px, 1.5vw, 24px);
            padding: 20px 10px;
            color: #FFF;
            text-align: center;
            line-height: 1; }
            @media screen and (max-width: 480px) {
              .sec02 .dinks_family .dinks_family_in .time_item .item .item_ttl {
                padding: 10px;
                font-size: 12px; } }
            .sec02 .dinks_family .dinks_family_in .time_item .item .item_ttl.weekday_color {
              background: #557a89; }
            .sec02 .dinks_family .dinks_family_in .time_item .item .item_ttl.holiday_color {
              background: #3f8383; }
            .sec02 .dinks_family .dinks_family_in .time_item .item .item_ttl.weekday_color02 {
              background: #b98462; }
            .sec02 .dinks_family .dinks_family_in .time_item .item .item_ttl.holiday_color02 {
              background: #b76a72; }
          .sec02 .dinks_family .dinks_family_in .time_item .item .time_image {
            position: relative; }
            .sec02 .dinks_family .dinks_family_in .time_item .item .time_image .time_image_sp {
              display: none; }
              @media screen and (max-width: 480px) {
                .sec02 .dinks_family .dinks_family_in .time_item .item .time_image .time_image_sp {
                  display: block;
                  position: absolute; } }
              .sec02 .dinks_family .dinks_family_in .time_item .item .time_image .time_image_sp.sp01 {
                right: -7%;
                top: 3%;
                width: 60%; }
              .sec02 .dinks_family .dinks_family_in .time_item .item .time_image .time_image_sp.sp02 {
                right: -7%;
                top: 0%;
                width: 63%; }
              .sec02 .dinks_family .dinks_family_in .time_item .item .time_image .time_image_sp.sp03 {
                right: -7%;
                top: 3%;
                width: 46%; }
              .sec02 .dinks_family .dinks_family_in .time_item .item .time_image .time_image_sp.sp04 {
                right: -7%;
                top: -1%;
                width: 75%; }

.sec03 {
  padding: clamp(80px, 7.5vw, 120px) 0 80px;
  background: #FFF;
  position: relative; }
  @media screen and (max-width: 820px) {
    .sec03 {
      padding: 100px 0 80px; } }
  @media screen and (max-width: 480px) {
    .sec03 {
      padding: 50px 0 300px; } }
  .sec03 .map_ttl {
    width: 58.07%;
    flex-direction: column;
    align-items: center;
    text-align: center;
    row-gap: 20px;
    margin: 0 auto 40px; }
    @media screen and (max-width: 820px) {
      .sec03 .map_ttl {
        width: 70%; } }
    @media screen and (max-width: 480px) {
      .sec03 .map_ttl {
        width: 90%;
        row-gap: 10px;
        margin-bottom: 200px; } }
    .sec03 .map_ttl .map_sub {
      line-height: 1.2;
      font-size: clamp(24px, 1.875vw, 30px); }
      @media screen and (max-width: 480px) {
        .sec03 .map_ttl .map_sub {
          font-size: 5vw; } }
  .sec03 .position {
    position: absolute;
    pointer-events: none;
    z-index: 3; }
    .sec03 .position.photo01 {
      left: 1.06%;
      top: 0;
      width: 17.01%; }
      @media screen and (max-width: 480px) {
        .sec03 .position.photo01 {
          left: 0;
          top: 13%;
          width: 56.67%; } }
    .sec03 .position.photo02 {
      right: 1.58%;
      top: 15%;
      width: 36.48%; }
      @media screen and (max-width: 820px) {
        .sec03 .position.photo02 {
          top: 22%; } }
      @media screen and (max-width: 480px) {
        .sec03 .position.photo02 {
          right: 2.67%;
          top: 14.5%;
          width: 50%; } }
    .sec03 .position.photo03 {
      left: 1.58%;
      bottom: 0%;
      width: 36.58%; }
      @media screen and (max-width: 820px) {
        .sec03 .position.photo03 {
          bottom: 5%; } }
      @media screen and (max-width: 480px) {
        .sec03 .position.photo03 {
          left: 2.67%;
          bottom: 10%;
          width: 92%; } }
    .sec03 .position.photo04 {
      right: 0.53%;
      bottom: -3%;
      width: 18.9%; }
      @media screen and (max-width: 820px) {
        .sec03 .position.photo04 {
          bottom: 0; } }
      @media screen and (max-width: 480px) {
        .sec03 .position.photo04 {
          left: 0;
          bottom: 2%;
          width: 42.67%; } }
  .sec03 .image_swiper_wrap {
    position: relative; }
    .sec03 .image_swiper_wrap .image_swiper {
      width: 100%;
      overflow: hidden;
      cursor: grab; }
      .sec03 .image_swiper_wrap .image_swiper.swiper-grabbing {
        cursor: grabbing; }
      .sec03 .image_swiper_wrap .image_swiper .swiper-wrapper {
        padding-left: 120px;
        transition-timing-function: linear; }
        @media screen and (max-width: 820px) {
          .sec03 .image_swiper_wrap .image_swiper .swiper-wrapper {
            padding-left: 40px; } }
        @media screen and (max-width: 480px) {
          .sec03 .image_swiper_wrap .image_swiper .swiper-wrapper {
            padding-left: 0; } }
      .sec03 .image_swiper_wrap .image_swiper .swiper-slide {
        width: 2179px;
        flex-shrink: 0; }
        @media screen and (max-width: 820px) {
          .sec03 .image_swiper_wrap .image_swiper .swiper-slide {
            width: 120vw; } }
        @media screen and (max-width: 480px) {
          .sec03 .image_swiper_wrap .image_swiper .swiper-slide {
            width: 210vw; } }
        .sec03 .image_swiper_wrap .image_swiper .swiper-slide img {
          display: block;
          width: 2059px;
          max-width: none;
          height: auto; }
          @media screen and (max-width: 820px) {
            .sec03 .image_swiper_wrap .image_swiper .swiper-slide img {
              width: 120vw; } }
          @media screen and (max-width: 480px) {
            .sec03 .image_swiper_wrap .image_swiper .swiper-slide img {
              width: 210vw; } }
    .sec03 .image_swiper_wrap .side_swipe_icon {
      position: absolute;
      inset: 0;
      display: flex;
      justify-content: center;
      align-items: center;
      z-index: 5;
      pointer-events: none;
      transition: 1s opacity ease-in-out 0s; }
      .sec03 .image_swiper_wrap .side_swipe_icon.is_hidden {
        opacity: 0; }
      .sec03 .image_swiper_wrap .side_swipe_icon img {
        width: 160px;
        animation: 2s side_move infinite ease-in-out alternate; }
        @media screen and (max-width: 480px) {
          .sec03 .image_swiper_wrap .side_swipe_icon img {
            width: 80px; } }
@keyframes side_move {
  0%,100% {
    transform: translateX(-30px); }
  50% {
    transform: translateX(30px); } }
  .sec03 .scroll_bar {
    width: 100%;
    max-width: 500px;
    height: 1px;
    margin: 30px auto 0;
    background: #c2ced3;
    position: relative; }
    @media screen and (max-width: 1400px) {
      .sec03 .scroll_bar {
        max-width: 300px; } }
    @media screen and (max-width: 820px) {
      .sec03 .scroll_bar {
        max-width: 200px; } }
    @media screen and (max-width: 480px) {
      .sec03 .scroll_bar {
        max-width: 250px;
        margin: 15px auto 0; } }
    .sec03 .scroll_bar .scroll_bar_current {
      display: block;
      width: 0;
      height: 4px;
      background: #557a89;
      transform: translateX(0) translateY(-2px); }

.sec04 {
  padding-bottom: 70px;
  background: #FFF; }
  .sec04 .pickup_ttl_group {
    display: flex;
    flex-direction: column;
    row-gap: 40px;
    margin-bottom: 50px; }
    @media screen and (max-width: 480px) {
      .sec04 .pickup_ttl_group {
        row-gap: 25px;
        margin-bottom: 35px; } }
    .sec04 .pickup_ttl_group .pickup {
      text-align: center; }
    .sec04 .pickup_ttl_group .pickup_text_group {
      position: relative;
      width: fit-content;
      margin: 0 auto; }
      .sec04 .pickup_ttl_group .pickup_text_group .deco {
        position: absolute;
        animation: wakuwaku 0.6s ease-in-out infinite alternate;
        animation-timing-function: steps(2, jump-none); }
        .sec04 .pickup_ttl_group .pickup_text_group .deco.deco01 {
          right: 100%;
          bottom: 45%;
          width: 65px; }
          @media screen and (max-width: 480px) {
            .sec04 .pickup_ttl_group .pickup_text_group .deco.deco01 {
              width: 40px; } }
        .sec04 .pickup_ttl_group .pickup_text_group .deco.deco02 {
          left: 95%;
          bottom: 80%;
          width: 68px;
          animation-delay: 0.3s; }
          @media screen and (max-width: 480px) {
            .sec04 .pickup_ttl_group .pickup_text_group .deco.deco02 {
              width: 42px; } }
@keyframes wakuwaku {
  0% {
    transform: rotate(6deg); }
  100% {
    transform: rotate(-6deg); } }
      .sec04 .pickup_ttl_group .pickup_text_group .pickup_text {
        font-size: clamp(30px, 2.813vw, 45px);
        line-height: 1.5; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_ttl_group .pickup_text_group .pickup_text {
            font-size: 6vw;
            text-align: center; } }
        .sec04 .pickup_ttl_group .pickup_text_group .pickup_text .marker {
          background: linear-gradient(transparent 60%, #d9c08a 60%, #d9c08a 95%, transparent 95%); }
  .sec04 .pickup_group {
    flex-wrap: wrap; }
    .sec04 .pickup_group .pickup {
      width: 100%;
      align-items: flex-start; }
      @media screen and (max-width: 480px) {
        .sec04 .pickup_group .pickup {
          flex-direction: column; } }
      .sec04 .pickup_group .pickup.item02 {
        align-items: center;
        margin: 30px 0 70px; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup.item02 {
            margin: 30px 0; } }
      .sec04 .pickup_group .pickup.item04 {
        margin: clamp(80px, 6.876vw, 110px) 0 60px; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup.item04 {
            margin: 50px 0; } }
      .sec04 .pickup_group .pickup.item05 {
        margin-bottom: 40px; }
      @media screen and (max-width: 480px) {
        .sec04 .pickup_group .pickup .image {
          width: auto !important; } }
      .sec04 .pickup_group .pickup .image01 {
        width: 38.75%;
        margin-top: 60px; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup .image01 {
            margin-top: 0; } }
      .sec04 .pickup_group .pickup .image02 {
        width: 61.88%;
        margin-right: -2%; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup .image02 {
            margin-top: -30px;
            margin-right: -5%; } }
      .sec04 .pickup_group .pickup .image03 {
        width: 47.69%; }
      .sec04 .pickup_group .pickup .image04 {
        width: 46.82%; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup .image04 {
            margin-top: 30px;
            margin-right: -5%; } }
      .sec04 .pickup_group .pickup .image05 {
        width: 35.19%; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup .image05 {
            margin-right: -6.5%; } }
      .sec04 .pickup_group .pickup .image06 {
        width: 61.69%;
        margin-top: 20px; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup .image06 {
            margin-top: 30px;
            margin-right: -3%;
            margin-left: -3%; } }
      .sec04 .pickup_group .pickup .image07 {
        width: 34.88%;
        margin-top: 20px; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup .image07 {
            margin-top: 0;
            margin-bottom: 45px;
            margin-right: -5%; } }
      .sec04 .pickup_group .pickup .image08 {
        width: 61.69%; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup .image08 {
            margin-right: -4%;
            margin-left: -4%; } }
      .sec04 .pickup_group .pickup .image09 {
        width: 38.25%;
        margin-left: -2%; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup .image09 {
            margin-right: -6%;
            margin-left: -6%;
            margin-bottom: 30px; } }
      .sec04 .pickup_group .pickup .image10 {
        width: 62.07%; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup .image10 {
            margin-right: -2%;
            margin-left: -6%; } }
      .sec04 .pickup_group .pickup .image11 {
        width: 47.07%; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup .image11 {
            margin-right: -2%;
            margin-left: -2%; } }
      .sec04 .pickup_group .pickup .image12 {
        width: 47.88%;
        margin-top: 40px; }
        @media screen and (max-width: 480px) {
          .sec04 .pickup_group .pickup .image12 {
            margin-top: 30px;
            margin-right: -4%;
            margin-left: -2%; } }

/*# sourceMappingURL=life.css.map */
