@charset "utf-8";
* {
	position: relative;
	z-index: 20;
}
html {
	font-size: 20px;
}
@media screen and (max-width: 750px) {
	html {
		font-size: calc(100vw / 37.5);
	}
}
@media screen and (max-width: 320px) {
	html {
		font-size: 8px;
	}
}
body{
	font-family:"Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-font-smoothing: antialiased;
	background-color: #000;
}

#app-bg::before {
	content: "";
	background-image:url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/bg_back.jpg?20250808201842)!important;
	background-position:center center;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}
#app-bg #app-content{
	background-color: transparent;
}
#gb-footer {
	z-index: 20;
}
.free-edit {
	text-align: left;
	color: #333;
	line-height: 1.5;
	padding-bottom: 30px;
}
#app-bg #app-content {
	box-shadow: none;
	width: 100%;
}
section {
	margin: -2.6rem auto 0;
}
footer#gb-footer {
	background-color: rgb(0, 0, 0);
}

#ttl{
	display: none;
}
.scl,
.scl-s{
	opacity: 0;
	transition: opacity 0.5s ease-out;
}
.scl.scl-animate,
.scl-s.scl-animate{
	opacity: 1;
}

/*  loading
====================================*/

main:before{
	display: block;
	content: '';
	position: fixed;
	top:0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 30000;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/loading.gif?20250808201842) no-repeat center center #fff;
	background-size: 4.00rem 4.00rem;
	transition: all 0.8s ease 0.2s;
	opacity: 1;
	visibility: visible;
}
main.loaded:before{
	opacity: 0;
	visibility:hidden;
}


/*  sns
====================================*/

.sns {
	position: absolute;
	top: 0.80rem;
	right: 1.00rem;
}
@media (min-width: 751px) {
	.sns{
		right: calc( 50% - 37.5rem/2 + 1rem );
	}
}
.sns li{
	display: inline-block;
	border-radius: 1.75rem;
	border: #fff solid 0.15rem;
}
.sns li:after{
	content: "";
	display: block;
	position: absolute;
	top: 0.00rem;
	width: 3.00rem;
	height: 3.00rem;
	border-radius: 1.75rem;
	background-color: #fff;
}
.sns li + li{
	margin-left: 0.15rem;
}
@media (min-width: 751px) {
	.sns li + li{
		margin-left: 0.30rem;
	}
}
.sns li.fb a{background-color: #3d5b96;}
.sns li.tw a{background-color: #59adec;}
.sns li.ln a{background-color: #3fd13c;}

.sns li a{
	display: block;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/btn_sns.png?20250808201842) no-repeat left 0.60rem / auto 60%;
	width: 3.0rem;
	height: 3.0rem;
	border-radius: 1.75rem;
	text-indent: -9999px;
	transition: 0.2s all ease 0s;
}
@media screen and (min-width: 1025px) {
	.sns li a:hover{
		opacity: 0.7;
	}
}

.sns li.tw a{background-position-x: 0.6rem;}
.sns li.fb a{background-position-x: -3.40rem;}
.sns li.ln a{background-position-x: -7.40rem;}



/*  btn
====================================*/

a.btn{
	display: flex;
	justify-content: center;
	align-items: center;
	transform: translate(0, 0);
	transition: 0.2s all ease 0s;
}
a.btn-s{
	width: 11.20rem;
	height: 4.00rem;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/btn_s_bg.png?20250808201842) center center / 11.20rem 4.00rem;
	border-radius: 2.525rem;
	box-shadow: 0 0 0 0.20rem rgba(255,255,255,1) inset, 0.20rem 0.22rem 0 0 rgba(3,10,68,0.9);
}
@media screen and (min-width: 1025px) {
	a.btn-s:hover {
		box-shadow: 0 0 0 0.20rem rgba(255,255,255,1) inset, 0 0 0 0 rgba(3,10,68,0.9);
		transform: translate(0.20rem, 0.22rem);
	}
}

/*  main img
====================================*/

#akihabarafes {
	text-align: center;
	color: #fff;
}

#akihabarafes #mv {
	position: relative;
	z-index: 21;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/bg_front.png?20250808201842) no-repeat center bottom;
	background-size: cover;
	height: 36.40rem;
	padding-top: 9.30rem;
}

#akihabarafes #mv > div {
	margin: 0 auto;
	width: 31.00rem;
	height: 18.65rem;
}
#akihabarafes #mv > div > h1 {
	position: absolute;
	top: -1.50rem;
	left: 0.04rem;
	width: 30.05rem;
	height: 17.70rem;
	opacity: 0;
}
#akihabarafes #mv > div > h1 > img {
	width: 30.05rem;
}
#akihabarafes #mv > div > div:nth-of-type(1){
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	width: 30.05rem;
	height: 14.60rem;
	display: block;
	background: #fff;
	transform: scaleX(0.001);
	outline: 1px solid transparent;
	z-index: -1;
}
#akihabarafes #mv > div > div:nth-of-type(2){
	position: absolute;
	top: 0.5rem;
	left: 0.5rem;
	width: 30.05rem;
	height: 14.60rem;
	display: block;
	background: #2c1885;
	transform: scaleX(0.001);
	outline: 1px solid transparent;
	z-index: -2;
}
.anim-start-logo{
	animation: logo-fadein 0.6s ease-in 1.2s;
	animation-fill-mode: forwards;
}
.anim-start1{
	animation: logo-bg1 0.8s ease-in 0.4s;
	animation-fill-mode: forwards;
}
.anim-start2{
	animation: logo-bg2 0.8s ease-in 0.4s;
	animation-fill-mode: forwards;
}
@keyframes logo-fadein {
	0%{
		opacity: 0;
	}
	100%{
		opacity: 1;
	}
}
@keyframes logo-bg1 {
	0%{
		transform: skew(0 ,0deg) scaleX(0.001);
	}
	50% {
		transform: skew(0 ,0deg) scaleX(1);
	}
	70% {
		transform: skew(0 ,0deg) scaleX(1);
	}
	85% {
		transform: skew(0 ,-6deg) scaleX(1) translate(0,0);
	}
	100% {
		transform: skew(0 ,-6deg) scaleX(1) translate(-1.6%, -3.6%);
	}
}
@keyframes logo-bg2 {
	0%{
		transform: skew(0 ,0deg) scaleX(0.001);
	}
	50% {
		transform: skew(0 ,0deg) scaleX(1);
	}
	70% {
		transform: skew(0 ,0deg) scaleX(1);
	}
	85% {
		transform: skew(0 ,-6deg) scaleX(1) translate(0,0);
	}
	100% {
		transform: skew(0 ,-6deg) scaleX(1) translate(1.6%, 3.6%);
	}
}

#akihabarafes #mv .logo{
	display: flex;
	flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
	position: absolute;
	top: 0.80rem;
	left: 0.55rem;
}
@media (min-width: 751px) {
	#akihabarafes #mv .logo{
		left: calc( 50% - 37.5rem/2 + 1rem );
	}
}
#akihabarafes #mv .logo > li:first-child{
	width: 8.25rem;
	height: 2.60rem;
}
#akihabarafes #mv .logo > li:last-child{
	width: 13.70rem;
	height: 4.05rem;
}

#akihabarafes #mv > nav > ul{
	display: flex;
	justify-content: center;
	margin-top: 1.50rem;
	height: 2.00rem;
	background-color: #fff600;
	transform: skew(0, -6deg);
}
#akihabarafes #mv > nav > ul > li {
	margin-top: -1.00rem;
}
#akihabarafes #mv > nav > ul > li + li{
	margin-left: 0.70rem;
}
#akihabarafes #mv > nav > ul > li:nth-child(1) > a > img {
	width: 2.90rem;
}
#akihabarafes #mv > nav > ul > li:nth-child(2) > a > img {
	width: 8.85rem;
}
#akihabarafes #mv > nav > ul > li:nth-child(3) > a > img {
	width: 10.20rem;
}


/*  section
====================================*/

section.about,
section.campaign,
section.access {
	padding-top: 0.01rem;
	margin-bottom: 4.00rem;
}
section.access {
	margin-bottom: 3.00rem;
}
.about h2,
.campaign h2,
.access h2{
  display: flex;
  justify-content: center;
  align-items: center;
	margin: 2.60rem auto 0;
	max-width: 50.00rem;
	height: 5.00rem;
	background-color: #ba1212;
	transform: skew(0, -6deg);
}
.about h2 img,
.campaign h2 img,
.access h2 img{
	transform: skew(0, 6deg);
}
.about h2 img{
	width: 32.4rem;
}
.campaign h2 img{
	width: 19.2rem;
}
.access h2 img{
	width: 24.1rem;
	margin-top: -0.6rem;
}

/*  about
====================================*/

.about > ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 2.00rem auto 0;
	width: 32.00rem;
}
.about > ul > li {
	width: 10.40rem;
	flex-shrink: 0;
}
.about > ul > li:nth-child(3n+1){
	margin-top: 1.14rem;
}
.about > ul > li:nth-child(3n){
	margin-top: -1.14rem;
}
.about > ul > li > a,
.about > ul > li > div {
	display: block;
	width: 10.40rem;
	height: 10.20rem;
	transform: skew(0, -6deg);
}
.about > ul > li > a > img,
.about > ul > li > div > img {
	padding: 0.40rem;
	width: 7.50rem;
	box-sizing: content-box;
	background-color: #ba1212;
	transition: 0.2s all ease 0s;
}
.about > ul > li > div > img {
	padding-top: 0.54rem;
	background-color: #666;
}
@media screen and (min-width: 1025px) {
	.about > ul > li > a:hover > img {
		background-color: #fc2d2d;
	}
}
.about > ul > li > a > span,
.about > ul > li:nth-child(2) > div > span {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 8.50rem;
	background-color: rgba(255,255,255, 0.9);
}
.about > ul > li > a > span > img,
.about > ul > li:nth-child(2) > div > span > img {
	width: 7.50rem;
	transform: skew(0, 6deg);
}
.about > div {
	margin-top: 0.50rem;
	font-size: 1.20rem;
	transform: skew(0, -6deg);
}




/*  campaign
====================================*/

.campaign > article {
	width: 35.00rem;
	transform: skew(0, -6deg);
}
.campaign > article.shop {
	background:
		url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/bg_deco_top.png?20250808201842) no-repeat top left / 35.00rem 6.90rem,
		rgba(19, 17, 175, 0.8) url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/bg_deco_bottom.png?20250808201842) no-repeat bottom right / 35.00rem 6.90rem;
}
.campaign > article > div {
	font-size: 1.20rem;
	transform: skew(0, 6deg);
}
.campaign > article.shop > div {
	background: none;
}

.campaign .digital-stamp-rally > div > h3,
.campaign .checkin > div > h3,
.campaign .shop > div > h3 {
	text-align: left;
}


/*  campaign digital-stamp-rally
    campaign checkin
====================================*/

.campaign .digital-stamp-rally {
	margin: -2.00rem auto 0;
}
.campaign .checkin {
	margin: -3.00rem auto 0;
}
.campaign .digital-stamp-rally > div {
	margin-top: 2.40rem;
	padding-top: 7.00rem;
	width: 35.00rem;
	height: 136.45rem;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/bg_cp_stamp.png?20250808201842) no-repeat left top / 35.00rem 136.45rem;
}
.campaign .checkin > div {
	margin-top: 2.40rem;
	padding-top: 7.00rem;
	width: 35.00rem;
	height: 60.45rem;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/bg_cp_checkin.png?20250808201842) no-repeat left top / 35.00rem 60.45rem;
}
.campaign .digital-stamp-rally > div > p,
.campaign .checkin > div > p{
	margin: 0 auto;
	width: 29.00rem;
	text-align: left;
	text-shadow: 0 0 0.40rem #000, 0 0 0.40rem #000, 0 0 0.40rem #000;
}
.campaign .digital-stamp-rally > div > a,
.campaign .checkin > div > a {
	margin: 1.50rem auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 15.75rem;
	height: 4.00rem;
	background-color: #ba1212;
	transition: 0.2s all ease 0s;
}
@media screen and (min-width: 1025px) {
	.campaign .digital-stamp-rally > div > a:hover,
	.campaign .checkin > div > a:hover {
		background-color: #fc2d2d;
	}
}
.campaign .digital-stamp-rally > div > a > img,
.campaign .checkin > div > a > img {
	width: 11.65rem;
}


/*  campaign shop
====================================*/

.campaign .shop {
	margin: 1.00rem auto 0;
	padding-bottom: 2.00rem;
}

.campaign .shop > div > h3 > img{
	position: relative;
	top: -1.6rem;
}

.campaign .shop > div > ul{
	margin-top: -3.00rem;
}

.campaign .shop > div > ul > li {
	margin-top: 1.00rem;
	transform: skew(0, -6deg);
}
.campaign .shop > div > ul > li > figure {
	display: flex;
  justify-content: flex-start;
	align-items: center;
	margin: 0 auto;
	padding-left: 1.30rem;
	width: 32.00rem;
	height: 8.00rem;
	background-color: rgba(255,255,255, 0.9);
}
.campaign .shop > div > ul > li > figure > img {
	display: block;
	margin-right: 1.20rem;
	width: 6.50rem;
	transform: skew(0, 6deg);
}
.campaign .shop > div > ul > li > figure > figcaption {
	text-indent: -9999px;
	transform: skew(0, 6deg);
}
.campaign .shop > div > ul > li:nth-child(1) > figure > figcaption {
	margin-top: -2.00rem;
	width: 20.00rem;
	height: 6.20rem;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/txt_shop_official.png?20250808201842) no-repeat 0rem 0rem / 20.00rem 6.20rem;
}
.campaign .shop > div > ul > li:nth-child(2) > figure > figcaption {
	width: 21.10rem;
	height: 7.80rem;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/txt_shop_atre.png?20250808201842) no-repeat 0rem 0rem / 21.10rem 7.80rem;
}
.campaign .shop > div > ul > li:nth-child(3) > figure > figcaption {
	width: 20.00rem;
	height: 7.50rem;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/txt_shop_anion.png?20250808201842) no-repeat 0rem 0rem / 20.00rem 7.50rem;
}
.campaign .shop > div > ul > li:nth-child(4) > figure > figcaption {
	width: 21.00rem;
	height: 7.52rem;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/txt_shop_animate.png?20250808201842) no-repeat 0rem 0rem / 21.00rem 7.52rem;
}
.campaign .shop > div > ul > li:nth-child(5) > figure > figcaption {
	margin-top: -2.00rem;
	width: 22.05rem;
	height: 6.35rem;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/txt_shop_karatez.png?20250808201842) no-repeat 0rem 0rem / 22.05rem 6.35rem;
}
.campaign .shop > div > ul > li:nth-child(6) > figure > figcaption {
	margin-top: -2.00rem;
	width: 20.75rem;
	height: 6.30rem;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/txt_shop_283pro.png?20250808201842) no-repeat 0rem 0rem / 20.75rem 6.30rem;
}
.campaign .shop > div > ul > li > a,
.campaign .shop > div > ul > li > div{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 1.50rem 0 auto;
	width: 10.95rem;
	height: 2.40rem;
	background-color: #ba1212;
	transition: 0.2s all ease 0s;
}
.campaign .shop > div > ul > li > div{
	background-color: #666;
}
@media screen and (min-width: 1025px) {
	.campaign .shop > div > ul > li > a:hover {
		background-color: #fc2d2d;
	}
}
.campaign .shop > div > ul > li > a > img {
	width: 10.00rem;
}
.campaign .shop > div > ul > li > div > img {
	padding-top: 0.40rem;
	width: 10.25rem;
}
.campaign .shop > div > div{
	margin-top: 1.00rem;
	font-size: 1.20rem;
	transform: skew(0, -6deg);
}


/*  access
====================================*/
.access .gmap iframe{
	width: 35.00rem;
	height: 40.00rem;
}
.access .gmap{
	height: 40.00rem;
	margin: 3.00rem auto 0;
}
@media (min-width: 751px) {
	.access .gmap iframe{
		height: 20rem;
	}
	.access .gmap{
		height: 20.00rem;
	}
}

.access > dl{
	margin: 1.50rem auto 0;
	width: 35.00rem;
	text-align: center;
}
.access > dl > dt{
	margin-bottom: 0.5rem;
	font-size: 1.3rem;
	font-weight: 500;
	color: #ffff00;
}
.access > dl > dt:not(:first-child){
	padding-top: 1.0rem;
}
.access > dl > dd{
	font-size: 1.2rem;
	font-weight: 400;
	color: #fff;
}
.access > dl > dd:not(:last-child){
	padding-bottom: 1.0rem;
	border-bottom:rgba(255,255,255,0.5) solid 0.10rem;
}


/*  notes
====================================*/

.notes {
	margin-top: 2.50rem;
	padding: 2.00rem 0;
	background-color:rgba(4,11,169, 0.6);
	height: 25.50rem;
}
.notes > h2 > img {
	width: 8.75rem;
}
.notes > ul{
	width: 32.00rem;
	height: 16.50rem;
	margin: 1.50rem auto 0;
	padding: 1.00rem;
	font-size: 1.1rem;
	font-weight: 400;
	color: #fff;
	text-align: left;
	text-indent: -1.0rem;
	overflow-y: scroll;
	overflow-x: hidden;
	background-color:rgba(0,0,0, 0.5);
	box-shadow:0px 0px 12px 3px rgba(0,0,0, 0.5) inset;
}
.notes > ul > li{
	margin-left: 1rem;
}
.notes > ul > li:not(:last-child){
	margin-bottom: 1.0rem;
}
.notes > ul > li > dl > dt {
	font-size: 1.2rem;
	font-weight: 500;
	color: #ffff00;
}
.notes > ul > li > dl > dd {
	margin-top: 0.6rem;
}



/*  links
====================================*/

.links > ul {
	margin: 3.00rem auto 4.00rem;
	display: flex;
	justify-content: center;
}
.links > ul > li + li {
	margin-left: 0.50rem;
}
.links > ul > li > a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 15.75rem;
	height: 4.00rem;
	background-color: #ba1212;
	transition: 0.2s all ease 0s;
}
@media screen and (min-width: 1025px) {
	.links > ul > li > a:hover {
		background-color: #fc2d2d;
	}
}
.links > ul > li > a > img:nth-child(1) {
	width: 13.90rem;
}
.links > ul > li > a > img:nth-child(2) {
	width: 13.20rem;
}



/*  modal-headsup
====================================*/
#modal-headsup{
	margin: 4.00rem auto;
	width: 32.00rem;
}
#modal-headsup .box{
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: -0.05rem;
}
#modal-headsup .box h2{
	padding: 1.50rem 0;
	font-size: 1.2rem;
	font-weight: 500;
	text-align: center;
	color: #fff600;
	background:#2f27ab url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/bg_deco_top.png?20250808201842) no-repeat left top / 100% 100% ;
}
#modal-headsup .box > div{
	padding: 1.50rem 1.50rem 5.00rem;
	color: #261f89;
	background: url(https://c-image.asfes.jp/zR4gfSJw/36/sp85/bg_deco3.png?20250808201842) no-repeat right bottom / 20.00rem 16.65rem;
}
#modal-headsup .box > div > p:not(:first-child){
	margin-top: 1.20rem;
}
#modal-headsup .mfp-close{
	width: 3.00rem;
	height: 3.00rem;
}
.mfp-inline-holder .mfp-close, .mfp-ajax-holder .mfp-close{
	top: 0;
}
#modal-headsup .mfp-close:before, .mfp-close:after {
	width: 3.00rem;
	height: 0.16rem;
	top: -2.00rem;
	right: -0.40rem;
}
.mfp-zoom-in.mfp-ready.mfp-bg{
	opacity: 0.7;
}
