/* .c-subpage-mv__content {
    min-height: 283px;
    padding: 2rem 0 !important;
} */

.l-archive_content {
    width: calc(100% - var(--gutter) * 2);
    /* max-width: 1140px; */
    max-width: 1220px;
    margin: 3rem auto 6rem auto;
}

h2.archive__heading {
    width: 100%;
    font-size: min(24px + 8 * (100 * var(--vw) - 400px)/1200, 32px);
    margin-bottom: 2rem;
    padding-left: 1rem;
    border-left: 4px solid var(--color-key);
}

h2.archive__heading span {
    border-bottom: 1px dotted #333;
}

.p-school__intro {
    margin: 0 auto;
    position: relative;
    height: 450px;
}

.p-school__intro p b {
    color: var(--color-key);
}

.p-school__intro .school-image {
    position: absolute;
    top: 0;
    right: calc((100vw - 1140px) / -2);
    width: 75%;
    height: 450px;
    overflow: hidden;
    border-radius: 10px 0 0 10px;
}

.p-school__intro .school-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-schedule {
    margin: 6rem auto;
    padding: 1.5rem;
    border-radius: 10px;
    padding-block: min(76px, 49px + (76 - 49) * (100 * var(--vw) - 400px) / (1600 - 400));
    padding-inline: min(70px, var(--gutter));
    background-color: var(--color-white);
    box-shadow: 0px 0px 15px -10px #777777;
}
.p-schedule__content {
    display: grid;
    grid-template:
        "title    title"
        "calendar info " / minmax(0, auto) minmax(0, 1fr);
    align-items: start;
    column-gap: 39px;
}
@media screen and (max-width: 1024px) {
    .p-schedule__content {
        grid-template:
            "info"
            "title"
            "calendar" / minmax(0, auto);
    }
}
.p-schedule__title {
    --border-bottom-width: 1px;
    --border-left-width: 4px;
    --padding-left: calc(20 / 32 * 1em);
    --padding-bottom: calc(11 / 32 * 1em);
    grid-area: title;
    width: fit-content;
    margin-top: var(--lt);
    margin-bottom: min(50px, 30px + (50 - 30) * (100 * var(--vw) - 400px) / (1600 - 400));
    padding-left: calc(var(--border-left-width) + var(--padding-left));
    padding-bottom: calc(var(--border-bottom-width) + var(--padding-bottom) + var(--lt));
    background:
        linear-gradient(var(--color-key)) no-repeat left bottom / var(--border-left-width) calc(100% + var(--lt)),
        repeating-linear-gradient(to right, #484543 0px, #484543 2px, transparent 2px, transparent 4px) no-repeat right bottom / calc(100% - (var(--border-left-width) + var(--padding-left))) var(--border-bottom-width);
    font-weight: 700;
    font-size: min(32px, 22px + (32 - 22) * (100 * var(--vw) - 400px) / (1600 - 400));
    letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
    .p-schedule__title {
        margin-top: calc(51px + var(--lt));
    }
}
.p-schedule__calendar {
    grid-area: calendar;
}
@media screen and (max-width: 1024px) {
    .p-schedule__calendar {
        order: 2;
    }
}
.p-schedule__calendar-box {
    border: 1px solid var(--color-text-gray03);
    border-radius: 10px;
    padding-top: min(29px, 25px + (29 - 25) * (100 * var(--vw) - 600px) / (1600 - 600));
    padding-inline: min(23px, var(--gutter));
    padding-bottom: 35px;
}
@media (max-width: 599.98px) {
.p-schedule__calendar-box {
    border: none;
    padding-block: 0;
    padding-inline: 0;
}
}
.p-schedule__calendar-table-wrap {
    position: relative;
}
.p-schedule__calendar-table {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, auto));
    gap: 6px;
    text-align: center;
    width: 100%;
    transition: opacity 0.4s ease;
}
.p-schedule__calendar-table.is-transitioning-in {
    opacity: 0;
}
.p-schedule__calendar-table.is-transitioning-in.is-transition-active {
    opacity: 1;
}
.p-schedule__calendar-table--overlay {
    position: absolute;
    inset: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 1;
}
.p-schedule__calendar-table--overlay.is-transition-out-active {
    opacity: 0;
}
.p-schedule__calendar-table thead,
.p-schedule__calendar-table tbody,
.p-schedule__calendar-table tr {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: subgrid;
    gap: inherit;
}
.p-schedule__calendar-table :is(th, td) {
    display: block;
}
.p-schedule__calendar-table thead {
}
.p-schedule__calendar-table thead th {
    font-weight: 700;
    font-size: min(16px, 14.61px + (16 - 14.61) * (100 * var(--vw) - 400px) / (1600 - 400));
}
.p-schedule__calendar-table thead th:first-child {
    color: #D75757;
}
.p-schedule__calendar-table thead th:last-child {
    color: #57B0AB;
}
.p-schedule__calendar-table tbody {
}
.p-schedule__calendar-table tbody td {
    width: 48px;
    aspect-ratio: 48 / 42;
    max-height: 42px;
    align-content: center;
    border-radius: 3px;
    background-color: var(--color-gray01);
}
@media screen and (max-width: 1024px) {
    .p-schedule__calendar-table tbody td {
        width: 100%;
    }
}
.p-schedule__calendar-table tbody td:first-child {
    background-color: #f4c9c9;
}
.p-schedule__calendar-table tbody td:last-child {
    background-color: #b7ddeb;
}
.p-schedule__calendar-table tbody td button {
    --border-width: 1.5px;
    width: 100%;
    height: 100%;
    border: var(--border-width) solid transparent;
    border-radius: inherit;
    /* padding-block: calc(10.5 / 20 * 1em - var(--border-width) + var(--lt));
    padding-inline: calc(10.5 / 20 * 1em - var(--border-width)); */
    font-weight: 700;
    font-size: min(20px, 18.26px + (20 - 18.26) * (100 * var(--vw) - 400px) / (1600 - 400));
    transition: color var(--duration-base);
}
.p-schedule__calendar-table tbody td button:hover {
    color: var(--color-key);
}
/* 選択された日にボーダー */
.p-schedule__calendar-table tbody td button.is-selected {
    border-color: var(--color-key);
}
.p-schedule__calendar-table tbody td button.is-today {
    border-color: var(--color-key);
}
/* テーブル内に is-selected が存在したら、当日のボーダーは消す */
.p-schedule__calendar-table:has(button.is-selected) tbody td button.is-today:not(.is-selected) {
    border-color: transparent;
}
.p-schedule__calendar-btns {
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, auto) minmax(0, auto);
    justify-content: space-between;
    align-items: center;
    margin-top: min(14px, 12px + (14 - 12) * (100 * var(--vw) - 400px) / (1600 - 400));
}
.p-schedule__calendar-btn {
    display: block;
    border: 1px solid var(--color-text-gray04);
    border-radius: 4px;
    padding-block: calc(8px + var(--lt));
    padding-inline: 8px;
    color: var(--color-text-gray04);
    font-size: min(14px, 13px + (14 - 13) * (100 * var(--vw) - 400px) / (1600 - 400));
    transition:
        background-color var(--duration-base),
        color var(--duration-base);
}
.p-schedule__calendar-btn:hover {
    background-color: var(--color-text-gray04);
    color: var(--color-white);
}
.p-schedule__calendar-btn--prev::before,
.p-schedule__calendar-btn--next::after {
    content: "";
    display: inline-block;
    width: calc(8 / 14 * 1em);
    height: 1lh;
    background-color: currentColor;
    mask: no-repeat center center / 100% auto;
    mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%228%22%20height%3D%2212%22%20viewBox%3D%220%200%208%2012%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5.82197%200.248065L0.340556%205.0443C-0.114771%205.44271%20-0.114772%206.15104%200.340556%206.54945L5.82196%2011.3457C6.46855%2011.9114%207.48047%2011.4523%207.48047%2010.5931V1.00064C7.48047%200.141484%206.46855%20-0.317695%205.82197%200.248065Z%22%20fill%3D%22%237A7875%22%2F%3E%3C%2Fsvg%3E");
    vertical-align: top;
}
.p-schedule__calendar-btn--prev::before {
    margin-right: calc(6 / 14 * 1em);
}
.p-schedule__calendar-btn--next::after {
    margin-left: calc(6 / 14 * 1em);
    scale: -1 1;
}
.p-schedule__calendar-label {
    font-size: min(16px, 15px + (16 - 15) * (100 * var(--vw) - 400px) / (1600 - 400));
    text-align: center;
}
.p-schedule__calendar-note {
    margin-top: 1.3em;
    font-size: min(15px, 14px + (15 - 14) * (100 * var(--vw) - 400px) / (1600 - 400));
}
.p-schedule__info {
    grid-area: info;
}
.p-schedule__info-title {
    --border-bottom-width: 1px;
    --padding-bottom: calc(12 / 22 * 1em);

    /* margin-block: var(--lt); */
    margin-bottom: min(0px, var(--padding-bottom) + var(--border-width) + var(--lt));
    padding-bottom: calc(var(--padding-bottom) + var(--border-bottom-width) + var(--lt));
    text-decoration-line: underline;
    text-decoration-thickness: var(--border-bottom-width);
    text-decoration-style: dashed;
    text-underline-position: under;
    text-underline-offset: calc(var(--padding-bottom) - 0.05em);
    font-weight: 700;
    font-size: 22px;
    letter-spacing: 0.05em;
}
@media screen and (max-width: 1024px) {
    .p-schedule__info-title {
        --border-bottom-width: 1px;
        --border-left-width: 4px;
        --padding-left: calc(20 / 32 * 1em);
        --padding-bottom: calc(11 / 32 * 1em);
        grid-area: title;
        width: fit-content;
        margin-top: var(--lt);
        padding-left: calc(var(--border-left-width) + var(--padding-left));
        padding-bottom: calc(var(--border-bottom-width) + var(--padding-bottom) + var(--lt));
        background:
            linear-gradient(var(--color-key)) no-repeat left bottom / var(--border-left-width) calc(100% + var(--lt)),
            repeating-linear-gradient(to right, #484543 0px, #484543 2px, transparent 2px, transparent 4px) no-repeat right bottom / calc(100% - (var(--border-left-width) + var(--padding-left))) var(--border-bottom-width);
        text-decoration: none;
        font-weight: 700;
        font-size: min(32px, 22px + (32 - 22) * (100 * var(--vw) - 400px) / (1600 - 400));
        letter-spacing: 0.05em;
    }
}


ul.archive__categories {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 4rem;
}

ul.archive__categories li {
    background-color: #f7edda;
    transition: all 0.4s;
    border-radius: 30px;
}
ul.archive__categories li a.current,
ul.archive__categories li:hover {
    background-color: #000;
    color: #fff;
    transition: all 0.4s;
}
ul.archive__categories li a {
    display: block;
    padding: 3px 20px;
    border-radius: 30px;
}

.archive__lists {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: start;
    gap: 4rem 3rem;
}

.archive__lists .entry__inner {
    position: relative;
    border: 1px solid #c9c2c2;
    border-radius: 10px;
}

.archive__lists .entry__inner .entry__inner__header {
    background-color: #e3f6f5;
    padding: 1.5rem 0;
    border-radius: 10px 10px 0 0;
    background-image: url(../img/common/arrow-right01.png);
    background-size: 22px;
    background-repeat: no-repeat;
    background-position: 96% 50%;
    transition: all 0.4s;
}
.archive__lists a.entry:hover .entry__inner__header {
    background-position: 98% 50%;
    transition: all 0.4s;
}

.archive__lists .entry__inner h3 {
    font-size: 26px;
    font-weight: 700;
    color: #2a2323;
    transition: all 0.4s;
    margin: 0 0 0.5rem 0;
    padding: 0 1.5rem;
}
.archive__lists a.entry:hover h3 {
    color: var(--color-key);
    transition: all 0.4s;
}
.archive__lists .entry__inner .entry__category {
    position: absolute;
    top: 10px;
    left: 0;
    z-index: 3;
}
.archive__lists .entry__inner .entry__category span {
    padding: 5px 25px;
    background-color: var(--color-key);
    color: #fff;
    font-size: 13px;
    border-radius: 0 20px 20px 0;
}
.archive__lists .entry__inner .entry__category.term-important span {
    background-color: #ff3c3c;
}
.archive__lists .entry__inner .entry__image {
    overflow: hidden;
}
.archive__lists .entry__inner .entry__image img {
    width: 100%;
    aspect-ratio: 360 / 200;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.archive__lists a.entry:hover .entry__image img {
    transform: scale(1.1);
}
.archive__lists .entry__inner ul.archive__tags {
    position: absolute;
    top: -25px;
    right: -15px;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-bottom: 0.5rem;
    padding: 0 1.5rem;
}
.archive__lists .entry__inner ul.archive__tags li {
    background-color: var(--color-key);
    padding: 3px 8px;
    border: 1px solid #c9c2c2;
    border-radius: 50%;
    color: #2a2323;
    background-color: #fff;
    font-size: 13px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
}

.archive__lists .entry__inner .entry__text {
    padding: 1.5rem;
}
.archive__lists .entry__inner .entry__text:not(:has(>*)) {
    padding: 0;
}

.archive__lists .entry__inner .entry__date {
    border-top: 1px dotted #333;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
}

.archive__lists .entry__inner .event-date__table th {
    width: 90px;
}

.archive__lists .entry__inner .event-date__table th span {
    background-color: #f7edda;
    padding: 5px 15px;
    font-weight: bold;
    border-radius: 50px;
}

.archive__lists .entry__inner .entry_date {
    color: #7a7875;
    padding: 0.5rem 0;
    font-size: 15px;
}

/*pagenation*/
.c-pagination {
    margin: 6rem auto;
    text-align: center;
}
.c-pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 6rem auto;
}
.c-pagination .page-numbers {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-key);
    text-decoration: none;
    transition: 0.3s;
    color: var(--color-key);
}
.c-pagination .page-numbers.current {
    background: var(--color-key);
    color: #fff;
    border-color: var(--color-key);
}
.c-pagination .page-numbers:hover {
    background: var(--color-key);
    color: #fff;
    border-color: var(--color-key);
}
.c-pagination .prev.page-numbers,
.c-pagination .next.page-numbers {
    position: relative;
    width: auto;
    height: auto;
    border: none;
    border-radius: 0;
    color: #45423f;
}
.c-pagination .prev.page-numbers:hover,
.c-pagination .next.page-numbers:hover {
    background: rgba(255, 255, 255, 0);
    color: var(--color-key);
}
.c-pagination .prev.page-numbers:before {
    content: "";
    width: 50px;
    height: 35px;
    background-image: url(../img/common/archive-arrow-left.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 8px;
}
.c-pagination .next.page-numbers:after {
    content: "";
    width: 50px;
    height: 35px;
    background-image: url(../img/common/archive-arrow-right.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 8px;
}

.c-pagination .sp-text {
    display: none;
}

@media screen and (max-width: 1450px) {
    .p-school__intro .school-image {
        width: 50vw;
    }
}

@media screen and (max-width: 1268px) {
    .p-school__intro {
        height: 350px;
    }
    .p-school__intro .school-image {
        width: 38vw;
        right: calc((100vw - 92vw) / -2);
        height: 350px;
    }
}

@media screen and (max-width: 850px) {
    .c-pagination .prev.page-numbers:before,
    .c-pagination .next.page-numbers:after {
        display: none;
    }
    .c-pagination .prev.page-numbers,
    .c-pagination .next.page-numbers {
        width: 44px;
        height: 44px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid var(--color-key);
        text-decoration: none;
        transition: 0.3s;
        color: var(--color-key);
    }
    .c-pagination .pc-text {
        display: none;
    }
    .c-pagination .sp-text {
        display: block;
    }
}

@media screen and (max-width: 599.98px) {
    .p-school__intro {
        height: auto;
    }
    .p-school__intro .school-image {
        position: relative;
        width: 100%;
        height: auto;
        top: auto;
        right: auto;
        border-radius: 10px;
        margin-top: 1.5rem;
    }
    .archive__lists {
        grid-template-columns: 1fr;
    }
    .archive__lists .entry__inner .entry__category span,
    .archive__lists .entry__inner ul.archive__tags li {
        font-size: 15px;
    }
    .archive__lists .entry__inner h3 {
        font-size: 20px;
    }
    .archive__lists .entry__inner ul.archive__tags {
        right: -10px;
    }
    .c-pagination .page-numbers,
    .c-pagination .prev.page-numbers,
    .c-pagination .next.page-numbers {
        width: 38px;
        height: 38px;
    }
    .c-pagination .nav-links {
        gap: 5px;
    }
}


/* 2026/07/07タウラボCSS */
.archive__lists{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}
.archive__lists .entry__inner .entry__image img{
    aspect-ratio: 590/342;
}
.entry__text__comment{
    line-height: 2;
}
.p-school__intro>p{
    line-height: 2;
}
h2.archive__heading{
    margin-bottom: 2em;
}
.p-school__intro .school-image img{
    object-position: right;
}
.archive__lists{
    align-items: stretch;
}
.archive__lists .entry__inner{
    height: 100%;
}
.entry__text__count{
    display: inline-block;
    padding: 6px 16px;
    border-radius: 999px;
    border: 1px solid #C9C2C2;
    background: var(--color-white);
    margin-inline: 2em;
    line-height: 1;
    font-size: 14px;
}
.archive__lists .entry__inner h3{
    padding: 0 1em;
}


@media (max-width:1024px) {
      .p-schedule__info{
        width: 100%;
    }
}
@media (max-width:960px) {
  .archive__lists .entry__inner h3{
    font-size: 22px;
  }
}
@media (max-width:767px) {
    .p-school__intro .school-image {
        position: relative;
        width: 100%;
        height: auto;
        top: auto;
        right: auto;
        border-radius: 10px;
        margin-top: 1.5rem;
    }
    .p-school__intro {
        height: auto;
    }
    .event-date__table tr{
        display: flex;
        flex-direction: column;
        gap: 0.5em;
    }
    .archive__lists{
        grid-template-columns: repeat(1,1fr);
    }
    .entry__text__count{
        margin-top: 0;
        margin-inline: 1.5em;
        font-size: 12px;
    }
}