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

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


body{
	margin: 0;
	padding: 0;
	background: linear-gradient(140deg, rgba(242,12,50,1) 0%,rgba(242,12,50,1) 40%,rgba(242,99,12,1) 100%);
	}


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

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: 600px) {
    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;}
    }


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

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

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



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



/*-----NAVI-----*/
.hamburger-morph {
	position: fixed;
	top: 5px;
	right: 5px;
	z-index: 1100;
	width: 100px;
	height: 100px;
	border-radius: 10px;
	padding: 5px;
	border: none;
	cursor: pointer;
	background: white;
	}

	.hamburger-morph__icon {width: 100%; height: 100%;}
	.hamburger-morph__line {
		fill: none;
		stroke: #f20c32;
		stroke-width: 6;
		transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
		}

	.hamburger-morph__line:nth-child(1) {stroke-dasharray: 60 207;}
	.hamburger-morph__line:nth-child(2) {stroke-dasharray: 60 60;}
	.hamburger-morph__line:nth-child(3) {stroke-dasharray: 60 207;}

	.hamburger-morph.active .hamburger-morph__line:nth-child(1) {stroke-dasharray: 90 207; stroke-dashoffset: -134;}
	.hamburger-morph.active .hamburger-morph__line:nth-child(2) {stroke-dasharray: 1 60; stroke-dashoffset: -30;}
	.hamburger-morph.active .hamburger-morph__line:nth-child(3) {stroke-dasharray: 90 207; stroke-dashoffset: -134;}

.nav-morph {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: #f20c32;
	clip-path: circle(0% at calc(100% - 44px) 44px);
	transition: clip-path 0.7s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 1000;
	}

	.nav-morph.active {clip-path: circle(150% at calc(100% - 44px) 44px);}

	.nav-morph__wrapper {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 100%;
		}

	.nav-morph__list {
		margin: 0;
		padding: 0;
		list-style: none;
		text-align: left;
		}

	.nav-morph__item {
		margin: 1.5em 0;
		opacity: 0;
		transform: translateY(30px);
		transition: opacity 0.4s ease, transform 0.4s ease;
		}

	.nav-morph.active .nav-morph__item {opacity: 1; transform: translateY(0);}
	.nav-morph.active .nav-morph__item:nth-child(1) { transition-delay: 0.3s; }
	.nav-morph.active .nav-morph__item:nth-child(2) { transition-delay: 0.4s; }
	.nav-morph.active .nav-morph__item:nth-child(3) { transition-delay: 0.5s; }
	.nav-morph.active .nav-morph__item:nth-child(4) { transition-delay: 0.6s; }
	
	.nav-morph__link {
		position: relative;
		display: inline-block;
		margin: 0;
		padding: 0;
		font-size: 1.5em;
		text-decoration: none;
		overflow: hidden;
		display: block;
		}

	.nav-morph__text, .nav-morph__hover {display: block; transition: transform 0.3s ease; color: white;}

	.nav-morph__hover {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		font-size: 0.8em;
		}

	.nav-morph__link:hover{color: white;}
	.nav-morph__link:hover .nav-morph__text {transform: translateY(-100%);}
	.nav-morph__link:hover .nav-morph__hover {transform: translateY(-100%);}

.nav-morph__text{font-family: "Orbitron", serif; font-weight: 500; padding: 5px 0;}
.nav-morph__hover{font-family: "Noto Sans JP", serif; font-weight: 600;}


@media only screen and (max-width: 1000px) {
	.hamburger-morph {width: 70px; height: 70px; top: 10px; right: 10px;}
	}



/*-----Main Visual-----*/
main{width: 100%; overflow: hidden;}

#mainVisual{
	padding: 1.5em 1.5em 8%;
	background-color: white;
	position: relative;
	}

#mainVisual > div:first-child{
    width: 100%;
	margin: auto;
    aspect-ratio: 16 / 9;
    position: relative;
    }

.photo {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 0;
	border-top-left-radius: 30px;
	border-bottom-right-radius: 30px;
	background-repeat: no-repeat;
    animation: image-switch-animation 14s infinite;
    }

	.p_01 {background-image: url(../images/event/ax2026_mainVisual_booth.webp); background-size: cover; background-position: center center;}
	.p_02 {background-image: url("../images/event/ax2026_mainVisual_tpb_red.webp"); background-color: #e60012; background-size: 70%; background-position: top 32.5% center;}

@keyframes image-switch-animation {
    0%{ opacity: 0;}
    8%{ opacity: 1;}
    50%{ opacity: 1;}
    58%{ opacity: 0;}
    100%{ opacity: 0;}
    }

.photo:nth-of-type(2) {animation-delay: 7s;}


@media screen and (max-width: 1000px) {
	#mainVisual > div:first-child{aspect-ratio: 4 / 5;}
	.p_01 {background-position: left 12% center;}
	.p_02 {background-size: 100%!important; background-position: center center;}
	}



/*Logo*/
.Logo{
	width: 40%;
	max-width: 700px;
	padding: 2%;
	background-color: white;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
	position: absolute;
	left: 0;
	bottom: 7.5%;
	}

	.Logo > div{padding: 2%;}
	.Logo > div:last-child{border-top: solid 1px rgba(0,0,0,0.25);}

h1, h2.TAITO {
	margin: 0.5em 0;
	height: 0;
	background-repeat: no-repeat;
	background-size: contain !important;
	overflow: hidden;
	display: block;
	background-position: center;
	}

h1{padding-top: 32%; background-image: url("../images/event/ax2026_mainVisual_logo.webp");}
.JP h2.TAITO{padding-top: 18%; background-image: url("../images/event/ax2026_mainVisual_taito.webp");}
.EN h2.TAITO{padding-top: 15%; background-image: url("../images/event/ax2026_mainVisual_taitoEN.webp");}

@media screen and (max-width: 1000px) {.Logo{width: 50%;}}
@media screen and (max-width: 500px) {.Logo{bottom: 10.5%;}}


/*Language*/
.lang{width: 200px; margin: 0 1em 0 auto; padding: 1em; display: flex;}
.lang p{flex: 1; margin: 1em;}
.lang p > a{
	width: 70px;
	margin: auto;
  	padding: 1.15em 1em;
	text-align: center;
	color: #f20c32;
	border: solid 3px #f20c32;
	border-radius: 10px;
	font-weight: 500;
	display: block;
	font-family: "Orbitron", serif;
	}


.lang p > a:hover{color: #FFF; font-weight: 700; background: #f20c32;}
.EN .lang p:first-child > a{color: #FFF; font-weight: 700; background: #f20c32;}
.JP .lang p:last-child > a{color: #FFF; font-weight: 700; background: #f20c32;}


@media screen and (max-width: 500px) {
	.lang{width: 170px;}
	.lang p{flex: 1; margin: 1em 0.5em;}
	.lang p > a{width: 60px;}
	}

@media screen and (max-width: 400px) {
	.lang{width: 150px; margin: 0 0 0 auto;}
	.lang p > a{width: 50px; padding: 1em; font-size: 0.8em;}
	}



/*-----Main Content-----*/
.mainContents{max-width: 1580px; margin: auto;}


.mainContents h2{position: relative; padding-bottom: 2em;}

.mainContents h2 p:first-child{
	margin: 0;
	font-weight: 600;
	font-size: 1.5em;
	color: #1a1a1a;
	text-align: center;
	font-family: "Orbitron", serif;
	}

	.mainContents h2 p:first-child:first-letter {color: #eb0a30;}

.mainContents h2 p:nth-child(2){
	margin: 0 0 1em;
	font-size: 0.7em;
	text-align: center;
	font-weight: 400;
	color: #eb0a30;
	font-family: "Dela Gothic One", sans-serif;
	}

.mainContents h2::after {
	content: '';
	position: absolute;
	bottom: 1.5em;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 8px 0 8px;
	border-color: #eb0a30 rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0);
	}


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


h3{
	padding: 0.5em 0;
	font-size: 1.375em;
	font-weight: 400;
	border-bottom: solid 2px #4e4c4c;
	position: relative;
	}

h3:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 2px #eb0a30;
	bottom: -2px;
	width: 30%;
	}

.JP h3{font-family: "Dela Gothic One", sans-serif;}
.EN h3{font-family: "Orbitron", serif; font-weight: 500;}
@media only screen and (max-width: 1000px) {h3{margin-top: 0; padding: 0 0 0.5em;}}


/*Block*/
.flexBox, .LinkList{display: flex;}
#Booth .flexBox{padding-bottom: 3em;}

.block02 > div, .block02 > p{flex: 1; padding: 1em;}

@media only screen and (max-width: 1000px) {
	.flexBox{display: block;}
	.LinkList{padding: 3em 1em 0; display: block;}
	}
	
	
/*List*/
ul.list{margin: 0; padding: 0; list-style: none;}
ul.list li{margin: 0; padding: 0 0.5em 0.5em 1em;}
ul.list li:before{color:#eb0a30; content:"●"; font-size: 0.65em; margin-top: -1em; margin-left: -1em; margin-right: 1em;}

ul.list li ul{margin: 0.5em; padding: 0; list-style: none;}
ul.list li ul > li:before{color:#7bdefa; content:"○"; font-size: 0.65em; margin-left: -1em; margin-right: 0.5em; font-weight: 800;}


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

.LinkButton a {
    max-width: 400px;
    margin: 0;
    padding: 1em;
    background: #0a7eeb;
    border-radius: 30px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    font-size: 0.9em;
	line-height: 1.5em;
    color: white;
    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: #0a4aeb; color:white;}
.LinkButton a:hover:after {right: 1rem;}

#Overview .LinkButton a{width: 100%; max-width: inherit;}
@media only screen and (max-width: 1000px) {#Overview .LinkButton{padding: 0 0 0.5em;}}



/*--TAITO PLAY BASE--*/
#TPB{
    margin: 40px 0;
    position: relative;
    padding: 0.5em 3em;
    border-top: solid 1px white;
    border-bottom: solid 1px white;
	}

#TPB:before, #TPB:after{
    content: '';
    position: absolute;
    top: -40px;
    width: 1px;
    height: calc(100% + 80px);
    background-color: white;
	}

	#TPB:before {left: 40px;}
	#TPB:after {right: 40px;}

#TPB div{max-width: 900px; margin: auto; padding: 3em 1em;}

#TPB p{
	font-size: 0.8em;
	color: white;
	text-align: center;
	}

	#TPB p:first-child{width: 70%; margin: auto; padding-bottom: 2em;}/*image*/


.message{max-width:1480px; margin: auto; padding: 1.5em 0.75em;}


/*--Booth Activities--*/
#Booth{
	margin: 1em 1em 10em 0;
	padding: 3em 1em 5em;
	border: solid 5px black;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
	background-color: white;
	box-shadow: 0 10px 0px 8px rgba(164, 29, 33, 1);
	}

.Bub{max-width: 300px; margin: 1.5em auto;}

.OfficialLink, .OfficialLink_tablet{width: 100%; max-width: 500px; display: grid; grid-template-columns: 1fr 60px 60px;}
.OfficialLink p, .OfficialLink_tablet p{margin-right: 1em;}

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

	div.xBtn a {background-image: url("https://www.taito.co.jp/Content/images/sns_ico_02_tw.svg");}
	div.instaBtn a {background-image:url("../images/event/instagram_icon.webp");}

.OfficialLink_tablet{display: none!important;}
@media only screen and (max-width: 1000px) {
	.OfficialLink{display: none!important;}
	.OfficialLink_tablet{display: grid!important; margin: auto;}
	.Bub{margin: 2.5em auto;}
	}

@media only screen and (max-width: 500px) {.Bub{max-width: 200px;}}
@media only screen and (max-width: 400px) {
	.OfficialLink_tablet{grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr);}
	.OfficialLink_tablet .LinkButton {margin-right: 0; grid-column: span 2 / span 2;}
	.xBtn, .instaBtn{grid-row-start: 2;}
	.xBtn a{margin: 0.5em 1em 0 auto!important;}
	.instaBtn a{margin: 0.5em auto 0 1em!important;}
	}
	

/*--Campaign Information--*/
#Campaign{
	margin: 1em 0 10em 1em;
	padding: 3em 1em 5em;
	border: solid 5px black;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;
	background-color: white;
	box-shadow: 0 10px 0px 8px rgba(164, 29, 33, 1);
	}

#Campaign div{max-width: 900px; margin: auto;}
.cp_poster{max-width: 600px; margin: 0 auto 2em; padding-top: 2em;}


/*--Overview--*/
#Overview{
	margin: 1em;
	padding: 3em 1em 5em;
	border: solid 5px black;
	border-radius: 20px;
	background-color: white;
	box-shadow: -7px 10px 0px 0px rgba(164, 29, 33, 1), 7px 10px 0px 0px rgba(164, 29, 33, 1);
	}

.AX_info{display: flex;}
.AX_info > div:first-child{flex: 1;}
.AX_info > div:last-child{flex: 2;}

.AX_info > div:first-child p{text-align: center;}

.info_details {
	width: 96%;
	margin: 1em auto;
	padding: 0;
	display: grid;
	grid-template-columns: 220px 1fr;
	border-bottom: none;
	}

.info_details dt, .info_details dd {
	margin: 0;
	padding: 1.5em;
	border-bottom: 1px solid #ccc;
	}
		
.info_details dt {font-weight: bold;}


@media (max-width: 1000px) {
	.AX_info{display: block;}
	.AX_info > div:first-child p{width: 60%; max-width: 500px; margin: auto;}
	.info_details {grid-template-columns: 1fr;}
	.info_details dt {padding: 1.5em 1.5em 0; border-bottom: none;}
	}


/*-----footer-----*/
footer{
    padding: 10% 1.5em 6em;
	color: white;
	display: block;
	background-color: #000;
    }

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

   
    ul.taitoLink{margin: 1em 0 0; padding: 0 0 2em; border-bottom: solid 1px rgba(255,255,255,0.5);}
	
	ul.taitoLink li{
		font-size: 1.0em;
		margin-right: 1.0em;
		display: inline-block;
		}
	
	ul.taitoLink a{color: white;}
	ul.taitoLink a:hover{color: #7ecef4;}


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

@media only screen and (max-width: 540px) {footer{padding: 30% 1.5em 25%;} ul.taitoLink li{font-size: 0.9em;}}
@media only screen and (max-width: 380px) {footer{padding: 40% 1.5em 25%;} 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: 30% 0 30%;} .mainVisual #shareBox{display: none;} .shareButtons {left: calc(44% - 75px);}}
@media only screen and (max-width: 540px) {#shareBox {margin: 40% 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% - 30px);}}
@media only screen and (max-width: 380px) {.shareButtons {left: calc(30% - 55px);}}

