@charset "shift-jis";

:root {
	--mainColor:#f7f7f7;				/*メインの背景色*/
	--subColor:#fff;					/*ヘッダー/フッターなどの背景色*/
	--accentColor:#002849;				/*アクセントカラー*/

	--pageTitleColor:#525252;			/*ページタイトルカラー*/

	--btnColor-main:#051c30;			/*ボタンの背景色など*/
	--btnColor-sub:#fff;				/*ボタンの文字など*/
	--btnColor-gradient:linear-gradient(90deg,#9839e6, #493acc);		/*ボタンの背景色*/

	--btnColor-main-negativ:#6b6b6b;	/*disableボタンの背景色など*/
	--btnColor-sub-negativ:#ffffff;	/*disableボタンの文字など*/

	--navigationColor-main:#a69cc3;	/*ナビゲーション通常時*/
	--navigationColor-sub:#7536da;		/*ナビゲーションアクティブ時*/

	--textColor-main:#000;				/*文字色*/
	--textLinkColor-main:#000;			/*テキストリンク*/
	--borderColor-main:#e0d7be;		/*ボーダー*/

	--mailStatusColor-main:#cc11cc;	/*未読*/
	--mailStatusColor-sub:#9c9c9c;		/*既読*/

	--ptColor:#ce9800;					/*Pt関連色*/
	--purchaseColor-main:#ffffff;		/*決済名・購入ボタンの文字色など*/
	--purchaseColor-sub:#d3aa22f1;		/*決済名・購入ボタンの背景色など*/
}

body{
	color: var(--textColor-main);
	background: #ebe9ef;
	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.1rem;
	width: 40px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	color:#fff;
	border-radius: 128px;
}

.unread{
	background:var(--mailStatusColor-main);
}

.read{
	background: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: 128px;
	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/icon-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/icon-home.svg');
	mask-image: url('../img/icon-home.svg');
}

.icon-search{
	-webkit-mask-image: url('../img/icon-search.svg');
	mask-image: url('../img/icon-search.svg');
}

.icon-chat{
	-webkit-mask-image: url('../img/icon-talk.svg');
	mask-image: url('../img/icon-talk.svg');
}

.icon-coin{
	-webkit-mask-image: url('../img/icon-buy.svg');
	mask-image: url('../img/icon-buy.svg');
}

.icon-pageBack{
	-webkit-mask-image: url('../img/icon-pageBack.svg');
	mask-image: url('../img/icon-pageBack.svg');
}

.icon-menu{
	-webkit-mask-image: url('../img/icon-menu.svg');
	mask-image: url('../img/icon-menu.svg');
}

.icon-info{
	-webkit-mask-image: url('../img/icon-info.svg');
	mask-image: url('../img/icon-info.svg');
}

.icon-campaign{
	-webkit-mask-image: url('../img/icon-campaign.svg');
	mask-image: url('../img/icon-campaign.svg');
}


.icon-reload{
	-webkit-mask-image: url('../img/icon-reload.svg');
	mask-image: url('../img/icon-reload.svg');
}

.icon-profile{
	-webkit-mask-image: url('../img/icon-profile.svg');
	mask-image: url('../img/icon-profile.svg');
}

.icon-close{
	-webkit-mask-image: url('../img/icon-crossmark.svg');
	mask-image: url('../img/icon-crossmark.svg');
}

/*-----------------------------------------------
モーダルウィンドウ
-----------------------------------------------*/
#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）*/
}

/*スクロールバー非表示（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{
	font-size: 1.2rem;
	color:var(--navigationColor-main);
	color:#797979;
	position: relative;
}

.btn-header .icon{
	display: block;
	width: 24px;
	height: 24px;
	margin: 0 auto;
	background-color: #797979;
}

.btn-header .unreadCountBadge{
	top: 0;
	right: -12px;
	text-align: center;
}

.pageTitle{
	color: var(--pageTitleColor);
	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);
}

/*-----------------------------------------------
フッター
-----------------------------------------------*/
footer{
	width: 100%;
}

#nonMemberPage  footer .container{
	background: var(--mainColor);
}

/*-----------------------------------------------
ボトムナビゲーション
-----------------------------------------------*/
.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: 0 auto 2px;
	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
-----------------------------------------------*/
.entryArea{
	margin: 0 auto;
	padding: 0 8% 8%;
	display: flex;
	background: #fff;
}

.entryArea .icon-star{
	display: block;
	width: 15%;
	object-fit: contain;
}

.entryArea .line_login{
	display: block;
	margin: 0 2%;
}

.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;
}

.icon-line{
	display: inline-block;
	margin-right: 18px;
	width: 32px;
	height: 32px;
	vertical-align: middle;
	background: url(../img/line.png);
	background-size: cover;
}

.loginArea{
	padding: 0 22%;
	background: #fff;
}

.loginLink{
	display: block;
	margin: 0 auto;
	padding: .5em 0;
	text-align: center;
	font-size: 1.2rem;
	border: 1px solid #ddd;
	border-radius: 128px;
}

#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;
}

/*-----------------------------------------------
新規登録
-----------------------------------------------*/
#registrationForm .altRadioBtn.female,
#registrationForm .altRadioBtn.male,
#registrationForm .prefcture,
#registrationForm .city{
	width: 48%;
}

input[type="radio"]#female:checked + .altRadioBtn {
	background-color: #a70000;
}

input[type="radio"]#male:checked + .altRadioBtn {
	background-color: #00198a
}

input[type="radio"]#both:checked + .altRadioBtn {
	background-color: #6e009a
}

/*-----------------------------------------------
プロフィール関連
-----------------------------------------------*/
.tmb{
	display: block;
	margin: 0 auto;
	width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: 50%;
}
.sex,.name,.area,.age{
	max-width: 33%;
	font-size: 1.2rem;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.female{
	color: #a70000;
}

.male{
	color: #00198a;
}

.birth {
	width: 33%;
}

.currentPt{
	color:var(--ptColor);
}

.comment{
	font-size: 1.4rem;
	width: 100%;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.name_list{
	max-width: 100%;
	font-size: 1.2rem;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.nameTalklist{
	color: #cc3a26;
	font-size: 1.5rem;
	font-weight: bold;
}

/*-----------------------------------------------
占い師一覧
-----------------------------------------------*/
#fortunetellerList .list_item{
	padding: 12px 8px;
	background: #fff;
	border: 1px solid var(--borderColor-main);
	margin-bottom: 8px;
	border-radius: 8px;
}

#fortunetellerList .tmb{
	width: 80px;
	height: 80px;
	margin: 0;
}

#fortunetellerList .profileDetailsWrapper{
	padding: 0 16px 0 8px;
	width: calc(100% - 80px);
}

#fortunetellerList .profileDetailsItemWrapper{
	display: flex;
	align-items: center;
	gap: 4px;
}

/*-----------------------------------------------
プロフィール詳細
-----------------------------------------------*/
/*プロフ写真*/
.userProfile .tmb{
	width: 240px;
	height: 240px;
	margin: 24px auto;
}

.userProfile .photoList .list_item{
	border: none;
	text-align: center;
	padding: 0;
}

.userProfile .photoList .tmb{
	width: 64px;
	height: 64px;
	object-fit: cover;
	margin: 0;
}

/*プロフ写真表示用モーダル*/
.modalwindowContents .tmb{
	width: 90%;
	height: auto;
	border-radius: 0;
	margin: 0 auto;
}

.userProfile .name{
	width: 100%;
	max-width: 100%;
	font-weight: bold;
	font-size: 1.7rem;
	text-align: center;
}

/*コメント*/
.userProfile .balloon{
	margin: 0 auto;
	background: #f9f9f9;
	border-radius: 8px;
}

.userProfile .balloon .comment{
	height: 180px;
	padding: 8px;
	overflow-y: scroll;
	white-space: normal;
	text-overflow: unset;
	border: 1px solid #e5e5e5;
}

.btnArea{
	position: fixed;
	left: 50%;
	bottom: 0;
	transform: translate(-50%,0);
	width: 100%;
	display: flex;
	padding: 8px;
	background: rgba(255,255,255,.5);
}

@media ( min-width : 980px ){
	.btnArea{
		max-width: 480px;
	}
}

.btnArea .btn{
	width: 40%;
	margin: 0 auto;
	padding: 12px;
	font-size: 1.5rem;
	color:var(--btnColor-sub);
	background: var(--btnColor-gradient);
	border-radius: 24px;
}

.btn-favorite.active{
	color: var(--btnColor-sub-negativ);
	background: var(--btnColor-main-negativ);
}

/*-----------------------------------------------
鑑定一覧
-----------------------------------------------*/
#talkingUserList .list_item{
	padding: 12px 8px;
	background: #fff;
	border: 1px solid var(--borderColor-main);
	margin-bottom: 8px;
	border-radius: 8px;
}

#talkingUserList .tmb{
	width: 80px;
	height: 80px;
	margin: 0;
}

#talkingUserList .profileDetailsWrapper{
	padding: 0 16px 0 8px;
	width: calc(100% - 140px);
}

#talkingUserList .profileDetailsItemWrapper{
	display: flex;
	align-items: center;
	gap: 4px;
}

#talkingUserList .mailStatusWrapper{
	display: grid;
	place-items: center;
	width: 60px;
}

#talkingUserList .time{
	font-size: 1.2rem;
	text-align: center;
}

/*-----------------------------------------------
鑑定
-----------------------------------------------*/
#messageList{
	height: calc(100dvh - 138px);
	overflow-y: auto;
	scrollbar-width: none; /* Firefox */
}

#messageList::-webkit-scrollbar{
	display:none;
}

.partnerName{
	display: block;
	width: 100%;
	text-align: center;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.messageList_item{
	margin-bottom: 16px;
	padding: 8px;
}

.messageArea .date{
	text-align: right;
}

.messageList_item .balloon{
	width: 80%;
	margin:0 0 8px 16%;
	padding:8px;
	border-radius: 8px;
	position: relative;
}

.messageList_item .balloon:before{
	display: block;
	content: " ";
	width: 12px;
	height: 12px;
	transform: rotate(45deg);
	position: absolute;
	top: 16px;
	right: -6px;
}

.messageList_item .balloon,
.messageList_item .balloon:before{
	background: #eaf6ff;
}

.messageList_item.fromPartner .tmb{
	display: block;
	margin:0 0 12px 0;
	width: 64px;
	height: 64px;
}

.messageList_item.fromPartner .balloon{
	width: 100%;
	margin:0 ;
}

.messageList_item.fromPartner .balloon p{
	font-weight:bold;
}

.messageList_item.fromPartner .balloon,
.messageList_item.fromPartner .balloon:before{
	background: #f1dcfd;
}

.messageList_item.fromPartner .balloon:before{
	left: 16px;
	top: -4px;
}

.messageList_item.fromPartner .messageArea{
	width:100%;
}

.messageList_item.fromPartner .messageArea .date{
	text-align: left;
	margin-left: 8px;
}

.messageList_item .messageArea .tmb{
	margin-left: calc(100% - 96px);
	width: 96px;
	height: auto;
	border-radius: 0;
}

.messageList_item.fromPartner .messageArea .tmb{
	width: 96px;
	height: auto;
	margin-top: 8px;
	margin-left: 8px;
	border-radius: 0;
}

.btn-viewPic{
	margin: 8px 0;
	width: 140px;
	padding: 4px 8px;
}

#messageSendForm{
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	z-index: 996;
}

#messageSendForm .container{
	padding: 8px;
	background: var(--subColor);
}

#messageSendForm .btn-upload{
	display: block;
	width: 40px;
	height: 40px;
	padding: 8px;
	border-radius: 50%;
	background: var(--btnColor-main);
	position: relative;
}

.btn-upload .icon{
	background-color: var(--btnColor-sub);
}

.btn-upload .icon.fileUpload{
	-webkit-mask-image: url('../img/icon-plus.svg');
	mask-image: url('../img/icon-plus.svg');
}

.btn-upload .icon.fileUpload.active{
	-webkit-mask-image: url('../img/icon-clip.svg');
	mask-image: url('../img/icon-clip.svg');
}

#messageSendForm input[type="file"]{
	display: none;
}

#messageSendForm textarea{
	width: 65%;
	margin: 0 4px;
}

#messageSendForm .btn-send{
	margin: 0;
	width: 96px;
}

/*-----------------------------------------------
お知らせ一覧関連
-----------------------------------------------*/
.infomationTitle{
	display: inline-block;
	width: 85%;
	padding: 8px;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

/*-----------------------------------------------
支払い方法選択
-----------------------------------------------*/
#paymentList{
	margin: 16px auto;
	max-width: 480px;
}

#paymentList .list_item{
	margin-bottom: 16px;
	padding: 0;
	border: none;
	border: 1px solid var(--borderColor-main);
	border-radius: 8px;
	overflow: hidden;
	background-color: #ffffff;
}

#paymentList .list_item .list_item_link{
	display: block;
	height: 100%;
}

.paymentDiscription{
	padding: 8px;
}

.paymentName{
	margin: -8px -8px 8px -8px;
	padding: 8px;
	font-weight: bold;
	font-size: 1.4rem;
	color:var(--purchaseColor-main);
	background:var(--purchaseColor-sub);
}

.paymentLogo{
	display: block;
	width: 50%;
	margin: 0 auto;
	object-fit: cover;
}

/*-----------------------------------------------
購入額選択
-----------------------------------------------*/
.purchaseList_item{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 520px;
	margin:0 auto 16px;
	padding: 8px 16px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 0 12px #e6e6e6
}

.purchaseList_item_inner{
	display: flex;
	justify-content: space-evenly;
	width: 75%;
	align-items: center;
	gap: 8px;
}

.pt{
	font-size: 3.2rem;
	font-weight: bold;
	color: var(--ptColor);
}

.servicePt,.price{
	display: block;
	text-align: center;
}

.price{
	font-size: 1.1rem;
}

.servicePt{
	font-weight: bold;
	color: #FF475A;
}

.btn-purchase{
	width: 33%;
	margin: 0;
	color:var(--purchaseColor-main);
	background:var(--purchaseColor-sub);
}

/*-----------------------------------------------
銀行振り込み用
-----------------------------------------------*/
.formBox-purchase{
	padding: 0;
	background: none;
}

.purchase_item{
	width: 46%;
	margin-bottom: 16px;
	padding: 8px;
	background: #fff;
	border: 1px solid #d3ab05;
	border-radius: 5px;
}

.purchase_item .icon{
	margin: 0;
	width: 32px;
	height: 32px;
}

.purchase_item_details{
	width: calc(100% - 48px);
}

.pt{
	color: #c99a00;
	font-size: 4rem;
	font-weight: bold;
}

.yen{
	text-align: center;
	color: #777777;
	font-size: 1.6rem;
}

.purchase_item .option{
	font-size: 1.2rem;
	text-align: center;
	color:var(--textColor-main);
}

.purchase_item .btn{
	width: 90%;
	margin: 8px auto;
	color: #000;
	background: #ffc400;
	border: 2px solid #d3ab05;
}

.bankDetails{
	table-layout: fixed;
	width: 100%;
	margin: 16px auto;
	font-size: 1.3rem;
	background: #fff;
	border: 1px solid #e5e5e5;
}

.bankDetails tbody th{
	width: 30%;
	padding: .5em;
	text-align: left;
	vertical-align: middle;
	background:#bce8fa;
	border-right: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
}

.bankDetails tbody td{
	padding: .5em;
	text-align: left;
	border-bottom: 1px solid #e5e5e5;
}

/*-----------------------------------------------
マイメニュー
-----------------------------------------------*/
#userProfile .btn.toInformation{
	margin: 0;
	width: 40%;
	padding:20px 0;
	border-radius: 8px;
}

#userProfile .currentPtBox{
	width: 40%;
	height: 64px;
	padding: 2px 8px;
	text-align: center;
	border:1px solid var(--borderColor-main);
	border-radius: 8px;
}

#userProfile .currentPtBox .itemTitle{
	border-bottom:1px solid var(--borderColor-main);
}

#myMenuList{
	width: 100%;
}

#myMenuList .list_item{
	width: 32%;
	border: none;
	text-align: center;
	padding: 0;
}

#myMenuList .list_item .list_item_link{
	display: block;
	width: 100%;
	padding: 8px 16px;
	font-weight: bold;
	font-size: 1.3rem;
	color:var(--navigationColor-main);
}

#myMenuList .menu-icon{
	display: block;
	width: 100%;
	height: auto;
}

/*-----------------------------------------------
お気に入り一覧
-----------------------------------------------*/
#favoriteUserList .tmb{
	width: 80px;
	height: 80px;
	margin: 0;
}

#favoriteUserList .details{
	padding: 0 16px 0 8px;
	width: calc(100% - 80px);
}

/*-----------------------------------------------
ヘルプメニュー
-----------------------------------------------*/
#helpMenuList .list_item_link,
#serviceMenuList .list_item_link{
	padding: 8px 0;
}

/*-----------------------------------------------
その他メニュー
-----------------------------------------------*/
#otherMenuList .list_item_link{
	padding: 8px 0;
}

.otherMenuTitle{
	width: 95%;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}