@charset "utf-8";
body {
    background:var(--col-gray_light)
}

/* SWIPER */
@keyframes progressbar {
    0% {
        transform: translateX(-100%)
    }

    to {
        transform: translateX(0)
    }
}
.main__swiper .swiper-bottom {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    margin-inline:auto;
    position: relative;
    width: fit-content;
}
.main__swiper .swiper-bottom {
    padding-inline: 30px;
}
.main__swiper .swiper-bottom .swiper-pagination {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    margin-inline: 10px;
}
.main__swiper .swiper-bottom .swiper-pagination-bullet {
    background: var(--col-gray_medium);
    height: 1px;
    overflow: hidden;
    position: relative;
    width: 15px;
    opacity: 1;
}
.main__swiper .swiper-bottom .swiper-pagination-bullet:before {
    background: var(--col-purple);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(-100%);
    height: 100%;
    width: 100%
}
.main__swiper .swiper-bottom .swiper-pagination-bullet-active:before {
    animation: progressbar 3.5s 0s linear forwards 1 normal;
}
.main__swiper .swiper-bottom .swiper-button-prev,
.main__swiper .swiper-bottom .swiper-button-next {
  position: static;
  margin-top: initial;
  height: 20px;
  width: 20px
}
.main__swiper .swiper-bottom .swiper-button-prev::after,
.main__swiper .swiper-bottom .swiper-button-next::after {
  content: '';
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  background: url(/adv/mezameyo/design/img/icon_arr_left.svg) center/contain no-repeat;
}
.main__swiper .swiper-bottom .swiper-button-next {
  rotate: 180deg
}
.main__swiper .swiper-bottom .swiper-switch {
    background: #fff url(/adv/mezameyo/design/img/swiper_switch_stop.svg)center/4px 6px no-repeat;
    border: 2px solid var(--col-purple);
    border-radius: 50%;
    cursor: pointer;
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    height: 20px;
    width: 20px;
    padding: 0;
    line-height: 1;
}
.main__swiper .swiper-bottom .swiper-switch.stop {
    background: var(--col-purple) url(/adv/mezameyo/design/img/swiper_switch_start.svg)center/6px 6px no-repeat;
}
.main__swiper .swiper-bottom:has(.swiper-switch.stop) .swiper-pagination-bullet-active:before {
    animation: none;
}
/* swiper outer */
.section__inner > :first-child {
    min-width: 100%;
  }
/* はみ出したスライド */
.main__swiper .swiper-slide:not(.swiper-slide-fully-visible) {
    pointer-events: none;
    opacity: .3;
}
@media (min-width: 768px) and (max-width:1399px) {
    .main__swiper .swiper-bottom {
        padding-inline: 0 30px;
    }
}
@media only screen and (max-width: 767px) {
    .main__swiper .swiper-bottom .swiper-pagination {
        margin-inline: 5px;
    }
    .main__swiper .swiper-bottom .swiper-pagination-bullet {
        width: 18px;
    }
    .main__swiper .swiper-bottom .swiper-button-prev,
    .main__swiper .swiper-bottom .swiper-button-next,
    .main__swiper .swiper-bottom .swiper-switch {
        height: 30px;
        width: 30px
    }
    .main__swiper .swiper-bottom .swiper-switch {
        background-size: auto 12px;
    }
    .main__swiper .swiper-bottom {
        padding-inline: 0 40px;
    }
}

/* layout */
@media (min-width: 1400px),print {
    .contents-section {
        margin-inline:auto;
        min-width: 1150px;
        position: relative
    }

    .contents-section:before {
        background: var(--col-gray_medium);
        content: "";
        height: 1px;
        position: absolute;
        left: 50%;
        bottom: -60px;
        translate: -50%0;
        width: calc(100% - 60px)
    }

    .contents-section .section__inner {
        box-sizing: border-box;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        padding-inline:30px;
        width: 100%
    }

    .contents-section .section__inner .main {
        width: 100%
    }

    .contents-section .section__inner .main__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 38px
    }

    .contents-section .section__inner .main__head .moreBtn {
        margin-top: 0
    }

    .contents-section .section__inner .main__head .moreBtn a {
        margin-inline:auto 0;padding-right: 36px;
        position: relative
    }

    .contents-section .section__inner .main__head .moreBtn a:before {
        height: 20px;
        width: 20px
    }

    .contents-section .section__inner .main__head .moreBtn a span {
        font-size: .875rem
    }

    .contents-section .section__inner .main .articleList {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 50px 40px;
        margin-top: 27px;
        width: 100%
    }

    .contents-section .section__inner .main .articleList__item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 4
    }

    .contents-section .section__inner .main .articleList__item>a {
        display: grid;
        gap: 0;
        grid-template-rows: subgrid;
        grid-row: span 4
    }

    .contents-section .section__inner .main .articleList__item--img {
        aspect-ratio: 198/145;
        width: 100%
    }

    .contents-section .section__inner .main .articleList__item--img>img {
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%
    }

    .contents-section .section__inner .main .articleList__item--data {
        display: flex;
        align-items: baseline;
        gap: 20px;
        margin-top: 16px
    }

    .contents-section .section__inner .main .articleList__item--data--date {
        color: var(--col-purple);
        font-family: var(--font-Inter);
        font-size: .75rem;
        letter-spacing: .6px;
        line-height: 1.7
    }

    .contents-section .section__inner .main .articleList__item--data--category {
        color: var(--col-gray_deep);
        font-size: .75rem;
        letter-spacing: .6px;
        line-height: 1.7;
        position: relative
    }

    .contents-section .section__inner .main .articleList__item--data--category:before {
        background: var(--col-gray_medium);
        content: "";
        height: 80%;
        position: absolute;
        top: 50%;
        left: -10px;
        translate: 0-50%;
        width: 1px
    }

    .contents-section .section__inner .main .articleList__item--name {
        font-size: 1.25rem;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: .01px;
        margin-top: 7px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }

    .contents-section .section__inner .main .articleList__item--firstText {
        border-top: 1px solid var(--col-gray_medium);
        color: #000;
        font-size: .875rem;
        line-height: 1.5;
        letter-spacing: .75px;
        margin-top: 12px;
        padding-top: 15px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1
    }

    .contents-section .section__inner .aside .tiein {
        background: #fff;
        box-shadow: var(--box-shadow_pc);
        border-top: 5px solid var(--col-purple)
    }

    .contents-section .section__inner .aside .tiein__inner {
        padding: 30px 25px
    }

    .contents-section .section__inner .aside .tiein .tieinList {
        display: grid;
        gap: 20px;
        margin-top: 30px
    }

    .contents-section .section__inner .aside .tiein .tieinList__item a {
        display: flex;
        gap: 15px
    }

    .contents-section .section__inner .aside .tiein .tieinList__item--img {
        flex-shrink: 0;
        width: 50%
    }

    .contents-section .section__inner .aside .tiein .tieinList__item--data {
        padding-top: 10px
    }

    .contents-section .section__inner .aside .tiein .tieinList__item--data--date {
        color: var(--col-purple);
        font-family: var(--font-Inter);
        font-size: .75rem;
        letter-spacing: .6px;
        line-height: 1.7
    }

    .contents-section .section__inner .aside .tiein .tieinList__item--data--name {
        font-size: 1.125rem;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: .01px;
        margin-top: 7px
    }

    .contents-section .section__inner .aside .tiein .moreBtn {
        justify-content: right
    }

    .contents-section .section__inner .aside .tiein .moreBtn a {
        font-weight: 500;
        margin-inline:0;padding-right: 33px;
        position: relative
    }

    .contents-section .section__inner .aside .tiein .moreBtn a:before {
        height: 20px;
        width: 20px
    }

    .contents-section .section__inner .aside .tiein .moreBtn a span {
        font-size: .875rem
    }
}

@media (min-width: 768px) and (max-width:1399px) {
    .contents-section {
        margin-inline:auto;min-width: 82.1vw;
        position: relative
    }

    .contents-section:before {
        background: var(--col-gray_medium);
        content: "";
        height: 1px;
        position: absolute;
        left: 50%;
        bottom: -4.3vw;
        translate: -50%0;
        width: calc(100% - 4.3vw)
    }

    .contents-section .section__inner {
        box-sizing: border-box;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2.1vw;
        padding-inline:2.1vw;width: 100%
    }

    .contents-section .section__inner .main {
        width: 100%
    }

    .contents-section .section__inner .main__head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 2.7vw
    }

    .contents-section .section__inner .main__head .moreBtn {
        margin-top: 0
    }

    .contents-section .section__inner .main__head .moreBtn a {
        margin-inline:auto 0;padding-right: 2.6vw;
        position: relative
    }

    .contents-section .section__inner .main__head .moreBtn a:before {
        height: 1.4vw;
        width: 1.4vw
    }

    .contents-section .section__inner .main__head .moreBtn a span {
        font-size: 1vw
    }

    .contents-section .section__inner .main .articleList {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 3.6vw 2.9vw;
        margin-top: 1.9vw;
        width: 100%
    }

    .contents-section .section__inner .main .articleList__item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 4
    }

    .contents-section .section__inner .main .articleList__item>a {
        display: grid;
        gap: 0;
        grid-template-rows: subgrid;
        grid-row: span 4
    }

    .contents-section .section__inner .main .articleList__item--img {
        aspect-ratio: 198/145;
        width: 100%
    }

    .contents-section .section__inner .main .articleList__item--img>img {
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%
    }

    .contents-section .section__inner .main .articleList__item--data {
        display: flex;
        align-items: baseline;
        gap: 1.4vw;
        margin-top: 1.1vw
    }

    .contents-section .section__inner .main .articleList__item--data--date {
        color: var(--col-purple);
        font-family: var(--font-Inter);
        font-size: .9vw;
        letter-spacing: 0;
        line-height: 1.7
    }

    .contents-section .section__inner .main .articleList__item--data--category {
        color: var(--col-gray_deep);
        font-size: .9vw;
        letter-spacing: 0;
        line-height: 1.7;
        position: relative
    }

    .contents-section .section__inner .main .articleList__item--data--category:before {
        background: var(--col-gray_medium);
        content: "";
        height: 80%;
        position: absolute;
        top: 50%;
        left: -.7vw;
        translate: 0-50%;
        width: 1px
    }

    .contents-section .section__inner .main .articleList__item--name {
        font-size: 1.4vw;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: 0;
        margin-top: .5vw;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }

    .contents-section .section__inner .main .articleList__item--firstText {
        border-top: 1px solid var(--col-gray_medium);
        color: #000;
        font-size: 1vw;
        line-height: 1.5;
        letter-spacing: .1vw;
        margin-top: .9vw;
        padding-top: 1.1vw;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1
    }

    .contents-section .section__inner .aside .tiein {
        background: #fff;
        box-shadow: var(--box-shadow_pc);
        border-top: .4vw solid var(--col-purple)
    }

    .contents-section .section__inner .aside .tiein__inner {
        padding: 2.1vw 1.8vw
    }

    .contents-section .section__inner .aside .tiein .tieinList {
        display: grid;
        gap: 1.4vw;
        margin-top: 2.1vw
    }

    .contents-section .section__inner .aside .tiein .tieinList__item a {
        display: flex;
        gap: 1.1vw
    }

    .contents-section .section__inner .aside .tiein .tieinList__item--img {
        flex-shrink: 0;
        width: 50%
    }

    .contents-section .section__inner .aside .tiein .tieinList__item--data {
        padding-top: .7vw
    }

    .contents-section .section__inner .aside .tiein .tieinList__item--data--date {
        color: var(--col-purple);
        font-family: var(--font-Inter);
        font-size: .9vw;
        letter-spacing: 0;
        line-height: 1.7
    }

    .contents-section .section__inner .aside .tiein .tieinList__item--data--name {
        font-size: 1.3vw;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: 0;
        margin-top: .5vw
    }

    .contents-section .section__inner .aside .tiein .moreBtn {
        justify-content: right
    }

    .contents-section .section__inner .aside .tiein .moreBtn a {
        font-weight: 500;
        margin-inline:0;padding-right: 2.4vw;
        position: relative
    }

    .contents-section .section__inner .aside .tiein .moreBtn a:before {
        height: 1.4vw;
        width: 1.4vw
    }

    .contents-section .section__inner .aside .tiein .moreBtn a span {
        font-size: 1vw
    }
}

@media only screen and (max-width: 767px) {
    .contents-section {
        width: 100%
    }

    .contents-section .section__inner {
        padding: 3.9vw 5.2vw 0;
        width: 100%
    }

    .contents-section .section__inner .main {
        padding-bottom: 15.6vw;
        position: relative
    }

    .contents-section .section__inner .main__head {
        margin-top: 13vw
    }

    .contents-section .section__inner .main__head .moreBtn {
        justify-content: left;
        position: absolute;
        bottom: 0;
        right: 0
    }

    .contents-section .section__inner .main__head .moreBtn a {
        padding-right: 7.8vw
    }

    .contents-section .section__inner .main__head .moreBtn a:before {
        height: 5.2vw;
        width: 5.2vw
    }

    .contents-section .section__inner .main .articleList {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 7.8vw 6.5vw;
        margin-top: 5.2vw;
        width: 100%
    }

    .contents-section .section__inner .main .articleList__item {
        display: grid;
        grid-template-rows: subgrid;
        grid-row: span 4
    }

    .contents-section .section__inner .main .articleList__item>a {
        display: grid;
        gap: 0;
        grid-template-rows: subgrid;
        grid-row: span 4
    }

    .contents-section .section__inner .main .articleList__item--img {
        aspect-ratio: 198/145;
        width: 100%
    }

    .contents-section .section__inner .main .articleList__item--img>img {
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        width: 100%
    }

    .contents-section .section__inner .main .articleList__item--data {
        display: flex;
        align-items: baseline;
        gap: 2.6vw;
        margin-top: 2.1vw
    }

    .contents-section .section__inner .main .articleList__item--data--date {
        color: var(--col-purple);
        font-family: var(--font-Inter);
        font-size: 2.9vw;
        line-height: 1;
        letter-spacing: .1vw;
        margin-top: 2.6vw
    }

    .contents-section .section__inner .main .articleList__item--data--category {
        color: var(--col-gray_deep);
        font-size: 2.9vw;
        letter-spacing: .01em;
        line-height: 1.7;
        position: relative
    }

    .contents-section .section__inner .main .articleList__item--data--category:before {
        background: var(--col-gray_medium);
        content: "";
        height: 80%;
        position: absolute;
        top: 50%;
        left: -1.3vw;
        translate: 0-50%;
        width: 1px
    }

    .contents-section .section__inner .main .articleList__item--name {
        font-size: 3.1vw;
        line-height: 1.5;
        letter-spacing: 0;
        margin-top: 2.1vw;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }

    .contents-section .section__inner .main .articleList__item--firstText {
        border-top: 1px solid var(--col-gray_medium);
        color: #000;
        font-size: 2.9vw;
        line-height: 1.5;
        letter-spacing: 0;
        margin-top: 1.6vw;
        padding-top: 2vw;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1
    }

    .contents-section .section__inner .aside {
        margin-top: 10.4vw;
        width: 100%
    }

    .contents-section .section__inner .aside .tiein {
        background: #fff;
        border-top: .7vw solid var(--col-purple);
        box-shadow: var(--box-shadow_sp)
    }

    .contents-section .section__inner .aside .tiein__inner {
        padding: 5.2vw 6.5vw 7.8vw
    }

    .contents-section .section__inner .aside .tiein .tieinList {
        display: grid;
        gap: 5.2vw;
        margin-top: 5.2vw
    }

    .contents-section .section__inner .aside .tiein .tieinList__item a {
        display: flex;
        gap: 3.9vw
    }

    .contents-section .section__inner .aside .tiein .tieinList__item--img {
        flex-shrink: 0;
        width: 27.3vw
    }

    .contents-section .section__inner .aside .tiein .tieinList__item--data {
        padding-top: 1.3vw
    }

    .contents-section .section__inner .aside .tiein .tieinList__item--data--date {
        font-family: var(--font-Inter);
        font-size: 2.9vw
    }

    .contents-section .section__inner .aside .tiein .tieinList__item--data--name {
        font-size: 3.1vw;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: .05em;
        margin-top: 2.6vw
    }

    .contents-section .section__inner .aside .tiein .moreBtn {
        justify-content: right
    }

    .contents-section .section__inner .aside .tiein .moreBtn a {
        margin-inline:0;padding-right: 7.8vw;
        position: relative
    }

    .contents-section .section__inner .aside .tiein .moreBtn a:before {
        height: 5.2vw;
        width: 5.2vw
    }

    .contents-section .section__inner .aside .tiein .moreBtn a span {
        display: block;
        font-size: 3.1vw;
        font-weight: 500
    }
}