@charset "UTF-8";

html{
	margin: 0;
	padding: 0;
}
body {
	font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', YuGothic, Meiryo, sans-serif;
	font-weight: 400;
	font-feature-settings: 'palt';
	letter-spacing: 0.1em;
	color: #000000;
	word-break: break-all;
}
html, body {
	-webkit-text-size-adjust: none;
}
h1, h2, h3, h4, h5, h6, p,figure,ul,ol,li,dl,dt,dd{
	margin: 0;
	padding: 0;
	line-height: 145%;
}
p {
	font-size: 100%;
	line-height: 150%;
}

*,*::before,*::after {
	box-sizing: border-box;
}
header,footer,section,aside,nav,article,main {
	display: block;
}
ul li,ol li{
	list-style: none;
}
img {
	width: 100%;
	border: none;
	vertical-align: top;
	margin: 0;
	padding: 0;
}
a {
	line-height: 125%;
	color: #000000;
	text-decoration: none;
	transition: color 0.25s;
}
a:link,a:visited {
	color: #000000;
}
a:hover {
	color: #000000;
	text-decoration: none;
}

/* button初期化 */
button {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	font-family: inherit;
	background: none;
	border: none;
	outline: none;
}
button:hover {
	cursor: pointer;
}

/* 表示切替 */
.switch {
	visibility: hidden;
}
.sp{
	display:none;
}
@media screen and (max-width:640px) {
	body{
		-webkit-text-size-adjust:100%;
	}
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}
}


/*
	common
-----------------------------------------------------------------------------------------------*/
:root {
	/* width */
	--wBase: 980px;
	/* color */
	--mainOrange: #eb5505;
	--mainBlue: #0070cc;
	--mainYellow: #fff500;
	--mainGreen: #90bd20;
	--bgOrange: #fff5e6;
	--bgGray:#f5f5f5;
	--lineGray: #cccccc;
	--subGray: #707070;
	--subDarkGray: #333333;
	/* font */
	--Barlow: "Barlow", sans-serif;
	/* font-weight */
	--light: 400;
	--medium: 500;
	--semiBold: 600;
	--bold: 700;
	--black: 900;
}

#wrap{
	position: relative;
}

main {
	overflow: hidden;
}

/* ctsArea */
.ctsArea {
	max-width: var(--wBase);
	margin: 0 auto;
	padding: 80px 10px;
	position: relative;
}
/* 背景色 */
.bgOrange {
	background-color: var(--bgOrange);
}
.bgGray {
	background-color: var(--bgGray);
}
.bgGrad {
	background: #ed661e;
	background: linear-gradient(42deg,rgba(237, 102, 30, 1) 0%, rgba(250, 128, 40, 1) 80%);
}

/* 見出し */
.tit {
	margin-bottom: 30px;
	text-align: center;
	font-size: 3.2rem;
	font-weight: var(--bold);
}
.titBorder {
	font-weight: var(--bold);
	position: relative;
	z-index: 1;
}
.titBorder::before {
	content: '';
	width: 100%;
	height: 10px;
	position: absolute;
	transform: translateX(-50%);
	left: 50%;
	bottom: 3px;
	z-index: -1;
}
.titColor {
	color: var(--mainOrange);
	font-weight: var(--bold);
}

/* サブ見出し */
.titSub {
	display: block;
	text-align: center;
	line-height: 120%;
	font-size: 1.8rem;
	font-weight: var(--bold);
}
.titSub span{
	font-size: 1.2rem;
	font-weight: var(--bold);
}

/* 詳細 */
.noteBox {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-top: 10px;
}
.note {
	text-align: justify;
	word-break: break-word; 
	letter-spacing: 0.05rem;
	color: var(--subGray);
	font-size: 1.2rem;
}

/* ボタン オレンジ */
a.btnBase {
	width: 100%;
	max-width: 450px;
	margin-top: 15px;
	padding: 20px 10px 22px;
	color: var(--mainOrange);
	text-align: center;
	line-height: 1;
	letter-spacing: 0.025rem;
	font-size: 1.8rem;
	font-weight: var(--bold);
	background-color: #fff;
	border: 1px solid var(--mainOrange);
	border-radius: 50px;
	position: relative;
	transition: all .3s;
}
a.btnBase::before,
a.btnIcon span::before {
	content: '';
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}
a.btnBase::before {
	width: 8px;
	height: 8px;
	border-top: 1px solid var(--mainOrange);
	border-right: 1px solid var(--mainOrange);
	rotate: 45deg;
	top: 29px;
	right: 25px;
	transition: all .3s;
}
.btnIcon span {
	display: block;
	width: 100%;
	font-size: 1.8rem;
	font-weight: var(--bold);
	position: relative;
}
.btnIcon span::before {
	width: 19px;
	height: 15px;
	background: url(/function/promotion/reward/img/ico_btnItem.svg) no-repeat center center /contain;
	rotate: 0deg;
	right: 19px;
}
@media (hover: hover) {
	a.btnBase:hover {
		opacity: .7;
		transition: all .3s;
	}
	a.btnBase:hover::before {
		right: 23px;
		transition: all .3s;
	}
}

/* ボタン ブルー */
a.blueBtn {
	display: block;
	width: 100%;
	margin-top: 10px;
	padding: 8px;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.025rem;
	color: var(--mainBlue);
	font-size: 1.4rem;
	border: 1px solid var(--mainBlue);
	border-radius: 50px;
	position: relative;
	transition: all .3s;
}
a.blueBtn::after {
	content: '';
	width: 5px;
	height: 5px;
	border-top: 1px solid var(--mainBlue);
	border-right: 1px solid var(--mainBlue);
	rotate: 45deg;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	right: 17px;
	transition: all .3s;
}
@media (hover: hover) {
	a.blueBtn:hover {
		opacity: .7;
		transition: all .3s;
	}
	a.blueBtn:hover::after {
		right: 15px;
		opacity: .7;
		transition: all .3s;
	}
}

/* 全アコーディオン 共通 */
.toggleBtn {
	width: 100%;
	position: relative;
	cursor: pointer;
	transition: all .5s ease;
}
.toggleBtn:hover {
	cursor: pointer;
}
.toggleBtn.close {
	border-radius: 5px 5px 0 0;
}
.toggle {
	display: none;
	position: relative;
}

/* アコーディオン 装飾 */
.toggleBtn::before,
.toggleBtn::after {
	content:'';
	width: 15px;
	height: 1px;
	border-radius: 2px;
	background-color: #000;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	transition: transform .3s ;
}
.toggleBtn::before {
	right: 25px;
	transform: rotate(0deg);
}
.toggleBtn::after {
	right: 25px;
	transform: rotate(90deg);
}
.toggleBtn.close::before {
	transform: rotate(180deg);
}
.toggleBtn.close::after {
	display: none;
}

/* faq アコーディオン 共通 */
.faqToggleBtnArea {
	border: 1px solid var(--lineGray);
	border-radius: 10px;
}
.faqToggleBtnBox {
	border-top: 1px solid var(--lineGray);
}
.faqToggleBtnBox:first-of-type {
	border-top: none;
}
.faqToggleBtn {
	padding: 20px 40px 20px 25px;
	font-size: 2.0rem;
}
.faqToggleBtnBox .toggle {
	padding: 20px 25px;
}
.faqToggleBtnBox .toggle::before {
	content: '';
	width: calc(100% - 50px);
	height: 1px;
	background-image : linear-gradient(to right, var(--lineGray) 2px, transparent 3px);
	background-size: 5px 1px;
	background-repeat: repeat-x;
	background-position: left top;
	position: absolute;
	transform: translateX(-50%);
	top: 0;
	left: 50%;
}

/* answer */
.txtAnswer {
	text-align: justify;
	font-size: 1.6rem;
}
.txtAnswer .inquiry {
	color: var(--mainBlue);
	border-bottom: 1px solid var(--mainBlue);
}
.faqToggleBtnBox .note {
	margin-top: 5px;
	padding-left: 15px;
	text-align: justify;
	letter-spacing: 0.05rem;
	position: relative;
}
.faqToggleBtnBox .note::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}

/* fixBtnArea */
.fixBtnArea {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 12px;
	background-color: #fff;
	border-radius: 32px 32px 0 0;
	box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
    position: fixed;
	transform: translateX(-50%);
	bottom: 0;
	left: 50%;
	z-index: 99;
}
.fixBtnArea a.btnBase {
	width: 100%;
	max-width: 440px;
	height: 100%;
	margin-top: 0;
	padding: 20px 25px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: var(--bold);
	background-color: var(--mainOrange);
	border-radius: 50px;
	position: relative;
	opacity: 1;
	transition: all .3s;
}
.fixBtnArea a.btnBase::before {
	width: 12px;
	height: 12px;
    border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	rotate: -45deg;
	top: 45%;
	right: 25px;
	transition: all .3s;
}
@media (hover: hover) {
	.fixBtnArea a.btnBase:hover {
		opacity: .7;
		transition: all .3s;
	}
	.fixBtnArea a.btnBase:hover::before {
		right: 23px;
		transition: all .3s;
	}
}

/* ツールチップ ボタン */
[class^="tool-tip0"] {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	line-height: 1;
	color: #fff;
	font-size: 1.2rem;
	background-color: var(--mainOrange);
	border-radius: 50px;
	position: relative;
	cursor: pointer;
}
[class^="tool-tipBox"]{
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	width: 420px;
	padding: 10px;
	background-color: #fff;
	border: 1px solid var(--lineGray);
	border-radius: 7px;
	box-shadow: 5px 5px rgba(0, 0, 0, 0.1);
	position: absolute;
	top: -380px;
	right: -80%;
	z-index: 99;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	opacity: 0;
}
[class^="tool-tipBox"]::before,
[class^="tool-tipBox"]::after {
	content: '';
	position: absolute;
}
[class^="tool-tipBox"]::before {
	border: 12px solid transparent;
	border-top: 12px solid #fff;
	bottom: -22px;
	z-index: 2;
}
[class^="tool-tipBox"]::after {
	border: 11px solid transparent;
	border-top: 11px solid var(--lineGray);
	bottom: -22px;
	z-index: 1;
}
.tool-tipBox01::before {
	right: 220px;
}
.tool-tipBox01::after {
	right: 221px;
}
.tool-tipBox02::before {
	right: 154px;
}
.tool-tipBox02::after {
	right: 155px;
}
.tool-tipBox03::before {
	right: 153px;
}
.tool-tipBox03::after {
	right: 154px;
}
[class^="tool-tipBox"].tipActive {
	visibility: visible;
	opacity: 1;
}

/* ツールチップ */
.tipList {
	display: flex;
	gap: 15px;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	text-align: center;
	position: relative;
}
.tipList::before,
.tipList::after {
	content: '';
	width: 100%;
	height: 1px;
	position: absolute;
	transform: translate(-50%, -50%);
	top: 50%;
	left: 50%;
}
.tipList::before {
	background-image: linear-gradient(to right, var(--lineGray) 2px, transparent 3px);
	background-size: 5px 1px;
	background-repeat: repeat-x;

}
.tipList::after {
	width: 1px;
	height: 100%;
	background-image: linear-gradient(to bottom, var(--lineGray) 2px, transparent 3px);
	background-size: 1px 5px;
	background-repeat: repeat-y;
}
.tipList li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: calc((100% - 30px)/2);
	min-height: 165px;
}
.tipList li img {
	max-width: 80px;
}
.tipList li .txtTip {
	font-size: 1.4rem;
	letter-spacing: 0.025rem;
}
.tipList li .txtTip span {
	color: var(--mainOrange);
	font-weight: var(--bold);
}

/*
	swiper
-----------------------------------------------------------------------------------------------*/
.swipeGrayArea {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: var(--bgGray);
	position: relative;
}
.swipeGrayArea::before {
	content: '';
	width: 100%;
	height: 62px;
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.swipeGrayArea::after {
	content: '';
	width: calc(100% - 40px);
	max-width: 960px;
	height: 1px;
	background-image: linear-gradient(to right, var(--subGray) 1px, transparent 2px);
	background-size: 4px 1px;
	background-repeat: repeat-x;
	background-position: center bottom;
	position: absolute;
	transform: translateX(-50%);
	top: 62px;
	left: 50%;
}
.swiperArea,
.swiperArea02,
.swiperArea03 {
	max-width: 350px;
	padding: 30px 0;
	position: relative;
}
.titSwiper {
	display: inline-block;
	padding: 0 40px;
	font-size: 1.8rem;
	position: relative;
}
.titSwiper::before,
.titSwiper::after {
	content: '';
	width: 30px;
	height: 2px;
	background-color: var(--mainOrange);
	border-radius: 10px;
	position: absolute;
	bottom: 10px;
}
.titSwiper::before {
	rotate: 50deg;
	left: 0;
}
.titSwiper::after {
	rotate: -50deg;
	right: 0;
}
.titSwiper span {
	font-weight: var(--medium);
	position: relative;
	z-index: 0;
}
.titSwiper span::before {
	content: '';
	width: 100%;
	height: 6px;
	background-color: var(--mainYellow);
	position: absolute;
	transform: translateX(-50%);
	bottom: 1px;
	left: 50%;
	z-index: -1;
}
.txtblackBox {
	display: inline-flex;
	margin-top: 15px;
	padding: 5px 12px;
	color: #fff;
	font-size: 2.0rem;
	font-weight: var(--bold);
	background-color: #000;
	border-radius: 5px;
	position: relative;
	z-index: 1;
}
.swiper {
	padding: 30px 20px;
	position: relative;
	overflow: visible;
}
.swiper-wrapper {
	padding-bottom: 40px;
}
.swiper-slide {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transform-origin: 100% 0;
	transition: transform 0.5s;
}
.swiper-slide img {
	margin-top: 10px;
}
.titSwipe {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--Barlow);
	font-size: 2.0rem;
	font-weight: var(--bold);
}
.titSwipe span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin-left: 5px;
	padding: 5px;letter-spacing: 0;
	color: #fff;
	font-size: 2.2rem;
	font-weight: var(--bold);
	background-color: var(--mainOrange);
	border-radius: 50px;
}
.txtSwipe {
	margin-top: 12px;
	text-align: center;
	letter-spacing: 0.025rem;
	font-weight: var(--bold);
}
.txtSwipe span {
	font-size: 1.0rem;
	position: relative;
	top: -5px;
}
.swipeNote {
	white-space: nowrap;
}
.swiperArea .note,
.swiperArea02 .note {
	margin-top: 10px;
	padding-left: 15px;
	text-align: justify;
	position: relative;
}
.swiperArea .note::before,
.swiperArea02 .note::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}

/* pagination */
.swiper-pagination-bullet-active{
	background-color: var(--mainOrange);
}

/* ボタン */
[class^="swiper-button-"] {
	display: inline-block;
	width: 50px;
	height: 50px;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	z-index: 1;
	transition: all .3s;
}
.swiper-button-l01-prev,
.swiper-button-l02-prev,
.swiper-button-l03-prev {
	background: url(/function/promotion/reward/img/item_prev.svg) no-repeat center center / contain;
	left: -18%;
}
.swiper-button-r01-next,
.swiper-button-r02-next,
.swiper-button-r03-next {
	background: url(/function/promotion/reward/img/item_next.svg) no-repeat center center / contain;
	right: -18%;
}
.swiper-button-l01-prev,
.swiper-button-r01-next,
.swiper-button-l02-prev,
.swiper-button-r02-next {
	top: 47%;
}
.swiper-button-l03-prev,
.swiper-button-r03-next {
	top: 49%;
}
[class^="swiper-button-"]:hover{
	opacity: .7;
	transition: all .3s;
	cursor: pointer;
}
[class^="swiper-button-"].is-disabled {
	opacity: 0; /* 完全に透明にする */
	visibility: hidden;  /* スクリーンリーダーなどにも非表示扱い */
	pointer-events: none; /* クリックできない */
}


/*
	header
-----------------------------------------------------------------------------------------------*/
.simple_header {
	border-top: 3px solid var(--mainOrange);
}
.simple_header_cont {
	display: table;
	max-width: 980px;
	padding: 0 10px;
}
.simple_header_cont .logo {
	width: 190px;
	height: 106px;
	position: relative;
	display: table-cell;
	vertical-align: middle;
}
.simple_header_cont .logo_img {
	width: 190px;
	height: 91px;
}
#header {
	background-color: #fff;
}
#header #logo {
	width: auto;
	height: 71px;
	display: table-cell;
	vertical-align: middle;
}
#header #logo a {
	display: inline-block;
}
#header #logo img {
	display: block;
	width: 267px;
	height: auto;
	position: relative;
	z-index: 9999;
}
#header .contents {
	width: 100%;
	max-width: 980px;
	height: auto;
	padding: 0 10px;
	margin: 0 auto;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	display: table;
	position: relative;
}
#pcHeaderSection {
	width: 100%;
	position: fixed;
	z-index: 999;
}
#pcHeaderSection .header_sub {
	width: 200px;
	height: 28px;
	color: var(--mainOrange);
	text-align: right;
	font-size: 1rem;
	position:absolute;
	right: 20px;
	top: 30px;
}
#pcHeaderSection .header_sub img {
	width: 200px;
}
.simple_header_cont {
	width: 100%;
	margin: auto;
	overflow: hidden;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

/* ハンバーガーメニュー
============================== */
/* ボタン */
#pcBtnHmbg {
	width: 74px;
	height: 74px;
	cursor: pointer;
	position: absolute;
	right: 0;
}
#pcBtnHmbg.active,
#spBtnHmbg.active {
	z-index: 9999;
}
#pcBtnHmbg span {
	width: 30px;
	height: 2px;
	background-color: var(--mainOrange);
	position: absolute;
	transform: translateX(-50%);
	left: 50%;
	transition: .4s;
}

#pcBtnHmbg span:nth-of-type(1) {
	top: 24px;
}
#pcBtnHmbg.active span:nth-of-type(1),
#spBtnHmbg.active span:nth-of-type(1) {
	transform: rotate(45deg);
}
#pcBtnHmbg span:nth-of-type(2) {
	top: 35px;
}
#pcBtnHmbg.active span:nth-of-type(2),
#spBtnHmbg.active span:nth-of-type(2) {
	opacity: 0;
}
#pcBtnHmbg span:nth-of-type(3) {
	top: 46px;
}
#pcBtnHmbg.active span:nth-of-type(3),
#spBtnHmbg.active span:nth-of-type(3) {
	transform: rotate(-45deg);
}
#pcBtnHmbg.active span:nth-of-type(1),
#pcBtnHmbg.active span:nth-of-type(3) {
	width: 32px;
	top: 33px;
	left: 20px;
}

/* gnav */
#pc-gNav {
	display: flex;
	align-items: center;
	justify-content: center;
	visibility: hidden;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 0;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	opacity: 0;
	overflow-y: scroll;
}
#pc-gNav.navActive {
	flex-direction: column;
	height: 100%;
	visibility: visible;
	z-index: 999;
	opacity: 1;
}
#pc-gNav #logo {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	max-width: 980px;
	min-height: 74px;
	padding: 0 10px;
	background-color: #fff;
	border-top: 3px solid var(--mainOrange);
	position: absolute;
	transform: translateX(-50%);
	left: 50%;
	top: 0;
	z-index: 999;
}
.gNavOverlay {
	display: block;
	width: 100%;
	height: 100%;
	background-color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
}
#pc-gNav .gNavOverlay {
	border-top: 3px solid #eb5205;
}
.listGNavArea {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 85px;
	padding: 0 35px 60px;
	width: 100%;
	height: calc(100% - 85px);
	overflow-y: scroll;
}
.listGnav {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
}
#header ul,
#spHeader ul {
	width: 100%;
	max-width: 600px;
	border-top: 1px solid var(--lineGray);
	border-bottom: 1px solid var(--lineGray);
}
#header ul li,
#spHeader ul li {
	width: 100%;
	padding: 8px 0;
	background-image: linear-gradient(to right, var(--lineGray) 2px, transparent 3px);
	background-size: 5px 1px;
	background-repeat: repeat-x;
	background-position: left bottom;
	position: relative;
}
#header ul li:last-child,
#spHeader ul li:last-child {
	background-image: none;
}
#header ul li::before, #header ul li::after,
#spHeader ul li::before, #spHeader ul li::after {
	content: '';
	position: absolute;
}
#header ul li::before {
	width: 40px;
	height: 40px;
	background-color: var(--bgOrange);
	border-radius: 50px;
	transform: translateY(-50%);
	top: 50%;
	right: 0;
	transition: all .3s;
}
#header ul li::after {
	width: 12px;
	height: 12px;
	border-right: 1px solid var(--mainOrange);
	border-bottom: 1px solid var(--mainOrange);
	rotate: -45deg;
	top: 29px;
	right: 17px;
	transition: all .3s;
}
@media (hover: hover) {
	#header ul li:hover::after,
	#header ul li:hover::after {
		transition: all .3s;
	}
	#header ul li:hover::after {
		right: 14px;
	}
}
.listGnav .btnTxt a {
	display: flex;
	align-items: center;
	width: 100%;
	height: 55px;
	text-align: left;
	font-size: 2.0rem;
	font-weight: var(--medium);
}
#pc-gNav.navActive #listGnav,
#sp-gNav.navActive #listGnav  {
	position: relative;
}

/*
	mv
-----------------------------------------------------------------------------------------------*/
#mv {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	position: relative;
}
#mv::before,
#mv::after {
	content: '';
	position: absolute;
}
#mv::before {
	width: 100px;
	height: 100px;
	background: linear-gradient(90deg, rgba(243, 180, 90, 0.5) 0%, rgba(239, 119, 55, 0.5) 100%);
	border-radius: 100px;
	top: 2%;
	right: 15%;
}
#mv::after {
	width: 200px;
	height: 200px;
	background: linear-gradient(90deg, rgba(239, 119, 55, 0.5) 0%, rgba(243, 180, 90, 0.5) 100%);
	border-radius: 200px;
	top: 20%;
	left: -5%;
}
.mvInner {
	width: 100%;
	padding-top: 120px;
	text-align: center;
	position: relative;
	z-index: 2;
}

/* mv 見出し */
.mvTit {
	text-align: center;
	line-height: 180%;
	font-size: 2.0rem;
	font-weight: var(--black);
	vertical-align: baseline;
}
.mvTitOrange {
	color: var(--mainOrange);
	font-size: 3.4rem;
	font-weight: var(--black);
}
.mvTitM {
	font-size: 3.8rem;
	font-weight: var(--black);
}
.mvTitL {
	font-size: 4.2rem;
	font-weight: var(--black);
}
.mvTitDeco {
	font-size: 4.4rem;
	font-weight: var(--black);
	font-style: italic;
}

/* h1 */
.mvImg {
	width: 100%;
	max-width: 750px;
	margin: 0 auto;
}
.mvTxtBox {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-top: 15px;
	background: rgba(255, 255, 255, 0);
	background: linear-gradient(0deg,rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 100%);
}
.mvTxt {
	display: inline-block;
	padding: 0 30px;
	text-align: center;
	line-height: 120%;
	color: #fff;
	font-size: 2.2rem;
	font-weight: var(--black);
	position: relative;
}
.mvTxt::before,
.mvTxt::after {
	content: '';
	width: 25px;
	height: 60px;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}
.mvTxt::before {
	background: url(/function/promotion/reward/img/item_mvTxt_left.svg) no-repeat center center / contain;
	left: 0;
}
.mvTxt::after {
	background: url(/function/promotion/reward/img/item_mvTxt_right.svg) no-repeat center center / contain;
	right: 0;
}
.mvTxt .mvTxtLine {
	font-weight: var(--black);
	position: relative;
	z-index: 1;
}
.mvTxt .mvTxtLine::before {
	content: '';
	width: 100%;
	height: 10px;
	background-color: var(--mainOrange);
	position: absolute;
	transform: translateX(-50%);
	left: 50%;
	bottom: 2px;
	z-index: -1;
}
.mvTxtSize {
	font-size: 1.8rem;
	font-weight: var(--black);
}

/* オートチャージ完了画像 */
.mvTxtBox img {
	width: 100%;
	max-width: 500px;
	margin-top: 15px;
}

/* mv ※ */
.mvNote {
	padding: 5px 0;
	text-align: center;
	font-size: 1.4rem;
	background-color: #fff;
}

/* 限定 */
.limitedBox {
	display: inline-block;
	width: 100%;
	max-width: 500px;
	padding: 25px 0;
	text-align: center;
	color: rgba(255, 255, 255, 0.75);
}
.titLimited {
	font-size: 2.4rem;
	font-weight: var(--black);
}
.txtLimited {
	margin-top: 15px;
	padding-top: 15px;
	line-height: 100%;
	font-size: 2.6rem;
	font-weight: var(--semiBold);
	border-top: 1px solid rgba(255, 255, 255, 0.75);
}
.txtLimited span {
	font-size: 1.6rem;
}

/* bg背景 */
.mvBg {
	width: 100%;
	height: 930px;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	overflow: hidden;
}

/*
	auto-charge
-----------------------------------------------------------------------------------------------*/
#auto-charge {
	text-align: center;
}
#auto-charge .tit {
	font-size: 2.0rem;
}
#auto-charge .titColor {
	font-size: 2.8rem;
}
#auto-charge .txt {
	font-weight: var(--semiBold);
}
.auto-chargeBox {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-top: 30px;
	padding: 40px 30px;
	border-radius: 20px;
	background-color: #fff;
	position: relative;
}
.auto-chargeTit {
	padding: 8px 15px;
	background-color: #000;
	border-radius: 4px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: var(--bold);
	position: absolute;
	top: -16px;
}
.auto-chargeTxt {
	font-size: 1.6rem;
}

/* case */
.auto-chargeCase {
	display: flex;
	flex-direction: column;
	margin-top: 30px;
}
.caseTxtSub {
	margin-bottom: 10px;
	padding: 6px 10px;
	font-size: 1.2rem;
	border: 1px solid var(--subGray);
	position: relative;
}
.caseTxtSub::before,
.caseTxtSub::after {
	content: '';
	position: absolute;
	transform: translateX(-50%);
	left: 50%;
}
.caseTxtSub::before {
	border: 9px solid transparent;
	border-top: 9px solid #FFF;
	bottom: -16px;
	z-index: 2;
}
.caseTxtSub::after {
	border: 8px solid transparent;
	border-top: 8px solid var(--subGray);
	bottom: -16px;
	z-index: 1;
}
.caseTxt {
	display: inline-block;
	width: fit-content;
	margin: 0 auto;
	font-size: 1.6rem;
	font-weight: var(--medium);
	position: relative;
	z-index: 1;
}
.caseTxt::before {
	content: '';
	width: 100%;
	height: 6px;
	background-color: var(--mainYellow);
	position: absolute;
	transform: translateX(-50%);
	left: 50%;
	bottom: 1px;
	z-index: -1;
}
.caseTxt span {
	font-size: 2.0rem;
}

/* オートチャージ img */
.auto-chargeImgBox {
	max-width: 600px;
}
.auto-chargeImg {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 10px;
	position: relative;
}
.auto-chargeImg img {
	width: 100%;
	height: auto;
}
.auto-chargeImg img:last-of-type {
	padding-top: 20px;
}
.auto-chargeImg::before{
	content: '';
	width: 14px;
	height: 14px;
	border-top: 2px solid var(--subGray);
	border-right: 2px solid var(--subGray);
	position: absolute;
	transform: translate(-50%, -50%);
	rotate: 45deg;
	top: 50%;
	left: 50%;
}

/* 一定額チャージ btn */
.caseBtnBox .caseTxtSub {
	color: var(--subGray);
}
.caseBtn {
	width: fit-content;
	margin: 0 auto;
	padding-bottom: 5px;
	font-size: 1.6rem;
	background-image : linear-gradient(to right, var(--subGray) 2px, transparent 3px);
	background-size: 5px 1px;
	background-repeat: repeat-x; 
	background-position: left bottom;
	position: relative;
}
.caseBtn::before,
.caseBtn::after {
	display: inline-block;
	content: '';
	/* transform: translateY(-50%); */
	position: absolute;
	/* top: 50%; */
	transition: all .3s;
}
.caseBtn::before {
	width: 21px;
	height: 21px;
	border: 1px solid var(--subGray);
	border-radius: 50px;
	top: 5px;
	right: -25px;
}
.caseBtn::after {
	width: 7px;
	height: 7px;
	border-right: 1px solid var(--subGray);
	border-bottom: 1px solid var(--subGray);
	rotate: 45deg;
	top: 11px;
	right: -18px;
}
@media (hover: hover) {
	.caseBtn:hover::before,
	.caseBtn:hover::after {
		transition: all .3s;
	}
	.caseBtn:hover::before {
		top: 7px;
	}
	.caseBtn:hover::after {
		top: 13px;
	}
}

/*
	points-earn
-----------------------------------------------------------------------------------------------*/
#points-earn .titBorder::before {
	background-color: var(--bgGray);
}
#points-earn {
	display: flex;
	flex-direction: column;
	gap: 80px 0;
}
#points-earn .ctsArea {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-bottom: 0;
}
#points-earn .topImg {
	display: block;
	width: 100%;
	max-width: 325px;
	margin: 0 auto 12px auto;
}
.points-earnImg {
	max-width: 600px;
}

/* 表 */
.tableBox {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-top: 50px;
}
.tableBoxTit {
	display: inline-block;
	margin: 0 auto 18px;
	padding: 0 35px;
	text-align: center;
	line-height: 130%;
	font-size: 1.8rem;
	font-weight: var(--bold);
	position: relative;
}
.tableBoxTit::before,
.tableBoxTit::after {
	content: '';
	width: 45px;
	height: 2px;
	background-color: var(--mainOrange);
	border-radius: 10px;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}
.tableBoxTit::before {
	rotate: 65deg;
	left: -10px;
}
.tableBoxTit::after {
	rotate: -65deg;
	right: -10px;
}
.tableBoxTitOrange {
	color: var(--mainOrange);
	font-weight: var(--bold);
}
.tableBoxTitL {
	font-size: 2.4rem;
	font-weight: var(--bold);
}

/* 達成条件 */
.achievement-condition {
	text-align: center;
	position: relative;
}
.achievement-condition::before {
	content: '';
	width: 100px;
	height: 50px;
	background-color: var(--mainOrange);
	clip-path: polygon(0 0,100% 0, 50% 100%);
	position: absolute;
	transform: translateX(-50%);
	left: 50%;
	top: -70px;
}
.titAc {
	display: inline-block;
	margin-bottom: 25px;
	padding: 0 50px;
	font-size: 2.2rem;
	font-weight: var(--bold);
	position: relative;
}
.titAc::before,
.titAc::after {
	content: '';
	width: 84px;
	height: 2px;
	background-color: var(--mainOrange);
	border-radius: 10px;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}
.titAc::before {
	rotate: 65deg;
	left: -20px;
}
.titAc::after {
	rotate: -65deg;
	right: -20px;
}
.txtAcNum {
	color: var(--mainOrange);
	font-family: var(--Barlow);
	font-size: 6.2rem;
	font-weight: var(--bold);
}
.txtAcPoint {
	display: inline-block;
	text-align: left;
	line-height: 110%;
	color: var(--mainOrange);
	font-size: 2.2rem;
	font-weight: var(--bold);
}
.txtAc {
	font-size: 2.4rem;
	font-weight: var(--bold);
}
.acListBox {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 17px;
	padding: 50px 10px;
	position: relative;
}
.acListBox::before {
	content: '';
	width: calc(100% - 40px);
	max-width: 960px;
	height: 1px;
	background-image : linear-gradient(to right, var(--subGray) 1px, transparent 2px);
	background-size: 4px 1px;
	background-repeat: repeat-x; 
	background-position: center top;
	position: absolute;
	transform: translateX(-50%);
	top: 0;
	left: 50%;
}
.titAcList {
	display: block;
	padding: 8px 15px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: var(--bold);
	background-color: #000;
	border-radius: 5px;
	position: absolute;
	transform: translateX(-50%);
	top: -17px;
	left: 50%;
}

/* 達成条件 リスト */
.acList {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 15px 0;
	width: 100%;
	max-width: 590px;
}
.acList li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: auto;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0px 5px 0px 0px rgba(0, 0, 0, 0.2);
}
.acListItem {
	display: flex;
	gap: 0 15px;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 25px 25px 10px;
}
.imgAcList {
	width: 60px;
	height: auto;
}
.txtAcList {
	text-align: left;
	font-size: 2.0rem;
	font-weight: var(--medium);
}
.txtAcList span {
	font-weight: var(--medium);
	position: relative;
	z-index: 0;
}
.txtAcList span::before {
	content: '';
	width: 100%;
	height: 8px;
	background-color: var(--mainYellow);
	position: absolute;
	transform: translateX(-50%);
	bottom: 3px;
	left: 50%;
	z-index: -1;
}
.txtPlus {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	margin-left: auto;
	padding: 5px;
	color: var(--mainOrange);
	font-size: 3.4rem;
	background-color: var(--bgOrange);
	border-radius: 50px;
}
.txtPlus .italic {
	font-family: var(--Barlow);
	font-weight: var(--bold);
	font-style: italic;
}
.txtPlus .italicS {
	font-size: 2.4rem;
}
a.acListBtn {
	display: inline-block;
	width: 100%;
	padding: 15px 25px 20px;
	text-align: center;
	color: var(--mainOrange);
	font-size: 1.4rem;
	position: relative;
}
a.acListBtn::before {
	content: '';
	width: calc(100% - 50px);
	height: 1px;
	background-image : linear-gradient(to right, var(--lineGray) 1px, transparent 2px);
	background-size: 4px 1px;
	background-repeat: repeat-x; 
	background-position: center top;
	position: absolute;
	transform: translateX(-50%);
	top: 0;
	left: 50%;
}
a.acListBtn::after {
	content: '';
	width: 8px;
	height: 8px;
	border-right: 1px solid var(--mainOrange);
	border-bottom: 1px solid var(--mainOrange);
	position: absolute;
	top: 18px;
	right: 40%;
	rotate: 45deg;
	transition: all 0.3s;
}
@media (hover: hover) {
	a.acListBtn:hover::after {
		top: 20px;
		transition: all 0.3s;
	}
}

/* アコーディオン ボタン */
.acToggleBtnArea {
	max-width: 980px;
	margin: 0 auto;
	padding: 50px 10px;
}
.acToggleBtn {
	padding: 20px 40px;
	color: var(--mainOrange);
	font-size: 1.8rem;
	font-weight: var(--bold);
	border: 1px solid var(--mainOrange);
	border-radius: 5px;
}
.acToggleBtnArea .toggle {
	display: none;
	padding: 30px 40px;
	border: 1px solid var(--mainOrange);
	border-top: 0;
	border-radius: 0 0 5px 5px;
	position: relative; 
}

/* アコーディオン 装飾 */
.acToggleBtn::before,
.acToggleBtn::after {
	content:'';
	position: absolute;
	transition: transform .3s;
}
.acToggleBtn::before {
	width: 29px;
	height: 29px;
	background-color: var(--mainOrange);
	border-radius: 50px;
	top: 20px;
	right: 15px;
}
.acToggleBtn::after {
	width: 13px;
	height: 13px;
	background: url(/function/promotion/reward/img/item_toggle_open.svg) no-repeat center center / contain;
	top: 28px;
	right: 23px;
	transition: all .3s;
}
.acToggleBtn.close::after {
	display: block;
	background: url(/function/promotion/reward/img/item_toggle_close.svg) no-repeat center center / contain;
	top: 28px;
	transform: rotate(0deg);
	transition: all .3s;
}

/* アコーディオン 特典詳細中身 */
.acItemList {
	display: flex;
	gap: 30px 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
}
.acItemList li {
	width: 100%;
}
.acItemList .titItem {
	margin-bottom: 12px;
	padding: 8px;
	color: var(--mainOrange);
	line-height: 1;
	font-weight: var(--bold);
	background-color: var(--bgOrange);
	border-radius: 2px;
}
.acItemList .txtItem {
	text-align: justify;
	font-size: 1.6rem;
}
.acItemList .txtItem span {
	font-size: 1.3rem;
	position: relative;
	top: -4px;
}
.acItemList .itemList {
	display: flex;
	flex-direction: column;
	gap: 5px 0;
	margin-top: 15px;
	padding: 15px;
	border: 1px solid var(--lineGray);
	border-radius: 2px;
	counter-reset: listnum; /* カウンターをリセット */
	list-style: none; /* 標準のスタイルは消す */
}
.acItemList .itemList li {
	padding-left: 22px;
	color: var(--subDarkGray);
	text-align: justify;
	line-height: 150%;
	letter-spacing: 0.05rem;
	position: relative;
}
.acItemList .itemList li::before, 
.acItemList .itemList li::after {
	position: absolute;
}
.acItemList .itemList li::before {
	content: '';
	width: 17px;
	height: 17px;
	background: linear-gradient(42deg, rgba(250, 128, 40, 1) 0%, rgba(235, 85, 5, 1) 100%);
	border-radius: 50px;
	top: 2px;
	left: 0;
}
.acItemList .itemList li::after {
	color: #fff;
	font-size: 1.2rem;
	font-weight: var(--bold);
	counter-increment: listnum; /* counter-resetと同じ文字列 */
	content: counter(listnum); /* カウントした数に応じて番号を表示 */
	top: -1px;
	left: 5px;
}
.acItemList .itemList li span {
	font-size: 1.0rem;
	position: relative;
	top: -4px;
}
.contentBox {
	margin-top: 20px;
}
.contentBox .titContent {
	margin-bottom: 10px;
	padding-bottom: 8px;
	font-size: 1.6rem;
	background-image : linear-gradient(to right, var(--lineGray) 1px, transparent 2px);
	background-size: 4px 1px;
	background-repeat: repeat-x; 
	background-position: center bottom;
}

/* アコーディオン 特典詳細 注釈 */
.acToggleNote {
	margin-top: 5px;
	padding-left: 15px;
	text-align: justify;
	font-feature-settings: "palt";
	color: var(--subGray);
	font-size: 1.2rem;
	position: relative;
}
.acToggleNote::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}

/* アコーディオン 特典詳細 テーブル */
.acToggleTbl {
	width: 100%;
	margin-top: 20px;
}
.acToggleTbl tr th {
	padding: 10px 5px;
	font-size: 1.5rem;
	background-color: #eee;
	border-top: 1px solid var(--subGray);
	border-right: 1px solid var(--subGray);
	border-bottom: 1px solid var(--subGray);
}
.acToggleTbl tr td {
	vertical-align: middle;
	line-height: 150%;
	font-size: 1.4rem;
	border-right: 1px solid var(--subGray);
	border-bottom: 1px solid var(--subGray);
}
.acToggleTbl tr th:last-of-type,
.acToggleTbl tr td:last-of-type {
	border-right: none;
}
.acToggleTbl td.name {
	padding: 10px;
	text-align: left;
}
.acToggleTbl td.name p {
	padding-left: 20px;
	position: relative;
}
.acToggleTbl td.name p span {
	position: absolute;
	left: 0;
}
.acToggleTbl td.rate {
	min-width: 75px;
}
.acToggleTbl td.conditions {
	padding: 10px;
	text-align: justify;
	letter-spacing: 0.05rem;
}
.acToggleTbl td.conditions span {
	font-size: 1.0rem;
	position: relative;
	top: -4px;
}

/* アコーディオン 特典詳細 注釈 */
.tableNoteList {
	display: flex;
	gap: 18px 0;
	flex-direction: column;
	margin-top: 15px;
}
.tableNoteList li {
	padding-left: 25px;
	text-align: justify;
	letter-spacing: 0.25px;
	color: var(--subGray);
	font-size: 1.2rem;
	position: relative;
}
.tableNoteList li::before {
	content: '※' counter(1);
	position: absolute;
	top: 0;
	left: 0;
}
.periodList {
	display: flex;
	flex-direction: column;
	gap: 5px 0;
	padding: 10px 0;
}
.periodList li {
	padding-left: 0;
}
.periodList li:first-child:before {
	content: '例）';
}
.periodList li:nth-child(2):before {
	display: none;
}
.periodBox {
	display: flex;
	gap: 0 10px;
	justify-content: space-between;
	padding-left: 25px;
}
.titPeriod {
	width: 100%;
	max-width: 100px;
	padding: 5px;
	text-align: center;
	line-height: 1;
	border: 1px solid var(--subGray);
}
.txtPeriod {
	display: flex;
	align-items: center;
	width: 100%;
}

/* アコーディオン 特典詳細 共通リスト */
.toggleListBase {
	display: flex;
	flex-direction: column;
	gap: 5px 0;
}
.toggleListBase li {
	padding-left: 25px;
	text-align: justify;
	font-size: 1.4rem;
	position: relative;
}
.toggleListBase li::before {
	font-size: 1.4rem;
	position: absolute;
	top: 0;
	left: 0;
}

/* アコーディオン 特典詳細 対象外条件のみ */
.not-applicableList {
	margin-top: 10px;
}
.not-applicableList li:first-child::before {
	content: '(1)';
}
.not-applicableList li:nth-child(2)::before {
	content: '(2)';
}
.not-applicableList li:nth-child(3)::before {
	content: '(3)';
}

/* アコーディオン 特典詳細 注意事項のみ */
.attentionList li {
	padding-left: 10px;
}
.attentionList li::before {
	content: '・';
	border-radius: 50px;
	position: absolute;
	top: 0;
	left: 0;
}

/*
	points-step
-----------------------------------------------------------------------------------------------*/
#points-step .tit,
#points-step .titSub {
	color: #fff;
}
#points-step .titBorder::before {
	background-color: rgba(255, 255, 255, 0.3);
}
#points-step {
	overflow: hidden;
}
.rewardsTitBox {
	margin-bottom: 40px;
	text-align: center;
	position: relative;
}
.rewardsTitBox .titSub {
	margin-bottom: 10px;
}
.stepList {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 15px;
	position: relative;
	z-index: 0;
}
#points-step .rewardsTitBox::before,
.stepList::before,
.stepList::after {
	content: '';
	position: absolute;
}
#points-step .rewardsTitBox::before {
	width: 80px;
	height: 80px;
	background: linear-gradient(90deg, rgba(243, 180, 90, 1) 0%, rgba(239, 119, 55, 1) 100%);
	border-radius: 50px;
	top: -140%;
	right: -3%;
}
.stepList::before {
	width: 140px;
	height: 140px;
	background: linear-gradient(0, rgba(239, 119, 55, 1) 0%, rgba(243, 180, 90, 1) 100%);
	border-radius: 100px;
	top: -18%;
	left: -8%;
}
.stepList::after {
	width: 320px;
	height: 320px;
	background: linear-gradient(90deg, rgba(243, 180, 90, 1) 0%, rgba(239, 119, 55, 1) 100%);
	border-radius: 500px;
	bottom: -60%;
	right: -18%;
	z-index: -1;
}
.stepList li {
	display: block;
	width: calc((100% - 15px)/2);
	height: fit-content;
	text-align: center;
	background-color: #fff;
	border-radius: 15px;
	position: relative;
}
.itemStep {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 95px;
	height: 30px;
	padding: 5px 0;
	vertical-align: text-top;
	color: #fff;
	font-family: var(--Barlow);
	font-size: 2.5rem;
	font-weight: var(--semiBold);
	font-style: italic;
	background-color: var(--mainGreen);
	border-radius: 13px 0 0 0;
	position: absolute;
	top: -15px;
	left: 0;
}
.itemStep::after {
	content: '';
	width: 12px;
	height: 100%;
	background: url(/function/promotion/reward/img/item_points-step.svg) no-repeat center center / contain;
	position: absolute;
	top: 0;
	right: -10px;
}
.itemStep span {
	font-size: 1.4rem;
}
.txtStep {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100px;
	padding: 15px 15px 10px;
	letter-spacing: 0.025rem;
	line-height: 150%;
	font-size: 2.0rem;
	font-weight: var(--semiBold);
}
a.btnStep,
.lastStep {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	color: var(--subGray);
	line-height: 130%;
	font-size: 1.5rem;
	background-color: var(--bgGray);
	border-radius: 0 0 15px 15px;
	position: relative;
	transition: all .3s;
}
a.btnStep::after {
	content: '';
	width: 10px;
	height: 10px;
	border-right: 1px solid var(--mainOrange);
	border-bottom: 1px solid var(--mainOrange);
	rotate: 45deg;
	position: absolute;
	top: 18px;
	right: 20px;
	transition: all .3s;
}
@media (hover: hover) {
	a.btnStep:hover::after {
		top: 20px;
		transition: all .3s;
	}
	a.btnStep:hover {
		opacity: .7;
		transition: all .3s;
	}
}

/*
	smooth
-----------------------------------------------------------------------------------------------*/
#smooth {
	background-color: var(--bgGray);
	border-bottom: 3px solid var(--mainOrange);
}
.titSmooth,
.txtSmooth {
	text-align: center;
	font-weight: var(--bold);
}
.titSmooth {
	margin-bottom: 18px;
	font-size: 2.0rem;
}
.titSmooth span {
	color: var(--mainOrange);
	font-weight: var(--bold);
}
.txtSmooth {
	font-size: 2.6rem;
}
.imgSmooth {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
}
.txtSmooth {
	margin-top: 15px;
}
.txtSmooth span {
	font-weight: var(--bold);
	position: relative;
	z-index: 0;
}
.txtSmooth span::before {
	content: '';
	width: 100%;
	height: 10px;
	background-color: var(--mainYellow);
	position: absolute;
	transform: translateX(-50%);
	bottom: 2px;
	left: 50%;
	z-index: -1;
}

/*
	auto-charge-setup
-----------------------------------------------------------------------------------------------*/
#auto-charge-setup {
	border-bottom: 3px solid var(--mainOrange);
}
#auto-charge-setup .ctsArea {
	padding: 50px 10px 30px;
}
#auto-charge-setup .titBorder::before {
	background-color: #fff;
}
#auto-charge-setup .txt {
	text-align: center;
	font-size: 1.6rem;
}
.limitBox {
	display: flex;
	gap: 0 15px;
	align-items: center;
	justify-content: center;
	padding: 20px 0 35px 0;
	position: relative;
}
.limitBox::before,
.limitBox::after {
	content: '';
	width: 100%;
	height: 1px;
	background-image: linear-gradient(to right, var(--mainOrange) 2px, transparent 3px);
	background-size: 5px 2px;
	background-repeat: repeat-x;
	position: absolute;
}
.limitBox::before {
	top: 0;
}
.limitBox::after {
	bottom: 0;
}
.limitBox img {
	max-width: 50px;
}
.txtLimit {
	text-align: left;
	color: var(--mainOrange);
	font-size: 1.8rem;
	font-weight: var(--medium);
}
.limitExample {
	padding: 40px 20px 35px;
	position: relative;
}
.limitExample::before {
	content: '';
	width: 100%;
	height: 100%;
	background-color: var(--bgOrange);
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	left: 0;
}
.txtLimitExample {
	width: 100%;
	max-width: 450px;
	padding: 5px 12px;
	text-align: center;
	color: #fff;
	font-size: 1.8rem;
	font-weight: var(--semiBold);
	background-color: #000;
	border-radius: 5px;
	position: absolute;
	transform: translateX(-50%);
	top: -19px;
	left: 50%;
}
.limitExamplelist {
	display: flex;
	gap: 15px 0;
	flex-direction: column;
	justify-content: center;
	letter-spacing: 0.025rem;
	counter-reset: listnum; /* カウンターをリセット */
	list-style: none; /* 標準のスタイルは消す */
}
.limitExamplelist li {
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding-left: 55px;
	line-height: 120%;
	font-size: 2.4rem;
	position: relative;
}
.limitExamplelist li::before,
.limitExamplelist li::after {
	content: '';
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}
.limitExamplelist li::before {
	width: 45px;
	height: 46px;
	background: linear-gradient(0deg,rgba(235, 85, 5, 1) 0%, rgba(250, 128, 40, 1) 100%);
	border-radius: 10px 50px 50px 10px;
	left: 0;
}
.limitExamplelist li::after {
	color: #fff;
	font-family: var(--Barlow);
	font-size: 2.2rem;
	font-weight: var(--bold);
	text-shadow: 5px 5px rgba(0, 0, 0, 0.1);
	counter-increment: listnum;
	content: counter(listnum);
	position: absolute;
	left: 15px;
}
.limitExamplelist li .bl {
	position: relative;
	z-index: 0;
}
.limitExamplelist li .bl::before {
	content: '';
	width: 100%;
	height: 8px;
	background-color: #fff;
	position: absolute;
	transform: translateX(-50%);
	left: 50%;
	bottom: 1px;
	z-index: -1;
}
.subTitList {
	font-size: 1.6rem;
}

/* 各チャージ 共通 */
.setupArea {
	background-color: #fff;
	counter-reset: listnum; /* カウンターをリセット */
	list-style: none; /* 標準のスタイルは消す */
}
.titSetup {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
	color: #fff;
	font-size: 2.4rem;
	font-weight: var(--bord);
	background-color: var(--mainOrange);
	position: relative;
}
.titSetup::before,
.titSetup::after {
	content: '';
	position: absolute;
}
.titSetup::before {
	width: calc(100% - 65%);
	height: 100%;
	background: linear-gradient(0deg,rgba(235, 85, 5, 1) 0%, rgba(250, 128, 40, 1) 100%);
	border-radius: 0 50px 50px 0;
	top: 0;
	left: 0;
}
.titSetup::after {
	color: #fff;
	font-family: var(--Barlow);
	font-size: 3.5rem;
	font-weight: var(--bold);
	text-shadow: 3px 3px rgba(0, 0, 0, 0.1);
	counter-increment: listnum;
	content: counter(listnum);
	left: 32%;
}
#shortage .titSetup::after {
	content: '1';
}
#constant .titSetup::after {
	content: '2';
}
.setupBox {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 30px 20px 45px;
	text-align: center;
}
.txtSetup {
	text-align: center;
	font-size: 1.6rem;
}
.txtSetup span {
	color: var(--mainOrange);
}
.imgSetup {
	width: 100%;
	max-width: 960px;
	height: auto;
	margin-top: 20px;
}

/*
	condition-howto
-----------------------------------------------------------------------------------------------*/
#condition-howto {
	border-bottom: 3px solid #fff;
}
#condition-howto .titBorder::before {
	background-color: #fff;
}
#condition-howto .txt {
	text-align: center;
}
.howtoList {
	display: flex;
	gap: 20px 0;
	flex-direction: column;
	margin-top: 20px;
}
.howtoList li {
	background-color: #fff;
	border-radius: 10px;
}
.titHowtoList {
	padding: 20px 0;
	text-align: center;
	color: #fff;
	font-size: 2.0rem;
	font-weight: var(--bold);
	background-color: var(--mainOrange);
	border-radius: 10px 10px 0 0;
	position: relative;
}
.titHowtoList::before {
	content: '';
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	left: 30px;
}
/* 各アイコン */
.ico01::before {
	width: 53px;
	height: 45px;
	background: url(/function/promotion/reward/img/ico_condition-howto01.svg) no-repeat center center / contain;
}
.ico02::before {
	width: 53px;
	height: 43px;
	background: url(/function/promotion/reward/img/ico_condition-howto02.svg) no-repeat center center / contain;
}
.ico03::before {
	width: 50px;
	height: 53px;
	background: url(/function/promotion/reward/img/ico_condition-howto03.svg) no-repeat center center / contain;
}
.ico04::before {
	width: 53px;
	height: 45px;
	background: url(/function/promotion/reward/img/ico_condition-howto04.svg) no-repeat center center / contain;
}
.ico05::before {
	width: 53px;
	height: 41px;
	background: url(/function/promotion/reward/img/ico_condition-howto05.svg) no-repeat center center / contain;
}
/* 詳細 */
.itemHowtoList {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.itemHowtoList .itemTxtBox {
	display: inline-flex;
	gap: 0 5px;
    align-items: center;
    justify-content: center;
	margin-bottom: 15px;
	position: relative;
}
.itemHowtoList .itemTxt {
	text-align: center;
	letter-spacing: 0.025rem;
	font-size: 1.6rem;
}
.itemHowtoList .itemTxtFam {
	margin-bottom: 0;
}
.itemGraylist {
	display: flex;
	gap: 0 20px;
	width: 100%;
}
.itemGraylist li {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	width: calc((100% - 20px)/2);
	padding: 20px;
	text-align: center;
	background-color: var(--bgGray);
	border-radius: 0;
}
.itemGraylist .flex-start {
	justify-content: flex-start;
}
.itemGraylist li .titGrayList {
	font-size: 1.6rem;
	font-weight: var(--semiBold);
}
.itemGraylist li .txtGrayList {
	margin-top: 12px;
	letter-spacing: 0.025rem;
}
.itemGraylist li figure {
	margin-top: 12px;
}
.itemGraylist li figure .onlyCard {
	max-width: fit-content;
}
.itemGraylist li figure .card {
	max-width: 605px;
}
.itemGraylist li figure figcaption {
	margin-top: 5px;
	line-height: 1;
	font-size: 1.2rem;
}
.itemGraylist li a.btnBase {
	max-width: 350px;
}
.itemGraylist li a.btnIcon::before {
	border: none;
}

/* ※ */
.itemHowtoList .note {
	margin-top: 10px;
	padding-left: 15px;
	text-align: justify;
	font-size: 1.2rem;
	position: relative;
}
.itemHowtoList .note::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}

/* アコーディオン */
.howtoToggleBtnArea {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	border: 1px solid var(--mainOrange);
	border-radius: 12px;
}
.howtoToggleBtn {
	padding: 18px 0;
	text-align: center;
	color: var(--mainOrange);
	font-size: 1.8rem;
	font-weight: var(--bold);
}
.howtoToggleBtn::before,
.howtoToggleBtn::after {
	background-color: var(--mainOrange);
}
.howtoStepList {
	display: flex;
	flex-direction: column;
	padding: 25px 20px 30px;
	position: relative;
}
.howtoStepList::before {
	content: '';
	width: calc(100% - 40px);
	height: 1px;
	background-image: linear-gradient(to right, var(--mainOrange) 2px, transparent 3px);
	background-size: 5px 1px;
	background-repeat: repeat-x;
	background-position: left top;
	position: absolute;
	transform: translateX(-50%);
	top: 0;
	left: 50%;
}
.howtoStepList li {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	margin-top: 30px;
	padding-top: 50px;
	text-align: center;
	position: relative;
}
.howtoStepList li::before {
	content: '';
	width: 60px;
	height: 25px;
	background-color: #b3b3b3;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position: absolute;
	transform: translateX(-50%);
	top: 0;
	left: 50%;
}
.howtoStepList li:first-child::before {
	content: none;
}
.howtoStepList li:first-child {
	margin-top: 0;
	padding-top: 0;
}
.howtoStepList li .stepNum {
	display: inline-block;
	font-family: var(--Barlow);
	font-size: 2.2rem;
	font-weight: var(--bold);
	position: relative;
	z-index: 0;
}
.howtoStepList li .stepNum::before {
	content: '';
	width: 100%;
	height: 8px;
	background-color: var(--mainYellow);
	position: absolute;
	transform: translateX(-50%);
	bottom: 4px;
	left: 50%;
	z-index: -1;
}
.howtoStepList li .stepNum span {
	font-size: 3.0rem;
	font-weight: var(--bold);
}
.howtoStepList li .titStepList {
	margin-top: 10px;
	letter-spacing: 0.025rem;
	line-height: 130%;
	font-size: 1.6rem;
	font-weight: var(--bold);
}
.howtoStepList li img {
	max-width: 320px;
	margin-top: 15px;
}
.howtoStepList li .titStepList span {
	color: var(--mainOrange);
	font-weight: var(--bold);
}
.howtoStepList li .txtStepList {
	margin-top: 5px;
	font-size: 1.4rem;
}
.howtoStepList li .ico {
	max-width: 90px;
}
.howtoStepList li .caseBtn {
	margin-top: 15px;
}
.howtoStepList .btnBase {
	color: #fff;
	background-color: var(--mainOrange);
	border: none;
}
.howtoStepList .btnBase::before,
.howtoStepList .btnBase::after {
	border-top: 1px solid #fff;
	border-right: 1px solid  #fff;
}

/*
	auto-charge-faq
-----------------------------------------------------------------------------------------------*/
#auto-charge-faq {
	text-align: center;
}
#auto-charge-faq img {
	max-width: 300px;
	margin-bottom: -15px;
}
#auto-charge-faq .tit {
	display: inline-flex;
	flex-direction: column;
	font-size: 2.8rem;
}
#auto-charge-faq .tit span {
	font-weight: var(--bold);
}

/* faq アコーディオン */
#auto-charge-faq .faqToggleBtnArea {
	background-color: #fff;
	border: none;
}
#auto-charge-faq .toggleBtn {
	text-align: left;
	font-weight: var(--bold);
}


/*
	points-timing
-----------------------------------------------------------------------------------------------*/
#points-timing .titBorder::before {
	background-color: var(--bgGray);
}
#points-timing .txt {
	text-align: center;
	font-size: 1.6rem;
}
.detailBox {
	display: flex;
	gap: 0 20px;
	margin-top: 30px;
}
.detailBox img {
	max-width: 480px;
	height: fit-content;
}
.txtDetailList .titList {
	padding: 6px 8px;
	line-height: 1;
	color: var(--mainOrange);
	font-size: 1.4rem;
	font-weight: var(--medium);
	background-color: var(--bgOrange);
}

/* 適応条件 特典判定・付与について */
.txtDetailList > li:last-child {
	margin-top: 25px;
}
.inList {
	display: flex;
	gap: 5px 0;
	flex-direction: column;
	margin-top: 10px;
	letter-spacing: 0.05rem;
	font-size: 1.2rem;
}
.inList li {
	position: relative;
}
.inList li::before {
	position: absolute;
	top: 0;
	left: 0;
}
.calcBox {
	margin-top: 8px;
	padding: 8px;
	border: 1px solid var(--lineGray);
	border-radius: 5px;
}
.calcBox .titCalc {
	font-size: 1.2rem;
}
.calcBox .txtCalc {
	text-align: justify;
	line-height: 130%;
	font-size: 1.2rem;
}
.calcBox .txtCalc span {
	text-decoration: line-through;
}
.calcBox .note {
	margin-top: 5px;
	padding-left: 14px;
	color: var(--subGray);
	font-size: 1.2rem;
	position: relative;
}
.calcBox .note::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}

/* 適応条件のみ */
.adaptListItem .inList li {
	padding-left: 18px;
	text-align: justify;
	line-height: 130%;
}
.adaptListItem .inList li:first-child::before {
	content: '\02460';
}
.adaptListItem .inList li:nth-child(2)::before {
	content: '\02461';
}
.adaptListItem .inList li:nth-child(3)::before {
	content: '\02462';
}
.adaptListItem .inList li:nth-child(4)::before {
	content: '\02463';
}
.adaptListItem .inList li:nth-child(5)::before {
	content: '\02464';
}

/* 特典判定・付与についてのみ */
.spListItem .inList li {
	padding-left: 28px;
}
.spListItem .inList li:first-child::before {
	content: '\02605 1';
}
.spListItem .inList li:nth-child(2)::before {
	content: '\02605 2';
}
.spListItem .inList li:nth-child(3)::before {
	content: '\02605 3';
}
.spListItem .inList li:nth-child(4)::before {
	content: '\02605 4';
}
.spListItem .inList li:nth-child(5)::before {
	content: '\02605 5';
}

/*
	points-check
-----------------------------------------------------------------------------------------------*/
#points-check {
	border-bottom: 3px solid #fff;
}
#points-check .titBorder::before {
	background-color: #fff;
}
#points-check .ctsArea {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: relative;
}
#points-check .checkBox {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}
#points-check .checkBox:last-of-type {
	margin-top: 45px;
}
#points-check .swiperArea03 {
	padding: 0;
}
.checkBox .appImg {
	max-width: 150px;
}

/* ボタン */
a.points-checkBtn {
	max-width: 380px;
	margin-top: 30px;
	color: #fff;
	font-size: 1.8rem;
	background-color: #000;
	border: none;
}
a.points-checkBtn::before {
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}

/*
	au-pay
-----------------------------------------------------------------------------------------------*/
#au-pay .ctsArea {
	display: flex;
	flex-direction: column;
	align-items: center;
}
#au-pay .tit {
	font-size: 2.0rem;
}
#au-pay .titColor {
	font-size: 2.8rem;
}
.au-payBox {
	text-align: center;
}
.au-payBox img {
	width: 100%;
	max-width: 120px;
}
.au-payBox .txt {
	margin-top: 20px;
	font-size: 1.8rem;
	font-weight: var(--semiBold);
}
#au-pay .btnBase {
	max-width: 320px;
	margin-top: 30px;
}
#au-pay a.btnBase::before {
	content: none;
}

/*
	faq
-----------------------------------------------------------------------------------------------*/
#faq .ctsArea {
	padding: 80px 10px 140px;
}
#faq .titBorder::before {
	background-color: var(--bgGray);
}

/* faq アコーディオン */
.faqToggleBtn span {
	display: block;
	padding-left: 50px;
	font-weight: var(--semiBold);
	position: relative;
}
.faqToggleBtn span::before {
	content: '';
	width: 38px;
	height: 38px;
	background: url(/function/promotion/reward/img/ico_faq.svg) no-repeat center center / contain;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	left: 0;
}
.faqToggleBtnBox .listBox {
	margin-top: 15px;
}
.faqToggleBtnBox .listBox .titListBox {
	margin-bottom: 2px;
	letter-spacing: 0.05rem;
}
.answerList {
	display: flex;
	gap: 8px 0;
	flex-direction: column;
	counter-reset: listnum; /* カウンターをリセット */
	list-style: none; /* 標準のスタイルは消す */
}
.answerList li {
	padding-left: 25px;
	position: relative;
}
.answerList li::before,
.answerList li::after {
	content: '';
	position: absolute;
}
.answerList li::before {
	width: 18px;
	height: 18px;
	background-color: #f2f2f2;
	border-radius: 50px;
	top: 2px;
	left: 0;
}
.answerList li::after {
	color: var(--subGray);
	font-family: var(--Barlow);
	font-weight: var(--bold);
	counter-increment: listnum; /* counter-resetと同じ文字列 */
	content: counter(listnum); /* カウントした数に応じて番号を表示 */
	top: 1px;
	left: 6px;
}
.answerList li .note {
	margin-top: 3px;
}
.txtAnswerList span {
	white-space: nowrap;
}

/*
	btn pageTop
-----------------------------------------------------------------------------------------------*/
#pageTopArea {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	max-width: 1200px;
	padding: 0 12px;
	position: relative;
	transform: translateX(-50%);
	left: 50%;
	z-index: 98;
	pointer-events: none;
}
#btnPageTop {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 65px;
	height: 65px;
	margin-bottom: 115px;
	background-color: rgba(0, 0, 0, 0.3);
	border-radius: 50%;
	position: relative;
	pointer-events: all;
}
#btnPageTop.topActive {
	opacity: 1;
	pointer-events: auto;
}
#btnPageTop::before,
#btnPageTop::after {
	content: '';
	width: 15px;
	height: 2px;
	background-color: #fff;
	position: absolute;
	top: 31px;
}
#btnPageTop::before {
	rotate: -45deg;
	left: 21px;
}
#btnPageTop::after {
	rotate: 45deg;
	left: 30px;
}
@media (hover: hover) {
	#btnPageTop:hover {
		opacity: 0.7;
		transition: all 0.3s;
	}
}

/*
	footer
-----------------------------------------------------------------------------------------------*/
footer {
	font-size: 14px;
	line-height: 150%;
	position: relative;
}
.footer_bottom {
	background-color: #f3f3f3;
	color: #888;
	text-align: center;
	padding: 25px 15px;
	position: relative;
    z-index: 99;
}


/*============================================================
SP
============================================================*/
@media (max-width: 640px) {
	/*
		common
	-----------------------------------------------------------------------------------------------*/
	.ctsArea {
		width: 100%;
		max-width: 500px;
		padding: 45px 20px;
	}

	/* 見出し */
	.tit {
		margin-bottom: 15px;
		font-size: 2.2rem;
	}
	.titBorder::before {
		height: 7px;
	}

	/* サブ見出し */
	.titSub {
		line-height: 120%;
		font-size: 1.4rem;
	}
	.titSub span{
		font-size: 1.0rem;
		font-weight: var(--bold);
	}

	/* ボタン オレンジ */
	a.btnBase {
		max-width: 250px;
		margin-top: 18px;
		padding: 18px 10px;
		letter-spacing: 0.025rem;
		font-size: 1.2rem;
	}
	a.btnBase::before {
		width: 8px;
		height: 8px;
		top: 23px;
		right: 19px;
	}
	.btnIcon span {
		font-size: 1.4rem;
	}

	/* ボタン ブルー */
	a.blueBtn {
		margin-top: 10px;
		padding: 7px;
		font-size: 1.2rem;
	}
	a.blueBtn::after {
		width: 5px;
		height: 5px;
		right: 15px;
	}

	/* 全アコーディオン 共通 */
	.toggleBtn span {
		padding-left: 35px;
	}
	.toggleBtn span::before {
		width: 30px;
		height: 30px;
	}
	.toggleBtnBox .toggle {
		padding: 15px 10px 18px;
	}

	/* 全アコーディオン 共通装飾 */
	.toggleBtn::before,
	.toggleBtn::after {
		width: 11px;
	}
	.toggleBtn::before {
		right: 15px;
	}
	.toggleBtn::after {
		right: 15px;
	}

	/* faq　アコーディオン 共通 */
	.faqToggleBtnArea {
		border-radius: 5px;
	}
	.faqToggleBtn {
		padding: 18px 40px 18px 12px;
		line-height: 130%;
		font-size: 1.4rem;
	}
	.faqToggleBtn span {
		padding-left: 35px;
	}
	.faqToggleBtn span::before {
		width: 30px;
		height: 30px;
	}
	.faqToggleBtnBox .toggle {
		padding: 15px 10px 18px;
	}
	.faqToggleBtnBox .toggle::before {
		width: calc(100% - 20px);
	}

	/* answer */
	.txtAnswer {
		font-size: 1.4rem;
	}
	.faqToggleBtnBox .note {
		margin-top: 10px;
	}

	/* fixBtnArea */
	.fixBtnArea {
		max-width: 800px;
		padding: 10px 15px;
		border-radius: 32px 32px 0 0;
		box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35);
	}
	.fixBtnArea a.btnBase {
		max-width: 100%;
		margin-top: 0;
		padding: 15px 18px;
		font-size: 1.4rem;
	}
	.fixBtnArea a.btnBase::before {
		width: 8px;
		height: 8px;
		right: 19px;
	}

	/* ツールチップ ボタン */
	[class^="tool-tip0"] {
		width: 18px;
		height: 18px;
		font-size: 1.2rem;
	}
	[class^="tool-tipBox"] {
		max-width: 290px;
		padding: 5px;
		top: -280px;
	}
	.tool-tipBox01 {
		right: -15%;
	}
	.tool-tipBox02, .tool-tipBox03 {
		right: -40%;
	}
	[class^="tool-tipBox"]::before {
		border: 13px solid transparent;
		border-top: 13px solid #fff;
		bottom: -24px;
	}
	[class^="tool-tipBox"]::after {
		border: 12px solid transparent;
		border-top: 12px solid var(--lineGray);
		bottom: -24px;
	}
	.tool-tipBox01::before {
		right: 31px;
	}
	.tool-tipBox01::after {
		right: 32px;
	}
	.tool-tipBox02::before,
	.tool-tipBox03::before {
		right: 65px;
	}
	.tool-tipBox02::after,
	.tool-tipBox03::after {
		right: 66px;
	}

	/* ツールチップ */
	.tipList {
		gap: 10px;
	}
	.tipList li {
		width: calc((100% - 10px)/2);
		min-height: 120px;
	}
	.tipList li img {
		max-width: 50px;
	}
	.tipList li .txtTip {
		margin-top: 5px;
		font-size: 1.0rem;
		letter-spacing: 0.025rem;
	}

	/*
		swiper
	-----------------------------------------------------------------------------------------------*/
	.swipeGrayArea::before {
		height: 52px;
	}
	.swipeGrayArea::after {
		top: 52px;
}
	.swiperArea,
	.swiperArea02,
	.swiperArea03 {
		max-width: 265px;
		padding: 0 0 30px;
	}
	.titSwiper {
		padding: 0 25px;
		font-size: 1.6rem;
	}
	.titSwiper::before,
	.titSwiper::after {
		content: '';
		width: 20px;
		height: 2px;
		background-color: var(--mainOrange);
		border-radius: 10px;
		position: absolute;
		bottom: 10px;
	}
	.txtblackBox {
		margin-top: 12px;
		padding: 5px 25px;
		font-size: 1.4rem;
	}
	.swiper {
		padding: 30px 20px;
	}
	.swiper-wrapper {
		margin-top: 15px;
		padding-bottom: 40px;
	}
	.swiperList li {
		height: auto;
		border-radius: 20px;
	}
	.swiper-slide img {
		margin-top: 10px;
	}
	.titSwipe {
		font-size: 2.0rem;
	}
	.titSwipe span {
		width: 40px;
		height: 40px;
		margin-left: 2px;
		padding: 5px;
		font-size: 2.2rem;
	}
	.txtSwipe {
		margin-top: 12px;
	}
	.txtSwipe span {
		font-size: 1.0rem;
		top: -5px;
	}
	.swipeNote {
		white-space: wrap;
	}
	.swiperArea .note,
	.swiperArea02 .note {
		margin-top: 10px;
		padding-left: 15px;
		line-height: 130%;
	}

	/* pagination */
	.swiper-pagination-bullet-active{
		background-color: var(--mainOrange);
	}

	/* ボタン */
	[class^="swiper-button-"] {
		width: 40px;
		height: 40px;
	}
	.swiper-button-l01-prev,
	.swiper-button-l02-prev {
		left: -12%;
	}
	.swiper-button-r01-next,
	.swiper-button-r02-next {
		right: -12%;
	}
	.swiper-button-l01-prev,
	.swiper-button-r01-next,
	.swiper-button-l02-prev,
	.swiper-button-r02-next {
		top: 44%;
	}
	.swiper-button-l03-prev,
	.swiper-button-r03-next {
		top: 53%;
	}
	.swiper-button-l03-prev {
		left: -6%;
	}
	.swiper-button-r03-next {
		right: -6%;
	}


	/*
		header
	-----------------------------------------------------------------------------------------------*/
	.simple_header {
		border-bottom: 1px solid #cccccc;
		padding: 0 3%;
		overflow: hidden;
	}
	.simple_header_cont {
		max-width: 640px;
	}
	.simple_header_cont .logo {
		width: 40%;
		float: left;
	}
	.simple_header_cont .logo_img {
		width: 100%;
	}
	#spHeader {
		display: table;
		width: 100%;
		border-top: none;
		background: #ffffff;
		box-sizing: border-box;
		position: relative;
	}
	#spHeader #spLogo {
		height: 40px;
		display: table-cell;
		vertical-align: middle;
		float: none;
		width: auto;
	}
	#spHeader #spLogo a {
		display: inline-flex;
	}
	#spHeader #spLogo img {
		width: 190px;
		position: relative;
		z-index: 9999;
	}
	#spHeaderSection {
		width: 100%;
		margin: 0 auto;
		position: fixed;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		z-index: 999;
	}
	#spHeaderSection .header_sub {
		max-width: 50%;
		color: var(--mainOrange);
		text-align: right;
		position: absolute;
		right: 20px;
		top: 20px;
	}
	#spHeaderSection .header_sub img {
		width: 100%;
	}

	/* ハンバーガーメニュー
	============================== */
	/* ボタン */
	#spBtnHmbg {
		width: 40px;
		height: 40px;
		cursor: pointer;
		position: absolute;
		right: 0;
	}
	#spBtnHmbg span {
		width: 20px;
		height: 2px;
		background-color: var(--mainOrange);
		position: absolute;
		transform: translateX(-50%);
		left: 50%;
		transition: .4s;
	}

	#spBtnHmbg span:nth-of-type(1) {
		top: 13px;
	}
	#btnHmbg span:nth-of-type(2) {
		top: 20px;
	}
	#spBtnHmbg span:nth-of-type(3) {
		top: 27px;
	}
	#spBtnHmbg.active span:nth-of-type(1),
	#spBtnHmbg.active span:nth-of-type(3) {
		width: 20px;
		top: 20px;
		left: 10px;
	}
	/* gnav */
	#sp-gNav {
		display: flex;
		align-items: center;
		justify-content: center;
		visibility: hidden;
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 0;
		transition: opacity 0.3s ease, visibility 0.3s ease;
		opacity: 0;
		overflow-y: scroll;
	}
	#sp-gNav.navActive {
		height: 100%;
		visibility: visible;
		z-index: 999;
		opacity: 1;
	}
	.listGNavArea {
		height: calc(100% - 40px);
		margin-top: 40px;
		padding: 0 35px 50px;
	}
	#header ul,
	#spHeader ul {
		width: 100%;
		border-top: 1px solid var(--lineGray);
		border-bottom: 1px solid var(--lineGray);
	}
	#header ul li,
	#spHeader ul li {
		width: 100%;
		padding: 5px 0;
		background-image: linear-gradient(to right, var(--lineGray) 2px, transparent 3px);
		background-size: 5px 1px;
		background-repeat: repeat-x;
		background-position: left bottom;
		position: relative;
	}
	#header ul li:last-child,
	#spHeader ul li:last-child {
		background-image: none;
	}
	#spHeader ul li::before {
		width: 26px;
		height: 26px;
		background-color: var(--bgOrange);
		border-radius: 50px;
		transform: translateY(-50%);
		top: 50%;
		right: 0;
	}
	#spHeader ul li::after {
		width: 8px;
		height: 8px;
		border-right: 1px solid var(--mainOrange);
		border-bottom: 1px solid var(--mainOrange);
		rotate: -45deg;
		top: 23px;
		right: 11px;
	}
	.listGnav .btnTxt a {
		width: 100%;
		height: 45px;
		text-align: left;
		font-size: 1.4rem;
	}

	/*
		mv
	-----------------------------------------------------------------------------------------------*/
	#mv::before {
		width: 50px;
		height: 50px;
		right: -3%;
	}
	#mv::after {
		width: 98px;
		height: 98px;
		left: -15%;
	}
	.mvInner {
		padding-top: 70px;
	}

	/* mv 見出し */
	.mvTit {
		line-height: 150%;
		font-size: 1.6rem;
	}
	.mvTitOrange {
		font-size: 2.8rem;
	}
	.mvTitM {
		font-size: 2.2rem;
	}
	.mvTitL {
		font-size: 2.4rem;
	}
	.mvTitDeco {
		padding-top: 5px;
		font-size: 3.6rem;
	}

	/* h1 */
	.mvImg {
		width: 100%;
		min-width: 390px;
		position: relative;
		transform: translateX(-50%);
		left: 50%;
	}
	.mvTxtBox {
		margin-top: 15px;
	}
	.mvTxt {
		padding: 0 12px;
		font-size: 1.7rem;
	}
	.mvTxt::before,
	.mvTxt::after {
		width: 15px;
		height: 30px;
	}
	.mvTxt .mvTxtLine::before {
		height: 8px;
		bottom: 3px;
	}
	.mvTxtSize {
		font-size: 1.3rem;
	}

	/* オートチャージ完了画像 */
	.mvTxtBox img {
		max-width: 242px;
		margin-top: 10px;
	}

	/* mv ※ */
	.mvNote {
		font-size: 1.2rem;
	}

	/* 限定 */
	.limitedBox {
		max-width: 320px;
		padding: 15px 0;
	}
	.titLimited {
		font-size: 1.6rem;
	}
	.txtLimited {
		margin-top: 10px;
		padding-top: 10px;
		font-size: 1.7rem;
	}
	.txtLimited span {
		font-size: 1.3rem;
	}

	/* bg背景 */
	.mvBg {
		height: 570px;
	}

	/*
		auto-charge
	-----------------------------------------------------------------------------------------------*/
	#auto-charge .tit {
		font-size: 1.6rem;
	}
	#auto-charge .titColor {
		font-size: 2.0rem;
	}
	#auto-charge .txt {
		font-size: 1.5rem;
	}
	.auto-chargeBox {
		margin-top: 30px;
		padding: 30px 20px;
		background-color: #fff;
		font-size: 1.4rem;
	}
	.auto-chargeTit {
		padding: 6px 15px;
		font-size: 1.4rem;
		top: -13px;
	}
	.auto-chargeTxt {
		font-size: 1.4rem;
	}

	/* case */
	.auto-chargeCase {
		margin-top: 20px;
	}
	.caseTxtSub {
		padding: 6px 8px;
		letter-spacing: 0.1rem;
		font-size: 1.0rem;
	}
	.caseTxt {
		font-size: 1.2rem;
	}
	.caseTxt span {
		font-size: 1.6rem;
	}

	/* オートチャージ img */
	.auto-chargeImgBox {
		width: 100%;
		max-width: 295px;
	}
	.auto-chargeImg {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		margin-top: 10px;
		position: relative;
	}
	.auto-chargeImg img:first-of-type {
		max-width: 160px;
	}
	.auto-chargeImg img:last-of-type {
		max-width: 130px;
		padding-top: 10px;
	}
	.auto-chargeImg::before{
		content: '';
		width: 8px;
		height: 8px;
		left: 49%;
	}

	/* 一定額チャージ btn */
	.caseBtn {
		font-size: 1.2rem;
	}
	.caseBtn::before,
	.caseBtn::after {
		transform: translateY(-50%);
		top: 50%;
	}
	.caseBtn::before {
		width: 16px;
		height: 16px;
		right: -20px;
	}
	.caseBtn::after {
		width: 4px;
		height: 4px;
		top: 9px;
		right: -13px;
	}

	/*
		points-earn
	-----------------------------------------------------------------------------------------------*/
	#points-earn .topImg {
		display: block;
		width: 100%;
		max-width: 233px;
		margin: 0 auto 12px auto;
	}
	/* 表 */
	.tableBoxTit {
		margin: 0 auto 12px;
		padding: 0 25px;
		font-size: 1.5rem;
	}
	.tableBoxTit::before,
	.tableBoxTit::after {
		width: 43px;
	}
	.tableBoxTit::before {
		left: -12px;
	}
	.tableBoxTit::after {
		right: -12px;
	}
	.tableBoxTitL {
		font-size: 1.9rem;
	}

	/* 達成条件 */
	.achievement-condition::before {
		width: 65px;
		height: 30px;
		top: -50px;
	}
	.titAc {
		margin-bottom: 15px;
		padding: 0 25px;
		font-size: 1.6rem;
	}
	.titAc::before,
	.titAc::after {
		width: 52px;
		height: 2px;
	}
	.titAc::before {
		left: -13px;
	}
	.titAc::after {
		right: -13px;
	}
	.txtAcNum {
		font-size: 4.0rem;
	}
	.txtAcPoint {
		line-height: 120%;
		font-size: 1.3rem;
	}
	.txtAc {
		font-size: 1.6rem;
	}
	.acListBox {
		margin-top: 13px;
		padding: 30px 20px;
	}
	.acListBox::before {
		width: 80%;
	}
	.titAcList {
		width: fit-content;
		min-width: 200px;
		padding: 6px 15px;
		font-size: 1.4rem;
		top: -16px;
	}

	/* 達成条件 リスト */
	.acList {
		gap: 12px 0;
		max-width: 335px;
	}
	.acList li {
		height: 127px;
		box-shadow: 0px 3px 0px 0px rgba(0, 0, 0, 0.2);
	}
	.acListItem {
		gap: 0 10px;
		width: 100%;
		padding: 12px 12px 0;
	}
	.imgAcList {
		width: 42px;
	}
	.txtAcList {
		line-height: 140%;
		font-size: 1.4rem;
	}
	.txtAcList span::before {
		height: 6px;
		bottom: 2px;
	}
	.txtPlus {
		width: 65px;
		height: 65px;
		font-size: 2.8rem;
	}
	.txtPlus .italicS {
		font-size: 1.8rem;
	}
	a.acListBtn {
		padding: 8px 12px 12px;
		font-size: 1.2rem;
	}
	a.acListBtn::before {
		width: calc(100% - 24px);
	}
	a.acListBtn::after {
		width: 5px;
		height: 5px;
		top: 13px;
		right: 35%;
	}

	/* アコーディオン ボタン */
	.acToggleBtnArea {
		max-width: 500px;
		padding: 30px 20px;
	}
	.acToggleBtn {
		padding: 18px 20px;
		font-size: 1.5rem;
	}
	.acToggleBtnArea .toggle {
		padding: 20px;
	}

	/* アコーディオン 装飾 */
	.acToggleBtn::before {
		width: 25px;
		height: 25px;
		border-radius: 50px;
		top: 17px;
		right: 15px;
	}
	.acToggleBtn::after {
		width: 11px;
		height: 11px;
		top: 24px;
		right: 22px;
	}
	.acToggleBtn.close::after {
		top: 24px;
	}

	/* アコーディオン 特典詳細中身 */
	.acItemList .titItem {
		margin-bottom: 10px;
		padding: 5px;
	}
	.acItemList .txtItem {
		letter-spacing: 0.025rem;
		font-size: 1.4rem;
	}
	.acItemList .txtItem span {
		font-size: 1.0rem;
		top: -3px;
	}
	.acItemList .itemList {
		margin-top: 12px;
		padding: 12px 10px;
	}
	.acItemList .itemList li {
		padding-left: 18px;
		font-size: 1.2rem;
		line-height: 150%;
	}
	.acItemList .itemList li::before {
		width: 14px;
		height: 14px;
		top: 3px;
	}
	.acItemList .itemList li::after {
		font-size: 1.0rem;
		top: 1px;
		left: 4px;
	}
	.acItemList .itemList li span {
		font-size: 0.8rem;
		top: -5px;
	}
	.contentBox .titContent {
		padding-bottom: 5px;
		font-size: 1.4rem;
	}

	/* アコーディオン 特典詳細 注釈 */
	.acToggleNote {
		margin-top: 10px;
		letter-spacing: 0.05rem;
	}

	/* アコーディオン 特典詳細 テーブル */
	.acToggleTbl {
		margin-top: 12px;
	}
	.acToggleTbl tr th {
		padding: 10px 2px;
		letter-spacing: 0.05rem;
		font-size: 1.2rem;
	}
	.acToggleTbl tr td {
		font-size: 1.1rem;
	}
	.acToggleTbl td.name {
		width: 106px;
		height: 100%;
		padding: 10px 5px;
	}
	.acToggleTbl td.name p {
		padding-left: 15px;
	}
	.acToggleTbl td.rate {
		min-width: 45px;
	}
	.acToggleTbl td.conditions {
		letter-spacing: 0.025rem;
	}
	.acToggleTbl td.conditions span {
		font-size: 0.8rem;
		top: -2px;
	}

	/* アコーディオン 特典詳細 注釈 */
	.tableNoteList {
		gap: 15px 0;
	}
	.periodList {
		gap: 8px 0;
	}
	.periodBox {
		gap: 0 5px;
	}
	.titPeriod {
		display: inline-block;
		width: 58px;
		height: fit-content;
		line-height: 130%;
	}
	.txtPeriod {
		width: calc(100% - 65px);
	}

	/* アコーディオン 特典詳細 共通リスト */
	.toggleListBase {
		margin-top: 15px;
	}
	.toggleListBase li,
	.toggleListBase li::before {
		font-size: 1.2rem;
	}

	/* アコーディオン 特典詳細 注意事項のみ */
	.attentionList li {
		padding-left: 10px;
	}
	.attentionList li::before {
		content: '・';
		border-radius: 50px;
		position: absolute;
		top: 0;
		left: 0;
	}

	/*
		points-step
	-----------------------------------------------------------------------------------------------*/
	.rewardsTitBox {
		margin-bottom: 30px;
		text-align: center;
		position: relative;
	}
	.rewardsTitBox .titSub {
		margin-bottom: 5px;
	}
	#points-step .tit {
		margin-bottom: 30px;
	}
	.stepList {
		gap: 25px 15px;
	}
	#points-step .rewardsTitBox::before {
		width: 49px;
		height: 49px;
		right: -10%;
		top: -100%;
	}
	.stepList::before {
		width: 98px;
		height: 98px;
		border-radius: 50px;
		top: -15%;
		left: -15%;
	}
	.stepList::after {
		width: 226px;
		height: 226px;
		border-radius: 500px;
		bottom: -32%;
		right: -14%;
	}
	.itemStep {
		width: 72px;
		height: 26px;
		font-size: 2.1rem;
	}
	.itemStep::after {
		width: 8px;
		height: 26px;
		position: absolute;
		right: -7px;
	}
	.itemStep span {
		font-size: 1.1rem;
	}
	.txtStep {
		height: 85px;
		padding: 15px 15px 10px;
		font-size: 1.5rem;
	}
	a.btnStep,
	.lastStep {
		height: 40px;
		line-height: 130%;
		font-size: 1.1rem;
	}
	a.btnStep::after {
		content: '';
		width: 5px;
		height: 5px;
		top: 16px;
		right: 10px;
	}

	/*
		smooth
	-----------------------------------------------------------------------------------------------*/
	.titSmooth,
	.txtSmooth {
		font-size: 1.6rem;
	}
	.imgSmooth {
		max-width: 265px;
	}
	.txtSmooth {
		margin-top: 5px;
	}
	.txtSmooth span::before {
		width: 100%;
		height: 6px;
		bottom: 2px;
	}

	/*
		auto-charge-setup
	-----------------------------------------------------------------------------------------------*/
	#auto-charge-setup .ctsArea {
		padding: 45px 20px 20px;
	}
	#auto-charge-setup .txt {
		font-size: 1.4rem;
    }
	.limitBox {
		gap: 0 10px;
		padding: 20px 0 35px 0;
	}
	.limitBox img {
		max-width: 35px;
	}
	.txtLimit {
		line-height: 130%;
		font-size: 1.4rem;
	}
	.limitExample {
		padding: 37px 20px 25px;
	}
	.txtLimitExample {
		max-width: 300px;
		padding: 5px 12px;
		font-size: 1.2rem;
		top: -15px;
	}
	.limitExamplelist li {
		padding-left: 28px;
		font-size: 1.4rem;
	}
	.limitExamplelist li::before {
		width: 25px;
		height: 26px;
		border-radius: 10px 50px 50px 10px;
	}
	.limitExamplelist li::after {
		font-size: 1.7rem;
		text-shadow: 3px 3px rgba(0, 0, 0, 0.1);
		top: 46%;
		left: 7px;
	}
	.limitExamplelist li .bl::before {
		height: 6px;
	}
	.subTitList {
		font-size: 1.0rem;
	}

	/* 各チャージ 共通 */
	.titSetup {
		font-size: 2.0rem;
	}
	.titSetup::before {
		width: calc(100% - 85%);
	}
	.titSetup::after {
		color: #fff;
		font-family: var(--Barlow);
		font-size: 3.5rem;
		font-weight: var(--bold);
		text-shadow: 3px 3px rgba(0, 0, 0, 0.1);
		counter-increment: listnum;
		content: counter(listnum);
		left: 4%;
	}
	.setupBox {
		padding: 20px 20px 35px;
	}
	.txtSetup {
		text-align: justify;
		font-size: 1.4rem;
	}
	.imgSetup {
		max-width: 335px;
		margin-top: 20px;
	}

	/*
		condition-howto
	-----------------------------------------------------------------------------------------------*/
	.howtoList {
		gap: 20px 0;
		margin-top: 20px;
	}
	.titHowtoList {
		padding: 18px 0 18px 25px;
		line-height: 130%;
		font-size: 1.6rem;
	}
	.titHowtoList::before {
		left: 15px;
	}
	/* 各アイコン */
	.ico01::before {
		width: 28px;
		height: 20px;
	}
	.ico02::before {
		width: 28px;
		height: 18px;
	}
	.ico03::before {
		width: 25px;
		height: 28px;
	}
	.ico04::before {
		width: 28px;
		height: 20px;
	}
	.ico05::before {
		width: 28px;
		height: 16px;
	}
	/* 詳細 */
	.itemHowtoList .itemTxt {
		font-size: 1.4rem;
	}
	.itemGraylist {
		gap: 20px 0;
		flex-direction: column;
	}
	.itemGraylist li {
		width: 100%;
		padding: 20px;
	}
	.itemGraylist li .titGrayList {
		font-size: 1.4rem;
	}
	.itemGraylist li .txtGrayList {
		margin-top: 12px;
		font-size: 1.2rem;
	}
	.itemGraylist li figure {
		margin-top: 12px;
	}
	.itemGraylist li figure .onlyCard {
		max-width: 95px;
	}
	.itemGraylist li figure .card {
		max-width: 242px;
	}
	.itemGraylist li figure figcaption {
		margin-top: 10px;
		font-size: 1.2rem;
	}
	.itemGraylist li a.btnIcon span {
		font-size: 1.2rem;
	}
	/* ※ */
	.itemHowtoList .note {
		margin-top: 15px;
		padding-left: 10px;
		font-size: 1.0rem;
	}

	/* アコーディオン */
	.howtoToggleBtnArea {
		border-radius: 12px;
	}
	.howtoToggleBtn {
		padding: 18px 0;
		font-size: 1.2rem;
	}
	.howtoStepList {
		padding: 25px 20px 30px;
	}
	.howtoStepList::before {
		width: calc(100% - 40px);
	}
	.howtoStepList li {
		margin-top: 30px;
		padding-top: 50px;
	}
	.howtoStepList li::before {
		width: 60px;
		height: 25px;
	}
	.howtoStepList li .stepNum {
		font-size: 1.8rem;
	}
	.howtoStepList li .stepNum::before {
		height: 6px;
		bottom: 2px;
	}
	.howtoStepList li .stepNum span {
		font-size: 2.4rem;
	}
	.howtoStepList li .titStepList {
		margin-top: 10px;
		letter-spacing: 0.025rem;
		line-height: 130%;
		font-size: 1.4rem;
	}
	.howtoStepList li img {
		max-width: 100%;
		margin-top: 12px;
	}
	.howtoStepList li .txtStepList {
		margin-top: 5px;
		font-size: 1.1rem;
	}
	.howtoStepList li .ico {
		max-width: 74px;
	}
	.howtoStepList li .caseBtn {
		margin-top: 15px;
	}

	/*
		auto-charge-faq
	-----------------------------------------------------------------------------------------------*/
	#auto-charge-faq img {
		max-width: 208px;
		margin-bottom: -12px;
	}
	#auto-charge-faq .tit {
		font-size: 2.0rem;
	}

	/*
		points-timing
	-----------------------------------------------------------------------------------------------*/
	#points-timing .txt {
		font-size: 1.4rem;
	}
	.detailBox {
		gap: 20px 0;
		flex-direction: column;
		margin-top: 20px;
	}
	.detailBox img {
		max-width: 100%;
	}
	.txtDetailList .titList {
		padding: 5px 10px;
		font-size: 1.4rem;
	}

	/* 適応条件 特典判定・付与について */
	.txtDetailList > li:last-child {
		margin-top: 20px;
	}
	.inList {
		margin-top: 10px;
		font-size: 1.1rem;
	}
	.calcBox {
		margin-top: 5px;
		padding: 8px 10px;
	}
	.calcBox .titCalc {
		font-size: 1.2rem;
	}
	.calcBox .txtCalc {
		font-size: 1.1rem;
	}s
	.calcBox .note {
		margin-top: 5px;
		padding-left: 12px;
		font-size: 1.0rem;
	}

	/* 適応条件のみ */
	.adaptListItem .inList li {
		padding-left: 15px;
		line-height: 130%;
	}

	/* 特典判定・付与についてのみ */
	.spListItem .inList li {
		padding-left: 25px;
	}

	/*
		points-check
	-----------------------------------------------------------------------------------------------*/
	#points-check .checkBox:last-of-type {
		margin-top: 45px;
	}
	#points-check .swiperArea03 {
		max-width: 295px;
	}
	.checkBox .appImg {
		max-width: 150px;
	}

	/* ボタン */
	a.points-checkBtn {
		max-width: 285px;
		margin-top: 25px;
		font-size: 1.4rem;
	}
	a.points-checkBtn .swiper-button-l01-prev,
	a.points-checkBtn .swiper-button-l02-prev,
	a.points-checkBtn .swiper-button-l03-prev {
		left: -6%;
	}
	a.points-checkBtn .swiper-button-r01-next,
	a.points-checkBtn .swiper-button-r02-next,
	a.points-checkBtn .swiper-button-l03-prev {
		right: -6%;
	}

	/*
		au-pay
	-----------------------------------------------------------------------------------------------*/
	#au-pay .tit {
		font-size: 1.6rem;
	}
	.au-payBox img {
		max-width: 80px;
	}
	.au-payBox .txt {
		margin-top: 18px;
		font-size: 1.5rem;
	}

	/*
		faq
	-----------------------------------------------------------------------------------------------*/
	#faq .ctsArea {
		padding: 45px 20px 150px;
	}
	/* answer */
	.answerList {
		gap: 10px 0;
	}
	.answerList li .note {
		margin-top: 5px;
	} 

	/*
		btn pageTop
	-----------------------------------------------------------------------------------------------*/
	#btnPageTop {
		width: 48px;
		height: 48px;
		margin-bottom: 85px;
		right: 15px;
		bottom: 0;
	}
	#btnPageTop::before,
	#btnPageTop::after {
		width: 10px;
		top: 23px;
	}
	#btnPageTop::before {
		left: 16px;
	}
	#btnPageTop::after {
		left: 22px;
	}
}
