@charset "utf-8";

/*全LP（PCSP含め）共通設定*/
html {scroll-behavior: smooth;}/*smooth scroll*/
html.ignition {
    overflow: hidden; /* スクロールを禁止し、はみ出たコンテンツを非表示にする */
    height: 100%; /* 念のため高さを100%に指定しておくとより確実です */
}
#starry_sky {
background: -webkit-linear-gradient(bottom, #2e4ba5 0%, #02247b 15%, #030831 80%) no-repeat #030831;
background: -o-linear-gradient(bottom, #2e4ba5 0%, #02247b 15%, #030831 80%) no-repeat #030831;
background: linear-gradient(to top, #2e4ba5 0%, #02247b 15%, #030831 80%) no-repeat #030831;
	width: 100%;
	height: 500px;
	position: relative;
	border-radius: 10px;
	overflow: hidden;
}
.star {
	background-color: white;
	position: relative;
	border-radius: 50%;
	animation-name: twinkle;
	animation-iteration-count: infinite;
	z-index: 0;
}
@keyframes twinkle {
	50% {
		transform: scale(0.2);   
	}
} 
#kitty_anim{
	width: 100%;
    height: 100%;
	float:left;
	z-index: 1;
	position: relative;
}

/*PCSP共通*/
.coupon_noticetxt dl b {font-size: 1.4em}
#follow-up_nav a::after, .btn a::after {transform: rotate(0deg);}
.fc_blue {color:#18399b;}

/*759px以下*/
@media screen and (max-width: 759.9px) {
hgroup > div {
	font-size: 28px;
	font-weight: bold;
	color: #CC0D21;
	text-align: center;
	margin: 0 auto 15px;
}
hgroup > h2 {color: #E61B61}
hgroup > p {
	text-align: center;
	font-weight: bold;
	margin-bottom: 15px;
}

/*MV*/
.mv {background: none!important}
.notice2 {margin-bottom: 0;}

/*news*/
#news .inner {
	background: #FFF;
	box-shadow: 1px 1px 5px #999;
	box-sizing: border-box;
}
#news dl {
	font-size: 14px;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #000;
}
#news dl:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
#news dt {
	width: 80px;
	color: #000;
	text-align: left;
	font-weight: 500;
}
#news dd {width: calc(100% - 80px);}

/*予告*/
#coming_soon~p {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #18399b;
    margin: 50px 0 0;
}
#coming_soon li.contents-list {
	width: calc(1038px / 4) !important;
	background: #FFF;
	margin: 5px 5px 5%;
    padding: 2%;
    font-size: 16px;
    text-align: center;
    line-height: 1.5;
    border-radius: 10px;
    box-shadow: 1px 1px 5px #999;
    box-sizing: border-box;
    position: relative;
}
#coming_soon li.contents-list:before,
#coming_soon li.contents-list:after {
	width: 82px;
	height: 54px;
    content: "";
    position: absolute;
    background: url(../../images/flag01.png) no-repeat;
    background-size: 100%;
}
#coming_soon li:nth-last-of-type(odd).contents-list:before,
#coming_soon li:nth-last-of-type(odd).contents-list:after {
    content: "";
    position: absolute;
    background: url(../../images/flag01.png) no-repeat;
    background-size: 100%;
}
#coming_soon li:nth-last-of-type(even).contents-list:before,
#coming_soon li:nth-last-of-type(even).contents-list:after {
    content: "";
    position: absolute;
    background: url(../../images/flag02.png) no-repeat;
    background-size: 100%;
}
#coming_soon li.contents-list:before {
	top: 0;
	left: 0;
}
#coming_soon li.contents-list:after {
	top: 0;
	right: -3px;
	transform: rotate(53deg);
}
#coming_soon li.contents-list > span {
	font-size: 28px;
	color: #e2012e;
	font-weight: bold;
}
#coming_soon li.contents-list > div {
	color: #E60013;
	font-size: 1.2em;
	letter-spacing: 5px;
	font-weight: bold;
}
#coming_soon li.contents-list > div strong{font-size: 1.4em;}
#coming_soon li.contents-list dt {margin-bottom: 5%;}
#coming_soon li.contents-list dt p {
    font-weight: bold;
    font-size: 1.2em;
    color: #18399b;
}
#coming_soon li.contents-list dd {
	margin-bottom: 3%;
	align-content: center;
}
#coming_soon li.contents-list dd p {
    margin-bottom: 5%;
}
#coming_soon li.contents-list dd p.important {font-size: 0.94em;}
#coming_soon li.contents-list dd p.important span {
	width: fit-content;
    font-weight: bold;
    margin: 0 auto 2%;
    display: block;
    text-decoration: underline 8px #FFF3008C;
    text-underline-position: from-font;
}

/*花火*/
#firework dt h2 {
	color: #e30035;
	font-size: 1.4em;
}
#firework .detailDay {
	background: #FFF;
	border-radius: 10px;
	margin-bottom: 25px;
	padding: 25px;
}
#firework .detailDay h3 {margin-bottom: 20px;}
#firework .detailDay p {
	width: 476px;
	margin: auto;
}
#firework .detailDay p small {
    width: 100%;
    text-align: right;
    display: inline-block;
    margin-bottom: 3%;
}
#firework .Hit-special {
	margin-bottom: 25px;
	padding: 10px;
	background: #FFF;
	border-radius: 10px;
}
/*#firework .Hit-special > dl {
	display: flex;
	gap:5px;
	margin: 25px 0;
}*/
#firework .Hit-special > dl > dt {
	margin: 2% auto;
}
#firework .Hit-special > dl > dt div {
	background: #13215d /*url(/cpn/summer/special/result/images/firework01.png) no-repeat 50%*/;
	background-size: 85%;
	font-size: 38px;
	align-content: center;
	color: #FFF;
	width: 80px;
	height: 80px;
	margin: 0 auto;
	text-align: center;
	border-radius: 60px;
	align-self: center;
	font-weight: 500;
}
#firework .Hit-special:first-child > dl > dt {position: relative}
#firework .Hit-special:first-child > dl > dt:before,
#firework .Hit-special:first-child > dl > dt:after {
	content: "";
	width: 140px;
	height: 140px;
}
#firework .Hit-special:first-child > dl > dt:before {
	background: url(../result/images/firework01.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: -40px;
	left: -65px;
}
#firework .Hit-special:first-child > dl > dt:after {
	background: url(../result/images/firework02.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: -40px;
	right: -65px;
}
#firework .Hit-special:first-child > dl > dt div {
	background: #e61b61 /*url(/cpn/summer/special/result/images/firework06.png) no-repeat 50%*/;
	background-size: 85%;
}
#firework .Hit-special:first-child > dl > dt h3 {color:#e61b61;}
#firework .Hit-special > dl > dt h3 {
	font-size: 24px;
	color:#20208C;
	align-content: center;
}
/*#firework .Hit-special > dl > dd {width: calc(100% - 170px);}*/
#firework .Hit-special > dl > dd > p {
	background: #e61b61;
	text-align: center;
	color: #FFF;
	line-height: 2;
	margin-bottom: 15px;
}
#firework .Hit-special > dl > dd > ul > li {margin-bottom: 15px}
#firework .Hit-special > dl > dd > ul > li dt {
	background: linear-gradient(180deg, #030831 -11.11%, #2E4BA5 94.28%);
	color: #FFF;
	text-align: center;
	line-height: 1.2;
	padding: 10px 0;
	/*border-radius: 10px 10px 0 0;*/
}
#firework .Hit-special > dl > dd > ul > li dd {border: 1px solid #2e4ba5;}
#firework .Hit-special > dl > dd > ul > li dd h4 {
	color:#E61B61;
	font-weight: 700;
	font-size: 52px;
	text-align: center;
	line-height: 1;
	padding: 15px 0;
}
#firework .Hit-special > dl > dd > ul > li dd p {text-align: center;}

#kitty_anim > img {
	position: absolute;
	bottom:0;
	z-index: 2;
}
#kitty_anim > img#shakudama {
	width: 12px;
	height: 25px;
	position: absolute;
	top: 98%;
	left: calc((100% - 12px) / 2);
	z-index: 1;
	transition: 5s;
	transition-delay: 1s;
}
.ignition #kitty_anim > img#shakudama {/*打ち上げ*/
	top: 10%;
	opacity: 0.5;
}
.btn_wrap2 .btn2 {
display: block;
	width: 90%;
	line-height: 3;
	text-align: center;
	text-decoration: none;
	background-color: #e30035;
	box-shadow: 5px 5px 0px #ac1449;
	transition: .3s;
	border-radius: 999px;
	margin: 15px auto;
	font-size: 20px;
}
.btn_wrap2 .btn2 a {
	width: 100%;
    display: block;
	color: #fff!important;
}

/*もっと見る*/
.discount_Wrap .moreBox {
    display: none;
    margin-bottom: 15px;
    padding: 0;
}
.discount_Wrap .click__more {
    width: 94%;
    font-size: 14px;
    color: #0074c1;
    position: absolute;
    bottom: 50px;
    padding-top: 25px;
    text-align: center;
    font-weight: bold;
    background: linear-gradient(180deg, rgb(255, 255, 255, 0) 0%, rgb(255, 255, 255, 1) 50%);
    cursor: pointer;
    transition: bottom 0.2s;
    box-sizing: border-box;
}
.discount_Wrap .click__more.resopen {
    position: absolute;
    bottom: 25px;
}
.discount_Wrap .click__more b {
    transform: rotate(90deg);
    position: inherit;
    margin: -5px 0 0 -15px;
    font-size: 20px;
}

/*x*/
#cp_details2 .discount_Wrap {
	padding: 15px 2%;
	background: #FFF;
	border-radius: 10px;
}

/*壁紙*/
#download_hellokitty_wallpaper .download_wallpaper {margin-bottom: 25px}
#download_hellokitty_wallpaper .download_set {
	background: #FFF;
	border-radius: 10px;
}
#download_hellokitty_wallpaper .download_set h3 {
    width: 100%;
    background: #14b0f9;
    color: #FFF;
    line-height: 2;
	border-radius: 10px 10px 0 0;
}
#download_hellokitty_wallpaper .download_set p {padding: 15px;}

/*おすすめ*/
#special {background: #FFF;}
#special h2 img {width: 220px;}

/*PRbanner*/
.pr_banner640 {
	width: 100%;
    margin-bottom: 1%;
}
.pr_banner640 a img {
    margin: 5% auto;
}
.pr_banner640 p {
    text-align: center;
    font-size: 12px;
}

}

/*760px以上*/
@media screen and (min-width: 760px), print {
hgroup > div {
	font-size: 48px;
	font-weight: bold;
	color: #CC0D21;
	text-align: center;
	margin: 0 auto 25px;
}
hgroup > h2 {color: #E61B61}
hgroup > p {
	font-size: 22px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 25px;
}

/*MV*/
.mv {background: none!important}
.notice2 {margin-bottom: 0;}

/*news*/
#news .inner {
	width: 750px;
	box-sizing: border-box;
	background: #FFF;
	box-shadow: 1px 1px 5px #999;
	box-sizing: border-box;
}
#news dl {
	display: flex;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #000;
}
#news dl:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}
#news dt {
	width: 100px;
	color: #000;
	margin: 0;
	font-size: 16px;
	text-align: left;
	font-weight: 500;
}
#news dd {
	width: calc(100% - 100px);
	font-size: 16px;
}

/*予告*/
#coming_soon~p {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: #18399b;
    margin: 3% 0 0;
}
#coming_soon {display: flex;flex-wrap: wrap;}
#coming_soon li.contents-list {
    width: calc(97% / 3);
    background: #FFF;
    margin: 2% 0.5%;
    padding: 3% 2%;
    font-size: 18px;
    text-align: center;
    line-height: 1.5;
    border-radius: 10px;
    box-shadow: 1px 1px 5px #999;
    box-sizing: border-box;
    position: relative;
}
#coming_soon li.contents-list:before,
#coming_soon li.contents-list:after {
	width: 120px;
    height: 85px;
    content: "";
    position: absolute;
    background: url(../../images/flag01.png) no-repeat;
    background-size: 100%;
}
#coming_soon li:nth-last-of-type(odd).contents-list:before,
#coming_soon li:nth-last-of-type(odd).contents-list:after {
    content: "";
    position: absolute;
    background: url(../../images/flag01.png) no-repeat;
    background-size: 100%;
}
#coming_soon li:nth-last-of-type(even).contents-list:before,
#coming_soon li:nth-last-of-type(even).contents-list:after {
    content: "";
    position: absolute;
    background: url(../../images/flag02.png) no-repeat;
    background-size: 100%;
}
#coming_soon li.contents-list:before {
	top: 0;
	left: 0;
}
#coming_soon li.contents-list:after {
	top: 0;
	right: -3px;
	transform: rotate(53deg);
}
#coming_soon li.contents-list > span {
	font-size: 28px;
	color: #e2012e;
	font-weight: bold;
}
#coming_soon li.contents-list > div {
	color: #E60013;
	font-size: 1.2em;
	letter-spacing: 5px;
	font-weight: bold;
}
#coming_soon li.contents-list > div strong{font-size: 1.4em;}
#coming_soon li.contents-list dt {margin-bottom: 8%;}
#coming_soon li.contents-list dt p {
	height: 90px;
	align-content: center;
    font-weight: bold;
    font-size: 1.1em;
    color: #18399b;
}
#coming_soon li.contents-list dd {align-content: center;}
#coming_soon li.contents-list dd p {
	height: 75px;
    margin-bottom: 5%;
    font-size: 0.94em;
}
#coming_soon li.contents-list dd p.important {font-size: 0.9em;}
#coming_soon li.contents-list dd p.important span {
	width: fit-content;
	font-weight: bold;
	margin: 0 auto 2%;
	display: block;
	text-decoration: underline 8px #FFF3008C;
	text-underline-position: from-font;
}

/*花火*/
#firework dt h2 {
	color: #e30035;
	font-size: 1.4em;
}
#firework .detailDay {
	background: #FFF;
	border-radius: 10px;
	margin-bottom: 25px;
	padding: 25px;
}
#firework .detailDay h3 {margin-bottom: 20px;}
#firework .detailDay p {
	width: 476px;
	margin: auto;
}
#firework .detailDay p small {
    width: 100%;
    text-align: right;
    display: inline-block;
    margin-bottom: 3%;
}
#firework .Hit-special {
	margin-bottom: 25px;
	padding: 25px;
	background: #FFF;
	border-radius: 10px;
}
/*#firework .Hit-special > dl {
	display: flex;
	gap:5px;
	margin: 25px 0;
}*/
#firework .Hit-special > dl > dt {
	width: 65%;
	display: flex;
	margin: 2% auto;
}
#firework .Hit-special > dl > dt div {
	background: #13215d /*url(/cpn/summer/special/result/images/firework01.png) no-repeat 50%*/;
	background-size: 85%;
	font-size: 48px;
	align-content: center;
	color: #FFF;
	width: 120px;
	height: 120px;
	margin: 0 25px;
	text-align: center;
	border-radius: 60px;
	align-self: center;
	font-weight: 500;
}
#firework .Hit-special:first-child > dl > dt {position: relative}
#firework .Hit-special:first-child > dl > dt:before,
#firework .Hit-special:first-child > dl > dt:after {
	content: "";
	width: 250px;
	height: 250px;
}
#firework .Hit-special:first-child > dl > dt:before {
	background: url(../result/images/firework01.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: -75px;
	left: -280px;
}
#firework .Hit-special:first-child > dl > dt:after {
	background: url(../result/images/firework02.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: -75px;
	right: -280px;
}
#firework .Hit-special:first-child > dl > dt div {
	background: #e61b61 /*url(/cpn/summer/special/result/images/firework06.png) no-repeat 50%*/;
	background-size: 85%;
}
#firework .Hit-special:first-child > dl > dt h3 {color:#e61b61;}
#firework .Hit-special > dl > dt h3 {
	font-size: 40px;
	color:#20208C;
	align-content: center;
	margin: 0;
}
/*#firework .Hit-special > dl > dd {width: calc(100% - 170px);}*/
#firework .Hit-special > dl > dd > p {
	background: #e61b61;
	text-align: center;
	color: #FFF;
	line-height: 2.4;
	margin-bottom: 15px;
}
#firework .Hit-special > dl > dd > ul {
	display: flex;
	gap: 5px;
}
#firework .Hit-special > dl > dd > ul > li {width: 50%;}
#firework .Hit-special > dl > dd > ul > li dt {
	background: linear-gradient(180deg, #030831 -11.11%, #2E4BA5 94.28%);
	color: #FFF;
	text-align: center;
	line-height: 1.2;
	padding: 10px 0;
	/*border-radius: 10px 10px 0 0;*/
}
#firework .Hit-special > dl > dd > ul > li dd {border: 1px solid #2e4ba5;}
#firework .Hit-special > dl > dd > ul > li dd h4 {
	color:#E61B61;
	font-weight: 700;
	font-size: 52px;
	text-align: center;
	line-height: 1;
	padding: 15px 0;
}
#firework .Hit-special > dl > dd > ul > li dd p {text-align: center;}
#kitty_anim > img {
	position: absolute;
	bottom:0;
	z-index: 2;
}
#kitty_anim > img#shakudama {
	width: 12px;
	height: 25px;
	position: absolute;
	top: 90%;
	left: calc((100% - 12px) / 2);
	z-index: 1;
	transition: 5s;
	transition-delay: 1s;
}
.ignition #kitty_anim > img#shakudama {/*打ち上げ*/
	top: 10%;
	opacity: 0.5;
}
.btn_wrap2 .btn2 {
    display: block;
    width: 90%;
    min-height: 60px;
    line-height: 72px;
    text-align: center;
    text-decoration: none;
    background-color: #e30035;
    box-shadow: 5px 5px 0px #ac1449;
    transition: .3s;
    border-radius: 999px;
    margin: 24px auto;
    font-size: 28px;
}
.btn_wrap2 .btn2 a {
	width: 100%;
    display: block;
	color: #fff!important;
}

/*もっと見る*/
.discount_Wrap .moreBox {
    display: none;
    margin-bottom: 15px;
    padding: 0;
}
.discount_Wrap .click__more {
    width: 96%;
    font-size: 18px;
    color: #0074c1;
    position: absolute;
    bottom: 75px;
    padding-top: 30px;
    text-align: center;
    font-weight: bold;
    background: linear-gradient(180deg, rgb(255, 255, 255, 0) 0%, rgb(255, 255, 255, 1) 50%);
    cursor: pointer;
    transition: bottom 0.2s;
}
.discount_Wrap .click__more.resopen {
    position: absolute;
    bottom: 25px;
}
.discount_Wrap .click__more b {
    transform: rotate(90deg);
    position: inherit;
    margin: 0 0 0 -15px;
    font-size: 20px;
}

/*x*/
#cp_details2 .discount_Wrap {
	padding: 25px;
	background: #FFF;
	border-radius: 10px;
}

/*壁紙*/
#download_hellokitty_wallpaper .download_wallpaper {
	display: flex;
	gap:5%;
	margin-bottom: 25px
}
#download_hellokitty_wallpaper .download_wallpaper dt {width: 30%;}
#download_hellokitty_wallpaper .download_wallpaper dd {width: 60%;}
#download_hellokitty_wallpaper .download_set {
	background: #FFF;
	border-radius: 10px;
}
#download_hellokitty_wallpaper .download_set h3 {
    width: 100%;
    background: #14b0f9;
    color: #FFF;
    line-height: 2;
	border-radius: 10px 10px 0 0;
}
#download_hellokitty_wallpaper .download_set p {padding: 15px;}

/*おすすめ*/
#special {background: #FFF;}
#special h2 img {width: 250px;}

/*PRbanner*/
.pr_banner640 {margin-bottom: 1%;}
.pr_banner640 a {
    width: 640px;
    display: block;
    margin: 2% auto;
}
.pr_banner640 a img {
	width: 100%;
	height: auto;
}
.pr_banner640 p {
    text-align: center;
	font-size: 14px;
}

/*調整*/
.notice2 {font-size: 38px;}

}


/*打ち上げ*/
#blackout{opacity: 0;}
.ignition #blackout{
	opacity: 1;
	transition: 1s;
	transition-delay: 4s;
	z-index: 1000;
	position: fixed;
	left: 0;
	top: -1px;
	width: 100%;
	height: 100%;
	opacity: 1;
	background: #030831;
}