

/************

archive column

*************/
.p-archive-column__contents {
    padding: 0 calc(50 / 1920 * 100vw);
}
.p-archive-column__item {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(50 / 1920 * 100vw);
}
.p-archive-column__link-img {
    width: 100%;
    height: calc(300 / 1920 * 100vw);
    object-fit: cover;
}
.p-archive-column__date {
    display: block;
    font-size: calc(20 / 1920 * 100vw);
    margin: calc(10 / 1920 * 100vw) 0 calc(5 / 1920 * 100vw);
}
.p-archive-column__ttl {
    font-size: calc(24 / 1920 * 100vw);
    font-weight: 700;
    margin: calc(10 / 1920 * 100vw) 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.4;
}
.p-archive-column__txt {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    line-height: 1.4;
}

@media only screen and (max-width: 1024px) {
    .p-archive-column__item { grid-template-columns: repeat(2, 1fr); }
}
@media only screen and (max-width: 767px) {
    .p-archive-column__contents { padding: 0; }
    .p-archive-column__item { grid-template-columns: 1fr; gap: calc(30 / 390 * 100vw); }
    .p-archive-column__link-img { height: calc(223 / 390 * 100vw); }
    .p-archive-column__date { font-size: calc(12 / 390 * 100vw); margin: calc(5 / 390 * 100vw) 0 calc(3 / 390 * 100vw); }
    .p-archive-column__ttl { font-size: calc(18 / 390 * 100vw); }
}

/************

single column

*************/
.p-single-column__container {}
.p-single-column__contents {
    padding: 0 calc(50 / 1920 * 100vw);
    margin-top: calc(20 / 1920 * 100vw);
}
.p-single-column__time {
    display: block;
    font-size: calc(20 / 1920 * 100vw);
    color: #543600;
    margin-bottom: calc(20 / 1920 * 100vw);
}
.p-single-column__txt-area {
    font-size: calc(20 / 1920 * 100vw);
    line-height: 2;
}
.p-single-column__txt-area p { margin: 0 0 calc(24 / 1920 * 100vw); }
.p-single-column__txt-area ul,
.p-single-column__txt-area ol { margin: 0 0 calc(24 / 1920 * 100vw); padding-left: 1.2em; }
.p-single-column__txt-area img { max-width: 100%; height: auto; display: block; margin: calc(20 / 1920 * 100vw) auto; }
.p-single-column__txt-area h2,
.p-single-column__txt-area h3,
.p-single-column__txt-area h4 { margin: calc(30 / 1920 * 100vw) 0 calc(15 / 1920 * 100vw); font-weight: 700; }
.p-single-column__txt-area h2 { font-size: calc(32 / 1920 * 100vw); }
.p-single-column__txt-area h3 { font-size: calc(28 / 1920 * 100vw); }
.p-single-column__txt-area h4 { font-size: calc(24 / 1920 * 100vw); }

@media only screen and (max-width: 767px) {
    .p-single-column__contents { padding: 0; margin-top: calc(15 / 390 * 100vw); }
    .p-single-column__time { font-size: calc(12 / 390 * 100vw); margin-bottom: calc(12 / 390 * 100vw); }
    .p-single-column__txt-area { font-size: calc(16 / 390 * 100vw); line-height: 1.9; }
    .p-single-column__txt-area p { margin: 0 0 calc(18 / 390 * 100vw); }
    .p-single-column__txt-area img { margin: calc(15 / 390 * 100vw) auto; }
    .p-single-column__txt-area h2 { font-size: calc(24 / 390 * 100vw); }
    .p-single-column__txt-area h3 { font-size: calc(20 / 390 * 100vw); }
    .p-single-column__txt-area h4 { font-size: calc(16 / 390 * 100vw); }
}