@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;500;700;800&display=swap');

#content-main .contact-note, .btn-link a {
	font-family: YakuHanJP, 'M PLUS Rounded 1c', sans-serif;
	transform: rotate(0.03deg);
	letter-spacing: .05em;
}
#content-main .sec-info p {
	font-family: YakuHanJP, 'M PLUS Rounded 1c', sans-serif;
}
.sec-special li, .sec-special p, .sec-special dt, .sec-special dd {
	font-family: "M PLUS 1p", sans-serif;
	transform: rotate(0.03deg);
}
.sec-special .-ti01, .sec-special .-ti02, .sec-special .-ti03 .-tx, .sec-special .-copy p, .sec-special .-btn > span {
	transform: rotate(0.03deg);
	font-family: "M PLUS 1p", sans-serif;
}
.pageTop {
	transform: translate3d(0, 0, 0);
  position: fixed;
  right: 30px;
   bottom: 30px;
  z-index: 9999;
}
.pageTop a {
  display: block;
  background: url(../images/christmas2025_preview/btn_pagetop.png) no-repeat 50% 50%;
  width: 60px;
  height: 60px;
  text-indent: -9999px;
  overflow: hidden;
  position: relative;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
.pageTop a:hover {
	opacity: .8;
}
@media screen and (max-width: 767px) {
  .pageTop {
    right: calc( 100vw * 20 / 750);
    bottom: calc( 100vw * 25 / 750);
  }
	.pageTop a {
		background-size: contain;
    width: calc( 100vw * 84 / 750);
    height: calc( 100vw * 126 / 750);
	}
}
#content img {
	vertical-align: top;
}
/* 20th navi */
.header-20th {
	text-align: right;
	position: relative;
	z-index: 3;
	background: url("/treasure/fantasy/funderful/20th/images/20th_hd_bg01.jpg") 0 0 repeat-x;
	background-size: cover;
}
.header-20th .-logo img {
	width: auto !important;
	height: 90px !important;
}
.footer-20th {
	background: url("/treasure/fantasy/funderful/20th/images/20th_ft_bg01.jpg") 0 0 repeat-x;
	background-size: cover;
	padding: 60px 0;
	position: relative;
}
.footer-20th .-link {
	text-align: center;
}
.footer-20th .-link img {
	width: auto !important;
	height: 126px !important;
}
@media screen and (max-width: 767px) {
	.header-20th {
		background-image: url("/treasure/fantasy/funderful/20th/images/20th_hd_bg01_sp.jpg");
	}
	.header-20th .-logo img {
		height: 55px !important;
	}
	.footer-20th {
		background-image: url("/treasure/fantasy/funderful/20th/images/20th_ft_bg01_sp.jpg");
		padding: 50px 0;
	}
	.footer-20th .-link img {
		max-width: none !important;
		height: 90px !important;
	}
}
.sec-special .note-list li, .sec-special .note li {
	display: table;
}
.sec-special {
	background: #841215;
  color: #ffffff;
	font-size: 16px;
	line-height: 1.8;
	position: relative;
	z-index: 1;
}
.sec-special .content-inner {
	max-width: 840px;
	margin: 0 auto;
	padding: .1px 20px;
}
.sec-special .note-list > li {
font-size:14px;}
.sec-special .note-list > li:first-letter {
  font-family: 'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',sans-serif;
	letter-spacing: normal;
}
.sec-special .note-list-m.-dot > li:before {
	content: "・";
	width: 1em;
}
.content-title {
	text-align: center;
	padding: 70px 0 135px;
  position: relative;
}
.content-title::before {
	content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
	background: url("../images/christmas2025_preview/sec_bg02.png") 50% 0 no-repeat;
}
.content-title .-copy {
	font-size: 24px;
  font-weight: 800;
  color: #e9d9ae;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 2.25;
  margin-top: 2.2em;
}
@media screen and (max-width: 767px) {
	.sec-special {
		font-size: calc( 100vw * 14 / 375);
	}
	.sec-special .note-list > li {
		line-height: 1.75;
		font-size: calc( 100vw * 12 / 375);
	}
	.content-title {
		padding: 0 0 calc( 100vw * 220 / 750);
	}
  .content-title::before {
    background-image: url("../images/christmas2025_preview/sec_bg02_sp.png");
    background-position: 50% 100%;
    background-size: 100% auto;
  }
	.content-title .-copy {
  font-weight: 700;
		font-size: calc( 100vw * 28 / 750);
        margin-top: 2.3em;
    padding-right: 0;
    line-height: 2.14;
	}
	.content-title .-copy span {
		letter-spacing: -0.12em;
		display: inline-block;
	}
}
.content-nav {
	background: #dbc697 url(../images/christmas2025_preview/sec_bg04.png) 50% bottom repeat-x;
	padding: 70px 0 80px;
	position: relative;
}
.content-nav ul {
  max-width: 616px;
	margin: 0 auto -10px;
}
.content-nav li {
  margin: 0 0 10px;
}
.content-nav li > a {
	display: block;
	position: relative;
}
.content-nav li.btn-official {
	position: relative;
}
.content-nav li.btn-official a[class^="btn"] {
  border-radius: 9999em;
  width: 248px;
  height: 36px;
  position: absolute;
  bottom: 20px;
  display: block;
  overflow: hidden;
  text-indent: -9999em;
}
.content-nav li.btn-official a.btn01 {
  left: 9%
}
.content-nav li.btn-official a.btn02 {
  right: 9%
}
@media screen and (max-width: 767px) {
	.content-nav {
    background-size: auto calc( 100vw * 28 / 750);
		padding: calc( 100vw * 100 / 750) calc( 100vw * 35 / 750) calc( 100vw * 90 / 750);
	}
	.content-nav ul {
		max-width: calc( 100vw * 680 / 750);
	  margin: 0 auto -2%;
	}
  .content-nav li {
    margin: 0 0 2%;
  }
  .content-nav li.btn-official a[class^="btn"] {
    width: calc( 100% * 270 / 680);
    height: calc( 100% * 72 / 232);
    bottom: calc( 100% * 30 / 232);
  }
  .content-nav li.btn-official a.btn01 {
    left: calc( 100% * 65 / 680);
  }
  .content-nav li.btn-official a.btn02 {
    right: calc( 100% * 60 / 680);
  }
}

.-ti01 {
	font-size: min(100vw * 52 / 840, 52px);
  font-weight: 800;
	text-align: center;
	line-height: 1.45;
}
.-ti01 .-tx {
	display: block;
	line-height: 1;
}
.-ti01 .-date {
  color: #b37f2f;
	font-size: 65.38%;
  line-height: 1;
  display: inline-block;
  margin: .9em 0 0;
  padding-right: .5em;
}
.-ti01 .-date strong {
  color: #a12124;
	font-size: 152.94%;
  font-weight: inherit;
  display: inline-block;
  vertical-align: baseline;
  transform: translateY(.05em);
  padding: 0 .06em 0 .2em;
}
.-ti02 {
	width: 140px;
	height: 44px;
	font-size: 18px;
  font-weight: 500;
	background: #3b5f51;
	color:#dbc697;
	line-height: 1;
	text-align: center;
	position: relative;
	margin: 0 auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
  box-shadow: .3em .3em #b37f2f;
}
.-ti03 {
  border-top: 5px solid #d9b569;
  border-bottom: 5px solid #d9b569;
	background: #3b5f51;
	font-size: 34px;
	color: #dbc697;
	text-align: center;
	line-height: 1.34;
	font-weight: 700;
	position: relative;
	margin: 0 auto .95em;
}
.-ti03 .-tx::before,
.-ti03 .-tx::after {
  content: "";
  width: 88px;
  height: 72px;
	background: url(../images/christmas2025_preview/sec_bg06l.png) 50% 0 no-repeat;
  display: block;
  position: absolute;
}
.-ti03 .-tx::before {
  top: -19px;
  left: 0;
}
.-ti03 .-tx::after {
  width: 54px;
  height: 43px;
	background-image: url(../images/christmas2025_preview/sec_bg06r.png);
  bottom: -11px;
  right: 0;
}
.-ti03 .-tx {
  max-width: 1200px;
	display: block;
	position: relative;
  margin: 0 auto;
	padding: .55em 0 .55em;
}
.-list-detail + .-ti03 {
	margin-top: 3.7em;
}
@media screen and (max-width: 767px) {
	#contentMain {
		padding-top: 75px;
	}
	.content-inner {
		padding: .1px 30px;
	}
  .-ti01 {
		font-size: calc( 100vw * 60 / 750);
  }
  .-ti01 .-date   {
    margin: .3em 0 0;
  }
	.-ti02 {
		font-size: calc( 100vw * 26 / 750);
		width: calc( 100vw * 200 / 750);
		height: calc( 100vw * 60 / 750);
	}
	.-ti03 {
    border-top-width: calc( 1em * 6 / 42);
    border-bottom-width: calc( 1em * 6 / 42);
		font-size: calc( 100vw * 42 / 750);
		margin-bottom: .7em;
	}
  .-ti03 .-tx {
        padding: .7em 0 .65em;
  }
  .-ti03 .-tx::before,
  .-ti03 .-tx::after {
    background-size: contain;
  }
  .-ti03 .-tx::before {
    width: calc(100vw * 93 / 750);
    height: calc(100vw * 77 / 750);
    top: calc(100vw * -26 / 750);
    left: 0;
  }
  .-ti03 .-tx::after {
    width: calc(100vw * 55 / 750);
    height: calc(100vw * 45 / 750);
    bottom: calc(100vw * -13 / 750);
  }
	.-list-detail + .-ti03 {
		margin-top: 4.3em;
	}
}
.-btn {
	background: url(../images/christmas2025_preview/btn_bg01.png) no-repeat 0 50%;
	font-size: 24px;
  font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
  color: #dbc697 !important;
		width: 420px;
		height: 93px;
	margin: 205px auto 0;
  padding-right: .2em;
	position: relative;
	transition: all .3s ease;
	text-decoration: none !important;
  letter-spacing: .04em;
}
.-btn.-entry {
  background-image: url(../images/christmas2025_preview/btn_bg02.png);
  padding-right: .2em;
  letter-spacing: .1em;
}
.-btn .-inner {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
    padding-left: .2em;
}
.-btn .tx-kana {
  letter-spacing: -.08em;
}
span.-btn {
	filter: grayscale(1) contrast(50%);
}
a.-btn:hover {
	opacity: .8;
}
.-btn + .-btn {
	margin-top: 22px;
}
.-btn-caption {
	text-align: center;
	margin-top: 1em;
	display: block;
	line-height: 1.6;
}
.-btn-caption + .-btn,
.icon-att + .-btn {
	margin-top: 45px;
}
@media screen and (max-width: 767px) {
	.-btn {
		background-size: contain;
		font-size: calc( 100vw * 36 / 750);
		width: calc( 100vw * 600 / 750);
		height: calc( 100vw * 139 / 750);
		margin: calc( 100vw * 200 / 750) auto 0;
    padding-bottom: 2%;
	}
	.-btn.-entry {
	}
	.-btn + .-btn {
    	margin-top: 4%;
	}
	.-btn-caption {
		margin-top: .8em;
	}
	.-btn-caption + .-btn,
	.icon-att + .-btn {
		margin-top: 3.5em;
	}
}
.content-mv {
	background: url(../images/christmas2025_preview/sec_bg01.jpg) 50% 0;
}
.sec-cp {
	padding: 0 0 187px;
	position: relative;
}
.sec-cp::before {
  content: "";
  width: 100%;
  height: 300px;
	background: url(../images/christmas2025_preview/sec_bg03.png) 50% 100% no-repeat, url(../images/christmas2025_preview/sec_bg03c.png) 50% 100% repeat-x, url(../images/christmas2025_preview/sec_bg03b.png) 50% 100% repeat-x;
  left: 0;
  bottom: -10px;
  display: block;
  position: absolute;
  z-index: 1;
}
.sec-cp .content-inner {
	max-width: 900px;
	padding: .1px 50px .1px;
}
.sec-cp .sec-text {
	background: #dbc697;
  color: #3b6052;
	position: relative;
}
.sec-cp .sec-text::before,
.sec-cp .sec-text::after {
  content: "";
  width: 100%;
  height: 20px;
	background: url(../images/christmas2025_preview/sec_bg04.png) 50% 0 repeat-x;
  display: block;
}
.sec-cp .sec-text .content-inner {
  max-width: none;
	background: url(../images/christmas2025_preview/sec_bg05.png) 50% 100% no-repeat;
  position: relative;
	padding: 75px 0 55px;
}
.sec-cp .sec-text p {
  font-weight: 800;
}
.sec-cp .sec-detail {
	padding: 0 0 160px;
}
.sec-cp .sec-detail.-first {
	padding-top: 80px;
}
.sec-cp .sec-detail .sec-info{
	margin-top: 8em;
	margin-bottom: 0;
	font-size: 15px;
}
.sec-cp .tx-att {
	color:#d9b567 !important;}
.sec-cp .icon-star {
	color:#f668a1 !important;}
a.tx_link {
	color: #73d3a7 !important;
}
.sec-cp .icon-att {
	font-size: 16px;
	display: table;
	font-weight: 500;
	border-radius: 9999em;
	background: #d9b567;
	color:#3b5f51;
	margin: 1em auto 0;
	padding: .6em 2em .6em;
	line-height: 1;
}
.sec-cp hr.hr0 {
	height: 0;
	border: none;
	margin: 25px 0;
}
.sec-cp .-ti01 .-icon {
	display: block;
	margin-top: 1.2em;
}
.sec-cp .-lead {
	font-size: 20px;
	font-weight: 800;
	margin: 1.2em 0 1.6em;
  padding-left: .5em;
    line-height: 2;
	text-align: center;
}
.sec-cp .-lead .note-list {
	margin: .5em 0 2.3em;
}
.sec-cp .-lead.tx-att {
	text-align: center;
}
.sec-cp .-text {
	margin: 13px 0px -0.8em;
    line-height: 2.25;
}
.sec-cp .-img {
	margin: 9px 0 6px 124px;
}
.sec-cp .-text + .-img {
	margin-top: -56px;
}
.sec-cp .-list-detail {
	font-size: 16px;
	line-height: 2.125;
	margin: 0 0;
	padding: 0 0 1px;
	border-bottom: 2px solid #d9b567;
}
.sec-cp dl.-list-detail {
	display: flex;
	align-items: flex-start;
}
.sec-cp .-list-detail.-bl0{
	padding-bottom: 0;
	border-bottom: none;  
}
.sec-cp .-list-detail > dt {
	clear: both;
  border-radius: .4em;
	font-size: 15px;
  font-weight: 500;
	width: 94px;
	background: #d9b567;
  color: #3b5f51;
	text-align: center;
	margin: 30px 30px 30px 0;
	padding: .3em 0 .27em;
	white-space: nowrap;
}
.sec-cp .-list-detail > dt .fs-s {
	font-size: 12px !important;
	line-height: 1.5;
	text-align: left;
	display: inline-block;
	padding: .3em 0;
}
.sec-cp .-list-detail > dd {
	width: calc( 100% - 124px );
	padding: 1.30em 0;
}
.sec-cp dl.-list-detail > dd .note-list {
	margin-top: .1em;
	line-height: 1.95;
}
.sec-cp .-list-detail > dd.tx-line01 {
	padding-top: 2em;
}
.sec-cp dl.-list-detail.-top > dd {
	padding-top: 2.2em;
}
.sec-cp .-list-detail > dd .fs-s {
	font-size: 14px;
}
.sec-cp .-list-detail.-detail-img {
	padding-bottom: 25px;
  border-top: none;
}
@media screen and (max-width: 767px) {
	.sec-cp {
		padding: 0 0 calc( 100vw * 235 / 750);
	}
  .sec-cp::before {
    background-image: url(../images/christmas2025_preview/sec_bg03_sp.png), url(../images/christmas2025_preview/sec_bg03b_sp.png);
    background-size: 100% auto;
    height: calc(100vw * 191 / 750);
    bottom: calc(100vw * -10 / 750);
  }
	.sec-cp .content-inner {
		padding: 0 25px .1px;
		padding: .1px calc( 100vw * 25 / 375) .1px;
	}
  .sec-cp .sec-text::before,
  .sec-cp .sec-text::after {
    height: calc( 100vw * 28 / 750);
    background-size: contain;
  }
  .sec-cp .sec-text .content-inner {
	  background-image: url(../images/christmas2025_preview/sec_bg05_sp.png);
    background-size: 100% auto;
    padding: calc( 100vw * 70 / 750) 0 calc( 100vw * 85 / 750);
  }
  .sec-cp .sec-detail {
		padding: calc( 100vw * 50 / 750) 0 calc( 100vw * 180 / 750);
	}
  /*.sec-cp .sec-detail:nth-child(3) {
		padding-bottom: calc( 100vw * 145 / 750);
	}*/
	.sec-cp .sec-detail.-first {
		padding-top: calc( 100vw * 120 / 750);
	}
	.sec-cp .sec-detail .content-inner {
		padding: .1px calc( 100vw * 35 / 750) .1px;
	}
	.-ti01 .-tx {
		margin: 0 calc( 100vw * 50 / 750);
    line-height: 1.33;
	}
	.sec-cp .icon-att {
        font-size: calc(100vw* 25 / 750);
	}
	.sec-cp .-ti01 .-icon {
		margin: calc( 100vw * 15 / 750) calc( 100vw * 90 / 750);
	}
	.sec-cp .-ti01 .-icon img {
		height: calc( 100vw * 80 / 750) !important;
	}
	.sec-cp .-lead {
		margin: .8em 0 1.1em;
        font-size: calc(100vw* 32 / 750);
        line-height: 1.875;
    padding: 0 .3em 0 0;
	}
	.sec-cp .-lead.tx-att {
		text-align: left;
	}
	.sec-cp .-text {
		margin: calc( 100vw * 15 / 750) calc( 100vw * 15 / 750) calc( 100vw * -15 / 750);
        line-height: 2;
	}
	.sec-cp .-img {
		margin:  calc( 100vw * 14 / 375) 3%  calc( 100vw * 30 / 375);
	}
	.sec-cp .-text + .-img {
		margin-top:  calc( 100vw * -40 / 375);
	}
	.sec-cp .-list-detail {
		font-size: calc( 100vw * 28 / 750);
		margin: 0 calc( 100vw * 15 / 750);
    padding: 0;
	}
	.sec-cp .-list-detail > dt {
		width: 5.5em;
		font-size: calc( 100vw * 26 / 750);
    margin: 1.3em calc( 100vw * 15 / 375) 0 0;
		padding: .1em 0;
	}
	.sec-cp .-list-detail > dd.tx-line01 {
		    padding-top: .55em;
	}
	.sec-cp .-list-detail > dt .fs-s {
		font-size: 10px !important;
		font-size: calc( 100vw * 10 / 375) !important;
		line-height: 1.3;
		padding: 0;
	}
	.sec-cp .-list-detail > dt .fs-m {
		font-size: calc( 100vw * 14 / 375) !important;
		line-height: 1.3;
		padding: 0;
		display: inline-block;
    text-align: left;
	}
	.sec-cp .-list-detail > dd {
		width: 100%;
		padding: .65em 0 1.7em 0;
    line-height: 2;
	}
	.sec-cp .-list-detail > dd .fs-s {
		font-size: 12px;
		font-size: calc( 100vw * 12 / 375);
	}
  .sec-cp dl.-list-detail {
    display: inherit;
  }
  .sec-cp dl.-list-detail + .-list-detail {
    margin-top: 1.6em
  }
	.sec-cp dl.-list-detail > dd .note-list {
		margin-top: .8em;
	}
	.sec-cp dl.-list-detail > dd .note-list > li {
		font-size: calc( 100vw * 13 / 375);
	}
  .sec-cp .-list-detail.-detail-img {
    margin-top: 0 !important;
    padding-bottom: calc( 100vw * 60 / 750);
  }
	.sec-cp .-list-detail.-detail-img .-img {
		margin: 0;
	}
}
@media screen and (min-width: 320px) and (max-width: 375px) {
	.-ti01 .-tx {
		font-size: calc(100vw * 31 / 750);
	}
}
