@charset "shift_jis";

/*---------------------------------------------------
レイアウト
---------------------------------------------------*/
html {
	font-size: 62.5%;
	scrollbar-gutter: stable;
}

body {
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	font-family: "Helvetica Neue", "Helvetica", "Arial", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
	font-weight: 500;
	font-size: 1.6rem;
	color: #252525;
	background: #fafafa;
}

main {
    flex: 1;
}

/*全体内包用*/
.container{
	width: 100%;
	padding: 0;
	background: #fff;
}

@media ( min-width : 980px ){
	.container{
		width: 480px;
	}
}

.inner{
	padding: 16px;
}

/* フッター */
footer .container{
	min-height: 56px;
	background: #fff;
}

p {
	line-height: 1.5;
}

img {
	width: 100%;
	max-width: 100%;
	height: auto;
	border-style: none;
	vertical-align: bottom;
}

@media (min-width : 980px) {
	button:hover,
	a:hover{
		opacity: .85;
	}
}

/*---------------------------------------------------
フッターメニュー
---------------------------------------------------*/
.footerMenuList{
	width:90%;
	margin: 0 auto;
	padding-top: 24px;
}

.footerMenuList_item_link{
	display: block;
	padding: 1em .5em;
	font-size: 1.5rem;
	color: #8d6ba1;
    border-bottom: 1px solid #f3f3f3;
}

/*コピーライト*/
.copy {
	padding: 20px 0;
	color: #9769ac;
	text-align: center;
	font-size: 1.2rem;
}

/*---------------------------------------------------
テキスト系
---------------------------------------------------*/
/*ページ見出し*/
.pageTitle{
	padding: 1em 0;
	color: #9769ac;
	font-weight: bold;
	text-align: center;
	border-bottom: 3px solid #f3f3f3;
}

/*---------------------------------------------------
ボタン/リンク関連
---------------------------------------------------*/
.btn {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.textLink {
	display: inline-block;
	margin: 8px auto;
	text-decoration: underline;
	font-size: 1.3rem;
	text-align: center;
}

/*---------------------------------------------------
アニメーション
---------------------------------------------------*/
.anime-reflection{
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.anime-reflection::after{
	content: "";
	display: block;
	width: 30px;
	height: 100%;
	position: absolute;
	top: -180px;
	left: 40px;
	background-color: #FFF;
	opacity: 0;
	transform: rotate(45deg);
	animation: anime-reflection 2s ease-in-out infinite;
}

@keyframes anime-reflection{
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { transform: scale(4) rotate(45deg); opacity: 0.8; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

/*---------------------------------------------------
TOP
---------------------------------------------------*/
/* メインビジュアル */
.fv{
	position: relative;
}

.fv .btnWrapper{
	position: absolute;
	bottom: 52px;
	left: 0;
	right: 0;
	width: 90%;
	margin: 0 auto;
	border-radius: 128px;
	overflow: hidden;
}

/*各コンテンツ*/
.contentsWrapper{
	position: relative;
	overflow: hidden;
}

.contents{
	position: absolute;
}

.enrtyArea{
	width: 90%;
	margin: -8% auto 0;
	padding-bottom: 32px;
	position: relative;

}

.enrtyArea .campaingText{
	position: absolute;
	top: -20px;
}

/*---------------------------------------------------
退会方法
---------------------------------------------------*/
.unsubscribeFlowList{
	padding: 16px 0;
}

.unsubscribeFlowList_item{
	margin-bottom: 16px;
}

.unsubscribeFlowList_item .step{
	width: 80px;
	max-width: 240px;
	font-size: 1.4rem;
	text-align: center;
	font-style: italic;
	color: #fff;
	background: #a9a6d3;
	border-radius: 128px;
}

.unsubscribeFlowList_item .step span{
	font-size: 1.8rem;
}

.unsubscribeFlowList_item .text{
	padding: 8px;
	line-height: 1.5;
}

/*退会時の注意事項*/
.unsubscribeNoteList{
	margin-bottom: 16px;
	padding: 16px 0 0;
	border: 1px solid #e5e5e5;
}

.unsubscribeNoteList_item{
	display: flex;
	gap: 4px;
	padding: 8px;
	margin-bottom: 16px;
}

.unsubscribeNoteList_item::before{
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	mask-size: contain;
	mask-position: center center;
	mask-repeat: no-repeat;
	background-color: #ce1111;
	-webkit-mask-image: url('../img/svg-exclamation.svg');
	mask-image: url('../img/svg-exclamation.svg');
}

.unsubscribeNoteList_item .text{
	width: calc(100% - 24px);
}

/*-----------------------------------------------
利用規約/ポリシー/特商法
-----------------------------------------------*/
.textProtected {
	user-select: none;
}

.textProtected .headline {
	padding: 8px 0;
	font-weight: bold;
	border-bottom: 1px solid #e5e5e5;
}

.textProtected .text {
	padding: 8px 0 16px;
	line-height: 1.5;
}

.textProtected span {
	font-size: 1.3rem;
}

/*-----------------------------------------------
モーダルウィンドウ
-----------------------------------------------*/
#modal{
	display: none;
}

#modalwindow{
	position: fixed;
	top:0; 
	left:0; 
	width:100%; 
	height:100%;
	height:100vh;
	background:rgba(0,0,0,.75);
	z-index: 9998;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin: 0 auto;
}

#close{
	text-align: center;
	color: #fff;
	cursor: pointer;
}

.modalwindowContents{
	width: 90%;
	max-width: 480px;
	max-height: 80vh;
	overflow-y: scroll;
	margin: 0 auto;
	padding: 16px;
	background:#06c755;
	border-radius: 8px;
	position: relative;
	-ms-overflow-style: none;/*スクロールバー非表示（IE・Edge）*/
	scrollbar-width: none; /*スクロールバー非表示（Firefox）*/
}

/*スクロールバー非表示（Chrome・Safari）*/
.modalwindowContents::-webkit-scrollbar{
	display:none;
}

.modalwindowContents .contentsTitle{
	padding-bottom: 8px;
	font-weight: bold;
	font-size: 2.6rem;
	text-align: center;
	color: #fff;
	border-bottom: 1px solid var(--borderColor-main);
}

.modalwindowContents .contentsTitle span{
	font-size: 1.4rem;
	display: block;
}

.modalwindowContents .icon{
	position: absolute;
	right: 4px;
	top: 4px;
	width: 32px;
	height: 32px;
	background-color: #6b6b6b;
	-webkit-mask-image: url('../img/svg-crossmark.svg');
	mask-image: url('../img/svg-crossmark.svg');
}

.modalwindowContents_inner{
	padding: 16px;
	text-align: center;
	background: #fff;
	border-radius: 8px;
}

.modalwindowContents_inner .QrCode{
	display: block;
	max-width: 280px;
	margin: 16px auto;
	border: 8px solid #f1f1f1;
}

.modalwindowContents_inner .lineRegistNote{
	padding: 16px;
	font-size: 1.3rem;
	text-align: left;
	color: #8f8f8f;
}
