@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@500;600&family=M+PLUS+2:wght@400;500;700;800&family=Noto+Sans+JP:wght@500;600&display=swap');
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/css/yakuhanjp.min.css');

#funderfulHeader li, #funderfulHeader p, #contentMain .contact-note {
	font-family: YakuHanJP, 'M PLUS Rounded 1c', sans-serif;
	transform: rotate(0.03deg);
	letter-spacing: .05em;
}
#header.vendor {
	margin-bottom: 0;
}
#footer.local-footer {
	position: relative;
}
.footer-note {
	position: relative;
	background: #fff;
	padding: .1px 0 25px;
}
.sec-special li, .sec-special p, .sec-special dt, .sec-special dd, .sec-special th, .sec-special td, .sec-special .-ti01, .sec-special .-ti02, .sec-special .-ti03, .sec-special .-ti04, .sec-special .-ti05, .sec-special .-lead1, .sec-special .-lead2 {
  font-family: YakuHanJP, "M PLUS 2", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
	transform: rotate(0.03deg);
}
.sec-special li::first-letter {
  font-family: "M PLUS 2", sans-serif;
}
/* CSS Document */
body {
	min-width: 320px;
}
@media screen and (min-width: 768px) {
	.pc{
		display: block;
	}
	.spn{
		display: none !important;
	}
	#funderfulHeader {
		font-size: 16px;
	}
}
@media screen and (max-width: 767px) {
  .pc{
    display: none !important;
  }
  .spn{
    display: block;
  }
	#funderfulHeader {
		font-size: 13px;
	}
}
/*--- font ---*/
.sec-special {
	font-size: 16px;
	line-height: 1.8;
}
.contact-note{
	font-size: 13px;
	margin-top:45px;
}
	
/*--- layout ---*/
.sec-special .note-list > li {
font-size:14px;
list-style:none;
text-indent: -1em;
padding-left: 1em;
margin:0;}
.sec-special .note-list-m > li {
    text-indent: -1em;
    margin-left: 1em;}
.sec-special .note-list > li:first-letter,
.sec-special .note-list-m > li:first-letter {
  font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
	letter-spacing: normal;
}
@media screen and (max-width: 767px) {
	.sec-special {
		font-size: 14px;
		font-size: calc(100vw * 14 / 375);
	}
	.note-list > li {
		font-size:12px;
		line-height: 1.75;
	}
	.sec-special .note-list > li {
		font-size:12px;
		font-size:calc(100vw * 12 / 375);
	}
}

/*------------------------------------------------------------

   funderfulHeader

--------------------------------------------------------------*/
#funderfulHeader {
	background: #ffffff;
	position: absolute;
	display: flex;
	width: 100%;
	min-width: 320px;
	height: 75px;
	top:0;
	left: 0;
	z-index: 800;
}
#funderfulHeader .content-inner {
	max-width: 1050px;
	display: flex;
	align-items: center;
	padding: 0 25px;
}
/*------------------------------------ media */
@media screen and ( min-width: 768px ){
	#funderfulHeader {
		width: 100%;
		height: 80px;
	}
}
@media screen and ( max-width: 767px ){
	#funderfulHeader .content-inner {
		padding: 0 25px;
	}
}

/*------------------------------------------------------------

   open / close

--------------------------------------------------------------*/
body.openNav {
	-webkit-overflow-scrolling: auto;
	-ms-overflow-x: hidden;
	    overflow-x: hidden;
}
body.openNav {
	-webkit-overflow-scrolling: hidden;
	-ms-overflow: hidden;
			overflow: hidden;
	height: 100vh;
}
body.body_pc.openNav .wrap,
body.body_pc.openNav.onScroll #funderfulHeader {
    overflow-y:scroll;
}

body.openNav #header.vendor {
  z-index: 100;
}


body.openOpening {
	-webkit-overflow-scrolling: hidden;
	-ms-overflow: hidden;
	overflow: hidden;
	overflow-y:scroll;
	height: 100%;
}
body.body_pc.openOpening .wrap {
    height: 100vh;
	min-height: 100vh;
	min-height: 100lvh;
	-webkit-overflow-scrolling: hidden;
	-ms-overflow: hidden;
	overflow: hidden;
}

#nav-20th .menuBtn-20th,
#nav-20th .menuBtn2-20th {
	display: block;
	right: var(--scrollbar);
}
body.openNav .menuBtn-20th,
body.openNav .menuBtn2-20th {
	right: var(--scrollbar);
}
#nav-20th.close {
	top: 130%;
}
#nav-20th.close .menuBtn-20th,
#nav-20th.close .menuBtn2-20th {
	display: none;
}
body.openNav #nav-20th {
	-webkit-overflow-scrolling: touch;
	    overflow-y: scroll;
	height: 100%;
}

/* siteLogo
--------------------------------------------------------------*/
.siteLogo {
	margin: auto 0;
}
.siteLogo > span,
.siteLogo > a {
	width: 212px;
	height: 46px;
	display: block;
	background: 50% 50% no-repeat;
	background-image: url(../../../../fanclub/assets/images/logo01.svg);
	background-size: contain;
	text-indent: -9999em;
}
@media screen and ( max-width: 767px ){
	.siteLogo > span,
	.siteLogo > a {
		width: 120px;
		height: 26px;
	}
}
@media screen and (max-width: 365px) {
	.siteLogo > span,
	.siteLogo > a {
		width: 100px;
	}
}

/* .headMenu
--------------------------------------------------------------*/
#funderfulHeader .headMenu {
	position: relative;
	display: flex;
	margin: 0 0 0 auto;
}
#funderfulHeader .headMenu li {
	margin-left: 7px;
}
#funderfulHeader .headMenu li a,
#funderfulHeader .headMenu li.btn-shinki > span {
	font-size: 20px;
	font-weight: bold;
	/*width: 69px;*/
	height: 2.07em;
	border-radius: 9999em;
	background: #fff;
	border: 2px solid #222222;
	color: #222222;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	padding: .2em .7em;
	white-space: nowrap;
}
.body_pc #funderfulHeader .headMenu li a:hover {
	opacity: .7;
}
#funderfulHeader .headMenu li.btn-shinki a {
	background-color: #FEC411;
}
#funderfulHeader .headMenu li.btn-shinki > span {
	background-color: #DDDDDD !important;
	border-color: #AAAAAA !important;
	color: #AAAAAA !important;
}

.status-login #funderfulHeader {
	border-bottom: none;
}
@media screen and (max-width: 767px) {
	#funderfulHeader .headMenu li a,
	#funderfulHeader .headMenu li.btn-shinki > span {
		font-size: 13px;
		height: auto;
		line-height: 1.2;
	}
}
@media screen and (max-width: 365px) {
	#funderfulHeader .headMenu li a,
	#funderfulHeader .headMenu li.btn-shinki > span {
		font-size: 11px;
		padding: .2em .4em;
	}
}

/*------------------------------------------------------------

   content

--------------------------------------------------------------*/
#contentMain {
	/*min-height: 100vh;*/
	padding: 80px 0 0;
	position: relative;
}
#contentMain * {
	box-sizing: border-box;}
#contentMain img {
	vertical-align: top;
	max-width: 100%;
	height:auto;}
.content-title .-wide {
    margin-top: 86px !important;
}
.content-inner {
	width: 100%;
	max-width: 768px;
	margin: 0 auto;
	padding: .1px 20px;
	position: relative;
	text-align: left;
}
@media screen and (max-width: 767px) {
	#contentMain {
		padding-top: 75px;
	}
  .content-title .-wide {
    margin: calc(100vw* 80 / 750) 0 .6em !important;
  }
	.content-inner {
		padding: .1px 30px;
	}
}


.sec-follow {
	background: #fff4dd;
	color: #000000;
	position: relative;
}
.sec-follow .content-inner {
	max-width: 1200px;
	padding: 100px 50px 75px;
}
.sec-sns {
}
.sec-sns .snsBtn {
	display: table;
	margin: 0 auto 35px;
}
.sec-sns .snsBtn li {
	display: inline-block;
	margin: 0;
}
.sec-sns .snsBtn li {
	width: 68px;
}
.sec-sns .snsBtn li + li{
  margin-left: 16px;
}
.sec-sns .snsCap {
	display: table;
	text-align: left;
	margin: 0 auto;
}
.sec-sns .snsCap h3 {
	margin: 0;
	font-size: 16px;
	font-weight: normal;
	margin-bottom: 1.5em;
	text-align: center;
}
.sec-sns .snsCap li{
	font-size: 14px;
	padding-left: 1em;
	text-indent: -1em;
}
@media screen and (max-width: 767px) {
	.sec-follow {
		color: #5b2e1a;
	}
	.sec-follow .content-inner {
		padding: calc( 100vw * 35 / 375 ) calc( 100vw * 20 / 375 ) calc( 100vw * 45 / 375 );
	}
	.sec-sns .snsBtn {
		margin-bottom: calc( 100vw * 30 / 375 );
	}
	.sec-sns .snsBtn li {
		width: calc( 100vw * 48 / 375 );
	}
	.sec-sns .snsBtn li + li{
		margin-left: calc( 100vw * 15 / 375 );
	}
	.sec-sns .snsCap h3 {
		font-size: calc( 100vw * 12.5 / 375 );
	}
	.sec-sns .snsCap li {
		font-size: calc( 100vw * 12 / 375 );
	}
}


#content-main.sp-content {
	background: #e85d26;
	color: #fff;
	z-index: 0;
  position: relative;
}
#main-back {
	position: fixed;
	width: 100%;
	height: 130%;
	min-height: 100vh;
	min-height: 100lvh;
	z-index: -1;
	font-language-override: 0;
	pointer-events: none;
	left: 0;
	top: 0;
}
#main-back::before {
	content: "";
	vertical-align: top;
	z-index: 0;
	position: absolute;
	width: 100%;
	height: 130%;
	min-height: 100vh;
	min-height: 100lvh;
	top: 0;
	left: 0;
	background: #e85d26 50% 0;
	background-size: cover;
}
#main-back .background {
	vertical-align: top;
	z-index: 5;
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	pointer-events: none;
}
#particles-js {
	min-width: 1110px;
	width: 153%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
@media screen and (min-width: 768px) {
	#main-back::before {
		background-image: url("../../images/main_bg01.webp");
	}
}
@media screen and (max-width: 767px) {
	#main-back::before {
		background-image: url("../../images/main_bg01_sp.webp");
		background-position: 50% 0;
	}
}




.sec-special .sec-info{
	margin-top: 5em;
	margin-bottom: 0;
	font-size: 15px;
}
.sec-special .tx-att {
	color:#d00303 !important;}
.sec-special .tx-att2 {
	color:#fc671f !important;}
.sec-special .tx-en {
	font-family: YakuHanJP, "Oswald", "M PLUS 2", sans-serif;
  font-optical-sizing: auto;
	vertical-align: baseline;
}
.sec-special .-label {
	width: fit-content;
	min-width: 412px;
	height: 40px;
	border-radius: 9999em;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.9;
	background: #733b24;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 30px auto;
	letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
	.sec-special .-label {
		min-width: calc(100vw * 490 / 750);
		height: calc(100vw * 54 / 750);
		font-size: calc(100vw * 13 / 375);
		margin: calc(100vw * 15 / 375) auto;
		padding-bottom: .1em
	}
}
.sec-special {
	font-size: 16px;
	line-height: 1.8;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
	.sec-special::after {
		background-size: 100% auto;
	}
}
.sec-special .content-inner {
	max-width: 1100px;
	padding: 0 50px 105px;
}
.sec-special .content-inner .-logo {
	text-align: center;
	margin-bottom: 5.1em;
}
.sec-special .-note {
	font-size: 20px;
	font-weight: 600;
	display: inline-block;
    margin-top: .7em;
}
.sec-special .-tx-bg {
	display: inline-block;
	position: relative;
	background: linear-gradient(107deg, #ffee2b 0%, #fff297 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
	letter-spacing: normal;
}
.sec-special .-lead1 {
	font-size: 44px;
	font-weight: 900;
	margin: -.2em 0 -1.3em;
	letter-spacing: normal;
	text-align: center;
  line-height: 1.4;
}
.sec-special .-lead2 {
  font-family: "M PLUS 2", sans-serif;
	font-weight: 800;
	font-size: 28px;
	margin: 1.2em 0 1.3em;
	text-align: center;
	line-height: 1.4;
}
.sec-special .-lead2 strong {
	font-size: 125%;
	vertical-align: baseline;
}
.sec-special .-text {
	border-radius: 30px;
	max-width: 920px;
	background: #fff;
	color: #5b2e1a;
	text-align: left;
	margin: 0 auto;
	padding: 40px 40px 70px;
}
.sec-special .-text > *:last-child {
	margin-bottom: 0;
}
.sec-special .-text .note-list li,
.sec-special .-text .note{
	font-size: 18px;
	line-height: 1.4;
}
.sec-special .-text p{
	font-size: 18px;
	line-height: 1.4;
}
.sec-special .-text2 {
  font-size: 22px !important;
	text-align: center;
  margin: 1em 0 1.3em;
}
.sec-special .-text2 strong {
	color: #ef5697;
}
.sec-special .-text2 strong::after {
	content: "";
	width: 1.5em;
	height: 1em;
	background: url("../images/icon_arrow01_tdl.svg") 50% 50% no-repeat;
	background-size: contain;
	display: inline-block;
  vertical-align: middle;
  margin-top: -.2em;
}
.sec-special .-img1 {
  max-width: 620px;
  margin: 0 auto;
}
.sec-special .-img1 +  .-img1 {
  margin-top: 30px;
}

.sec-special .-ti01 {
	height: 197px;
	font-size: 50px;
	font-weight: 800;
	background: url("/treasure/fantasy/fanclub/assets/images/20th_parkopen/ti01_bg01.png") 50% 0 no-repeat;
	color: #ffffff;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 140px 0 1.2em;
	line-height: 1.19;
	letter-spacing: .05em;
  	padding: 0 0 .5em;
	text-align: center;
	text-shadow: -5px -5px 18px #d33611, 5px -5px 18px #d33611, -5px 5px 18px #d33611, 5px 5px 18px #d33611;
}
.sec-special .-ti01 img {
	width: auto;
	height: calc(1em * 78 / 50) !important;
}
.sec-special .-ti01 .tx-no {
	font-size: 115%;
	line-height: 1;
	margin-right: .02em;
	display: inline-block;
	letter-spacing: -.02em;
}
.sec-special .-ti01 .-inner {
	white-space: nowrap;
	position: relative;
	display: inline-block;
	padding: 0 1.35em;
}
.sec-special .-ti01 .-inner::before,
.sec-special .-ti01 .-inner::after {
	content: "";
	background: url("/treasure/fantasy/fanclub/assets/images/20th_parkopen/ti01_bg01l.png") 50% 0 no-repeat;
	background-size: contain;
	width: calc(1em * 50 / 50);
	height: calc(1em * 61 / 50);
	display: inline-block;
	position: absolute;
	top: .1em;
}
.sec-special .-ti01 .-inner::before {
	left: 0;
}
.sec-special .-ti01 .-inner::after {
	background-image: url("/treasure/fantasy/fanclub/assets/images/20th_parkopen/ti01_bg01r.png");
	right: 0;
}
.sec-special .-ti02 {
	font-size: 38px;
	font-weight: 800;
	color: #d00303;
	margin: .5em 0 1.2em;
	padding: 0 0 .4em;
	border-bottom: 4px solid #d00303;
	text-align: center;
	letter-spacing: 0.04em;
}
.sec-special .-ti02:first-of-type {
	margin-top: .1em;
}
.sec-special .-ti03 {
  height: 64px;
	font-size: 26px;
	font-weight: 800;
  background: #ef5697;
  border-radius: 15px;
	color: #fff;
	letter-spacing: 0.02em;
	margin: 0 -.2em 1.2em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: .5em;
}
.sec-special .-ti05 {
	font-size: 18px;
	margin: -.5em 0 .3em;
}
.sec-special .-ti05:first-child {
	margin-top: 0;
}
.sec-special .-list-detail {
	font-size: 22px;
	line-height: 34px;
	margin: 1.4em .2em 0;
}
.sec-special .-list-detail dt,.sec-special .-list-detail dd  {
	/*font-family: "M PLUS 2", sans-serif;*/
	letter-spacing: .02em;
}
.sec-special .-list-detail dt {
	clear: both;
	font-size: 26px;
	font-weight: 800;
	color: #fc671f;
	float: left;
	width: 9.5em;
	background: url("/treasure/fantasy/fanclub/assets/images/20th_parkopen/ti05_bg01.png") 0 0 no-repeat;
	padding-left: 1.3em;
}
.sec-special .-list-detail dd {
	display: table;
  font-weight: 500;
}
.sec-special .-list-detail .note-list {
	margin-top: .4em;
  font-weight: normal;
}
.sec-special .-list-detail.-wide {
	padding-bottom: 25px;
  border-top: none;
}
.sec-special .-link {
	margin: 100px auto 0;
	text-align: center;
}
.sec-special .-tds .-ti03 {
  background: #2ca0a0;
}
.sec-special .-tds .-text2 strong {
  color: #2ca0a0;
}
.sec-special .-tds .-text2 strong::after {
	background-image: url("../images/icon_arrow01_tds.svg");
}
@media screen and (max-width: 767px) {
	.sec-special {
		font-size: calc( 100vw * 13 / 375 );
	}
	.sec-special .content-inner {
		padding: 0 calc( 100vw * 25 / 375 ) calc( 100vw * 50 / 375 );
	}
	.sec-special .content-inner .-logo {
		margin: 0 calc(100vw* 73 / 375) 3.6em;
	}
	.sec-special .-ti01 {
		background-size: auto 100%;
		height: calc( 100vw * 206 / 750 );
		font-size: calc( 100vw * 27 / 375 );
		margin: 2.6em calc( 100vw * -25 / 375 ) 1.2em;
	}
	.sec-special .-ti01 .-inner::before, .sec-special .-ti01 .-inner::after {
		top: .2em;
	}
	.sec-special .-ti02 {
		font-size: calc( 100vw * 44 / 750 );
		border-bottom-width: 2px;
		padding: 0 0 .3em;
	}
	.sec-special .-ti03 {
    border-radius: .5em;
    height: calc( 100vw * 80 / 750 );
		font-size: calc( 100vw * 30 / 750 );
	}
	.sec-special .-ti05 {
		font-size: calc( 100vw * 22 / 750 );
    margin: -.9em 0 .5em;
	}
	.sec-special .-note {
		font-size: calc( 100vw * 11.5 / 375 );
		margin-top: .5em;
	}
	.sec-special .-lead1 {
		font-size: calc( 100vw * 38 / 750 );
	}
	.sec-special .-lead2 {
		font-size: calc( 100vw * 28 / 750 );
		letter-spacing: normal;
		margin: 1em 0 2em;
	}
	.sec-special .-lead2 strong {
		font-size: calc( 100vw * 19 / 375 );
	}
	.sec-special .-text {
		border-radius: 1.2em;
		padding: 1.1em .8em calc( 100vw * 80 / 750 );
	}
	.sec-special .-text .note-list-m {
		font-size: calc( 100vw * 12 / 375 );
	}
	.sec-special .-text .note-list li,
  .sec-special .-text .note{
		font-size: calc( 100vw * 22 / 750 );
		        line-height: 1.5;
	}
	.sec-special .-text p{
		font-size: calc( 100vw * 22 / 750 );
		        line-height: 1.5;
	}
	.sec-special .-text2 {
    font-size: calc(100vw* 25 / 750) !important;
	}
	.sec-special .-text2 .-note {
		margin-top: -.1em;
        margin-bottom: 0em;
	}
  .sec-special .-img1 +  .-img1 {
    margin-top: calc(100vw* 30 / 750);
  }
	.sec-special .-list-detail {
		font-size: calc(100vw * 26 / 750);
		line-height: calc(100vw * 46 / 750);
		margin: 1.5em .1em 0;
	}
	.sec-special .-list-detail dt {
		font-size: calc(100vw * 30 / 750);
		width: 9em;
		background-size: 1.2em auto;
		background-position: 0 .1em;
		padding-left: 1.5em;
	}
	.sec-special .-list-detail.-wide {
    margin-top: calc(100vw* 65 / 750);
	  padding-bottom: calc( 100vw * 25 / 750 );
	}
	.sec-special .-link {
		max-width: calc( 100vw * 325 / 375 );
		margin-top: calc( 100vw * 50 / 375 );
	}
}
