.article-ticket-bnr,
#breadcrumb {
	display: none;
}

.lp {
	padding-top: 150px;
}

.lp p {
	font-size: 21px;
	line-height: 1.6;
}

.lp .ttl {
	line-height: 1.3;
}

.lp .apply-btn {
	background-color: #ffff66;
	color: #000000;
	text-align: center;
	display: inline-block;
	padding: 1.5em 3em;
	box-sizing: border-box;
	border-radius: 3em;
	text-decoration: none;
	max-width: max-content;
	margin: 0 auto;
}

.lp a.apply-btn:hover {
	background-color: #ffef00;
	transition: cubic-bezier(0.4,0,0.2,1) .3s;
}

.lp .inner {
	max-width: 1300px;
	width: 90%;
	margin: 80px auto;
}

.lp .fv {
	position: relative;
	background-color: #00b9d0;
	padding: 80px 0;
	box-sizing: border-box;
	background-image: url(../images/lp/deco-sparkling.png);
	background-size: 160px;
	background-repeat: no-repeat;
	background-position: 5% 5%;
}

.lp .fv .inner {
	display: flex;
	justify-content: center;
}

.lp .fv .inner>div {
	width: 50%;
	display: grid;
	place-content: center;
	color: #fff;
	background-image: url(../images/lp/deco-sparkling.png);
	background-size: 120px;
	background-repeat: no-repeat;
}

.lp .fv .left {
	background-position: left bottom;
	padding: 4% 0;
	box-sizing: border-box;
}

.lp .fv .left .ttl {
	font-size: 50px;
	line-height: 1.2;
	text-align: center;
}

.lp .fv .left .ttl span {
	display: inline-block;
	margin-bottom: 0.5em;
}

.lp .fv .left .apply-btn {
	margin-top: 30px;
}

.lp .fv .right {
	background-position: left 42%;
}

.lp .fv .right .ttl {
	font-size: 22px;
	margin: 0;
	text-align: center;
}

.lp .fv .right .caption {
	font-size: 16px;
	text-align: center;
}

.lp .set-desc {
	position: relative;
	background-color: #ffff66;
	padding: 80px 0;
	box-sizing: border-box;
}

.lp .set-desc .ttl-wrap .ttl img{
	max-width: 422.5px;
}

.lp .set-desc .inner {
	position: relative;
	display: flex;
	justify-content: space-between;
	column-gap: 5%;
}

.lp .ttl-wrap {
	text-align: center;
	margin-top: 50px;
}

.lp .ttl-wrap .ttl {
	font-size: 50px;
	margin-top: 0;
	line-height: 1.4;
}

.lp .ttl-wrap .lead {
	font-size: 21px;
}

.lp .set-desc .left {
	width: 36%;
}

.lp .set-desc .right {
	width: 48%;
}

.lp .set-desc .right .qr-img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 17vw;
}

.lp .pass {
	position: relative;
	background-color: #f4f3e8;
	padding: 50px 0 80px;
	box-sizing: border-box;
}

.lp .pass::before {
	content: '';
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: 100%;
	width: 100%;
	height: 100px;
	border-radius: 50% / 100% 100% 0 0;
	background-color: #f4f3e8;
}

.lp .pass .inner {
	display: flex;
	justify-content: space-between;
}

.lp .pass .inner .left {
	width: 40%;
}

.lp .pass .left .img-wrap {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
}

.lp .pass .left .img-wrap .img {
	width: 48%;
}

.lp .pass .right {
	width: 50%;
}

.lp .pass .right .ttl {
	font-size: 40px;
}

.lp .merit {
	padding: 80px 0;
	box-sizing: border-box;
}

.lp .merit .inner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 7%;
}

.lp .merit .inner .box {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	row-gap: 0;
	border: 2px solid #000000;
	box-sizing: border-box;
}

.lp .merit .inner .box .ttl {
	font-size: 35px;
	color: #fff;
	background-color: #f8a0a0;
	text-align: center;
	margin: 0;
	padding: 1em 0.5em;
	box-sizing: border-box;
	display: grid;
	place-content: center;
}

.lp .merit .inner .box .text {
	padding: 20px;
	box-sizing: border-box;
	margin: 0;
	min-height: 220px;
}

.lp .merit .inner .box .otoku {
	font-size: 28px;
	background-color: #51b0cd;
	color: #fff;
	text-align: center;
	margin: 0;
	padding: 20px;
	box-sizing: border-box;
	display: grid;
    place-content: center;
}

.lp .merit .inner .box .otoku small {
	font-size: 16px;
}

.lp .howtouse {
	padding: 80px 0 0;
	background-color: #f4f3e8;
}

.lp .howtouse .inner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 3%;
}

.lp .howtouse .inner .box {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
	row-gap: 0;
}

.lp .howtouse .inner .box .num {
	text-align: center;
}

.lp .howtouse .inner .box .num span {
	font-size: 40px;
	color: #fff;
	background-color: #85847f;
	padding: 20px;
	box-sizing: border-box;
	display: inline-block;
}

.lp .howtouse .inner .box .ttl {
	font-size: 35px;
	color: #ff6121;
	margin-top: 2em;
}

.lp .cautions {
	background-color: #999;
	color: #ffffff;
	padding: 50px 5%;
	box-sizing: border-box;
	display: grid;
    place-content: center;
}

.lp .cautions .ttl {
	text-align: center;
}

.lp .cautions ul {
	list-style: none;
	padding: 0;
	columns: 2 auto;
}

.lp .cautions ul li {
	position: relative;
	margin: 0 auto 1em;
	padding-left: 1em;
	text-indent: -1em;
}

.lp .cautions ul li::before {
	content: '・';
}

.lp .plan {
	padding: 80px 0;
	box-sizing: border-box;
}

.lp .plan .inner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.lp .plan .inner .box {
	position: relative;
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 2;
	row-gap: 0;
	width: 70%;
	margin: 0 auto;
}

.lp .plan .inner .box .recommendation {
	position: absolute;
	left: -75px;
	top: -75px;
	background-color: #ffff66;
	width: 150px;
	height: 150px;
	display: grid;
	place-content: center;
	border-radius: 50%;
}

.lp .plan .inner .box .ttl {
	font-size: 40px;
	margin: 0;
	padding: 1em 0;
	color: #fff;
	text-align: center;
	line-height: 1.5;
}

.lp .plan .inner .box .desc {
	background-color: #f4f3e8;
	padding: 20px;
	box-sizing: border-box;
	margin: 0;
	display: flex;
	flex-direction: column;
	text-align: center;
	min-height: 550px;
}

.lp .plan .inner .box .desc .apply-btn {
	background-color: #999;
	margin-top: auto;
	margin-bottom: 50px;
	color: #fff;
}

.lp .finish {
	background-color: #00b9d0;
	color: #fff;
	text-align: center;
	padding: 80px 0;
	box-sizing: border-box;
}

.lp .finish .ttl-wrap {
	color: #fff;
	margin-bottom: 50px;
}


/* --- SP ---------- */
@media print, screen and (max-width: 768px) {
	.lp {
		padding-top: 0;
		letter-spacing: 0;
	}

	.lp p {
		font-size: 16px;
	}

	.lp .inner {
		margin: 30px auto;
	}

	.lp .fv {
		padding: 5px 0 30px;
		background-size: 80px;
		background-position: 5% 7%;
	}

	.lp .fv .inner {
		flex-wrap: wrap;
	}

	.lp .fv .inner>div {
		background-size: 80px;
	}

	.lp .fv .inner .left {
		width: 100%;
		order: 2;
		background-position: left 87%;
	}

	.lp .fv .left .ttl {
		margin-top: 0;
		font-size: 32px;
	}

	.lp .fv .left .apply-btn {
		margin-top: 15px;
	}

	.lp .fv .inner .right {
		width: 100%;
		order: 1;
		background-position: right bottom;
	}

	.lp .fv .right .ttl {
		font-size: 19px;
	}

	.lp .set-desc {
		padding: 30px 0 100px;
	}

	.lp .set-desc .ttl-wrap .ttl img {
		max-width: 100%;
	}

	.lp .ttl-wrap {
		width: 90%;
		margin: 0 auto;
	}

	.lp .ttl-wrap .ttl {
		font-size: 34px;
	}

	.lp .ttl-wrap .lead {
		font-size: 16px;
	}

	.lp .set-desc .inner {
		flex-wrap: wrap;
	}

	.lp .set-desc .left {
		width: 100%;
	}

	.lp .set-desc .right {
		position: relative;
		width: 100%;
		margin-top: 30px;
	}

	.lp .set-desc .right .qr-img {
		left: -15px;
		transform: translateY(-50%);
		width: 50%;
	}

	.lp .set-desc .right .img {
		margin-left: 50px;
	}

	.lp .pass {
		padding: 5px 0 30px;
	}

	.lp .pass::before {
		height: 80px;
	}

	.lp .pass .inner {
		flex-wrap: wrap;
		margin-top: 15px;
	}

	.lp .pass .inner .left {
		width: 100%;
	}

	.lp .pass .inner .right {
		width: 100%;
	}

	.lp .merit {
		padding: 30px 0;
	}

	.lp .merit .inner {
		grid-template-columns: repeat(1, 1fr);
		column-gap: normal;
		row-gap: 30px;
	}

	.lp .merit .inner .box {
		width: 90%;
		margin: 0 auto;
	}

	.lp .merit .inner .box .ttl {
		font-size: 21px;
	}

	.lp .merit .inner .box .text {
		min-height: auto;
	}

	.lp .merit .inner .box .otoku {
		font-size: 21px;
	}

	.lp .howtouse {
		padding: 30px 0;
	}

	.lp .howtouse .inner {
		grid-template-columns: repeat(1, 1fr);
		column-gap: normal;
		row-gap: 30px;
	}

	.lp .howtouse .inner .box {
		width: 80%;
		margin: 0 auto;
	}

	.lp .howtouse .inner .box .num span {
		font-size: 35px;
		padding: 18px;
	}

	.lp .howtouse .inner .box .ttl {
		text-align: center;
		font-size: 27px;
		margin: 1em 0 0;
	}

	.lp .cautions ul {
		columns: auto;
	}

	.lp .plan {
		padding: 30px 0;
	}

	.lp .plan .inner {
		grid-template-columns: repeat(1, 1fr);
		row-gap: 30px;
	}

	.lp .plan .inner .box {
		width: 90%;
	}

	.lp .plan .inner .box .ttl {
		font-size: 32px;
	}

	.lp .plan .inner .box .desc {
		min-height: auto;
	}

	.lp .plan .inner .box .desc .apply-btn {
		margin: 30px auto;
		padding: 1em 1.5em;
	}

	.lp .plan .inner .box .recommendation {
		left: -2em;
        top: -2em;
        width: auto;
        height: auto;
        padding: 1em;
        box-sizing: border-box;
	}

	.lp .finish {
		padding: 30px 0;
	}

	.lp .finish .ttl-wrap {
		margin-bottom: 30px;
	}

	.lp .finish .ttl-wrap .ttl {
		font-size: 26px;
	}
}