@charset "UTF-8";
/* CSS Document */

body{
}
main{
}
.pc{
	display:none;
}
.smp{
	display:inherit;
}
.pc-center{/* PC時のみセンタリング */
	text-align:left;
}
.smp-center{
	text-align:center;
}
.smp-left{
	text-align:left;
}
h2.categorytitle{
    line-height: 1.2;
    font-size: 6vw;
    letter-spacing: .05em;
}
h2.categorytitle:before{
    content: "-";
    margin-bottom: .15em;
}
h2.categorytitle:after{
    content: "-";
    margin-bottom: .15em;
}
h2.categorytitle+p.sub{
    font-size: 1em;
    margin-top: 0;
}

h2.place{
    font-size: 1.1rem;
}

table.type1{
    border-collapse: collapse;
}
table.type1 td{
    margin-bottom: 0;
}
table.type1 th,
table.type1 td,
.viewspot table th,
.viewspot table td{
    display: block;
    width: 100%;
    box-sizing: border-box;
}
.viewspot table td{
    border-top: none !important;
    border-bottom: none !important;
}
.viewspot table tr:last-child td{
    border-bottom: 1px solid rgba(163,163,163,1.00) !important;
}


/* レイアウト */
/* スマホ時 float無しの1列レイアウトに（初期設定） */
.flex .col-2,
.flex .col-3,
.flex .col-4,
.flex .col-5,
.flex .col-6,
.flex .col-7,
.flex .col-8,
.flex .col-9,
.flex .col-10{
	float:none;
	width:100%;
	box-sizing:border-box;
	padding:0 0; 
}

.flex .smp-col-6{/* スマホ時でも2列レイアウト */
	width:50%;
	float:left;
}

.contents,
.contents-narrow{
    width: inherit;
    max-width: inherit;
    min-width: inherit;
    padding: .5em;
}
.contests figure:last-child{
    margin-top: 0;
}

.btn-green{
    margin: 0 0 3em .4em;
}
.btn-green a{
    width:inherit;
}
.drawr {
    display: none;
    background-color:rgba(0,0,0,0.6);
    position: absolute;
    top: 0px;
    right:0;
    width:260px;
    padding:60px 0 20px 20px;
    z-index: 100;
}
.drawr li {
    width:260px;
}
.drawr li a {
    color:#fff;
    display: block;
    padding: 15px;
}

header{
    aspect-ratio:auto;
    padding: 0;
    box-sizing: border-box;
    height: inherit;
}
header .bg{
    height: 155lvh;
    animation-name: none;
    opacity: 1;
    background: url(../img/2025/main.jpg) fixed no-repeat center top / 175% auto;
}
header > div.wrapper{
    margin-left: 0;
    height: 155lvh;
}
header h1{
    margin-top: 4em;
}
header h1 img{
    width:90vw;
}

header > .wrapper > .flex{
    flex-direction: column;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    gap:.5em;
}
header > .wrapper > .flex > p:nth-child(1),
header > .wrapper > .flex > p:nth-child(2){
    width: 50vw;
    min-width: 300px;
    margin: 0;
    padding: 0;
}
header > .wrapper > .flex p.right{
    font-size: 1rem;
}
header > .wrapper > .flex p.right span{
    line-height: 2.5;
    background-color: rgba(255,255,255,0.7);
    color: rgba(15, 7, 83, 1.00);
    padding: 0 .5em;
}
header .parts{
    position: static;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width:100%;
    height:inherit;
    gap:1em;
    margin-bottom: 1em;
}
header .parts .a1{
    position: static;
    width: 45%;
    transform: translate(0,0);
    animation-delay: 1500ms;
}
header .parts .a2{
    position: static;
    width: 45%;
    transform: translate(0,0);
    animation-delay: 2000ms;
}
header .parts .a3{
    position: static;
    width: 45%;
    transform: translate(0,0);
    animation-delay: 2500ms;
}
.cos,.insta,.instatxt{
    width: inherit;
}
.figures{
	width: inherit
}
.lang{
    position: absolute;
    top:0;
    left:0;
    gap:.5em;
    width: 100vw;
    font-size: .7em;
    justify-content: center;
}
.lang p a{
    font-size: .9rem;
    padding: .2em .35em;
}

.cos{
    margin-bottom: 200px;
}
.cos h3.title,
.instatxt > .flex:first-child p,
.instatxt h2{
    font-size: 6vw;
}
.cos,
.instatxt{
    padding: .5em;
}
.cos .flex,
.instatxt .flex{
    margin-bottom: auto;
}
.instatxt > .flex:first-child p.col-6{
    min-width: inherit;
}
.instatxt .baroon{
    top: -140px;
    right: 10px;
    width: 180px;
}
h5.clickable{
    text-align: center;
}
h5.clickable a{
    background-color: #fff;
    border-radius: 2em;
    padding: .5em 2em;
    text-decoration: none;
    font-size: .85em;
    margin: 0 auto;
}

.cos .attention{
    flex-direction: column;
}
.cos .attention .alert {
    width: inherit;
}
.bnrs{
    padding: 0;
}
.bnrs p{
    width: 38%;
    margin: .2em 0;
}

.bnrs.bnrs0 p{
    width:49%;
}
.viewspot a{
    font-size: .8em;
}