body{
    background-color: beige;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 1.5;
    font-size: 16px;
}

img{
    vertical-align: bottom;
    max-width: 100%;
}

ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

header{
    background-image: url(../images2026/topbg.jpg);
    padding: 3.5rem 0;
    background-size: cover;
    background-position: center bottom;
    position: relative;
}

header .title{
    color: rgb(0, 0, 0);
    font-size: min(3.5vw,50px);
    font-weight: bold;
    /* background-color: rgba(10, 51, 130 , .7);*/
    border-radius: 0.5em;
    padding: 0.5em;
    text-shadow:1px 1px 2px #FFF, -1px -1px 2px #FFF,
                -1px 1px 2px #FFF, 1px -1px 2px #FFF,
                0 1px 2px #FFF,  0 -1px 2px #FFF,
                -1px 0 2px #FFF, 1px 0 2px #FFF;
}
.top-caption{
    background-color: #0a3382;
    color: #FFF;
    width: 100%;

    display: flex;
    justify-content: center;
    align-items: center;

}
#heder-caption{
    text-align: right;
    padding: 0.5em;
    margin: 0;
    position: absolute;
    bottom: 0;
    right: 0;
    color: #FFF;
    font-size: 12px;
    /* background-color: rgba(10, 51, 130 , .7);*/
}
@media (max-width: 768px) { 
    #heder-caption{
        font-size: min(2vw,12px);
    }
}
.info-btn a{
    font-size: 2rem;
}

.info-text{
    max-width: 1320px;
    width: 100%;
    padding: 1rem;
    border-radius: 1rem;
}

main{
    padding: 2rem 0;
}

#link-list ul{}
#link-list ul li{

}
#link-list ul li span,
#link-list ul li a{
    border: 1px solid #0d6efd;
    display: block;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFF;
    padding: 1rem;
    text-decoration: none;
}
#link-list ul li a img{
    width: 50%;
}

#link-list ul li a:hover{
    opacity: 0.7;
}

#link-list ul li a span{
    padding: 0;
    margin: 0;
    border: none;
    color: black;
    font-weight: 700;
    font-size: 0.8em;
}

.tournament{
    width: 100%;
    /* height: 30vh; */
    background-color: #FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #AAA;
}
#sponsor h2{
    margin: 0;
    padding: 0;
}
/*
#sponsor h2{
    background-image: url(../images2025/title_bg.jpg);
    background-size: cover;
    background-position: bottom;
    padding: 1rem;
    text-align: center;
    font-weight: 900;
    letter-spacing: 0.3em;
    margin: 0;
    color: rgb(255, 241, 0);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    text-shadow:1px 1px 3px rgba(0, 0, 0, 1);

}
    */



#sponsor ul{
    display: flex;
    justify-content: space-around;
    background-color: #FFF;
    align-items: center;
    row-gap: 3%;
    column-gap: 5%;
    padding: 0.5rem 0.5rem;
}
#sponsor ul{
    flex-wrap: wrap;
    justify-content: center;
}

#sponsor ul li{
    margin-bottom: 1rem;
    width: calc( 50% - 1rem ); /* 50%の余白を2つ分引いて、2等分 */
}

#illustration ul,
#photos ul {
    
}

#illustration ul li{
    text-align: center;
    padding-bottom: 2rem;
}


#photos h2,
#illustration h2{
    text-align: center;
    background-color: #0a3382;
    color: #FFF;
    padding: 0.5rem;
    border-radius: 0.5rem;
}
/*
#photos .grid-item { width: calc(30% - 2rem); }
#photos .grid-item--width2 { width: 400px; }
*/

#photos ul{
    margin: 0 auto;
}
#photos ul li{
    padding: 0.5rem;
    width: calc(50%) /* 150pxの幅 */
}

    #sponsor ul li span a{
        display: inline;
        text-decoration: none;
        color: black;
        font-size: 2.8vw;
        border: 1px solid #000;
        border-radius: 5px;
    }

@media (min-width: 768px) { 
    #photos h2,
    #illustration h2{
        text-align: center;
        background-color: #0a3382;
        color: #FFF;
        padding: 0.5rem;
        border-radius: 0.5rem;
    }
    #sponsor h2{
        /* flex-flow:row; */
    }

    #sponsor ul li{
        width: calc( ( (100% - (3% * 5)) / 4 ) - 0.5rem ); /* 5%の余白を4つ分引いて、5等分 */
        text-align: center;
        margin-bottom: 0;
    }
    #sponsor ul li a{
        display: block;
        text-decoration: none;
        color: black;
    }
    #sponsor ul li span a{
        display: inline;
        text-decoration: none;
        color: black;
        font-size: 0.8em;
        padding: 0.1em;
    }
    #photos ul li{
        padding: 0.5rem;
        width: calc(25%) /* 150pxの幅 */
    }
 }


#illustration .imgbox{
    overflow: hidden;
}
#photos a,
#illustration a{
    display: block;
    text-decoration: none;
    color: black;
    overflow: hidden;
}
#photos a img,
#illustration a img{
	height: auto;
	transition: transform .6s ease;/* ゆっくり変化させる */
	width: 100%;
    max-width: unset;
}
#photos a:hover img,
#illustration a:hover img{
    transform: scale(1.1);/* 拡大 */
}
/* フッター */
#footer{
    background-color: #AAA;
}

.to-top{
    background-color:rgb(10, 51, 130);
    color: white;
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    width: 2rem;
    height: 2rem;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: .5rem;
}
.to-top a{
    color: white;
}


/* 優勝  */
.yuushou{
    padding: 1rem;
    background-color: #FFF;
    text-align: center;
    border: 1px solid gray;
}

.yuushou .school{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.school .win{
    font-size: 0.9em;
    margin-right: 1em;
    color: #F00;
}

.school .sub{
    font-size: 0.5em;
    margin-left: 1em;
}

.pc-only{display: none;}
.sp-only{display: block;}
br.sp-only{display: inline;}
@media (min-width: 576px) { 
    .sp-only{display: block;}
    .pc-only{display: none;}
 }


@media (min-width: 768px) { 
    .sp-only{display: none;}
    .pc-only{display: block;}
 }


@media (min-width: 992px) { 
    .sp-only{display: none;}
    .pc-only{display: block;}
 }


@media (min-width: 1200px) {
    .sp-only{display: none;}
    .pc-only{display: block;}
  }


@media (min-width: 1400px) { 
    .sp-only{display: none;}
    .pc-only{display: block;}
 }

#lightbox .lb-container {
    padding: 0px;
    object-fit: cover; /* この一行を追加するだけ！ */
}


.lb-dataContainer{
    background-color: #FFF;
    /*padding-top: 25px !important;*/
    
    /*border: 10px solid #FFF;*/
}
.lb-caption{
    color: #333;
}

/*
.lb-container{
    width: 100%;
}
*/
.lb-dataContainer,
.lightbox .lb-image{
    /*border: 10px solid #FFF;*/
    border: 0;
}

. font-10{
    font-size: 10px;
}
#illustration a img.haru{
    height: auto;
    width: 1em;
    display: inline;
    vertical-align:middle;
}

#illustration a img{
    width: 100% ;
    height: 100%;
    aspect-ratio: 1024 / 1249;
    object-fit: cover;
}

img{
    /* SPの長押し禁止 */
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-touch-callout:none;
    -moz-user-select:none;
    user-select:none;
}

#link-list > ul > li.col-md.last > a{
    padding: 0;
}
#link-list > ul > li.col-md.last > a img{
    width: 80%;
}