@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|Lato:400,700&display=swap&subset=japanese');

/*====================================================
	Base Layout
====================================================*/
html {
	height: 100%;
}

body {
	font-family: "Lato", "Noto Sans JP", sans-serif;
	height: 100%;
}

button, input, select, textarea {
	font-family : inherit;
	font-size: inherit;
}

.cp-container {
	background: #fafafa;
	color: #303030;
	font-size: 1.3rem;
	line-height: 1;
	min-height: 100%;
}

.cp-container--white {
	background: #fff;
}

.cp-container--black {
	background: #000;
	box-sizing: border-box;
	height: 100%;
	padding-left: constant(safe-area-inset-left);
	padding-left: env(safe-area-inset-left);
	padding-right: constant(safe-area-inset-right);
	padding-right: env(safe-area-inset-right);
}

.cp-container--black::after {
	content: "";
	background: #000;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: -9999;
}

@media (min-width: 600px) {
	.cp-container, 
	.cp-global-nav, 
	.cp-header--fixed {
		margin: 0 auto;
		width: 600px !important;
	}

	.cp-container {
		box-shadow: 0 0 16px 0 rgba(63, 63, 80, 0);
	}

	.cp-container::after {
		content: "";
		box-shadow: 0 0 16px 0 rgba(63, 63, 80, 0.2);
		margin: 0 auto;
		position: fixed;
		top: 0;
		height: 100%;
		width: 600px !important;
		z-index: -9999;
	}
}

/* ---------------------------------------------------
   固定表示用余白
----------------------------------------------------*/
/* グローバルメニュー */
.cp-underNav {
	padding-top: 51px;
}

/* グローバルメニュー + タイトル */
.cp-underNavTitle {
	padding-top: 103px;
}

.cp-underNavTitle--high {
	padding-top: 121px;
}

/* グローバルメニュー + お知らせバナーあり */
.cp-underNav--banner {
	padding-top: 95px;
}

.cp-underNavTitle--banner {
	padding-top: 147px;
}

/* タイトル */
.cp-underTitle {
	padding-top: 52px;
}

.cp-underTitle--high {
	padding-top: 70px;
}

/* 下部固定ボタン */
.cp-bottom--fixed {
	padding-bottom: 78px;
	padding-bottom: calc(constant(safe-area-inset-bottom) + 78px);
	padding-bottom: calc(env(safe-area-inset-bottom) + 78px);
}

/* ---------------------------------------------------
   iPhoneX Safe Area
----------------------------------------------------*/
/* 下のみ指定 */
.cp-safeArea--bottom {
	padding-bottom: constant(safe-area-inset-bottom);
	padding-bottom: env(safe-area-inset-bottom);
}

/*====================================================
	Common Parts
====================================================*/
/* basic block */
.cp-wrap--basic {
	padding: 9px 15px 0;
}

.cp-wrap--basic p {
	line-height: 1.6;
	margin-bottom: 16px;
}

/* font */
.cp-textColor--nomal {
	color: #443f4f;
}

.cp-textColor--primary {
	color: #BB5345;
}

.cp-textColor--sub {
	color: rgba(48, 48, 48, 0.75);
}

.cp-textColor--weak {
	color: #d0cfd3;
}

.cp-textColor--alert {
	color: #ff3d3e;
}

.cp-text--bold {
	font-weight: bold;
}

.cp-textSize--small {
	font-size: 0.85em;
}

.cp-text--nowrap {
	white-space: nowrap;
}

/* 非表示指定 */
.cp-hide {
	display: none;
}

/* バッジ */
.cp-badge {
	background: #ff3d3e;
	border-radius: 16px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1.2rem;
	height: 16px;
	min-width: 16px;
	padding: 0 4px;
	position: absolute;
}

.cp-badge--nav {
	top: 4px;
	left: 60%;
}

.cp-badge__img {
	height: 16px;
	position: absolute;
}

.cp-badge__img img {
	height: 16px;
	width: 16px;
}

.cp-tabList__group--keep li {
	height: 28px;
}

.cp-badge--tab {
	background: #ff3d3e;
	border-radius: 16px;
	box-sizing: border-box;
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	font-weight: normal;
	height: 16px;
	min-width: 16px;
	padding: 0 4px;
	position: relative;
	top: -5px;
	left: 15px;
	margin-left: -10px;
	vertical-align: top;
	z-index: 1;
}

/* 最終ログインマーク */
.cp-mark--online, 
.cp-mark--loginTime, 
.cp-mark--offline {
	padding: 0 0 0 12px;
	position: relative;
}

.cp-mark--online::before, 
.cp-mark--loginTime::before, 
.cp-mark--offline::before {
	border-radius: 50%;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -4px;
	height: 8px;
	width: 8px;
}

.cp-mark--online::before {
	background: #80C166;
}

.cp-mark--loginTime::before {
	background: #F2C039;
}

.cp-mark--offline::before {
	background: rgba(48, 48, 48, .2);
}

/* arrow リンク */
.cp-link--simple a {
	color: #443f4f;
	display: block;
	font-size: 1.1rem;
	padding: 0 12px;
	position: relative;
	text-align: right;
}

.cp-link--simple a::before {
	content: "";
	position: absolute;
	top: 50%;
	margin-top: -5px;
	right: -4px;
	border: 5px solid transparent;
	border-left: 6px solid #443f4f;
}

.cp-link--simple a::after {
	content: "";
	position: absolute;
	top: 50%;
	margin-top: -5px;
	right: -3px;
	border: 5px solid transparent;
	border-left: 6px solid #fff;
}

.cp-link--simple a.hover {
	color: #d0cfd3;
}

.cp-link--simple a.hover::before {
	border-left: 6px solid #d0cfd3;
}

/* arrow リンク brown */
.cp-arrowLink--brown a {
	display: flex;
	align-items: center;
	color: #bb5345;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: right;
	transition: opacity .2s;
}

.cp-arrowLink--brown a::after {
	content: '';
	background-size: contain;
	background-repeat: no-repeat;
	width: 10px;
	height: 12px;
	background-image: url(../img/arrow_right_brown.svg);
}

.cp-arrowLink--brown span {
	margin:  0;
}

.cp-arrowLink--brown a.hover {
	opacity: 0.8;
}

/* aocca マーク（リスト） */
.cp-list__markballoon {
	position: absolute;
	top: -13px;
	left: -8px;
}

.cp-list__markballoon p {
	border-radius: 50%;
	box-sizing: border-box;
 	display: flex;
 	align-items: center;
 	justify-content: center;
	color: #fff;
	font-size: 1.0rem;
	line-height: 1.0rem;
	padding-top: 1px;
	font-weight: bold;
	height: 22px;
	width: 35px;
 	position: relative;
}

.cp-list__markballoon p::before {
	content: "";
	position: absolute;
	bottom: -5px;
	right: 4px;
	border: 4px solid transparent;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.cp-markballoon--now p { /* Color　いま */
	background: #f91767;
}

.cp-markballoon--today p { /* Color　今日 */
	background: #f91767;
}

.cp-markballoon--tomorrow p { /* Color　明日 */
	background: #BB5345;
}

.cp-markballoon--weekend p { /* Color 週末 */
	background: #cf92fe;
}

.cp-markballoon--now p::before {  /* Color　いま */
	border-left: 8px solid #f91767;
}

.cp-markballoon--today p::before {  /* Color　今日 */
	border-left: 8px solid #f91767;
}

.cp-markballoon--tomorrow p::before {  /* Color　明日 */
	border-left: 8px solid #BB5345;
}

.cp-markballoon--weekend p::before {  /* Color 週末 */
	border-left: 8px solid #cf92fe;
}

 /* New マーク（リスト） */
.cp-list__mark--new {
	background: #CF3F50;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 1.1rem;
	font-weight: bold;
	height: 18px;
	width: 18px;
	position: absolute;
	top: 46px;
	left: 42px;
}

 /* 写真閲覧数 */
.cp-photo__viewNo {
	background: #f3f3f4;
	border-radius: 5px;
	color: #727683;
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 15px;
	width: 60px;
}

.cp-photo__viewNo--icon {
	background: #f3f3f4;
	border-radius: 5px;
	box-sizing: border-box;
	color: #727683;
	font-size: 0.9rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
	height: 15px;
	width: auto;
	white-space: nowrap;
}

.cp-photo__viewNo--icon::before {
	content: "";
	background: url(../img/icon_camera.svg) no-repeat top 50% left;
	background-size: 1.1em;
	opacity: 0.2;
	height: 15px;
	width: 14px;
}

 /* webのみ公開 */
.cp-mark--onlyWeb {
	background: rgba(160, 128, 208, 0.9);
	border-radius: 5px;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	height: 20px;
	width: 96px;
}

.cp-mark--small {
	border-radius: 3px;
	padding: 1px 0;
	height: 11px;
	width: 40px;
}

.cp-mark--small p {
	transform: scale(0.8);
}

/* ヒマな時間帯 */
.cp-list__item__freeTime {
	display: flex;
	align-items: center;
	height: 26px;
}

.cp-freeTime__mark {
	border-radius: 50%;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	margin: 0 10px 0 0;
	height: 21px;
	width: 21px;
}

.cp-freeTime__mark--week {
	background: #d0cfd3;
}

.cp-freeTime__mark--sat {
	background: #c7d2e0;
}

.cp-freeTime__mark--sun {
	background: #e0c7c7;
}

 /* 絞り込みボタン */
.cp-search__filter {
	text-align: left;
}

.cp-textSize--filter {
	font-size: 1rem;
	-webkit-transform: scale(0.8);
	transform: scale(0.8);
	-webkit-transform-origin: 0 0;
	transform-origin: 0 0;
	margin-bottom: 1px;
	white-space: nowrap;
}

/* フローティングアクションボタン */
.cp-fab__box {
	position: fixed;
	bottom: 24px;
	right: 24px;
	z-index: 1000;
}

@media (min-width: 600px) {
	.cp-fab__box {
		right: calc(100%/2 - 276px);
	}
}

.cp-fab {
	border-radius: 50%;
	color: #fff;
	display: block;
	height: 56px;
	width: 56px;
}

.cp-fab p {
	font-size: 1rem;
	-webkit-transform: scale(0.9);
	transform: scale(0.9);
	text-align: center;
}

/*====================================================
	Button
====================================================*/
/* ---------------------------------------------------
   ボタン構造
----------------------------------------------------*/
/* メインのボタン*/
.cp-btn__main {
	height: 48px;
	width: 100%;
	border-radius: 24px;
	padding: 0 0.5em;
	font-size: 1.5rem;
	text-align: center;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	font-weight: bold;
}
/* 灰色枠（サブボタン）*/
.cp-btn__sub--outer {
	display: flex;
	flex-wrap: wrap;
}
.cp-btn__sub {
	height: 30px;
	min-width: 70px;
	border-radius: 15px;
	padding: 0 0.8em;
	font-size: 1.1rem;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}
.cp-btn__sub--textLine {
	line-height: 1.5rem;
}

/* 複数行ボタン */
.cp-btn__multiline {
	min-height: 48px;
	width: 100%;
	border-radius: 40px;
	padding: 13px 16px;
	font-size: 1.5rem;
	line-height: 1.4;
	text-align: center;
	color: #fff;
	display: block;
	box-sizing: border-box;
	word-break: break-all;
}

/* 灰色枠（チェック、ラジオボタン）*/
.cp-btn__form + label {
	height: 50px;
	border-radius: 25px;
	font-size: 1.3rem;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}
/* サークル（チェック、ラジオ）*/
.cp-circle + label {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	box-sizing: border-box;
	font-size: 1.1rem;
	line-height: 1.3;
}
.cp-btn__circleText--center {
	position: absolute;
	display: block;
	left: 0;
	right: 0;
	top: 50%;
	margin: 0 auto;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 80%;
	text-align: center;
}
/* お気に入りボタン */
.cp-btn__sub--favorite {
	border: solid 1px rgba(48, 48, 48, 0.2);
	color: #303030;
	white-space: nowrap;
	width: 96px;
	transition: background .2s;
}

.cp-btn__sub--favorite.hover {
	background: rgba(48, 48, 48, 0.1);
}

.cp-btn__sub--favoriteActive {
	background: rgba(48, 48, 48, 0.2);
	color: rgba(48, 48, 48, 0.75);
	white-space: nowrap;
	width: 96px;
	transition: background .2s;
}

.cp-btn__sub--favoriteActive.hover {
	background: rgba(48, 48, 48, 0.4);
}

/* ？ボタン（ヘルプ）*/
.cp-btn__help {
	display: block;
	text-align: center;
	width: 40px;
	height: 40px;
	line-height: 40px;
	box-sizing: border-box;
}
.cp-btn__helpMark {
	display: inline-block;
	height: 20px;
	width: 20px;
	border-radius: 50%;
	color: #fff;
	background: rgba(48, 48, 48, 0.4);
	font-size: 1.1rem;
	line-height: 20px;
	box-sizing: border-box;
}
.cp-btn__helpMark.hover {
	background: rgba(48, 48, 48, 0.6);
}
/* ？ボタン（テキストあり）*/
.cp-link__helpText {
	color: #443f4f;
	font-size: 1.0rem;
	padding: 0 0 0 26px;
	position: relative;
}

.cp-link__helpText::before {
	content: "？";
	color: #fff;
	background: #d0cfd3;
	border-radius: 50%;
	font-size: 1.1rem;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	margin-top: -10px;
	height: 20px;
	width: 20px;
}

.cp-link__helpText.hover {
	opacity: 0.8;
}

/* ？ボタン（テキスト、矢印あり）*/
.cp-link__helpText--arrow {
	color: #443f4f;
	font-size: 1.0rem;
	position: relative;
	margin-left: 25px;
	margin-top: 10px;
}

.cp-link__helpText--arrow::before {
	content: "？";
	color: #fff;
	background: #d0cfd3;
	border-radius: 50%;
	font-size: 1.1rem;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	margin-top: -10px;
	margin-left: -25px;
	height: 20px;
	width: 20px;
}

.cp-link__helpText--arrow.hover,
.cp-link__helpText--arrow.hover::before,
.cp-link__helpText--arrow.hover::after {
	opacity: 0.8;
}

.cp-link__helpText--arrow::after {
	width: 1em;
	height: 1em;
	margin: 0 0 0 0.5em;
	background-image: url(../img/arrow_right.svg);
}

/* …ボタン（サブメニュー）*/
.cp-btn__subMenu {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 20px;
	height: 4px;
	padding: 22px 14px;
}
.cp-btn__subMenuText {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #303030;
}
.cp-btn__subMenu.hover .cp-btn__subMenuText {	 
	opacity: 0.6;
}

/* 閉じるボタン */
.cp-btn__close__box {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	width: 48px;
}

.cp-btn__close {
	position: relative;
	top: -1px;
	left: -1px;
	width: 1px;
	height: 15px;
	background: #303030;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.cp-btn__close::before {
	content: "";
	position: absolute;
	left: -7px;
	top: 7px;
	width: 15px;
	height: 1px;
	background: #4c4166;
}

.cp-btn__close__box.hover {
	opacity: 0.5;
}

/* 閉じるボタン 白 */
.cp-btn__close--white {
	background: #fff;
}

.cp-btn__close--white::before {
	background: #fff;
}

/* 閉じるボタン ブラウン */
.cp-btn__close--brown{
	background: #924A46;
}

.cp-btn__close--brown::before{
	background: #924A46;
}

/* テキストリンク　*/
.cp-btn__textLink {
	color: #BB5345;
	text-decoration: underline;
}

.cp-btn__textLink.hover {
	color: #9F4C41;
	text-decoration: none;
}

/* 閉じるボタン ゴールド */
.cp-btn__close--gold{
	background: #957D34;
}

.cp-btn__close--gold::before{
	background: #957D34;
}

/* ---------------------------------------------------
   ボタン配置
----------------------------------------------------*/
/* ボタンの横並び配置*/
.cp-btn__inline {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	width: 100%;
}

.cp-btn__inlineBox {
	width: 100%;
}

.cp-btn__inlineBox + .cp-btn__inlineBox {
	padding-left: 14px;
}

.cp-btn__inlineBox button {
	display: block;
}

/* ボタンのグリッド配置*/
.cp-btn--circle__inline {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin: 0 auto;
	width: calc(100% - 20px);
}

@media (max-width: 340px) {
	.cp-btn--circle__inline {
		width: 100%;
	}
	
	.cp-circle__3column,
	.cp-circle__4column, 
	.cp-circle__5column {
		-webkit-transform: scale(0.95);
		transform: scale(0.95);
	}
	
	.cp-circle + label {
		font-size: 1.2rem;
	}
}

.cp-circle__5columnBox {
	width: 20%;
}

.cp-circle__4columnBox {
	width: 25%;
}

.cp-circle__3columnBox {
	width: calc(100%/3);
}

@media (min-width: 568px) {
	.cp-circle__5columnBox {
		width: 12.5%;
	}
	
	.cp-circle__4columnBox {
		width: calc(100%/6);
	}

	.cp-circle__3columnBox {
		width: 20%;
	}
}

.cp-circle__5column {
	margin-right: calc(100%*1/2 - 55px*1/2);
	margin-left: calc(100%*1/2 - 55px*1/2);
	margin-bottom: 13px;
	width: 55px;
	height: 55px;
}

.cp-circle__4column {
	margin-right: calc(100%*1/2 - 71px*1/2);
	margin-left: calc(100%*1/2 - 71px*1/2);
	margin-bottom: 15px;
	width: 71px;
	height: 71px;
}

.cp-circle__3column {
	margin-right: calc(100%*1/2 - 45px);
	margin-left: calc(100%*1/2 - 45px);
	width: 90px;
	height: 90px;
}

/* 下部固定ボタン */
.cp-btn__bottom--fixed {
	background: linear-gradient(to top, rgba(255, 255, 255, 1.0) 30%, rgba(255, 255, 255, 0.7) 80%, rgba(255, 255, 255, 0));
	box-sizing: border-box;
	display: flex;
	align-items: flex-end;
	padding: 0 15px 15px;
	padding: 0 15px calc(constant(safe-area-inset-bottom) + 15px);
	padding: 0 15px calc(env(safe-area-inset-bottom) + 15px);
	position: fixed;
	bottom: 0;
	left: 0;
	height: 78px;
	width: 100%;
	z-index: 999;
}

@media (min-width: 600px) {
	.cp-btn__bottom--fixed {
		margin: 0 calc(100%*1/2 - 300px);
		width: 600px;
	}
}

/* 下部固定キャンセルボタン */
.cp-btn__block {
	margin: 0 auto;
	width: 256px;
}

/* ---------------------------------------------------
   ボタンのスキン
----------------------------------------------------*/
/* 通常ボタン（ブラウン） */
.cp-btn--basic {
	background: #B55C50;
}
.cp-btn--basic.hover {
	background: #924A46;
}
/* 紫のグラデ（強調）*/
.cp-btn--em {
	background: linear-gradient(90deg, #c763c3, #f86397);
}
.cp-btn--em.hover {
	background: linear-gradient(90deg, #9852b3, #c95387);
}
/* 灰色単色（キャンセル）*/
.cp-btn--cancel {
	background: #a19fa7;
}
.cp-btn--cancel.hover {
	background: #898790;
}
/* オレンジのグラデ（特別）*/
.cp-btn--special {
	background: linear-gradient(90deg, #ff8272, #ffaa72);
}
.cp-btn--special.hover {
	background: linear-gradient(90deg, #e76a5a, #e7925a);
}
/* ありがとうボタン（あしあと用） */
.cp-btn--extra {
	background: #F26D6D;
}
.cp-btn--extra.hover {
	background: #E45E5E;
}
/* みてね！ボタン */
.cp-btn--look {
  background: #F1BA59;
}
.cp-btn--look.hover {
	background: #E3A24D;
}

/* 押下不可ボタン */
.cp-btn--disabled {
	opacity: 0.4;
}

/* 灰色枠あり（サブ+円形_通常）*/
.cp-btn--grayBorder,
.cp-btn--grayBorder + label {
	border: solid 1px rgba(48, 48, 48, 0.2);
	color: #303030;
}
.cp-btn--grayBorder.hover,
.cp-btn--grayBorder + label.hover {
	background: rgba(48, 48, 48, 0.1);
}
/* ピンク枠あり（サブ+円形_アクティブ）*/
.cp-btn--pinkBorder {
	border: solid 1px #ffc9d5;
	color: #BB5345;
}
.cp-btn--grayBorder:checked + label {
	background: #fff3f7;
	border: solid 1px #ffc9d5;
	color: #BB5345;
}
.cp-btn--grayBorder:checked + label.hover {
	background: #fff3f7;
	transition-property: background, color;
	transition-duration: 150ms;
}
.cp-btn--pinkBorder.hover {
	background: rgba(248, 220, 229, 0.3);
}
.cp-btn--grayBorder:checked.hover + label.hover {
	background: rgba(248, 220, 229, 0.6);
}
/* 通常ボタン（ピンクベタ→ブラウン） */
.cp-btn--pink {
	background: #B55C50;
	color: #fff;
}

.cp-btn--pink.hover {
	background: #924A46;
}

/* ピンクベタ（サブ+円形_通常）*/
.cp-btn--pink + label {
	background: #BB5345;
	color: #fff;
}

.cp-btn--pink + label.hover {
	background: #9F4C41;
}
/* ピンクベタ（サブ+円形_非アクティブ）*/
.cp-btn--pink:checked + label {
	background: #ffc3d9;
	color: rgba(255, 255, 255, 0.8);
	transition-property: background, color;
	transition-duration: 150ms;
}

/* サブボタン（アウトラインボタン） */
.cp-btn__outline {
	background: rgba(48, 48, 48, 0);
	border: 1px solid rgba(48, 48, 48, .2);
	color: rgba(48, 48, 48, .75);
}

.cp-btn__outline.hover {
	background: rgba(48, 48, 48, .1);
	border: 1px solid rgba(48, 48, 48, .1);
}

/* ---------------------------------------------------
   ボタン内のアイコン
----------------------------------------------------*/
/* アイコンをテキストの前後に表示*/
.cp-btn__icon--before, 
.cp-btn__icon--after {
	display: flex;
	align-items: center;
}

.cp-btn__icon--before::before, 
.cp-btn__icon--after::after {
	content: '';
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	flex-shrink: 0;
}

/* 各アイコン画像*/
/* つぶやき　横並びボタンのアイコン*/
.cp-btn__tweetIcon--nice::before {
	width: 2.2rem;
	height: 2.2rem;
	margin: 0;
	background-image: url("../img/icon_heart_pink.svg");
}
.cp-btn__tweetIcon--look::before {
	width: 2.2rem;
	height: 2.2rem;
	margin: 0;
	background-image: url("../img/icon_look_green.svg");
}
.cp-btn__tweetIcon--matching::before {
	width: 2.2rem;
	height: 2.2rem;
	margin: 0;
	background-image: url("../img/icon_matching_purple.svg");
}
.cp-btn__tweetIcon--messageNice::before {
	width: 2.2rem;
	height: 2.2rem;
	margin: 0;
	background-image: url("../img/icon_message_nice_pink.svg");
}
.cp-btn__tweetIcon--messageLook::before {
	width: 2.2rem;
	height: 2.2rem;
	margin: 0;
	background-image: url("../img/icon_message_look_green.svg");
}
.cp-btn__tweetIcon--message::before {
	width: 2.2rem;
	height: 2.2rem;
	margin: 0;
	background-image: url("../img/icon_message_vlorange.svg");
}

@media (max-width: 340px) {
	.cp-btn__tweetIcon--nice::before, 
	.cp-btn__tweetIcon--look::before, 
	.cp-btn__tweetIcon--messageNice::before, 
	.cp-btn__tweetIcon--messageLook::before, 
	.cp-btn__tweetIcon--message::before {
		transform: scale(.9);
		transform-origin: center;
	}
}

/* サブボタンのアイコン*/
.cp-btn__subIcon--human::before {
	width: 1.5em;
	height: 1.5em;
	margin: 0 0.3em 0 0;
	background-image: url(../img/btn_icon_circle_human.svg);
}
.cp-btn__subIcon--downAlow::after {
	background: url(../img/icon_drop_down_main.svg) no-repeat;
	margin: 0.1em 0 0 0.6em;
	height: 6px;
	width: 10px;
}
.cp-btn__subIcon--favorite::before {
	width: 1.5em;
	height: 1.5em;
	margin: 0 0.1em 0 0;
	background-image: url(../img/btn_icon_favorite.svg);
}
.cp-btn__subIcon--favoriteActive::before {
	width: 1.5em;
	height: 1.5em;
	margin: 0 0.1em 0 0;
	background-image: url(../img/btn_icon_favorite.svg);
	opacity: .75;
}

.cp-btn__subIcon--alert::before {
	width: 1.1em;
	height: 1.1em;
	margin: 0 0.3em 0 0;
	background-image: url(../img/icon_alert.svg);
}

/* ---------------------------------------------------
   セレクトボタン
----------------------------------------------------*/
.cp-select--grayBorder {
	position: relative;
	z-index: 1;
	height: 30px;
	padding: 0 26px 0 10px;
	border: solid 1px #e7e7e9;
	font-size: 1.1rem;
	color: #443f4f;
	border-radius: 15px;
}
.cp-select__inner {
	position: relative;
	display: inline-block;
}
.cp-select__inner::before {
	content: '';
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	height: 100%;
}

.cp-select__inner::after {
	content: '';
	background: url(../img/icon_drop_down_main.svg) no-repeat;
	position: absolute;
	top: 50%;
	right: 10px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	height: 6px;
	width: 10px;
}

/*====================================================
	Global Menu
====================================================*/

.cp-global-nav {
	position: fixed;
	top: 0px;
	z-index: 2000;
	height: 51px;
	width: 100%;
}

.cp-nav {
	background: #ffffff;
	display: flex;
	height: 100%;
	width: 100%;
}

.cp-nav li {
	border-bottom: solid 1px rgba(63, 63, 80, 0.1);
	height: 100%;
	width: 20%;
	position: relative;
	text-align: center;
}

.cp-nav__item a {
	color: rgba(48, 48, 48, 0.60);
	fill: #303030;
	display: block;
	overflow: hidden;
	height: 100%;
	width: 100%;
	margin-top: 2px;
}

.cp-nav__icon {
	height: 96px;
	width: 36px;
}

.cp-nav--active a {
	color: #B55C50;
	fill: #B55C50;
	display: block;
	height: 100%;
	width: 100%;
}

.cp-nav__item a.hover .cp-nav__icon {
	margin-top: -48px;
	overflow: auto;
}

.cp-nav__item a.hover .cp-nav__label {
	color:#B55C50; 
	opacity: 1;
}

.cp-nav--active a .cp-nav__icon {
	margin-top: -48px;
}

.cp-nav__label--active {
	display: block;
	font-size: 11px;
	font-weight: 600;
	position: absolute;
	width: 100%;
	line-height: 1.4;
	opacity: 1;
	margin-bottom: 4px;
	top: 32px;
}

.cp-nav__label {
	display: block;
	font-size: 11px;
	font-weight: 600;
	position: absolute;
	line-height: 1.4;
	width: 100%;
	top: 32px;
}
/* for mypage */
.cp-nav--active a .cp-nav__label {
	font-weight: bold;
}

@media (max-width: 340px) {
	.cp-nav__label {
		font-size: 10px;
	}
	.cp-nav__label--active {
		font-size: 10px;
	}
}

/*====================================================
	Header Title
====================================================*/

.cp-header--fixed {
	position: fixed;
	top: 0px;
	z-index: 1000;
	width: 100%;
}

.cp-header {
	background: rgba(255, 255, 255, 1.0);
	box-shadow: 0 2px 18px 10px rgba(63, 63, 80, 0);
	min-height: 52px;
	width: 100%;
	transition: background 300ms linear, box-shadow 300ms linear;
}

.cp-header--high {
	height: 70px;
}

.cp-header--scroll {
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 1px 12px 2px rgba(63, 63, 80, 0.5);
}

.cp-header--flex {
	display: flex;
	align-items: center;
	min-height: 52px;
	width: 100%;
}

@media (min-width: 600px) {
	.cp-header--scroll {
		box-shadow: 0 6px 10px -4px rgba(63, 63, 80, 0.4);
	}
}

.cp-title {
	color: #443f4f;
	font-size: 1.8rem;
	font-weight: bold;
	flex: 2 2 auto;
	order: 2;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding: 5px 15px;
}

/* 文字省略あり時 */
.cp-title--wrap {
	box-sizing: border-box;
	color: #443f4f;
	font-size: 1.8rem;
	font-weight: bold;
	display: flex;
	order: 2;
	white-space: nowrap;
	width: calc(100% - 48px);
}

.cp-title__text--ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	padding: 5px 0 5px 15px;
}

.cp-title__text {
	flex-shrink: 0;
	padding: 5px 0;
}

.cp-title__back {
	flex: 0 0 48px;
	order: 0;
	margin: 0 -18px 0 0;
	height: 52px;
	width: 48px;
}

.cp-title__back svg {
	height: 52px;
	width: 48px;
}

.cp-title__back a {
	display: block;
	fill: #443f4f;
}

.cp-title__back a.hover {
	fill: #d0cfd3;
}

.cp-title__btn {
	flex: 0 0 auto;
	order: 4;
	margin: 0 0 0 -5px;
	padding: 0 15px 0 0;
}

.cp-title__btn--notEnd {
	flex: 0 0 auto;
	order: 4;
	margin: 0 0 0 -5px;
}

.cp-title__btn--help {
	padding-right: 5px;
}

.cp-title__item {
	order: 5;
}

.cp-title__item--zero {
	order: 0;
	flex-grow: 0;
	margin-top: 2px;
	padding-right: 0;
}

.cp-title__item--fill {
	order: 1;
	flex-grow: 1;
}

.cp-media__search__box {
	padding: 15px;
}

/* 検索絞り込みバー スクロール時 */
.cp-search__outer--fixed {
	position: fixed;
	top: -100px;
	left: 0;
	width: 100%;
	z-index: 999;
	box-sizing: border-box;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	transition: transform 200ms ease-out;
}

.cp-search__outer--banner-fixed {
	position: fixed;
	top: -56px;
	left: 0;
	width: 100%;
	z-index: 999;
	box-sizing: border-box;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	transition: transform 200ms ease-out;
}

.cp-search__outer--show {
	-webkit-transform: translateY(200px);
	transform: translateY(200px);
	transition: transform 300ms ease-out 100ms;
}

@media (min-width: 600px) {
	.cp-search__outer--fixed, 
	.cp-search__outer--banner-fixed {
		margin: 0 calc(100%/2 - 300px);
		width: 600px;
	}
}

/*====================================================
	Tab Menu
====================================================*/
.cp-tabContent__group {
	position: relative;
	min-height: 100%;
}

/* 非アクティブコンテンツを非表示 */
.cp-tabContent__group .cp-tabContent {
	max-height: 0;
	opacity: 0;
	overflow-y: hidden;
	transition: opacity 600ms;
}

/* タブ押下でコンテンツ呼び出し */
#tabContent1:checked ~ .cp-tabContent__group .cp-tabContent__item1, 
#tabContent2:checked ~ .cp-tabContent__group .cp-tabContent__item2, 
#tabContent3:checked ~ .cp-tabContent__group .cp-tabContent__item3, 
#tabContent4:checked ~ .cp-tabContent__group .cp-tabContent__item4 {
	max-height: 100%;
	opacity: 1;
}

/* アクティブタブの押下を無効化 */
#tabContent1:checked ~ .cp-tabList__group .cp-tabList__item1, 
#tabContent2:checked ~ .cp-tabList__group .cp-tabList__item2, 
#tabContent3:checked ~ .cp-tabList__group .cp-tabList__item3, 
#tabContent4:checked ~ .cp-tabList__group .cp-tabList__item4 {
	cursor: default;
	pointer-events: none;
}

/* アクティブタブのデザイン */
#tabContent1:checked ~ .cp-tabList__group .cp-tabList__item1 .cp-tabLabel, 
#tabContent2:checked ~ .cp-tabList__group .cp-tabList__item2 .cp-tabLabel, 
#tabContent3:checked ~ .cp-tabList__group .cp-tabList__item3 .cp-tabLabel, 
#tabContent4:checked ~ .cp-tabList__group .cp-tabList__item4 .cp-tabLabel {
	background: #fff;
	color: #BB5345;
	font-weight: bold;
}

#tabContent1:checked ~ .cp-tabList__group .cp-tabList__item1 .cp-tabLabel::after, 
#tabContent2:checked ~ .cp-tabList__group .cp-tabList__item2 .cp-tabLabel::after, 
#tabContent3:checked ~ .cp-tabList__group .cp-tabList__item3 .cp-tabLabel::after, 
#tabContent4:checked ~ .cp-tabList__group .cp-tabList__item4 .cp-tabLabel::after {
	height: 2px;
}

/* お相手からのいいね！画面用（下線太さ3px） */

/* タブ押下でコンテンツ呼び出し */
#tabContent1__nice:checked ~ .cp-tabContent__group .cp-tabContent__item1, 
#tabContent2__nice:checked ~ .cp-tabContent__group .cp-tabContent__item2, 
#tabContent3__nice:checked ~ .cp-tabContent__group .cp-tabContent__item3, 
#tabContent4__nice:checked ~ .cp-tabContent__group .cp-tabContent__item4 {
	max-height: 100%;
	opacity: 1;
}

/* アクティブタブの押下を無効化 */
#tabContent1__nice:checked ~ .cp-tabList__group .cp-tabList__item1, 
#tabContent2__nice:checked ~ .cp-tabList__group .cp-tabList__item2, 
#tabContent3__nice:checked ~ .cp-tabList__group .cp-tabList__item3, 
#tabContent4__nice:checked ~ .cp-tabList__group .cp-tabList__item4 {
	cursor: default;
	pointer-events: none;
}

/* アクティブタブのデザイン */
#tabContent1__nice:checked ~ .cp-tabList__group .cp-tabList__item1 .cp-tabLabel, 
#tabContent2__nice:checked ~ .cp-tabList__group .cp-tabList__item2 .cp-tabLabel, 
#tabContent3__nice:checked ~ .cp-tabList__group .cp-tabList__item3 .cp-tabLabel, 
#tabContent4__nice:checked ~ .cp-tabList__group .cp-tabList__item4 .cp-tabLabel {
	background: #fff;
	color: #BB5345;
	font-weight: bold;
}

#tabContent1__nice:checked ~ .cp-tabList__group .cp-tabList__item1 .cp-tabLabel::after, 
#tabContent2__nice:checked ~ .cp-tabList__group .cp-tabList__item2 .cp-tabLabel::after, 
#tabContent3__nice:checked ~ .cp-tabList__group .cp-tabList__item3 .cp-tabLabel::after, 
#tabContent4__nice:checked ~ .cp-tabList__group .cp-tabList__item4 .cp-tabLabel::after {
	height: 3px;
}

/* タブデザイン */
.cp-tabLabel {
	background: #fff;
	color: #727683;
	font-weight: bold;
	cursor: pointer;
	display: block;
	transition-property: color;
	transition-duration: 300ms;
	user-select: none;
	position: relative;
	width: 100%;
	font-size: 1.2rem;
	white-space: nowrap;
}

.cp-tabList__group {
	display: flex;
	justify-content: center;
	list-style: none;
	text-align: center;
}

.cp-tabList__group li {
	display: flex;
	font-size: 1.2rem;
	position: relative;
	text-align: center;
	width: 100%;
}

.cp-tabLabel--height { /* タブの高さ調整 */
	padding: 8px 10px;
}

.cp-tabLabel--height--keep {
	padding: 17px 10px 10px;
}

.cp-tabLabel::after {
	background: linear-gradient(to right, #bb5345, #c17a66, #c17a66);
	content: "";
	height: 0;
	position: absolute;
	left: 0;
	bottom: 0;
	transition-property: opacity, height;
	transition-duration: 300ms;
	width: 100%;
}

/* タブ押下時のデザイン */
.cp-tabLabel.hover {
	background: #fafafa;
	color: #9F4C41;
	font-weight: normal;
}

.cp-tabLabel.hover::after {
	height: 2px;
}

/*　タブが狭い場合　*/
.cp-tabLabel--narrow { 
   width: 120px;
   font-size: 1.5rem;
   display: flex;
   align-items: center;
   justify-content: center;
}

.cp-tabLabel--narrow.hover { 
   background: none;
}

@media (max-width: 350px) {
	.cp-tabLabel--narrow { 
		width: 100px;
		font-size: 1.3rem;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

/* ---------------------------------------------------
   タブ（ボタン型）
----------------------------------------------------*/
/* アクティブタブのデザイン */
#tabContent1:checked ~ .cp-tabList__group .cp-tabList__item1 .cp-tabLabel--typeB, 
#tabContent2:checked ~ .cp-tabList__group .cp-tabList__item2 .cp-tabLabel--typeB {
	background: #C17A66;
	border-radius: 8px;
	color: #fff;
}

#tabContent1:checked ~ .cp-tabList__group .cp-tabList__item1 .cp-tabLabel--typeB::before, 
#tabContent2:checked ~ .cp-tabList__group .cp-tabList__item2 .cp-tabLabel--typeB::before {
	content: "";
	margin-right: 4px;
	height: 13px;
	width: 13px;
}

#tabContent1:checked ~ .cp-tabList__group .cp-tabList__item1 .cp-tabLabel--typeB::before {
	background: url(../img/icon_heart_white.svg) no-repeat;
	background-size: 13px 13px;
}

#tabContent2:checked ~ .cp-tabList__group .cp-tabList__item2 .cp-tabLabel--typeB::before {
	background: url(../img/icon_message_white.svg) no-repeat;
	background-size: 13px 13px;
}

/* タブデザイン */
.cp-tabLabel--typeB {
	color: rgba(48, 48, 48, .4);
	border-radius: 8px;
	box-sizing: border-box;
	font-size: 1.3rem;
	font-weight: bold;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color .2s, background .2s;
	user-select: none;
	position: relative;
	width: 100%;
	height: 36px;
}

.cp-tabList__group--typeB {
	background: rgba(48, 48, 48, .05);
	border-radius: 8px;
	margin: 8px 16px 16px;
}

.cp-tabList__group--typeB .cp-badge--tab {
	position: static;
	margin-left: 4px;
	margin-right: -8px;
}

/* タブ押下時のデザイン */
.cp-tabLabel--typeB.hover {
	background: rgba(48, 48, 48, .1);
}

/*====================================================
	Notice Banner
====================================================*/
.cp-bn-notice {
	background: #fff;
	position: fixed;
	top: 52px;
	height: 44px;
	width: 100%;
	max-width: 600px;
	z-index: 1500;
}

.cp-bn-notice a {
	background: #CF3F50 url(../img/arrow_right_white.svg) no-repeat top 50% right 16px;
	background-size: 12px;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-right: 16px;
	height: 100%;
	width: 100%;
	transition: opacity .2s;
}

.cp-bn-notice a.hover {
	opacity: .75;
}

.cp-bn-notice__txt {
	font-size: 1.4rem;
	font-weight: bold;
	display: flex;
	align-items: center;
}

.cp-bn-notice__txt::before {
	content: "";
	background: url(../img/icon_exclamation.svg) no-repeat;
	background-size: 100%;
	margin-right: 8px;
	height: 16px;
	width: 16px;
}

/*====================================================
	Notice Push
====================================================*/
.cp-push-notice {
	box-sizing: border-box;
	padding: 8px 16px;
	position: fixed;
	top: -16px;
	z-index: 3000;
	width: 100%;
	max-width: 600px;
	opacity: 0;
	animation: .2s fadeInPush forwards;
}

.cp-push-notice a {
	background: rgba(193, 122, 102, .98);
	border-radius: 8px;
	box-shadow: 0px 4px 12px rgba(0, 0, 0, .25);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	padding: 0 16px;
	height: 56px;
	width: 100%;
	transition: background .2s;
}

.cp-push-notice a.hover {
	background: rgba(164, 107, 91, .98);
}

.cp-push-notice__icon {
	background: #fff;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-right: 12px;
	height: 32px;
	width: 32px;
}

.cp-push-notice__txt {
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cp-push-notice--out {
	opacity: 1;
	animation: .2s fadeOutPush forwards;
}

/* フェイドイン */
@keyframes fadeInPush {
	0% {
		opacity: 0;
		top: -16px;
	}
	100% {
		opacity: 1;
		top: 0;
	}
}

/* フェイドアウト */
@keyframes fadeOutPush {
	0% {
		opacity: 1;
		top: 0;
	}
	100% {
		opacity: 0;
		top: -16px;
	}
}

/*====================================================
	Form
====================================================*/
/* フォーム上タイトル */
.cp-form__title {
	display: block;
	font-size: 1.3rem;
	font-weight: bold;
	padding: 0 0 10px;
}

/* フォーム配置 */
.cp-form__main__box {
	height: calc(100% - 52px);
}

.cp-form__main__box p {
	line-height: 1.5;
	margin-bottom: 16px;
}

.cp-form__container {
	box-sizing: border-box;
	padding: 9px 15px 0;
}

.cp-btn--bottom {
	margin-top: 50px;
	padding-bottom: 15px;
}

.cp-form__item {
	position: relative;
}

/* テキスト入力フォーム基本形 */
.cp-form__item__frame {
	border-radius: 10px;
	box-sizing: border-box;
	color: #303030;
	min-height: 32px;
	width: 100%;
}

.cp-form__item__frame:focus::placeholder { /* フォームアクティブ時に placeholder テキストを消す */
	color: transparent;
}

.cp-form__item__frame:focus { /* 入力中の文字色 */
	color: #303030;
}

/* 検索フォーム */
.cp-form__item__search {
	background: rgba(48, 48, 48, .05) url(../img/icon_search_black40.svg) no-repeat top 50% left 10px;
	background-size: 16px;
	color: #303030;
	font-size: 1.2rem;
	padding: 0 26px 0 32px;
}

.cp-form__item__search::placeholder {
	color: rgba(48, 48, 48, .4);
}

.cp-form__item__search::-webkit-input-placeholder { /* iOS placeholder 位置調整用 */
	line-height: 16px;
}

.cp-form__item__clear {
	background: url(../img/btn_clear.svg) no-repeat top 50% right 10px;
	background-size: 10px;
	cursor: pointer;
	position: absolute;
	top: 0;
	right: 0;
	height: 32px;
	width: 32px;
}

.cp-form__item__clear.hover {
	opacity: 0.5;
}

/* テキスト入力フォーム */
.cp-form__item__text, 
.cp-form__item__textarea {
	border: 1px solid #e7e7e9;
	font-size: 1.3rem;
}

.cp-form__item__text {
	padding: 10px;
}

.cp-form__item__text::-webkit-input-placeholder { /* iOS placeholder 位置調整用 */
	line-height: 18px;
}

.cp-form__item__textarea {
	line-height: 1.5;
	padding: 10px;
	resize: none;
	vertical-align: top;
}

.cp-form__item__text::placeholder, 
.cp-form__item__textarea::placeholder {
	color: #d0cfd3;
	font-size: 1.3rem;
}

.cp-form__item__textarea::placeholder {
	line-height: 1.5;
	text-indent: 0;
}

/* フォーム height */
.cp-input__height {
	height: 44px;
}

.cp-textarea__height--high {
	height: 225px;
}

.cp-textarea__height--middle {
	height: 196px;
}

.cp-textarea__height--low {
	height: 106px;
}

/* フォーム下テキスト */
.cp-form__attention {
	display: flex;
	justify-content: space-between;
	padding: 8px 0 0;
}

/* 文字数カウンター */
.cp-form__item__counter {
	color: #d0cfd3;
	font-size: 1.1rem;
	order: 2;
	margin-left: auto;
}

/* 赤字アラート textarea下 */
.cp-form__item__alert {
	color: #ff3d3e;
	font-size: 1.2rem;
	order: 1;
	font-weight: bold;
}

.cp-form__item__alert--right {
	color: #ff3d3e;
	font-size: 1.2rem;
	order: 1;
	flex: 1;
	padding-right: 10px;
	text-align: right;
}

/* 赤字アラート リスト下 */
.cp-list__item__alert {
	margin-top: -8px;
	padding-bottom: 10px;
}

/* 必須マーク */
.cp-mark--required {
	display: flex;
}

.cp-mark--required::before {
	content: "必須";
	display: block;
	background: #BB5345;
	border-radius: 5px;
	box-sizing: border-box;
	color: #fff;
	font-size: 1.1rem;
	font-weight: normal;
	line-height: 18px;
	margin-right: 6px;
	text-align: center;
	height: 18px;
	width: 32px;
}

/* ラジオボタン・チェックボックス（リスト型） */
.cp-checkList__group {
	background: #fff;
	padding: 0 15px;
}

.cp-list__btn__container {
	border-bottom: solid 1px rgba(63, 63, 80, 0.1);
	box-sizing: border-box;
	padding: 0 10px;
}

.cp-list__btn__check {
	box-sizing: border-box;
	color: #303030;
	cursor: pointer;
	display: flex;
	align-items: center;
	font-size: 1.3rem;
	padding: 8px 0;
	min-height: 56px;
	width: 100%;
}

.cp-btn__check--text {
	display: flex;
	align-items: center;
	line-height: 1.5;
}

.cp-btn__check--text::before {
	content: "";
	background: #f0f1f6 url(../img/check.svg) no-repeat center;
	background-size: 0;
	border: 1px solid #ddd;
	border-radius: 20px;
	box-sizing: border-box;
	display: block;
	flex: 1 0 20px;
	margin-right: 10px;
	transition: border 100ms ease-out;
	height: 20px;
	width: 20px;
}

.cp-list__btn__check input[type="checkbox"]:checked + .cp-btn__check--text::before, 
.cp-list__btn__check input[type="radio"]:checked + .cp-btn__check--text::before {
	background: #BB5345 url(../img/check.svg) no-repeat center;
	background-size: 10px 7px;
	border-color: #BB5345;
	transition: border 100ms ease-out;
}

/* ラジオボタン */
.cp-btn__radio input + .cp-btn__radioInner {
	width: 18px;
	height: 18px;
	background-color: #f0f1f6;
	border: 1px solid #ddd;
	border-radius: 50%;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	vertical-align: -5px;
	position: relative; 
	transition: border-color 100ms ease-out;
}

.cp-btn__radio input + .cp-btn__radioInner:before,
.cp-btn__radio input + .cp-btn__radioInner:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-radius: 50%;
	background-color: transparent;
	border: 0 solid transparent; 
	transition: border-color 100ms ease-out;
}

.cp-btn__radio input:checked + .cp-btn__radioInner:before {
	width: 16px;
	height: 16px;
	background-color: #fff;
	border: 2px solid #B55C50;
}

.cp-btn__radio input:checked + .cp-btn__radioInner:after {
	width: 8px;
	height: 8px;
	background-color: #B55C50;
	border: 2px solid #B55C50;
}

.cp-btn__radio--text {
	padding-left: 10px;
}

/* お問い合わせ */
.cp-inquiry__helpbox {
	margin-bottom: 40px;
}

.cp-inquiry__box__title {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: space-between;
	line-height: 1.5;
	padding: 22px 0 0;
	width: 100%;
}

.cp-inquiry__borderBox {
	border-top: solid 1px rgba(63, 63, 80, 0.1);
}

.cp-inquiry__list__item {
	background: url(../img/icon_drop_down.svg) no-repeat top 50% right 0;
	background-size: 12px 8px;
	border-top: solid 1px rgba(63, 63, 80, 0.1);
}

.cp-inquiry__list__item select {
	min-height: 50px;
	width: 100%;
}

.cp-form__item--confirm {
	padding: 10px 0;
}

.cp-inquiry__sentContainer {
	box-sizing: border-box;
	padding: 50px 15px 30px;
	text-align: center;
	width: 100%;
}

.cp-inquiry__sentContainer p {
	line-height: 1.5;
}

.cp-inquiry__sent__title {
	font-size: 1.4rem;
	font-weight: bold;
	padding-bottom: 16px;
}

.cp-inquiry__sent__text--sub {
	padding:5px 0 25px;
	font-size: 1.1rem;
}

.cp-inquiry__sent__btnBox {
	margin: 40px auto 0;
	width: 280px;
}

.cp-inquiry__attention {
	font-size: 1.1rem;
	line-height: 11px;
	color: rgba(48,48,48,0.75);
}

/* 画像添付ボタン */
.cp-btn__sub--inquiryOuter {
	padding: 5px 0 10px 0;
}

.cp-btn__sub--inquiry {
	border: solid 1px rgba(48, 48, 48, 0.2);
	color: #303030;
	white-space: nowrap;
	width: 160px;
	transition: background .2s;
}

.cp-btn__sub--inquiry.hover {
	background: rgba(48, 48, 48, 0.1);
}

.cp-btn__inquiry__subIcon--camera::before {
	width: 1.3em;
	height: 1.3em;
	margin: 0 0.5em 0 0.5em;
	background-image: url(../img/btn_icon_camera.png);
}

.cp-btn--disabled > .cp-btn__sub--inquiry.hover {
	background: rgba(0, 0, 0, 0);
}

.cp-inquiry--bottom {
	margin: -20px 15px 0;
}

/* 画像添付サムネイル */
.cp-inquiry__thumbOuter {
	margin: 10px 0 0 0px;
	display: flex;
}

.cp-inquiry__thumb {
	position: relative;
}

.cp-inquiry__thumbLink{
	margin-right: 23px;
}

.cp-inquiry__thumbLink.hover{
	opacity: 0.5;
}

.cp-inquiry__thumbImg img {
	width: auto;
	height: 70px;		
}

.cp-inquiry__thumb__btnClose {
	position: absolute;
	top: -8px;
	right: -8px;
}

.cp-inquiry__thumb__btnClose img{
	width: 18px;
	height: 18px;
}


/*====================================================
	List Contents
====================================================*/
/* ---------------------------------------------------
   リスト共通
----------------------------------------------------*/
/* 通常リスト */
.cp-list__group {
	overflow: hidden;
}

.cp-list__group a {
	background: #fff;
	display: block;
	height: 100%;
	width: 100%;
}

.cp-list__group a.hover {
	background: rgba(231, 231, 233, 0.4);
}

.cp-list__container {
	border-top: solid 1px rgba(63, 63, 80, 0.1);
	border-radius: 0;
	box-sizing: border-box;
	color: #443f4f;
	display: flex;
	align-items: center;
	justify-content: space-between;
	line-height: 1.5;
	margin-top: -1px;
	padding: 8px 0;
	position: relative;
	width: 100%;
}

.cp-list__container__no-border {
	border: none;
}

.cp-list--arrowR {
	background: url(../img/arrow_right_r.svg) no-repeat top 50% right 1px;
	background-size: 8px 12px;
	padding-right: 20px;
}

.cp-list--arrowD {
	background: url(../img/icon_drop_down.svg) no-repeat top 50% right 0;
	background-size: 12px 8px;
	padding-right: 20px;
}

.cp-list__item {
	box-sizing: border-box;
	flex-basis: 50%;
	padding-right: 8px;
}

.cp-list__item--right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-basis: 50%;
	text-align: right;
}

.cp-list__form--right {
	overflow: hidden;
	white-space: normal;
	text-overflow: ellipsis;
	flex-basis: 50%;
	width: 100%;
	text-align: right;
}

.cp-list__form--left {
	overflow: hidden;
	white-space: normal;
	text-overflow: ellipsis;
	flex-basis: 50%;
	width: 100%;
	text-align: left;
}

.cp_list__outer {
	background: #fff;
	border-top: solid 1px rgba(63, 63, 80, 0.1);
	border-bottom: solid 1px rgba(63, 63, 80, 0.1);
}

.cp-list__line {
	padding: 0 15px;
}

.cp-list__line__item {
	border-top: solid 1px rgba(63, 63, 80, 0.1);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	height: 50px;
}

.cp_list__outer li:first-child .cp-list__line__item {
	border: none;
}

/* サムネイルありリスト */
.cp-listContent__position {
	margin-top: -1px;
}

.cp-listContent__group li:last-child {
	border-bottom: solid 1px rgba(48, 48, 48, .1);
}

.cp-list__item__thumbBox { /* リンクなし */
	background: #fff;
	box-sizing: border-box;
	border-top: solid 1px rgba(48, 48, 48, .1);
	display: flex;
	padding: 18px 15px 15px;
	min-height: 100px;
	width: 100%;
}

.cp-list__item__thumbBox--link a { /* リンクあり */
	background: #fff url(../img/arrow_right.svg) no-repeat top 50% right 15px;
	background-size: 8px;
	box-sizing: border-box;
	border-top: solid 1px rgba(48, 48, 48, .1);
	color: #303030;
	display: flex;
	padding: 16px 15px;
	min-height: 100px;
	width: 100%;
	position: relative;
}

.cp-list__item__thumbBox--link a.hover {
	background: rgba(231, 231, 233, 0.4) url(../img/arrow_right.svg) no-repeat top 50% right 15px;
	background-size: 8px;
}

.cp-list__item--checkblock {
	position: relative;
}

.cp-list__item--checkblock a { /* リンク無効化 */
	background: #fff;
	pointer-events: none;
}

.cp-list__thumbBox--left {
	flex: 0 0 77px;
	position: relative;
}

.cp-list__item__thumbBox .cp-list__thumBox--middle, 
.cp-list__item__thumbBox--link .cp-list__thumbBox--left {
	align-self: center;
}

.cp-list__thumbBox--right {
	flex: 1;
	overflow: hidden;
	position: relative;
}

.cp-list__time {
	position: absolute;
	top: 3px;
	right: 0;
}

.cp-datetime p {
	color: rgba(48, 48, 48, .75);
	font-size: 1.1rem;
	text-align: right;
}

.cp-list__link--simple {
	position: absolute;
	top: 21px;
	right: 0;
}

.cp-list__text--primary {
	margin: 0 0 12px;
}

.cp-list__text--primary p {
	font-weight: bold;
	line-height: 1.4;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cp-list__text--nomal {
	line-height: 1.5;
	padding: 0 0 8px;
}

/* リストサムネイル */
.cp-list__avatar {
	border-radius: 50%;
	overflow: hidden;
	height: 60px;
	width: 60px;
}

.cp-list__avatar img {
	object-fit: cover;
	height: 100%;
	width: 100%;
	font-family: 'object-fit: cover;'
}

/* 退会者 */
.cp-status--withdrawal {
	position: relative;
}

.cp-status--withdrawal::after {
	content: "退会済";
	color: rgba(68, 63, 49, .5);
	font-size: 1.3rem;
	font-weight: bold;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	text-align: center;
	width: 100%;
}

.cp-list__thumbBox--left a {
	display: block;
	height: 60px;
	width: 60px;
}

.cp-list__thumbBox--left a.hover {
	opacity: 0.8;
}

/* リスト編集 */
.cp-list__edit__item {
	margin-left: 45px;
}

.cp-list__edit__labelBox {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 999;
}

.cp-list__edit__label {
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	align-items: center;
	padding-left: 20px;
	height: 100%;
	width: 100%;
}

.cp-list__edit__check::before {
	content: "";
	background: #f0f1f6 url(../img/check.svg) no-repeat center;
	background-size: 0;
	border: 1px solid #ddd;
	border-radius: 20px;
	box-sizing: border-box;
	display: block;
	flex: 1 0 20px;
	margin-right: 10px;
	transition: border 100ms ease-out;
	height: 20px;
	width: 20px;
}

.cp-list__edit__label input[type="checkbox"]:checked + .cp-list__edit__check::before {
	background: #BB5345 url(../img/check.svg) no-repeat center;
	background-size: 10px 7px;
	border-color: #BB5345;
	transition: border 100ms ease-out;
}

/* リスト内ボタン */
.cp-list__btnBox {
	margin: 10px 0 0 auto;
	max-width: 310px;
}

.cp-listContent__btn {
	height: 33px;
	width: 100%;
	border-radius: 17px;
	padding: 0 0.5em;
	font-size: 1.3rem;
	text-align: center;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
}

/* 登録数 / 上限 表示 */
.cp-list__upperLimit {
	color: rgba(48, 48, 48, 0.75);
	font-size: 1.1rem;
	padding: 10px 15px 8px;
	text-align: right;
}

/* リストグループ 上部テキスト */
.cp-list__appealBlock {
	padding: 10px 0;
}

.cp-list__appealBlock__text {
	color: rgba(48, 48, 48, .75);
	font-size: 1.3rem;
	text-align: center;
}


/* ---------------------------------------------------
   お気に入りリスト
----------------------------------------------------*/
/* お気に入られ */
.cp-list__mark--favorite {
	color: #BB5345;
	font-size: 1.2rem;
	line-height: 1.4;
	display: flex;
}

.cp-list__mark--favorite::before {
	content: "";
	background: url(../img/btn_icon_favorite_active.svg) no-repeat;
	background-size: 1.5em;
	background-position: -1px -2px;
	display: block;
	height: 16px;
	width: 21px;
}

/* ---------------------------------------------------
   あしあとリスト
----------------------------------------------------*/
.cp-list__subBox--footprint {
	background: #FAFAFA;
	font-size: 1.2rem;
	line-height: 36px;
	text-align: center;
	position: relative;
	height: 36px;
	width: 100%;
	z-index: 1;
	border-bottom: solid 1px rgba(63, 63, 80, 0.1);
}

.cp-list__item__thumbBoxOuter--footprint {
	position: relative;
	box-sizing: border-box;
}

.cp-list__footprint__btnOuter {
	position: relative;
	bottom: 55px;
	margin: 0 15px -40px 85px;
	box-sizing: border-box;
}

.cp-list__item__thumbBox__footprint--link a { /* リンクあり */
	background-image: none;
}

.cp-list__item__thumbBox__footprint--link--nice a {
	padding-bottom: 36px;
}

.cp-list__item__thumbBox__footprint--link a.hover {
	background-color: rgba(231, 231, 233, 0.4);
	background-image: none;
}

/* あしあとリストのいいねカラー指定用 */
.cp-list__footprint__btnOuter .cp-btn--basic {
	background: #f26d6d;
}

.cp-list__footprint__btnOuter .cp-btn--basic.hover {
	background: #E45E5E;
}

.cp-btn__main--footprint {
	height: 40px;
	border-radius: 20px;
	padding: 0 0.5em;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	max-width: 320px;
	margin-left: auto;
	width: 100%;
} 

.cp-btn--noLink {
	background: rgba(48, 48, 48, .2);
	color: rgba(48, 48, 48, .75);
	opacity: .4;
}

.cp-btn--noLink--footprintSub {
	font-weight: normal;
	font-size: 1.0rem;
	margin-left: 8px;
}

.cp-btn__noMessageIcon--footprint {
	font-size: 1.4rem;		
	font-weight: normal;
}

.cp-btn__niceIcon--footprint::before {
	width: 1.6rem;
	height: 1.4rem;
	margin: 0 0.4em 0 0;
	background-image: url("../img/icon_heart_white.svg");
	opacity: 0.8;
}

.cp-btn__lookIcon--footprint::before {
	width: 2.2rem;
	height: 2.2rem;
	margin: 0 0.2em 0 0;
	background-image: url("../img/icon_look_white.svg");
	opacity: 0.8;
}

.cp-btn__msgLookIcon--footprint::before {
	width: 2.4rem;
	height: 2.4rem;
	margin: 0.1em 0.2em 0 0;
	background-image: url("../img/icon_msg_look_white.svg");
	opacity: 0.8;
}

.cp-btn__matchingIcon--footprint::before {
	width: 2.2rem;
	height: 2.2rem;
	margin: 0 0.2em 0 0;
	background-image: url("../img/icon_matching_white.svg");
	opacity: 0.8;
}

.cp-btn__noMessageIcon--footprint::before {
	width: 2.2rem;
	height: 1.7rem;
	margin: 0 0.2em 0 0;
	background-image: url("../img/icon_message_nice_gray.svg");
	opacity: 0.8;
	font-size: 1.4rem;
}

.cp-list-bn-footprint {
	padding: 15px;
}

.cp-list-bn-footprint a {
	background: #F6ECE9 url(../img/footprint_bn_bg.svg) top 0 right 10.133vw no-repeat;
	background-size: contain;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 4vw 0 4.533vw;
	height: 17.067vw;
	max-height: 82px;
	transition: opacity .2s;
}

.cp-list-bn-footprint a.hover {
	opacity: .7;
}

.cp-list-bn-footprint__txt img {
	display: block;
	width: 58.933vw;
	max-width: 283px;
}

.cp-list-bn-footprint__arrow img {
	display: block;
	width: 2.4vw;
	max-width: 11px;
}
.cp-list__footprint__btnOuter--nice {
	position: relative;
	display: flex;
	justify-content: center;
	box-sizing: border-box;
	bottom: 55px;
	margin: 0 15px -40px 85px;
}

.cp-list__footprint__btnOuter--nice .cp-btn__main--footprint {
	position: relative;
}

.cp-btn__footprint-subtext-wrapper--nice {
	position: absolute;
	top: -20px;
}

.cp-btn__footprint-subtext--nice {
	width: 200px;
	height: auto;
	display: block;
}

@media (max-width: 340px) {
	.cp-btn__main--footprint {
		font-size: 1.2rem;
	}
	.cp-btn__noMessageIcon--footprint {
		font-size: 1.1rem;		
	}
	.cp-list__item__thumbBoxOuter--footprint .cp-list__text--primary p {
		font-size: 1.1rem;
	}
	.cp-list__item__thumbBoxOuter--footprint .cp-datetime p {
		font-size: 1.0rem;
	}
	.cp-btn--noLink--footprintSub {
		margin-left: 4px;
	}
}

@media (min-width: 481px) {
	.cp-list-bn-footprint a {
		background: #F6ECE9 url(../img/footprint_bn_bg.svg) top 0 right 51px no-repeat;
		background-size: contain;
		padding: 0 20px;
	}
}

/* ---------------------------------------------------
   気になるリスト
----------------------------------------------------*/
/* 新着 */
.cp-list__item--new {
	margin-bottom: 1px;
}

.cp-list__item--new a {
	background: #fef0f7 url(../img/arrow_right.svg) no-repeat top 50% right 15px;
	background-size: 8px;
	margin-bottom: -1px;
}

.cp-list__item--new a.hover {
	background: #f5ecf1 url(../img/arrow_right.svg) no-repeat top 50% right 15px;
	background-size: 8px;
}

/* 気になる種類 */
.cp-list__mark--keepType {
	background: rgba(233, 229, 253, 0.6) url(../img/icon_heart_purple.svg) no-repeat top 50% left 8px;
	background-size: 12px 10px;
	border-radius: 5px;
	box-sizing: border-box;
	font-size: 1.1rem;
	line-height: 25px;
	padding-left: 24px;
	position: absolute;
	bottom: 0;
	left: 0;
	height: 25px;
	width: 143px;
}

/* スクロール中 */
.cp-listContent__keepWrap--scroll {
	margin-top: 88px;
}

.cp-tabList__group--fixed {
	position: fixed;
	top: 47px;
	left: 0;
	z-index: 1000;
	opacity: 0.97;
	width: 100%;
}

@media (min-width: 600px) {
	.cp-tabList__group--fixed {
		margin: 0 calc(100%/2 - 300px);
		width: 600px;
	}
}

/* ---------------------------------------------------
   あなたからのいいね！リスト
----------------------------------------------------*/
.cp-keepMyself__message__outer {
	padding: 0 15px 15px;
	background: #fff;
}

.cp-keepMyself__message__box {
	background: #F4F4FA;
	border-radius: 10px;
	padding: 15px;
}

.cp-keepMyself__message__title {
	position:relative;
	font-size: 1.3rem;
	padding-bottom: 12px;
	font-weight: bold;
	color: #4C4166;
	line-height:18px;
	text-indent: 26px;
}

/* メッセージ付きみてね！追加 */
.cp-keepMyself__message__title--look::before {
	position:absolute;
	left:0;
	top: -2px;
	content: "";
	background: url(../img/icon_message_keep_look.svg) no-repeat;
	display: inline-block;
	width: 26px;
	height: 21px;
	background-size:contain;
}

.cp-keepMyself__message__title--nice::before {
	position:absolute;
	left:0;
	top: -1px;
	content: "";
	background: url(../img/icon_message_keep_nice.svg) no-repeat;
	display: inline-block;
	width: 24px;
	height: 20px;
	background-size:contain;
}

.cp-keepMyself__message__box--nice {
	background: #FEF0F7;
}

.cp-keepMyself__message__box--look {
	background: rgba(0,189,189,0.1);
}

.cp-keepMyself__message__title--nice {
	color: #BB5345;
	padding-left: 2px;
}

.cp-keepMyself__message__title--look {
	color: #00BDBD;
	padding-left: 4px;
}

.cp-keepMyself__message__body {
	font-size: 1.2rem;
	line-height: 16px;
}

.cp-keepMyself__list a.hover {
	background: #fff url(../img/arrow_right.svg) no-repeat top 50% right 15px;
	background-size: 8px;
	box-sizing: border-box;
	display: flex;
	padding: 16px 15px;
	min-height: 100px;
	width: 100%;
	position: relative;
	opacity: 0.5;
}

.cp-keepMyself__typeMark__outer {
	position: relative;
	bottom: 5px;
	margin-bottom: -5px;
	border-radius: 5px;
	border: 1px solid #BB5345;
	display: inline-block;
}

.cp-keepMyself__typeMark__flex {
	display: flex;
	align-items: center;
	height: 19px;
}

.cp-keepMyself__typeMark__flex p {
	color: #BB5345;
	font-weight: bold;
	padding: 0 4px;
	font-size: 1.1rem;
}

.cp-keepMyself__typeMark__flex img {
	width: 12px;
	height: 10px;
	padding-left: 4px;
}

/* メッセージ付き2件以上 */
.cp-msgLook__more {
	display: flex;
	justify-content: flex-end;
	margin-top: 8px;
	margin-bottom: -4px;
	height: 28px;
}

.cp-msgLook__more a {
	display: flex;
	align-items: center;
	color: #00BDBD;
	font-size: 1.3rem;
	font-weight: bold;
	height: 100%;
	transition: opacity .2s;
	background: none;
	border: none;
	padding: 0 0 0 4px;
	min-height: 0;
	width: auto;
	position: static;
}

.cp-msgLook__more a::after {
	content: "";
	background: url(../img/arrow_right_green.svg) no-repeat;
	background-size: 16px;
	height: 16px;
	width: 16px;
}

.cp-msgLook__more a.hover {
	background: none;
	border: none;
	padding: 0 0 0 4px;
	min-height: 0;
	width: auto;
	position: static;
	opacity: .7;
}

/* ---------------------------------------------------
   メッセージ付き一覧
----------------------------------------------------*/
.cp-lookmsg-list__container {
	padding: 16px 8px 40px;
}

.cp-lookmsg-list__item {
	background: rgba(241, 186, 89, .2);
	border-radius: 8px;
	padding: 16px 16px 24px;
}

.cp-lookmsg-list__item + .cp-lookmsg-list__item {
	margin-top: 16px;
}

.cp-lookmsg-list__time {
	color: #E3A24D;
	font-size: 1.1rem;
	font-weight: bold;
	text-align: right;
}

.cp-lookmsg-list__textbox {
	margin-top: 8px;
}

.cp-lookmsg-list__text {
	color: #303030;
	font-size: 1.4rem;
	line-height: 1.5;
}

.cp-lookmsg-list__text + .cp-lookmsg-list__text {
	margin-top: 16px;
}

/* ---------------------------------------------------
   メモリスト
----------------------------------------------------*/
.cp-list__memo__text {
	font-size: 1.2rem;
	line-height: 1.5;
	overflow: hidden;
	max-height: 3em;
}

/* ---------------------------------------------------
   見ちゃいやリスト
----------------------------------------------------*/
.cp-list__limitBox {
	letter-spacing: -.4em;
	width: 100%;
}

.cp-list__limitItem:first-child {
	margin-right: 10px;
}

.cp-list__limitItem {
	border-radius: 5px;
	box-sizing: border-box;
	display: inline-block;
	font-size: 0.9rem;
	letter-spacing: normal;
	line-height: 25px;
	padding: 0 10px 0 30px;
	white-space: nowrap;
	height: 25px;
}

.cp-list__limitItem--aocca {
	background: #f6e5ff url(../img/icon_limit_purple.svg) no-repeat top 50% left 7px;
	background-size: 18px;
	color: #a080d0;
}

.cp-list__limitItem--tweet {
	background: #ffe9d4 url(../img/icon_limit_orange.svg) no-repeat top 50% left 7px;
	background-size: 18px;
	color: #d88f48;
}

@media (max-width: 360px) {
	.cp-list__limitItem:first-child {
		margin-right: 8px;
	}

	.cp-list__limitItem {
		padding: 0 6px 0 22px;
	}

	.cp-list__limitItem p {
		font-size: 0.8rem;
	}

	.cp-list__limitItem--aocca, 
	.cp-list__limitItem--tweet {
		background-position: top 50% left 5px;
		background-size: 14px;
	}
}

/* ---------------------------------------------------
   お知らせ
----------------------------------------------------*/
/* リスト */
.cp-noticeList__box a {
	background: #fff url(../img/arrow_right.svg) no-repeat top 50% right 19px;
	background-size: 8px;
	box-sizing: border-box;
	border-top: solid 1px rgba(48, 48, 48, 0.1);
	color: #303030;
	display: flex;
	padding: 20px 15px;
	min-height: 110px;
	width: 100%;
}

.cp-noticeList__box a.hover {
	background:#F5F5F5 url(../img/arrow_right.svg) no-repeat top 50% right 19px;
	background-size: 8px;
}

.cp-noticeList--read a {
	background:#F9F9F9 url(../img/arrow_right.svg) no-repeat top 50% right 19px;
	background-size: 8px;
	color:  rgba(48, 48, 48, 0.75);
}

.cp-noticeList__box a.hover {
	background:#F5F5F5 url(../img/arrow_right.svg) no-repeat top 50% right 19px;
	background-size: 8px;
}

.cp-noticeList--megaphone a::before {
	content: "";
	display: block;
	align-self: center;
	background: #F3E4E0 url(../img/icon_notice_megaphone.svg) no-repeat;
	border-radius: 50%;
	margin-right: 15px;
	height: 46px;
	width: 46px;
}

.cp-noticeList--qa a::before {
	content: "";
	display: block;
	align-self: center;
	background: #F3E4E0 url(../img/icon_notice_balloon.svg) no-repeat;
	border-radius: 50%;
	margin-right: 15px;
	height: 46px;
	width: 46px;
}

.cp-noticeList--payment a::before {
	content: "";
	display: block;
	align-self: center;
	background: #F3E4E0 url(../img/icon_notice_coin.svg) no-repeat;
	border-radius: 50%;
	margin-right: 15px;
	height: 46px;
	width: 46px;
}

.cp-noticeList--review a::before {
	content: "";
	display: block;
	align-self: center;
	background:#F3E4E0 url(../img/icon_notice_review.svg) no-repeat;
	border-radius: 50%;
	margin-right: 15px;
	height: 46px;
	width: 46px;
}

.cp-noticeList__item {
	align-self: center;
	flex: 1;
	margin-right: 30px;
}

.cp-noticeList__title {
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 22px;
	word-break: break-all;
	padding-bottom: 10px;
}

.cp-noticeList--new {
	position: relative;
	text-indent: 16px;
}

.cp-noticeList--new::before {
	content: "";
	background: #CF3F50;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-indent: 0;
	position: absolute;
	top: 6px;
	left: 0;
	height: 10px;
	width: 10px;
}

.cp-notice__datetime {
	color: rgba(48, 48, 48, 0.75);
	font-size: 1.2rem;
	line-height: 1.5;
}

/* 本文 */
.cp-noticeContent__titleBox {
	box-sizing: border-box;
	border-top: solid 1px rgba(48, 48, 48, 0.1);
	color: #443f4f;
	display: flex;
	padding: 15px;
	min-height: 90px;
	width: 100%;
}

.cp-noticeContent--megaphone::before {
	content: "";
	display: block;
	align-self: center;
	background: #F3E4E0 url(../img/icon_notice_megaphone.svg) no-repeat;
	border-radius: 50%;
	margin-right: 15px;
	height: 46px;
	width: 46px;
}

.cp-noticeContent--qa::before {
	content: "";
	display: block;
	align-self: center;
	background: #F3E4E0 url(../img/icon_notice_balloon.svg) no-repeat;
	border-radius: 50%;
	margin-right: 15px;
	height: 46px;
	width: 46px;
}

.cp-noticeContent--payment::before {
	content: "";
	display: block;
	align-self: center;
	background: #F3E4E0 url(../img/icon_notice_coin.svg) no-repeat;
	border-radius: 50%;
	margin-right: 15px;
	height: 46px;
	width: 46px;
}

.cp-noticeContent--review::before {
	content: "";
	display: block;
	align-self: center;
	background: #F3E4E0 url(../img/icon_notice_review.svg) no-repeat;
	border-radius: 50%;
	margin-right: 15px;
	height: 46px;
	width: 46px;
}

.cp-noticeContent__title {
	align-self: center;
	flex: 1;
	line-height: 1.5;
}

.cp-noticeContent__title h2 {
	color: #303030;
	font-size: 1.6rem;
	line-height: 22px;
	margin-bottom: 10px;
}

.cp-noticeContent__text {
	box-sizing: border-box;
	border-top: solid 1px rgba(63, 63, 80, 0.1);
	font-size: 1.6rem;
	line-height: 28px;
	margin: 0 20px;
	padding: 20px 0;
}

.cp-noticeContent__text p {
	margin-bottom: 16px;
}

.cp-noticeContent__text a {
	color: #BB5345;
	text-decoration: underline;
}

.cp-noticeContent__text a.hover {
	color: #9F4C41;
	text-decoration: none;
}

/*====================================================
	x-scroll Contents
====================================================*/

.cp-hScroll__group {
	display: flex;
	-webkit-overflow-scrolling: touch;
	overflow-x: scroll;
	padding: 0 15px 15px;
	backface-visibility:hidden;
	-webkit-backface-visibility:hidden;
}

.cp-hScroll__group::after {
	content: "";
	display: block;
	width: 1px;
	flex-shrink: 0;
}

.cp-hScroll__item {
	flex-shrink: 0;
	margin: 0 15px 0 0;
	width: 66px;
}

.cp-hScroll__item label {
	cursor: pointer;
}

.cp-hScroll__item a, 
.cp-hScroll__item label {
	display: block;
	transition: opacity .2s;
}

.cp-hScroll__item a.hover, 
.cp-hScroll__item label.hover {
	opacity: 0.8;
}

.cp-hScroll__img {
	border-radius: 50%;
	overflow: hidden;
	height: 66px;
	width: 66px;
}

.cp-hScroll__img img {
	object-fit: cover;
	height: 100%;
	width: 100%;
	font-family: 'object-fit: cover;'
}

.cp-hScroll__img--borderPink {
	border: 2px solid #C17A66;
	box-sizing: border-box;
}

.cp-hScroll__img--borderPink img {
	border: 2px solid #fff;
	border-radius: 50%;
	box-sizing: border-box;
}

.cp-hScroll__text {
	color: #303030;
	font-size: 1.0rem;
	line-height: 1.4;
	text-align: center;
}

.cp-hScroll__text--name {
	height: 2.8em;
	overflow: hidden;
	margin: 10px 0 2px;
}

/* ---------------------------------------------------
   アクティブユーザー表示
----------------------------------------------------*/
.cp-activeUser {
	border-bottom: solid 3px rgba(48, 48, 48, .05);
	box-shadow: 0 1px 0 0 #F5F5F5;
	padding: 24px 0 12px;
	position: relative;
	z-index: 1;
}

.cp-activeUser__title {
	font-size: 1.6rem;
	margin-bottom: 12px;
	padding-left: 15px;
}

.cp-activeUser__text {
	font-size: 1.2rem;
	margin-bottom: 16px;
	padding-left: 15px;
}

.cp-activeUser__list .cp-hScroll__item {
	margin-right: 28px;
	width: 72px;
}

.cp-activeUser__list .cp-hScroll__item a {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.cp-activeUser__list .cp-hScroll__img {
	border-radius: 50%;
	overflow: hidden;
	height: 72px;
	width: 72px;
}

.cp-activeUser__list .cp-hScroll__text {
	font-size: 1.1rem;
	margin-top: 8px;
	white-space: nowrap;
}


/*====================================================
	Photos
====================================================*/

/* プロフ一覧 サムネイルフレーム */
.cp-avatar__frame {
	border-radius: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.cp-avatar__frame::before {
	content: "";
	display: block;
	padding-top: 100%;
}

.cp-avatar__frame--rounded {
	border-radius: 16px;
}

.cp-avatar__frame--rounded .cp-avatar__img,
.cp-avatar__frame--rounded .se-prof__img {
	border-radius: inherit;
}

.cp-avatar__frame--gradation {
	background: linear-gradient(to top, #ff82a9, #f461a9 27%, #aacbe1);
}

.cp-avatar__frame--gray {
	background: #d0cfd3;
}

.cp-avatar__img {
	background: rgba(255, 255, 255, 0.8);
	border-radius: 100%;
	border: 3px solid rgba(255, 255, 255, 0.8);
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	height: calc(100% - 10px);
	width: calc(100% - 10px);
}

.cp-avatar__img img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	font-family: 'object-fit: cover;'
}

/* 写真上のオーバーレイ */
.cp-photo__overlay {
	display: block;
	position: relative;
	height: 100%;
}

.cp-photo__overlay img {
	object-fit: cover;
	display: block;
	height: 100%;
	width: 100%;
	font-family: 'object-fit: cover;'
}

.cp-photo__overlay--gradation::before {
	content: "";
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, 0.2) 80%, rgba(0, 0, 0, 0.5) 90%, rgba(0, 0, 0, 0.7));
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0.4;
}

.cp-photo__overlay--gSmall::before {
	content: "";
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.4) 80%, rgba(0, 0, 0, 0.7));
	border-radius: 50%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0.7;
}

.cp-photo__overlay--black::before {
	content: "";
	background: rgba(0, 0, 0, 0.4);
	border-radius: 50%;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.cp-photo__overlay--icon {
	position: absolute;
	bottom: 6px;
	right: 6px;
}

.cp-photo__overlay--icon img {
	width: 16px;
	height: 16px;
}

.cp-photo__overlay--text {
	color: #fff;
	position: absolute;
	text-align: center;
	width: 100%;
}

/*====================================================
	Footer
====================================================*/

.cp-footer {
	background: #443f4f;
}

.cp-footerBtn__pageTop {
	padding: 0 20px;
}

.cp-footerBtn__pageTop a {
	border-bottom: 1px solid #575361;
	color: #fff;
	fill: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 47px;
	width: 100%;
}

.cp-footerMenu__group {
	box-sizing: border-box;
	display: flex;
	/* flex-wrap: wrap; */
	justify-content: center;
	margin-left: -4px;
	padding: 20px 0;
	width: 100%;
}

.cp-footerMenu__item + .cp-footerMenu__item {
	margin-left: 12px;
}

.cp-footerMenu__item {
	/* flex-basis: 120px;
	height: 36px; */
}

.cp-footerMenu__item a {
	color: #fff;
	fill: #fff;
	display: flex;
	align-items: center;
	font-size: 1.2rem;
	/* line-height: 36px; */
	white-space: nowrap;
}

.cp-footerLink__group {
	display: flex;
	justify-content: center;
	margin: 0 0 28px;
}

.cp-footerLink__item a {
	color: #fff;
	font-size: 1.1rem;
	/* line-height: 36px; */
	display: block;
	/* height: 36px; */
	padding: 0 10px;
}

.cp-footer__copyright {
	background: #393543;
	text-align: center;
	padding: 24px 0;
	padding-bottom: calc(constant(safe-area-inset-bottom) + 24px);
	padding-bottom: calc(env(safe-area-inset-bottom) + 24px);
}

.cp-footer__copyLogo {
	padding: 0 0 10px;
}

.cp-footer__copyLogo img {
	width: 32px;
}

.cp-footer__copyText {
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.9rem;
	line-height: 1.6;
}

.cp-footerMenu__icon {
	height: 24px;
	width: 24px;
}

.cp-footer a.hover {
	color: #c2bdce;
	fill: #c2bdce;
}

/*====================================================
	見出し付き囲み
====================================================*/
.cp-box__title {
	margin: 0 15px;
	height: 35px;
	font-size: 1.3rem;
	font-weight: normal;
	color: #fff;
	background: #4c4166;	
	display: flex;
	justify-content: center;
	align-items: center;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	box-sizing: border-box;
}

.cp-box__contents {
	margin: 0 15px;
	padding: 15px;
	background: #fff;
	border: solid 1px #e7e7e9;
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
	box-sizing: border-box;
}

/*====================================================
	データなしページ
====================================================*/

.cp-result--noData {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 50px 15px 30px;
	max-width: 100%;
}

.cp-result--noData p {
	color: rgba(48, 48, 48, .75);
	line-height: 1.6;
	margin-bottom: 10px;
	text-align: center;
	width: 100%;
}

.cp-result--noData__title {
	font-size: 1.4rem;
	font-weight: bold;
}

.cp-btn--noData {
	margin-top: 15px;
	width: 200px;
}

.cp-btn--noData-long {
	margin-top: 15px;
	width: 240px;
}

.cp-btn--noData-auto {
	margin-top: 15px;
}

.cp-btn--noData-auto a {
	padding: 0 24px;
}

/*====================================================
	IE向けスタイル
====================================================*/
/* Flexbox Bug align-item center を指定中 */
@media all and (-ms-high-contrast:none){
	.cp-list__container, 
	.cp-list__btn__check {
		padding-top: 18px;
		padding-bottom: 18px;
	}

	.cp-header--flex {
		height: 52px;
	}

	.cp-list__mark__keepStatus, 
	.cp-list__mark--keepType {
		position: static;
	}

	.cp-noticeList__box a, 
	.cp-noticeContent__titleBox {
		padding-top: 22px;
		padding-bottom: 22px;
	}
}

/*====================================================
	あしあとリスト
====================================================*/
.cp-footprint__typeTag__outer {
	position: relative;
	left: -2px;
	margin: 10px 0 44px 0;
}

.cp-footprint__typeTag {
	display: inline-block;
	background: rgba(74, 172, 183, 0.1);
	color: #479FAA;
	font-weight: bold;
	font-size: 1.1rem;
	padding: 2px 11px 2px;
	border-radius: 10px;
	margin-left: 2px;
	margin-bottom: 8px;
	box-sizing: border-box;
}

.cp-list__thumbBox--footprint {
	flex: 0 0 72px;
	position: relative;
	align-self: top;
	height: 60px;
	margin-top: 3px;
}

.cp-list__thumbBox--footprint a {
	display: block;
	height: 60px;
	width: 60px;
}

.cp-list__thumbBox--footprint a.hover {
	opacity: 0.8;
}

.cp-list__thumbBox--footprint--position {
	align-self: top;
}

/* 相性◎マーク */
.cp-list__markType {
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 46px;
	left: -8px;
	width: 44px;
	border-radius: 22px;
	height: 17px;
	padding-top: 1px;
	background: #4AACB7;
	color: #fff;
	font-size: 1.0rem;
	font-weight: bold;
}

.cp-list__item__thumbBox__footprint--typeLimit a{
	height: 170px;
}

.cp-list__item__thumbBox__footprint--typeLimit--nice a{
	height: 190px;
}

.cp-list__typeLimit__outer {
	background: url("../img/footprint_type_limit_bg.png") no-repeat;
	background-size:contain;
	position: relative;
	bottom: 125px;
	margin: 0 15px -60px 87px;
	box-sizing: border-box;
}

.cp-list__typeLimit__outer--nice{
	bottom: 145px;
}

.cp-list__typeLimit {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	margin-left: auto;
	width: 100%;
}

.cp-list__typeLimit a {
	background: #fff;
	box-shadow: 0 0 8px 0 rgba(24, 149, 164, .2);
	border-radius: 18px;
	color: #479FAA;
	font-size: 1.2rem;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 36px;
	width: 208px;
}

.cp-list__typeLimit a.hover {
	background: rgba(255, 255, 255, .7);
}

@media (min-width: 600px) {
	.cp-list__typeLimit__outer {
		background: url("../img/footprint_type_limit_bg_large.png") no-repeat;
	}
	.cp-list__typeLimit a {
		width: 280px;
	}
}

@media (max-width: 360px) {
	.cp-list__typeLimit__outer {
		background: url("../img/footprint_type_limit_bg.png") no-repeat center;
		background-size:100% auto;
		bottom: 130px;
		margin: 0 15px -70px 87px;
	}

	.cp-list__typeLimit__outer--nice{
		bottom: 150px;
	}
	
	.cp-list__typeLimit a {
		background: #fff;
		box-shadow: 0 0 8px 0 rgba(24, 149, 164, .2);
		border-radius: 16px;
		color: #479FAA;
		font-size: 1.1rem;
		font-weight: bold;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 32px;
		width: 180px;
	}
}

/*====================================================
	リブランディング1次カラー変更
====================================================*/
/* ヘッダータイトル */
.re-brand-common .cp-title {
	color: #303030;
}

.re-brand-common .cp-title__back a {
	display: block;
	fill: #303030;
}

.re-brand-common .cp-title__back a.hover {
	fill: rgba(48,48,48,0.4);
}

/* テキストカラー */
.re-brand-common .cp-container {
	color: #303030;
}

.re-brand-common .cp-textColor--sub {
	color: rgba(48,48,48,0.4);
}

.re-brand-common .cp-form__item__alert {
	color: #ff3d3e;
}

.re-brand-common .cp-textColor--primary {
	color: #bb5345;
}

/* リスト */
.re-brand-common .cp-list__container {
	border-top: solid 1px rgba(48,48,48,0.1);
	color: #303030;
}

.re-brand-common a .cp-list__container:hover {
	background-color:  rgba(48,48,48,0.05);
}

/* ボタン */
.re-brand-common .cp-btn--basic {
	background: #b55c50;
	font-weight: bold;
}

.re-brand-common .cp-btn--basic.hover {
	background: #924a46;
}

/* ボタン（強調：赤） */
.re-brand-common .cp-btn--em {
	background: #CF3F50;
	font-weight: bold;
}

.re-brand-common .cp-btn--em.hover {
	background: #AF3C4A;
}

/* キャンセルボタン */
.re-brand-common .cp-btn--cancel {
	background: rgba(48, 48, 48, 0.2);
	color: rgba(48, 48, 48, 0.75);
	font-weight: bold;
}

.re-brand-common .cp-btn--cancel.hover {
	background: rgba(48, 48, 48, 0.4);
}

/* サブボタン */
.re-brand-common .cp-btn--grayBorder,
.re-brand-common .cp-btn--grayBorder + label {
	border: solid 1px rgba(48, 48, 48, 0.2);
	color: #303030;
}
.re-brand-common .cp-btn--grayBorder.hover,
.re-brand-common .cp-btn--grayBorder + label.hover {
	background: rgba(48, 48, 48, 0.1);
}

/* 閉じるボタン */
.re-brand-common .cp-btn__close {
	position: relative;
	top: -1px;
	left: -1px;
	width: 1px;
	height: 15px;
	background: #303030;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.re-brand-common .cp-btn__close::before {
	content: "";
	position: absolute;
	left: -7px;
	top: 7px;
	width: 15px;
	height: 1px;
	background: #303030;
}

/* ヘルプ */
.re-brand-common .cp-link__helpText {
	color: #303030
}

.re-brand-common .cp-link__helpText::before {
	background: rgba(48,48,48,0.4);
}

/* 最終ログインマーク */
.re-brand-common .cp-mark--online, 
.re-brand-common .cp-mark--loginTime {
	padding: 0 0 0 13px;
	position: relative;
}

.re-brand-common .cp-mark--online::before, 
.re-brand-common .cp-mark--loginTime::before {
	border-radius: 50%;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -5px;
	height: 9px;
	width: 9px;
}

.re-brand-common .cp-mark--online::before {
	background: #80c166;
}

.re-brand-common .cp-mark--loginTime::before {
	background: #f2c039;
}

/* 横スクロール */
.re-brand-common .cp-hScroll__text {
	color: #303030;
	font-size: 1.2rem;
}

/* 0件時テキスト */
.re-brand-common .cp-result--noData p {
	color: rgba(48, 48, 48, .75);
}

/* ---------------------------------------------------
   タブ
----------------------------------------------------*/
/* アクティブタブのデザイン */
.re-brand-common #tabContent1:checked ~ .cp-tabList__group .cp-tabList__item1 .cp-tabLabel, 
.re-brand-common #tabContent2:checked ~ .cp-tabList__group .cp-tabList__item2 .cp-tabLabel, 
.re-brand-common #tabContent3:checked ~ .cp-tabList__group .cp-tabList__item3 .cp-tabLabel, 
.re-brand-common #tabContent4:checked ~ .cp-tabList__group .cp-tabList__item4 .cp-tabLabel {
	color: #bb5345;
}

/* タブデザイン */
.re-brand-common .cp-tabLabel {
	color: rgba(48, 48, 48, 0.4);
}

.re-brand-common .cp-tabLabel::after {
	background: #bb5345;
}

/* タブ押下時のデザイン */
.re-brand-common .cp-tabLabel.hover {
	color: #bb5345;
}

/* ---------------------------------------------------
   プレミアム関連
----------------------------------------------------*/
/* あなたからのいいね！プレミアムバナー */
.cp-keepMyself__banner img {
	width: 100%;
	vertical-align: top;
}

.cp-keepMyself__banner a {
	display: block;
	transition: opacity .2s;
}

.cp-keepMyself__banner a.hover {
	opacity: 0.8;
}
