.topCASE,
.topMEDIA{
padding: 10rem 0;
text-align: center;
background: #f9f8f8
}
.topCASE ul,
.topMEDIA ul{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 40px auto 0 auto;
}
.topCASE ul:after {
content:"";
display: block;
width:31%;
}
.topCASE ul li,
.topMEDIA ul li{
width: 31%;
text-align: left;
margin-bottom: 40px;
}
.topCASE ul li a,
.topMEDIA ul li a{
color: #000;
display: block;
text-decoration: none;
}
.topCASE ul li a:hover {}
.topCASE ul li .photo,
.topMEDIA ul li .photo{
display: block;
background-color: #DADADA;
overflow: hidden;
position: relative;
}
.topCASE ul li .photo img,
.topMEDIA ul li .photo img{
display: block;
width: 100%;
height: auto;
transform: scale(1);
transform-origin: center;
transition: transform .50s ease, filter .50s ease;
will-change: transform;
}
.topCASE ul li a:hover .photo img,
.topCASE ul li a:focus-visible .photo img,
.topMEDIA ul li a:hover .photo img,
.topMEDIA ul li a:focus-visible .photo img {
transform: scale(1.10);
/* 任意の演出：少しコントラストを上げる */
filter: saturate(1.20);
}
.topCASE ul li h4,
.topMEDIA ul li h4{
font-size: 2rem;
line-height: 1.5em;
font-weight: 700;
padding: 0.5em 0 0.5em 0;
display: block;
overflow: hidden;
height: 3.5em;
}
.topMEDIA ul li h4 {
padding: 0em 0 0em 0;
}
.topCASE ul li p,
.topMEDIA ul li p{
font-size: 1.6rem;
line-height: 1.5em;
display: block;
overflow: hidden;
height: 3em;
}
.topCASE .more {}
.topCASE .more a {}
.topCASE .more a:hover {}

.topMEDIA ul li p.category {
height:auto;
margin: 1em 0 0.3em 0;
}
.topMEDIA ul li p.category span {
font-size: 1.5rem;
font-weight: 500;
line-height: 1.2em;
display: inline-block;
border: 1px solid #d0121b;
color: #d0121b;
padding: 0.2em 0.5em 0.2em 0.5em;
margin-right: 1em;
}
.topMEDIA ul li p.date {
font-size: 1.3rem;
line-height: 1.5em;
color: #676767;
height:auto;
margin: 0.5em 0 0.3em 0;
}


@media screen and (min-width: 0px) and (max-width: 640px) {
.topCASE,
.topMEDIA{
padding: 4rem 0;
text-align: center;
background: #f9f8f8
}
.topCASE ul,
.topMEDIA ul{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
margin: 40px auto 0 auto;
}
.topCASE ul li,
.topMEDIA ul li{
width: 48%;
text-align: left;
margin-bottom: 30px;
}
.topCASE ul li a,
.topMEDIA ul li a{
color: #000;
display: block;
text-decoration: none;
}
.topCASE ul li a:hover {}
.topCASE ul li .photo,
.topMEDIA ul li .photo{
display: block;
background-color: #DADADA;
overflow: hidden;
position: relative;
}
.topCASE ul li .photo img,
.topMEDIA ul li .photo img{
display: block;
width: 100%;
height: auto;
transform: scale(1);
transform-origin: center;
transition: transform .50s ease, filter .50s ease;
will-change: transform;
}
.topCASE ul li a:hover .photo img,
.topCASE ul li a:focus-visible .photo img,
.topMEDIA ul li a:hover .photo img,
.topMEDIA ul li a:focus-visible .photo img {
transform: scale(1.10);
/* 任意の演出：少しコントラストを上げる */
filter: saturate(1.20);
}
.topCASE ul li h4,
.topMEDIA ul li h4{
font-size: 1.6rem;
line-height: 1.5em;
font-weight: 700;
padding: 0.5em 0 0.5em 0;
display: block;
overflow: hidden;
height: auto;
}
.topMEDIA ul li h4 {
padding: 0em 0 0.5em 0;
}
.topCASE ul li p,
.topMEDIA ul li p{
font-size: 1.3rem;
line-height: 1.5em;
display: block;
overflow: hidden;
height: auto;
}

.topMEDIA ul li p.category {
height:auto;
margin: 1em 0 0.3em 0;
}
.topMEDIA ul li p.category span {
font-size: 1.3rem;
font-weight: 500;
line-height: 1.2em;
display: inline-block;
border: 1px solid #d0121b;
color: #d0121b;
padding: 0.2em 0.5em 0.2em 0.5em;
margin-bottom: 0.5em;
}
.topMEDIA ul li p.date {
font-size: 1.3rem;
line-height: 1.5em;
color: #676767;
height:auto;
margin: 0.5em 0 0.2em 0;
}
}
