@charset "utf-8";

ul.profileList{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
ul.profileList::after{
	content: "";
	display: inline-block;
	width:calc(100% / 3 - 20px);
}
ul.profileList li{
	margin-bottom: 40px;
	width:calc(100% / 3 - 20px);
}
ul.profileList li a{
	width: 100%;
	height: 100%;
}
ul.profileList li a .profileBox{
	width: 100%;
	height: 30vw;
	max-height: 430px;
	position: relative;
}
@media screen and (max-width:768px){
	ul.profileList{
		display: block;
	}
	ul.profileList li{
		width: 100%;
	}
	ul.profileList li a .profileBox{
		height: 100vw;
		max-height: 500px;
	}
}
ul.profileList li a .photo{
	width: 100%;
	height: 100%;
	overflow: hidden;
}
ul.profileList li a .photo img{
	transition: transform .3s ease;
	height: 100%;
	margin: auto;
	max-width: 100%;
	max-height: 100vh;
	object-fit: cover;
	width: 100%;
}
ul.profileList li a:hover .photo img{
	transform: scale(1.2);
}
ul.profileList li a .profileTxt{
	min-width: 70%;
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFFFFF;
	color: #29496F;
	box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1) ;
	-webkit-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1) ;
	-moz-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1) ;
	-o-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1) ;
	-ms-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1) ;
}
ul.profileList li a .profileTxt .dept{
	margin-bottom: 10px;
	padding: 4px 20px;
	background-color: #29496F;
	color: #FFFFFF;
	font-weight: bold;
}
ul.profileList li a .profileTxt .date,
ul.profileList li a .profileTxt .name{
	padding: 0 20px;
}
ul.profileList li a .profileTxt .name{
	margin-bottom: 10px;
	font-family: "Noto Serif JP", serif;
	font-size: 20rem;
	font-weight: bold;
}
ul.profileList li a .profileTxt .name span{
	display: block;
	font-family: Roboto, sans-serif;
	font-size: 13rem;
}
@media screen and (min-width:769px) and (max-width:1050px){
	ul.profileList li a .profileTxt .name{
		font-size: 1.9vw;
	}
}
@media screen and (max-width:768px){
	ul.profileList li a .profileTxt .name{
		font-size: 18rem;
	}
}
ul.profileList li a .moreLink{
	position: relative;
	padding-right: 30px;
	margin-top: 16px;
	text-align: right;
	color: #29496F;
	font-weight: bold;
}
ul.profileList li a .moreLink::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 24px;
    height: 24px;
    border-radius: 30px;
    transition: .3s;
    transform: translate(0%, -50%);
    border: 1px solid #29496F;
}
ul.profileList li a .moreLink:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    width: 8px;
    height: 8px;
    border-top: 1.2px solid #29496F;
    border-right: 1.2px solid #29496F;
    -webkit-transform: translate(0%, -50%) rotate(45deg);
    transform: translate(0%, -50%) rotate(45deg);
    transition: .3s;
}
ul.profileList li a:hover .moreLink{
	color: #B70B10;
}
ul.profileList li a:hover .moreLink::before{
	background-color: #29496F;
}
ul.profileList li a:hover .moreLink::after {
	border-top: 1.2px solid #FFFFFF;
	border-right: 1.2px solid #FFFFFF;
}

/*mainVisual*/
#mainVisual{
	position: relative;
}
#mainVisual .photo{
	margin-left: 7vw;
	height: calc(100vh - 150px);
	position: relative;
	overflow: hidden;
	z-index: -2;
}
#mainVisual .photo img{
	transition: transform .3s ease;
	height: 100%;
	margin: auto;
	max-width: 100%;
	max-height: 100vh;
	object-fit: cover;
	width: 100%;
}
#mainVisual .profileBox{
	position: absolute;
	bottom: 7%;
	left: 0;
}
@media screen and (max-width:1023px){
	#mainVisual .photo{
		margin-left: 15px;
		height: calc(100vh - 130px);
	}
	#mainVisual .profileBox{
		bottom: 15px;
	}
}
@media screen and (max-width:900px){
	#mainVisual .photo .spOnly{
		display: block;
	}
	#mainVisual .photo .pcOnly{
		display: none;
	}
}
#mainVisual .profileBox .profileTxt{
	width: 100%;
	min-width: 430px;
	background-color: #29496F;
	color: #FFFFFF;
	padding-bottom: 42px;
	box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1) ;
	-webkit-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1) ;
	-moz-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1) ;
	-o-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1) ;
	-ms-box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.1) ;
}
#mainVisual .profileBox .profileTxt .dept{
	margin-bottom: 30px;
	padding: 10px 64px 0 7vw;
	background-color: #FFFFFF;
	color: #29496F;
	font-size: 20rem;
	font-weight: bold;
}
#mainVisual .profileBox .profileTxt .date,
#mainVisual .profileBox .profileTxt h1.name{
	padding: 0 64px 0 7vw;
}
#mainVisual .profileBox .profileTxt .date{
	font-size: 20rem;
}
#mainVisual .profileBox .profileTxt h1.name{
	margin-bottom: 30px;
	width: 100%;
	font-family: "Noto Serif JP", serif;
	font-size: 40rem;
}
#mainVisual .profileBox .profileTxt h1 span{
	padding-top: 10px;
	font-size: 20rem;
}
@media screen and (max-width:1023px){
	#mainVisual .profileBox .profileTxt .dept{
		padding: 10px 64px 10px 15px;
	}
	#mainVisual .profileBox .profileTxt .date,
	#mainVisual .profileBox .profileTxt h1.name{
		padding: 0 64px 0 15px;
	}
}
@media screen and (max-width:768px){
	#mainVisual .profileBox .profileTxt{
		width: calc(100vw - 15px);
		min-width: 100%;
		max-width: 500px;
		padding-bottom: 28px;
	}
	#mainVisual .profileBox .profileTxt .dept{
		margin-bottom: 20px;
		padding: 8px 15px;
		font-size: 16rem;
	}
	#mainVisual .profileBox .profileTxt .date,
	#mainVisual .profileBox .profileTxt h1.name{
		padding: 0 15px;
	}
	#mainVisual .profileBox .profileTxt .date{
		font-size: 16rem;
	}
	#mainVisual .profileBox .profileTxt h1.name{
		margin-bottom: 20px;
		font-size: 32rem;
	}
	#mainVisual .profileBox .profileTxt h1 span{
		font-size: 16rem;
	}
}
@media screen and (max-width:500px){
	#mainVisual .profileBox .profileTxt h1.name{
		font-size: 7vw;
	}
	#mainVisual .profileBox .profileTxt h1 span{
		font-size: 16rem;
	}
}

ul.interviewContents li{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	position: relative;
}
ul.interviewContents li + li{
	margin-top: 40px;
}
ul.interviewContents li .interviewImg{
	margin-bottom: 40px;
	max-width: 500px;
	max-height: 375px;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
ul.interviewContents li .interviewImg img{
	width: 100%;
}
ul.interviewContents li .interviewTxt{
	width:100%;
	padding: 56px 40px 32px;
	background-color: #F6F8FA;
}
ul.interviewContents li .interviewImg + .interviewTxt{
	max-width:calc(100% - 460px);
	margin: 40px 0 0 auto;
	padding: 56px 40px 32px 80px;
	min-height: 375px;
}
ul.interviewContents li.imgRight{
	flex-direction: row-reverse;
}
ul.interviewContents li.imgRight .interviewImg{
	left: auto;
	right: 0
}
ul.interviewContents li.imgRight .interviewImg + .interviewTxt{
	margin: 40px auto 0 0;
	padding: 56px 80px 32px 40px;
}
ul.interviewContents li .interviewTxt h3{
	position: relative;
	padding-left: 30px;
	color: #29496F;
}
ul.interviewContents li .interviewTxt h3::after{
	content: "";
	position: absolute;
	top: 20px;
	left: 0;
	width: 20px;
	height: 1px;
	background-color: #B70B10;
}
ul.interviewContents li .interviewTxt p + h3{
	margin-top: 56px;
}
ul.interviewContents li .interviewTxt p{
	display: -webkit-flex;
	display: flex;
}
ul.interviewContents li .interviewTxt p span{
	 white-space: nowrap;
	padding-right: 8px;
	font-weight: bold;
}
ul.interviewContents li .interviewTxt p span.blue{
	color: #29496F;
}
ul.interviewContents li .interviewTxt p span.red{
	color: #B70B10;
}
@media screen and (max-width:768px){
	ul.interviewContents li,
	ul.interviewContents li.imgRight{
		flex-direction: column-reverse;
	}
	ul.interviewContents li + li{
		margin-top: 24px;
	}
	ul.interviewContents li .interviewTxt h3::after{
		top: 16px;
	}
	ul.interviewContents li .interviewImg{
		margin-bottom: 0;
		max-width: 100%;
		max-height: 100%;
		position: static;
	}
	ul.interviewContents li .interviewTxt,
	ul.interviewContents li .interviewImg + .interviewTxt,
	ul.interviewContents li.imgRight .interviewImg + .interviewTxt{
		max-width:100%;
		margin: 0;
		min-height: 100%;
		padding: 32px 15px 24px;
	}
}
.interviewImg_full{
	width: 100vw;
	height: 100%;
}
.interviewImg_full img{
	width: 100%;
	height: 100%;
}

#schedule{
	position: relative;
}
#schedule::after{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%,0%)skewX(-25deg);
    width: 100%;
    height: 100%;
    margin:0 auto;
    background-color: #F6F8FA;
	z-index: -1;
}
#schedule .case{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	text-align: center;
	flex-direction: column;
}
#schedule .case .photo{
	margin: 0 auto 16px;
	width: 100px;
	height: 100px;
	border-radius: 100px;
	overflow: hidden;
}
#schedule .tableDesignB {
    max-width: 800px;
}
#schedule .tableDesignB th {
	text-align: right;
}
#schedule .tableDesignB tbody:before {
	height:calc(100% - 52px);
}
#schedule .tableDesignB tbody:after {
	display: none;
}
#schedule .tableDesignB td span.tdImg {
	display: block;
	max-width: 500px;
	margin-top: 8px;
}
#schedule .tableDesignB td span.tdImg img{
	width: 100%;
	height: 100%;
}
#schedule .tableDesignB + .case{
	margin-top: 40px;
}
@media screen and (min-width: 769px) {
	#schedule .tableDesignB th span {
		width: 100%;
		padding-right: 10px;
		display: block;
		writing-mode: vertical-rl;
		font-size: 16rem;
	}
}
@media screen and (max-width: 768px) {
	#schedule .tableDesignB th,
	#schedule .tableDesignB td {
		display: block;
	}
	#schedule .tableDesignB th {
		text-align: left;
	}
	#schedule .tableDesignB tbody:before {
		height:calc(100% - 62px);
	}
	#schedule .tableDesignB td span.tdImg {
		max-width: 100%;
	}
}