@charset "UTF-8";

@import url("_common.css");
@import url("_utility.css");

body.p-life {
  /* life common ======== */

  /* top ======== */
  &.--life-top {}

  /* life-top */

  /* activity ======== */
  &.--life-activity {
    & .l-contents.--01 {}

    /* activity 01 */

    & .l-contents.--02 {
      border-bottom: 1px solid var(--color-black-primary);
      overflow-x: hidden;

      & .l-contents__inner {
        display: grid;

        @media not all and (max-width: 750px) {
          grid-template-columns: 1fr 1fr;
        }

        @media (max-width: 750px) {
          grid-template-columns: 1fr;
          gap: 0;
        }

        &:nth-of-type(odd) {
          background-color: var(--color-gray-septenary);
          position: relative;

          &::before,
          &::after {
            display: block;
            content: "";
            width: 100%;
            height: 100%;
            background-color: var(--color-gray-septenary);
            position: absolute;
            top: 0;
            z-index: -1;
          }

          &::before {
            left: 0;
            translate: -100% 0;
          }

          &::after {
            right: 0;
            translate: 100% 0;
          }
        }

        &>div:nth-of-type(1) {
          padding-block: 1em;

          @media not all and (max-width: 750px) {
            padding-inline: 90px 30px;
            position: relative;
          }

          @media (max-width: 750px) {}
        }

        & .arrowline {
          @media not all and (max-width: 750px) {
            display: block;
            content: "";
            width: 1.5px;
            height: calc(100% - 20px);
            background-color: var(--color-black-primary);
            margin-inline-end: clamp(1.25rem, 0.896rem + 1.51vw, 2.5rem);
            /*20px 40px */
            position: absolute;
            bottom: 0;
            left: 30px;

            &::before,
            &::after {
              display: block;
              content: "";
              width: 1px;
              height: 60px;
              background-color: var(--color-black-primary);
              position: absolute;
              bottom: 0;
              left: 0;
              transform-origin: bottom center;
            }

            &::before {
              rotate: 40deg;
            }

            &::after {
              rotate: -40deg;
            }
          }

          @media (max-width: 750px) {
            display: none;
          }
        }

        & h3 {
          color: var(--color-red-primary);
          font-family: "Montserrat", sans-serif;
          font-optical-sizing: auto;
          font-size: clamp(4.688rem, 4.493rem + 0.83vw, 5.375rem);
          /* 75px 86px */
          font-weight: 600;

          @media (max-width: 750px) {
            line-height: 1;
          }

          &>span {
            margin-inline-start: 1em;
            font-size: clamp(0.75rem, 0.697rem + 0.23vw, 0.938rem);
            /* 12px 15px */
            font-weight: 400;
          }
        }

        & p {
          font-size: clamp(0.938rem, 0.884rem + 0.23vw, 1.125rem);
          /* 15px 18px */
          font-weight: 500;

          &>span {
            display: inline grid;
            place-items: center;
            width: fit-content;
            margin-inline-end: .5em;
            padding: .15em .5em;
            border-radius: clamp(0.25rem, 0.179rem + 0.3vw, 0.5rem);
            /* 4px 8px */
            background-color: var(--color-green-primary);
            font-size: clamp(0.75rem, 0.697rem + 0.23vw, 0.938rem);
            /* 12px 15px */
            text-align: center;
          }
        }

        & ul {
          margin-block-start: 0.5em;

          & li {
            font-size: clamp(0.938rem, 0.884rem + 0.23vw, 1.125rem);
            /* 15px 18px */
            font-weight: 500;

            &+& {
              margin-block-start: .5em;
            }
          }

          &.contents__2col {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: .5em 1em;

            &>li {
              &+& {
                margin-block-start: 0;
              }
            }
          }

          &+p {
            margin-block-start: 1em;
          }
        }

        & figure {
          aspect-ratio: 564.864/312.8647;

          &>img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
          }
        }
      }
    }

    /* activity 02 */

    & .l-contents.--03 {
      & ul {
        display: grid;
        margin-block-start: clamp(1.25rem, 0.896rem + 1.51vw, 2.5rem);

        /* 20px 40px */
        @media not all and (max-width: 750px) {
          grid-template-columns: repeat(2, 1fr);
          gap: clamp(0.938rem, 0.142rem + 3.4vw, 3.75rem);
          /* 15px 60px */
        }

        @media (max-width: 750px) {
          grid-template-columns: 1fr;
          gap: 30px;
        }

        & li {
          & figure {
            position: relative;

            &>figcapture {
              display: grid;
              place-items: center;
              width: fit-content;
              padding-block: .25em;
              padding-inline: .5em;
              background-color: var(--color-white);
              font-size: clamp(1.125rem, 0.983rem + 0.6vw, 1.625rem);
              /* 18px 26px */
              font-weight: 500;
              position: absolute;
              bottom: 0;
              left: 0;
            }
          }

          & p {
            margin-block-start: 1em;
          }
        }
      }
    }

    /* activity 03 */
  }

  /* activity */

  /* club ======== */
  &.--life-club {

    & .l-contents.--02,
    & .l-contents.--04 {
      & .c-card {
        &>div {
          padding-block-start: 1em;

          & p {
            color: var(--color-red-primary);
            font-family: "Montserrat", sans-serif;
            font-optical-sizing: auto;
            font-weight: 600;
            font-size: 11px;
          }

          & h3 {
            margin-block-start: 0;
          }
        }

        @media not all and (max-width: 750px) {
          &+.c-card {
            border-left: none;
          }

          &:nth-of-type(3n+1) {
            border-left: 1px solid color-mix(in srgb, var(--color-black-primary) 60%, transparent);
          }
        }

        @media (max-width: 750px) {
          &+.c-card {
            border-left: none;
          }

          &:nth-of-type(2n+1) {
            border-left: 1px solid color-mix(in srgb, var(--color-black-primary) 60%, transparent);
          }
        }
      }

      & ul+p {
        margin-block-start: 1em;
        padding-inline-start: 1em;
        text-indent: -1em;
      }
    }

    /* club 02,04 common */

    & .l-contents.--03,
    & .l-contents.--05 {
      background-color: var(--color-gray-primary);

      & .l-contents__inner {
        & ul {
          display: grid;
          gap: clamp(1rem, 0.717rem + 1.21vw, 2rem);

          /* 16px 32px */
          @media not all and (max-width: 750px) {
            grid-template-columns: repeat(3, 1fr);
          }

          @media (max-width: 750px) {
            grid-template-columns: repeat(2, 1fr);
          }

          & li {
            position: relative;

            & a {
              display: block;
              width: 100%;
              height: 100%;
              position: absolute;
              inset: 0;
              margin: auto;
              z-index: 5;

              @media (any-hover: hover) {
                &:hover~figure {
                  filter: brightness(1.2);
                }
              }
            }

            & figure {
              aspect-ratio: 434.736/289.7684;
              filter: brightness(1);
              transition: filter 0.4s ease-in-out;

              &>img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
              }
            }

            & p {
              margin-block-start: .5em;
              text-align: center;
            }
          }
        }
      }

    }

    /* club 03,05 common */

    & .l-contents.--01 {
      & article {
        display: grid;
        border: 1px solid color-mix(in srgb, var(--color-black-primary) 75%, transparent);

        @media not all and (max-width: 750px) {
          grid-template-columns: repeat(2, 1fr);
        }

        @media (max-width: 750px) {
          grid-template-columns: 1fr;
        }

        &>div {
          &:nth-of-type(1) {
            padding: 1.5em;

            & hgroup {
              display: flex;
              flex-direction: column-reverse;
              margin-block-end: 1em;

              & h3 {
                font-size: clamp(1.25rem, 1.144rem + 0.45vw, 1.625rem);
                /* 20px 26px */
              }

              & p {
                color: var(--color-red-primary);
                font-family: "Montserrat", sans-serif;
                font-optical-sizing: auto;
                font-weight: 600;
                font-size: 10px;
              }
            }

            & dl {
              display: grid;
              grid-template-columns: auto 1fr;
              gap: 1em;
              font-size: clamp(1rem, 0.965rem + 0.15vw, 1.125rem);
              /* 16px 18px */
              font-weight: 600;
            }

            & .c-button {
              grid-template-columns: auto auto;
              min-width: auto;
              margin-block-start: 3em;

              @media not all and (max-width: 750px) {
                width: calc(260px * 0.9);
              }

              @media (max-width: 750px) {
                width: 100%;
              }

              & .desvg polyline {
                stroke: var(--color-black-primary);
              }
            }
          }

          &:nth-of-type(2) {
            figure {
              width: 100%;
              height: 100%;
              overflow: hidden;

              &>img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
                scale: 1;
                transition: scale 0.24s ease-in-out;
              }

              @media (any-hover: hover) {
                &:hover {
                  & img {
                    scale: 1.02;
                  }
                }
              }
            }
          }
        }
      }
    }

    /* club 01 */

    & .l-contents.--02 {
      & .l-contents__inner {
        & ul {
          display: grid;
          gap: 1px;

          @media not all and (max-width: 750px) {
            grid-template-columns: repeat(3, 1fr);
          }

          @media (max-width: 750px) {
            grid-template-columns: 1fr;
          }

          & .c-card {
            border: none;
            outline: 1px solid color-mix(in srgb, var(--color-black-primary) 60%, transparent);

            @media (max-width: 750px) {
              /* &:nth-of-type(n+3){
                border-top: none;
              } */
            }

            & figure {
              aspect-ratio: 433.9009 / 311.3913;

              @media (max-width: 750px) {
                aspect-ratio: 333 / 180.5;
              }
            }
          }
        }
      }
    }

    /* club 02 */

    & .l-contents.--03 {}

    /* club 03 */

    & .l-contents.--04 {
      & .l-contents__inner {
        & ul {
          display: grid;
          gap: 1px;

          @media not all and (max-width: 750px) {
            grid-template-columns: repeat(3, 1fr);
          }

          @media (max-width: 750px) {
            grid-template-columns: 1fr;
          }

          & .c-card {
            border: none;
            outline: 1px solid color-mix(in srgb, var(--color-black-primary) 60%, transparent);

            @media (max-width: 750px) {
              /* &:nth-of-type(n+3){
                border-top: none;
              } */
            }
          }
        }
      }
    }

    /* club 04 */

    & .l-contents.--05 {
      margin-block-end: clamp(3.125rem, 2.241rem + 3.77vw, 6.25rem);
      /* 50px 100px */
    }

    /* club 05 */

    & .l-lowerlinks {
      & .l-lowerlinks__inner .c-cardlist__inner {
        @media not all and (max-width: 750px) {
          justify-content: center;
        }

        & .swiper-slide:last-of-type {
          @media not all and (max-width: 750px) {
            margin-right: 0 !important;
          }
        }
      }
    }
  }

  /* club */

  & .l-lowerlinks {
    & .l-lowerlinks__inner {
      & .c-cardlist__inner {
        @media not all and (max-width: 750px) {
          justify-content: center;
        }

        & .swiper-slide:last-of-type {
          @media not all and (max-width: 750px) {
            margin-inline-end: 0;
          }
        }
      }
    }
  }
}