@charset "UTF-8";

/* ===========================================
   タイトル部（例外）
=========================================== */
.l-main_media{
    background:#f5f5f5;
}
.media-title{
    --x: 36%;
    --y: 80%;
    --size-x: 35%;
}
/* ===========================================
   レイアウト
=========================================== */

.media-layout{
    display:flex;
    align-items:flex-start;
    gap:40px;
    padding-bottom:60px;
}

@media (max-width:769px){
    .media-layout{
        display:block;
    }
}
/* ===========================================
   フィルター
=========================================== */

.media-filter{
    width:25%;
    max-width:340px;
    box-sizing:border-box;
    flex-shrink:0;

    position:sticky;
    top:30px;
    align-self:flex-start;

    max-height:calc(100vh - 60px);
    overflow-y:auto;

    background: var(--color-text-muted);
    padding:35px 30px;

    /* Firefox 問題 */
    scrollbar-width: thin;
}

@media (max-width:769px){
    .media-filter{
        width:100%;
        max-width:none;
        position:static;
        max-height:none;
        overflow:visible;
        padding:0;
        margin-bottom: 10px;
    }
}

/*スクロールバーを少し細くする*/

.media-filter::-webkit-scrollbar{
    width:6px;
}
.media-filter::-webkit-scrollbar-thumb{
    background:var(--color-main);;
}
.media-filter::-webkit-scrollbar-track{
    background:transparent;
}

.media-filter__header{
    display:flex;
    justify-content:flex-end;
    margin-bottom:30px;

    position:sticky;
    top:0;
    /*background:var(--color-text-muted);*/
}
@media (max-width:769px){
    .media-filter__header{
        margin-bottom:0px;
    }
}

.media-filter__header button{
    background: var(--color-main);
    color:#fff;
    border:none;
    padding:8px 18px;
    font-size:14px;
    cursor:pointer;
    transition:.2s;
}
.media-filter__header button:hover{
    opacity:.85;
}

.media-filter__body {
    margin-bottom: 350px;

}
.media-filter__group{
    margin-bottom:40px;
}


.media-filter__en{
    font-size:28px;
    color:#fff;
    letter-spacing:.04em;
    font-weight:300;
    margin-bottom:2px;
}

.media-filter__jp{
    font-size:16px;
    color:#fff;
    margin-bottom:16px;
}

.media-filter__list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

/* スマホ用のデザイン */
/* PCでは表示しない */
.media-filter__toggle{
    display:none;
}
@media (max-width: 769px){
    .media-filter__toggle{
        display:flex;
        align-items:center;
        justify-content:space-between;
        width:100%;
        padding:15px 20px;
        border:0;
        background:var(--color-text-muted);
        color:#fff;
        font-size:16px;
        cursor:pointer;
    }

    .media-filter__toggle-icon{
        font-size:20px;
        line-height:1;
    }

    .media-filter__body{
        display:none;
        padding:30px;
        background:var(--color-text-muted);
        margin-bottom:0;
    }

    .media-filter.is-open .media-filter__body{
        display:block;
    }
}
/* ===========================================
   チェックボックス
=========================================== */

.filter {
    display:none;
}

.chip {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:26px;
    padding:0 7px;
    background:#fff;
    color:#222;
    border-radius:4px;
    cursor:pointer;
    transition:.2s;
    font-size:12px;
    line-height:1;
}

.chip[for="f34"] {
    color: var(--area-ehime-color);
}
.chip[for="f35"] {
    color: var(--area-kagawa-color);
}
.chip[for="f12"] {
    color: var(--area-tokushima-color);
}
.chip[for="f13"] {
    color: var(--area-kouchi-color);
}

.chip:hover{
    background:#efefef;
}

.filter:checked + .chip{
    background:#000;
    color:#fff;
    font-weight:400;
}

.filter:checked + .chip[for="f34"]{
    background:var(--area-ehime-color);
}
.filter:checked + .chip[for="f35"]{
    background:var(--area-kagawa-color);
}
.filter:checked + .chip[for="f12"]{
    background:var(--area-tokushima-color);
}
.filter:checked + .chip[for="f13"]{
    background:var(--area-kouchi-color);
}

/* ===========================================
   一覧
=========================================== */

.media-content{
    flex:1;
    min-width:0;
}

.media-grid{
    display: grid;
    /*grid-template-columns:repeat(auto-fill, minmax(250px, 250px));
    grid-template-columns:repeat(3, minmax(250px, 1fr));
    justify-content:start;
    */
    grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
    gap: 40px 24px;
    align-items:stretch;
}
@media (max-width:769px){
    .media-grid{
        grid-template-columns:1fr;
        max-width: 500px;
        margin: 0 auto;
    }
}

/*==========================
カード
==========================*/
.media-card-wrap{
    display:flex;
    flex-direction:column;
    transition:.3s;
    height:100%;
    max-width:400px;
}
.media-card-wrap:hover{
    transform:translateY(-6px);
}

.media-card{
    display:flex;
    flex-direction:column;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    transition:.3s;
    box-shadow:0 4px 12px rgba(0,0,0,.08);
    padding-bottom: 20px;
    height: 100%;
    max-height: 700px;
}

.media-card:hover{
    transform:none;
}

.media-card__pickup{
    height:28px;
    margin-bottom:15px;
    display:flex;
    align-items:center;
}

.media-card__pickup-badge {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:28px;
    padding:0 10px;
/*    background:linear-gradient(90deg,#ff9d74 0%,#ff6d6d 100%); */
    background:#0054bd;
    color:#fff;
    font-size:12px;
}

.media-card__image{
    aspect-ratio:4 / 3;
    overflow:hidden;
}

.media-card__image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.media-card__body{
    flex:1;
    padding-left: 20px;
    padding-right: 5px;
    overflow:hidden;
}

.media-card__location{
    display:inline-block;
    font-size:13px;
}
.media-card__title{
    font-size:20px;
    font-weight:bold;
    /*line-height:1.5;*/
    margin-bottom:18px;

    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}

.media-card__line{
    height:1px;
    background: #000;;
    margin-bottom:5px;
}

.media-card__meta{
    font-size:15px;
    color:#555;

    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
}

.media-card__footer{
    display:flex;
    gap:14px;
    margin-top:20px;
}

.media-card__meta--area .attribute{
    padding: 0 10px;
    border-radius: 5px;
    margin-right: 5px;
}

.media-card__meta--area .attribute--34{
    background:var(--area-ehime-color);
    color: #fff;
}
.media-card__meta--area .attribute--35{
    background:var(--area-kagawa-color);
    color: #fff;
}
.media-card__meta--area .attribute--12{
    background:var(--area-tokushima-color);
    color: #fff;
}
.media-card__meta--area .attribute--13{
    background:var(--area-kouchi-color);
    color: #fff;
}

.media-card__btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    width:240px;
    height:42px;
    margin:0 auto;

    border:2px solid var(--color-main);
    border-radius:999px;

    color:var(--color-main);
    text-decoration:none;

    transition:.2s;
}

.media-card__btn:hover{
    background:var(--color-main);
    color:#fff;

}

.media-card__btn-pdf{
    padding:2px 10px;

    background:#ff0000;
    color:#fff;

    font-size:0.75rem;
    font-weight:bold;
    border-radius:4px;
    line-height:1.2;
}

.media-card-wrap.hide{
    opacity:0;
    transform:translateY(10px);
    pointer-events:none;
    box-shadow:0 8px 20px rgba(0,0,0,.14);
}

