﻿@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

html {scroll-behavior: smooth;}

/*body_common*/
body{
	width: 100%;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 0;
    font-family: 'Noto Sans JP', sans-serif;
	}

body::before{
	content: '';
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100%;
	background-image: url("../images/event/kurowizTS2026_background.webp");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	}


/*---common---*/
#mainContainer{backdrop-filter: blur(5px);}
img{max-width: 100%;}
a{text-decoration: none; outline: none;}
p{font-size: 1em; line-height: 1.6em; color: #FFF;}
main ul{margin: 1em; padding: 0 0.5em;}
main li{padding-bottom: 0.5em; font-size: 1em; line-height: 1.6em; color: #FFF;}

.small{font-size: 0.8em;}
.center{text-align: center;}

:hover{
	-webkit-transition: all 0.8s ease;
    -moz-transition: all 0.8s ease;
    -o-transition: all 0.8s ease;
    transition: all  0.8s ease;
	}

/*animation*/
.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 0.5s;
	
	&.fadein-left{transform: translate(-30px,0);}
	&.fadein-right{transform: translate(30px,0);}
	&.fadein-up{transform: translate(0,-30px);}
	&.fadein-bottom{transform: translate(0,30px);}
	&.scrollin{opacity: 1 !important; transform: translate(0, 0) !important;}
	}


.fadeUP{
	animation-name:fadeUpAnime;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	opacity: 0;
	}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  	transform: translateY(20px);
  	}

  to {
    opacity: 1;
  	transform: translateY(0);
  	}
}



/*BOX*/
.FlexBox{display: flex; flex-wrap: wrap; align-items: flex-start;}
.block04{padding-bottom: 2em;}

.block02 div{flex: 0 1 48%; margin: 0 1% 1em;}

.block04 div{flex: 0 1 23%; margin: 0 auto;}
.block05 div{flex: 0 1 19%; margin: 0 auto 0.75em;}
.block07 div{flex: 0 1 14%; margin: 0 auto 0.25em;}
.block08 div,.block08 p{flex: 0 1 12%; margin: 0 auto 0.25em;}

@media only screen and (max-width: 860px) {
    .block02 div{flex: 0 1 100%; margin: 0 auto 1em;}
    .block04 div{flex: 0 1 90%; margin: 0 auto 1em;}
    .block05 div{flex: 0 1 24%; margin: 0 0.5% 0.35em;}
    .block07 div{flex: 0 1 24%; margin: 0 0.5% 0.45em;}
    .block08 div,.block08 p{flex: 0 1 24%; margin: 0 0.5% 0.45em;}
    }

@media only screen and (max-width: 480px) {
    .block04 div{flex: 0 1 96%;}
    .block05 div{flex: 0 1 49%; margin: 0 0.5% 0.25em;}
    .block07 div{margin: 0 0.5% 0.25em;}
    }



/*LinkButton*/
.LinkButton a {
    max-width: 430px;
    margin: 1em 0;
    padding: 6px 25px;
    background: linear-gradient(135deg, rgba(1,94,234,1) 0%,rgba(1,94,234,1) 35%,rgba(0,192,250,1) 100%);
    border-radius: 25px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    font-size: 0.9em;
    color: #FFF;
    transition: 0.3s ease-in-out;
    font-weight: bold;
    }

.LinkButton a:after {
    content: "";
    position: absolute;
    top: 50%;
    bottom: 0;
    right: 2rem;
    font-size: 90%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: right 0.3s;
    width: 6px;
    height: 6px;
    border-top: solid 3px currentColor;
    border-right: solid 3px currentColor;
    transform: translateY(-50%) rotate(45deg);
    }

.LinkButton a:hover {background: linear-gradient(135deg, rgba(1,94,234,1) 0%,rgba(1,94,234,1) 80%,rgba(0,192,250,1) 100%); color: #FFF;}
.LinkButton a:hover:after {right: 1.4rem;}

.itemList .LinkButton a, .event-info .LinkButton a{margin: auto;}





/*---------- NAVI ----------*/
header {height: 100%; overflow-x: hidden; position: relative;}

.overlay {
	width: 0;
	height: 0;
	content: "";
	display: block;
	background-color: rgba(0,0,0,0.85);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	opacity: 0;
	transition: opacity .5s;
	}

	.overlay.open {
		width: 100%;
		height: 100%;
		opacity: 1;
		}

.menu-trigger {
	display: inline-block;
	width: 80px;
	height: 80px;
	vertical-align: middle;
	cursor: pointer;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 100;
	transform: translateX(0);
	transition: transform .5s;
    border: solid 2px #FFF;
    background-color: rgba(1,94,234,0.8);
	}

	.menu-trigger.active {transform: translateX(-250px);}

 .menu-trigger span {
	 width: 40px;
	 height: 4px;
	 display: inline-block;
	 box-sizing: border-box;
	 position: absolute;
	 left: 17px;
	 background-color: #FFF;
	 }

.menu-trigger.active span {background-color: #fff;}
	.menu-trigger span:nth-of-type(1) {top: 26px;}
	.menu-trigger.active span:nth-of-type(1) {transform: translateY(12px) rotate(-45deg);}

	.menu-trigger span:nth-of-type(2) {top: 38px;}
	.menu-trigger.active span:nth-of-type(2) {opacity: 0;}
	
	.menu-trigger span:nth-of-type(3) {top: 50px;}
	.menu-trigger.active span:nth-of-type(3) {transform: translateY(-12px) rotate(45deg);}


@media only screen and (max-width: 860px){
	.menu-trigger {width: 60px;	height: 60px; top: 15px; right: 20px;}
	.menu-trigger span {width: 24px; height: 3px; left: 16px;}
	.menu-trigger span:nth-of-type(1) {top: 17px;}
	.menu-trigger.active span:nth-of-type(1) {transform: translateY(9px) rotate(-45deg);}
	.menu-trigger span:nth-of-type(2) {top: 26px;}
	.menu-trigger span:nth-of-type(3) {top: 35px;}
	.menu-trigger.active span:nth-of-type(3) {transform: translateY(-9px) rotate(45deg);}
	}

@media only screen and (max-width: 480px){.menu-trigger {top: 10px; right: 10px;}}
@media only screen and (max-width: 380px){.menu-trigger {top: 5px; right: 5px;}}

nav {
	width: 250px;
	height: 100%;
	padding-top: 30px;
	background-color: rgb(0,0,0,0.75);
	position: fixed;
	top: 0;
	right: 0;
	z-index: 10;
	transform: translate(250px);
	transition: all .5s;
	}

	nav.open {transform: translateZ(0);}

	nav ul {padding: 0 1em; list-style: none;}
	nav li {text-align: center; border-bottom: dotted 3px rgba(255,255,255,0.7);}
	nav li:last-child {border-bottom: none;}
	nav a{padding: 0.75em 0.25em; color: #FFF; display: block;}
	nav a:hover{background: rgba(0,192,250,0.5);}
	header > * {box-sizing: border-box;}



/*---Main Contents---*/

/*KW_top*/
.KW_top main{display: flex;}
.KW_top main section{height: 100vh;}
.KW_top main section:first-child{flex: 0 1 45vw;}
.KW_top main section:last-child{flex: 0 1 55vw; overflow-x: scroll;}

@media only screen and (max-width: 1400px){
	.KW_top main{display: block;}
	.KW_top main section{height: inherit;}
	.KW_top main section:last-child{overflow-x: inherit;}
	}

/*mainVisual*/
#mainVisual{
    background-image: url("../images/event/kurowizTS2026_mainVisual.webp");
    background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
    }

#mainVisual div{
    padding: 68vh 2em 0;
    }

#mainVisual h1{
	width: 100%;
    margin: 0;
	height: 0;
	padding-top: 25%;
	background-repeat: no-repeat;
	background-size: contain!important;

	overflow: hidden;
	display: block;
    background-image: url("../images/event/kurowizTS2026_h1.webp");
	background-position: top center;
    }

#mainVisual h1 + p{
	width: 100%;
    margin: 0;
	height: 0;
	padding-top: 10%;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
    background-image: url("../images/event/kurowizTS2026_date.webp");
	background-position: top right 16.5%;
    }

.TS_entry{max-width: 800px; margin: 0 0 0 12.5%;}


@media screen and (max-width: 1400px) {
    #mainVisual div{padding: 85% 3em 3em;}
    #mainVisual h1 + p{margin: 0.75em 0;}
	.TS_entry{max-width: 700px; margin: 0 auto;}
    }


/*mainContents*/
#mainContents{
	padding: 5em 2em;
    background: rgba(0,0,0,0.85);
    }

.itemList{max-width: 1580px; margin: auto; padding-bottom: 3em; display: flex; flex-wrap: wrap;}
.itemList div{padding: 2em 2%; flex: 0 1 50%; border-right: dotted 3px #FFF;}
.itemList div:nth-child(-n+2){border-bottom: dotted 3px #FFF;}
.itemList div:nth-child(2), .itemList div:last-child{border-right: none;}
.itemList div:nth-child(n+3){flex: 0 1 33.3%;}

.itemList div{text-align: center;}
.price{margin-bottom: 0; font-size: 1.2em; font-weight: bold;}
.price span{font-size: 1.6em;}
.price + p{margin-top: 0.5em;}

@media screen and (max-width: 1200px) {
    .itemList div{flex: 0 1 50%!important; padding: 2em 5%;}
	.itemList div:nth-child(2), .itemList div:nth-child(4), .itemList div:last-child{border-right: none;}
	.itemList div:nth-child(3), .itemList div:nth-child(4){border-bottom: dotted 3px #FFF;}
    .itemList div:last-child{margin: auto;}
    }

@media screen and (max-width: 540px) {
    #mainContents h2{padding-top: 20%;}
    .itemList{display: block;}
	.itemList div{border-right: none; border-bottom: dotted 3px #FFF;}
	.itemList div:last-child{border-right: none; border-bottom: none;}
    }



/*mainContents_common*/
h2{
	width: 100%;
	max-width: 1580px;
    margin: 0 auto;
	height: 0;
	padding-top: 5em;
	background-repeat: no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: block;
	background-position: top center;
    }

    #TOP h2{padding-top: 6%; background-image: url("../images/event/kurowizTS2024_teaser_h2.png");}
    @media screen and (max-width: 860px) {#TOP h2{padding-top: 15%; background-image: url("../images/event/kurowizTS2024_teaser_h2_tablet.png");}}
    #COLLABO h2{background-image: url("../images/event/kurowizTS2024_drink_h2.png");}
    #GOODS h2{background-image: url("../images/event/kurowizTS2025_goods_h2.png");}
    #ONLINE h2{background-image: url("../images/event/kurowizTS2024_online_h2.png");}
    #SPECIAL h2{background-image: url("../images/event/kurowizTS2025_special_h2.png");}


h3{
    margin: 3em 0 0.5em;
    padding: 0.5em 1em;
    font-size: 1.1em;
    color: #FFF;
    border-radius: 10px;
	box-shadow: inset 0px 0px 10px 0px rgba(153,204,255,0.45);
    background: rgba(53,124,238,0.6);
    }

	@media screen and (max-width: 480px) {h3{font-size: 1em;}}

h4{
    margin: 3em 0 1em 0;
    padding: 0 0 0.25em 0.5em;
    border-left: solid 10px currentColor;
    border-bottom: solid 2px currentColor;
    color: #9db9f9;
    }

h5{
    margin: 0;
    padding: 0.25em 0.5em;
    font-size: 1em;
    color: #9db9f9;
    border-left: solid 10px currentColor;
    }





/*Collabo*/
.ColaboDetails{max-width: 1480px; margin: auto;}
.ColaboDetails article{padding: 0 1em;}
@media only screen and (max-width: 860px) {.ColaboDetails article{padding: 0 0.5em;}}

.event-info{padding-bottom: 3em;}
.event-info h4 + p{margin: 0 1em 2em;}
.drinkInfo p{font-size: 0.8em; line-height: 1.4em; margin: 0 0 0.75em;}

#Coaster{max-width: 1480px; margin: auto; padding: 0 1em;}



/*STORE*/
.storeList{max-width: 1580px; margin: auto; padding-bottom: 2em;}
.storeList article{margin: 0 1%; border-bottom: dotted 3px rgba(255,255,255,0.5);}

.storeList a{padding: 1.5em 1em 1.25em; display: block;}

.storeList article:hover{background-color: rgba(153,204,255,0.15);}

.storeList p{margin: 0 0 0.25em;}
.storeList p:first-child{font-weight: bold;}


.tag{margin: 0; padding-top: 0.75em; display: flex; flex-wrap: wrap;}
.tag p{
    max-width: 120px;
    flex: 0 1 32%;
    margin: auto 1% 0.5em 0;
    padding: 0.5em;
    border: solid 1px #FFF;
    border-radius: 30px;
    font-size: 0.8em;
    text-align: center;
    }
.tag p:first-child{flex: 0 1 auto; margin: 0; padding: 0.5em 0.5em 0.5em 0; text-align: left; border: none; color: #62d4f5;}

.ex{margin: 0; padding: 1em 0 0.5em 0; font-size: 0.8em; color: #fff799;}

.akb_notes {
	margin: 1.5em 1em;
	padding: 1.5em 1em 0.25em;
	border: double #FFF;
	font-size: 0.9em;
	}

@media only screen and (max-width: 480px) {
    .storeList p{font-size: 0.8em;}
    .tag p{font-size: 0.7em; margin: 0.5em 1% 0.5em 0;}
    .tag p:first-child{max-width: 100%; flex: 0 1 100%;}
    }



/*---footer---*/
footer{
    padding: 3em 1.5em;
	color: #FFF;
	display: block;
	background: rgba(0,0,0,0.85);
    }

	#TOP footer{padding: 15% 1.5em 3em; background: none;}

footer > div{max-width: 1480px; margin: auto;}
#TOP footer > div{max-width: inherit; margin: auto;}
   
    ul.taitoLink{margin: 1em 0 0; padding: 0 0 2em; border-bottom: solid 1px #828282;}
	
	ul.taitoLink li{
		font-size: 1.0em;
		margin-right: 1.0em;
		display: inline-block;
		}
	
	ul.taitoLink a{color: #FFF;}
	ul.taitoLink a:hover{color: #7ecef4;}


footer p:last-child{
	margin-top: 2em;
	font-size: 0.8em;
	color: #FFF;
	text-align: center;
	}

@media only screen and (max-width: 480px) {
    footer{padding: 10% 1.5em 25%;}
    ul.taitoLink li{font-size: 0.9em;}
    }


/*SNS*/
#shareBox {
	width: 100%;
    max-width: 1420px;
    margin: 0 auto;
    padding-bottom: 7em;
	text-align: center;
	position: relative;
	}

	.shareButtons {
		position: absolute;
        top: 0;
		bottom: 0;
		left: calc(45% - 45px);
		display: flex;
		justify-content: space-between;
		height: auto;
		margin: 0px auto;
		padding: 0 0 35px;
		clear: none;
		z-index: 888;
		}

	.shareButtons > div> a {
		display: block;
		width: 45px;
		height: 45px;
        margin: 0 1em;
		background-size: contain;
		background-repeat: no-repeat;
        background-position: center;
		}

	.shareButtons>div.fbBtn a {background-image: url("../images/nobolt_2024/sns_facebook.png");}
	.shareButtons>div.tweetBtn a {background-image: url("../images/nobolt_2024/sns_x.png");}
	.shareButtons>div.lineBtn a {background-image: url("../images/nobolt_2024/sns_line.png");}


@media only screen and (max-width: 860px) {#shareBox {padding-bottom: 8em;} .shareButtons {left: calc(37.5% - 40px);}}
@media only screen and (max-width: 480px) {.shareButtons {left: calc(30% - 40px);}}

