@charset "UTF-8";

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

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

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

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

#news picture img{
	width : 100%;
	height : auto;
}

#news .newsCategories{
	letter-spacing : .04em;
	text-indent : .04em;
}

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

#news h3{
	font-weight : 700;
	letter-spacing : .03em;
}

@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;
		font-weight : 700;
	}
	#news > ul{
		margin-top : calc( ( 16 - 1 ) * 100vw / 768 );
	}
	#news > ul > li + li{
		margin-top : calc( 74 * 100vw / 768 );
	}
	#news > ul > li > a > div{
		margin-top : calc( 34 * 100vw / 768 );
	}
	#news .newsCategories{
		margin-left : calc( -8 * 100% / 680 );
	}
	#news .newsCategories > li{
		min-width : calc( 164 * 100% / 688 );
		height : calc( 36 * 100vw / 768 );
		font-size : 2.6rem;
		margin-left : calc( 8 * 100% / 688 );
	}
	#news time{
		font-size : 2.6rem;
		margin-top : calc( 12 * 100vw / 768 );
	}
	#news h3{
		margin-top : calc( ( 40 - 8 ) * 100vw / 768 );
		font-size : 2.6rem;
		line-height : 1.6154;
	}
	#news .link-detail01{
		margin-top : calc( ( 21 - 8 ) * 100vw / 768 );
	}
	#news #pagination{
		margin-top : calc( 150 * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#news h2{
		font-size : 2.4rem;
		line-height : 1.0667;
		margin-top : -1px;
		margin-bottom : 1em;
	}
	#news > ul > li{
		padding-bottom : 32px;
		border-bottom : 1px solid #383838;
		margin-bottom : 32px;
	}
	#news > ul > li + li{
	}
	#news > ul > li > a{
		display : flex;
		align-items : flex-start;
		justify-content : space-between;
	}
	#news picture{
		width : calc( 360 * 100% / 1020 );
	}
	#news > ul > li > a > div{
		width : calc( 638 * 100% / 1020 );
	}
	#news .newsCategories{
		margin-left : -6px;
	}
	#news .newsCategories > li{
		min-width : 82px;
		height : 18px;
		font-size : 1.4rem;
		margin-left : 6px;
	}
	#news time{
		font-size : 1.6rem;
		margin-top : 5px;
		padding-top : 15px;
	}
	#news h3{
		margin-top : calc( 32px - 3px );
		font-size : 2.4rem;
		line-height : 1.25;
	}
	#news .link-detail01{
		justify-content : flex-start;
		margin-top : calc( 28px - 3px );
		justify-content : flex-end;
		margin-top : 1em;
	}
	#news #pagination{
		margin-top : calc( 68px - 32px );
	}
}

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

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

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

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

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

#projects h2{
	font-weight : 700;
}

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

#projects .excerpt > *{
	letter-spacing : .03em;
}

@media screen and (max-width: 768px){
	#projects{
		padding-left : calc( 44 * 100% / 768 );
		padding-right : calc( 44 * 100% / 768 );
	}
	#projects li{
		border-bottom : 1px solid #383838;
		padding-bottom : calc( 62 * 100vw / 768 );
		margin-bottom : calc( 84 * 100vw / 768 );
	}
	#projects li a{
		display : block;
	}
	#projects a > div{
		margin-top : calc( ( 36 - 1 ) * 100vw / 768 );
	}
	#projects h2{
		font-size : 3.6rem;
		line-height : 1.0556;
	}
	#projects h2[data-en]:after{
		margin-top : calc( ( 12 - 1 - 5 ) * 100vw / 768 );
		font-size : 2.8rem;
		line-height : 1.3571;
	}
	#projects .excerpt{
		margin-top : calc( ( 32 - 5 - 8.5 ) * 100vw / 768 );
		font-size : 2.7rem;
		line-height : 1.6296;
	}
	#projects .table01{
		margin-top : calc( ( 38 - 8.5 ) * 100vw / 768 );
	}
	#projects .link-detail01{
		margin-top : calc( 56 * 100vw / 768 );
	}
	#projects #pagination{
		margin-top : calc( ( 90 - 84 ) * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#projects li + li{
		margin-top : 86px;
	}
	#projects li a{
		display : flex;
		justify-content : space-between;
		align-items : flex-start;
	}
	#projects picture{
		width : calc( 358 * 100% / 1020 );
	}
	#projects a > div{
		width : calc( 632 * 100% / 1020 );
	}
	#projects h2{
		font-size : 2.4rem;
		line-height : 1.25;
		margin-top : -3px;
	}
	#projects h2[data-en]:after{
		font-size : 2rem;
		line-height : 1.5;
	}
	#projects .excerpt{
		margin-top : calc( 22px - 5px - 6px );
		font-size : 1.6rem;
		line-height : 1.75;
	}
	#projects .table01{
		margin-top : calc( 54px - 6px );
	}
	#projects .link-detail01{
		margin-top : 42px;
	}
	#projects #pagination{
		margin-top : 100px;
	}
}

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

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

@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 : 88px;
	}
}

#lectures .lede01{
	letter-spacing : .03em;
}

#lectures .lede02{
	letter-spacing : .03em;
}

#lectures .box{
	display : flex;
	align-items : center;
	justify-content : space-between;
	border-bottom-style : solid;
	border-bottom-color : #ccc;
	position : relative;
}

#lectures .box:before{
	content : "";
	display : block;
	position : absolute;
	left : 0;
	background-color : #000;
}

#lectures .box h2{
	letter-spacing : .3em;
}

#lectures .box select{
	background-color : #e6e6e6;
	background-image : url("../images/lectures/btn_select.svg");
	background-position : right top;
	background-size : auto 100%;
	background-repeat : no-repeat;
	letter-spacing : .03em;
	border : 0;
}

@media screen and (max-width: 768px){
	#lectures{
		padding-left : calc( 44 * 100% / 768 );
		padding-right : calc( 44 * 100% / 768 );
	}
	#lectures .lede01{
		font-size : 2.7rem;
		line-height : 1.6296;
	}
	#lectures .lede02{
		font-size : 2.6rem;
		line-height : 1.4615;
		margin-top : calc( ( 38 - 8.5 - 6 ) * 100vw / 768 );
	}
	#lectures .box{
		margin-top : calc( ( 71 - 6 ) * 100vw / 768 );
		padding-bottom : calc( 6 * 100vw / 768 );
		border-bottom-width : calc( 6 * 100vw / 768 );
	}
	#lectures .box:before{
		height : calc( 6 * 100vw / 768 );
		width : calc( 200 * 100% / 680 );
		bottom : calc( -6 * 100vw / 768 );
	}
	#lectures .box h2{
		font-size : 4rem;
		font-weight : 700;
	}
	#lectures .box select{
		width : calc( 222 * 100% / 680 );
		height : calc( 50 * 100vw / 768 );
		padding-left : calc( 14 * 100% / 680 );
		font-size : 2.6rem;
	}
	#lectures ul{
		margin-top : calc( 76 * 100vw / 768 );
	}
	#lectures li + li{
		margin-top : calc( 94 * 100vw / 768 );
	}
	#lectures .table02{
		margin-top : calc( 22 * 100vw / 768 );
	}
	#lectures .link-detail01{
		margin-top : calc( 42 * 100vw / 768 );
	}
	#lectures #pagination{
		margin-top : calc( 78 * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#lectures .lede01{
		font-size : 1.6rem;
		line-height : 1.75;
		margin-top : -6px;
	}
	#lectures .lede02{
		font-size : 1.4rem;
		line-height : 1.7143;
		margin-top : calc( 26px - 6px - 5px );
	}
	#lectures .box{
		margin-top : calc( 48px - 5px );
		padding-bottom : 10px;
		border-bottom-width : 3px;
	}
	#lectures .box:before{
		height : 3px;
		width : 300px;
		bottom : -3px;
	}
	#lectures .box h2{
		font-size : 2.8rem;
	}
	#lectures .box select{
		width : 210px;
		height : 38px;
		padding-left : 14px;
		font-size : 1.8rem;
	}
	#lectures ul{
		margin-top : 28px;
	}
	#lectures li + li{
		margin-top : 52px;
	}
	#lectures .table02{
		margin-top : 8px;
	}
	#lectures .link-detail01{
		margin-top : 24px;
	}
	#lectures #pagination{
		margin-top : 96px;
	}
}

/*--------------------------------------------
ENENTS
---------------------------------------------*/

#events li a{
	display : block;
}

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

#events h2{
	font-weight : 700;
}

@media screen and (max-width: 768px){
	#events{
		margin-top : calc( 70 * 100vw / 768 );
		padding-bottom : calc( 176 * 100vw / 768 );
	}
	#events li + li{
		margin-top : calc( 68 * 100vw / 768 );
		border-top : 1px solid #383838;
		padding-top : calc( 72 * 100vw / 768 );
	}
	#events picture + picture{
		margin-top : calc( 26 * 100vw / 768 );
	}
	#events h2{
		font-size : 3.6rem;
		line-height : 1.5;
		margin-top : calc( ( 30 - 9 ) * 100vw / 768 );
	}
	#events .link-detail01{
		margin-top : calc( ( 36 - 9 ) * 100vw / 768 );
	}
}

@media print,screen and (min-width: 769px){
	#events{
		margin-top : 106px;
		padding-bottom : calc( 118px - 72px );
	}
	#events li{
		margin-bottom : 72px;
	}
	#events h2{
		font-size : 2.4rem;
		line-height : 1.75;
		margin-top : calc( 30px - 9px );
	}
	#events .link-detail01{
		margin-top : calc( 38px - 9px );
	}
}