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

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

html {scroll-behavior: smooth;}

body{
	margin: 0;
	padding: 0;
    font-family: 'Noto Sans JP', sans-serif;
	background: #000;
    }


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

/*---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 #2d8e6c;
    display: flex;
    background: #000;
    position: fixed;
    top: 0;
    z-index: 9989;
    }

.title {
    width: 280px;
    margin: 0;
    padding: 5px 0 0;
    text-align: center;
    background: linear-gradient(to bottom, rgba(45,142,108,1) 0%,rgba(0,0,0,1) 100%);;
    }

.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 20%;
    padding: 0;
    border-left: solid 2px #1e5b45;;
    text-align: center;
    }

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

.gNav .gNav-menu a{
    padding: 0.25em 0 0.35em;
    color: #2d8e6c;;
    font-size: 1.1em;
    font-weight: bold;
	font-family: "New Tegomin", serif;
    display: block;
    }

    .gNav .gNav-menu a:hover{color: #FFF; background: #1e5b45;;}



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

	.btn-gNav {display: block;}
    
    .gNav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.85);
        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{position: relative;}

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

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

@media only screen and (max-width: 860px) {#Category{margin-top: 90px;}}
@media only screen and (max-width: 540px) {#Category{padding-top: 38%;}}


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

.mainVisual div{width: 70%; margin: auto; padding-bottom: 2em;}
#Category .mainVisual div{width: 65%; margin: auto; padding-top: 7%; padding-bottom: 7%;}

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

.mainVisual p{max-width: 1000px; margin: 1em auto; padding: 1em; text-align: 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 3px rgba(45,142,108,0.5);
	box-shadow: 0px 0px 10px 0px rgba(55,174,132,0.5) ,inset 0px 0px 10px 0px rgba(55,174,132,0.5); 
    }

#eventDetails h2 {
	font-size: 3em;
	font-style: italic;
	letter-spacing: 1px;
	color: #2d8e6c;
	font-family: "New Tegomin", serif;
	text-shadow: -4px 3px 0 #000, -7px 5px 0 #6d1c1e;
	text-align: center;
	}


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

@media only screen and (max-width: 860px) {#eventDetails{padding: 0 1em 15%;}}
@media only screen and (max-width: 540px) {#eventDetails{padding: 0 1em 25%;} #eventDetails h2 {font-size: 2.25em;}}
    
    
#eventDetails h3{
    padding: 0.5em 1em;
	font-size: 1.2em;
    color: #FFF;
	font-family: "New Tegomin", serif;
    background-color: #1e5b45;
    }
    
    #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 #236d53;
    border-bottom: solid 2px #236d53;
    }

    #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(35,109,83,0.75);
    }

	@media only screen and (max-width: 860px) {#eventDetails h5{font-size: 0.9em;} .collabo 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;}

.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(198,0,11,0.18);}

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

.oph{margin-top: 1em; padding: 1em; border-radius: 10px; background: rgba(255,255,255,0.1);}
.oph p{font-size: 0.8em;}
.oph p:first-child{color: #d19c54;}

@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*/
.Box{max-width: 600px; margin: auto;}
.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, .block05 p{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, .block05 p{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, .block05 p{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;
	}


/*postcard*/
#postcard{padding-top: 200px; margin-top: -180px;}


/*Online*/
.online_notes{margin: 1em 1em 3em; padding: 1em; border: double #d19c54;}
.online_notes div{padding: 0 1.5em;}

.online_notes h4{margin: 2.5em 0 1.5em!important;}
.online_notes ol {list-style-position: outside; padding-left: 1.5em;}
.online_notes ol li {color: #FFF;}
.online_notes ol li::marker {color: #d19c54; font-weight: bold;}

@media only screen and (max-width: 480px) {table{font-size: 0.85em;} .online_notes div{padding: 0 0.5em;}}


/*Link*/
.OfficialLink{max-width: 1480px; margin: auto; padding: 2em 1em 10%; display: flex; flex-wrap: wrap;}
.OfficialLink > div{flex: 0 1 30%; margin: 0 auto;}

@media only screen and (max-width: 480px) {.OfficialLink{padding: 2em 1em 20%;}}


/*---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: 12.5em;} .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);}}

