.topmv {
    width: 100%;
    height: 600px;
    background-image: url(../img/top/mv-bg-pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    position: relative; 
    padding-top: 6.25rem;
}
p.topmv-copy {
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0; 
    font-size: 2.81rem;
    font-weight: 600;
    font-family: "Zen Old Mincho";    
    z-index: 2;
}
p.topmv-copy,
.mv-txtwrap p {
    text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
}
.mv-txtwrap {
    background-color: rgba(255,255,255,0.4);
    min-width: 420px;
    position: absolute;
    top: 8.7rem;
    left: 50%;
    margin-left: 4.375rem;
    border-radius: 1.25rem;
    padding: 3.125rem;
    line-height: 2;
}
.latestinfo {
    max-width: 716px;
    margin: 2.5em auto 3.5em;
    box-sizing: border-box;
    border: solid 1px #999999;
    text-align: center;
    line-height: 1;
    padding: 0.8em;
    color: #221815;
}
.latestinfo p {
    font-size: var(--font-size-s);
    letter-spacing: 0.1em;
}
/*quick-links*/
#quick-links {
    max-width: var(--wrap-s);
    margin: 0 auto;
    padding-bottom: 4rem;
}
#quick-links ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto auto;
    gap: 0 3em;
}
#quick-links ul li,
#quick-links ul li figure {
    display: contents;
}

#quick-links ul li figure img {
    grid-row: 1;
    width: 82%;
    aspect-ratio: 1 / 1;
    justify-self: center;
    align-self: center;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 4px 4px 0 #92c2d5;
    margin-bottom: 1.25em;
}

#quick-links ul li figure figcaption {
    grid-row: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-height: 4.5em;
    text-align: center;
    font-weight: 700;
    padding-bottom: 1.25em;
}

#quick-links ul li > p {
    grid-row: 3;
    margin: 0;
}
#quick-links ul li a {
    text-align: center;
}

/*news*/
#news {
    background-color: var(--section-bgcolor-gray);
    padding: var(--space-xl) 0 7.5rem;
}
#news dl {
    max-width: var(--wrap-s);
    margin: 0 auto 5em;
    padding: 0 1.75rem;    
}
#news dl > .item {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    transition: opacity 0.5s ease;
}
#news dt {
    width: 31.7%;
    padding-bottom: 1.4rem;
}
#news dt span,
.news-detail .date span {
    min-width: 8.85em;
    color: #fff;
    border-radius: 0.71em;
    line-height: 1;
    font-size: var(--font-size-s);
    padding: 0.5em;
    display: inline-block;
    text-align: center;
    margin-left: 2.85em;
    vertical-align: 0.1em;
}
#news dt span.cat1,
.news-detail .date span.cat1 {
    background-color: var(--color-khaki); /*プレスリリース*/    
}
#news dt span.cat2,
.news-detail .date span.cat2 {
    background-color: var(--color-brown); /*施設*/
}
#news dt span.cat3,
.news-detail .date span.cat3 {
    background-color: var(--color-purple); /*採用*/
}
#news dt span.cat4,
.news-detail .date span.cat4 {
    background-color: var(--color-green); /*お知らせ*/
}
#news dd {
    width: 63.4%;
    padding-bottom: 1.4rem;
}
@media (max-width: 1024px) {
    .topmv {
        padding-top: 7.14vw
    }
    .mv-txtwrap {
        left: inherit;
        right: 2rem;
        top: 11vw;
    }
}

@media (max-width: 860px) {
    #news dl,
    #quick-links {
        width: 90%;
    }
    #news dl {
        padding: 0;
    }
    #news dt {
        width: 35%;
    }
    #news dt span {
        margin-left: 1.5em;
    }
}
@media (max-width: 767px) {
    .topmv {
        background-image: url(../img/top/mv-bg-sp.jpg);
        background-size: 100% auto;
        padding-top: 75vw;
        height: inherit;
    }
    p.topmv-copy {
        font-size: 1.45rem;
        writing-mode: vertical-rl;
        height: 16.875rem;
        text-align: left;
        top: 1.85rem;
        left: inherit;
        right: 12vw;
    }
    p.topmv-copy span {
        display: block;
        text-align: right;
    }
    .mv-txtwrap {
        position: inherit;
        left: inherit;
        right: inherit;
        top: inherit;
        width: 100%;
        padding: 2rem 2rem 0;
        margin: 0 auto;
    }
    .mv-txtwrap > p {
        width: fit-content;
        margin: 0 auto;
    }
    .latestinfo {
        width: 91%;
        line-height: 1.5;
        margin: 1.5em auto;
    }
    #quick-links {
        width: 100%;
        max-width: inherit;
        background-color: #e6f3f8;
        padding: 3.33rem 0 2.3rem;
    }
    #quick-links ul {
        width: 70%;
        grid-template-columns: 1fr;
        grid-template-rows: auto; 
        gap: 0;
        margin: 0 auto;
    }
    
    #quick-links ul li,
    #quick-links ul li figure {
        display: block; 
    }

    #quick-links ul li figure img {
        display: block;
        margin: 0 auto 1.25em;
        width: 73.1%;
    }
    #quick-links ul li > p {
        padding-bottom: 2.7em;
    }
    #news {
        padding: 3.75rem 0 5rem;
        background-color: #fff;
    }
    #news dl {
        display: block;
        width: 81.48%;
        margin: 3rem auto 2.45rem;
    }
    #news dt,
    #news dd {
        width: 100%;
    }
    #news dt {
        padding-bottom: 0;
    }
    #news dt span {
        font-size: var(--font-size-xs);
    }
    #news dd {
        padding-bottom: 2.5rem;
    }
    @media (max-width: 400px) {
        .topmv {
            padding-top: 320px;
            background-size: auto 320px;
        }
    }
}