@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700;900&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
img {
		border: none;
		vertical-align: top;
		width: 100%;
		height: auto;
}
body {
		background-attachment: fixed;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-image: url("../images/body_bg_pc.jpg");
		font-family: YakuHanJP, "Zen Maru Gothic", sans-serif;
		font-weight: 500;
		font-style: normal;
		font-size: 15px;
		color: #646464;
}
@media(max-width: 767px) {
		.bodyLock {
				overflow: hidden
		}
}
h1, h2, h3, h4, h5, h6 {
		font-weight: normal;
}
@media(max-width: 767px) {
		body {
				background-repeat: repeat-y;
				background-position: 0 0;
				background-size: 100%;
				background-image: url("../images/base_bg.jpg")
		}
}
.wrap {
		max-width: 430px;
		margin: 0 auto;
		position: relative;
		background-repeat: no-repeat, repeat-y;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/kv_bg.jpg"), url("../images/base_bg.jpg");
		overflow: hidden
}
@media(min-width: 768px) {
		.wrap {
				border-left: 8px solid rgba(175, 202, 246, 0.15);
				border-right: 8px solid rgba(175, 202, 246, 0.15);
				background-color: #fff;
		}
}
@media(max-width: 767px) {
		.section_inner {
				padding: 0 10px
		}
}
p {
		line-height: 1.8;
}
ul {
		list-style: none
}
/*
header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 1000;
}
*/
.header_inner {
		max-width: 430px;
		margin: 0 auto;
		/* padding: 20px; */
		box-sizing: border-box;
		position: relative;
}
.header_inner .header_logo {
		width: 134px;
		z-index: 1000;
		position: absolute;
		top: 20px;
		left: 20px;
}
.header_logo img {
		width: 100%;
		height: auto
}
.kv {
		height: 136vw;
		display: flex;
		align-items: flex-end;
		overflow: hidden;
		margin-bottom: -22vw;
		position: relative;
		z-index: 0
}
.kv_main {
		position: relative;
		width: 119vw;
		left: -9.5vw;
}
.kv_main::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/kv_catch.png")
}
.kv_main img {
		width: 117.6vw;
		height: auto;
}
@media(min-width: 768px) {
		.kv {
				height: 590px;
				margin-bottom: -95px;
		}
		.kv_main {
				width: 512px;
				left: -41px;
		}
		.kv_main img {
				width: 512px;
				height: auto;
		}
}
@media(max-width: 375px) {
		.kv {
				height: 119vw;
				margin-bottom: -23vw;
		}
		.kv_main {
				position: relative;
				width: 100vw;
				left: 0;
		}
		.kv_main img {
				width: 100vw;
				height: auto;
		}
		.kv_main::after {
				background-image: url("../images/kv_catch_se.png")
		}
}
.introduction_section {
		text-align: center;
}
.intro_first_section {
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 100%;
		background-image: url("../images/intro_first_section_bg.png");
		position: relative;
		z-index: 1;
		padding-top: 12vw;
}
.intro_first_section {
		height: 62vw;
}
@media(min-width: 768px) {
		.intro_first_section {
				padding-top: 50px;
		}
		.intro_first_section {
				height: 260px;
		}
}
.copy {
		text-align: right;
		padding: 0 25px;
		font-size: 14px;
}
.section_title {
		width: 220px;
		height: 48px;
		margin: 0 auto 25px;
		border-radius: 60px;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
}
.section_title.mark-W {
		width: 255px;
}
.section_title .markCatch {
		position: absolute;
		top: -26px;
		left: -44px;
		width: 80px;
		height: 76px;
		z-index: 5
}
.monitor_section .section_title, .faq_section .section_title, .morenaku_section .section_title, .w-chance_section .section_title, .premio_section .section_title, .live_section .section_title {
		position: relative;
		z-index: 5;
		top: 63px;
		margin-top: -75px;
}
.section_title.wide {
		width: 285px;
		height: 70px
}
.section_title.wideEX {
		width: 290px;
		height: 78px
}
.section_title::before, .section_title::after {
		content: '';
		position: absolute;
		border-radius: 60px;
}
.section_title::before {
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 0;
		background: linear-gradient(90deg, rgba(166, 207, 255, 1) 0%, rgba(205, 198, 253, 1) 28%, rgba(245, 188, 251, 1) 74%, rgba(166, 255, 156, 1) 100%);
		pointer-events: none
}
.section_title::after {
		width: calc(100% - 2px);
		height: calc(100% - 2px);
		top: 1px;
		left: 1px;
		z-index: 1;
		background: linear-gradient(40deg, rgba(173, 225, 249, 1) 0%, rgba(99, 199, 235, 1) 64%, rgba(173, 225, 249, 1) 100%);
}
.campaign_section .section_title {
		margin-bottom: 8px;
}
.section_title h2 {
		font-size: 19px;
		font-weight: 700;
		color: #fff;
		position: relative;
		z-index: 5
}
.section_title h2 span {
		transform: translateY(-1px)
}
/* ========== */
.cmn_catch-M {
		font-size: 17px;
		font-weight: 500;
		text-align: center;
		line-height: 1.5;
}
.cmn_catch-B {
		font-size: 17px;
		font-weight: 700;
		text-align: center;
		line-height: 1.5;
}
.cmn_plus {
		font-size: 14px;
		line-height: 1.6;
}
.cmn_notes {
		font-size: 12px;
		font-weight: 400;
		line-height: 1.6;
}
.cmn_day-L {
		font-size: 24px;
		font-weight: 700;
		text-align: center;
}
.cmn_day-M {
		font-size: 17px;
		font-weight: 700;
		text-align: center;
}
.mb5 {
		margin-bottom: 5px !important;
}
.mb10 {
		margin-bottom: 10px !important;
}
.mb15 {
		margin-bottom: 15px !important;
}
.mb20 {
		margin-bottom: 20px !important;
}
.mb25 {
		margin-bottom: 25px !important;
}
.mb30 {
		margin-bottom: 30px !important;
}
.mb35 {
		margin-bottom: 35px !important;
}
/* ========== */
.about_section {
		text-align: center;
		padding: 0 20px;
		background: #fff;
}
.about_date {
		font-size: 28px;
		font-weight: 700;
		line-height: 1.6;
		margin: 0 0 10px;
}
.about_date_notes {
		text-align: center;
		font-size: 13px;
		margin: 0 0 20px;
}
.about_caption {
		text-align: center;
		line-height: 1.8;
		font-size: 16px;
		padding-bottom: 25px;
}
@media(max-width: 767px) {
		.about_caption {
				font-size: 3.8vw;
				padding-bottom: 20px;
		}
		.about_date_notes {
				font-size: 11px;
		}
}
/* ========== */
.campaign_section {
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/campaign_bg.jpg");
		padding-top: 94px;
		padding-bottom: 80px;
		margin-bottom: -50px;
}
@media(max-width: 767px) {
		.campaign_section {
				padding-top: 80px;
		}
}
.cp-1_section {
		margin-bottom: -10px;
}
.cp-2_section {
		margin-bottom: -30px;
}
.cp-1_section, .cp-2_section, .cp-3_section {
		position: relative;
}
.cp-1_section img, .cp-2_section img, .cp-3_section img {
		width: 100%;
		height: auto
}
.cp-1_section .frame-1, .cp-2_section .frame-2, .cp-3_section .frame-3 {
		position: relative;
}
.cp-1_section .frame-1_chara, .cp-2_section .frame-2_chara, .cp-3_section .frame-3_chara {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
}
.cp-1_section .frame-1_caption {
		position: absolute;
		top: 60px;
		left: -25px;
		width: 100%;
}
.cp-2_section .frame-2_caption {
		position: absolute;
		top: 81px;
		left: 65px;
		width: 100%;
		text-align: center;
}
.cp-3_section .frame-3_caption {
		position: absolute;
		top: 93px;
		left: -65px;
		width: 100%;
		text-align: center;
}
.frame_upper {
		font-size: 13px;
		line-height: 1.4;
		margin: 0 0 5px;
}
.frame_bottom {
		margin-bottom: 10px;
}
@media(max-width: 767px) {
		.cp-1_section .frame-1_caption {
				top: 16vw;
				left: -7vw;
		}
		.cp-2_section .frame-2_caption {
				top: 19vw;
				left: 14vw;
		}
		.cp-3_section .frame-3_caption {
				top: 23vw;
				left: -15vw;
		}
		.frame_bottom {
				margin-bottom: 5px;
		}
}
.frame_catch {
		text-align: center;
		margin-bottom: 5px;
		font-size: 20px;
		font-weight: 700;
		display: flex;
		flex-direction: column;
		align-items: center;
}
.icon_catch-1, .icon_catch-2, .icon_catch-3, .icon_catch-4 {
		position: relative;
}
.icon_catch-1::before, .icon_catch-2::before, .icon_catch-3::before, .icon_catch-3::after {
		content: '';
		display: block;
		position: absolute;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
}
.icon_catch-1::before {
		background-image: url("../images/icon_catch-1.png");
		width: 27px;
		height: 29px;
		right: -19px;
		top: -13px;
}
.icon_catch-2::before {
		background-image: url("../images/icon_catch-2.png");
		width: 12px;
		height: 17px;
		left: -13px;
		top: 1px;
}
.icon_catch-3::before {
		background-image: url("../images/icon_catch-3.png");
		width: 27px;
		height: 30px;
		left: -27px;
		top: -13px;
}
.icon_catch-3::after {
		background-image: url("../images/icon_catch-4.png");
		width: 27px;
		height: 30px;
		right: -27px;
		top: -13px;
}
.frame_catch p {
		line-height: 1.4;
}
.cp-1_section .frame-1_caption .frame_catch p {
		line-height: 1.2;
}
.frame_catch .large {
		font-size: 120%;
}
.frame_catch .small {
		font-size: 80%;
}
.frame_catch + p {
		text-align: center;
		line-height: 1.4;
		position: relative;
		font-size: 16px;
}
.cp-1_section .plus {
		text-align: center;
		font-size: 13px;
		margin: 5px 0 10px;
		transform: translateX(-5px)
}
.cp-1_section .plus span {
		display: inline-block;
		position: relative;
}
.cp-1_section .plus span::before, .cp-1_section .plus span::after {
		content: '';
		display: block;
		position: absolute;
		top: 7px;
		width: 1px;
		height: 13px;
		background: #666;
}
.cp-1_section .plus span::before {
		left: -7px;
		transform: rotate(-40deg)
}
.cp-1_section .plus span::after {
		right: -7px;
		transform: rotate(40deg)
}
span.marker {
		position: relative;
}
span.marker::before {
		content: '';
		display: block;
		position: absolute;
		bottom: 4px;
		left: 0;
		width: 100%;
		height: 6px;
		background: #FFD1DD;
		mix-blend-mode: multiply;
		transform-origin: left center;
}
.frame-2_catch {
		margin-bottom: 5px;
}
.frame-2_catch + p {
		text-align: center;
		line-height: 1.4;
		position: relative;
		font-size: 16px;
}
@media(max-width: 767px) {
		.frame_catch {
				text-align: center;
				margin-bottom: 5px;
				font-size: 18px;
				font-weight: 700;
		}
		.cp-1_section .plus {
				font-size: 11.5px;
		}
}
@media(max-width: 375px) {
		.frame_catch + p {
				font-size: 15px;
		}
		.cp-1_section .plus {
				margin: 3px 0;
		}
}
.linkBtn {
		width: 130px;
		font-size: 14px;
		border-radius: 10px;
		position: relative;
}
.linkBtn.sizeM {
		font-size: 16px;
}
@media(max-width: 767px) {
		.linkBtn.sizeS {
				font-size: 13px;
		}
}
.linkBtn.sizeM {
		width: 180px;
}
.linkBtn.sizeL {
		width: 270px;
		font-size: 17px;
}
.linkBtn::before, .linkBtn::after {
		content: '';
		position: absolute;
		border-radius: 8px;
}
.linkBtn::before {
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 0;
		background: linear-gradient(90deg, rgba(166, 207, 255, 1) 0%, rgba(205, 198, 253, 1) 28%, rgba(245, 188, 251, 1) 74%, rgba(166, 255, 156, 1) 100%);
		pointer-events: none
}
.linkBtn::after {
		width: calc(100% - 2px);
		height: calc(100% - 2px);
		top: 1px;
		left: 1px;
		z-index: 1;
		background: linear-gradient(45deg, rgba(34, 185, 244, 1) 0%, rgba(4, 160, 221, 1) 49%, rgba(68, 189, 236, 1) 100%);
		pointer-events: none
}
.linkBtn a {
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		text-decoration: none;
}
.linkBtn.sizeS {
		width: 135px;
		margin: 0 auto 0;
}
.linkBtn.sizeS a {
		height: 34px;
}
.linkBtn.sizeL a {
		height: 52px
}
@media(max-width: 767px) {
		.linkBtn.sizeS {
				width: 125px;
		}
		.linkBtn.sizeS a {
				height: 34px;
		}
}
.linkBtn.sizeM a {
		height: 52px;
}
.linkBtn a span {
		transform: translateY(-1px) translateX(-5px);
		position: relative;
		z-index: 5
}
.linkBtn a::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4.5px);
		right: 13px;
		width: 5px;
		height: 5px;
		transform: rotate(-45deg);
		border-bottom: 2px solid #fff;
		border-left: 2px solid #fff;
		z-index: 5
}
.linkBtn a.right::after {
		top: calc(50% - 4.5px);
		right: 20px;
		width: 5px;
		height: 5px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
		border-bottom: none;
		border-left: none;
		z-index: 5
}
.linkBtn.sizeL a::after {
		transform: rotate(225deg);
		top: calc(50% - 3.5px);
		right: 18px;
}
/* ========== */
.morenaku_notes {
		font-size: 12px;
		text-align: center;
		transform: translateY(-15px)
}
@media(max-width: 767px) {
		.morenaku_notes {
				font-size: 11px;
		}
}
.stand_photo {
		max-width: 345px;
		margin: 0 auto 20px;
}
.stand_photo img {
		width: 100%;
}
.stand_hd {
		font-size: 13px;
		margin-bottom: 5px
}
.stand_spec {
		font-size: 13px;
		margin-bottom: 20px
}
.area_btn_gr {
		max-width: 310px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 auto
}
.area_btn {
		width: calc(50% - 4px);
		margin: 0 0 8px;
		border-radius: 8px;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
}
.area_btn::before, .area_btn::after {
		content: '';
		position: absolute;
		border-radius: 8px;
}
.area_btn::before {
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 0;
		background: linear-gradient(90deg, rgba(166, 207, 255, 1) 0%, rgba(205, 198, 253, 1) 28%, rgba(245, 188, 251, 1) 74%, rgba(166, 255, 156, 1) 100%);
		pointer-events: none
}
.area_btn::after {
		width: calc(100% - 2px);
		height: calc(100% - 2px);
		top: 1px;
		left: 1px;
		z-index: 1;
		background: linear-gradient(45deg, rgba(34, 185, 244, 1) 0%, rgba(4, 160, 221, 1) 49%, rgba(68, 189, 236, 1) 100%);
}
.area_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		text-decoration: none;
		height: 40px;
		color: #fff;
		width: 100%;
		position: relative;
		z-index: 5
}
.area_btn a span {
		transform: translateY(-1px);
		position: relative;
		z-index: 5
}
.area_btn a span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 2px);
		right: -15px;
		width: 5px;
		height: 5px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg)
}
/* ========== */
.cmn_frame_wrap {
		max-width: 380px;
		margin: 0 auto
}
.cmn_frame {
		border-radius: 40px;
		position: relative;
		padding: 20px 20px 40px
}
@media(max-width: 767px) {
		.cmn_frame {
				padding: 0 20px 40px
		}
}
.cmn_frame_in {
		position: relative;
		z-index: 2
}
.cmn_frame {
		padding-top: 60px;
}
.cmn_frame::before, .cmn_frame::after {
		content: '';
		position: absolute;
		border-radius: 40px;
}
.cmn_frame::before {
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 0;
		background: linear-gradient(90deg, rgba(166, 207, 255, 1) 0%, rgba(205, 198, 253, 1) 28%, rgba(245, 188, 251, 1) 74%, rgba(166, 255, 156, 1) 100%);
		pointer-events: none
}
.cmn_frame::after {
		width: calc(100% - 2px);
		height: calc(100% - 2px);
		top: 1px;
		left: 1px;
		z-index: 1;
		background-repeat: repeat;
		background-position: center 0;
		background-size: 13px;
		background-image: url("../images/bg_grid.png");
		background-color: #fff
}
/* ========== */
.monitor_section {
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/monitor_bg.png");
		padding-top: 0;
		padding-bottom: 25px;
}
.monitor_serif_wrap {
		text-align: center;
		margin: 0 0 20px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/monitor_serif.png");
		height: 115px;
		box-sizing: border-box;
		width: calc(100% + 40px);
		left: -20px;
		position: relative;
}
.monitor_serif_wrap2 {
		text-align: center;
		margin: 0 0 20px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/monitor_serif2.png");
		height: 100px;
		box-sizing: border-box;
		width: calc(100% + 40px);
		left: -20px;
		position: relative;
}
.monitor_serif {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100px;
}
.monitor_serif_wrap2 .monitor_serif {
		height: 86px
}
@media(max-width: 767px) {
		.monitor_serif_wrap {
				background-image: url("../images/monitor_serif_sp.png");
				margin: 0 0 20px;
				height: 31vw;
				width: calc(100% + 30px);
				left: -15px;
				margin-bottom: 10px;
		}
		.monitor_serif {
				height: 24.5vw;
		}
}
.monitor_serif-1 {
		font-size: 14px;
		font-weight: 500;
}
.monitor_serif-1 span {
		display: inline-block;
		position: relative;
}
.monitor_serif-1 span::before, .monitor_serif-1 span::after {
		content: '';
		display: block;
		position: absolute;
		top: 4px;
		width: 1px;
		height: 16px;
		background: #666;
}
.monitor_serif-1 span::before {
		left: -9px;
		transform: rotate(-45deg)
}
.monitor_serif-1 span::after {
		right: -10px;
		transform: rotate(45deg)
}
.monitor_serif-2 {
		line-height: 1.4;
		font-size: 18px;
		font-weight: 700;
}
.item_3000 {
		margin-bottom: 25px;
}
.item_3000 img {
		width: 100%;
		height: auto
}
.cmn_hd_center {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 25px 0 10px
}
.cmn_hd {
		font-size: 15px;
		font-weight: 700;
		border: 2px solid;
		border-image: linear-gradient(90deg, rgba(166, 207, 255, 1) 0%, rgba(205, 198, 253, 1) 28%, rgba(245, 188, 251, 1) 74%, rgba(166, 255, 156, 1) 100%) 1;
		padding: 3px 10px
}
.present_frame {
		border-radius: 40px;
		position: relative;
		padding: 0;
		min-height: 100px;
		min-width: 310px;
		margin: 0 auto 30px
}
.present_frame_in {
		position: relative;
		z-index: 2
}
.present_frame::before, .present_frame::after {
		content: '';
		position: absolute;
		border-radius: 40px;
}
.present_frame::before {
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 0;
		background: linear-gradient(90deg, rgba(166, 207, 255, 1) 0%, rgba(205, 198, 253, 1) 28%, rgba(245, 188, 251, 1) 74%, rgba(166, 255, 156, 1) 100%);
		pointer-events: none
}
.present_frame::after {
		width: calc(100% - 2px);
		height: calc(100% - 2px);
		top: 1px;
		left: 1px;
		z-index: 1;
		background-color: #fff;
}
.present_frame_caption {
		border-top: 1px solid;
		border-image: linear-gradient(90deg, rgba(166, 207, 255, 1) 0%, rgba(205, 198, 253, 1) 28%, rgba(245, 188, 251, 1) 74%, rgba(166, 255, 156, 1) 100%) 1;
		background: linear-gradient(45deg, rgba(34, 185, 244, 1) 0%, rgba(4, 160, 221, 1) 49%, rgba(68, 189, 236, 1) 100%);
		color: #fff;
		position: relative;
		z-index: 5;
		padding: 10px 0;
		text-align: center;
		width: calc(100% - 2px);
		margin: 0 1px;
		border-radius: 0 0 40px 40px;
		top: -1px;
		font-size: 15px;
}
.present_frame_caption a {
		text-decoration: none;
		color: #fff;
		text-align: center;
}
.present_frame_caption span {
		position: relative;
		transform: translateX(-5px)
}
.present_frame_caption span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 3px);
		right: -10px;
		width: 5px;
		height: 5px;
		transform: rotate(45deg);
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		z-index: 5;
}
.present-2 {
		max-width: 167px;
		margin: 0 auto 30px;
}
.present-2 img, .present-3 img {
		width: 100%;
		height: auto
}
.present-3 {
		max-width: 205px;
		margin: 0 auto;
}
.present_thumb {
		margin-bottom: 8px;
}
.stand_hd {
		line-height: 1.6;
		font-size: 14px;
}
.stand_hd .fat {
		position: relative;
		padding-left: 15px;
}
.stand_hd .fat::before {
		content: '';
		display: block;
		position: absolute;
		top: 6px;
		left: 0;
		width: 10px;
		height: 10px;
		background: #646464;
}
.present_notes {
		font-size: 12px;
		font-weight: 400;
}
@media(max-width: 767px) {
		.present_notes {
				font-size: 11px;
		}
}
/* ========== */
.monitor_notes {
		font-size: 11px;
		margin-left: 1em;
}
.monitor_notes li {
		list-style: none;
		margin: 0 0 3px;
		line-height: 1.5;
		position: relative;
}
.monitor_notes li span {
		display: block;
		position: absolute;
		top: 0;
		left: -1em
}
.monitor_frame {
		border: 1px solid #646060;
		border-radius: 6px;
		padding: 15px 10px;
		text-align: center;
		margin-top: 25px;
		margin-bottom: 30px;
}
.monitor_frame p {
		font-size: 12px;
}
.monitor_frame_date_hd_wrap {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: 15px;
}
.monitor_frame_date_hd {
		font-size: 14px;
		font-weight: 500;
		display: flex;
		justify-content: center;
}
.monitor_frame_date_hd span {
		padding: 2px 8px;
		border: 1px solid;
		border-image: linear-gradient(90deg, rgba(166, 207, 255, 1) 0%, rgba(205, 198, 253, 1) 28%, rgba(245, 188, 251, 1) 74%, rgba(166, 255, 156, 1) 100%) 1;
}
.monitor_frame p.monitor_frame_date {
		font-size: 24px;
		font-weight: 700;
}
.fukuro_flex {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		margin-bottom: 20px;
}
.fukuro_flex p {
		line-height: 1.4;
		font-size: 18px;
		position: relative;
}
.fukuro_flex span {
		font-weight: 700;
}
.fukuro_flex p::before, .fukuro_flex p::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 40px);
		width: 20px;
		height: 80px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 20px;
}
.fukuro_flex p::before {
		background-image: url("../images/fukuro_flex-1.png");
		left: -30px;
}
.fukuro_flex p::after {
		background-image: url("../images/fukuro_flex-2.png");
		right: -30px;
}
.morenaku_section {
		padding-bottom: 25px;
		background-repeat: no-repeat;
		background-position: 0 200px;
		background-size: 100%;
		background-image: url("../images/morenaku_bg.png");
}
.morenaku_step {
		text-align: center;
		margin: 20px 0 5px;
		font-weight: 500;
		font-size: 14px;
}
.morenaku_step span {
		display: inline-block;
		position: relative;
}
.morenaku_step span::before, .morenaku_step span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 3px);
		width: 8px;
		height: 8px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 8px;
		background-image: url("../images/icon_dia.png")
}
.morenaku_step span::before {
		left: -15px
}
.morenaku_step span::after {
		right: -15px
}
.step_lead {
		line-height: 1.6;
		text-align: center;
		font-weight: 500;
		font-size: 16px;
		margin: 0 0 10px;
}
.step_notes {
		font-size: 12px;
		font-weight: 500;
		line-height: 1.6;
		text-align: center;
}
.step_thumb {
		max-width: 290px;
		margin: 0 auto 10px;
}
.step_thumb img {
		width: 100%;
		height: auto
}
.step_here {
		text-align: center;
		font-weight: 500;
		margin: 40px 0 10px;
}
.step_here span {
		position: relative;
}
.step_here span::before, .step_here span::after {
		content: '';
		display: block;
		position: absolute;
		top: 4px;
		width: 1px;
		height: 18px;
		background: #666;
}
.step_here span::before {
		left: -10px;
		transform: rotate(-45deg)
}
.step_here span::after {
		right: -10px;
		transform: rotate(45deg)
}
.step_alert {
		font-size: 12px;
		font-weight: 500;
		line-height: 1.6;
		margin-top: 10px;
		margin-bottom: 25px;
}
.step_btn {
		max-width: 250px;
		font-size: 20px;
		font-weight: 500;
		margin: 0 auto 20px
}
.step_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: #d68aff;
		border-radius: 12px;
		width: 245px;
		height: 60px;
		text-decoration: none;
		color: #fff;
		box-sizing: border-box;
		border: 1px solid #d68aff;
}
.step_btn a span {
		transform: translateY(-1px)
}
/* ========== */
.w-chance_section {
		padding-bottom: 25px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/w-chance_bg.png")
}
/* ========== */
.premio_section {
		padding-bottom: 25px;
		background-repeat: no-repeat;
		background-position: 0 130px;
		background-size: 100%;
		background-image: url("../images/premio_bg.png")
}
.premio-1 {
		max-width: 225px;
		margin: 0 auto 20px
}
.about_premio_wrap {
		display: flex;
		justify-content: center;
		margin-bottom: 20px;
}
.about_premio {
		background-color: #dcf5ff;
		border-radius: 8px;
		height: 38px;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 0 10px
}
.about_premio_hd {
		font-size: 17px;
		font-weight: 500;
		color: #5AA5E6;
		transform: translateY(-1px);
}
.premio-2 {
		max-width: 290px;
		margin: 0 auto;
}
.premio-2 p {
		margin-left: 16px;
}
.premio-3 {
		max-width: 335px;
		margin: 0 auto;
}
/* ========== */
.live_section {
		padding-bottom: 25px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/live_bg.png")
}
.movie {
		max-width: 285px;
		margin: 0 auto;
}
/* ========== */
.faq_section {
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
		background-image: url("../images/faq_bg.png");
		position: relative;
}
.faq_section::before, .faq_section::after {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		background-repeat: no-repeat;
		background-size: 100%;
		z-index: 10;
		pointer-events: none;
}
.faq_section::before {
		background-image: url("../images/faq_first_bg.png");
		background-position: 0 0;
		height: 110px;
		top: 80px;
}
.faq_section::after {
		bottom: 8px;
		height: 95px;
		background-position: 0 bottom;
		background-image: url("../images/faq_last_bg.png");
}
@media(max-width: 767px) {
		.faq_section::before {
				top: 80px;
				left: -5px;
		}
		.faq_section::after {
				bottom: -14px;
		}
}
.faq_item {
		position: relative;
		z-index: 5;
		margin-bottom: 40px;
}
.faq_item_gr .faq_item:last-child {
		margin-bottom: 0;
}
.faq_q, .faq_a {
		margin-left: 45px;
		position: relative;
}
.faq_q .mark, .faq_a .mark {
		position: absolute;
		top: 0;
		left: -45px;
		width: 32px;
		height: 32px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 50%;
		font-weight: 700;
}
.faq_q .mark {
		color: #3FA9F5;
		border: 1px solid #3FA9F5;
}
.faq_a .mark {
		color: #EE4F7A;
		border: 1px solid #EE4F7A;
}
.faq_q .mark span, .faq_a .mark span {
		transform: translateY(-2px)
}
.faq_q {
		margin-bottom: 20px;
}
/* ========== */
.fat {
		font-weight: 700;
}
/* ========== */
.hrCenter {
		display: flex;
		justify-content: center;
}
/* ========== */
.imgLink1 {
		width: 145px;
		height: 13px;
		vertical-align: middle;
}
footer {
		text-align: center;
		padding-top: 30px;
		padding-bottom: 25px;
}
.footer_hd {
		font-size: 14px;
		margin: 0 0 3px;
		line-height: 1;
}
.footer_mail {
		width: 238px;
		margin: 0 auto 20px;
		padding-top: 12px;
}
.footer_mail img {
		width: 100%;
		height: auto;
}
.footer_mail a {
		color: #646060;
		text-decoration: none;
}
.footer_day {
		font-weight: 700;
		font-size: 22px;
		line-height: 1.6;
		margin: 0 0 5px;
}
.copy_flex {
		display: flex;
		justify-content: center;
		align-items: center;
}
.copy_flex p {
		margin: 0 10px;
		font-size: 14px;
}
/* ========== */
.term_cont_wrap {
		height: 240px;
		box-sizing: border-box;
		border: 1px solid #646060;
		padding: 10px;
		overflow: auto;
		margin-bottom: 30px;
}
.term_cont a {
		color: #646060;
		text-decoration: underline;
}
.term_cont h5 {
		margin: 20px 0 5px;
		font-size: 15px;
		font-weight: 700;
}
.term_cont h6 {
		margin: 20px 0 5px;
		font-size: 14px;
		font-weight: 700;
}
.term_cont p {
		line-height: 1.8;
		margin: 0 0 1em;
		font-size: 13px;
}
.term_cont .dot, .term_cont .attention {
		margin-left: 1em;
		list-style: none
}
.term_cont .dot li, .term_cont .attention li {
		line-height: 1.8;
		margin: 0 0 3px;
		position: relative;
		font-size: 13px;
}
.term_cont .dot li::before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.term_cont .attention li span.mark {
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.term_cont .dot li:last-child, .term_cont .attension li:last-child {
		margin-bottom: 0;
}
.term_cont .subContGr {
		margin: 1em 0
}
.term_cont .subCont {
		margin: 0 0 10px
}
.term_cont .subCont dt {
		margin: 0 0 5px;
		font-weight: 500;
		font-size: 13px;
}
.term_cont .subCont dd {
		font-size: 13px;
}
/* ========== */
@media(min-width: 768px) {
		.sp_nav, .navBoard, .overlay {
				display: none !important
		}
}
.overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 900;
		display: none
}
.sp_nav {
		width: 40px;
		height: 40px;
		position: fixed;
		top: 15px;
		right: 15px;
		z-index: 5000;
		cursor: pointer;
		box-sizing: border-box;
}
.sp_nav_trigger {
		width: 40px;
		height: 40px;
		border-radius: 50%;
		position: relative;
		border: 1px solid #e8bdff;
		background: none;
		cursor: pointer
}
.sp_nav_trigger .sp_nav_trigger_bar {
		position: absolute;
		top: 18.5px;
		left: 9px;
		height: 1px;
		width: 20px;
		pointer-events: none
}
.sp_nav_trigger .sp_nav_trigger_bar:first-child {
		top: 15.5px;
		background: #e8bdff;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(2) {
		top: 21.5px;
		background: #e8bdff;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3), .sp_nav_trigger .sp_nav_trigger_bar:nth-child(4) {
		background: none;
		top: 18.5px;
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3) {
		transform: rotate(45deg);
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(4) {
		transform: rotate(-45deg);
}
.sp_nav_trigger .sp_nav_trigger_bar:nth-child(3)::before, .sp_nav_trigger .sp_nav_trigger_bar:nth-child(4)::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 1px;
		background: #e8bdff;
		transform: scaleX(0);
		transform-origin: right center;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(3)::before {
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(4)::before {
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:first-child {
		opacity: 0;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(2) {
		opacity: 0;
}
.sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(3)::before, .sp_nav_trigger.navOpen .sp_nav_trigger_bar:nth-child(4)::before {
		transform: scaleX(1);
}
.navBoard {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: 100%;
		background-image: url("../images/nav_bg.png?205");
		z-index: 1000;
		min-height: 400px;
		text-align: center;
		box-sizing: border-box;
		display: none
}
.navBoard_wrap {
		padding: 50px 0 60px;
}
.navBoard_wrap ul {
		max-width: 250px;
		margin: 0 auto
}
.navBoard_wrap li {
		list-style: none;
		font-size: 16px;
		border-bottom: 1px solid #e8bdff;
		opacity: 0;
		transition: opacity 0.4s;
}
.isVisible .navBoard_wrap li {
		opacity: 1
}
.navBoard_wrap ul li:nth-child(2) {
		transition-delay: 0.05s;
}
.navBoard_wrap ul li:nth-child(3) {
		transition-delay: 0.1s;
}
.navBoard_wrap ul li:nth-child(4) {
		transition-delay: 0.15s;
}
.navBoard_wrap ul li:nth-child(5) {
		transition-delay: 0.2s;
}
.navBoard_wrap ul li:nth-child(6) {
		transition-delay: 0.25s;
}
.navBoard_wrap ul li:nth-child(7) {
		transition-delay: 0.3s;
}
.navBoard_wrap ul li:nth-child(8) {
		transition-delay: 0.35s;
}
.navBoard_wrap li a {
		color: #3FA9F5;
		text-decoration: none;
		display: block;
		padding: 15px;
		text-align: center;
}
@media(max-width: 375px) {
		.navBoard_wrap li a {
				padding: 10px;
		}
}
/* ========== */
@media(max-width: 960px) {
		.pcNav {
				display: none
		}
}
.sideLogo_wrap {
		position: fixed;
		width: 405px;
		left: calc(calc(calc(calc(100vw - 430px) / 2) / 2) - 202px);
		top: 0;
		display: flex;
		align-items: center;
		height: 100vh;
}
.sideLogo {
		width: 405px;
}
.sideLogo img {
		width: 100%;
		height: auto
}
.pcNav {
		position: fixed;
		width: 270px;
		right: calc(calc(calc(calc(100vw - 430px) / 2) / 2) - 135px);
		right: calc(25vw - 242.5px);
		top: 0;
		display: flex;
		align-items: center;
		height: 100vh;
}
.pcNav ul {
		position: relative;
}
.pcNav ul::before {
		content: '';
		display: block;
		position: absolute;
		top: -85px;
		left: -57px;
		width: 105px;
		height: 110px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 105px;
		background-image: url("../images/pcNav_hd.png")
}
.pcNav li {
		list-style: none;
		margin-bottom: 15px;
		position: relative;
}
.pcNav li::after {
		content: '';
		display: block;
		position: absolute;
		top: 16px;
		right: 18px;
		width: 10px;
		height: 10px;
		transform: rotate(45deg);
		border-top: 1px solid #3fa9f5;
		border-right: 1px solid #3fa9f5;
		z-index: 10
}
.pcNav li a {
		font-size: 16px;
		text-decoration: none;
		color: #3fa9f5;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		position: relative;
		height: 44px;
		width: 270px;
		box-sizing: border-box;
		padding-left: 20px;
}
@media(max-width: 1300px) {
		.sideLogo_wrap {
				width: 23%;
				left: calc(calc(calc(calc(100vw - 430px) / 2) / 2) - 11.5%);
		}
		.sideLogo {
				width: 100%;
		}
		.pcNav {
				width: 240px;
				ight: calc(calc(calc(calc(100vw - 430px) / 2) / 2) - 120px);
		}
		.pcNav li {
				font-size: 14px;
		}
		.pcNav li a {
				font-size: 14px;
				width: 240px;
		}
}
@media(max-width: 1080px) {
		.pcNav ul {
				transform: scale(0.8)
		}
}
@media(max-width: 960px) {
		.sideLogo_wrap, .pcNav {
				display: none
		}
}
.pcNav li a span {
		position: relative;
		z-index: 5;
		transform: translateY(-0.5px)
}
.pcNav li a::before, .pcNav li a::after {
		content: '';
		display: block;
		position: absolute;
		border-radius: 60px;
		transition: background 0.3s;
}
.pcNav li a::before {
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		z-index: 0;
		background: linear-gradient(90deg, rgba(166, 207, 255, 1) 0%, rgba(205, 198, 253, 1) 28%, rgba(245, 188, 251, 1) 74%, rgba(166, 255, 156, 1) 100%);
		pointer-events: none
}
.pcNav li a::after {
		width: calc(100% - 2px);
		height: calc(100% - 2px);
		top: 1px;
		left: 1px;
		z-index: 1;
		background: #fff;
}
@media (hover: hover) {
		.pcNav li:hover::after {
				border-top: 1px solid #fff;
				border-right: 1px solid #fff;
		}
		.pcNav li:hover a {
				color: #fff;
		}
		.pcNav li:hover a::after {
				background: #3fa9f5;
		}
}
/* ========== */
.kv_main picture {
		opacity: 0;
		animation: fadeIn 0.7s linear forwards;
		animation-delay: 0.6s
}
.kv_main::after {
		opacity: 0;
		animation: fadeIn 0.4s linear forwards;
		animation-delay: 1.1s
}
@keyframes fadeIn {
		0% {
				opacity: 0;
		}
		100% {
				opacity: 1;
		}
}
.fadeInNml {
		opacity: 0;
		transition: opacity 0.3s linear;
}
@media(min-width: 768px) {
		.about_section .fadeInNml {
				opacity: 1;
		}
}
.fadeInNmlActive {
		opacity: 1;
}
.catchItem {
		opacity: 0;
		transition: opacity 0.25s linear;
}
.catchItemActive {
		opacity: 1;
}
.catchItem span.marker::before {
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.35s;
		transform: scaleX(0);
}
.catchItem.catchItemActive span.marker::before {
		transform: scaleX(1);
}
.frame-1, .frame-3 {
		transform-origin: left bottom;
		transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
		transform: rotate(-40deg);
		opacity: 0
}
.frame-2 {
		transform-origin: right bottom;
		transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
		transform: rotate(40deg);
		opacity: 0
}
.frame-1_chara, .frame-2_chara, .frame-3_chara {
		opacity: 0;
		transition: opacity 0.6s 0.3s;
}
.isActive .frame-1, .isActive .frame-1_chara, .isActive .frame-2, .isActive .frame-2_chara, .isActive .frame-3, .isActive .frame-3_chara {
		transform: rotate(0deg);
		opacity: 1
}
.frame-1_caption, .frame-2_caption, .frame-3_caption {
		opacity: 0;
		transition: opacity 0.6s 0.2s;
}
.isActive .frame-1_caption, .isActive .frame-2_caption, .isActive .frame-3_caption {
		opacity: 1
}
.frame-1_caption span.marker::before, .frame-2_caption span.marker::before, .frame-3_caption span.marker::before {
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.55s;
		transform: scaleX(0);
}
.isActive .frame-1_caption span.marker::before, .isActive .frame-2_caption span.marker::before, .isActive .frame-3_caption span.marker::before {
		transform: scaleX(1);
}
@media(max-width: 767px) {
		.fadeInNml {
				transition: opacity 0.4s linear;
		}
		.catchItem {
				transition: opacity 0.45s linear;
		}
		.catchItem span.marker::before {
				transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.35s;
		}
		.frame-1, .frame-3 {
				transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s;
		}
		.frame-2 {
				transition: transform 1.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s;
		}
		.frame-1_chara, .frame-2_chara, .frame-3_chara {
				transition: opacity 0.6s 0.65s;
		}
		.frame-1_caption, .frame-2_caption, .frame-3_caption {
				transition: opacity 0.6s 0.55s;
		}
		.frame-1_caption span.marker::before, .frame-2_caption span.marker::before, .frame-3_caption span.marker::before {
				transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.65s;
		}
}
.comingsoon {
		text-align: center;
		line-height: 1.6;
		font-size: 18px;
}
.comingsoon span {
		color: #3fa9f5;
		font-size: 120%;
		font-weight: 700;
}
.cp-1_section .close_col {
		position: absolute;
		top: 30px;
		left: 60px;
		width: calc(100% - 180px);
		height: calc(100% - 90px);
		z-index: 100;
		display: flex;
		justify-content: center;
		align-items: center;
		transition: opacity 1s;
		transition-delay: 0.8s;
		opacity: 0
}
.cp-1_section.isActive .close_col {
		opacity: 1
}
.closeTxt {
		position: relative;
		z-index: 100;
		color: #fff;
		font-size: 20px;
		font-weight: 700;
		text-align: center;
		line-height: 1.6;
}
.close_col::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 20px;
		background: #999;
		opacity: 0.8;
}
@media(max-width: 767px) {
		.cp-1_section .close_col {
				top: 8vw;
				left: 14vw;
				width: 56vw;
				height: 63vw;
		}
}
.sup {
		font-size: 70%;
		margin: 0 2px 0 0;
		vertical-align: 2px
}
.small {
		font-size: 11px;
}