@charset "UTF-8";
body {
  background-color: #ffffff;
}

a {
  color: #000;
}

.btn--main {
  background: #2FC4DB;
  color: #fff;
}

.btn--sub {
  background: transparent;
  color: #2FC4DB;
}

.detail__btn a::before {
  border-color: #000000;
}

.btn--chevron {
  color: #413147;
}
.btn--chevron::after {
  border-color: #413147;
}

.btn--chevron-left {
  color: #2FC4DB;
}
.btn--chevron-left::after {
  border-color: #2FC4DB;
}

header {
  padding: 2em 5% 0;
}
header h1 {
  width: 20vw;
  margin: 20px auto;
  position: relative;
  max-width: 200px;
}
header h1 svg {
  fill: #000;
}

.section--login {
  padding-top: 0;
}

.wrap {
  background: #ffffff;
}

.block--attention {
  font-size: 14px;
  border: solid 1px;
  padding: 20px;
  border-radius: 6px;
}

/*
.page--mypage h1.logo {
	width: 150px;
}
.page--mypage .detail__btn {
	margin-top: 50px;
}
.mypage .btn.card {
	margin-bottom: 40px;
}
.block--card {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,.8);
	transition: none;
	.card {
		position: relative;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: 322px;
		.close {
			position: absolute;
			width: 40px;
			height: 40px;
			right: 0;
			top: -50px;
			cursor: pointer;
			&:hover {
				opacity: .4;
			}
			&::before,&::after {
				content: '';
				display: block;
				width: 40px;
				height: 1px;
				background: #744896;
				position: absolute;
				top: 50%;
				left: 0;
			}
		}
		.inner {
			box-shadow: 2px 3px 14px rgba(178,128,208,.5);
			border-radius: 10px;
			z-index: 10;
			position: relative;
			padding: 285px 0 0;
			background: url(/static/frederic/fanclub/mypage/ph_artist.jpg) no-repeat 50% 90%;
			background-size: 100%;
			overflow: hidden;
			&::before {
				content: '';
				position: absolute;
				bottom: -132px;
				right: 13px;
				z-index: -1;
				width: 405px;
				height: 228px;
				border: solid 1px #DEC1EF;
				border-top-right-radius: 130px;
				background: #E9D7F7;
				transform: rotate3d(0, 0, 1, 28deg);
			}
			&::after {
				content: '';
				position: absolute;
				bottom: -81px;
				left: 0;
				z-index: -2;
				width: 554px;
				height: 277px;
				border: solid 1px #EDC0DE;
				background-size: auto auto;
				background-color: rgba(254, 250, 255, 1);
				background-image: repeating-linear-gradient(0deg, transparent -.4px, transparent 17px, #faf2ff 17px, #faf2ff 34px);
				transform: rotate3d(0, 0, 1, -28deg);
			}
			.logo {
				width: 58%;
				margin: 0 10px -22px auto;
				filter: drop-shadow(3px 3px 0px #ffffff);
			}
			.list--data {
				li {
					padding-bottom: 6px;
					&:last-of-type {
						padding-bottom: 20px;
					}
					dl {
						display: inline-block;
						padding: 3px 12px 6px;
						border-top-right-radius: 50px;
						border-bottom-right-radius: 50px;
						background: #CFA3F2;
						.tit {
							display: inline-block;
							font-weight: 600;
							font-size: 10px;
							color: #FFFBA0;
							line-height: 1;
							letter-spacing: .02em;
						}
						.item__nickname {
							display: inline-block;
							margin-left: .5em;
							color: #FFFBA0;
							font-size: 11px;
							font-weight: 400;
							line-height: 1;
							word-break: break-all;
						}
						.item__term {
							display: inline-block;
							margin-left: 1em;
							color: #FFFBA0;
							font-size: 11px;
							font-weight: 400;
							line-height: 1;
							word-break: break-all;
						}
					}
				}
			}
		}
	}
}
.card-open .block--card .close {
	&::before {
		transform: rotate(45deg);
	}
	&::after {
		transform: rotate(-45deg);
	}
}
*/
/*
.card-open .list--menu, .card-open .tit--menu, .card-open .footer, .card-open header, .card-open .detail__btn, .card-open .btn.card {
	filter: blur(5px);
}
*/
/* PC */
@media screen and (min-width: 768px) {
  a:hover {
    color: #444;
  }

  .btn--main:hover {
    background: #413147;
  }

  .btn--sub:hover {
    color: #fff;
    background: #2FC4DB;
  }

  .detail__btn a::before {
    border-color: #000000;
  }

  .btn--chevron:hover {
    color: #2FC4DB;
  }
  .btn--chevron:hover::after {
    border-color: #2FC4DB;
  }

  .btn--chevron-left:hover {
    color: #2FC4DB;
  }
  .btn--chevron-left:hover::after {
    border-color: #2FC4DB;
  }
}
/* SP */
@media screen and (min-width: 1px) and (max-width: 767px) {
  header h1 {
    width: 25vw;
    margin: .5em auto .5em;
  }

  .block--attention {
    font-size: 13px;
    padding: 15px;
    border-radius: 4px;
  }
}
/* Tablet */
@media screen and (min-width: 570px) and (max-width: 960px) {
  .page--mypage h1.logo {
    width: 110px;
    margin-bottom: 5px;
  }
}
.list--menu .list--notes {
  padding-top: .5em;
  margin-bottom: 0;
}
.list--menu .list--notes li {
  border: none;
  margin-bottom: .5em;
}
.list--menu .list--notes li a {
  display: inline-block;
  text-decoration: underline;
  font-size: 11px;
  padding: 0;
  text-indent: 0;
}
.list--menu .list--notes li a::after {
  display: none;
}

/* 非会員 */
#mypage--app section .area--user-status.status--free {
  background: #999;
}

/* 有料会員 */
#mypage--app section .area--user-status.status--member {
  background: #2FC4DB;
}

/*
.message-baloon {
	display: block;
	position: relative;
	width: 90%;
	max-width: 300px;
	border-radius: 1em;
	border-bottom-right-radius: 4em;
	background-color: $secondary-color;
	transition: background-color .3s;
	a {
		display: block;
		color: $background-color;
		font-weight: bold;
		text-align: center;
	}
	&::after {
		content: "";
		display: inline-block;
		position: absolute;
		border: solid 12px transparent;
		border-right: solid 25px $secondary-color;
		-webkit-transform: rotate(25deg);
		transform: rotate(25deg);
	}
}
@media screen and (min-width: 768px) {
	.message-baloon {
		margin: 2em auto;
		background-color: $secondary-color;
		transition: background-color .3s;
		a {
			display: block;
			padding: 1em;
			font-size: 16px;
			line-height: 1.6;
		}
		&::after {
			top: .6em; 
			left: -2em;
			transition: border-color .3s;
		}
		&:hover {
			background-color: $primary-color;
			&::after {
				border-right-color: $primary-color;
			}
		}
	}
}
@media screen and (min-width: 1px) and (max-width: 767px) {
	.message-baloon {
		margin: 2em auto;
		background-color: $secondary-color;
		transition: background-color .3s;
		a {
			display: block;
			padding: 1em;
			font-size: 15px;
			line-height: 1.6;
		}
		&::after {
			top: .6em; 
			left: -2em;
			transition: border-color .3s;
		}
	}
}
*/
