/* --------------------
 Front
-------------------- */
.column {
    margin: 0 0 20.5128205128vw;
    padding: 15.3846153846vw 0 0;
}

@media (min-width: 769px) {
    .column {
        margin: 0 0 5.5555555556vw;
        padding: 4.1666666667vw 0 0;
    }
}

.column-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .column-container {
        max-width: 82.3611111111vw;
        padding: 0;
    }
}

.column__title {
    margin: 0 0 7.6923076923vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .column__title {
        margin: 0 0 3.4722222222vw;
        padding: 2.2222222222vw 0 0;
    }
}

.column__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .column__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.column__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .column__title__ja {
        font-size: 3rem;
        margin: 0 0 0.5555555556vw;
    }
}

.column__title__en {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .column__title__en {
        font-size: 1.1666666667rem;
    }
}

.column__list {
    display: grid;
    gap: 7.6923076923vw;
    grid-gap: 7.6923076923vw;
    grid-template-columns: repeat(1, 1fr);
    margin: 0 0 12.8205128205vw;
}

@media (min-width: 769px) {
    .column__list {
        gap: 2.6388888889vw;
        grid-template-columns: repeat(3, 1fr);
        margin: 0 0 4.1666666667vw;
    }
}

.column__list__item {
    background-color: rgba(var(--color-white-rgb), 0.7);
    border-radius: 5.1282051282vw;
    box-shadow: 0 0 2.5641025641vw 0 rgba(0, 0, 0, 0.15);
    color: var(--color-gray-mid);
    display: block;
    margin: 0;
    overflow: hidden;
    padding: 0;
    text-decoration: none;
}

@media (min-width: 769px) {
    .column__list__item {
        border-radius: 2.7777777778vw;
        box-shadow: 0 0 0.6944444444vw 0 rgba(0, 0, 0, 0.15);
    }
}

.column__list__item:last-child {
    margin-bottom: 0;
}

.column__list__item__fig {
    aspect-ratio: 370/206;
    height: auto;
    width: 100%;
}

.column__list__item__fig img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.column__list__item__main {
    padding: 7.6923076923vw 6.4102564103vw 6.4102564103vw;
    position: relative;
}

@media (min-width: 769px) {
    .column__list__item__main {
        padding: 2.0833333333vw;
    }
}

.column__list__item__main__meta {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 2.0512820513vw;
    justify-content: space-between;
    margin: 0 0 5.1282051282vw;
}

@media (min-width: 769px) {
    .column__list__item__main__meta {
        gap: 0.5555555556vw;
        margin: 0 0 1.3888888889vw;
    }
}

.column__list__item__main__meta__date {
    display: block;
    font-size: 0.9375rem;
    margin: 0;
}

@media (min-width: 769px) {
    .column__list__item__main__meta__date {
        font-size: 1.0833333333rem;
    }
}

.column__list__item__main__meta__category {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 1.5384615385vw;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
}

@media (min-width: 769px) {
    .column__list__item__main__meta__category {
        gap: 0.5555555556vw;
    }
}

.column__list__item__main__meta__category span {
    background-color: var(--color-white);
    border: 0.2564102564vw solid var(--color-gray-mid);
    border-radius: 1.0256410256vw;
    color: var(--color-gray-mid);
    display: block;
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0;
    padding: 1.0256410256vw 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .column__list__item__main__meta__category span {
        border-radius: 0.2777777778vw;
        border-width: 0.0694444444vw;
        font-size: 1.1666666667rem;
        padding: 0.2777777778vw 0.8333333333vw;
    }
}

.column__list__item__main__title {
    -webkit-box-orient: vertical;
    display: -webkit-box;
    font-family: var(--ff-tsukushi-b);
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    -webkit-line-clamp: 3;
    line-height: 1.6;
    margin: 0;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    width: 100%;
}

@media (min-width: 769px) {
    .column__list__item__main__title {
        font-size: 1.8333333333rem;
    }
}

.column__action .com-button {
    background-color: var(--color-white);
}

.news {
    margin: 0 0 20.5128205128vw;
}

@media (min-width: 769px) {
    .news {
        margin: 0 0 11.1111111111vw;
    }
}

.news-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .news-container {
        max-width: 67.7777777778vw;
        padding: 0;
    }
}

.news__title {
    margin: 0 0 7.6923076923vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .news__title {
        margin: 0 0 3.4722222222vw;
        padding: 2.2222222222vw 0 0;
    }
}

.news__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .news__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.news__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .news__title__ja {
        font-size: 3rem;
        margin: 0 0 0.5555555556vw;
    }
}

.news__title__en {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .news__title__en {
        font-size: 1.1666666667rem;
    }
}

.news__list {
    background-color: rgba(var(--color-white-rgb), 0.7);
    border-radius: 5.1282051282vw;
    box-shadow: 0 0 2.5641025641vw rgba(0, 0, 0, 0.15);
    margin: 0 0 10.2564102564vw;
    padding: 10.2564102564vw 6.4102564103vw;
}

@media (min-width: 769px) {
    .news__list {
        border-radius: 2.7777777778vw;
        box-shadow: 0 0 0.6944444444vw rgba(0, 0, 0, 0.15);
        margin: 0 0 5.5555555556vw;
        padding: 4.1666666667vw;
    }
}

.news__list__item {
    border-bottom: 0.5128205128vw solid #E5E5E5;
    margin: 0 0 5.1282051282vw;
    padding: 0 0 5.1282051282vw;
}

@media (min-width: 769px) {
    .news__list__item {
        border-bottom-width: 0.1388888889vw;
        margin: 0 0 2.0833333333vw;
        padding: 0 0 2.0833333333vw;
    }
}

.news__list__item:last-child {
    margin-bottom: 0;
}

.news__list__item__link {
    color: var(--color-gray-mid);
    display: block;
    overflow: hidden;
    text-decoration: none;
}

.news__list__item__link__main {
    padding: 7.6923076923vw 6.4102564103vw 6.4102564103vw;
    position: relative;
}

@media (min-width: 769px) {
    .news__list__item__link__main {
        padding: 2.0833333333vw;
    }
}

.news__list__item__link__main__meta {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 5.1282051282vw;
    justify-content: flex-start;
    margin: 0 0 3.5897435897vw;
}

@media (min-width: 769px) {
    .news__list__item__link__main__meta {
        gap: 1.3888888889vw;
        margin: 0 0 1.3888888889vw;
    }
}

.news__list__item__link__main__meta__date {
    display: block;
    font-size: 0.875rem;
    margin: 0;
}

@media (min-width: 769px) {
    .news__list__item__link__main__meta__date {
        font-size: 1.1666666667rem;
    }
}

.news__list__item__link__main__meta__category {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 1.5384615385vw;
    justify-content: flex-start;
    margin: 0;
    padding: 0;
}

@media (min-width: 769px) {
    .news__list__item__link__main__meta__category {
        gap: 0.5555555556vw;
    }
}

.news__list__item__link__main__meta__category span {
    background-color: var(--color-white);
    border: 0.2564102564vw solid var(--color-gray-mid);
    border-radius: 1.0256410256vw;
    color: var(--color-gray-mid);
    display: block;
    font-size: 0.75rem;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0;
    padding: 1.0256410256vw 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .news__list__item__link__main__meta__category span {
        border-radius: 0.2777777778vw;
        border-width: 0.0694444444vw;
        font-size: 1.1666666667rem;
        padding: 0.2777777778vw 0.8333333333vw;
    }
}

.news__list__item__link__main__title {
    font-family: var(--ff-tsukushi-b);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.6;
    margin: 0;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 100%;
}

@media (min-width: 769px) {
    .news__list__item__link__main__title {
        font-size: 1.8333333333rem;
    }
}

.news__action .com-button {
    background-color: var(--color-white);
}