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

@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho&display=swap');


html {scroll-behavior: smooth;}

body{
	margin: 0;
	padding: 0;
    font-family: 'Noto Sans JP', sans-serif;
    background: linear-gradient(to bottom,  rgba(223,0,36,1) 0%,rgba(178,0,29,1) 100%);
    }


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

img{max-width: 100%;}

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

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


@media only screen and (max-width: 540px) {
    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%;
    background: linear-gradient(rgba(0,0,0,1) 0%, rgba(49,49,49,1) 100%);
    position: fixed;
    top: 0;
    z-index: 999;
    }

header ul{padding: 0;}
header ul,header li{list-style: none;}

#nav {
	width: 100%;
	max-width: 1480px;
	margin: auto;
	}

#nav > a {display: none;}
#nav li {position: relative;}
#nav li a {
	font-weight: 700;
	letter-spacing: 1px;
	font-family: "Lora", serif;
	display: block;
	}

#nav li a p{margin: 0; font-size: 0.5em; color: #FFF; letter-spacing: 2px;}


/*--first level--*/
#nav .small{font-size: 0.8em!important;}

#nav > ul {
    margin: 0;
    padding: 0;
	display: flex;
	align-items: center;
	}

#nav > ul > li {flex: 0 1 14.2%;}

#nav > ul > li > a {
	padding: 0.7em;
	font-size: 1.2em;
	line-height: 1.5em;
	color: #d19c54;
	text-align: center;
    display: block;
	}

#nav > ul > li > a:hover {color: #FFF; background: rgba(209,156,84,0.75);}



@media only screen and (max-width: 860px) {
header{background: none; top: 0; bottom: auto;}

#nav li{line-height: 1.2em;}

#nav > a {
	width: 3.125em;
	height: 3.125em;
    margin: 0 0 0 auto;
	text-align: left;
	text-indent: -9999px;
	background-color: #000;
	position: relative;
	z-index: 999;
	}
	
#nav > a:before, #nav > a:after {
	position: absolute;
	border: 2px solid #fff;
	top: 35%;
	left: 25%;
	right: 25%;
	content: '';
	}
	
#nav > a:after {top: 60%;}
#nav:not( :target ) > a:first-of-type, #nav:target > a:last-of-type {display: block;}

#nav li a p{display: inline-block; padding-left: 10px;}

	
/*first level*/
#nav > ul {
	margin-top: -3.125em;
	padding-top: 8vh;
	height: 104.125vh;
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	background: rgba(0,0,0,0.9);
	}
	
#nav:target > ul {display: block;}

#nav > ul > li {width: 94%; margin: auto; border-bottom: dotted 2px #626262;}
#nav > ul > li:last-child {border-bottom: none;}
	
#nav > ul > li > a {
	font-size: 1.6em;
	height: auto;
	text-align: left;
	padding: 2.5% 0.5em;
	}
    
#nav > ul > li:not( :last-child ) > a {border-right: none;}

}

@media only screen and (max-width: 540px) {#nav > ul {padding-top: 8vh;}}


/*----------main----------*/
main{position: relative;}

#TOP{
	padding-top: 90%;
    background-image: url("../images/event/sagaTS2025_mainvisual_part1_bg.webp");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
	margin-top: 60px;
    }

	.Part2{background-image: url("../images/event/sagaTS2025_mainvisual_part2_bg.webp")!important;}

#Category{
	margin-top: 100px;
	padding-top: 35%;
    background-image: url("../images/event/sagaTS2025_category_bg.webp");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: contain;
   }

@media only screen and (max-width: 860px) {#TOP{margin-top: 0;} #Category{margin-top: 30px;}}
@media only screen and (max-width: 540px) {#Category{background-size: 98%;}  #Category{padding-top: 38%; margin-top: 40px;}}


/*MAIN VISUAL*/
#TOP section:first-child{padding: 1em;}

.mainVisual div{width: 60%; max-width: 1000px; margin: auto;}
#Category .mainVisual div{width: 65%; margin: auto; padding-top: 7%; padding-bottom: 7%;}

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

    #Category .mainVisual h1{
        padding-top: 24%;
        background: url("../images/event/sagaTS2024_category_h1.png") no-repeat;
        background-position: top center;
        }

.notes_common{
    width: 90%;
    max-width: 1280px;
    margin: 3em auto;
    padding: 1.5em 7%;
    border-radius: 20px;
    background: #fafaef;
    box-shadow: inset 0px 0px 25px 3px rgba(0, 0, 0, 0.4);
    }

    .notes_common p:last-child{width: 80%;}
    #Category .notes_common{margin: 0 auto; padding: 0; background: none; box-shadow: none;}
    #Category .notes_common p{width: 60%; margin: 2% auto; text-align: center;}

@media only screen and (max-width: 860px) {
	.mainVisual div{width: 80%;}
    #Category .mainVisual div{width: 70%;}
    }

@media only screen and (max-width: 540px) {
	.mainVisual div{width: 85%;}
    .notes_common{width: 95%; margin: 1.5em auto 3em; padding: 0.5em 6%;}
    #Category .mainVisual div{width: 70%;}
    #Category .notes_common p{margin: 0 auto;}
    }


/*Category*/
#eventDetails{max-width: 1480px; margin: auto; padding: 0 1em 10%;}
#eventDetails > div{
    padding: 1em;
    border: solid 2px #FFF;
	border-radius: 10px;
    background: rgba(0,0,0,0.75);
    }

#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/sagaTS2025_foods_h2.webp");}
	.CAMPAIGN h2{background-image: url("../images/event/sagaTS2025_campaign_h2.webp");}
    .goods h2{background-image: url("../images/event/sagaTS2025_goods_h2.webp");}
    .prize h2{background-image: url("../images/event/sagaTS2025_prize_h2.webp");}
    .online h2{background-image: url("../images/event/sagaTS2025_online_h2.webp");}
    .saga_event h2{background-image: url("../images/event/sagaTS2025_event_h2.webp");}
    #TS_SAGA h2{background-image: url("../images/event/sagaTS2025_store_h2.webp");}


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

@media only screen and (max-width: 860px) {#eventDetails{padding: 0 1em 15%;} #eventDetails h2{padding-top: 70px;}}
@media only screen and (max-width: 540px) {#eventDetails{padding: 0 1em 25%;} #eventDetails h2{margin: 1.5em 0 0.5em; padding-top: 15%;}}
    
    
#eventDetails h3{
    padding: 0.5em 1em;
	border-radius: 5px;
	font-size: 1.1em;
    color: #FFF;
    background-color: #40342d;
    }
    
    #eventDetails h3 br{display: none;}
    #seal h3{margin-top: 5em;}
    .LinkButton + h3{margin: 3em 0 0;}
    article + h3{margin: 3em 0 0;}

	@media only screen and (max-width: 860px) {#eventDetails h3{padding: 0.65em; font-size: 1em;}}


#eventDetails h4{
    margin: 4.5em 0 1.5em;
    padding: 0.15em 0.65em 0.35em;
    font-size: 1em;
    color: #FFF;
    border-left: solid 10px #d19c54;
    border-bottom: solid 2px #d19c54;
    }

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

	@media only screen and (max-width: 540px) {#eventDetails h4{line-height: 1.3em; padding: 0.15em 0.65em 0.35em;}}


#eventDetails h5{
    margin: 0 0 1em;
    padding: 0.25em 0.5em;
    font-size: 1em;
    color: #FFF;
    border-bottom: dotted 3px rgba(209,156,84,0.75);
    }

    #eventDetails h5.mark{
        margin: 0 0 1em;
        padding: 0.25em 0.5em 0.45em 2em;
        background: url("../images/event/sagaTS2024_h5_mark.png") no-repeat left top;
        background-size: 22px auto;
        }
    
    #Drink #eventDetails h5.mark br{display: block;}
    .P_02 h5.mark{padding: 0.25em 0.5em 2em 2em!important;}
    .P_02 div:nth-child(3) h5.mark{padding: 0.25em 0.5em 0.45em 2em!important;}
    
	@media only screen and (max-width: 860px) {#eventDetails h5{font-size: 0.9em;} .collabo h5 br{display: none;} .P_02 h5.mark{padding: 0.25em 0.5em 0.45em 2em!important;}}
	@media only screen and (max-width: 540px) {.part01 div:first-child h5.mark{padding: 0.25em 0.5em 1.8em 2em!important;}}


#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;}

.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; max-width: 500px;}
.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(255,255,255,0.5);}

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

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

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

.akb_notes{margin: 1.5em 1em; padding: 1em 1em 0.5em; border: double #FFF;}
.akb_notes p, .akb_notes li{font-size: 0.9em;}
.akb_notes p:first-child{font-weight: normal;}

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

@media only screen and (max-width: 540px) {
    .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;}

.LinkButton a {
    max-width: 400px;
    margin: 0;
    padding: 1em;
    background: #d33737;
    border-radius: 30px;
    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: #d42020; color:#FFF;}
.LinkButton a:hover:after {right: 1rem;}

#TS_SAGA .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;}


@media only screen and (max-width: 540px) {.LinkButton a {padding: 1em 3.5em 1em 1.75em;}}


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

.block02 div{flex: 0 1 48%; margin: 0 auto 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;}

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

@media only screen and (max-width: 540px) {
    .block04 div{flex: 0 1 94%;}
	.Drink .block04 div{flex: 0 1 48%; margin: 0 auto 2em;}
    .block05 div{flex: 0 1 49%; margin: 0 0.5% 0.25em;}
    .block07 div{margin: 0 0.5% 0.25em;}
    }
    

/*Food Drink*/
p.drinkInfo{font-size: 0.8em; line-height: 1.4em; margin: 0 0 0.75em;}
.crepe{text-align: center;}


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

	.date{margin: 1.5em 1em 2em 1.5em; padding-left: 11em;}

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

.price span:after, .date 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 #b38546;
	}


/*Prize*/
#Sign_CP, #seal{padding-top: 100px; margin-top: -100px;}
#Prize_str{padding-bottom: 3em;}
#Sign_CP .ColaboDetails, #Prize_str, #seal{padding-top: 2em;}


/*Online*/
table{
    width: 98%;
    min-width: auto;
    margin: 1em auto;
    border: solid 1px #727171;
    text-align: center;
    border-spacing: 0;
    }

th{
    width: 25%;
    padding: 0.65em;
    color: #FFF;
    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: #FFF;
    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: 3em 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: #7ecef4;}


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

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


/*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%;} .mainVisual #shareBox{display: none;} .shareButtons {left: calc(44% - 75px);}}
@media only screen and (max-width: 540px) {#shareBox {margin: 30% 0 50%;} .shareButtons {left: calc(40% - 75px);}}

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

