@charset "shift-jis";

:root {
	--mainColor:#ffebcd;				/*メインの背景色*/
	--subColor:#D96851;				/*ヘッダー/フッターなどの背景色*/
	--accentColor:#002849;				/*アクセントカラー*/

	--btnColor-main:#002849;			/*ボタンの背景色など*/
	--btnColor-sub:#fff;				/*ボタンの文字など*/
	--btnColor-gradient:linear-gradient(90deg,#860d62, #860d62);		/*ボタンの背景色*/

	--btnColor-main-negativ:#6b6b6b;	/*disableボタンの背景色など*/
	--btnColor-sub-negativ:#ffffff;	/*disableボタンの文字など*/

	--navigationColor-main:#5a3831;		/*ナビゲーション通常時*/
	--navigationColor-sub:#fff;		/*ナビゲーションアクティブ時*/

	--textColor-main:#000;				/*文字色*/
	--textLinkColor-main:#000;			/*テキストリンク*/
	--borderColor-main:#e0d7be;		/*ボーダー*/

	--mailStatusColor-main:#bb0092;	/*未読*/
	--mailStatusColor-sub:#7a7a7a;		/*既読*/

	--ptColor:#ce9800;					/*Pt関連色*/
	--purchaseColor-main:#ffffff;		/*決済名・購入ボタンの文字色など*/
	--purchaseColor-sub:#a17e08f1;		/*決済名・購入ボタンの背景色など*/
}

body{
	color: var(--textColor-main);
	background: var(--bodyColor);
	font-family: "Helvetica Neue","Helvetica", "Arial", "Yu Gothic","Hiragino Kaku Gothic ProN","Hiragino Sans","Meiryo", sans-serif;
	font-weight: 500;
}

p{
	font-size: 1.5rem;
	line-height: 1.75;
}

a{
	color: var(--textLinkColor-main);
}

.hide-sp{
	display: none;
}

/*PC用設定*/
@media ( min-width : 980px ){
	.hide-pc{
		display: none;
	}
	.show-pc{
		display: block;
	}
}

/*----------------------------------------------
コンテナ
-----------------------------------------------*/
@media ( min-width : 980px ){
	.container{
		width: 480px;
	}
}

/*----------------------------------------------
リスト
-----------------------------------------------*/
.list{
	margin: 0 auto;
	width: 100%;
}

.list_item{
	padding: 8px;
	border-bottom: 1px solid var(--borderColor-main);
}

.list_item .item_left{
	width: 80px;
	height: 80px;
}

.list_item .item_right{
	padding: 0 16px 0 8px;
	width: calc(100% - 80px);
}

/*----------------------------------------------
表
-----------------------------------------------*/
.baseTable{
	table-layout: fixed;
	width: 100%;
	margin: 8px auto 16px;
	font-size: 1.3rem;
}

.baseTable th{
	width: 200px;
	padding: .5em;
	text-align: left;
	background: #fafdff;
	border-bottom: 1px solid var(--borderColor-main);
}

.baseTable td{
	padding: .2em;
	text-align: center;
	border-bottom: 1px solid var(--borderColor-main);
}

/*----------------------------------------------
見出し系
-----------------------------------------------*/
.contentsTitle{
	font-size: 1.6rem;
	font-weight: bold;
	margin: 0 auto 16px;
}

/*----------------------------------------------
テキスト系
-----------------------------------------------*/
/*年月日時分表示*/
.date{
	font-size: 1.2rem;
	font-weight: normal;
	margin-bottom: 4px;
}

/*メール状態*/
.mailStatus{
	font-size: 1.3rem;
}

.unread{
	color:var(--mailStatusColor-main);
}

.read{
	color:var(--mailStatusColor-sub);
}

/*未読バッジ*/
.unreadCountBadge{
	position: absolute;
	top: 4px;
	right: 16px;
	display: block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	font-size: 1rem;
	color:var(--btnColor-sub);
	background: var(--mailStatusColor-main);
	border-radius: 50%;
}

.header-unreadCountBadge{
	position: absolute;
	top: 2px;
	right: 2px;
	display: block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	font-size: 1rem;
	color:var(--btnColor-sub);
	background: var(--mailStatusColor-main);
	border-radius: 50%;
}

.msg{
	margin: 16px auto;
	padding: 16px;
	font-weight: bold;
	text-align: center;
	background: #fafafa;
	border-radius: 8px;
}

.msg-confirm{
	background: #edffe8;
}

.msg-completed{
	background: #d4e4ef;
}

.msg-error{
	color: #fff;
	background: #d80700;
}

.msg-coinPurchase{
	padding: 16px;
	font-size: 1.3rem;
	text-align: center;
	background: #ffeec3;
}

/*----------------------------------------------
ボタン系
-----------------------------------------------*/
.btn{
	width: 72%;
	margin: 32px auto;
	padding: 12px;
	font-size: 1.5rem;
	color:var(--btnColor-sub);
	background: var(--btnColor-main);
	border-radius: 24px;
	position: relative;
}

.btn.cancel,.btn.delete{
	color: var(--btnColor-sub-negativ);
	background: var(--btnColor-main-negativ);
}

#scrollToTop{
	width: 40px;
	height: 40px;
	right: 12px;
	bottom: 64px;
	background: url(../img/svg-arrow_circle_up.svg);
	background-size: contain;
	background-repeat: no-repeat;
	z-index: 999;
}

/*ページネーション*/
.pagination_item.nowPage{
	background: #c5d1ea;
}

/*スライドトグル用*/
.show{
	width: 100%;
	margin: 0 auto;
	padding: 8px;
	color: var(--textColor-main);
	text-align: left;
	background: none;
	border: none;
	border-radius: 0;
	position: relative;
	cursor: pointer;
}

.show::after{
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 6px);
	right: 16px;
	width: 8px;
	height: 8px;
	border-right: 1px solid var(--textColor-main);
	border-bottom: 1px solid var(--textColor-main);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.show.is-active::after{
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}

.btn-showMore{
	width: 60%;
	margin: 16px auto;
	padding: 4px;
	font-size: 1.5rem;
	color:var(--btnColor-sub);
	background: var(--btnColor-main);
}

.btn-showMore::before{
	content: "";
	display: block;
	position: absolute;
	top: calc(50% - 8px);
	left: 25%;
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--btnColor-main);
	border-bottom: 2px solid var(--btnColor-main);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*-----------------------------------------------
アイコン
-----------------------------------------------*/
.icon{
	display: block;
	width: 24px;
	height: 24px;
	-webkit-mask-size: cover;
	mask-size: cover;
}

.btn .icon{
	display: inline-block;
	vertical-align: bottom;
	background-color: var(--btnColor-sub);
}

.icon-home{
	-webkit-mask-image: url('../img/svg-home.svg');
	mask-image: url('../img/svg-home.svg');
}

.icon-search{
	-webkit-mask-image: url('../img/svg-search.svg');
	mask-image: url('../img/svg-search.svg');
}

.icon-chat{
	-webkit-mask-image: url('../img/svg-chat.svg');
	mask-image: url('../img/svg-chat.svg');
}

.icon-coin{
	-webkit-mask-image: url('../img/svg-coin.svg');
	mask-image: url('../img/svg-coin.svg');
}

.icon-coin{
	-webkit-mask-image: url('../img/svg-point.svg');
	mask-image: url('../img/svg-point.svg');
}

.icon-user{
	-webkit-mask-image: url('../img/svg-user.svg');
	mask-image: url('../img/svg-user.svg');
}

.icon-heart{
	-webkit-mask-image: url('../img/svg-heart.svg');
	mask-image: url('../img/svg-heart.svg');
}

.icon-crossmark{
	-webkit-mask-image: url('../img/svg-crossmark.svg');
	mask-image: url('../img/svg-crossmark.svg');
}

.icon-exclamation{
	-webkit-mask-image: url('../img/svg-exclamation.svg');
	mask-image: url('../img/svg-exclamation.svg');
}

.icon-info{
	-webkit-mask-image: url('../img/svg-info.svg');
	mask-image: url('../img/svg-info.svg');
}

.icon-camera{
	-webkit-mask-image: url('../img/svg-camera.svg');
	mask-image: url('../img/svg-camera.svg');
}

.icon-edit{
	-webkit-mask-image: url('../img/svg-edit.svg');
	mask-image: url('../img/svg-edit.svg');
}

.icon-mail{
	-webkit-mask-image: url('../img/svg-mail.svg');
	mask-image: url('../img/svg-mail.svg');
}

.icon-question{
	-webkit-mask-image: url('../img/svg-question.svg');
	mask-image: url('../img/svg-question.svg');
}

.icon-menuCircle{
	-webkit-mask-image: url('../img/svg-menuCircle.svg');
	mask-image: url('../img/svg-menuCircle.svg');
}

.icon-smartphone{
	-webkit-mask-image: url('../img/svg-smartphone.svg');
	mask-image: url('../img/svg-smartphone.svg');
}

.icon-send{
	-webkit-mask-image: url('../img/svg-send.svg');
	mask-image: url('../img/svg-send.svg');
}

.icon-close{
	-webkit-mask-image: url('../img/svg-crossmark.svg');
	mask-image: url('../img/svg-crossmark.svg');
}

.icon-reload{
	-webkit-mask-image: url('../img/svg-reload.svg');
	mask-image: url('../img/svg-reload.svg');
}

.icon-leftArrow{
	-webkit-mask-image: url('../img/svg-leftArrow.svg');
	mask-image: url('../img/svg-leftArrow.svg');
}

.icon-searchForm{
	-webkit-mask-image: url('../img/svg-searchForm.svg');
	mask-image: url('../img/svg-searchForm.svg');
}

.menu-icon{
	display: block;
	width: 32px;
	height: 32px;
	margin: 0 auto;
}

.header-icon{
	display: block;
	width: 32px;
	height: 32px;
	margin: 0 auto;
}

/*-----------------------------------------------
モーダルウィンドウ
-----------------------------------------------*/
#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;
}

#modal.forNotification .modalwindowContents{
	width: 90%;
	max-width: 480px;
	max-height: 80vh;
	overflow-y: scroll;
	margin: 0 auto;
	padding: 16px;
	background:#fff;
	border-radius: 8px;
	position: relative;
	-ms-overflow-style: none;/*スクロールバー非表示（IE・Edge）*/
	scrollbar-width: none; /*スクロールバー非表示（Firefox）*/
}

/* 手動誘導ボタン */
#modalwindow .btn-induction {
	background: #142B4A;
}

/*スクロールバー非表示（Chrome・Safari）*/
#modal.forNotification .modalwindowContents::-webkit-scrollbar{
	display:none;
}

#modal.forNotification .modalwindowContents .contentsTitle{
	border-bottom: 1px solid var(--borderColor-main);
}

#modal.forNotification .modalwindowContents .icon{
	position: absolute;
	right: 4px;
	top: 4px;
	width: 32px;
	height: 32px;
	background-color: var(--btnColor-main-negativ);
}

/*----------------------------------------------
汎用BOX
-----------------------------------------------*/
.inBox{
	padding: 16px;
	box-shadow: 0 0 16px #e2e2e2;
	border-radius: 8px;
}

/*----------------------------------------------
ヘッダー
-----------------------------------------------*/
header{
	width: 100%;
	top: 0;
	position: fixed;
	z-index: 996;
}

/*ログイン前*/
#nonMemberPage  header{
	position: static;
}

.headerInner{
	padding: 0 8px;
	width: 100%;
	min-height: 56px;
	background: var(--subColor);
}

.headerInner_right,.headerInner_center,.headerInner_left{
	height: 100%;
	/*テキスト上下左右中央配置*/
	display: grid;
	place-items: center;
}

.btn-header{
	margin: 0;
	padding: 0;
	width: 100%;
/* 	max-width: 120px; */
	height: auto;
	font-size: 1.2rem;
	color:#fff;
	background: none;
	border: none;
	border-radius: 0;
}

.btn-header .icon{
	display: block;
	margin: 0 auto;
	background-color: var(--btnColor-main);
}

.btn-header.pageBack .icon{
	width: 30px;
	height: 30px;
	margin: 4px auto;
}

.btnHolizontalBox .btn-header{
	width: 50%;
}

.pageTitle{
	color: var(--accentColor);
	font-weight: bold;
	font-size: 1.5rem;
}

.headerInner [class^="col-"]{
	padding: 2px;
}

/*-----------------------------------------------
メイン
-----------------------------------------------*/
.container-main{
	padding-top: 56px;
	padding-bottom: 56px;
	min-height: 100dvh;
	background: var(--mainColor);
}

/*ログイン前他*/
#nonMemberPage .container-main{
	padding-top: 0;
	padding-bottom: 0;
	min-height: calc(100dvh - 101px);
}

/*ログイン前TOP*/
#nonMemberPage .topPageContainer-main{
	min-height:calc(100dvh - 47px);
	background-color: var(--mainColor);
	background-image: url(../img/bg.png);
	background-position: top center;
	background-repeat: no-repeat;
	background-size: contain;
}

/*-----------------------------------------------
フッター
-----------------------------------------------*/
footer{
	width: 100%;
}

#nonMemberPage  footer .container{
	background: var(--mainColor);
}

/*-----------------------------------------------
タブメニュー
-----------------------------------------------*/
#tabMenuList{
	background: #FCFCFC;
}

#tabMenuList .list_item,
#tabMenuList .list_item:last-child{
	border-bottom: none;
	border-right: none;
	padding: 8px;
}

#tabMenuList .list_item_link{
	display: block;
	width: 100%;
	text-align: center;
	font-weight: bold;
	font-size: 1rem;
	color: var(--navigationColor-main);
	position: relative;
}

#tabMenuList .list_item_link.active{
	color:var(--btnColor-main);
}

#tabMenuList .icon{
	margin: 0 auto 8px;
	background-color: var(--navigationColor-main);
}

#tabMenuList .list_item_link.active .icon{
	background-color:var(--btnColor-main);
}

/*-----------------------------------------------
ボトムナビゲーション
-----------------------------------------------*/
.bottomNavigationArea{
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	min-height: 56px;
	z-index: 996;
}

.bottomNavigation{
	background: var(--subColor);
}

.bottomNavigation_item{
	display: block;
	flex: 1;
	min-height: 56px;
	text-align: center;
}

.bottomNavigation_item:last-child{
	border:none;
}

.bottomNavigation_item_link{
	display: block;
	padding: 6px 4px 0 4px;
	width: 100%;
	height: 100%;
	font-size: 1.4rem;
	font-weight: bold;
	color:var(--navigationColor-main);
	position:relative;
}

.bottomNavigation_item_link .icon{
	margin: 4px auto;
	background-color:var(--navigationColor-main);
}

.bottomNavigation_item_link.active{
	color: var(--navigationColor-sub);
}

.bottomNavigation_item_link.active .icon{
	background-color: var(--navigationColor-sub);
}

/*-----------------------------------------------
入力フォーム
-----------------------------------------------*/
.altRadioBtn.female,.altRadioBtn.male,.altRadioBtn.both{
	width: 32%;
	border-radius: 24px;
}

.altCheckBox {
	width: 250px;
	padding: 0 0 0 24px;
}

/*-----------------------------------------------
ログイン前TOP
-----------------------------------------------*/
.topLogo{
	display: block;
	width: 75%;
	max-width: 500px;
	margin: 10vh auto 0;
	object-fit: cover;
}

.entryArea{
	margin: 24px auto;
	width: 92%;
	padding: 16px 8px;
	background: #fff6e5;
	border: 4px double #d4c389;
	box-shadow: 0 0 16px #e2c8c8;
	border-radius: 3px;
}

.entryArea input[type="checkbox"]:checked + .altCheckBox{
	color: var(--btnColor-main);
}

input[type="checkbox"]:checked + .altCheckBox:before,
input[type="checkbox"]:checked + .altCheckBox:after{
	border-color: var(--btnColor-main);
}

.entryArea .text{
	text-align: center;
	line-height: 1.5;
	font-size: 1.1rem;
	color: #777;
}

.btnEntry{
	margin: 8px auto 32px;
	width: 90%;
	overflow: hidden;
}

.btnEntry.disabled:after{
	display: none;
}

.btnEntry.disabled::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.45);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.btnEntry#google_login{
	padding-left: 8px;
	padding-right: 8px;
	font-weight: bold;
	font-size: 14px;
	color: #000;
	background: #fff;
	border: 1px solid var(--borderColor-main);
}

.icon-google{
	display: inline-block;
	margin-right: 24px;
	width: 18px;
	height: 18px;
	vertical-align: middle;
	background: url(../img/svg-google.svg);
	background-size: cover;
}

.btnEntry#line_login{
	padding-left: 8px;
	padding-right: 8px;
	font-weight: bold;
	color: #fff;
	background: #02af4a;
	border: 1px solid var(--borderColor-main);
	border-radius: 128px;
}

.icon-line{
	display: inline-block;
	margin-right: 18px;
	width: 32px;
	height: 32px;
	vertical-align: middle;
	background: url(../img/line.png);
	background-size: cover;
}

#nonMemberPage .footerLinkList .list_item{
	padding: 0;
	width: 33.333%;
	border-bottom: none;
}

#nonMemberPage .footerLinkList .list_item_link{
	display: block;
	width: 100%;
	padding: 16px 0;
	font-size: 1rem;
	text-align: center;
}

/*LINE登録用モーダル*/
#modal-lineLogin{
	display: none;
}

#modal-lineLogin.forNotification .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）*/
}

#modal-lineLogin.forNotification .modalwindowContents .icon{
	position: absolute;
	right: 4px;
	top: 4px;
	width: 32px;
	height: 32px;
	background-color: #fff;
}

.lineTitle{
	font-size: 1.75rem;
	color: #fff;
	text-align: center;
	font-weight: bold;
}

.lineSubTitle{
	font-size: 1.25rem;
	color: #000;
	text-align: center;
	font-weight: bold;
	padding-bottom: 8px;
}

.lineTextArea{
	background-color:var(--mainColor);
	padding: 8px;
}

.lineBtnArea{
	padding: 24px 0px;
}

/*QRコード-PC用*/
.lineQR{
	display: block;
	width: 50%;
	margin: 0 auto;
	padding: 8px;
	background-color: #06C755;
}

/*ボタン-SP用*/
.lineBtn{
	width: 80%;
	margin: 0px auto;
	padding: 8px 16px;
	font-size: 1.25rem;
	color:#fff;
	background: #06C755;
	border-radius: 32px;
	border: double 4px;
	position: relative;
}

.icon-lineLogin{
	display: inline-block;
	margin-right: 16px;
	width: 32px;
	height: 32px;
	vertical-align: middle;
	background: url(../img/line.png);
	background-size: cover;
}

.lineCaution{
	background-color: #ffffff;
	border: 3px double #06C755;
}

.lineCautionTitle{
	font-size: 1.25rem;
	font-weight: bold;
	padding-top: 5px;
}

.lineCautionMemo{
	font-size: 1rem;
	padding: 16px 8px;
}

