﻿@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

html {scroll-behavior: smooth;}

body{
	margin: 0;
	padding: 0;
    font-family: 'Noto Sans JP', sans-serif;
	background: linear-gradient(to bottom, rgba(228,215,209,1) 0%,rgba(228,215,209,1) 55%,rgba(141,197,168,1) 100%);
    }


/*---text---*/
p,li{
	font-size: 1em;
	line-height: 1.6em;
	color: #727171;
	}

img{max-width: 100%;}

.small{font-size: 0.9em; line-height: 1.4em!important;}
.center{text-align: center;}
.bold{font-weight: 600;}
.red{color: #e00016;}

br.on{display: none;}
br.off{display: block;}


@media only screen and (max-width: 480px) {
    p,li{font-size: 0.9em; line-height: 1.6em;}
    br.on{display: block;}
    br.off{display: none;}
    .small{font-size: 0.8em; line-height: 1.3em;}
    p > .small{line-height: 1.3em!important;}
    .center{text-align: left;}
    }
    

/*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);
  	}
}


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

a{outline: none; text-decoration: none;}

p > a, li > a{color: #d1e7fc;}
p > a:hover, li > a:hover{color: #fff;}


/*--------navi--------*/
header{
    width: 100%;
    margin: 0;
    padding: 0;
    border-top: solid 5px;
	border-image: linear-gradient(to right, rgba(228,215,209,1) 0%, rgba(141,197,168,1) 100%) 1;
    display: flex;
    background: #FFF;
    position: fixed;
    top: 0;
    z-index: 9989;
    }

.title {
    width: 280px;
    margin: 0;
    padding: 0;
    text-align: center;
    background: linear-gradient(to bottom, rgba(228,215,209,1) 0%, rgba(141,197,168,1) 100%);
    border-bottom-right-radius: 20px;
    }

.title a{padding: 0.5em 0.25em; display: block;}
.title a > img{width: 90%; height: auto;}


.gNav {width: 100%; display: flex; flex-wrap: wrap;}
.LinkBlock{display: flex; flex-wrap: wrap; justify-content: flex-end;}
.gNav .gNav-menu{width: 80%; margin: auto;}
.LinkBlock{width: auto;}


.navi .btn-gNav {
    position: fixed;
    top: 8px;
    right: 20px;
    width: 40px;
    height: 40px;
    z-index: 12;
    box-sizing: border-box;
    cursor: pointer;
    transition: all 400ms;
    }

.navi .btn-gNav span {
    position: absolute;
    width: 100%;
    height: 4px;
    background: #64bd8f;
    border-radius: 10px;
    transition: all 400ms;
    }

.navi .btn-gNav span:nth-child(1) {top: 0;}
.navi .btn-gNav span:nth-child(2) {top: 15px;}
.navi .btn-gNav span:nth-child(3) {top: 30px;}

.navi .btn-gNav.open span:nth-child(1) {
    background: #ffffff;
    top: 6px;
    transform: rotate(-45deg);
    }

.navi .btn-gNav.open span:nth-child(2),
.navi .btn-gNav.open span:nth-child(3) {
    top: 6px;
    background: #ffffff;
    transform: rotate(45deg);
    }

.btn-gNav {display: none;}

.gNav .gNav-menu {display: flex; align-items: center;}

.gNav .gNav-menu li {
    flex: 0 1 16%;
    padding: 0;
    border-left: solid 2px #64bd8f;
    text-align: center;
    }

    .gNav .gNav-menu li:first-child {border-left: none;}

.gNav .gNav-menu a{
    padding: 0.25em 0 0.35em;
    color: #64bd8f;
    font-size: 0.9em;
    font-weight: bold;
    display: block;
    }

    .gNav .gNav-menu a:hover{color: #FFF; background: #64bd8f;}



@media screen and (max-width: 1100px) {
	.title a > img{width: 70%; height: auto;}

	.btn-gNav {display: block;}
    
    .gNav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.95);
        font-size: 16px;
        box-sizing: border-box;
        z-index: 1;
        padding-top: 70px;
        transition: .3s;
        }
    

    .gNav.open {right: 0;}

    .gNav .gNav-menu {
        padding: 0;
        width: 100%;
        height: 100%;
        display: block;
        flex-direction: column;
        text-align: center;
        }

    .gNav .gNav-menu li {
        width: 86%;
        margin: auto;
        border-left: none;
        border-bottom: dotted 2px #64bd8f;
        }
    
    .gNav .gNav-menu a{padding: 1.5em 0;}
    
    .LinkBlock{display: none;}
    
    }



/*----------main----------*/
main{margin: 0; padding: 0 1em;}
main > section{max-width: 1480px; margin: auto; padding: 0; border-radius: 10px; background: #FFF;}
main#TOP > section:first-child{max-width: inherit; background: none;}

#TOP{
    background-image: url("../images/event/TSNIKKE202511_mainVisual.webp");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
    }

#Category{
    background-image: url("../images/event/TSNIKKE202511_category_bg.webp");
    background-repeat: no-repeat;
    background-position: top 70px center;
    background-size: contain;
    }

@media only screen and (max-width: 1100px) {#TOP{background-position: top 50px center;}}
@media only screen and (max-width: 480px) {#TOP{background-size: 105%;} #Category{background-position: top 74px center;}}


/*MAIN VISUAL*/
.mainVisual div{padding-top: 38%; padding-bottom: 3em;}
#Category{padding-top: 40%;}

.mainVisual h1{
	width: 100%;
	height: 0;
	margin: 0;
	padding-top: 22%;
	background: url("../images/event/TSNIKKE202511_mainVisual_h1.webp") no-repeat;
	background-size: contain!important;
	overflow: hidden;
	display: inline-block;
	background-position: top center;
	}

	.mainVisual h1 + p{width: 80%; max-width: 900px; margin: 2em auto;}

@media only screen and (max-width: 1100px) {.mainVisual div{padding-top: 52.5%;} .mainVisual h1 + p{width: 65%;}}
@media only screen and (max-width: 860px) {#Category{padding-top: 55%;}}
@media only screen and (max-width: 480px) {.mainVisual div{padding-top: 65%; padding-bottom: 1.5em;} .mainVisual h1{padding-top: 25%;} .mainVisual h1 + p{width: 70%; margin: 0 auto;}}


/*Category*/
#eventDetails{padding: 0 1em;}
#eventDetails > div{padding: 1em 0;}

#eventDetails h2{
	width: 100%;
	height: 0;
	margin: 1em 0 0.5em;
	padding-top: 70px;
	background-size: contain!important;
	overflow: hidden;
	display: inline-block;
    background-repeat: no-repeat;
	background-position: top center;
	}

    .collabo h2{background-image: url("../images/event/TSNIKKE202511_foods_h2.webp");}
    .goods h2{background-image: url("../images/event/TSNIKKE202511_goods_h2.webp");}
    .prize h2{background-image: url("../images/event/TSNIKKE202511_prize_h2.webp");}
    .online h2{background-image: url("../images/event/TSNIKKE202511_online_h2.webp");}
    .special h2{background-image: url("../images/event/TSNIKKE202511_special_h2.webp");}
    #TS_NIKKE h2{background-image: url("../images/event/TSNIKKE202511_store_h2.webp");}
    #Campaign h2{background-image: url("../images/event/TSNIKKE202511_campaign_h2.webp");}


    h2 + p{margin: 1em auto 2em; text-align: center;}

@media only screen and (max-width: 860px) {#eventDetails{padding: 0 1em;} #eventDetails h2{padding-top: 70px;}}
@media only screen and (max-width: 480px) {#eventDetails{padding: 0 1em;} #eventDetails h2{margin: 0.5em 0 0; padding-top: 15%;}}
    
    
#eventDetails h3{
    padding: 0.35em 0.5em 0.35em 2.5em;
    color: #FFF;
	border-radius: 8px;
    background-image: url("../images/event/kurowizTS2021_h3_mark.png");
    background-repeat: no-repeat;
    background-size: auto;
    background-position: left 10px center;
    background-color: #64bd8f;
    }
    
    #eventDetails h3 br{display: none;}
    #seal h3,#ensei h3{margin-top: 5em;}
    .LinkButton + h3{margin: 3em 0 0;}
    article + h3{margin: 3em 0 0;}

@media only screen and (max-width: 480px) {
    #eventDetails h3{padding: 0.35em 0.5em 0.5em 35px; font-size: 0.85em; line-height: 1.5em; background-size: 20px auto; background-position: left 10px top 11px;}
    #eventDetails h3 br{display: block;}
    }


#eventDetails h4{
    margin: 2.5em 0 1em;
    padding: 0.3em 0.65em 0.5em;
    font-size: 1em;
    color: #64bd8f;
    border-left: solid 12px #64bd8f;
    border-bottom: solid 2px #64bd8f;
    }

    #eventDetails h4 + p{margin-left: 1.5em;}
    #eventDetails .FlexBox h4{margin: 0 0 1em!important;}


@media only screen and (max-width: 480px) {
	#eventDetails h4{font-size: 0.85em; line-height: 1.3em; padding: 0.15em 0.65em 0.35em;}
	#eventDetails h4 br{display: none;}
	}


#eventDetails h5{
    margin: 0 0 1em;
    padding: 0.15em 0.5em 0.5em 0.75em;
    font-size: 1em;
    color: #727171;
    border-left: 4mm ridge rgba(100,189,143,0.5);
	border-bottom: solid 1px #a0beaf;
    }

#Campaign h5 + p{text-align: center;}

@media only screen and (max-width: 860px) {#eventDetails h5{font-size: 0.9em;}}
@media only screen and (max-width: 480px) {#eventDetails h5{font-size: 0.85em;} #eventDetails h5 br{display: none;}}

#eventDetails h6{
    margin: -0.5em 0 1em;
    padding: 0;
    font-size: 0.8em;
    color: #FFF;
    text-align: right;
    }

#eventDetails ul{margin: 1em 1.5em 0 2em; padding: 0;}
#eventDetails li{margin-bottom: 0.5em;}
#eventDetails li > ul{margin: 0.5em 1em 1em 1.25em; padding: 0;}

.notes{padding: 1em;}
h4 + .notes{padding: 0 1em 1em;}
.notes p{font-size: 0.8em; margin: 0 0 0.25em;}

.ann{font-size: 0.8em; margin: 0 1.5em;}

.ColaboDetails > article, #ensei article{padding: 0 1em;}

@media only screen and (max-width: 860px) {.ColaboDetails > article{padding: 0 0.5em;}}

.ticket{margin: 1.5em 1.5em 3em;}
.online_date{padding: 0 1em 3em;}



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

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

.storeList article:hover{background-color: rgba(100,189,143,0.1);}

.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;
	color: #64bd8f;
    border: solid 1px ;
    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: #64bd8f;}
#SPECIAL .tag p{max-width: 180px;}

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

@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%;}
    }

@media only screen and (max-width: 380px) {.tag p{font-size: 0.65em;}}

/*LinkButton*/
.LinkButton{margin: 1em 0 5em;}

.LinkButton a {
    max-width: 400px;
    margin: 0;
    padding: 6px 40px 6px 25px;
    background: #f36eb3;
    border: solid 2px #FFF;
    border-radius: 25px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    font-size: 0.9em;
	line-height: 1.5em;
    color: #FFF;
    transition: 0.3s ease-in-out;
    font-weight: bold;
    }

.LinkButton a:after {
    content: "";
    position: absolute;
    top: 50%;
    bottom: 0;
    right: 1.5rem;
    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: #f348a1; color:#FFF;}
.LinkButton a:hover:after {right: 1rem;}

#TS_NIKKE .LinkButton a,.file a{max-width: 860px; margin: auto;}
.more a{margin: auto;}

.soon a{margin: 1em auto; color: #b99faa; background: none; border: solid 2px #b99faa;}
.soon a:hover{color: #b99faa; background: none;}
.soon a:after{border-top: none; border-right: none;}


/*BOX*/
.FlexBox, .Cookie{display: flex; flex-wrap: wrap;}
.Drink .FlexBox{padding-top: 2em;}
.real{align-items: center; font-family: 'Noto Serif JP';}
.block04{padding-bottom: 2em;}

.block02 div,.block02 p{flex: 0 1 48%; margin: 0 1% 1em;}
.block03 div,.block03 p{flex: 0 1 32%; margin: 0 auto 1em;}
#Prize .block03 div,#Prize .block03 p{flex: 0 1 30%; margin: 0 auto 1em;}
.online .block03 div{flex: 0 1 30%; margin: 0 auto 2em;}
.block04 div,.block04 p{flex: 0 1 23%; margin: 0 auto;}
.block05 div,.block05 p{flex: 0 1 19%; margin: 0 auto 0.75em;}
.block07 div,.block07 p{flex: 0 1 14%; margin: 0 auto 0.25em;}
.block10 div,.block10 p{flex: 0 1 9%; margin: 0 auto 0.25em;}


@media only screen and (max-width: 860px) {
    .block02 div,.block02 p{flex: 0 1 100%; margin: 0 auto 2em;}
	.block03 div,.block03 p{flex: 0 1 48%; margin: 0 auto 2em;}
	#Prize .block03 div,#Prize .block03 p{flex: 0 1 45%; margin: 0 auto 2em;}
	.online .block03 div{flex: 0 1 45%; margin: 0 2.5% 2em;}
    .block04 div,.block04 p{flex: 0 1 48%; margin: 0 auto 2em;}
    .block05 div,.block05 p{flex: 0 1 24%; margin: 0 0.5% 0.35em;}
    .block07 div,.block07 p{flex: 0 1 24%; margin: 0 0.5% 0.45em;}
	.block10 div,.block10 p{flex: 0 1 24%; margin: 0 auto 0.25em;}
    }

@media only screen and (max-width: 480px) {
	#Prize .block03 div,#Prize .block03 p{flex: 0 1 96%;}
	.online .block03 div{flex: 0 1 96%; margin: 0 auto 2em;}
	.block04 div,.block04 p{flex: 0 1 96%;}
    .block05 div,.block05 p{flex: 0 1 49%; margin: 0 0.5% 0.25em;}
    .block07 div,.block07 p{margin: 0 0.5% 0.25em;}
    }
    

/*Food Drink*/
.crepe{text-align: center;}
@media only screen and (max-width: 860px) {}


/*Campaign*/
#Campaign{padding: 5em 0 1em!important;}
#postCard{padding-top: 7em;}


/*goods*/
.price {
  	position: relative;
  	padding-left: 8.5em;
	font-weight: 600;
	}

.price span {
	position: absolute;
	font-size: 0.8em;
	top: 0;
  	left: 0;
  	padding: 0 2rem;
  	color: #FFF;
  	background: #64bd8f;
	}

.price span:after {
  	position: absolute;
  	top: calc(50% - 7px);
  	right: -11px;
  	width: 0;
  	height: 0;
  	content: '';
  	border-width: 7px 0 7px 12px;
  	border-style: solid;
  	border-color: transparent transparent transparent #64bd8f;
	}


/*Swiper*/
.card02 {
    .swiper-slide {width: 36rem;}
    .slide-media {padding: 1em 0;}
    
    .swiper-controller {
        display: flex;
        gap: 1.6rem;
        align-items: center;
        justify-content: flex-end;
        margin-top: 3.2rem;
        }
        
    .swiper-pagination {margin-right: auto;}
    }

    @media only screen and (max-width: 480px) {.card02 {.swiper-slide {width: 23rem;}}}
    @media only screen and (max-width: 420px) {.card02 {.swiper-slide {width: 18.5rem;}}}

table{
    width: 98%;
    min-width: auto;
    margin: 1em auto;
    border: solid 1px #727171;
    text-align: center;
    border-spacing: 0;
    background: rgba(255,255,255,0.6);
    }

th{
    width: 25%;
    padding: 0.65em;
    color: #727171;
    border-right: solid 1px #727171;
    border-bottom: solid 1px #727171;
    background: rgba(126,107,90,0.1);
    }

    th br{display: none;}

td{
    padding: 2em 1em;
    color: #727171;
    border-right: solid 1px #727171;
    border-bottom: solid 1px #727171;
    vertical-align: middle;
    }

tr:last-child th{border-bottom: none;}
tr:last-child td{border-bottom: none;}
th:last-child{border-right: none;}
td:last-child{border-right: none;}

@media only screen and (max-width: 480px) {table{font-size: 0.85em;}}



/*---footer---*/
footer{
    padding: 8em 1.5em 6em;
	color: #FFF;
	display: block;
    }

footer > div{
	width: 100%;
	max-width: 1480px;
	margin: auto;
	}

   
    ul.taitoLink{margin: 1em 0 0; padding: 0 0 2em; border-bottom: solid 1px #FFF;}
	
	ul.taitoLink li{
		font-size: 1.0em;
		margin-right: 1.0em;
		display: inline-block;
		}
	
	ul.taitoLink a{color: #FFF;}
	ul.taitoLink a:hover{color: #fffac0;}

footer p:first-child{
	margin-bottom: 4em;
	font-size: 0.8em;
	color: #FFF;
	}

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: 25% 1.5em;}
    ul.taitoLink li{font-size: 0.8em;}
    }


/*SNS*/
#shareBox {
	width: 100%!important;
	max-width: 100%!important;
    margin: 0!important;
    padding-bottom: 10%;
	text-align: center;
	position: relative;
	}

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

    .mainVisual #shareBox {margin-top: 3em;}
    .mainVisual .shareButtons{left: calc(43% - 75px);}

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

	.shareButtons>div.fbBtn a {background-image: url("https://www.taito.co.jp/Content/images/sns_ico_01_fb.svg");}
	.shareButtons>div.tweetBtn a {background-image: url("https://www.taito.co.jp/Content/images/sns_ico_02_tw.svg");}
	.shareButtons>div.lineBtn a {background-image: url("https://www.taito.co.jp/Content/images/sns_ico_03_line.svg");}


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

