/*---------------------------------------------
  PROFILE/BIOGRAPHY
---------------------------------------------*/


/**** biography ****/

#profile .biography {
	margin-bottom:128px;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

#profile .biography dl {
}


@media screen and (max-width: 767px) {

#profile .biography dt {
	margin-bottom:32px;
}

}

/**** profile ****/

#profile .profile {
	width: 100%;
}

#profile .profile > ul {
	display: flex;
	flex-direction: column;
	width: 100%;
}

#profile .profile li {
	margin-bottom: 0;
	position: relative;
	background: #fff;
	padding: 120px 0;
}

#profile .profile li.airi {
	background: #FD81BB;
}

#profile .profile li.daigo {
	background: #46CCFF;
}

#profile .profile li.shindi {
	background: var(--yellow);
}

#profile .profile li.takeko {
	background: #985ecc;
}

#profile .profile li.unpisama {
	background: #52CC52;
}

#profile .profile dl {
	display:flex;
	justify-content:space-between;
	max-width: 1000px;
	margin: 0 auto;
	flex-direction: row;
}

@media screen and (max-width: 991px) {

	#profile .profile dl {
    flex-direction: column;
    padding-left: 15px;
    padding-right: 15px;
	}

	#profile .profile dt {
		margin:0 auto 20px;
		max-width:450px;
	}

	#profile .profile dd .name {
		font-size:16px;
		margin-bottom:32px;
	}

	#profile .profile dd .name .font-accent {
		font-size:42px;
		display:block;
		line-height:1;
		margin-bottom:8px;
	}

	#profile .profile li {
		padding: 60px 0;
	}

	#profile.profile-b .profile dd .name .tag {
		font-size: 16px;
    margin-bottom: 20px;
	}

}

/**** profileカスタム ****/

#profile .main {
	display: block;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}

#profile .main img {
	border: 5px solid  var(--default);
	border-radius: 20px;
	box-shadow: 6px 6px 0 var(--default);
}

/**** members list ****/

.member-list {
	position: relative;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}

.member-list ul {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	margin-bottom: 45px;
	gap: 16px;
}

.member-list ul li {
	display: block;
	width: 100%;
}

.member-list ul li a {
	display: block;
	background: #fff;
	text-align: center;
	border: 3px solid var(--default);
	border-radius: 30px;
	box-shadow: 3px 3px 0 var(--default);
	max-height: 45px;
	max-width: 220px;
	font-size: 22px;
	font-weight: 800;
	color: var(--default);
}

/**** 各メンバー色 ****/

.member-list ul li:first-child a {
	border: 3px solid #C8146A;
	color: var(--pink);
}

.member-list ul li:first-child a.active {
    background: var(--pink);
    color: #fff;
}

.member-list ul li:nth-child(2) a {
	border: 3px solid #0C8EC0;
	color: var(--blue);
}

.member-list ul li:nth-child(2) a.active {
	background: var(--blue);
	color: #fff;
}

.member-list ul li:nth-child(3) a {
	border: 3px solid #FFD700;
	color: var(--yellow);
}

.member-list ul li:nth-child(3) a.active {
	background: var(--yellow);
	color: #fff;
}

.member-list ul li:nth-child(4) a {
	border: 3px solid #985ecc;
	color: #985ecc;
}

.member-list ul li:nth-child(4) a.active {
	background: #985ecc;
	color: #fff;
}

.member-list ul li:nth-child(5) a {
	border: 3px solid #259925;
	color: #259925;
}

.member-list ul li:nth-child(5) a.active {
	background: #259925;
	color: #fff;
}

.anchor-height {
	width: 1px;
	height: 1px;
	opacity: 0;
	transform: translateY(-55px);
}

.three-color-dashed {
	position: relative;
}

.three-color-dashed:first-of-type::before {
	content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 32px;

  background: repeating-linear-gradient(
    90deg,
    var(--pink) 0 226px,
    transparent 226px 242px,

    var(--yellow) 242px 468px,
    transparent 468px 484px,

    var(--blue) 484px 710px,
    transparent 710px 726px
  );
}

.three-color-dashed::after {
	content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 32px;

  background: repeating-linear-gradient(
    90deg,
    var(--pink) 0 226px,
    transparent 226px 242px,

    var(--yellow) 242px 468px,
    transparent 468px 484px,

    var(--blue) 484px 710px,
    transparent 710px 726px
  );
}

.three-color-dashed::before {
  top: 0;
}

.three-color-dashed::after {
  bottom: 0;
}

@media screen and (max-width: 991px) {
	.member-list ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 16px;
		grid-template-columns: none;
		margin-bottom: 35px;
	}

	.member-list ul li {
		width: calc((100% - 32px) / 3);
	}

	.member-list ul li:nth-last-child(-n + 2) {
		width: calc((100% - 16px) / 3);
	}

	.member-list ul li a {
    font-size: 16px;
    max-width: 100%;
	}

	#profile .sns-link-list {
		justify-content: center;
		margin-top: 24px;
	}
	
}

/**** sns list ****/

#profile .sns-link-list {
  display: flex;
  gap: 26px;
  margin-bottom: 0;
  margin-top: 20px;
}

#profile .sns-link-list .sns-link-item {
  display: block;
  width: 50px;
  height: 50px;
}

#profile .sns-link-list .sns-link-item img {
  margin-bottom: 0;
}

#profile .sns-link-list li {
  margin-bottom: 0;
  padding: 0;
  background: none;
}

/*------------------
  TYPE-A
------------------*/

#profile.profile-a .main {
	margin-bottom:64px;
}

/**** biography ****/

#profile.profile-a .biography dl {
	display:flex;
	flex-direction:column;
	align-items: center;
	justify-content: space-between;
}

#profile.profile-a .biography dt {
width: 100%;
}

@media screen and (min-width: 768px) {
#profile.profile-a .biography dl {
flex-direction: row;
}

#profile.profile-a .biography dt {
	flex-basis: 48%;
}

#profile.profile-a .biography dd {
	flex-basis: 48%;
}

}


/**** profile ****/

@media screen and (min-width: 768px) {

#profile.profile-a .profile li:nth-child(odd) dl {
flex-direction: row;
}

#profile.profile-a .profile li:nth-child(even) dl {
flex-direction: row-reverse;
}


#profile.profile-a .profile dt {
	flex-basis: 35%;
}

#profile.profile-a .profile dd {
	flex-basis: 60%;
}


#profile.profile-a .profile dd .name {
	font-size:20px;
	margin-bottom:32px;
}

#profile.profile-a .profile dd .name .font-accent {
	font-size:56px;
	display:block;
	line-height:1;
	margin-bottom:16px;
}

#profile.profile-a .profile li:nth-child(odd) .name {
	text-align:right;
}

#profile.profile-a .profile li:nth-child(even) .name {
	text-align:left;
}

}


/*------------------
  TYPE-B
------------------*/

/**** biography ****/

#profile .job-main {
	display: block;
	max-width: 1400px;
	margin-top: 35px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 15px;
	padding-right: 15px;
}

#profile.profile-b .biography dt {
	width: 100%;
	margin: 36px 0 26px;
	font-size: 2.3rem;
	text-align: center;
	font-weight: 800;
	line-height: 1.5;
}

#profile.profile-b .biography dt br {
	display: block;
}

#profile.profile-b .biography dd {
	font-size: 26px;
	text-align: center;
	font-weight: 800;
	margin-bottom: 52px;
}

#profile.profile-b .biography dd span {
	position: relative;
	display: inline-block;
}

#profile.profile-b .biography dd span:after {
	content: "";
	position: absolute;
	display: block;
	width: 50%;
	height: 3px;
	background: var(--pink);
	right: 0;
	left: 0;
	margin: 0 auto;
}

#profile.profile-b .biography dd .collab {
	display: flex;
	gap: 16px;
	justify-content: center;
	margin-top: 26px;
}

#profile.profile-b .biography dd .collab li {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 380px;
}

#profile.profile-b .biography dd .collab li p {
	font-size: 18px;
}

#profile .more-btn {
	background: var(--yellow);
	color: var(--default);
	border: 4px solid var(--default);
	box-shadow: 5px 5px 0 var(--default);
	display: block;
	width: 100%;
	height: 70px;
	max-width: 480px;
	text-align: center;
	border-radius: 60px;
	font-size: 24px;
	font-weight: 800;
	line-height: 2.5;
	margin: 0 auto;
	position: relative;
	animation: jumpHappy 1.6s infinite;
  transform-origin: center bottom;
}

#profile .more-btn:hover {
	opacity: 1;
  transform: translate(5px, 5px);
  color: var(--default);
  border: 4px solid var(--default);
  box-shadow: 0 0 0 var(--default);
}

	@keyframes jumpHappy {
    0%, 100% {
        transform: translateY(0) scale(1);
    }

    10% {
        transform: translateY(0) scaleX(1.05) scaleY(.95);
    }

    30% {
        transform: translateY(-18px) scale(1);
    }

    40% {
        transform: translateY(-22px) rotate(-3deg);
    }

    50% {
        transform: translateY(-18px) rotate(3deg);
    }

    70% {
        transform: translateY(0) scaleX(1.08) scaleY(.92);
    }

    80% {
        transform: translateY(-6px);
    }
	}

@media screen and (max-width: 991px) {

	#profile .biography {
		padding-left: 15px;
		padding-right: 15px;
		margin-bottom: 45px;
	}

	#profile.profile-b .biography dt {
		width:100%;
		font-size: 16px;
	}

	#profile.profile-b .biography dd .collab {
		flex-direction: column;
	}

	#profile.profile-b .biography dd .collab li {
		max-width: 100%;
		min-width: 250px;
	}

	#profile.profile-b .biography dd .collab li p {
		font-size: 16px;
	}

	#profile .more-btn {
		max-width: 260px;
	}

}

@media screen and (max-width: 991px) {
	#profile.profile-b .biography dt br {
		display: none;
	}
}


/**** profile ****/

#profile.profile-b .profile dt {
	position: relative;
	flex-basis: 35%;
}

/**** profile吹き出し ****/

.speech-bubble {
  --bubble-color: #fff;
  --shadow-color: #000;
  position: relative;
  display: inline-block;
  padding: 16px;
  max-width: 450px;
  background: var(--bubble-color);
  border: 4px solid #fff;
  border-radius: 24px;
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  line-height: 1.2;
  max-width: 450px;
  box-shadow: 6px 6px 0 var(--shadow-color);
}

.speech-bubble::before {
  content: "";
  position: absolute;
  left: 38px;
  bottom: -28px;
  width: 0;
  height: 0;
  border-top: 28px solid var(--bubble-color);
  border-left: 36px solid transparent;
}

.speech-bubble::after {
  content: "";
  position: absolute;
  left: 43px;
  bottom: -21px;
  width: 0;
  height: 0;
  border-top: 22px solid var(--bubble-color);
  border-left: 28px solid transparent;
}

.airi .speech-bubble {
	--bubble-color: var(--pink);
  --shadow-color: #760B3D;
}

.daigo .speech-bubble {
	--bubble-color: #0091EB;
  --shadow-color: #004559;
}

.shindi .speech-bubble {
	--bubble-color: #F2C100;
  --shadow-color: #814B01;
}

.takeko .speech-bubble {
	--bubble-color: #6e36a1;
  --shadow-color: #44176d;
}

.unpisama .speech-bubble {
	--bubble-color: #259925;
  --shadow-color: #0C330C;
}

/**** profileメンバー画像 ****/

#profile.profile-b .profile dt {
	position: relative;
}

#profile.profile-b .profile .member-img {
	position: relative;
	width: fit-content;
	margin: 0 auto;
}

#profile.profile-b .profile .member-img::before {
	content: "";
	position: absolute;
	top: 47%;
	left: 50%;
	width: 100%;
	height: 100%;
	max-width: 330px;
	max-height: 330px;
	min-width: 245px;
	min-height: 245px;
	transform: translate(-50%, -50%);
	border: 4px dashed var(--circle-color, var(--default));
	border-radius: 50%;
	box-sizing: border-box;
	pointer-events: none;
	z-index: 2;
}

/* 各メンバーカラー */
#profile.profile-b .profile .airi .member-img::before {
	border: 4px dashed var(--circle-color, #C8146A);
}

#profile.profile-b .profile .daigo .member-img::before {
	border: 4px dashed var(--circle-color, #2547AB);
}

#profile.profile-b .profile .shindi .member-img::before {
	border: 4px dashed var(--circle-color, #F15722);
}

#profile.profile-b .profile .takeko .member-img::before {
	border: 4px dashed var(--circle-color, #985ecc);
}

#profile.profile-b .profile .unpisama .member-img::before {
	border: 4px dashed var(--circle-color, #259925);
}

#profile.profile-b .profile dt .member-img img {
	position: relative;
	z-index: 1;
	top: -10px;
	border-radius: 50%;
	border: 3px solid var(--default);
	box-shadow: 4px 4px 0 var(--default);
	display: block;
}

#profile.profile-b .profile dd .name .tag {
	display: inline-block;
	background: #fff;
	padding: 5px 20px;
	border-radius: 30px;
	border: 2px solid var(--default);
	max-width: 520px;
	min-width: 260px;
	text-align: center;
	max-height: 42px;
	line-height: 1.4;
	margin-bottom: 26px;
	box-shadow: 3px 3px 0 var(--default);
	font-weight: 800;
	font-size: 20px;
}

#profile.profile-b .profile .airi dd .name .tag {
	color: var(--pink);
}

#profile.profile-b .profile .daigo dd .name .tag {
	color: var(--blue);
}

#profile.profile-b .profile .shindi dd .name .tag {
	color: var(--yellow);
	text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

#profile.profile-b .profile .takeko dd .name .tag,
#profile.profile-b .profile .unpisama dd .name .tag {
	color: #259925;
}

#profile.profile-b .profile dd .name .font-accent {
	color: #fff;
}

#profile.profile-b .profile dd .name {
	color: #fff;
}

#profile.profile-b .profile .shindi dd .name {
	text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

#profile.profile-b .profile dd .txt {
	border: 2px solid var(--default);
	padding: 16px;
	background: rgba(26, 26, 26, 0.4);
	border-radius: 14px;
	color: #fff;
}

#profile.profile-b .profile dd .txt .profile-list {
	margin: 0;
	padding: 0;
}

#profile.profile-b .profile dd .txt .profile-list li {
	background: none;
	padding: 0;
	display: flex;
	gap: 16px;
	margin-bottom: 12px;
	font-size: 16px;
}

#profile.profile-b .profile dd .txt .profile-list li .label {
	width: 100px;
	flex-shrink: 0;
	color: var(--yellow);
}

#profile.profile-b .profile dd .txt .profile-list li .value {
	color: #fff;
}

#profile.profile-b .profile dd {
	flex-basis:60%;
}

#profile.profile-b .profile dd .name {
	font-size:26px;
	margin-bottom:26px;
}

#profile.profile-b .profile dd .name .font-accent {
	font-size:56px;
	display: flex;
	align-items: center;
	line-height:1;
	margin-bottom:16px;
}

#profile.profile-b .profile dd .name .font-accent img {
	max-width: 100px;
	max-height: 56px;
}

#profile.profile-b .profile .airi dd .name .font-accent img {
	margin-left: 20px;
}

@media screen and (max-width: 991px) {
	#profile.profile-b .profile dd .name .font-accent {
		font-size: 42px;
	}

	#profile.profile-b .profile dd .name {
		margin-bottom: 20px;
	}

	#profile.profile-b .profile dd .txt .profile-list li {
		gap: 12px;
	}

	#profile.profile-b .profile dd .name .tag {
		font-size: 13px;
		padding: 5px 16px;
	}
}


/*------------------
  TYPE-C
------------------*/

/**** biography ****/

#profile.profile-c .biography dt {
	width:50%;
	margin: 32px auto;
}


@media screen and (max-width: 767px) {

#profile.profile-c .biography dt {
	width:80%;
}

}

/**** profile ****/


@media screen and (min-width: 768px) {

#profile.profile-c .profile dl {
flex-direction:row;
}

#profile.profile-c .profile ul {
display: flex;
flex-wrap:wrap;
}
	
#profile.profile-c .profile li {
flex-basis: 47.5%;
}

#profile.profile-c .profile li:nth-child(2n+1) {
  margin-right: 5%;
}
	
#profile.profile-c .profile dt {
	flex-basis: 45%;
}

#profile.profile-c .profile dd {
	flex-basis: 50%;
}

#profile.profile-c .profile dd .name {
	font-size:20px;
	margin-bottom:16px;
}

#profile.profile-c .profile dd .name .font-accent {
	font-size:48px;
	display:block;
	line-height:1;
}

}