@charset "utf-8";


body{
	width:100%;
	margin:0 auto;
	background-color: #F3F3F3;
	color:#000000;
}
body,td{
	font-size: 13px;
}
.slender-box{
	width:320px;
	margin:0 auto;
}


/* ******** COMMON ******** */
.text-base{
	padding: 5px 10px;
	letter-spacing: 1px;
	font-size: 12px;
	line-height: 18px;
	color:#555;
}

.doc-text{
	font-size: 11px;
	line-height: 14px;
}
.warning-text{
	color:red;
}

/* ******** HEADER ******** */
.header-line{
	text-align:center;
	background:rgba(0,0,0,0.2);
	color:white;
	font-size:16px;
	line-height:32px;
	margin:1px 0;
}
.header-line a{
	color:white;
	font-size:16px;
	text-decoration-line: underline;
}
.header-message{
	text-align:center;
	color: #040505;
	font-size:12px;
	line-height:20px;
	padding: 10px 0;
	font-weight:bold;
}
.header-explanation{
	text-align: left;
	color: white;
	font-size: 16px;
	line-height: 24px;
	padding: 10px 0;
	font-weight: bold;
	width: 320px;
	margin: 0 auto;
}

.header-links{
	text-align:center;
	font-size:18px;
	line-height:32px;
	margin:8px 0 0 0;
}
.header-links a{
	display:block;
	color:#2F2F2F;
	font-size:14px;
}

/* ******** COMMON ******** */
.text-center{
	text-align:center;
}
.strong-count{
	font-size:20px;
	font-weight:bold;
	color:#75D900;
}
.right-icon-green{
    color: #7CCEB4;
    font-weight: bold;
    float: right;
    font-size: 24px;
}
.valid-param{
}
.invalid-param{
	color:#F94E7A !important;
}

/* ******** ICON ******** */

.text-icon{
	color:#FFFFFF !important;
	font-weight:bold;
	font-size:12px;
	background: #4658BA;
	width:28px;
	height:28px;
	display:inline-block;
	border-radius:4px;
	line-height:28px;
	margin:0 5px;
	text-align:center;
}
/* ******** CAPTION ******** */
.caption{
    text-align: left;
    font-size: 12px;
    line-height: 24px;
    padding: 5px 0;
    margin: 10px 8px;
    font-size: 15px;
}
.caption-center{
    text-align: center;
    font-size: 12px;
    line-height: 24px;
    padding: 5px 0;
    margin: 10px 8px;
    font-size: 15px;
}
/* ******** FRAME ******** */
.common-frame{
	background-color:#FFFFFF;
	border-bottom:solid 2px #DFDFDF;
	padding:0px;
	margin:0 0 30px;
    overflow: hidden;
}
.common-frame .date{
	background-color:#FFF;
	color: #F94E7A;
	font-size:11px;
	font-weight:bold;
	line-height:16px;
	height:18px;
	margin:16px 0 0 16px;
	padding: 0 5px;
	border:solid 1px #F94E7A;
	border-radius:14px;
	display:inline-block;
}
.common-frame .title{
	background-color:#FFB401;
	text-align:left;
	color: #FFFFFF;
	font-size:14px;
	font-weight:bold;
	line-height:28px;
	height:48px;
	padding: 10px 15px;
}
.common-frame .title .link{
	float:right;
	display:inline-block;
	background-color: #FFFFFF;
	padding: 0 10px;
	line-height:28px;
	border-radius:3px;
	border:0px;
	font-size: 14px;
	text-align:center;
	color: #FFB401;
}
.common-frame .text{
	text-align:left;
	padding: 10px 15px;
	line-height:20px;
}
.common-frame .params {
	padding:10px 15px;
}
.common-frame .params > table{
	width:auto;
}
.common-frame .params > table td{
	line-height:20px;
}
.common-frame .params > table td:nth-child(2)::before{
	content:":";
	width:32px;
	display: inline-block;
	text-align: center;
}
.common-frame.border{
	border:solid 2px #e1e1e1;
}
.common-frame .item:not(:last-child)::after {
	content:"";
	border-top:solid 1px #e1e1e1;
	width:320px;
	margin: 0 auto;
	display: block;
}
/* ******** INPUT-FRAME ******** */
.input-frame:not(:first-child){
	border-top:solid 2px #e1e1e1;
}
.input-frame{
	padding:10px 10px 10px 20px;
	margin:0 0;
	position: relative;
	display:table;
	width:100%;
}
.input-frame .label{
	display:inline;
	display:table-cell;
	line-height:32px;
	vertical-align: top;
}
.input-frame .input-form{
	display:table-cell;
	text-align:right;
	min-height:32px;
	vertical-align: top;
    width: 200px;
}
.input-frame .input-form select{
	min-width:100px;
}
.input-frame .input-form input[type="text"],
.input-frame .input-form input[type="number"]{
	background:#FFF;
	border:solid 1px #4658BA;
	border-radius:5px;
	height:32px;
	text-align:center;
	color:#005849;
	padding:0 8px;
}
.input-frame .input-form input[type="number"]{
	min-width:50px;
}
.input-frame .input-form input[type="text"]{
    width: 100%;
	min-width:100px;
}
.input-frame .input-form textarea{
	background:none;
	border:solid 1px #4658BA;
	border-radius:5px;
	color:#303030;
	resize:none;
	margin:5px 0;
	height:96px;
	line-height:18px;
	padding:3px 7px;
	width:100%;
}
.input-frame .input-form ::placeholder {
	font-size: 11px;
	color:#8B701E;
}
/* size-fix */
.search-config .input-form input[type="text"],
.search-config .input-form select{
	min-width:150px;
}
.input-form .select-wrapper {
	width:100%;
}

/* ******** SELECT ******** */
.select-wrapper select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.select-wrapper select::-ms-expand {
	display: none;
}
.select-wrapper {
	position: relative;
	border:solid 1px #4658BA;
	border-radius:5px;
	background: #ffffff;
	display: inline-block;
}
.select-wrapper::before {
    position: absolute;
    top: 2px;
    right: 8px;
    padding: 0;
    pointer-events: none;
    color: #4658BA;
    content: '\f107';
    font-family: FontAwesome;
    font-size: 20px;
}
.select-wrapper select {
	padding: 4px 30px 4px 8px;
	color:#005849;
	line-height: 20px;
}

/* ******** BUTTON ******** */
.common-button > a,
.common-button > span,
.common-button > button{
	display:inline-block;
	padding: 0 5px;
	line-height:42px;
	border-radius:5px;
	border:0px;
	font-size: 14px;
	text-align:center;
	width:180px;
}
.common-button.default > a,
.common-button.default > span,
.common-button.default > button{
	border:0px;
	background-color:#4658BA;
	color:#FFFFFF;
}

.common-button.sub > a,
.common-button.sub > span,
.common-button.sub > button{
	border:solid 1px #e1e1e1;
	background-color: #FFFFFF;
}

.common-button.gray > a,
.common-button.gray > span,
.common-button.gray > button{
	border:solid 1px #e1e1e1;
	background-color: #AEAEAE;
	color:white;
}
.common-button.light > a,
.common-button.light > span,
.common-button.light > button{
	border:0px;
	background-color: #f5978d;
	color:#FFFFFF;
}

.common-button.short > a,
.common-button.short > span,
.common-button.short > button{
	width:130px;
}
.common-button.full > a,
.common-button.full > span,
.common-button.full > button{
	width:100%;
	min-width:0px;
}
.common-button.smart > a,
.common-button.smart > span,
.common-button.smart > button{
	line-height:28px;
}

.common-button.disable > a,
.common-button.disable > span,
.common-button.disable > button{
	color: #767676;
	background: #CCC;
}

.button-space{
	height:10px;
}
.button-wide > a,
.button-wide > span,
.button-wide > button{
	width:200px;
}

.button-half > a,
.button-half > span,
.button-half > button{
	min-width:0px;
	width:60px;
}
.inline{
	display:inline-block;
}


.img-button{
	margin:5px auto;
}
.img-button a{
	display:block;
}
.img-button img{
	width:100%;
}
/* ******** COLOR ******** */
.strong {
	color: #25A41C;
}
.call-to {
	color: #E82032;
}
.call-from {
	color: #4ECD00;
}
.phone-icon {
	color: #4ECD00;
}
.point-add {
	color: blue;
}
.point-sub {
	color: red;
}
.point-same {
	color: #CCC;
}
.color-clear {
	color: rgba(0,0,0,0);
}
.color-exclamation {
	color: #FF8888;
}
.color-exchanged {
	color: #FF8888;
}
.color-favorite {
	color: #F2DC54;
}
.color-check {
	color: #BA277F;
}
.bold {
	font-weight: bold;
}

/* ******** TEXT ******** */
.comment-lines-5{
    font-size: 12px;
    line-height:14px;
    max-height: 70px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
}
/* ******** NOTICE-LIST ******** */
.notice-line{
	border: solid 1px #121212;
	background-color: white;
	margin: 10px 0;
}
.notice-line .time{
	display:block;
	background-color: #121212;
	color: white;
	padding: 5px 10px;
}
.notice-line .text{
	padding: 5px 10px;
}


/* ******** HISTORY ******** */
.his-line{
	padding:8px 16px;
	background-color: #F7F4EF;
	color: #666666;
	font-size: 14px;
	line-height: 22px;
	position:relative;
}
.his-line .user-name{
	font-size: 18px;
	font-weight: bold;
}
.his-line + .his-line{
	border-top:solid 1px #73C6F8;
}
.his-line:last-child{
	border-bottom:solid 1px #73C6F8;
}
.his-line .buttons{
	position:absolute;
	right:10px;
	top:2px;

}

/* ******** POINT-HISTORY ******** */
.point-his-lines{
	padding-top:20px;
}
.point-his-lines table{
	width:100%;
}

.point-his-lines tr{
	border-bottom:solid 0.1vw #121212;
}
.point-his-lines td{
	font-size:11px;
	line-height:24px;
	padding-top:6px;
}

.relation-line{
	padding:8px 16px;
	background-color: #FFFFFF;
	color: #444444;
	font-size: 14px;
	border-bottom:solid 1px black;
}

/* ******** CONFIRM ******** */
.confirm-frame{
	padding:7px 0px;
	margin:10px 8px;
	background-color:white;
	border: solid 1px #D4E7E2;
	border-radius:5px;
}

/* ******** SETTING ******** */
.name-input{
	display:table;
	border-collapse: collapse;
	border-spacing: 0;
	margin:5px auto;
}
.name-input input[type="text"]{
	display:table-cell;
	box-sizing: border-box;
	height:26px;
	padding: 0 10px;
    border: solid 2px #2FB1FC;
    border-right: 0;
    border-top-left-radius: 13px;
    border-bottom-left-radius: 13px;
}
.name-input button{
	display:table-cell;
	background:#2FB1FC;
	border:0px;
	height:26px;
	color:white;
	font-size: 14px;
    border-top-right-radius: 13px;
    border-bottom-right-radius: 13px;
}
/* ******** DOCUMENT ******** */
.document-page .table {
	padding: 5px 5px 5px;
}
.document-page .table td {
	padding:5px 3px;
	border-top:solid 1px black;
	border-bottom:solid 1px black;
	font-size: 12px;
	line-height: 14px;
	color:black;
}
.document-page .table td:first-child {
	white-space:nowrap;
}
.document-page .row{
	padding:5px 10px;
}
.document-page .row h3{
	font-size:14px;
	padding-bottom: 5px;
}
.document-page .row p,
.document-page .row li{
	font-size:12px;
	line-height:16px;
}
.document-page .row li{
	padding:3px 0px;
}
.document-page .row > p,
.document-page .row > ol{
	padding-left: 10px;
}

/* ******** TOS ******** */
.document-page h3,
.doc-agreement h3{
	display:inline-block;
	font-size:14px;
	font-weight:bold;
}

/* ******** AGREEMENT ******** */
.doc-check-frame{
	margin:10px;
	background-color: white;
	color: black;
	border: solid 2px #FFE53D;
	overflow-y:scroll;
	height:300px;
}


/* ******** LINK ******** */
.link-bar{
	margin:0;
	color:#303030;
	background-color: #FFFFFF;
	border-bottom:solid 1px #E1E1E1;
}
.link-bar a{
	display:block;
	padding: 18px 20px;
	font-size: 14px;
	line-height: 24px;
	border-radius:3px;
	font-weight:bold;
	color:#303030;
}
.link-bar a::after {
    content: '\f105';
    font-family: FontAwesome;
    width: 16px;
    height: 24px;
    display: block;
    float:right;
    font-size:20px;
    font-weight:bold;
    color:#4658BA;
}
/* ******** FAQ ******** */
.list-item {
	margin:0;
	color:#303030;
	background-color: #FFFFFF;
	border-bottom:solid 1px #E1E1E1;
}
.list-item .title{
	padding: 18px 20px;
	font-size: 14px;
	line-height: 24px;
	border-radius:3px;
	font-weight:bold;
}
.list-item .content{
	padding: 15px 20px;
	font-size: 12px;
	line-height: 22px;
	color:#303030;
	display: none;
	background-color: #FAF8F9;
	border-top:solid 1px #E1E1E1;
}
.list-item:not(.open) .title::after {
    content: '\f107';
    font-family: FontAwesome;
    width: 16px;
    height: 24px;
    display: block;
    float:right;
    font-size:20px;
    font-weight:bold;
    color:#4658BA;
}
.list-item.open .title::after {
	content: "\f106";
    font-family: FontAwesome;
    width: 16px;
    height: 24px;
    display: block;
    float:right;
    font-size:20px;
    font-weight:bold;
    color:#4658BA;
}

/* ******** INQUERY ******** */
.inquiry-form{
	padding: 10px 8px;
}
.inquiry-form input[type="text"],
.inquiry-form textarea{
	padding: 8px;
	width: 100%;
	box-sizing:border-box;
	border:solid 2px #4658BA;
	border-radius:5px;
}


/* ******** HOW TO ******** */
.howto{
}

.howto-top-space{
	height:15px;
}


.howto-common{
	height:15ex;
	position:relative;
}

.howto-1{
	background-image:url(../images/howto/howto_bg_green.png);
	background-repeat:no-repeat;
}

.howto-2{
	background-image:url(../images/howto/howto_bg_blue.png);
	background-repeat:no-repeat;
}

.howto-3{
	background-image:url(../images/howto/howto_bg_pink.png);
	background-repeat:no-repeat;
}

.howto-caption{
	background-repeat:no-repeat;
	background-size:contain;
	text-align:left;
	color: white;
	font-size:17px;
	padding:6px 20px 10px 8px;
	width:60%;
	position:absolute;
	top:-15px;
}

.howto-1 .howto-caption{
	background-image:url(../images/howto/howto_title_green.png);
}

.howto-2 .howto-caption{
	background-image:url(../images/howto/howto_title_blue.png);
}

.howto-3 .howto-caption{
	background-image:url(../images/howto/howto_title_pink.png);
}

.howto-1 .howto-frame{
	background-image:url(../images/howto/howto_illust_talk.png);
}

.howto-2 .howto-frame{
	background-image:url(../images/howto/howto_illust_coin.png);
}

.howto-3 .howto-frame{
	background-image:url(../images/howto/howto_illust_exchange.png);
}

.howto-frame{

	background-repeat:no-repeat;
	background-size:contain;
	background-position:center;
	height:75%;
	text-align:center;
	display:table;
	width:100%
}

.howto-space{
	height:10%;
}

.howto-inner{
	text-shadow:1px 1px 0 #FFFFFF, -1px 1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px -1px 0 #FFFFFF;
	font-size:13pt;
	width:100%;
	line-height:20px;
	text-align:center;
	display:table-cell;
	vertical-align:middle;
}


.howto-complement{
	font-size:10px;
}

/* ******** NEWS TEXT ******** */
.news-title{
	color:#FF0000;
	font-size:15px;
	font-weight:bold
}

.news-bold{
	font-size:13px;
	font-weight:bold;
}

.news-text{
	font-size:12px;
}


/* ********* TAB *********** */
.tab-menu{
	width:100%;
	background:#F3F3F3;
	position:relative;
}
.tab-menu-inner{
	margin:0px auto;
	display:table;
}
.tab-size2 .tab-btn{
	width:80px;
	height:80px;
}
.tab-size3 .tab-btn{
	width:80px;
	height:80px;
}
.tab-size4 .tab-btn{
	width:80px;
	height:80px;
}
.tab-btn{
	text-align: center;
	vertical-align: middle;
	display:table-cell;
	background:none;
	background-size: auto 62px;
	background-position:center;
	background-repeat:no-repeat;
	position:relative;
	color:#2E3192;
	font-weight:bold;
}
.tab-btn.active{
	color:#F95774;
}
.tab-btn .num-badge,
.tab-btn .exclamation-badge{
	position:absolute;
	right:5px;
	top:5px;
}
.tab-btn img{
	height: 160px;
}

.tab-float-menu{
	position:relative;
	height: 160px;
}

.tab-float-menu > .tab-menu{
	position:fixed;
	top:0px;
	width:100%;
	left:0;
	z-index:100;
	height: 160px;
}

.tab-btn.tab-friend{
	background-image:url(/images/parts/btn_icon_friend_off.png);
}
.tab-btn.tab-friend.active{
	background-image:url(/images/parts/btn_icon_friend_on.png);
}
.tab-btn.tab-chat{
	background-image:url(/images/parts/btn_icon_chat_off.png);
}
.tab-btn.tab-chat.active{
	background-image:url(/images/parts/btn_icon_chat_on.png);
}
.tab-btn.tab-log{
	background-image:url(/images/parts/btn_icon_ato_off.png);
}
.tab-btn.tab-log.active{
	background-image:url(/images/parts/btn_icon_ato_on.png);
}
.tab-btn.tab-like{
	background-image:url(/images/parts/btn_icon_iine_off.png);
}
.tab-btn.tab-like.active{
	background-image:url(/images/parts/btn_icon_iine_on.png);
}

.tab-btn.tab-list{
	background-image:url(/images/parts/btn_list_off.png);
}
.tab-btn.tab-list.active{
	background-image:url(/images/parts/btn_list_on.png);
}

.tab-btn.tab-img{
	background-image:url(/images/parts/btn_block_off.png);
}
.tab-btn.tab-img.active{
	background-image:url(/images/parts/btn_block_on.png);
}

/* ********* ユーザーのList表示 *********** */
.list-frame {
	background-color:#FFFFFF;
	border-bottom:solid 2px #DFDFDF;
	padding:0px;
	margin:0 0 30px;
    overflow: hidden;
}
.list-frame .user-frame {
    overflow: hidden;
	padding:12px 20px;
	display:table;
	width:100%;
}
.list-frame .user-frame:not(:last-child) {
	border-bottom:solid 1px #D4E7E2;
}

.list-empty-msg {
	font-weight: bold;
	text-align:center;
	padding:8px;
}


.user-frame .obj-icon{
	display:table-cell;
	vertical-align: top;
    width: 76px;
}
.user-frame .obj-icon .trim-square{
	width:76px;
	height:76px;
}

.user-frame .obj-body{
	display:table-cell;
	vertical-align: top;
	padding-left:12px;
	font-size:10pt;
}
.user-frame .obj-body ul{
	position:relative;
}
.user-frame .obj-body li{
	line-height:24px;
}
.user-frame .obj-body li.list-time{
	position:absolute;
	top:0;
	right:0;
	color:#F94E7A;
    letter-spacing: -1px;
}


.obj-body .display-name{
	font-size:12px;
	font-weight:bold;
}

.scroll-box{
	overflow:scroll;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}

/* ********* ユーザーのList表示2 *********** */
.list-table{
	background-color:#FFFFFF;
	border-bottom:solid 2px #DFDFDF;
	padding:0px;
	margin:0 0 30px;
    overflow: hidden;
}
.list-table.blacklist{
	padding:5px 8px;
}
.list-table.blacklist table{
	width:100%;
}
.list-table.blacklist tr:not(:first-child){
	border-top:solid 1px #DFDFDF;
}

/* ********* 利用規約 *********** */
.doc-caption{
	padding-top:8px;
	line-height:30px;
	font-size: 12px;
	font-weight:bold;
}
/* ********* 特商法 *********** */
.doc-table{
	margin:0 0 20px 0;
	padding: 8px 10px 8px 0;
	background-color:#FFFFFF;
	border-radius:5px;
}
.doc-table table{
	width:100%;
	border-collapse: separate;
	overflow: hidden;
}
.doc-table tr:not(:first-child) td{
	border-bottom:solid 1px #DFDFDF;
}
.doc-table td{
    font-size: 12px;
    padding:8px 0px 8px 10px;
    line-height:20px;
	text-align:left;
	vertical-align:top;
}
.doc-table td:first-child{
	width:30%;
	font-weight:bold;
}

/* ********* 設定・検索用フォーム *********** */
.setting-frame{
	padding:5px 10px 5px 10px;
	margin:8px 0;
	position: relative;
	width:100%;
}
.setting-frame:after {
    content:" ";
    display:block;
    clear:both;
}
.setting-frame .checkbox{
	float:left;
	line-height:32px;
	padding-right:28px;
}
.setting-frame .label{
	float:left;
	line-height:32px;
}
.setting-frame .input-form{
	min-height:32px;
	vertical-align: top;
}

/* ******** NUM-BADGE ******** */
.num-badge{
	display: block;
	z-index: 9999;
	width: 20px;
	height: 20px;
	background: #F94E7A;
	border-radius: 50%;
	box-sizing: border-box;
    padding-top: 1px;
    line-height: 19px;
	font-family: sans-serif;
	font-size: 11px;
	color: white;
	text-align:center;
	color: #FFFFFF;
}


/* ********* btn-line *********** */
.btn-line2{
	padding: 7px 0;
	display:table;
	border-collapse: separate;
    border-spacing: 10px 0;
    width: 344px;
	margin:0 auto;
}

.btn-line2 a{
	width: 50%;
	padding: 0;
	display:table-cell;
}

.profile-user-info{
	text-align:left;
	padding:5px 0;
	font-size:14px;
	color: #B0B0B0;
}
.profile-user-info span{
	color: #303030;
	font-weight:bold;
}

.profile-list {
    width: 100%;
    line-height:36px;
}
.profile-item {
	display:inline-block;
	font-size:14px;
	padding: 0px 10px;
    height: 26px;
    line-height:26px;
	background: #FFFFFF;
	border-radius: 13px;
	margin-right:5px;
	box-sizing: border-box;
	border:solid 1px #4658BA;
	color:#4658BA;
}
.profile-item.profile-1 {
	border:none;
	color:#FFFFFF;
	background-color:#66737B;
	border:solid 1px #66737B;
}
.profile-item.profile-2 {
	border:none;
	color:#FFFFFF;
	background-color:#97A5B0;
	border:solid 1px #97A5B0;
}