@charset "UTF-8";
/*\*/

/* ------------------------------------
 * OVERRIDE
 * ------------------------------------ */
.special_normal::before {
    display: block;
    position: fixed;
    content: "";
    top: 0;
    bottom: 0;
    left: 6%;
    width: 0;
}

section p, section .text, section .photo {
  margin: 0 3%;
  word-break: break-all;
}

.special_normal p:not(:last-child),
.special_normal .text:not(:last-child), 
.special_normal .photo:not(:last-child) {
  margin-bottom: min(2.56410vw, 10px);
}

/* HEADING */

.special_normal h3 {
  margin-bottom: min(5.12820vw, 20px);
}

.special_normal section h4 {
	font-size: 124%;
	font-weight: bold;
	color: #24dcda;
	text-align: center;
}

.detail_box h4 {
 align-items: center;
  display: flex;
  justify-content: center;
}

.detail_box h4::before,
.detail_box h4::after {
  content: "";
  display: block;
  height: 24px;
  aspect-ratio: 1 / 1;
  background-image: url(../../img/special/special_10thanniversarygoods_vote/star.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.detail_box h4::before {
  margin-right: 1em;
}

.detail_box h4::after {
  margin-left: 1em;
}

section .notice em {
	color: #fff556;
}

img {
  width: 100%;
  max-width: 100%;
}

/* ------------------------------------
 * SPECIAL
 * ------------------------------------ */

section section {
  margin: auto;
  margin-bottom: min(7.69230vw, 60px);
}

.text span {
	display: block;
	margin: 0 6%;
	background-color: #000;
	font-size: 108%;
}

.text span .photo {
	margin: 0;
}

.text span .photo img + img {
	margin-top: 10px;
}

.text span strong {
	font-weight: bold;
}

section .center {
	text-align: center;
	font-size: 110%;
}

section .center strong {
	font-size: 116%;
	font-weight: bold;
}

.title_dotline {
  font-size: 1.3em;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
  margin: 0 2%;
  margin-bottom: 0!important;
  text-decoration: underline;
  text-decoration-color: #24DCDA;
  text-decoration-style: dotted;
}

.btn_box {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.btn_box a {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: min(76.92307vw,400px);
  margin: auto;
  aspect-ratio: 5 / 1;
  background-color: #24dcda;
  border: #000 solid 1px;
  font-size: 126%;
  text-indent: -1em;
  color: #000;
  font-weight: bold;
  box-shadow: #F6FF00 2px 2px;
  transition-duration: .2s;
}

.btn_box a:active {
  transform: translate(2px,2px);
  box-shadow: none;
}

.btn_box .icon {
  width: min(4.10256vw,16px);
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 50%;
  right: min(3.07692vw,20px);
  transform: translateY(-50%);
}

.btn_box .icon::before {
  display: block;
  width: 100%;
  height: 100%;
  background: url("../../img/special/fc5thanniversary/btn_arrow.png") no-repeat center center transparent;
  background-size: contain;
  content: "";
}

.btn_img {
  margin-bottom: 1em;
}

.btn_shadow {
  filter: drop-shadow(0px 4px 0px #F6FF00);
}

/* PLAYER */

.player {
	position: relative;
	width: 80%;
	margin: 20px auto;
	padding-top: 45%;
}

.player > div {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.player iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

@media (min-width: 640px) {
	.player {
		width: 60%;
		padding-top: 34%;
	}
}

/* TOP */

section .mainvisual {
  margin: 0 0 10px 0;
  border: 0px !important;
  background-image: none !important;
}

.special_normal #top {
  width: min(100%, 780px);
  margin: 0 auto;
}

.detail_box {
  margin-bottom: 4em;
}

.intro {
  margin-top: min(5.12820vw, 40px);
  margin-bottom: min(5.12820vw, 40px);
}

.intro p {
  padding: 0;
}

.intro p span {
  margin: 0 auto;
  font-size: 100%;
}

.comingsoon {
  font-size: min(160%,1.5rem);
  font-weight: bold;
  font-style: italic;
  color: #24dcda;
  text-align: center;
  letter-spacing: .1em;
  text-shadow: 0 0 3.07692vw hsla(184,99%,99%,.5);
}

section .menulist {
  margin: 0 2%;
}

section .menulist li {
  width: 100%;
  aspect-ratio: 39 / 5;
}

section .menulist li a {
  display: block;
  width: 100%;
  height: 100%;
  background: top center /100% auto no-repeat;
  transition-duration: .2s;
}

section .menulist li.menu1 a {
  background-image: url(../../img/special/fc5thanniversary/menu_01.png);
}

section .menulist li.menu_special a {
  background-image: url(../../img/special/fc5thanniversary/menu_special.png);
}

section .menulist li.menu2 a {
  background-image: url(../../img/special/fc5thanniversary/menu_02.png);
}

section .menulist li.menu_digital_contents a {
  background-image: url(../../img/special/fc5thanniversary/menu_digital_contents.png);
}

section .menulist li.menu3 a {
  background-image: url(../../img/special/fc5thanniversary/menu_03.png);
}

section .menulist li.menu_collaboration a {
  background-image: url(../../img/special/fc5thanniversary/menu_collaboration_e3fhxkqs.png);
}

section .menulist li.menu4 a {
  background-image: url(../../img/special/fc5thanniversary/menu_04.png);
}

section .menulist li.menu5 a {
  background-image: url(../../img/special/fc5thanniversary/menu_05.png);
}

section .menulist li.menu_comingsoon a {
  background-image: url(../../img/special/fc5thanniversary/menu_05.png);
}

section .menulist li a:active {
  opacity: 0.8;
}

.menulist_comingsoon {
  position: relative;
  pointer-events: none;
}

.menulist_comingsoon::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgb(20 20 20 / .8);
}

.menulist_comingsoon::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-8deg);
  width: 80%;
  aspect-ratio: 7 / 6;
  content: "";
  color: #fff;
  font-size: min(170%,1.5rem);
  letter-spacing: .1em;
  background-image: url(../../img/special/fc5thanniversary/text_comingsoon.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.menulist_comingsoon li {
  pointer-events: none;
}

.simple_list {
  border: solid 1px #03effe;
}

.simple_list dt {
  padding: 0;
}

.simple_list dd {
  padding: 20px;
}

.simple_list dt , .simple_list dd {
  border-bottom: solid 1px #000;
}

.special_normal p.heading_img {
  display: block;
  width: 60%;
  margin: 0 auto;
}

.list_frameless {
  border: 0;
}

.list_frameless dt, .list_frameless dd {
  border-bottom: 0px;
}

.list_frameless dt {
  height: 1.2em;
  min-height: 28px;
  border-bottom: 0;
  padding: 0;
}

.list_frameless dt img {
  height: 100%;
  width: auto;
}

/*.list-goodsdetail {
	margin: 0 3% 15px;
  padding: 0 4%;
  border: solid 1px #fff;
}*/

.list-goodsdetail {
  margin: 0 3% 15px;
  padding: 0 4%;
  background-color: rgba(255, 255, 255, 0.1); /* 背景色 */
  border: 1px solid rgba(255, 255, 255, 0.4); /* ボーダー */
  border-right-color: rgba(255, 255, 255, 0.2);
  border-bottom-color: rgba(255, 255, 255, 0.2);
  -webkit-backdrop-filter: blur(20px); /* ぼかしエフェクト */
  backdrop-filter: blur(20px);
  box-shadow: 0 0px 10px rgba(255, 255, 255, 0.4); /* 薄い影 */
}

.list-goodsdetail div {
	display:flex;
	justify-content:flex-start;
	border-bottom: solid 1px #444;
}

.list-goodsdetail div:last-child {
	border-bottom: 0px;
}

.list-goodsdetail div dl, .list-goodsdetail div dt, .list-goodsdetail div dd {
	border: 0px;
}

.list-goodsdetail div dt {
	min-width:6em;
	background-color: rgba(0,0,0,0);
}

.list-goodsdetail div dd {
	margin:0;
	border-bottom: 0px;
}

.item-container {
    max-width: 600px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
    border: solid 1px #fff;
}

.item-container .swiper-pagination {
    bottom: -40px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.item-container .swiper-pagination-bullet {
    background: #03effe !important;
    margin: 0 4px;
}


/* ------------------------------------
 * clearfix
 * ------------------------------------ */

section .menuList:after,
.episodeList:after {
    clear: both;
    display: block;
    height: 0;
    line-height: 0;
    font-size: 0.1em;
    content: ".";
    visibility: hidden;
}