@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Roboto:wght@400;500;700&display=swap");

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/* style */
/* 目次 */
/* __00: 初期設定 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/* __01: section */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/* __00: 初期設定 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
html {
	overflow-x: hidden;
}

#header {
	width: 100vw;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99;
}

.n-coupon .nopc {
	display: none;
}

@media screen and (max-width: 768px) {
	.n-coupon .nopc {
		display: block;
	}
}

.n-coupon .nosp {
	display: block;
}

@media screen and (max-width: 768px) {
	.n-coupon .nosp {
		display: none !important;
	}
}

.n-coupon .heaaderArea {
	border: none;
}

@media screen and (max-width: 768px) {
	.n-coupon .heaaderArea {
		padding-bottom: 0;
	}
}

.n-coupon .wrapContents {
	padding-top: 40px;
}

@media screen and (max-width: 1199px) {
	.n-coupon .wrapContents {
		padding-top: 3.33vw;
	}
}

@media screen and (max-width: 768px) {
	.n-coupon .wrapContents {
		padding-top: 2vw;
	}
}

.n-coupon .headLogoBox {
	flex: 1;
	max-width: 100%;
	padding-left: 70px;
}

.n-coupon .headLogoBox ul {
	width: 585px;
	max-width: 48.35%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

@media screen and (max-width: 768px) {
	.n-coupon .headLogoBox {
		flex: 1;
		max-width: 100%;
		padding-left: 58px;
	}

	.n-coupon .headLogoBox ul {
		max-width: none;
		width: 100%;
		padding: 0 20px;
	}
}

.n-coupon .headLogoBox ul li {
	margin-right: 8%;
	line-height: 1;
}

.n-coupon .headLogoBox ul li:last-child {
	margin-right: 0;
}

.n-coupon .headLogoBox ul li a {
	display: block;
}

.n-coupon .footLogoBox {
	flex: 1;
}

.n-coupon .footLogoBox ul {
	width: 585px;
	max-width: 54.16%;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

@media screen and (max-width: 768px) {
	.n-coupon .footLogoBox ul {
		max-width: none;
		width: 100%;
		padding: 0 20px;
	}
}

.n-coupon .footLogoBox ul li {
	margin-right: 8%;
	line-height: 1;
}

.n-coupon .footLogoBox ul li:last-child {
	margin-right: 0;
}

.n-coupon .footLogoBox ul li a {
	display: block;
}

.n-coupon .menuArea>dl>dd>ul.mainSiteMenu>li>dl>dd>ul>li>a:before {
	content: ">";
}

.n-coupon .menuArea>dl>dd>ul.mainSiteMenu>li>dl>dd>ul>li>a[target=_blank]:after {
	content: "";
	background-image: url(../images/icon_target_W.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 8px;
	height: 8px;
	margin-left: 2px;
}

.n-coupon .shopList .linkBox ul li.btn a[target=_blank]:after {
	content: "";
	background-image: url(../images/icon_target_W.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 8px;
	height: 8px;
	margin-left: 2px;
}

.foot-line {
	width: 100%;
	height: 54px;
	background: url("../images/bg02.png") repeat top left/54px 54px;
}

@media screen and (max-width: 1199px) {
	.foot-line {
		height: 4.5vw;
		background: url("../images/bg02.png") repeat top left/4.5vw 4.5vw;
	}
}

@media screen and (max-width: 768px) {
	.foot-line {
		height: 8vw;
		background: url("../images/bg02.png") repeat top left/8vw 8vw;
	}
}

.n-coupon .footerArea .footMenu>dl>dd>ul.mainSiteMenu>li>dl>dd>ul>li>a::before {
	content: ">";
}

.n-coupon .footerArea .footMenu>dl>dd>ul.mainSiteMenu>li>dl>dd>ul>li>a[target=_blank]:after {
	content: "";
	background-image: url(../images/icon_target_B.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 8px;
	height: 8px;
	margin-left: 2px;
}

.lp .screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute;
}

.lp figure {
	margin: 0;
}

.lp img {
	pointer-events: none;
}

.lp * {
	font-family: "Roboto", "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-feature-settings: "palt";
}

.lp-header {
	width: 90%;
	margin: 0 auto;
	padding: 12px 0 0;
	max-width: 1145px;
}

@media screen and (max-width: 768px) {
	.lp-header {
		padding: 12px 0;
	}
}

.lp-header .logo {
	width: 302px;
	margin: 0;
}

#pagetop {
	width: clamp(0px, 5vw, 60px);
	height: clamp(0px, 5vw, 60px);
	background-color: #fff;
	border-radius: 50%;
	opacity: 0;
	position: fixed;
	right: clamp(0px, 2.5vw, 30px);
	bottom: clamp(0px, 2vw, 24px);
	z-index: 9999;
	cursor: pointer;
	transition: 0.4s;
}

#pagetop::before {
	content: "";
	width: clamp(0px, 1.33vw, 16px);
	height: clamp(0px, 1.33vw, 16px);
	border-top: solid 2px #c11920;
	border-left: solid 2px #c11920;
	position: absolute;
	top: 42%;
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
	transition: all 0.2s;
}

#pagetop.fix {
	opacity: 0.9;
	display: block;
}

#pagetop.fix:hover {
	opacity: 0.7;
}

@media screen and (max-width: 768px) {
	#pagetop {
		width: 6vw;
		height: 6vw;
		bottom: 3.3vw;
		right: 1.5vw;
	}

	#pagetop::before {
		width: 2.3vw;
		height: 2.3vw;
		top: 40%;
	}
}

.lp {
	color: #000;
}

.lp .main-area {
	position: relative;
	margin: 0;
}

.lp .main-area .main-area-contents {
	margin: 0;
	padding-bottom: 200px;
}

.lp .container {
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.lp .main-area .main-area-contents {
		padding-bottom: 25vw;
	}

	.lp .container {
		width: 90%;
	}

	.lp .container.w100 {
		width: 100%;
	}
}

.container .inner {
	padding: 0 40px;
}

@media screen and (max-width: 1199px) {
	.container .inner {
		padding: 0 3.33vw;
	}
}

@media screen and (max-width: 768px) {
	.container .inner {
		padding: 0 5.33vw;
	}
}

@media only screen and (max-width: 780px) {
	.heaaderArea {
		padding-bottom: 0 !important;
	}
}

.wrap .pc {
	display: block !important;
}

.wrap .sp {
	display: none !important;
}

@media screen and (max-width: 768px) {
	.wrap .pc {
		display: none !important;
	}

	.wrap .sp {
		display: block !important;
	}
}

@media screen and (max-width: 768px) {
	.wrap br.sp {
		font-size: 0;
		display: initial !important;
	}
}

.lp a {
	transition: all 0.2s;
}

.lp a:hover {
	opacity: 0.7;
}

.n-coupon {
	overflow-x: hidden;
}

.yugo,
.yugo *,
.yugo a {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
	font-weight: 500;
}

.small {
	font-size: 0.8em;
	display: inline-block;
	font-weight: bold;
}

.indent-1 {
	text-indent: -1em;
	padding-left: 1em;
}

.marker {
	background: linear-gradient(transparent 75%, #ffff00 25%);
	margin: 0 3px;
	padding: 0 2px 0 2px;
	display: inline;
}

.ib {
	display: inline-block;
}

.c-red {
	color: #c11920;
}

.c-gray {
	color: #58595b;
}

/* リスト */
.list-note {
	margin-top: 20px;
}

.list-note>li {
	position: relative;
	line-height: 1.4;
	padding-left: 1.2em;
}

.list-note>li:not(:first-child) {
	margin-top: 0.3em;
}

.list-note>li::before {
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}

.list-note.fs-l>li {
	font-size: 20px;
	line-height: 1.8;
	letter-spacing: 0.075em;
}

@media screen and (max-width: 768px) {
	.list-note.fs-l>li {
		font-size: 3.2vw;
	}
}

.list-note.fs-l>li:not(:first-child) {
	margin-top: 0;
}

/* テーブル */
table.table {
	width: 100%;
	table-layout: fixed;
	border-top: 3px solid #000;
	border-bottom: 3px solid #000;
}

@media screen and (max-width: 768px) {
	table.table {
		border-top: 2px solid #000;
		border-bottom: 2px solid #000;
	}
}

table.table th,
table.table td {
	font-size: clamp(0px, 1.8vw, 22px);
	font-weight: 600;
	letter-spacing: 0.07em;
	text-align: center;
	border-bottom: solid 1px #000;
	padding: 0.5em;
	vertical-align: middle;
	word-break: break-all;
}

table.table td {
	font-size: clamp(0px, 2.3vw, 28px);
	font-weight: 900;
}

table.table tr:first-child th,
table.table tr:first-child td {
	font-size: clamp(0px, 1.33vw, 16px);
	font-weight: normal;
	font-weight: 500;
	padding: 1em 0.8em;
}

table.table tr:first-child th .small,
table.table tr:first-child td .small {
	font-size: 0.95em;
	line-height: 1.3;
}

@media screen and (max-width: 768px) {

	table.table th,
	table.table td {
		font-size: 3.8vw;
	}

	table.table td {
		font-size: 4.9vw;
	}

	table.table tr:first-child th,
	table.table tr:first-child td {
		font-size: 3.1vw;
	}
}

table.table th {
	background-color: #7d7d7d;
	color: #fff;
}

table.table th *,
table.table td * {
	font-size: inherit;
}

table.table1 .col1 {
	width: 47%;
}

table.table1 .col2 {
	width: 53%;
}

table.table2 .col1 {
	width: 49%;
}

table.table2 .col2 {
	width: 51%;
}

@media screen and (max-width: 768px) {
	table.table1 .col1 {
		width: 45%;
	}

	table.table1 .col2 {
		width: 55%;
	}

	table.table2 .col1 {
		width: 60%;
	}

	table.table2 .col2 {
		width: 40%;
	}
}
/* title */
h2.c-ttl-lv2 {
	font-size: clamp(0px, 1.83vw, 22px);
	font-weight: bold;
	color: #fff;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-align: center;
	background-color: #58595b;
	padding: 0.3em 0.5em;
}

@media screen and (max-width: 768px) {
	h2.c-ttl-lv2 {
		font-size: 3.2vw;
	}
}

/* button */

.wrap .main-area a.c-btn {
	background-color: #cf000e;
	padding: 1em 2.5em;
	display: inline-block;
	border-radius: 100vh;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.wrap .main-area a.c-btn {
		width: 85.33vw;
		padding: 0.8em 1.5em;
	}
}

.wrap .main-area a.c-btn.c-btn-s {
	width: 426px;
	max-width: 100%;
	padding: 1em;
}

@media screen and (max-width: 1199px) {
	.wrap .main-area a.c-btn.c-btn-s {
		width: 35.52vw;
	}
}

@media screen and (max-width: 768px) {
	.wrap .main-area a.c-btn.c-btn-s {
		width: 85.33vw;
		max-width: 100%;
		padding: 0.8em 1.5em;
	}
}

.wrap .main-area a.c-btn.c-btn-l {
	width: 535px;
	max-width: 100%;
	padding: 1em;
}

@media screen and (max-width: 1199px) {
	.wrap .main-area a.c-btn.c-btn-l {
		width: 44.62vw;
	}
}

@media screen and (max-width: 768px) {
	.wrap .main-area a.c-btn.c-btn-l {
		width: 85.33vw;
		max-width: 100%;
		padding: 0.8em 1.5em;
	}
}

.wrap .main-area a.c-btn:hover {
	text-decoration: none;
}

.wrap .main-area a.c-btn>span {
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.2em;
	line-height: 1.4;
	position: relative;
	padding-right: 1.2em;
	padding-left: 1.2em;
	display: inline-block;
}

@media screen and (max-width: 1199px) {
	.wrap .main-area a.c-btn>span {
		font-size: 1.83vw;
	}
}

@media screen and (max-width: 768px) {
	.wrap .main-area a.c-btn>span {
		font-size: 3.46vw;
	}
}

.wrap .main-area a.c-btn>span::before {
	content: "";
	width: 0.72em;
	height: 1.045em;
	background: url("../images/arrow_w_wht.svg") no-repeat center center/contain;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.c-btn-gray {
	display: inline-block;
	background-color: #a0a0a0;
	font-size: clamp(16px, 1.58vw, 19px);
	font-weight: bold;
	color: #fff;
	line-height: 1.4;
	text-align: center;
	letter-spacing: 0.05em;
	text-decoration: none;
	padding: 0.75em 2em;
	border-radius: clamp(0px, 1.33vw, 16px);
	position: relative;
}

a.c-btn-gray:hover, a.c-btn-gray:active, a.c-btn-gray:focus {
	color: #fff;
}

.c-btn-gray.c-btn-md {
	width: 510px;
	max-width: 100%;
}

.c-btn-gray.c-btn-arrow {
	padding-left: 3.5em;
	padding-right: 3.5em;
}

.c-btn-gray.c-btn-arrow::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 10px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top: 0;
	right: clamp(0px, 2.92vw, 35px);
	bottom: 0;
	margin: auto;
}
@media screen and (max-width: 768px) {
	.c-btn-gray {
		font-size: 3.47vw;
		border-radius: 2.67vw;
	}

	.c-btn-gray.c-btn-arrow {
		padding-left: 1.5em;
		padding-right: 1.5em;
	}

	.c-btn-gray.c-btn-arrow::before {
		border-width: 6px 0 6px 8px;
		right: 2.67vw;
	}
}


/* mv */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.mv {
	padding-top: clamp(0px, 5vw, 60px);
}
.mv-main {
	position: relative;
}

.mv-inner,
.mv-ttl {
	width: 100vw;
	margin: 0;
	position: relative;
	overflow: hidden;
	display: flex;
	justify-content: center;
}

.mv-ttl img {
	width: clamp(0px, 166.7vw, 2000px);
	max-width: inherit;
}

@media screen and (max-width: 768px) {
	.mv-ttl img {
		width: 100%;
	}
}


/* lead */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.lead {
	margin-bottom: clamp(0px, 15.83vw, 190px);
}

.lead-inner {
	width: clamp(0px, 83.3vw, 1000px);
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 768px) {
	.lead {
		margin-bottom: 26.67vw;
	}
	.lead-inner {
		width: 100%;
	}
	.lead-img-01 img {
		width: 110%;
		max-width: initial;
		display: inline-block;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}
	.lead-img-02 img {
		width: 130%;
		max-width: initial;
		display: inline-block;
		position: relative;
		left: 50%;
		transform: translateX(-50%);
	}
}


/* special */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.special {
	position: relative;
}
.special::before {
	content: "";
	width: clamp(0px, 150vw, 2000px);
	height: auto;
	aspect-ratio: 2000 / 7812;
	background-image: url("../images/bg_cont.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	position: absolute;
	top: clamp(-30px, -2.5vw, 0px);
	left: 50%;
	transform: translateX(-50%);
	pointer-events: none;
}

.details-item1 {
	margin-bottom: clamp(0px, 14.58vw, 175px);
}

@media screen and (max-width: 768px) {
	.details-item1 {
		margin-bottom: 24vw;
		position: relative;
	}

	.details-item1::before {
		content: "";
		width: 100vw;
		height: auto;
		aspect-ratio: 390 / 400;
		background-image: url("../images/bg_cont_01_sp.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		position: absolute;
		top: -22.67vw;
		left: 0;
		pointer-events: none;
	}

	.special::before {
		display: none;
	}
}

.details-item2 {
	margin-bottom: clamp(0px, 16.7vw, 200px);
}

@media screen and (max-width: 768px) {
	.details-item2 {
		margin-bottom: 24vw;
		position: relative;
	}

	.details-item2::before {
		content: "";
		width: 100vw;
		height: auto;
		aspect-ratio: 390 / 500;
		background-image: url("../images/bg_cont_02_sp.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		position: absolute;
		top: -8vw;
		left: 0;
		pointer-events: none;
	}

	.details-item2 .details-img {
		width: calc(100% + 6.93vw);
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		margin-bottom: 6vw;
	}
}

.details-item3 {
	margin-bottom: clamp(0px, 16.7vw, 200px);
}

@media screen and (max-width: 768px) {
	.details-item3 {
		margin-bottom: 24vw;
		position: relative;
	}

	.details-item3::before {
		content: "";
		width: 100vw;
		height: auto;
		aspect-ratio: 390 / 420;
		background-image: url("../images/bg_cont_03_sp.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		position: absolute;
		top: -10.67vw;
		left: 0;
		pointer-events: none;
	}
}

.details-item4 {
	margin-bottom: clamp(0px, 19.17vw, 230px);
}

@media screen and (max-width: 768px) {
	.details-item4 {
		margin-bottom: 24vw;
		position: relative;
	}

	.details-item4::before {
		content: "";
		width: 100vw;
		height: auto;
		aspect-ratio: 390 / 420;
		background-image: url("../images/bg_cont_04_sp.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		position: absolute;
		top: -10.67vw;
		left: 0;
		pointer-events: none;
	}
}

@media screen and (max-width: 768px) {
	.details-item5 {
		position: relative;
	}

	.details-item5::before {
		content: "";
		width: 100vw;
		height: auto;
		aspect-ratio: 390 / 420;
		background-image: url("../images/bg_cont_05_sp.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		position: absolute;
		top: -10.67vw;
		left: 0;
		pointer-events: none;
	}
}

.details-item .txt1 {
	text-align: center;
	margin-bottom: 30px;
}

@media screen and (max-width: 1199px) {
	.details-item .txt1 {
		margin-bottom: 2.5vw;
	}
}

table.table {
	margin: 0 auto clamp(0px, 5vw, 60px);
}

table.table1 {
	max-width: clamp(0px, 36.7vw, 440px);
}

table.table2 {
	max-width: clamp(0px, 45.8vw, 550px);
}

@media screen and (max-width: 768px) {
	table.table {
		margin: 0 auto;
	}

	table.table1 {
		max-width: 74vw;
	}

	table.table2 {
		max-width: 86vw;
	}
}

.off-10 {
	width: clamp(0px, 18.3vw, 220px);
}

@media screen and (max-width: 768px) {
	.off-10 {
		width: 28.2vw;
	}
}

.table-note {
	max-width: 1000px;
	margin: 0 auto 50px;
}

@media screen and (max-width: 1199px) {
	.table-note {
		margin: 0 auto 5.2vw;
	}
}

.table-note ul li {
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: 0.025em;
}

@media screen and (max-width: 1199px) {
	.table-note ul li {
		font-size: 1.833vw;
	}
}

@media screen and (max-width: 768px) {
	.table-note ul li {
		font-size: 3.2vw;
	}
}

.coupon-date {
	width: 100%;
	max-width: clamp(0px, 63.3vw, 760px);
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: clamp(0px, 6.7vw, 80px) auto 0;
}

@media screen and (max-width: 768px) {
	.coupon-date {
		max-width: 100vw;
		margin-top: 8vw;
	}
}

.coupon-date .top-area {
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 0.07em;
	padding-bottom: 0.3em;
}

@media screen and (max-width: 1199px) {
	.coupon-date .top-area {
		font-size: 2vw;
	}
}

@media screen and (max-width: 768px) {
	.coupon-date .top-area {
		font-size: 4vw;
	}
}

.coupon-date .bottom-area {
	width: 100%;
	font-size: 38px;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	padding-top: 0.2em;
	border-top: 3px solid #000;
	white-space: nowrap;
}

@media screen and (max-width: 1199px) {
	.coupon-date .bottom-area {
		font-size: 3.2vw;
		border-top: 2px solid #000;
	}
}

@media screen and (max-width: 768px) {
	.coupon-date .bottom-area {
		font-size: 4.8vw;
		border-top: 1px solid #000;
		width: auto;
	}
}

.details-item2 table.table td {
	vertical-align: middle;
}

.shop-btn {
	width: 715px;
	max-width: 60vw;
	margin: 160px auto 200px;
}

@media screen and (max-width: 1199px) {
	.shop-btn {
		margin: 13.33vw auto 16.7vw;
	}
}

@media screen and (max-width: 768px) {
	.shop-btn {
		max-width: 77vw;
		margin: 21.33vw auto 30vw;
	}
}

.wrap .link {
	text-decoration: none;
	font-size: 32px;
	font-weight: bold;
	color: #fff;
	line-height: 1.3;
	text-align: center;
	letter-spacing: 0.075em;
	background-color: #c11920;
	border: 3px solid #c11920;
	padding: 0.25em 0.8em;
	border-radius: 0.65em;
	display: block;
}

@media screen and (max-width: 1199px) {
	.wrap .link {
		font-size: 2.7vw;
	}
}

@media screen and (max-width: 768px) {
	.wrap .link {
		font-size: 4vw;
	}
}

.wrap .link:hover {
	text-decoration: none;
	background-color: #fff;
	color: #c11920;
	opacity: 1;
}

.reserve-btn {
	width: 715px;
	max-width: 60%;
	margin: 200px auto 0;
}

@media screen and (max-width: 768px) {
	.reserve-btn {
		max-width: 77%;
		margin: 25.6vw auto 0;
	}
}

.txt {
	font-size: 40px;
	line-height: 1.5em;
	letter-spacing: 0.075em;
	text-align: center;
	font-weight: bold;
	margin-bottom: 1.3em;
}

@media screen and (max-width: 1199px) {
	.txt {
		font-size: 3.33vw;
	}
}

@media screen and (max-width: 768px) {
	.txt {
		font-size: 4.26vw;
		margin-bottom: 5.33vw;
	}
}

.img-wrap {
	display: flex;
	justify-content: center;
}

.step {
	padding-top: clamp(0px, 8.3vw, 100px);
}

@media screen and (max-width: 768px) {
	.step {
		padding-top: 13vw;
	}
}

.step-item1 {
	margin-bottom: clamp(0px, 10.83vw, 130px);
}

/* .step-item1 .img-wrap {
	margin-top: 90px;
}

@media screen and (max-width: 1199px) {
	.step-item1 .img-wrap {
		margin-top: 7.5vw;
	}
}

@media screen and (max-width: 768px) {
	.step-item1 .img-wrap {
		margin-top: 8vw;
	}
} */

.step-item2 {
	margin-top: 210px;
}

@media screen and (max-width: 1199px) {
	.step-item2 {
		margin-top: 17.5vw;
	}
}

@media screen and (max-width: 768px) {
	.step-item2 {
		margin-top: 13.33vw;
	}
}

.qr-img {
	width: 570px;
	max-width: 57%;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.qr-img {
		max-width: 70%;
	}
}

.line-btn {
	text-align: center;
	margin: 60px auto 130px;
}

@media screen and (max-width: 1199px) {
	.line-btn {
		margin: 5vw auto 24vw;
	}
}

.line-btn a {
	display: inline-block;
}

.coupon-info-img {
	text-align: center;
	margin: 0 -40px;
}

@media screen and (max-width: 1199px) {
	.coupon-info-img {
		margin: 0 -3.34vw;
	}
}

@media screen and (max-width: 768px) {
	.coupon-info-img {
		width: 90%;
		margin: 0 auto;
	}
}

.info-box-wrap {
	max-width: 900px;
	margin: 0 auto 280px;
}

@media screen and (max-width: 1199px) {
	.info-box-wrap {
		margin: 0 auto 23.33vw;
	}
}

@media screen and (max-width: 768px) {
	.info-box-wrap {
		margin: 0 auto 13.33vw;
	}
}

.info-box {
	margin-bottom: 120px;
}

@media screen and (max-width: 1199px) {
	.info-box {
		margin-bottom: 10vw;
	}
}

@media screen and (max-width: 768px) {
	.info-box {
		margin-bottom: 10.66vw;
	}
}

.info-box:last-of-type {
	margin-bottom: 0;
}

h2.info-ttl {
	text-align: center;
	margin-bottom: 60px;
}

@media screen and (max-width: 1199px) {
	h2.info-ttl {
		margin-bottom: 5vw;
	}
}

@media screen and (max-width: 768px) {
	h2.info-ttl {
		margin-bottom: 5.33vw;
	}
}

.info-ttl span {
	font-size: 51px;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.6;
}

@media screen and (max-width: 1199px) {
	.info-ttl span {
		font-size: 4.25vw;
	}
}

@media screen and (max-width: 768px) {
	.info-ttl span {
		font-size: 4.8vw;
	}
}

.media {
	display: flex;
	align-items: flex-start;
}

@media screen and (max-width: 768px) {
	.media {
		display: block;
	}
}

.media.reverse {
	flex-direction: row-reverse;
}

.media-img {
	flex: 0 1 47.2%;
	margin-right: 4.5%;
}

@media screen and (max-width: 768px) {
	.media-img {
		text-align: center;
		margin-right: 0;
		margin-bottom: 4vw;
	}
}

.media2 .media-img {
	flex: 0 1 44.4%;
}

.media3 .media-img {
	flex: 0 1 37.4%;
}

.media.reverse .media-img {
	margin-right: 0;
}

.media-txt {
	flex: 1;
	margin-block: calc((1em - 1lh) / 2);
	/* ハーフレディングを打ち消す */
	text-align: justify;
	text-justify: inter-character;
}

@media screen and (max-width: 768px) {
	.media-txt {
		margin-top: 0;
	}
}

.media-txt p {
	font-size: 29px;
	color: #000;
	line-height: 1.7;
	letter-spacing: 0.02em;
}

@media screen and (max-width: 1199px) {
	.media-txt p {
		font-size: 2.416vw;
	}
}

@media screen and (max-width: 768px) {
	.media-txt p {
		font-size: 3.466vw;
	}
}

.media-txt p.note {
	font-size: 24px;
	text-indent: -1em;
	padding-left: 1em;
}

@media screen and (max-width: 1199px) {
	.media-txt p.note {
		font-size: 2vw;
	}
}

@media screen and (max-width: 768px) {
	.media-txt p.note {
		font-size: 3.2vw;
	}
}

.media.reverse .media-txt {
	margin-right: 4.5%;
}

@media screen and (max-width: 767px) {
	.media.reverse .media-txt {
		margin-right: 0;
	}
}

/* info */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.info {
	padding-top: 290px;
}

@media screen and (max-width: 1199px) {
	.info {
		padding-top: 24.16vw;
	}
}

@media screen and (max-width: 768px) {
	.info {
		padding-top: 13.33vw;
	}
}

/* link banner */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.link-banner {
	margin-top: 200px;
	text-align: center;
}

@media screen and (max-width: 1199px) {
	.link-banner {
		margin-top: 16.7vw;
	}
}

@media screen and (max-width: 768px) {
	.link-banner {
		margin-top: 16vw;
	}
}

.link-banner-inner {
	width: 1000px;
	max-width: 86%;
	margin: 0 auto;
}

.link-banner a {
	display: block;
}

/* red border title */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.red-border-ttl {
	width: 100%;
	position: relative;
	display: flex;
	justify-content: center;
}

.red-border-ttl::before {
	content: "";
	width: 100%;
	height: 4px;
	background-color: #cdae4e;
	border-radius: 100vh;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	margin: auto;
}

.red-border-ttl span {
	width: 680px;
	max-width: 70%;
	display: block;
	background-color: #fff;
	position: relative;
	z-index: 2;
	text-align: center;
	font-size: clamp(0px, 3.33vw, 40px);
	letter-spacing: 0.19em;
	font-weight: bold;
}

.red-border-ttl span::before,
.red-border-ttl span::after {
	content: "";
	width: 4px;
	height: 40px;
	background-color: #cdae4e;
	border-radius: 100vw;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

.red-border-ttl span::before {
	left: -1px;
}

.red-border-ttl span::after {
	right: -1px;
}

@media screen and (max-width: 768px) {
	.red-border-ttl::before {
		height: 2px;
	}

	.red-border-ttl span::before,
	.red-border-ttl span::after {
		width: 2px;
		height: 30px;
	}

	.red-border-ttl span {
		font-size: 4.53vw;
	}
}

/* foot-logo-menu */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.foot-logo-menu {
	padding-top: 200px;
}

@media screen and (max-width: 1199px) {
	.foot-logo-menu {
		padding-top: 16.7vw;
	}
}

@media screen and (max-width: 768px) {
	.foot-logo-menu {
		padding-top: 20.5vw;
	}
}

/* details */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.inner-90p {
	width: 900px;
	max-width: 96%;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.sp-inner-100p {
		width: 100%;
		max-width: 100%;
	}
}

.sec-inner {
	width: clamp(0px, 92vw, 1000px);
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 768px) {
	.sec-inner {
		width: 84%;
	}
}

.details-btn {
	text-align: center;
}

.details-txt p + p {
	margin-top: 1em;
}

.details-txt *,
.details-txt a {
	font-size: clamp(13px, 1.33vw, 16px);
	font-weight: bold;
	line-height: 1.6;
}

.details-txt a {
	text-decoration: none;
}

.details-txt a:hover {
	text-decoration: underline;
}

.line-plus {
	margin: clamp(0px, 15vw, 180px) 0;
}

.chance {
	margin-bottom: clamp(0px, 11.67vw, 140px);
}

.chance-img {
	width: 860px;
	max-width: 86%;
	margin: 0 auto;
}

.products {
	margin-bottom: clamp(0px, 9.17vw, 110px);
}

.products-img {
	width: 670px;
	max-width: 67%;
	margin: 0 auto;
}

.period {
	margin-bottom: clamp(0px, 36.67vw, 440px);
}

.period-img {
	width: 670px;
	max-width: 67%;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.details-txt *,
	.details-txt a {
		font-size: 2.67vw;
	}

	.details-btn {
		width: 95%;
		margin: 1.33vw auto 0;
	}

	.line-plus  {
		margin: 32vw 0 20vw;
	}

	.line-plus .sec-inner {
		width: 100%;
	}

	.chance .sec-inner {
		width: 90%;
	}

	.chance {
		margin-bottom: 14.67vw;
		position: relative;
	}

	.chance::before {
		content: "";
		width: 100vw;
		height: auto;
		aspect-ratio: 390 / 420;
		background-image: url("../images/bg_cont_06_sp.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		position: absolute;
		top: -14.67vw;
		left: 0;
		pointer-events: none;
	}

	.chance-img {
		width: 100%;
		max-width: 100%;
	}

	.products {
		margin-bottom: 12vw;
	}

	.products-img {
		width: 84%;
		max-width: 100%;
	}

	.period {
		margin-bottom: 29.33vw;
	}

	.period-img {
		width: 84%;
		max-width: 100%;
	}
}

/* exp */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.exp .c-ttl-lv2 {
	margin-bottom: 0.8em;
}

.exp .list-note li {
	font-size: clamp(0px, 1.33vw, 16px);
	line-height: 1.7;
}

.exp-items {
	display: flex;
	flex-direction: column;
	gap: clamp(0px, 15.83vw, 190px);
}

@media screen and (max-width: 768px) {
	.exp .inner {
		width: 95%;
	}

	.exp .list-note li {
		font-size: 2.93vw;
	}

	.exp-items {
		gap: 16vw;
	}
}

/* outline */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.outline {
	margin-top: clamp(0px, 5vw, 60px);
}
.outline-ttl {
	font-size: 21px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 1.4em;
}
.outline-ttl .small {
	font-size: 0.85em;
}

@media screen and (max-width: 768px) {
	.outline {
		margin-top: 8vw;
	}
	.outline-ttl {
		font-size: 3.73vw;
	}
}

/* fixed nav */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.fixed-nav {
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);

	width: 100%;
	padding: clamp(0px, 1.7vw, 20px) 0;
	background-color: #c11920;
	z-index: 1000;

	display: flex;
	justify-content: center;
	gap: clamp(0px, 2.08vw, 25px);
}

.fixed-nav .btn {
	width: clamp(0px, 36.67vw, 440px);
	display: block;
}

@media screen and (max-width: 768px) {
	.fixed-nav {
		padding: 3vw 0;
		gap: 1.3vw;
	}

	.fixed-nav .btn {
		width: auto;
		height: 6.4vw;
	}

	.fixed-nav .btn img {
		height: 100%;
	}
}

/* scroll show */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.js-scroll-show {
	opacity: 0;
	transition: opacity 0.4s;
}

.js-scroll-show.show {
	opacity: 1;
}