/*=================================================
 * CSS for PC
 * ================================================= */

.prof_title{
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: space-between;
	height: 50px;
	padding: 0 15px;
	background: rgb(51,51,51);
	background: linear-gradient(90deg, rgba(51,51,51,1) 0%, rgba(245,245,245,1) 100%);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.prof_title em{
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	color: #fff;
}
.prof_title span{
	font-family: "FontA";
	font-size: 14px;
	line-height: 1;
	color: #333;
}


/** prof **/

#prof{
	width: 1200px;
	margin: 0 auto;
}
#prof_top{
	display: flex;
	margin: 0 0 40px 0;
}
#prof_top_l{
	flex: 1;
}
#prof_top_r{
	width: 570px;
	margin-left: 40px;
}


/** slide **/

#slide_bg{
	display: flex;
	background: rgba(1, 7, 132, 0.8);
	padding: 20px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#slide{
	position: relative;
	width: 450px;
	margin: 0;
}
#slide .slick-slide{
}
#slide img{
	width: 100%;
	height: auto;
	aspect-ratio: 200 / 300;
}
#slide .now{
	position: relative;
	width: 100%;
	font-size: 18px;
	line-height: 30px;
	text-align: left;
	color: #ff50a0;
	background: rgb(0,0,0);
	background: linear-gradient(90deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 100%);
	padding: 7px 7px 7px 30px;
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	position: absolute;
	bottom: 0;
	left: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#slide .now .material-icons{
	font-size: 20px;
	position: absolute;
	top: 11px;
	left: 7px;
}

.thumbs_bg{
	width: 87px;
	font-size: 0;
	line-height: 0;
	text-align: center;
	margin-left: 13px;
}
.thumbs .slick-track{
}
.thumbs .slick-slide{
	width: 87px !important;
	margin: 0 0 5.5px 0;
	cursor: pointer;
}
.thumbs .slick-slide:last-of-type{	margin-bottom: 0 !important;}
.thumbs img{
	width: 100%;
	height: auto;
	aspect-ratio: 200 / 300;
}
.thumbs .slick-track{
	transform:unset!important;
}

@media screen and (max-width: 750px) {
	#slide{
		position: relative;
		width: auto;
		margin: 0;
	}
	#slide .slider img{
		width: 100%;
		height: auto;
	}
	.thumbs .slick-slide{
		width: 50px !important;
		margin: 0 5px;
	}
}


/** name **/

#data{
	position: relative;
	color: #fff;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#name{
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	height: 145px;
	padding: 20px;
	background: rgba(1, 7, 132, 0.8);
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#name h3{
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	font-size: 32px;
	line-height: 32px;
	margin: 0 0 10px 0;
}
#name .size{
	font-size: 16px;
	line-height: 20px;
	margin: 0 0 0 0;
}
#name .size span{	color: #9a9de0;}
#name .icon{
	position: absolute;
	top: 0;
	right: 0;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#name .icon img{
	width: 60px;
	height: auto;
}
#name .blog_bt{
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	height: 35px;
	font-size: 16px;
	line-height: 20px;
	color: #fff;
	padding: 0 10px;
	margin-top: 9px;
	-webkit-transition	: 0.2s ease-in-out;
	-moz-transition	: 0.2s ease-in-out;
	-o-transition	: 0.2s ease-in-out;
	transition		: 0.2s ease-in-out;
	border: 1px solid currentColor;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#name .blog_bt:hover{
	text-decoration: none;
	color: #fff;
	opacity: 0.7;
	filter: alpha(opacity=70);
}


/** sche **/

#sche{
	background: rgba(1, 7, 132, 0.8);
	padding: 0 20px 20px 20px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#sche ul{
	display: flex;
	width: 100%;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#sche li{
	width: 100%;
	margin-right: 1px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#sche li:last-of-type{	border-right: none;}
#sche li .day{
	font-size: 12px;
	line-height: 18px;
	text-align: center;
	padding: 7px 0 5px 0;
	background: rgb(120,120,120);
	background: linear-gradient(225deg, rgba(120,120,120,1) 0%, rgba(39,39,39,1) 100%);
}
#sche li .day em{
	font-size: 16px;
	font-weight: bold;
}

#sche li div{
	width: 100%;
	height: 100px;
	display: inline-flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	font-size: 14px;
	line-height: 18px;
	text-align: center;
	color: #333;
	background: #fff;
}
#sche li div i{	font-style: normal;}
#sche li div .time{
	display: inline-block;
	vertical-align: top;
	font-size: 11px;
	line-height: 14px;
	color: #fff;
	background: #ff50a0;
	border-radius: 2px;
	margin: 0 0 7px 0;
	padding: 3px 6px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}


/** comment **/

.comment{
	text-align: left;
	background: rgba(1, 7, 132, 0.8);
	padding: 0 20px 20px 20px;
}
.comment_in{
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
	color: #333;
	background: #fff;
	padding: 15px;
	overflow-y		: auto;
	overflow-scrolling: touch;
	-webkit-overflow-scrolling: touch;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
#manager_comment{
	margin-bottom: 20px;
	padding: 0;
}
#data .comment_in{	height: 330px;}
#manager_comment .comment{	padding: 0;}
#manager_comment .comment_in{	height: 250px;}
.comment i{	font-style: italic; font-family: 'Hiragino Kaku Gothic ProN','Hiragino Sans','Yu Gothic UI', Meiryo, sans-serif;}
.comment u{	text-decoration: underline;}


/** review **/

#review{	padding: 0;}
.rvbox_bg{
	height: 490px;
	padding: 15px;
	overflow-y		: auto;
	overflow-scrolling: touch;
	-webkit-overflow-scrolling: touch;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.rv_toptxt{
	font-size: 16px;
	font-weight: normal;
	line-height: 1.5;
	text-align: left;
	background: #f1f1f8;
	border-radius: 10px;
	padding: 15px;
	margin-bottom: 15px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.rvbox{
	margin: 0 0 20px 0;
}
.rvbox:last-of-type{	margin-bottom: 0;}

.profbox{
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: flex-start;
	margin: 0 0 10px 0;
}
.profbox_l{
	width: 45px;
	margin-right: 10px;
}
.profbox_l img{
	width: 45px;
	height: auto;
}
.profbox_r dl{
	display: table;
	width: 100%;
	font-size: 0;
	line-height: 0;
}
.profbox_r dt,
.profbox_r dd{
	display: table-cell;
	vertical-align: middle;
	font-size: 14px;
	line-height: 18px;
	text-align: left;
}
.profbox_r dt{
	width: 58px;
	color: #010784;
}
.profbox_r dd{}
.rv_main{
	position: relative;
	font-size: 16px;
	line-height: 25px;
	padding: 15px;
	background: #f1f1f8;
	border-radius: 10px;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
}
.rv_main:after{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent #f1f1f8 transparent;
	border-width: 0px 6px 10px 6px;
	position: absolute;
	top: -10px;
	left: 16px;
}
.pc_none{	display: none;}


.comment.wow{
	animation-duration: 0s;
}


/*=================================================
 * CSS for SP
 * ================================================= */

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

	.pc_none{	display: inline;}
	.sp_none{	display: none;}


	.prof_title em{
		font-size: 16px;
	}

	/** prof **/
	#prof{
		width: auto;
		margin: 0;
		padding: 0;
	}
	#prof_top{
		display: block;
		margin: 0;
		padding: 0 10px;
	}
	#prof_top_l{
		margin: 0 0 20px 0;
	}
	#prof_top_r{
		width: auto;
		margin: 0 0 20px 0;
	}


	/** slide **/
	#slide_bg{
		display: block;
		padding: 10px;
	}
	#slide{
		position: relative;
		width: auto;
		margin: 0 auto;
	}
	#slide .slick-slide{
	}
	#slide img{
		width: 100%;
		height: auto;
	}
	.thumbs_bg{
		width: 100%;
		font-size: 0;
		line-height: 0;
		text-align: center;
		margin: 10px 0 0 0;
	}
	.thumbs .slick-track{
		display: flex;
		justify-content: center;
		width: 100% !important;
	}
		#slide{
			position: relative;
			width: auto;
			text-align: center;
			margin: 0;
		}
		#slide .slider img{
			width: 100%;
			height: auto;
		}
		.thumbs .slick-slide{
			display: inline-block;
			vertical-align: top;
			width: 55px !important;
			margin: 0 2.5px;
		}




	/** name **/
	#data{
		padding: 0;
	}
	#name{
		display: block;
		padding: 20px 10px;
		height: auto;
	}
	#name h3{
		font-size: 24px;
		line-height: 26px;
		margin: 0 0 5px 0;
	}
	#name .size{
		font-size: 12px;
		line-height: 20px;
		margin: 0 0 0 0;
	}
	#name .icon{
		position: absolute;
		top: 0;
		right: 0;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}


	/** sche **/

	#sche{
		margin: 0 0 20px 0;
		padding: 0 10px 10px 10px;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	#sche ul{
		display: block;
		width: 100%;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	#sche li{
		display: table;
		width: 100%;
		margin: 0 0 1px 0;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
		        box-sizing: border-box;
	}
	#sche li:last-of-type{	margin-bottom: 0;}
	#sche li .day,
	#sche li div{
		display: table-cell;
		vertical-align: middle;
	}
	#sche li .day{
		width: 60px;
		font-size: 11px;
		line-height: 18px;
		text-align: center;
		padding: 7px 0 5px 0;
		background: rgb(120,120,120);
		background: linear-gradient(225deg, rgba(120,120,120,1) 0%, rgba(39,39,39,1) 100%);
	}
	#sche li .day em{
		font-size: 14px;
		font-weight: bold;
	}
	#sche li div{
		width: auto;
		height: auto;
		font-size: 14px;
		line-height: 18px;
		text-align: center;
		color: #333;
		background: #fff;
	}
	#sche li div br{	display: none;}
	#sche li div .time{
		margin: 0 5px 0 0;
	}


	/** comment **/
	.comment{	padding: 10px;}
	.comment_in{
		font-size: 14px;
		line-height: 24px;
		text-align: left;
		padding: 10px;
	}
	#data .comment_in{	height: 300px;}
	#manager_comment{	padding: 0;}

	#manager_comment .comment_in{	height: 300px;}


	/** review **/
	.rvbox_bg{
		height: 300px;
		padding: 10px;
	}
	.rv_toptxt{
		font-size: 14px;
		padding: 10px;
	}
	.rvbox{
		margin: 0 0 20px 0;
	}
	.rvbox:last-of-type{	margin-bottom: 0;}
	.rv_main{
		position: relative;
		font-size: 14px;
		line-height: 24px;
		padding: 10px;
	}
	.comment.wow{
		animation-duration: 1s;
	}
}


@media (orientation: landscape) {
	#slide{
		width: 450px !important;
	}
	.thumbs .slick-slide{
		width: 87px !important;
		margin: 0 0 5.5px 0 !important;
	}
	.comment.wow{
		animation-duration: 0s !important;
		visibility: visible !important;
	}
}