@charset "UTF-8";

/*--------------------------------------------
OPEN
---------------------------------------------*/

#open h2{
	text-align : center;
	letter-spacing : .2em;
	text-indent : .2em;
	font-weight : 500;
	font-family : "Noto Serif JP";
	color : var(--colorResponsive02);
}

#open > time{
	display : flex;
	align-items : baseline;
	border-bottom-style : solid;
	border-bottom-color : var(--border02);
	letter-spacing : .075em;
	margin-left : auto;
	margin-right : auto;
	width : -moz-fit-content;
	width :      fit-content;
}

#open > time span{
	letter-spacing : .075em;
}

#open li{
	border-style : solid;
	border-color : var(--border01);
}

#open h3{
	text-align : center;
	letter-spacing : .2em;
	text-indent : .2em;
	color : var(--colorPrimary);
}

#open p{
	text-align : center;
	letter-spacing : .075em;
	text-indent : .075em;
}

@media screen and (max-width: 750px){
	#open{
		padding-bottom : calc( 100 * 100vw / 750 );
	}
	#open h2{
		font-size : calc( 5.6rem + var(--addFtontSize) );
	}
	#open > time{
		margin-top : calc( 61 * 100vw / 750 );
		padding-bottom : calc( 22 * 100vw / 750 );
		border-width : calc( 4 * 100vw / 750 );
		font-size : calc( 3.2rem + var(--addFtontSize) );
	}
	#open > time span{
		font-size : calc( 5rem + var(--addFtontSize) );
	}
	#open ul{
		margin-top : calc( 60 * 100vw / 750 );
		padding-left : calc( 40 * 100% / 670 );
		padding-right : calc( 40 * 100% / 670 );
	}
	#open li{
		border-width : calc( 8 * 100vw / 750 );
		padding-top : calc( 52 * 100vw / 750 );
		padding-bottom : calc( 52 * 100vw / 750 );
	}
	#open li + li{
		margin-top : calc( 60 * 100vw / 750 );
	}
	#open h3{
		font-size : calc( 3.6rem + var(--addFtontSize) );
	}
	#open p{
		font-size : calc( 4.2rem + var(--addFtontSize) );
		margin-top : calc( 39 * 100vw / 750 );
	}
	#open .link01{
		margin-top : calc( 40 * 100vw / 750 );
		width : calc( 460 * 100% / 590 );
	}
}

@media print,screen and (min-width: 751px){
	#open{
		display : -ms-grid;
		display :     grid;
		-ms-grid-row-align : center;
		align-self : center;
		-ms-grid-columns : 260px 1fr;
		grid-template-columns : 260px 1fr;
		-ms-grid-rows : auto auto 39px auto auto;
		grid-template-rows : auto auto 39px auto auto;
		gap : 0 20px;
		padding-bottom : 100px;
	}
	#open h2{
		-ms-grid-row : 2;
		    grid-row : 2;
		-ms-grid-column : 1;
		    grid-column : 1;
		font-size : calc( 3.6rem + var(--addFtontSize) );
	}
	#open > time{
		-ms-grid-row : 4;
		    grid-row : 4;
		-ms-grid-column : 1;
		    grid-column : 1;
		padding-bottom : 14px;
		border-width : 2px;
		font-size : calc( 2rem + var(--addFtontSize) );
	}
	#open > time span{
		font-size : calc( 3.2rem + var(--addFtontSize) );
	}
	#open ul{
		-ms-grid-column : 2;
		    grid-column : 2;
		-ms-grid-row : 1;
		-ms-grid-row-span : 5;
		    grid-row : 1/6;
		display : -ms-grid;
		display :     grid;
		gap : 0 20px;
		-ms-grid-columns : (1fr)[2];
		grid-template-columns : repeat(2,1fr);
	}
	#open li{
		border-width : 4px;
		padding-top : 40px;
		padding-bottom : 39px;
	}
	#open h3{
		font-size : calc( 2.4rem + var(--addFtontSize) );
	}
	#open p{
		font-size : calc( 2.8rem + var(--addFtontSize) );
		margin-top : 19px;
	}
	#open .link01{
		margin-top : 19px;
	}
}

/*--------------------------------------------
NEWS
---------------------------------------------*/

#news .tabController{
	display : -ms-grid;
	display :     grid;
}

#news .tabController button{
	display : flex;
	align-items : center;
	justify-content : center;
	text-align : center;
	letter-spacing : .075em;
	text-indent : .075em;
	width : 100%;
	transition : opacity .3s ease-in;
	-webkit-backface-visibility : hidden;
	        backface-visibility : hidden;
	will-change : opacity;
}

#news .tabController button:hover{
	opacity : .7;
}

#news .tabController button.is-active{
	font-weight : 700;
}

#news .tabs > li:not(.is-active){
	display : none;
}

#news li li{
	border-bottom-style : solid;
	border-bottom-color : var(--border04);
}

#news li li a{
	display : -ms-grid;
	display :     grid;
	position : relative;
}

#news time{
	letter-spacing : .075em;
}

#news p{
	display : flex;
	align-items : center;
	justify-content : center;
	width : 100%;
	border-style : solid;
	border-color : var(--border05);
	color : var(--colorResponsive03);
	background-color : var(--bg03);
	text-align : center;
	letter-spacing : .075em;
	text-indent : .075em;
}

#news h3{
	letter-spacing : .075em;
	color : var(--link01);
}

@media screen and (max-width: 750px){
	#news{
		padding-top : calc( 100 * 100vw / 750 );
		padding-bottom : calc( 100 * 100vw / 750 );
	}
	#news .tabController{
		padding-left : calc( 40 * 100% / 670 );
		padding-right : calc( 40 * 100% / 670 );
		-ms-grid-columns : 1fr 1fr;
		grid-template-columns : 1fr 1fr;
		-ms-grid-rows : calc( 30 * 100vw / 750 ) calc( 30 * 100vw / 750 );
		grid-template-rows : calc( 30 * 100vw / 750 ) calc( 30 * 100vw / 750 );
		gap : calc( 50 * 100vw / 750 ) 0;
		margin-top : calc( 50 * 100vw / 750 );
	}
	#news .tabController li{
		height : 100%;
	}
	#news .tabController li:nth-child(odd) button{
		border-left : calc( 1 * 100vw / 750 ) solid var(--border04);
	}
	#news .tabController button{
		font-size : calc( 2.8rem + var(--addFtontSize) );
		height : 100%;
		border-right : calc( 2 * 100vw / 750 ) solid var(--border04);
	}
	#news .tabs{
		margin-top : calc( 10 * 100vw / 750 );
margin-bottom : calc(30 * 100vw / 750 );
	}
	#news li li{
		border-bottom-width : calc( 2 * 100vw / 750 );
	}
	#news li li a{
		padding-top : calc( 50 * 100vw / 750 );
		padding-bottom : calc( ( 50 - 2 ) * 100vw / 750 );
		gap : calc( ( 30 - 2 ) * 100vw / 750 ) 0;
		-ms-grid-columns : calc( 177 * 100% / 670 ) calc( 114 * 100% / 670 ) 1fr;
		grid-template-columns : calc( 177 * 100% / 670 ) calc( 114 * 100% / 670 ) 1fr;
		align-content : start;
	}
	#news li li a:after{
		width : calc( 8 * 100% / 670 );
		height : calc( 11 * 100vw / 750 );
		right : calc( 20 * 100% / 670 );
	}
	#news li li a:hover:after{
		right : calc( 7 * 100% / 670 );
	}
	#news time{
		font-size : calc( 2.8rem + var(--addFtontSize) );
		padding-top : calc( 2 * 100vw / 750 );
		-ms-grid-column : 1;
		    grid-column : 1;
		-ms-grid-row : 1;
		    grid-row : 1;
	}
	#news p{
		height : calc( 32 * 100vw / 750 );
		font-size : calc( 2.2rem + var(--addFtontSize) );
		border-width : calc( 2 * 100vw / 750 );
		-ms-grid-column : 2;
		    grid-column : 2;
		-ms-grid-row : 1;
		    grid-row : 1;
margin-left: 20px;
	}
	#news h3{
		font-size : calc( 2.8rem + var(--addFtontSize) );
		line-height : calc( 32 / 28 );
		-ms-grid-column : 1;
		-ms-grid-column-span : 3;
		    grid-column : 1/4;
		-ms-grid-row : 2;
		    grid-row : 2;
		position : relative;
	}
	#news h3:after{
		content : "";
		display : block;
		position : absolute;
		top : 50%;
		transform : translateY(-50%);
		background : url("/libr/assets/images/ui/parts/arrow02.webp") 0 0 / contain no-repeat;
		filter : var(--filter03);
		transition : right .3s ease-in;
		-webkit-backface-visibility : hidden;
		        backface-visibility : hidden;
		will-change : right;
		width : calc( 14 * 100% / 670 );
		height : calc( 22 * 100vw / 750 );
		right : 0;
	}
	#news li a:hover h3:after{
		right : calc( -4 * 100% / 670 );
	}
	#news .link02{
		margin-top : calc( 60 * 100vw / 750 );
		width : calc( 460 * 100% / 670 );
	}
}

@media print,screen and (min-width: 751px){
	#news{
		padding-top : 80px;
		padding-bottom : 180px;
		padding-left : calc( ( 100% - 800px ) / 2 );
		padding-right : calc( ( 100% - 800px ) / 2 );
	}
	#news .tabController{
		padding-left : 82px;
		padding-right : 82px;
		margin-top : 60px;
		-ms-grid-columns : (1fr)[4];
		grid-template-columns : repeat(4,1fr);
	}
	#news .tabController li:first-child button{
		border-left : 1px solid var(--border04);
	}
	#news .tabController button{
		font-size : calc( 1.5rem + var(--addFtontSize) );
		height : 20px;
		border-right : 1px solid var(--border04);
	}
	#news .tabs{
		margin-top : 20px;
	}
	#news li li{
		border-bottom-width : 1px;
	}
	#news li li a{
		padding-top : 16px;
		padding-bottom : 16px;
		-ms-grid-columns : 122px 70px 1fr;
		grid-template-columns : 122px 70px 1fr;
		padding-right : 48px;
		gap : 0 20px;
	}
	#news li li a:after{
		content : "";
		display : block;
		position : absolute;
		top : 50%;
		transform : translateY(-50%);
		background : url("/libr/assets/images/ui/parts/arrow02.webp") 0 0 / contain no-repeat;
		filter : var(--filter03);
		transition : right .3s ease-in;
		-webkit-backface-visibility : hidden;
		        backface-visibility : hidden;
		will-change : right;
		width : 8px;
		height : 11px;
		right : 20px;
	}
	#news li li a:hover:after{
		right : 7px;
	}
	#news time{
		text-align : right;
		font-size : calc( 1.5rem + var(--addFtontSize) );
		padding-top : 8.5px;
	}
	#news p{
		height : 23px;
		font-size : calc( 1.2rem + var(--addFtontSize) );
		border-width : 1px;
		margin-top : 5.5px;
	}
	#news h3{
		font-size : calc( 1.5rem + var(--addFtontSize) );
		line-height : calc( 32 / 15 );
	}
	#news .link02{
		margin-top : 40px;
	}
}

/*--------------------------------------------
NEW
---------------------------------------------*/

#new .box{
	position : relative;
}

#new .swiper{
	position : relative;
}
#new a{
	transition : opacity .3s ease-in;
	-webkit-backface-visibility : hidden;
	        backface-visibility : hidden;
	will-change : opacity;
}

#new a:hover{
	opacity : .7;
}
#new dl > div{
	display : flex;
	align-items : flex-start;
}

#new picture{
	overflow : hidden;
}

#new picture > img{
	width : 100%;
	height : 100%;
	object-fit : cover;
}

#new picture{
	width : 100%;
	border-style : solid;
	border-color : var(--border01);
}

#new .swiper-button-prev , #new .swiper-button-next{
	border-radius : 9999px;
	position : absolute;
	display : flex;
	align-items : center;
	justify-content : center;
	border-style : solid;
	border-color : var(--border02);
	background-color : var(--bg01);
	box-shadow : var(--shadow02);
	transition : background .3s ease-in;
	-webkit-backface-visibility : hidden;
	        backface-visibility : hidden;
	will-change : background;
}

#new .swiper-button-prev img , #new .swiper-button-next img{
	filter : var(--filter01);
	transition : filter .3s ease-in;
	-webkit-backface-visibility : hidden;
	        backface-visibility : hidden;
	will-change : filter;
}

#new .swiper-button-prev:hover , #new .swiper-button-next:hover{
	background-color : var(--color02);
}

#new .swiper-button-prev:hover img , #new .swiper-button-next:hover img{
	filter : var(--filter04);
}

#new .swiper-pagination{
	display : flex;
	justify-content : center;
}

#new .swiper-pagination-bullet{
	border-radius : 9999px;
	background-color : var(--bg06);
	cursor : pointer;
}

#new .swiper-pagination-bullet.swiper-pagination-bullet-active{
	background-color : var(--colorPrimary);
}

@media screen and (max-width: 750px){
	#new{
		padding-top : calc( 100 * 100vw / 750 );
		padding-bottom : calc( 100 * 100vw / 750 );
		padding-left : 0;
		padding-right : 0;
	}
	#new .swiper{
		margin-top : calc( ( 80 - 9.46 ) * 100vw / 750 );
		width : calc( 400 * 100% / 750 );
		margin-left : auto;
		margin-right : auto;
	}
	#new .swiper-slide{
		height : auto;
	}
	#new .swiper-slide a{
		display : flex;
		flex-direction : column;
		height : 100%;
	}
	#new dl{
		margin-top : auto;
		-ms-grid-row-align : center;
		align-self : center;
	}
	#new dt , #new dd{
		font-size : calc( 2.8rem + var(--addFtontSize) );
		line-height : calc( 46.92 / 28 );
	}
	#new picture{
		margin-top : calc( ( 41 - 9.46 ) * 100vw / 750 );
		height : calc( 567 * 100vw / 750 );
		border-width : 1px;
	}
	#new .swiper-button-prev , #new .swiper-button-next{
		width : calc( 100 * 100% / 750 );
		height : calc( 100 * 100vw / 750 );
		bottom : calc( 313 * 100vw / 750 );
		border-width : calc( 2 * 100vw / 750 );
	}
	#new .swiper-button-prev img , #new .swiper-button-next img{
		height : calc( 19 * 100vw / 750 );
	}
	#new .swiper-button-prev{
		left : calc( 20 * 100% / 750 );
	}
	#new .swiper-button-next{
		right : calc( 20 * 100% / 750 );
	}
	#new .swiper-pagination{
		margin-top : calc( 60 * 100vw / 750 );
	}
	#new .swiper-pagination-bullet{
		width : calc( 20 * 100% / 750 );
		height : calc( 20 * 100vw / 750 );
		margin-left : calc( 15 * 100% / 750 );
		margin-right : calc( 15 * 100% / 750 );
	}
}

@media print,screen and (min-width: 751px){
	#new{
		padding-top : 80px;
		padding-bottom : 80px;
	}
	#new .swiper{
		margin-top : calc( 59px - 4.5px );
		width : 900px;
		margin-left : auto;
		margin-right : auto;
	}
	#new .swiper-wrapper{
	}
	#new .swiper-slide{
		width : 205px;
		margin-left : 10px;
		margin-right : 10px;
		height : auto;
	}
	#new .swiper-slide a{
		display : flex;
		flex-direction : column;
		height : 100%;
	}
	#new dl{
		margin-top : auto;
		-ms-grid-row-align : center;
		align-self : center;
	}
	#new dt , #new dd{
		font-size : calc( 1.5rem + var(--addFtontSize) );
		line-height : calc( 24 / 15 );
	}
	#new picture{
		margin-top : calc( 19px - 4.5px );
		height : 290px;
		border-width : 2px;
	}
	#new .swiper-button-prev , #new .swiper-button-next{
		width : 60px;
		height : 60px;
		bottom : 165px;
		border-width : 1px;
	}
	#new .swiper-button-prev img , #new .swiper-button-next img{
		height : 11px;
	}
	#new .swiper-button-prev{
		left : calc( 50% - 540px );
	}
	#new .swiper-button-next{
		right : calc( 50% - 540px );
	}
	#new .swiper-pagination{
		margin-top : 40px;
	}
	#new .swiper-pagination-bullet{
		width : 10px;
		height : 10px;
		margin-left : 10px;
		margin-right : 10px;
	}
}

/*--------------------------------------------
ABOUT
---------------------------------------------*/

#about a{
	border-style : solid;
	border-color : var(--border06);
	background-color : var(--colorBg);
	letter-spacing : .075em;
	color : var(--link01);
	transition : color .3s ease-in;
	-webkit-backface-visibility : hidden;
	        backface-visibility : hidden;
	will-change : color;
	width : 100%;
	height : 100%;
}

#about a:before{
	content : "";
	display : block;
	background-repeat : no-repeat;
	background-position : center;
	background-size : contain;
	font-size : 0;
	transition : opacity .3s ease-in;
	-webkit-backface-visibility : hidden;
	        backface-visibility : hidden;
	will-change : opacity;
	filter : var(--filter05);
}

#about a:hover:before{
	opacity : .7;
}

#about li:nth-child(1) a:before{
	background-image : url("/libr/assets/images/ui/icon/book.svg");
}

#about li:nth-child(2) a:before{
	background-image : url("/libr/assets/images/ui/icon/tel.svg");
}

#about li:nth-child(3) a:before{
	background-image : url("/libr/assets/images/ui/icon/document.svg");
}

#about li:nth-child(4) a:before{
	background-image : url("/libr/assets/images/ui/icon/publication.svg");
}

#about li:nth-child(5) a:before{
	background-image : url("/libr/assets/images/ui/icon/link.svg");
}

@media screen and (max-width: 750px){
	#about{
		padding-top : calc( 100 * 100vw / 750 );
		padding-bottom : calc( 100 * 100vw / 750 );
	}
	#about ul{
		margin-top : calc( 80 * 100vw / 750 );
	}
	#about li{
		height : calc( 160 * 100vw / 750 );
	}
	#about li + li{
		margin-top : calc( 40 * 100vw / 750 );
	}
	#about a{
		display : flex;
		align-items : center;
		justify-content : center;
		border-width : 1px;
		font-size : calc( 3.2rem + var(--addFtontSize) );
	}
	#about a:before{
		flex-shrink : 0;
	}
	#about li:nth-child(1) a:before{
		width : calc( 62 * 100% / 670 );
		height : calc( 48 * 100vw / 750 );
		margin-right : calc( 29 * 100% / 670 );
	}
	#about li:nth-child(2) a:before{
		width : calc( 46 * 100% / 670 );
		height : calc( 46 * 100vw / 750 );
		margin-right : calc( 34 * 100% / 670 );
	}
	#about li:nth-child(3) a:before{
		width : calc( 36 * 100% / 670 );
		height : calc( 46 * 100vw / 750 );
		margin-right : calc( 30 * 100% / 670 );
	}
	#about li:nth-child(4) a:before{
		width : calc( 49 * 100% / 670 );
		height : calc( 47 * 100vw / 750 );
		margin-right : calc( 30 * 100% / 670 );
	}
	#about li:nth-child(5) a:before{
		width : calc( 46 * 100% / 670 );
		height : calc( 46 * 100vw / 750 );
		margin-right : calc( 34 * 100% / 670 );
	}
}

@media print,screen and (min-width: 751px){
	#about{
		padding-top : 80px;
		padding-bottom : 80px;
	}
	#about ul{
		margin-top : 60px;
		display : -ms-grid;
		display :     grid;
		-ms-grid-columns : (200px)[5];
		grid-template-columns : repeat(5,200px);
		justify-content : space-between;
		-ms-grid-rows : 160px;
		grid-template-rows : 160px;
	}
	#about a{
		display : block;
		border-width : 1px;
		text-align : center;
		position : relative;
		text-indent : .075em;
		font-size : calc( 1.5rem + var(--addFtontSize) );
		padding-top : 105px;
	}
	#about a:before{
		top : 42px;
		transform : translateX(-50%);
		position : absolute;
		left : 50%;
	}
	#about li:nth-child(1) a:before{
		width : 54px;
		height : 41px;
		top : 44px;
	}
	#about li:nth-child(2) a:before{
		width : 41px;
		height : 41px;
		top : 44px;
	}
	#about li:nth-child(3) a:before{
		width : 32px;
		height : 42px;
		top : 43px;
	}
	#about li:nth-child(4) a:before{
		width : 45px;
		height : 43px;
		top : 42px;
	}
	#about li:nth-child(5) a:before{
		width : 42px;
		height : 42px;
	}
}

html[data-theme="white"] #about a:hover{
	color : rgba(51,51,51,.7);
}

html[data-theme="yellow"] #about a:hover{
	color : rgba(28,1,250,.7);
}

html[data-theme="blue"] #about a:hover{
	color : rgba(255,255,255,.7);
}

html[data-theme="black"] #about a:hover{
	color : rgba(255,255,255,.7);
}
#news h3:after{
background-image:url("/libr/assets/css/s9n3gg000001gy0v-img/s9n3gg000001gy1w.webp");
}#news li li a:after{
background-image:url("/libr/assets/css/s9n3gg000001gy0v-img/s9n3gg000001gy27.webp");
}#about li:nth-child(1) a:before{
background-image:url("/libr/assets/css/s9n3gg000001gy0v-img/s9n3gg000001gy2g.svg");
}#about li:nth-child(2) a:before{
background-image:url("/libr/assets/css/s9n3gg000001gy0v-img/s9n3gg000001gy2p.svg");
} #about li:nth-child(3) a:before{
background-image:url("/libr/assets/css/s9n3gg000001gy0v-img/s9n3gg000001gy2y.svg");
}#about li:nth-child(4) a:before{
background-image:url("/libr/assets/css/s9n3gg000001gy0v-img/s9n3gg000001gy37.svg");
}#about li:nth-child(5) a:before{
background-image:url("/libr/assets/css/s9n3gg000001gy0v-img/s9n3gg000001gy3g.svg");
}