@charset "utf-8";
/* CSS Document */

/*==============================*/
/* メンバー一覧 */
/*==============================*/
div.memberWrap{
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

div.member{
	width: calc(calc(100% - 40px * 2) / 3);
}
div.member a{
	display: flex;
	flex-direction: column;
	height: 100%;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.memberWrap{ gap: 32px;}
		div.member{ width: calc(calc(100% - 32px * 1) / 2);}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.memberWrap{
			flex-direction: column;
			gap: 20px;
		}

		div.member{
			width: 100%;
		}
	}


/*---------------------------------
   画像
---------------------------------*/
div.member figure{
	background: #ECF1F5;
	text-align: center;
}
div.member a:hover figure{ background: #E4F4F9;}


/*---------------------------------
   コンテンツ
---------------------------------*/
div.member div{
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 16px 20px 16px 20px;
	background: #F8F8F8;
}

/*-- 
------------------------- */
div.member div h3{
	margin-bottom: 12px;
	color: #000;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.58em;
}

/*-- 
------------------------- */
div.member p{
	margin-top: auto;
	color: #333;
	font-size: 14px;
	line-height: 1.5em;
	letter-spacing: 0.02em;
	font-weight: 500;
}
div.member p small{
	display: block;
	color: #00abdc;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em;
}


/*==============================*/
/* メンバー詳細 */
/*==============================*/
div.memberDetail-wrap{
	width: min(960px,100%);
	margin: 0 auto;
}

div.memberDetail{
	width: min(720px,100%);
	margin: 0 auto;
}



/*---------------------------------
   Visual
---------------------------------*/
p.memberVisual{
	margin-bottom: 64px;
	background: #E3F4F9;
	text-align: center;
}
p.memberVisual img{ width: 360px;}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		p.memberVisual{
			margin-bottom: 48px;
		}
		p.memberVisual img{ width: 200px;}
	}


/*---------------------------------
   名前
---------------------------------*/
div.memberDetail div.memberDetail-name{ margin-bottom: 40px;}

div.memberDetail div.memberDetail-name div{
	display: flex;
	gap: 24px;
	margin-bottom: 4px;
}
div.memberDetail div.memberDetail-name div h1{
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3em;
}
div.memberDetail div.memberDetail-name div h1 small{
	display: block;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.02em;
}
div.memberDetail div.memberDetail-name div ul{
	display: flex;
	gap: 12px;
	padding-top: 8px;
}
div.memberDetail div.memberDetail-name div ul li{
	width: min(24px,100%);
}
div.memberDetail div.memberDetail-name div ul li a:hover{ opacity: 0.7;}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.memberDetail div.memberDetail-name div h1{
			font-size: 30px;
		}
	}


/*-- 役職
------------------------- */
div.memberDetail div.memberDetail-name p{
	color: #7d7d7d;
	letter-spacing: 0.02em;
}


/*---------------------------------
   Section
---------------------------------*/
div.memberDetail div.memberSection:not(:last-child){ margin-bottom: 48px;}

div.memberDetail div.member-subSection > div:not(:last-child){ margin-bottom: 36px;}



/*---------------------------------
   Title
---------------------------------*/

/*-- 
------------------------- */
div.memberDetail h2{
	margin-bottom: 20px;
	color: #000;
	font-size: 21px;
	font-weight: 700;
	line-height: 1.6em;
	letter-spacing: 0.02em;
}

/*-- 
------------------------- */
div.memberDetail h3{
	color: #00abdc;
	margin-bottom: 28px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.6em;
	letter-spacing: 0.02em;
}

/*-- 
------------------------- */
div.memberDetail h4{
	position: relative;
	margin-bottom: 16px;
	padding-left: 32px;
	color: #000;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.618em;
}
div.memberDetail h4::before{
	position: absolute; top: 14px; left: 0;
	content: "";
	width: 20px;
	height: 1px;
	background: #000;
}


/*---------------------------------
   Schedule
---------------------------------*/
div.memberDetail dl.memberSchedule > dt{
	margin-bottom: 12px;
	color: #000;
	font-weight: 500;
}


div.memberDetail dl.memberSchedule dd dl{
	display: flex;
	gap: 24px;
}
div.memberDetail dl.memberSchedule dd dl:not(:last-child){ margin-bottom: 4px;}
div.memberDetail dl.memberSchedule dd dl dt{
	flex: 0 0 44px;
}
div.memberDetail dl.memberSchedule dd dl dd{
	flex: 1;
	min-width: 0;
}




/*---------------------------------
   Wantedly
---------------------------------*/
div.wantedlyBox{
	margin-top: 72px;
	padding: 38px 24px 44px 24px;
	background: #F3F4F6;
	text-align: center;
}
div.wantedlyBox h3{
	margin-bottom: 8px;
}


div.wantedlyBox p{
	width: min(336px,100%);
	margin: 0 auto;
}
div.wantedlyBox p a{
	position: relative;
	display: block;
	padding: 14px 0 15px 0;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	transition: all 300ms;
	background: #18282b;
	border-radius: 200px;
}
div.wantedlyBox p a::after{
	position: absolute; top: 50%; right: 20px;
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #0FAAD8;
    border-right: 1px solid #0FAAD8;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -5px;
}
div.wantedlyBox p a:hover {
	background-color: #00abdc;
	box-shadow: 0 0 0 1px #00abdc inset;
	color: #fff;
	transform: translateY(-3px);
}
div.wantedlyBox p a:hover::after{
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
