@charset "UTF-8";

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

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

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

  /* admissions-top */

  /* junior ======== */
  &.--admissions-junior {
    & .l-contents.--01 {
      & .c-button {
        @media not all and (max-width: 750px) {
          width: fit-content;
          min-width: 80%;
        }

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

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

        &.--black {
          color: var(--color-white);

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

        &.--green {
          background-color: var(--color-newscat-news);
          color: var(--color-white);

          & .desvg polyline,
          & .desvg line {
            stroke: var(--color-white);
          }
        }

        &.--white {
          background-color: var(--white);
          border: 1px solid var(--color-black-primary);

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

      & .l-contents__inner>div:nth-of-type(2) {
        & figure {
          aspect-ratio: 647.9118/410.1023;

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

    /* junior 01 */

    & .l-contents.--02 {
      background-color: var(--color-gray-septenary);

      /* price table */
      & .l-contents__inner {
        @media not all and (max-width: 750px) {
          gap: 80px;
        }

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

        &>div {
          & .contents__2col {
            display: grid;
            gap: 20px;

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

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

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

            p.note {
              padding-inline-start: 1em;
              text-indent: -1em;
            }
          }

          & h3 {
            display: grid;
            place-items: center;
            margin-block-start: 1em;
            padding-block: .25em;
            background-color: var(--color-white);
            font-size: clamp(1rem, 0.965rem + 0.15vw, 1.125rem);
            /* 16px 18px */
            font-weight: 700;

            @media (max-width: 750px) {
              padding-block: .5em;
              border-bottom: 6px solid var(--color-gray-quaternary);
            }
          }

          & dl {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            background-color: var(--color-white);

            &:nth-of-type(odd) {
              border-top: 2px solid var(--color-gray-undecenary);
              border-bottom: 2px solid var(--color-gray-undecenary);
            }

            & dt,
            & dd {
              padding-block: .5em;
              padding-inline: 1em;
              font-size: clamp(1rem, 0.965rem + 0.15vw, 1.125rem);
              /* 16px 18px */
              font-weight: 500;
            }

            & dd {
              text-align: right;

              @media (max-width: 750px) {
                border-left: 2px solid var(--color-gray-quaternary);
              }
            }
          }
        }
      }

      /* price table */
    }

    /* junior 02 */

    & .l-contents.--03,
    & .l-contents.--04 {
      & .l-contents__inner {
        border-bottom: 1px solid color-mix(in srgb, var(--color-black-primary) 50%, transparent);

        & article.note {
          & dl {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: clamp(1.25rem, 0.542rem + 3.02vw, 3.75rem);
            /* 20px 60px */
            background-color: var(--color-gray-septenary);
            max-width: 960px;
            width: 100%;
            padding-block: .5em;
            padding-inline: 1em;
            font-size: clamp(1rem, 0.965rem + 0.15vw, 1.125rem);
            /* 16px 18px */

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

            & .day {
              @media (max-width: 750px) {
                display: inline-block;
                margin-block-start: 10px;
              }
            }
          }
        }

        & ol {
          all: revert;
          margin-block-start: 1em;
          padding-inline-start: 1.5em;

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

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

          &>li>ul {
            all: revert;
            padding-inline-start: 1.5em;
            list-style: disc;
          }
        }
      }
    }

    /* junior 03 04 common */

    & .l-contents.--03 {}

    /* junior 03 */

    & .l-contents.--04 {}

    /* junior 04 */
    & .l-contents.--05 {
      & h3 {
        margin-block-start: 1.5em;
        margin-block-end: .5em;
        display: inline-block;
        background-color: var(--color-gray-duodecimal);
        padding-inline: 5px;
      }

      & .dummyXXX {
        font-size: clamp(0.875rem, 0.857rem + 0.08vw, 0.938rem);
        /* 14px 15px */
        font-weight: 400;
        padding-left: 10px;
      }

      & .year {
        display: inline-block;
        border-bottom: 1px solid var(--color-black-primary);
        padding-bottom: 5px;
        margin-block-start: 1em;
        margin-block-end: 1em;
        font-size: 1.17em;
        font-weight: bold
      }
    }

    /* junior 05 */
    & .l-contents.--06 {
      background-color: var(--color-gray-septenary);

      & .c-accordion__summary {
        background-color: var(--color-white);
      }
    }

    /* junior 06 */
  }

  /* junior */

  /* high ======== */
  &.--admissions-high {
    & .l-contents.--01 {
      & .c-button {
        @media not all and (max-width: 750px) {
          width: fit-content;
          min-width: 80%;
        }

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

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

        &.--black {
          color: var(--color-white);

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

        &.--green {
          background-color: var(--color-newscat-news);
          color: var(--color-white);

          & .desvg polyline,
          & .desvg line {
            stroke: var(--color-white);
          }
        }

        &.--white {
          background-color: var(--color-white);
          border: 1px solid var(--color-black-primary);
          transition: background-color 0.24s ease-in-out;

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

          @media (any-hover: hover) {
            &:hover {
              filter: brightness(1);
              background-color: color-mix(in srgb, var(--color-black-primary) 10%, transparent);
            }
          }
        }
      }

      & .l-contents__inner>div:nth-of-type(2) {
        & figure {
          aspect-ratio: 647.9118/410.1023;

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

    /* high 01 */

    & .l-contents.--02 {
      background-color: var(--color-gray-septenary);

      /* price table */
      & .l-contents__inner {
        @media not all and (max-width: 750px) {
          gap: 80px;
        }

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

        &>div {
          & .contents__2col {
            display: grid;
            gap: 20px;

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

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

            &.--dormitory {
              @media not all and (max-width: 750px) {
                margin-block-start: 85px;
              }
            }

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

            p.note {
              padding-inline-start: 1em;
              text-indent: -1em;
            }
          }

          & h3 {
            margin-block-start: 2em;
            font-size: clamp(1.25rem, 1.197rem + 0.23vw, 1.438rem);
            /* 20px 23px */
            font-weight: 700;
          }

          & h4 {
            display: grid;
            place-items: center;
            margin-block-start: 1em;
            padding-block: .25em;
            background-color: var(--color-white);
            font-size: clamp(1rem, 0.965rem + 0.15vw, 1.125rem);
            /* 16px 18px */
            font-weight: 700;

            @media (max-width: 750px) {
              padding-block: .5em;
              border-bottom: 6px solid var(--color-gray-quaternary);
            }
          }

          & dl {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            background-color: var(--color-white);

            &:nth-of-type(odd) {
              border-top: 2px solid var(--color-gray-undecenary);
              border-bottom: 2px solid var(--color-gray-undecenary);
            }

            & dt,
            & dd {
              padding-block: .5em;
              padding-inline: 1em;
              font-size: clamp(1rem, 0.965rem + 0.15vw, 1.125rem);
              /* 16px 18px */
              font-weight: 500;
            }

            & dd {
              text-align: right;

              @media (max-width: 750px) {
                border-left: 2px solid var(--color-gray-quaternary);
              }
            }
          }
        }
      }

      /* price table */
    }

    /* high 02 */

    & .l-contents.--03,
    & .l-contents.--04,
    & .l-contents.--05,
    & .l-contents.--06 {
      & .l-contents__inner {
        & article.note {
          & dl {
            display: grid;
            grid-template-columns: auto 1fr;
            gap: clamp(1.25rem, 0.542rem + 3.02vw, 3.75rem);
            /* 20px 60px */
            background-color: var(--color-gray-septenary);
            max-width: 960px;
            width: 100%;
            padding-block: .5em;
            padding-inline: 1em;
            font-size: clamp(1rem, 0.965rem + 0.15vw, 1.125rem);
          }
        }

        & ol {
          all: revert;
          margin-block-start: 1em;
          padding-inline-start: 1.5em;

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

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

          &>li>ul {
            display: flex;
            flex-wrap: wrap;
            gap: 0.5em;
            margin-block: .5em;

            &>li .c-button {
              width: fit-content;
              min-width: auto;
              background-color: var(--color-green-tertiary);
              color: var(--color-black-primary);
              border-radius: 0;
              padding-block: .4em;
              font-size: clamp(1rem, 0.965rem + 0.15vw, 1.125rem);
              /* 16px 18px */

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

    /* high 03 06 common */

    & .l-contents.--03 {
      & .l-contents__inner {
        border-bottom: 1px solid color-mix(in srgb, var(--color-black-primary) 50%, transparent);
      }
    }

    /* high 03 */

    & .l-contents.--04 {
      & .l-contents__inner {
        border-bottom: 1px solid color-mix(in srgb, var(--color-black-primary) 50%, transparent);
      }
    }

    /* high 04 */
    & .l-contents.--05 {
      & .l-contents__inner {
        border-bottom: 1px solid color-mix(in srgb, var(--color-black-primary) 50%, transparent);
      }
    }

    /* high 06 */
    & .l-contents.--06 {}

    /* high 05 */
    & .l-contents.--07 {
      background-color: var(--color-gray-septenary);

      & .c-accordion__summary {
        background-color: var(--color-white);
      }
    }

    /* high 05 */
  }

  /* high */

  /* transfer ======== */
  &.--admissions-transfer {
    & .l-contents.--01 {}

    /* transfer 01 */

    & .l-contents.--02 {
      background-color: var(--color-gray-septenary);

      /* price table */
      & .l-contents__inner {
        &>div {
          @media not all and (max-width: 750px) {
            max-width: 60%;
          }

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

          & h3 {
            display: grid;
            place-items: center;
            margin-block-start: 2em;
            padding-block: .25em;
            background-color: var(--color-white);
            font-size: clamp(1rem, 0.965rem + 0.15vw, 1.125rem);
            /* 16px 18px */
            font-weight: 700;

            @media (max-width: 750px) {
              padding-block: .5em;
              border-bottom: 6px solid var(--color-gray-quaternary);
            }
          }

          & dl {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            background-color: var(--color-white);

            &:nth-of-type(odd) {
              border-top: 2px solid var(--color-gray-undecenary);
              border-bottom: 2px solid var(--color-gray-undecenary);
            }

            & dt,
            & dd {
              padding-block: .5em;
              padding-inline: 1em;
              font-size: clamp(1rem, 0.965rem + 0.15vw, 1.125rem);
              /* 16px 18px */
              font-weight: 500;
            }

            & dd {
              text-align: right;

              @media (max-width: 750px) {
                border-left: 2px solid var(--color-gray-quaternary);
              }
            }
          }
        }
      }

      /* price table */
    }

    /* transfer 02 */

    & .l-contents.--03 {
      & ol {
        all: revert;
        padding-inline-start: 1.5em;
        max-width: 600px;

        & .need-items {
          list-style: none;
          border: 1px solid var(--color-gray-tredecimal);
          padding: .5em;
          margin-block-start: 1.5em;
          margin-inline-start: 60px;


          @media (max-width: 750px) {
            margin-inline-start: 0;
          }

          &>p {
            margin-block-end: .5em;
          }

          &>li {
            margin-block-end: .5em;

            &:last-of-type {
              margin-block-end: 0;
            }
          }
        }

        &>li>span.border {
          display: block;
          border-bottom: 1px solid var(--color-gray-tredecimal);
          padding-bottom: .5em;
          margin-block-end: .5em;
        }

        &>li:not(:first-of-type) {
          margin-block-start: 1.5em;

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

    /* transfer 03 */
  }

  /* transfer */

  /* application ======== */
  &.--admissions-application {
    & .l-contents.--01 {
      padding-block-end: clamp(3.125rem, 2.241rem + 3.77vw, 6.25rem);

      /* 50px 100px */
      & .c-button {
        width: fit-content;
        min-width: 40%;
        margin-block-start: 1em;

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

        &.--black {
          color: var(--color-white);

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

        &.--green {

          & .desvg poliline,
          & .desvg path {
            stroke: var(--color-black-primary);
          }
        }

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

    /* application 01 */

    & .l-contents.--02 {
      padding-block: clamp(3.125rem, 2.241rem + 3.77vw, 6.25rem);
      /* 50px 100px */
      background-color: var(--color-gray-primary);

      ol {
        all: revert;
        padding-inline-start: 1.5em;

        &>li:not(:first-of-type) {
          margin-block-start: 1.5em;
        }
      }
    }

    /* application 02 */
  }

  /* application */

  /* schedule ======== */
  &.--admissions-schedule {}

  /* schedule */

  /* contact ======== */
  &.--admissions-contact {
    & .l-contents {
      &:nth-of-type(2) {
        & .l-contents__inner {
          padding-block-end: clamp(3.125rem, 2.241rem + 3.77vw, 6.25rem);
          /* 50px 100px */
        }
      }

      &:not(:nth-of-type(2)) {
        & .l-contents__inner {
          padding-block: clamp(3.125rem, 2.241rem + 3.77vw, 6.25rem);
          /* 50px 100px */
        }
      }

      &:not(.--04) {
        & .l-contents__inner {
          border-bottom: 1px solid color-mix(in srgb, var(--color-black-primary) 50%, transparent);
        }
      }
    }

    /* contact common */
    & .l-contents.--01 {}

    /* contact 01 */

    & .l-contents.--02 {
      & p+h3 {
        margin-block-start: 1.5em;
      }
    }

    /* contact 02 */

    & .l-contents.--03 {
      & .c-button {
        margin-inline: auto;

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

        @media not all and (max-width: 750px) {
          width: fit-content;
          min-width: 40%;
        }

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

        &.--black {
          color: var(--color-white);
        }
      }
    }

    /* contact 03 */

    & .l-contents.--04 {}

    /* contact 04 */
  }

  /* contact */

  /* events ======== */
  &.--admissions-events {
    & .l-contents.--01 {
      & .table__container {
        width: 100%;
        overflow-x: auto;

        &>table {
          @media not all and (max-width: 950px) {
            width: 100%;
          }

          @media (max-width: 950px) {
            width: fit-content;
            min-width: 900px;
          }

          & tr {
            &:has(td) {
              border-bottom: 1px solid color-mix(in srgb, var(--color-gray-octonary) 50%, transparent);
              ;
            }
          }

          & th {
            padding-block: .5em;
            padding-inline: 1em;
            background-color: var(--color-gray-novenary);
            font-size: clamp(0.938rem, 0.884rem + 0.23vw, 1.125rem);
            /* 15px 18px */
            font-weight: 500;
            line-height: 1.4;
            text-align: center;
          }

          & td {
            padding-block: .5em;
            padding-inline: .5em;
            font-size: clamp(0.938rem, 0.884rem + 0.23vw, 1.125rem);
            /* 15px 18px */
            line-height: 1.4;
            vertical-align: middle;
            position: relative;

            &::before {
              display: block;
              content: "";
              float: left;
              min-height: 1.8lh;
            }
          }
        }
      }
    }

    /* events 01 */
  }

  /* events */
}

/* FAQ回答（A行）をQ行（summary）と同様に縦中央揃えへ統一。
   影響範囲を admissions ページの Q&A のみに限定（faq/feature のアコーディオンには不適用）。 */
.p-admissions .c-accordion__content__inner {
  align-items: center;
}