@charset 'utf-8';

/*------------------------------------------------------------------------------
 review
 ------------------------------------------------------------------------------*/
.review {
	margin: 0 8px;
}
.review._PC {
	margin: 0;
}

/*------------------------------------------------------------------------------
 box
 ------------------------------------------------------------------------------*/
.review .box {
	margin: 12px 0;
	padding: 12px;
	background: #FFF;
	border: 2px solid #EEE;
	border-radius: 5px;
}
.review._PC .box {
	display: flex;
	gap: 8px;
	margin: 15px 0;
	padding: 8px;
	border: 1px solid #DDD;
	border-radius: 3px;
}
.review._PC .boxL {
	flex: 1;
	min-width: 0;
	padding: 10px;
	background: #F1F1F1;
	border-radius: 3px;
}
.review._PC .boxR {
	flex: 1;
	min-width: 0;
}

/*------------------------------------------------------------------------------
 member
 ------------------------------------------------------------------------------*/
.review .member {
	display: flex;
	align-items: center;
	padding: 0 5px 10px;
	border-bottom: 2px dotted #CCC;
}
.review .member .photo {
	flex: 0 0 40px;
}
.review .member .photo span {
	overflow: hidden;
	position: relative;
	display: block;
	width: 100%;
	height: 0;
	padding-top: 100%;
	border-radius: 100%;
	background: #FFF;
}
.review .member .photo img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.review .member .name {
	margin-left: 12px;
	font-weight: bold;
}
.review .member .age {
	margin: 0 12px 0 6px;
	white-space: nowrap;
}
.review .member .date {
	margin-left: auto;
	font-size: 92%;
}

/*------------------------------------------------------------------------------
 grade
 ------------------------------------------------------------------------------*/
.review .grade {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin: 15px 0;
	width: 100%;
}
.review .grade .nice {
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 10px;
}
.review .grade .nice img {
	display: block;
	width: 40px;
}
.review .grade .nice span {
	font-weight: bold;
	font-size: 18px;
}
.review .grade .nice._bad img {
	width: 30px;
}
.review .grade .nice._bad span {
	font-size: 16px;
	color: #999;
}

/* reviewRating */
.reviewRating {
	color: #666;
}
.reviewRating .avg {
	display: none !important;
}

/*------------------------------------------------------------------------------
 infos
 ------------------------------------------------------------------------------*/
.review .infos {
	margin: 10px 0;
}

/* comment */
.review .comment {
	line-height: 1.4;
	overflow-wrap: break-word;
	word-break: break-all;
}

/* foot */
.review .infos .foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 10px 0 0;
}
.review .infos .foot .when {
	color: #666;
}
.review .infos .foot .good {
	color: deeppink;
}

/*
 goodBox
------------------------------------------------------------------------------*/
.goodBox {
	display: flex;
	align-items: center;
}

/* goodBtn */
.goodBtn {
	display: grid;
	place-items: center;
	width: 60px;
	height: 22px;
	font-size: 92%;
	color: #FFF;
	background: #00A5CC;
	border: 0;
	border-radius: 3px;
	cursor: pointer;
}
.goodBtn:hover,
.goodBtn:active {
	color: yellow;
}
.goodBtn:disabled {
	background: #AAA;
	opacity: 0.8;
}

/* goodWrap */
.goodWrap {
	position: relative;
	display: inline-block;
	margin-left: 5px;
	border: 1px solid #5588ED;
	border-radius: 3px;
}
.goodWrap:before {
	position: absolute;
	top: 50%;
	left: -4px;
	content: '';
	margin-top: -2px;
	border: 2px solid transparent;
	border-right: 2px solid #FFF;
	z-index: 2;
}
.goodWrap:after {
	position: absolute;
	top: 50%;
	left: -8px;
	content: '';
	margin-top: -4px;
	border: 4px solid transparent;
	border-right: 4px solid #5588ED;
	z-index: 1;
}

/* goodHolder */
.goodHolder {
	overflow: hidden;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 20px;
	padding: 0 3px;
	font-size: 92%;
	background: #FFF;
	border-radius: 3px;
}
.goodHolder .cnt {
	white-space: nowrap;
	z-index: 1;
	opacity: 1;
}
.goodHolder .new {
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	white-space: nowrap;
	z-index: 0;
	opacity: 0;
	color: deeppink;
}
.goodHolder .cnt.on {
	animation: scaleOut 0.8s forwards;
}
.goodHolder .new.on {
	animation: slideUp 0.5s 0.5s forwards;
}
@keyframes scaleOut {
	  0% { transform: scale(1);   opacity: 1; }
	100% { transform: scale(0.5); opacity: 0; }
}
@keyframes slideUp {
	  0% { transform: translateY(20px); opacity: 0; }
	100% { transform: translateY(0);    opacity: 1; }
}

/*------------------------------------------------------------------------------
 girlItem
 ------------------------------------------------------------------------------*/
.at_girl .girlItem {
	display: none;
}
.girlItem .body {
	margin: 15px 0 0;
	padding: 15px 5px 0;
	background: none;
	border-top: 2px dotted #CCC;
	border-bottom: 0;
}
._PC .girlItem .body {
	margin: 0;
	padding: 10px;
	background: #FFEEF4;
	border-top: 0;
	border-radius: 3px;
}
.at_shop .girlItem .photoWrap {
	padding-top: 110%;
}
.girlItem .datas {
	gap: 6px;
}
.girlItem .datas:before {
	display: none;
}

._PC .girlItem:hover {
	color: inherit;
	opacity: 0.8;
}
._PC .girlItem .sn { color: darkblue !important; }
._PC .girlItem .gn { color: crimson !important; }
._PC .girlItem .pr { color: #DF0F88 !important; }

/*------------------------------------------------------------------------------
 reply
 ------------------------------------------------------------------------------*/
.review .reply {
	margin: 15px 0 0;
	border-top: 2px dotted #CCC;
}
.review._PC .reply {
	margin: 8px 0 0;
	border-top: 0;
}
.review .reply .inner {
	margin: 12px 0 0;
	padding: 10px;
	background: #FFC;
}
.review._PC .reply .inner {
	margin: 0;
}
.review .reply strong {
	display: block;
	font-weight: bold;
}
.review .reply p {
	line-height: 1.4;
	margin: 10px 5px 0;
	overflow-wrap: break-word;
	word-break: break-all;
}
