@charset "UTF-8";
@font-face {
	font-family: 'Avenir';
	src: url(/font/avenir.ttf);
}
@font-face {
	font-family: 'YuGoPr6N-R';
	src: url(/font/YuGo/subset/YuGoPr6N-R.otf);
}
@font-face {
	font-family: 'YuGoPr6N-D';
	src: url(/font/YuGo/subset/YuGoPr6N-D.otf);
}
@font-face {
	font-family: 'YuGoPr6N-L';
	src: url(/font/YuGo/subset/YuGoPr6N-L.otf);
}
@font-face {
	font-family: 'YuGoPr6N-M';
	src: url(/font/YuGo/subset/YuGoPr6N-M.otf);
}
@font-face {
	font-family: 'YuGoPr6N-B';
	src: url(/font/YuGo/subset/YuGoPr6N-B.otf);
}


/* profile top ---------------------------------------*/

.profiletop{
	background: #fff;
	margin-bottom: 570px;
}
.profile-title{padding-bottom: 65px;}

.profiletop-image{margin-bottom: 60px;}

.profiletop-content{padding-bottom: 145px;}

.profiletop-title{
	text-align: center;
	font-size: 20px;
	font-family: 'YuGoPr6N-B';
	letter-spacing: 1.5px;
	margin-bottom: 20px;
}
.en .profiletop-title{
	font-family: 'Avenir';
	font-weight: 700;
	letter-spacing: calc(25em / 1000);
}

.profiletop-title span{
	font-family: 'Avenir';
	font-weight: 900;
}

.profiletop-text{
	text-align: center;
	font-size: 14px;
	line-height: 2;
	margin-bottom: 28px;
	font-family: 'YuGoPr6N-M';
	letter-spacing: 1px;
}
.en .profiletop-text{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}

.profiletop-text:last-of-type{margin-bottom: 0;}


/* profile works ---------------------------------------*/

.profileworks{
	background: #F2F2F2;
	padding: 150px 0 100px;
	margin-bottom: 570px;
}

.profileworks-list + .profileworks-year{
	margin-top: 37px;
}

.profileworks-year{
	font-size: 16px;
	font-family: 'Avenir';
	font-weight: lighter;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0 26px;
	margin-bottom: 28px;
}
.profileworks-year::after{
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background-color: #000000;
	opacity: 0.16;
	display: block;
}

.profileworks-list-item{
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 30px;
}
.profileworks-list-item + .profileworks-list-item{
	margin-top: 17px;
}

.profileworks-list-item-song{
	font-family: 'YuGoPr6N-M';
	font-size: 14px;
	line-height: calc(22.4 / 14);
	letter-spacing: calc(25em / 1000);
	position: relative;
	padding-left: 20px;
	margin-left: 114px;
	width: 48%;
}
.en .profileworks-list-item-song{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}
.profileworks-list-item-song::before{
	display: block;
	content: '';
	background: url('/img/profile/icon_circle.png') no-repeat center center; 
	background-size: 100%;
	width: 8px;
	height: 8px;
	position: absolute;
	left: 0;
	top: calc((1em * (22.4 / 14)) / 2);
	transform: translate(0, -50%);
}

.profileworks-list-item-description{
	font-family: 'YuGoPr6N-M';
	font-size: 14px;
	line-height: calc(22.4 / 14);
	letter-spacing: calc(25em / 1000);
	width: 52%;
}
.en .profileworks-list-item-description{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}

.profileworks-list-item-description-note{
	font-family: 'YuGoPr6N-M';
	font-size: 10px;
	line-height: calc(19.6 / 10);
	letter-spacing: calc(25em / 1000);
	display: block;
}
.en .profileworks-list-item-description-note{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}


/* profile book ---------------------------------------*/

.profilebook{
	background: #fff;
	padding: 120px 0 180px
}

.profilebook-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 20px calc((80 / 1088) * 100%);
}

.profilebook-list-item{
	width: calc((100% - ((80 / 1088) * 100%) * 3) / 4);
	transition: 0.3s;
}

.profilebook-list-item:hover{opacity: 0.6;}

.profilebook-list-item-image{
	display: inline-block;
	margin-bottom: 20px;
	overflow: hidden;
	height: 250px;
}

.profilebook-list-item-image img{
	transition: 0.3s;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	max-width: unset;
	max-height: 100%;
	width: auto;
}

.profilebook-list-item:hover .profilebook-list-item-image img{transform: scale(1.05,1.05);}

.profilebook-list-item-content{}

.profilebook-list-item-data{
	font-size: 16px;
	font-family: 'Avenir';
	font-weight: lighter;
	margin-bottom: 10px;
}

.profilebook-list-item-title{
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 1.5px;
	font-family: 'YuGoPr6N-M';
	margin-bottom: 20px;
}
.en .profilebook-list-item-title{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}

.profilebook-list-item-shop{
	font-size: 12px;
	font-family: 'YuGoPr6N-M';
	position: relative;
	padding-right: 20px;
	letter-spacing: 1px;
	padding-bottom: 10px;
	display: inline-block;
}
.en .profilebook-list-item-shop{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}

.profilebook-list-item-shop::after {
	display: block;
	content: '';
	background: url('/img/common/icon_arrow_next.png') no-repeat center center; 
	background-size: 100%;
	width: 12px;
	height: 3px;
	position: absolute;
	right: 0px;
	top: calc(50% - 5px);
	transform: translate(0,-50%);
	transition: 0.3s;
}

.profilebook-list-item-shop::before{
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #000000;
	bottom: -1px;
	transform: scale(0, 1);
	transform-origin: center top;  
	transition: 0.3s;
}

.profilebook-list-item:hover .profilebook-list-item-shop::before {transform: scale(1, 1); }

.profilebook-list-item:hover .profilebook-list-item-shop:after{right: -5px;}


/* profile history ---------------------------------------*/

.profilehistory{
	background: #fff;
	padding: 150px 0 100px;
}

.profilehistory a{
	word-break: break-all;
}
.profilehistory a:hover{
	text-decoration: underline;
}



.profilehistory-top{
	margin: 0 auto;
	max-width: 827px;
}

.profilehistory-top-content{
	text-align: center;
}

.profilehistory-top-content + .profilehistory-top-content{
	margin-top: 65px;
}

.profilehistory-top-image{
	height: 385px;
	text-align: center;
	margin-bottom: 37px;
}

.profilehistory-top-image img{
	width: auto;
	height: 100%;
}

.profilehistory-top-title{
	font-size: 15px;
	font-family: 'YuGoPr6N-B';
	line-height: calc(21 / 15);
	margin: 0 auto 18px;
	text-align: center;
}
.en .profilehistory-top-title{
	font-family: 'Avenir';
	font-weight: 700;
	letter-spacing: calc(25em / 1000);
}

.profilehistory-top-text{
	font-size: 14px;
	font-family: 'YuGoPr6N-M';
	line-height: calc(22.4 / 14);
	text-align: center;
}
.en .profilehistory-top-text{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}

.profilehistory-top-text + .profilehistory-top-text{
	margin-top: 35px;
}

.profilehistory-bottom{
	margin: 133px auto 0;
	max-width: 827px;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.profilehistory-bottom::before{
	content: "";
	width: 1px;
	background-color: #707070;
	display: block;
	order: 2;
	flex-shrink: 0;
}

.profilehistory-bottom-left{
	order:1;
	padding-top: 40px;
}
.en .profilehistory-bottom-left{
	padding-top: 162px;
}
.profilehistory-bottom-left .profilehistory-bottom-block{
	margin-right:82.5px;
}

.profilehistory-bottom-right{
	order:3;
	padding-top: 147px;
}
.en .profilehistory-bottom-right{
	padding-top: 40px;
}
.profilehistory-bottom-right .profilehistory-bottom-block{
	margin-left:82.5px;
}

.profilehistory-bottom-block{
	max-width: 332px;
}

.profilehistory-bottom-block:nth-child(n+2){
	margin-top:80px;
}

.profilehistory-bottom-block-title{
	font-size: 15px;
	font-family: 'YuGoPr6N-B';
	line-height: calc(21 / 15);
	margin-bottom: 8px;
	position: relative;
}
.en .profilehistory-bottom-block-title{
	font-family: 'Avenir';
	font-weight: 700;
	letter-spacing: calc(25em / 1000);
}
.profilehistory-bottom-block-title::before, .profilehistory-bottom-block-title::after{
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	background-color: #707070;
}
.profilehistory-bottom-block-title::before{
	width: 50px;
	height: 1px;
}
.profilehistory-bottom-left .profilehistory-bottom-block-title::before{
	right: -82.5px;
}
.profilehistory-bottom-right .profilehistory-bottom-block-title::before{
	left: -82.5px;
}
.profilehistory-bottom-block-title::after{
	width: 8px;
	height: 8px;
	border-radius: 4px;
}
.profilehistory-bottom-left .profilehistory-bottom-block-title::after{
	transform: translate(50%, -50%);
	right: -32.5px;
}
.profilehistory-bottom-right .profilehistory-bottom-block-title::after{
	transform: translate(-50%, -50%);
	left: -32.5px;
}

.profilehistory-bottom-block-text{
	font-size: 14px;
	line-height: calc(22.4 / 14);
	font-family: 'YuGoPr6N-M';
	margin-bottom: 8px;
}
.profilehistory-bottom-block-text:last-child{
	margin-bottom: 0;
}
.en .profilehistory-bottom-block-text{
	font-family: 'Avenir';
	font-weight: 500;
	letter-spacing: calc(25em / 1000);
}
.profilehistory-bottom-block-text + .profilehistory-bottom-block-text{
	margin-top: 1em;
}
.profilehistory-bottom-block-image + .profilehistory-bottom-block-text{
	margin-top: 40px;
}

.profilehistory-bottom-block-image{
	height: 200px;
	margin-top:15px;
}
.en .profilehistory-bottom-block-image{
	margin-top:20px;
}

.profilehistory-bottom-block-image img{
	width: auto;
	height: 100%;
}


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

	/* profile top ---------------------------------------*/

	.profiletop{padding: 0px 35px 115px;}
	.profile-title{padding-bottom: 40px;}
	.profiletop-image{margin-bottom: 33px;}

	.profiletop-content{padding-bottom: 0;}

	.profiletop-title{
		font-size: 16px;
		letter-spacing: 1px;
		margin-bottom: 15px;
	}
	.profiletop-title span{margin-left: 5px;} 

	.profiletop-text{
		font-size: 14px;
		line-height: 1.8;
		margin-bottom: 25px;
	}


	/* profile works ---------------------------------------*/

	.profileworks{padding: 125px 35px 120px;}

	.profileworks .section-title{
		font-size: 22px;
		letter-spacing: 2.5px;
		margin-bottom: 30px;
	}

	.profileworks-year{
		gap: 20px;
		margin-bottom: 25px;
	}

	.profileworks-list + .profileworks-year{
		margin-top: 40px;
	}

	.profileworks-list-item{
		padding-left: 20px;
		flex-direction: column;
		gap: 10px;
	}

	.profileworks-list-item + .profileworks-list-item{
		margin-top: 20px;
	}
	
	.profileworks-list-item-song{
		margin-left: 0;
		width: 100%;
	}

	.profileworks-list-item-description{
		font-size: 12px;
		width: 100%;
		padding-left: 20px;
	}



	/* profile book ---------------------------------------*/

	.profilebook{padding: 100px 35px 110px;}

	.profilebook .section-title{
		font-size: 22px;
		letter-spacing: 2.5px;
		margin-bottom: 40px;
	}

	.profilebook-list{display: block;}

	.profilebook-list-item{width: 100%;}

	.profilebook-list-item a{
		display: flex;
		justify-content: space-between;
		margin-bottom: 40px;
		align-items: center;
	}

	.profilebook-list-item-image{
		width: 46%;
		height: auto;
		margin-bottom: 0;
	}

	.profilebook-list-item-image img{
		width: 100%;
    height: auto;
    max-width: 100%;
    max-height: unset;
	}

	.profilebook-list-item-content{
		width: 44%;
		margin-top: 10px;
	}

	.profilebook-list-item-data{font-size: 14px;}

	.profilebook-list-item-title{margin-bottom: 10px;}


	/* profile history ---------------------------------------*/

	.profilehistory{padding: 120px 35px 120px;}

	.profilehistory-top{
		max-width: 100%;
	}
	
	.profilehistory-top-content + .profilehistory-top-content{
		margin-top: 60px;
	}
	
	.profilehistory-top-image{
		height: unset;
		text-align: center;
		margin-bottom: 24px;
	}
	
	.profilehistory-top-image img{
		width: 100%;
		height: auto;
	}
	
	.profilehistory-top-title{
		font-size: 16px;
		letter-spacing: calc(25em / 1000);
		margin: 0 auto 12px;
		text-align: left;
	}
	
	.profilehistory-top-text{
		font-size: 14px;
		font-weight: 500;
		letter-spacing: calc(25em / 1000);
		line-height: calc(25.2 / 14);
		text-align: left;
	}
	
	.profilehistory-top-text + .profilehistory-top-text{
		margin-top: 35px;
	}

	.profilehistory-bottom{
		margin-top: 40px;
		max-width: 100%;
	}
	.profilehistory-bottom::before{
		order: 1;
	}
	.profilehistory-bottom-content{
		order: 2;
	}
	.profilehistory-bottom-block{
		max-width: 100%;
		margin-left: 44px;
	}
	.profilehistory-bottom-block + .profilehistory-bottom-block{
		margin-top: 60px;
	}
	.profilehistory-bottom-block:first-child{
		margin-top: 44px;
	}
	.profilehistory-bottom-block:last-child{

	}
	.profilehistory-bottom-block-title::before{
		width: 22px;
		left: -44px;
	}
	.profilehistory-bottom-block-title::after{
		left: -22px;
		transform: translate(-50%, -50%);
	}
	.profilehistory-bottom-block-image{
		max-width: 100%;
		height: auto;
	}
	.profilehistory-bottom-block-image img{
		max-width: 100%;
		height: auto;
	}
}