@charset "utf-8";

.ns {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-template-areas:
        "head    head    head    head    head    head"
        ".       .       .       .       writer  writer"
        "vtitle  body    body    body    body    body"
        "image   image   image   image   image   image"
        ".       body2   body2   body2   body2   body2"
        "gallery gallery gallery gallery gallery gallery";
    gap: 0 1rem;
    margin-bottom: 3rem;
}

.ns img {
    filter: saturate(0.9);
}
.sl-overlay,
.sl-wrapper img {
    filter: saturate(0.95);
}

.ns-head    { grid-area: head;}
.ns-writer  { grid-area: writer; display: flex; justify-content: flex-end; align-items: center; padding-right: .3rem;}
.ns-vertical-title { grid-area: vtitle; writing-mode: vertical-rl; justify-self: center;}
.ns-body    { grid-area: body; }
.ns-image   { grid-area: image; margin-bottom: 1.5rem;}
.ns-body2   { grid-area: body2; margin-bottom: 3rem;}
.ns-gallery { grid-area: gallery;}



/* 1col */
.ns-category,
.ns-score {
    display: inline-flex;
    padding: .4rem .8rem;
    background: #3c3c3c;
    font-size: .75rem;
}
.ns-category {
color: #fff;
}
.ns-score {
background: #ededed;
font-weight: bold;
}
.ns-title {
    display: inline-block;
    margin-bottom: 1.5rem;
    font-family: "Noto Sans JP", sans-serif;
    transform: skewX(-10deg);
    font-size: 1.75rem;
}

/* 2col */
.ns-writer .writer-label,
.ns-writer .writer-name {
 margin-bottom: 1rem;
color: #fff;
font-size: .8rem;
}
.ns-writer .writer-label { background: #1d1d1d; padding: .2rem .4rem; }
.ns-writer .writer-name  { background: #3c3c3c; padding: .2rem .8rem; }


/* 3col */
.ns-vertical-title h2 {
margin: 0;
padding: 0;
font-family: "Noto Sans JP", sans-serif;
letter-spacing: .1rem;
font-size: 1.7rem;
}

/* 4col */
.ns-slider {
    position: relative;
    overflow: hidden;
}
.ns-slide {
    opacity: 0;
    transition: opacity 0.9s ease;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin-bottom: 1rem;
}
.ns-slide.active {
    opacity: 1;
    position: relative;
}

.ns-thumbs {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: .5rem;
    margin-top: .5rem;
    padding: 0;
}
.ns-thumbs li {
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}
.ns-thumbs li.active {
    opacity: 1;
}
.ns-thumbs li img {
    width: 60px;
    height: 40px;
    object-fit: cover;
}
.ns-dots {
    list-style: none;
    display: flex;
    justify-content: center;
    gap: .5rem;
    margin-top: .5rem;
    padding: 0;
}
.ns-dots li {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer;
    transition: background 0.3s ease;
}
.ns-dots li.active {
    background: #333;
}


.ns-prev,
.ns-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0,0,0,0.5);
    color: #fff;
    border: none;
    padding: .5rem;
    font-size: 1.5rem;
    cursor: pointer;
}
.ns-prev { left: 0; }
.ns-next { right: 0; }

p.ns-caption {
text-align: center;
font-size: .8rem;
color: #666;
}

/* PhotoLightBox */
.ParaPhotoB img {
float: right;
width: 39%;
max-width: 200px;
margin-left: .7rem;
margin-bottom: .7rem;
padding: .25rem;
border: solid 1px rgba(105, 90, 60, .2);
}

/* GroupGallery Border */
.GroupGallery {
padding-top: .5rem;
padding-bottom: .5rem;
border-top: solid 1px #f3f3f3;
border-bottom: solid 1px #f3f3f3;
}
.GroupGallery a {
    margin-bottom: 0;
}
.GroupGallery a {
    padding: 10px 7px 10px 0;
}
.GroupGallery a img {
border: none;
}

/* ConventionTitle */
.ConventionTitle {
    display: inline-flex;
    border-left: solid .8rem rgb(0 0 0);
    background-color: rgb(59 59 59);
    padding: .5rem 1rem .5rem .8rem;
    color: #fff;
    font-size: .9rem;
}

.ResultWrap {
margin-bottom: 3rem;
padding-left: .5rem;
}

.ResultWrap li:first-child {
margin-bottom: 1.5rem;
}
.ResultWrap li:nth-child(2) {
margin-bottom: .6rem;
}
span.Goalscorer {
display: inline-flex;
padding: .2rem .5rem;
 background: rgb(59 59 59 / 67%);
color: #fff;
font-size: .9rem;
letter-spacing: .1rem;
}

/* h2 New */
.ReportTitleB {
font-size: 1.4rem;
}

@media screen and (min-width: 480px) {
.GroupGallery a {
    padding: 10px 10px 10px 0;
}
.ConventionTitle {
    letter-spacing: .06rem;
}
h2.ReportTitleB {
font-size: 1.15rem;
}

}
@media screen and (min-width: 768px) {
.ns-title {
    font-size: 2rem;
}
.ns-prev,
.ns-next {
    padding: 1rem;
}

}
@media screen and (min-width: 960px) {

}