@charset "UTF-8";

:root{
	--body : #323232;
	--link : #323232;
	--primary : #c80023;
}

/*--------------------------------------------
NEWS
---------------------------------------------*/

@media screen and (max-width: 768px){
	body.single-post #column{
		margin-top : calc( ( 80 - 1 ) * 100vw / 768 );
		padding-left : 0;
		padding-right : 0;
	}
}

@media print,screen and (min-width: 769px){
	body.single-post #column{
		margin-top : 76px;
	}
}

@media print,screen and (min-width: 769px){
	body.single-post #news , body.single-post #sidebar{
		padding-bottom : 72px;
	}
}

#news > h2{
	font-weight : 500;
	color : #000;
}

#news > h2[data-en]:after{
	content : attr(data-en);
	display : block;
}

#news > ul{
	display : flex;
	flex-wrap : wrap;
}

#news > ul > li > a{
	letter-spacing : .04em;
	text-indent : .04em;
}

#news > time{
	font-weight : 700;
	letter-spacing : .03em;
	display : block;
}

@media screen and (max-width: 768px){
	#news{
		padding-left : calc( 44 * 100% / 768 );
		padding-right : calc( 44 * 100% / 768 );
	}
	#news > h2{
		font-size : 3.6rem;
		line-height : 1.0556;
	}
	#news > h2[data-en]:after{
		font-size : 3.2rem;
		line-height : 1.3125;
		margin-top : calc( ( 20 - 1 - 5 ) * 100vw / 768 );
	}
	#news > ul{
		margin-top : calc( ( 40 - 5 ) * 100vw / 768 );
		margin-left : calc( -8 * 100% / 680 );
	}
	#news > ul > li{
		min-width : calc( 164 * 100% / 688 );
		height : calc( 36 * 100vw / 768 );
		margin-left : calc( 8 * 100% / 688 );
	}
	#news > ul > li > a{
		font-size : 2.6rem;
	}
	#news > time{
		font-size : 2.6rem;
		margin-top : calc( 26 * 100vw / 768 );
	}
	#news #content{
		margin-top : calc( ( 50 - 8.5 ) * 100vw / 768 );
	}
	#news .link-back01{
		margin-top : calc( ( 152 - 44 ) * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#news > h2{
		font-size : 3rem;
		line-height : 1.0667;
		letter-spacing : .05em;
	}
	#news > h2[data-en]:after{
		letter-spacing : .05em;
		font-size : 2.4rem;
		line-height : 1.3333;
		margin-top : calc( 11px - 1px - 4px );
	}
	#news > ul{
		margin-top : calc( 30px - 4px );
		margin-left : -4px;
	}
	#news > ul > li{
		min-width : 82px;
		height : 18px;
		margin-left : 4px;
	}
	#news > ul > li > a{
		font-size : 1.4rem;
	}
	#news > time{
		font-size : 1.6rem;
		margin-top : 8px;
	}
	#news #content{
		margin-top : calc( 24px - 6px );
	}
	#news .link-back01{
		margin-top : calc( 134px - 28px );
	}
}

@media screen and (min-width: 1480px){
	#news .link-back01{
		margin-left : 587px;
	}
}

/*--------------------------------------------
PROJECTS
---------------------------------------------*/

@media screen and (max-width: 768px){
	body.tour #column{
		padding-left : 0;
		padding-right : 0;
		margin-top : calc( ( 94 - 1 ) * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	body.tour #column{
		margin-top : 78px;
	}
}

@media print,screen and (min-width: 769px){
	body.tour #projects , body.tour #sidebar{
		padding-bottom : 112px;
	}
}

#projects > h2{
	letter-spacing : .05em;
	font-weight : 500;
}

#projects > h2[data-en]:after{
	display : block;
	content : attr(data-en);
	letter-spacing : .05em;
}

#projects .box picture img{
	width : 100%;
	height : auto;
}

#projects .box ul{
	display : flex;
	justify-content : space-between;
}

@media screen and (max-width: 768px){
	#projects{
		padding-left : calc( 44 * 100% / 768 );
		padding-right : calc( 44 * 100% / 768 );
	}
	#projects > h2{
		font-size : 4rem;
		line-height : 1.05;
	}
	#projects > h2[data-en]:after{
		margin-top : calc( ( 14 - 1 - 5 ) * 100vw / 768 );
		font-size : 3.2rem;
		line-height : 1.3125;
	}
	#projects .box{
		margin-top : calc( ( 44 - 5 ) * 100vw / 768 );
	}
	#projects .box > div{
		margin-top : calc( 30 * 100vw / 768 );
	}
	#projects .box li{
		width : calc( 326 * 100% / 680 );
	}
	#projects .table01{
		margin-top : calc( 80 * 100vw / 768 );
	}
	#projects .title01{
		margin-top : calc( 80 * 100vw / 768 );
	}
	#projects #content{
		margin-top : calc( ( 22 - 8.5 ) * 100vw / 768 );
	}
	#projects .link-back01{
		margin-top : calc( 96 * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#projects > h2{
		font-size : 3rem;
		line-height : 1.0667;
		margin-top : -1px;
	}
	#projects > h2[data-en]:after{
		margin-top : calc( 12px - 1px - 4px );
		font-size : 2.4rem;
		line-height : 1.3333;
	}
	#projects .box{
		margin-top : calc( 60px - 4px );
		display : flex;
		justify-content : space-between;
	}
	#projects .box > picture{
		width : 480px;
		margin-right : 10px;
	}
	#projects .box > div{
		width : 510px;
	}
	#projects .box li{
		width : 240px;
	}
	#projects .table01{
		margin-top : 24px;
	}
	#projects .title01{
		margin-top : 47px;
	}
	#projects #content{
		margin-top : calc( 22px - 6px );
	}
	#projects .link-back01{
		margin-left : auto;
		margin-right : auto;
		margin-top : calc( 116px - 34px );
	}
}

/*--------------------------------------------
LECTURES
---------------------------------------------*/

@media screen and (max-width: 768px){
	body.branch #column{
		padding-left : 0;
		padding-right : 0;
		margin-top : calc( 103 * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	body.branch #column{
		margin-top : 76px;
	}
}

@media print,screen and (min-width: 769px){
	body.branch #lectures , body.branch #sidebar{
		padding-bottom : 76px;
	}
}

@media screen and (max-width: 768px){
	#lectures{
		padding-left : calc( 44 * 100% / 768 );
		padding-right : calc( 44 * 100% / 768 );
	}
	#lectures .table03{
		margin-top : calc( 16 * 100vw / 768 );
	}
	#lectures .link-back01{
		margin-top : calc( 90 * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#lectures .table03{
		margin-top : 28px;
	}
	#lectures .link-back01{
		margin-top : 68px;
		margin-left : auto;
		margin-right : auto;
	}
}

/*--------------------------------------------
EVENTS
---------------------------------------------*/

@media screen and (max-width: 768px){
	body.events #column{
		margin-top : calc( ( 81 - 1 ) * 100vw / 768 );
		padding-left : 0;
		padding-right : 0;
	}
}

@media print,screen and (min-width: 769px){
	body.events #column{
		margin-top : calc( 68px - 1px );
		padding-bottom : 54px;
	}
}

@media screen and (max-width: 768px){
	body.events #sidebar h4{
		display : flex;
		align-items : center;
		height : calc( 124 * 100vw / 768 );
		padding-left : calc( 32 * 100% / 768 );
		padding-right : calc( 32 * 100% / 768 );
	}
}

#events > h2{
	color : #000;
	font-weight : 600;
}

#events .box picture img{
	width : 100%;
	height : auto;
}

#events .box th , #events .box td{
	vertical-align : top;
	letter-spacing : .03em;
}

#events .box th{
	font-weight : 700;
}

#events .box td strong{
	font-weight : 700;
}

#events .box td a{
	text-decoration : underline;
}

@media screen and (max-width: 768px){
	#events{
		padding-left : calc( 44 * 100% / 768 );
		padding-right : calc( 44 * 100% / 768 );
	}
	#events > h2{
		font-size : 3.6rem;
		line-height : 1.0556;
	}
	#events .box{
		margin-top : calc( ( 40 - 1 ) * 100vw / 768 );
	}
	#events .box picture{
		width : 100%;
	}
	#events .box table{
		width : 100%;
		margin-top : calc( 54 * 100vw / 768 );
	}
	#events .box th{
		font-size : 2.4rem;
		line-height : 1.3;
		width : calc( 314 * 100% / 680 );
		padding-left : calc( 20 * 100%  680 );
		padding-right : calc( 20 * 100% / 680 );
		padding-top : calc( ( 16 - 3.6 ) * 100vw / 768 );
		padding-bottom : calc( ( 16 - 3.6 ) * 100vw / 768 );
	}
	#events .box td{
		font-size : 2.4rem;
		line-height : 1.4167;
		padding-left : calc( 22 * 100% / 680 );
		padding-right : calc( 22 * 100% / 680 );
		padding-top : calc( ( 16 - 5 ) * 100vw / 768 );
		padding-bottom : calc( ( 16 - 5 ) * 100vw / 768 );
	}
	#events #content02{
		margin-top : calc( ( 50 - 8.5 ) * 100vw / 768 );
	}
	#events .link-back01{
		margin-left : auto;
		margin-right : auto;
		margin-top : calc( ( 105 - 8.5 ) * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#events > h2{
		font-size : 3rem;
		line-height : 1.0667;
		letter-spacing : .05em;
	}
	#events .box{
		display : flex;
		align-items : flex-start;
		margin-top : calc( 46px - 1px );
	}
	#events .box picture{
		flex-shrink : 0;
		width : 480px;
		margin-right : 30px;
	}
	#events .box table{
		width : 510px;
	}
	#events .box th{
		font-size : 1.4rem;
		line-height : 1.3;
		width : 180px;
		padding-left : 10px;
		padding-right : 10px;
		padding-top : calc( 8px - 2.1px );
		padding-bottom : calc( 8px - 2.1px );
	}
	#events .box td{
		font-size : 1.4rem;
		line-height : 1.7921;
		padding-left : 18px;
		padding-right : 18px;
		padding-top : calc( 8px - 5.545px );
		padding-bottom : calc( 8px - 5.545px );
	}
	#events #content02{
		margin-top : calc( 46px - 6px );
	}
	#events .link-back01{
		margin-left : auto;
		margin-right : auto;
		margin-top : calc( 154px - 6px );
	}
}