@charset "utf-8";
/*ユーザーエージェント出し分け用*/
.iphone .android_show, .iphone .pc_show {
	display: none;
}
.android .iphone_show, .android .pc_show {
	display: none;
}
.pc .iphone_show, .pc .android_show {
	display: none;
}
.pc .visible .iphone_show, .pc .visible .android_show {
	display: block;
}
.objects {
	display: none !important;
}
.mt-10em {
	margin-top: -10em;
}
.mt2em{margin-top:2em !important;}
.t-center {
	text-align: center;
}
.fs_s {
	font-size: 0.8em;
}
.fs_ss {
	font-size: 0.5em;
}

/*fin*/
#fin {
	position: relative;
}
#fin_inner {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 100;
	background: rgba(89, 89, 89, .85);
	text-align: center;
}
#fin_inner span {
	display: block;
	width: 500px;
	margin: 160px auto 0;
	padding: 1em 1em 0.8em;
	background: #ff0f6e;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
}
/* ==========================================================================
流用パーツ
========================================================================== */
.contents.main {
	font-size: 16px;
}
.fv {
	margin-bottom: 0;
	padding-bottom: 0;
	margin-top: 1em;
	background: linear-gradient(0deg, #545454, #000);
}
.fv h1 {
	margin-top: 0;
	position: relative;
	font-size: 35px;
	line-height: 100%;
}
.fv .logo_smart {
	width: 460px;
	margin: auto;
	padding-bottom: 20px;
}
.fv .date {
	margin: 15px auto 0;
	padding-bottom: 15px;
	text-align: center;
	font-size: 26px;
	font-weight: bold;
}
.schedule .lead {
	font-size: 18px;
}
.schedule .lead span {
	font-size: 30px;
	color: #d80c18;
	font-weight: bold;
}
.fv_im {
	width: 100%;
	margin: 15px auto 0;
}
.schedule {
	margin-top: 0;
}
.schedule > p.lead {
	margin: 2em 0 1.38em;
	text-align: center;
}
.schedule > p.lead_2 {
	margin: 2em 0 1.38em;
	text-align: center;
	font-size: 23px;
	font-weight: bold;
}
.schedule h2 {
	padding-bottom: 0;
	margin: 2.5em 0 1em;
	border-bottom: none;
	line-height: 1.6;
	font-size: 28px;
}
.schedule h2 span {
	display: inline-block;
	font-weight: bold;
}

.grp h2 {
	font-size: 2.2em;
	font-weight: bold;
	letter-spacing: 0.1em;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 1em auto 1em;
}

.camp img {
	max-width: 1000px;
	margin: 1em auto 0;
	display: block;
}
.btn-ticket a {
	background-image: -moz-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%);
	background-image: -webkit-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%);
	background-image: -ms-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%);
	border-radius: 4px;
	border-bottom: 3px solid #bec5c8;
	padding: 10px;
	color: #fff;
	width: 100%;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 16px;
	display: block;
	margin-top: 20px;
}
.btn-ticket a:hover, .info .box-kiyaku .red_btn {
	opacity: .8;
}
.btn-ticket.yellow a {
	color: #fff;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.1em;
	background-image: -webkit-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%);
	background-image: -ms-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%);
	padding: 1em;
}
.btn-ticket.red a {
	background: #F00033;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}
/*チェック済みボタン*/
button.entry-btnStyle_checked {
	background-image: -moz-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%);
	background-image: -webkit-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%);
	background-image: -ms-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%);
}
button.entry-btnStyle_checked:hover {
	opacity: .8;
}
/*未チェックボタン*/
button {
	background: -moz-linear-gradient(top, #aaaaaa 0%, #959595 20%, #959595 100%);
	background: -webkit-linear-gradient(top, #aaaaaa 0%, #959595 20%, #959595 100%);
	background: linear-gradient(to bottom, #aaaaaa 0%, #959595 20%, #959595 100%);
	position: relative;
	display: block;
	padding: 0.5em;
	background-color: #de121e;
	font-size: 28px;
	border-radius: 100px;
	text-align: center;
	font-weight: bold;
	width: 93%;
	max-width: 500px;
	margin: 50px auto 0;
	color: #fff;
	box-shadow: none !important;
	border: none !important;
}
/* items
-------------------------------------*/
.schedule .items .item .clm {
	margin-top: 4em;
}
.schedule .items .item .texts {
	padding: 1.5em;
	line-height: 1.6;
}
.schedule .items .item .texts p {
	margin-top: 2em;
}
.schedule .items .item .texts p.texts_title {
	padding: 0.5em;
	margin-top: 0;
	border: 2px solid #fff;
	font-size: 1.50em;
	text-align: center;
}
.schedule .items .item .texts ul li {
	padding-left: 1em;
	text-indent: -1em;
}
.schedule .items .item {
	margin-bottom: 0;
}
.gray_box {
	position: relative;
}
.yymm {
	margin: 2em auto 0;
	text-align: center;
	/*border: 5px solid #fff;*/
	padding: 0.6em;
	font-size: 1.2em;
	font-weight: bold;
	max-width: 650px;
	border-radius: 80px;
	color: #fff;
	/*background: #2b2b2b;*/
	text-decoration: underline;
}
.yymm_gray {
	position: absolute;
	text-align: center;
	padding: 0.8em;
	font-size: 1.3em;
	font-weight: bold;
	max-width: 650px;
	color: #fff;
	top: 0;
	right: 0;
	width: 100%;
	left: 0;
	margin: 0 auto;
}
.loop-wrap {
	display: flex;
	align-items: center;
	overflow: hidden;
	height: 50px;
	font-size: 1.2em;
}
.loop-area {
	display: flex;
	animation: loop-slide 100s infinite linear 1s both;
	list-style: none;
	margin: 0;
	padding: 0;
}
.loop-area .content {
	width: 700px;
	font-weight: bold;
	text-align: center;
	color: #FF9800;
}
.loop-area .content a {
	text-decoration: none !important;
	color: #ff0946;
	display: block;
}
@keyframes loop-slide {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%);
	}
}
/* btn */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.buttons {
	text-align: center;
}
.btn-hover {
	width: 100%;
	font-size: 2.5em;
	font-weight: 600;
	color: #fff;
	cursor: pointer;
	text-align: center;
	border: none;
	background-size: 300% 100%;
	border-radius: 8px;
	moz-transition: all .4s ease-in-out;
	-o-transition: all .4s ease-in-out;
	-webkit-transition: all .4s ease-in-out;
	transition: all .4s ease-in-out;
	font-style: italic;
	padding: 0.5em 0 0.45em;
}
.lp_fv_cta_btn .btn-hover {
	font-size: 1.8em;
}
.btn-hover:hover {
	background-position: 100% 0;
	moz-transition: all .4s ease-in-out;
	-o-transition: all .4s ease-in-out;
	-webkit-transition: all .4s ease-in-out;
	transition: all .4s ease-in-out;
}
.btn-hover:focus {
	outline: none;
}
.btn-hover.color-1 {
	background-image: linear-gradient(to right, #25aae1, #40e495, #30dd8a, #2bb673);
	box-shadow: 0 4px 15px 0 rgba(49, 196, 190, 0.75);
}
/* present
-------------------------------------*/
.present {
	max-width: 1000px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 2em;
	border: 7px solid #de121e;
	padding: 2em;
}
.present_title {
	text-align: center;
}
.present_title h2 {
	padding: 5px 20px 0;
	background: #de121e;
	display: inline-block;
	color: #000;
	font-size: 25px;
	text-align: center;
	letter-spacing: 2px;
	font-weight: bold;
	line-height: 100%;
}
.present .flex {
	justify-content: space-between;
	width: 80%;
	margin: 20px auto 0;
	text-align: center;
	align-items: flex-start;
}
.present .flex li {
	width: 49%;
}
.present .flex li p {
	font-size: 17px;
	margin-top: 10px;
}
.present .flex li p span {
	display: block;
	margin-top: 5px;
	font-size: 20px;
	font-weight: bold;
}
.mb0 {
	margin-bottom: 0 !important;
}
.play_btn a {
	position: relative;
	margin: 15px auto 0;
	padding: 1rem;
	display: block;
	background-color: #ffe500;
	color: #3d4361;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	width: 80%;
	height: 52px;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	border-radius: 100px;
	box-sizing: border-box;
	line-height: 120%;
	background: #ffe500;
	background: -moz-linear-gradient(left, #ffe500 0%, #ffb300 100%);
	background: -webkit-linear-gradient(left, #ffe500 0%, #ffb300 100%);
	background: linear-gradient(to right, #ffe500 0%, #ffb300 100%);
}
.play_btn a span {
	position: absolute;
	display: block;
	background-image: url(../images/playbtn.webp);
	background-size: 100% 100%;
	width: 20px;
	height: 20px;
	top: 50%;
	transform: translateY(-50%);
	right: 15px;
}
.day_im a {
	display: block;
}
.day_im a:hover {
	opacity: .8;
}
/* recommend
-------------------------------------*/
.recommend {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: 120px;
	padding: 2em 1em;
	height: auto;
	font-size: 28px;
	box-sizing: border-box;
}
.recommend.recommend_before {
	background: transparent;
	border: 3px solid transparent;
	border-image: linear-gradient(to right, #fc8e3d 0%, #ff0576 100%);
	border-image-slice: 1;
}
.recommend p {
	margin-bottom: 1em;
	font-weight: bold;
}
.recommend ul {
	display: flex;
	align-items: center;
	justify-content: center;
}
.recommend ul li:last-child {
	margin-left: 1em;
}
.recommend ul a {
	display: block;
}
/* ==========================================================================
section
========================================================================== */
.section {
	width: 1000px;
}
.section.section_01 {
	margin: 7.50em auto 8em auto;
}
.section.section_02 {
	margin: 4em auto 2em auto;
}
.section h2 {
	margin-bottom: 0.72em;
	font-size: 2.25em;
	text-align: center;
	font-weight: bold;
}
.section .items .item .hd {
	display: flex;
	align-items: center;
	padding-bottom: 1em;
}
.section .items .item .hd .date {
	font-size: 32px;
	font-weight: bold;
}
.section .box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
	margin-top: 40px;
}
.section .box .image {
	width: 534px;
	margin-right: 30px;
	position: relative;
}
.section .items .item .texts {
	align-items: center;
	background: transparent;
	padding: 0;
}
.section .items .item .texts p {
	text-align: center;
}
.section .box .tit {
	font-size: 32px;
	line-height: 1.25em;
}
.section .box .sub {
	margin-bottom: 1em;
	font-size: 24px;
	line-height: 1.25em;
}
.section .items .item .hd .tag {
	margin-right: 1em;
	border-radius: 5px;
	font-size: 20px;
}
.section .box .date_box {
	padding: 0.5em 0;
	margin-bottom: 1em;
	width: 100%;
	border: 1px solid #fff;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	box-sizing: border-box;
}
.section .box .normal {
	font-size: 16px;
}
.section.section_03 {
	margin: auto;
	text-align: center;
}
.section.section_03 .image {
	max-width: 728px;
	margin: auto;
}
.image a {
	display: block;
}
/* ==========================================================================
btn
========================================================================== */
.btn a {
	margin-top: 30px;
	display: block;
	background-color: #fff;
	color: #151515;
	font-size: 20px;
	text-align: center;
	width: 340px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	border-radius: 100px;
	padding-left: 10px;
	box-sizing: border-box;
}
.campaign .cp_view .btn a {
	width: 100%;
	background-color: #fff;
	color: #151515;
}
.btn a span {
	display: block;
	background-image: url(/../../../ft/teaser/common/images/playbtn.png);
	background-size: 100% 100%;
	width: 30px;
	height: 30px;
	margin-left: 10px;
}
/* ==========================================================================
information
========================================================================== */
.information, .information div {
	box-sizing: border-box;
}
.information {
	width: 1000px;
	margin: 0 auto;
	padding: 1.50em;
	background: #3b3b3b;
}
.information .info_title {
	margin-bottom: 1em;
	padding: 0.5em;
	border: 2px solid #fff;
	font-size: 1.50em;
	text-align: center;
	line-height: 1.6;
}
.information .info_box {
	display: flex;
}
.information .info_img {
	width: 60%;
	margin-right: 1.50em;
}
.information .info_text {
	width: 40%;
	line-height: 1.6;
}
.information .info_text ul {
	margin-top: 1em;
}
.information .info_text ul li {
	padding-left: 1em;
	text-indent: -1em;
}
/* ==========================================================================
pink
========================================================================== */
.pink {
	width: 1000px;
	margin: 0 auto;
	margin-top: 1em;
	padding: 1.50em 0;
	border: 1px solid #ff0577;
	text-align: center;
	font-size: 1.50em;
	font-weight: bold;
	line-height: 1.6;
	box-sizing: border-box;
}
.pink a {
	margin: 0 auto;
	margin-top: 1em;
	width: 442px;
}
/* ==========================================================================
btn_list
========================================================================== */
.btn_list {
	display: flex;
	width: 937px;
	margin: 0 auto;
	margin-top: 1.50em;
	box-sizing: border-box;
}
.btn_list li {
	width: 50%;
}
.btn_list li:first-of-type {
	margin-right: 2.06em;
}
.btn_list li a {
	background: #fc8e3d;
	background: -moz-linear-gradient(left, #fc8e3d 0%, #ff0576 100%);
	background: -webkit-linear-gradient(left, #fc8e3d 0%, #ff0576 100%);
	background: linear-gradient(to right, #fc8e3d 0%, #ff0576 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fc8e3d', endColorstr='#ff0576', GradientType=1);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	padding: 0.50em;
	width: 100%;
	border-radius: 1000px;
	color: #fff;
	font-size: 1.25em;
	text-align: center;
	text-decoration: none;
	line-height: 1.4;
	box-sizing: border-box;
}
.btn_list li a p:first-of-type {
	font-size: 1.20em;
}
/* ==========================================================================
program
========================================================================== */
.program {
	width: 100%;
	padding: 3.13em;
	background: #3b3b3b;
	box-sizing: border-box;
}
.program div, .program p, .program ul, .program li {
	box-sizing: border-box;
}
.program ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.program ul li {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.program ul li .image img {
	margin-bottom: 0.63em;
}
.program ul li .btn a {
	width: 100%;
	margin-top: 1em;
}
/* ==========================================================================
campaign...
========================================================================== */
.section.section_03 {
	margin: auto;
}
.campaign {
	position: relative;
	margin-top: 6em;
	padding: 2.5em 1.5em;
	/*   border: 2px solid #fff;*/
	background: #212121;
	line-height: 1.8;
}
.campaign.cs {
	padding-top: 4em;
}
.campaign h2 {
	position: absolute;
	top: -35px;
	left: 50%;
	transform: translateX(-50%);
	line-height: 130%;
	padding: 15px 105px 12px;
	border-radius: 6px;
	background: #ff0a74;
	font-size: 36px;
}
.campaign .caption_1 {
	text-align: center;
	font-size: 26px;
	line-height: 150%;
	font-weight: bold;
}
.campaign .caption_2 {
	margin-top: 1.5em;
	text-align: center;
	font-size: 22px;
	line-height: 150%;
	font-weight: bold;
}
.campaign .caption_3 {
	position: relative;
	margin-top: 2.5em;
	padding-bottom: 1.5em;
	text-align: center;
	font-size: 20px;
}
.campaign .caption_3::before {
	content: '';
	display: block;
	width: 60%;
	height: 2px;
	position: absolute;
	bottom: -20px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #ff0576;
	z-index: 1;
}
.campaign .twitter_btn a {
	display: block;
	padding: 0.8em 0;
	margin: 1em auto 0;
	margin-top: 2em;
	max-width: 300px;
	background: #1e9bf0;
	border-radius: 100px;
	color: #fff;
	font-size: 20px;
	text-decoration: none;
	text-align: center;
}
.live_notes {
	font-size: 17px;
	color: #fe0774;
}
.tokuten_scroll {
	font-size: 0.8em;
	padding: 2em;
	border: 1px solid #000;
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}
.tokuten_scroll .inn {
	padding-right: 2em;
	height: 230px;
	overflow-y: scroll;
	text-align: left;
}
.tokuten_scroll .inn .inn_box {
	margin-bottom: 2em;
}
.tokuten_scroll .inn .inn_box > ul > li {
	text-indent: -1em;
	margin-left: 1em;
	margin-bottom: 0.3em;
}
#wrapper {
	/*padding-bottom: 70px !important;*/
}
.campaign .btn {
	margin-top: 3em;
}
.campaign .btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto;
	padding: 0.7em 0;
	width: 340px;
	background-color: #ff8f3c;
	border-radius: 100px;
	color: #fff;
	font-size: 20px;
	text-align: center;
	text-decoration: none;
	line-height: 1;
}
.campaign .btn.yet a {
	background: none;
	border: 2px solid #fff;
	color: #fff;
}
.campaign .btn.yet {
	margin-top: 30px;
}
.cp_goods {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-top: 80px;
}
.cp_goods.center {
	justify-content: center;
}
.cp_goods.center .cp_view {
	margin-top: 25px;
}
.cp_view, .cp_goods {
	padding: 0 60px;
}
.cp_goods > div {
	width: 48.5%;
}
.goods_copy {
	font-size: 1px;
	color: #9c9c9c;
	text-align: left;
}
.cp_goods_ttl {
	margin-top: 10px;
	font-size: 22px;
	font-weight: bold;
}
.goods_list {
	margin-top: 8px;
	font-size: 16px;
	text-align: left;
}
.goods_list span {
	font-size: 14px;
}
.goods_list > li {
	position: relative;
	padding-left: 12px;
	line-height: 130%;
}
.goods_list > li:before {
	position: absolute;
	display: block;
	content: '';
	width: 6px;
	height: 6px;
	background: #fff;
	left: 0;
	top: 6px;
}
.goods_list > li:nth-of-type(n+2) {
	margin-top: 7px;
}
.cp_view.pc {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 15px;
}
.cp_view.pc li {
	width: 48.5%;
}
.cp_view li p {
	font-size: 15px;
	color: #a8a8a8;
}
.campaign .cp_view .btn {
	margin-top: 0;
}
.entry_end {
	margin-bottom: 50px;
	padding: 20px 0 15px;
	background: #555;
	font-size: 20px;
	font-weight: bold;
}
.p101_banner {
	width: 95%;
	max-width: 800px;
	margin: 120px auto 50px;
	text-align: center;
}
.p101_btn {
	width: 515px;
	margin: 50px auto 0;
}
.p101_btn a, .p101_banner a {
	display: block;
}
.p101_btn a:hover, .p101_banner a:hover {
	opacity: .7;
}
.related {
	margin-top: 50px;
	padding-top: 50px;
	border-top: 1px solid #888888;
}
.flex {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	-ms-align-items: center;
	align-items: center;
}
.flex .related_im {
	width: 49%;
}
.flex .related_info {
	width: 49%;
	text-align: center;
}
.related_category {
	width: 49%;
	padding: 0.6em 0 0.3em;
	background: #fff;
	color: #000;
	font-weight: bold;
	font-size: 20px;
	margin: 0 auto 0.3em;
}
.flex .related_info .btn a {
	width: 100%;
}
.related h3 {
	font-size: 26px;
	font-weight: bold;
	line-height: 150%;
}
.related .related_lead {
	margin-top: 15px;
	font-size: 20px;
	color: #ff0a74;
	font-weight: bold;
}
.related_caption {
	margin-top: 15px;
}
.apply {
	width: 93%;
	max-width: 500px;
	margin: 20px auto 0;
}
.apply a {
	position: relative;
	display: block;
	padding: 1em;
	background-color: #C90003;
	font-size: 28px;
	border-radius: 100px;
	text-align: center;
	font-weight: bold;
	background: linear-gradient(93deg, #ff5656, #b31a1d);
}
.btn_entry {
	background: linear-gradient(93deg, #ff7b02, #ff0a4c) !important;
}
/*.apply a::after {
 position: absolute;
 display: block;
 content: '';
 right: 15px;
 top: 50%;
 width: 20px;
 height: 27px;
 transform: translateY(-50%);
 background:url("../images/ic.png") no-repeat 0 0/20px;
}*/
.related_btn {
	margin: auto;
	width: 650px;
}
.related_btn a {
	position: relative;
	display: block;
	padding: 1.5em 1em 1.3em;
	font-size: 20px;
	font-weight: bold;
	color: #0091fe;
	border: 4px solid #0091fe;
	text-decoration: none;
	background: #fff;
	border-radius: 8px;
}
.related_btn a::before {
	position: absolute;
	display: block;
	content: '';
	right: 15px;
	top: 50%;
	width: 40px;
	height: 40px;
	transform: translateY(-50%);
	background: url("../images/ic_1.png") no-repeat 0 0/40px;
}
.btn_box {
	margin-top: 50px;
}
.btn_box li:nth-of-type(n+2) {
	margin-top: 15px;
}
.related_btn.btn2 a {
	color: #58b6ff;
	border: 4px solid #58b6ff;
}
.related_btn.btn3 a {
	color: #f2921c;
	border: 4px solid #f2921c;
}
.related_btn.btn4 a {
	color: #fff;
	border: none;
	background: #80b2dd;
}
.related_btn.btn5 a {
	border-image: linear-gradient(to right, #01d183, #fa26ae) 1;
	color: #ffffff;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.related_btn.btn2 a::before {
	background: url("../images/ic_1.png") no-repeat 0 0/40px;
}
.related_btn.btn3 a::before {
	background: url("../images/ic_3.png") no-repeat 0 0/40px;
}
.related_btn.btn4 a::before {
	background: url("../images/ic_s.png") no-repeat 0 0/40px;
}
.related_btn.btn5 a::before {
	background: url("../images/ic_5.png") no-repeat 0 0/40px;
}
/* ==========================================================================
ページ下部...end
========================================================================== */
.end .logo, .end .backtop {
	display: none !important;
}
.position_end {
	padding-bottom: 50px;
}
#end_link {
	display: block;
	text-align: center;
}
.end_caption {
	font-size: 26px;
	font-weight: bold;
}
.end_btn {
	margin: 15px auto 0;
	width: 515px;
}
.end_btn a {
	display: block;
}
#footer_lemino_inc_3 {
	margin-top: -10em;
}
/*動画*/
.movie-content-wrap {
	width: 100%;
	max-width: 260px;
	margin: 2em auto 0;
}
.movie-content-wrap img {
	width: 100%;
}
.movie-content-wrap a {
	display: block;
}
.movie-content-wrap a:hover {
	opacity: .8;
}
/*チケットボード＿PC*/
.notice02 {
	background: linear-gradient(132deg, #01d183 0%, #fa27ae 100%);
	color: #565656;
	margin: 4em auto 0;
}
.notice02 .inner {
	padding-top: 80px;
	padding-bottom: 80px;
}
.notice02 .inner > div {
	border-radius: 10px;
	background-color: #EEF7FD;
	padding: 60px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 1em;
}
.notice02 .inner > div h3 {
	font-weight: 500;
	font-size: 26px;
}
.notice02 .inner > div p {
	font-size: 16px;
	margin-top: 30px;
	text-align: center;
}
.notice02 .inner > div .button03 {
	margin-top: 30px;
}
.button03 {
	background-color: #fff;
	font-size: 1em;
	border: 2px solid #ec31ac;
	color: #ec31ac;
	border-radius: 50px;
	text-decoration: none;
	padding: 1em 1.5em;
}
.notice02 .inner > div a:last-child {
	margin-top: 10px;
	font-size: 16px;
	color: #ec31ac;
	font-weight: bold;
	text-decoration: underline;
}
@media print, screen and (min-width: 813px) {
	.related_btn.btn2 a {
		padding: 1em 1em 0.5em;
	}
	.kv h1 {
		padding-top: 10px;
		height: 155px;
	}
	.btn.lh a {
		line-height: 48px;
	}
	.schedule h2.big {
		font-size: 40px;
		margin: 0.5em 0;
	}
	.schedule h2 span {
		font-size: 0.7em;
	}
	/* program
   -------------------------------------*/
	.program ul li {
		width: 30.5%;
		margin-right: 4.25%;
		margin-bottom: 4.25%;
	}
	.program ul li:nth-child(3n) {
		margin-right: 0;
	}
	.program ul li:nth-child(n+7):nth-child(-n+9) {
		margin-bottom: 0;
	}
	/* objects
   -------------------------------------*/
	.objects .mc20 {
		top: 116px;
	}
	.objects .mc24 {
		background-image: url(../../../ft/teaser/common/images/objects/24_2.png);
		width: 49px;
		height: 21px;
		top: 204px;
		left: -600px;
	}
	.objects .mc23 {
		top: 100px;
	}
	.objects .mc27 {
		top: 170px;
	}
	.objects .mc13_3 {
		top: 310px;
	}
	.objects .mc23_2 {
		top: 410px;
	}
	.objects .mc34 {
		top: 410px;
	}
	.objects .mc3_2 {
		top: 510px;
	}
	.objects .mc12 {
		background-image: url(../../../ft/teaser/common/images/objects/12.png);
		width: 122px;
		height: 76px;
		top: 70px;
		left: -710px;
	}
	.objects .mc24_2 {
		width: 75px;
		height: 20px;
		top: 212px;
		left: -592px;
	}
	.objects .mc0 {
		width: 122px;
		height: 47px;
		top: 234px;
		left: 660px;
	}
	.objects .mc18 {
		width: 65px;
		height: 66px;
		top: 330px;
		left: 584px;
	}
	/* end*/
	/* .position_end {
      padding-bottom: 65px;
   }*/
	#end_link {
		position: absolute;
		display: block;
		bottom: 3em;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		z-index: 1000;
	}
}
@media only screen and (max-width: 812px) {
	#fin_inner span {
		width: 100%;
		margin: 160px auto 0;
		padding: 2em 0 2em;
		font-size: 20px;
	}
	.fv h1 {
		margin-top: 0;
		padding-top: 3%;
		font-size: 4.8vw;
	}
	.fv h1 span {
		font-size: 3.8vw;
	}
	.fv .logo_smart {
		width: 55%;
		max-width: 100%;
		padding-bottom: 1.7%;
	}
	.section {
		width: 100%;
	}
	.section.section_01 {
		margin: 6em auto;
	}
	.section.section_02 {
		margin: 0em auto 4em auto;
	}
	.section h2 {
		font-size: 1.50em;
	}

	.grp h2 {
		display: block;
		font-size: 1.2em;
		margin: 1em auto 1em;
		text-align: center;
	}
	button {
		font-size: 20px;
		padding: 0.7em;
	}
	
	.btn a {
		width: 100%;
	}
	#wrapper {
		/*padding-bottom: 30px !important;*/
	}
	.recommend {
		/*
      width: 100vw;
      margin-left: calc(-50vw + 50%);
      margin-bottom: 0;
      border-radius: 0;
*/
		width: 100%;
		margin-right: auto;
		margin-left: auto;
		font-size: 17px;
	}
	.fv .date {
		font-size: 4vw;
		line-height: 110%;
	}
	.fv_im {
		margin-top: 10px;
	}
	.schedule > p.lead {
		font-size: 15px;
	}
	.schedule > p.lead span {
		font-size: 23px;
	}
	.present {
		width: 93%;
		padding: 2em 1em;
	}
	.present .flex {
		width: 100%;
	}
	.present .flex li {
		width: 100%;
		max-width: 280px;
		margin: auto;
	}
	.present .flex li:nth-of-type(n+2) {
		margin-top: 30px;
	}
	.present .flex li p {
		font-size: 14px;
	}
	.present .flex li p span {
		font-size: 18px;
		margin-top: 0;
	}
	.present_title h2 {
		padding: 1px 20px;
		font-size: 17px;
	}
	.mb0 {
		margin-bottom: 0 !important;
	}
	.play_btn a {
		font-size: 13px;
		height: 40px;
		padding-top: 12px;
	}
	.play_btn a span {
		position: absolute;
		display: block;
		background-image: url(../images/playbtn.webp);
		background-size: 100% 100%;
		width: 20px;
		height: 20px;
		top: 50%;
		transform: translateY(-50%);
		right: 15px;
	}
	.yymm_gray {
		padding: 1.2em;
		font-size: 1.1em;
	}
	/* information
   -------------------------------------*/
	.information {
		width: 88%;
	}
	.information .info_box {
		flex-direction: column;
	}
	.information .info_title {
		font-size: 1em;
	}
	.information .info_img, .information .info_text {
		width: 100%;
	}
	.information .info_img {
		margin-right: 0;
	}
	.information .info_text {
		margin-top: 1em;
	}
	.information .info_text {
		font-size: 0.94em
	}
	/* pink
   -------------------------------------*/
	.pink {
		width: 88%;
		font-size: 1.2em;
	}
	.pink a {
		width: 90%;
	}
	/* items
   -------------------------------------*/
	.schedule .items .item .texts {
		font-size: 0.94em;
	}
	.schedule .items .item .texts p.texts_title {
		font-size: 1rem;
	}
	/* btn_list
   -------------------------------------*/
	.btn_list {
		flex-direction: column;
		width: 80%;
		margin-bottom: 5em;
	}
	.btn_list li {
		width: 100%;
	}
	.btn_list li:first-of-type {
		margin-right: 0;
		margin-bottom: 1.50em;
	}
	/* section items
   -------------------------------------*/
	.section .items .item {
		margin-bottom: 5em;
	}
	.section .items .item .hd .date {
		font-size: 22px;
	}
	.section .box {
		flex-direction: column;
		margin-top: 0;
		margin-bottom: 0;
	}
	.section_02.section .box {
		margin-bottom: 60px;
	}
	.section .items .item .image {
		width: 100%;
		margin-top: 3vw;
		margin-right: 0;
		margin-bottom: 2em;
	}
	.section .box .tit {
		font-size: 24px;
	}
	.section .box .sub {
		font-size: 18px;
	}
	.section .box .date_box {
		font-size: 18px;
	}
	.section .box .btn {
		width: 100%;
	}
	.section .box .btn a {
		padding: 1.5em 0;
		padding-left: 10px;
	}
	.section.section_03 .image {
		margin: 0 20px;
	}
	/* program
   -------------------------------------*/
	.program {
		padding: 1.5em;
	}
	.program ul li {
		width: 47%;
		margin-right: 6%;
		margin-bottom: 10%;
	}
	.program ul li:nth-child(2n) {
		margin-right: 0;
	}
	.program ul li:last-child {
		margin-bottom: 0;
	}
	.program ul li .btn a {
		padding-right: 0.5em;
		font-size: 0.9em;
	}
	.program ul li .btn span {
		width: 1.8em;
		height: 1.8em;
		margin-left: 0.2em;
		background-size: contain;
		background-repeat: no-repeat;
	}
	/* 追加campaign
   -------------------------------------*/
	.campaign {
		/*     margin-left: 6vw;*/
		/*     margin-right: 6vw;*/
		margin-top: 4em;
		padding: 2em 1.5em 2em;
	}
	.campaign h2 {
		width: 35%;
		padding: 15px 5px 12px;
	}
	.campaign .caption {
		margin-top: 3em;
		font-size: 16px;
		text-align: left;
	}
	.campaign .twitter_btn a {
		font-size: 16px;
	}
	.tokuten_scroll {
		font-size: 12px;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		padding: 1.5em;
	}
	.tokuten_scroll .inn {
		padding-right: 0.5em;
	}
	.campaign .btn a {
		width: 100%;
		font-size: clamp(16px, 5vw, 20px);
	}
	.campaign .caption_1 {
		font-size: 22px;
	}
	.campaign .caption_2 {
		text-align: left;
		font-size: 18px;
	}
	.campaign .caption_3 {
		text-align: left;
		font-size: 16px;
	}
	.campaign .caption_3::before {
		width: 100%;
	}
	.cp_view, .cp_goods {
		padding: 0;
	}
	.cp_goods {
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	.cp_goods > div {
		width: 100%;
	}
	.goods_copy {
		text-align: right;
	}
	.cp_goods_ttl {
		margin-top: 3px;
		font-size: 20px;
	}
	.goods_list {
		font-size: 14px;
	}
	.goods_list span {
		font-size: 12px;
		letter-spacing: -0.5px;
	}
	.campaign .cp_view {
		margin-top: 20px;
	}
	.campaign .cp_view p {
		font-size: 12px;
		color: #a8a8a8;
	}
	.cp_goods > div:nth-of-type(n+2) {
		margin-top: 60px;
	}
	.campaign .subtitle {
		font-size: 24px;
	}
	.entry_end {
		font-size: 18px;
	}
	.p101_btn {
		width: 92%;
		max-width: 500px;
		margin-top: 35px;
	}
	.p101_banner {
		margin-top: 70px;
	}
	/*チケットボード*/
	.notice02 .inner {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.notice02 .inner > div {
		padding: 30px 15px;
	}
	.notice02 .inner > div h3 {
		text-align: center;
		font-size: 20px;
	}
	.notice02 .inner > div p {
		font-size: 14px;
		margin-top: 20px;
		text-align: left;
	}
	.button {
		width: 100%;
	}
	/* ==========================================================================
ページ下部...end
========================================================================== */
	.position_end {
		padding-bottom: 1em;
	}
	#footer_lemino_inc_3 {
		margin-top: 0;
	}
	#end_link {
		width: 100%;
		margin-top: 70px;
		z-index: 1000;
	}
	.end_caption {
		font-size: 22px;
	}
	.end_btn {
		margin: 15px auto 0;
		width: 90%;
		max-width: 500px;
	}
	.end_btn a {
		display: block;
	}
	.kv h1::before {
		width: 52%;
		max-width: 220px;
		height: 200px;
		background: url("/cp/0000014/images/premium_top.png") no-repeat 0 0/100%;
		top: -40%;
		left: -15px;
	}
	.end {
		padding-top: 0 !important;
	}
	.yymm {
		font-size: 0.9em;
		margin: 1em auto 0;
	}
	.movie-content-wrap {
		max-width: 230px;
	}
	.movie-content-wrap p {
		font-size: 14px;
	}
	.objects .mc11 {
		display: none !important;
	}
	.related {
		width: 93%;
		margin: 30px auto 0;
		padding-top: 0;
	}
	.apply a {
		font-size: 20px;
	}
	.flex {
		-webkit-flex-direction: column;
		-moz-flex-direction: column;
		-ms-flex-direction: column;
		-o-flex-direction: column;
		flex-direction: column;
	}
	.flex .related_im, .flex .related_info {
		width: 100%;
	}
	.related h3 {
		font-size: 18px;
		margin-top: 15px;
		line-height: 120%;
	}
	.related .related_lead {
		font-size: 16px;
	}
	.related_caption {
		font-size: 14px;
	}
	.btn a {
		font-size: 18px;
	}
	.related_btn {
		width: 100%;
	}
	.related_btn a {
		font-size: 15px;
	}
	.related_btn a::before, .related_btn.btn2 a::before, .related_btn.btn3 a::before, .related_btn.btn4 a::before, .related_btn.btn5 a::before {
		right: 10px;
		width: 25px;
		height: 25px;
		background-size: 25px
	}
}

.kv--pc {
	text-align: center;
	padding: 70px 70px 0;
}
.kv--pc img {
	width: 100%;
	max-width: 1000px;
	height: auto;
}

.camp {
	padding: 80px 0;
}
.camp-2 {
	background-color: #2e2e2e;
}
.camp__inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}
.camp__title {
	border-bottom: solid 3px #919191;
	position: relative;
	font-weight: bold;
	font-size: 2.2em;
	margin: 0 auto 1em;
	font-style: italic;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.camp__title:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #FF0004;
	bottom: -3px;
	width: 30%;
}
.camp__text {
	margin: 0 auto;
	line-height: 1.7;
	font-size: 18px;
}
.camp__bnr img {
	width: 100%;
	height: auto;
}
.camp__bnr a {
	display: block;
	max-width: 350px;
	margin: 0 auto;
	border: 1px solid #fff;
	padding: 5px 20px 15px;
	transition: 0.3s;
}
.camp__bnr a:hover {
	opacity: 0.7;
}
.outer h2{margin: 1em auto;
    text-align: center;
    font-size: 1.6em;
    line-height: 1.3em;}
.outer h2 span{color: #ff0004;}
.about .about__inner ul li .about__title{
    font-weight: bold;
    font-size: 1.2em;
    background: none;
    width: 100%;
    text-align: left;}
.about p.about__copy{font-size: 0.8em;text-align: right;}
.about .about__inner{    
	width: 100%;
    max-width: 1000px;
    margin: 0 auto 100px;
    padding: 0 20px;
}
.about .about__inner ul{
	    display: flex;
    max-width: 900px;
    margin: 1em auto;
}
.about .about__inner ul li{
	width: 50%;
	padding: 1em;
	display: flex;
	align-items: center;
}
.about .about__inner ul li span{
	display: block;
	background: #ff0004;
    color: #fff;
    width: 8em;
    text-align: center;
    padding: 4px 0 3px;
}
.about .about__inner ul li span p{
	text-align: justify;
    line-height: 1.7em;
	align-items: center;
    display: flex;
}
.about .about__txt{
	background: #2e2e2e;
    padding: 2em;
    text-align: justify;
	max-width: 900px;
}
.about .about__txt p+ h3{
	margin-top: 1em;
}
.project__title{border-bottom: solid 3px #919191;
    position: relative;
    font-weight: bold;
    font-size: 2.2em;
    margin: 0 auto 1em;
    font-style: italic;
    letter-spacing: 0.1em;
    line-height: 1.5;}
.project__title:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #FF0004;
    bottom: -3px;
	width: 30%;}
.project h5{font-size: 1.3em;
    text-align: center;
    margin: 1em auto 2em;
    line-height: 1.45em;
    font-style: italic;}
.project__inner{
	width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}
.project__text{margin: 0 auto;
    line-height: 1.7;
    font-size: 18px;}
.project__inner ul{display: flex;
    max-width: 950px;
    margin: 1em auto;
	flex-wrap: wrap;}
.project__inner ul li{
	width: 45%;
    padding: 3em 1em 1em;
    background: #404040;
    margin: 1.5em auto 2em;
    position: relative;
   
}
.project__inner ul li::before,.project__inner ul li::after{content: '';
  background-color: #ff0004;
  width: 50%;
  height: 3px;
  position: absolute;}
.project__inner ul li::before{
	top: 0;
  left: 0;
}
.project__inner ul li::after {
  bottom: 0;
  right: 0;
}

.project__inner ul li h6{    background: #fff;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    letter-spacing: 0.03em;
    font-size: 0.9em;
    width: 80%;
    margin: 0 auto;
    line-height: 1.3em;
    padding: .5em .7em;
    color: #ff0004;
    top: -1.5em;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);}

.project__inner ul li h6::after{
	content: '';
  position: absolute;
  left: 0;
  top: 0;
  border-width: 25px 25px 0 0;
  border-style: solid;
  /*border-color: #ff0004 #fff #ff0004;*/
}

.project__inner ul li img{max-width: 150px;
    display: block;
    margin: 0 auto;}
.project__inner ul li p{text-align: justify;
    font-size: 0.9em;text-align: center;}

@media only screen and (max-width: 812px) {
	.outer h2{font-size: 1.3em;}
	.project__title{font-size: 1.4em;}
	.about .about__inner ul{display: block;padding: 0 0 1em;}
	.about .about__inner ul li{width: 100%;padding: 0 1em 0.5em;}
	.project h5{font-size: 1.2em;}
	.project__inner ul{display: block;}
	.project__inner ul li{width: 100%;
        padding: 1em 0;
        margin: 3em auto;padding: 1em;}
	.project__inner ul li h6{width: 80%;        font-size: 0.8em;}
	.project__inner ul li div{align-items: center;display: flex;}
	.project__inner ul li img{width: 35%;        float: left;        margin: 1em 0 0;}
	.project__inner ul li p{font-size: 13px;	}
	.camp {
		padding: 50px 0;
	}
	.camp__title {
		font-size: 1.4em;
	}
	.camp__text {
		font-size: 16px;
	}
	.camp__bnr a:hover {
		opacity: 1;
	}
}

.entry_block {
	text-align: center;
	margin-bottom: 30px;
}
.entry_block:nth-of-type(2) {
	margin-bottom: 0;
}
.entry_step {
	background-color: #ee0000;
	color: #fff;
	padding: 15px;
	font-size: 2em;
	font-weight: 700;
	font-style: italic;
}
.entry_box {
	background-color: #fff;
	color: #000;
	padding: 50px 20px;
}
.entry_lead {
	font-size: 1.5em;
	font-weight: 700;
	margin-bottom: 30px;
	line-height: 1.5;
}
.entry_btn_orange {
	margin-bottom: 30px;
}
.entry_btn_orange a {
	text-decoration: none;
    width: 100%;
	max-width: 500px;
    height: 4.5em;
    font-size: 20px;
    margin: 0 auto 0;
    padding: 10px;
    border-radius: 4px;
	border-bottom: 3px solid #bec5c8;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
	background-image: -webkit-linear-gradient(0deg, rgb(246 117 7) 0%, rgb(236 0 64) 100%);
}
.entry_btn_orange a div {
	font-weight: 700;
	line-height: 1.5;
}
.entry_btn_orange span {
	font-size: 0.8em;
	font-weight: 700;
}
.entry_btn_txt {
	display: inline-block;
	background-color: #ffdaeb;
	color: #000;
	padding: 10px 20px;
	margin-top: 30px;
}
.entry_txts {
	font-size: 1.2em;
	margin-bottom: 20px;
}
.entry_txts-1 {
	margin-bottom: 0;
}
@media only screen and (max-width: 812px) {
	.entry_box {
		padding: 30px 20px;
	}
	.entry_btn_txt {
		padding: 10px;
	}
}

/* チェックボックス ※js不使用 */
form.entry-form {
  text-align: center;

  input[type=button] {
	width: 100%;
	max-width: 500px;
	background: #9b9b9b;
	border: none;
	border-radius: 10px;
	color: #fff;
	font-weight: 700;
	font-size: 1.3em;
	padding: 15px;
	pointer-events: none;
	transition: background-color .3s, color .5s;

	&:focus {
	  visibility: hidden;
	}
  }

  &:has(input:checked) input[type=button] {
	background-image: -webkit-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%);
	color: #fff;
	cursor: pointer;
	pointer-events: auto;

	&:focus {
	  visibility: visible;
	}
  }

  @media (hover: hover) {
	&:has(input:checked) input[type=button]:hover {
	  opacity: 0.8;
	}
  }
}

.entry_btn_blue__txt {
	margin-top: 15px;
	margin-bottom: 30px;
}
.mst_footerbtn {
	display: block;
	width: 100%;
	max-width: 500px;
	text-decoration: none;
	font-size: 1.2em;
	font-weight: 700;
	background-image: -webkit-linear-gradient(0deg, rgb(40, 0, 200) 0%, rgb(120, 3, 175) 55%, rgb(200, 5, 150) 100%);
	color: #fff;
	padding: 15px;
	border-radius: 15px;
	box-shadow: 2px 2px;
}
@media (hover: hover) {
	.mst_footerbtn:hover {
		opacity: 0.8;
	}
}
@media only screen and (max-width: 812px) {
	.mst_footerbtn {
		width: 80%;
		font-size: 1.1em;
		padding: 10px;
	}
}

.method__bnr {
	max-width: 700px;
    margin: 40px auto 0;
}
.method__bnr a {
	display: block;
}

.kiyaku_bold {
	font-weight: 700;
}
.mskiyaku li {
	text-indent: -1em;
	padding-left: 1em;
}