@charset "utf-8";


@media screen and (min-width:1025px){

	#header {
		position:fixed;
		right:0;
		left:auto;
		top:0;
		z-index:90;
		width: min(50%,700px);
		.header{
			box-shadow: none;
			background:none;
			.header_inner {
				width:100%;
				grid-template-columns:180px 1fr 100px;
				.meeting {
					display:none;
				}
			}
		}
	}

}

@media screen and (min-width:1025px) and (max-width:1200px){
	
	#header {
		.header{
			.header_inner {
				p {
					width:8em;
					line-height:1.3;
					position:relative;
					& > span {
						white-space:nowrap;
						position:absolute;
						bottom:-2.2em;
						left:-6em;
					}
				}
			}
		}
	}

}

section {
	&:not(#now) {
		.wrap {
			padding-bottom:90px;
			.contents {
				h2 {
					display:grid;
					grid-gap:.5em;
					margin-bottom:1.5em;
					&::before {
						font-size:1.2em;
					}
				}
				.contents_inner {
					margin-bottom:45px;
					&.posts {
						display:flex;
						justify-content:center;
						gap:45px;
						.item {
							height:100%;
							width:calc(33.3% - 30px);
							display:block;
							font-size:1.8rem;
							.tag {
								display:flex;
								flex-wrap:wrap;
								gap:.5em;
								font-size:.9em;
								margin-bottom:1em;
							}
							& > a {
								display:grid;
								img {
									display:block;
									width:100%;
									aspect-ratio:1/1;
									object-fit:cover;
									border-radius:.33em 1.33em;
									box-shadow:-3px -3px 3px rgba(0,0,0,.04),
										7px 5px 10px rgba(0,0,0,.08);
								}
								h3 {
									font-size:1.1em;
									line-height:1.3;
									padding:1em 0 .75em;
									&::before {
										content:'●';
										margin-right:.33em;
										font-size:.8em;
									}
								}
								p {
									line-height:1.6;
								}
							}
						}
					}
				}
			}
		}
	}
	.wrap {
		.contents {
			h2 {
				font-family: "M PLUS 1p", sans-serif!important;
				font-weight:600;
				font-size:2.6rem;
				line-height:1.2;
				text-align:center;
				margin-bottom:1em;
			}
			.btn {
				font-size:1.8rem;
				letter-spacing:.5em;
				text-align:center;
				display:grid;
				grid-template-columns:1fr 1em;
				align-items:center;
				height:3em;
				padding:0 1em;
				border-radius:2em;
				max-width:14em;
				margin:0 auto;
				box-shadow:-3px -3px 3px rgba(0,0,0,.04),
					7px 5px 10px rgba(0,0,0,.08);
				&::after {
					height:1em;
				}
			}
		}
	}
}

#fv {
	.wrap {
		.contents {
			max-width:100%;
			width: 100%;
			.contents_inner {
				height:500px;
				display:grid;
				grid-template-columns:1fr min(50%,700px);
				.report_box {
					background-repeat:no-repeat;
					background-position:right center;
					background-size:cover;
					border-radius: 0 0 2em 0;
					overflow: hidden;
					.report_inner {
						height:100%;
						max-width:700px;
						margin-left:auto;
						margin-right:0;
						padding:40px;
						display:grid;
						align-items:end;
					}
					h1 {
						font-family: "M PLUS 1p", sans-serif;
						font-size:3.0rem;
						font-weight:600;
						line-height:1.2;
						position:relative;
						a {
							display:block;
							font:inherit;
							background-color:#FFFFFF;
							border-radius:3em;
							padding:.5em 1em .5em 1em;
							position:relative;
							z-index:1;
							box-shadow:7px 5px 10px rgba(0,0,0,.08);
							&::after {
								font-size:.6em;
								position:absolute;
								right:.66em;
								top:calc(50% - .5em);
							}
						}
						span {
							font-size:3em;
							font-weight:600;
							line-height:1;
							color:#FFFFFF;
							position:absolute;
							left:.25em;
							top:-.88em;
							font-style:italic;
							text-shadow:5px 5px 0 var(--color_sub);
							z-index:0;
						}
					}
					.label {
						position:absolute;
						top:0;
						left:0;
						font-size:4.0rem;
						font-weight:800;
						padding:.2em 1.5em .2em .66em;
						display:grid;
						grid-template-columns:repeat(2,auto);
						align-items:center;
						justify-content:center;
						line-height:1;
						color:var(--color_main);
						box-shadow:3px 3px 0 var(--color_main);
						background-color:rgba(255,255,255,.5);
						clip-path:polygon(0 0,100% 0,85% 100%,0 100%);
						span {
							font-weight:inherit;
							font-style:italic;
							text-shadow:3px 3px 0 #FFFFFF;
						}
						.year {
							font-size:.6em;
							margin-bottom:-.5em;
						}
						.vol {
							font-size:1em;
							letter-spacing:.1em;
						}
						.num {
							grid-area:1/2/3/3;
							font-size:2em;
						}
					}
				}
				.right_box {
					padding:120px 0 0;
					display:grid;
					grid-template-rows:auto 100px;
					grid-row-gap:20px;
					align-content:end;
					.menu_box {
						display:grid;
						grid-template-columns:repeat(2,1fr);
						grid-gap:15px;
						align-items:end;
						align-content:end;
						padding:0 30px;
						a {
							font-family: "M PLUS 1p", sans-serif;
							font-size:1.6rem;
							line-height:1.2;
							font-weight:500;
							display:grid;
							grid-template-columns:auto 1fr;
							grid-gap:.5em;
							align-items:center;
							padding:.5em;
							border-radius:5em;
							box-shadow:-5px -5px 6px rgba(0,0,0,.06),
								7px 5px 10px rgba(0,0,0,.08);
							img {
								width:4em;
								border-radius:50%;
								aspect-ratio:1/1;
								object-fit:cover;
							}
						}
					}
					.meeting{
						display: grid;
						height:100px;
						margin-left:30px;
						padding:0 1em 0 2em;
						border-radius:5em 0 0 5em;
						grid-template-columns:repeat(2,auto);
						grid-column-gap:1.2em;
						align-items:center;
						background-color: var(--color_main);
						font-family: "M PLUS 1p", sans-serif;
						font-size: 1.8rem;
						* {
							color:var(--color_txt2);
						}
						dl {
							display:grid;
							grid-template-columns:repeat(2,auto);
							align-items:center;
							grid-gap:1em;
							dt{
								font-family: "M PLUS 1p", sans-serif;
								font-size: 2em;
								font-weight:500;
								line-height:1.1;
								text-align: center;
								& > span{
									font-family: "M PLUS 1p", sans-serif;
									font-size: .4em;
									display: block;
									font-weight:600;
								}
							}
							dd{
								line-height: 1;
								font-weight: 600;
								text-align: center;
								font-family: "M PLUS 1p", sans-serif;
								& > span{
									font-size: 2.4em;
									font-weight: 600;
								}
							}
						}
						ul {
							display:grid;
							grid-template-columns:repeat(2,auto);
							align-items:center;
							grid-gap:1em;
							font-size:.9em;
							li {
								font-family: "M PLUS 1p", sans-serif;
								line-height:1.3;
								font-weight:600;
							}
						}
					}
				}
			}
		}
	}
}

#now {
	.wrap {
		padding:90px 0 120px;
		.contents {
			.contents_inner {
				display:grid;
				grid-template-columns:35% 1fr;
				grid-gap:30px;
				.detail {
					h2 {
						text-align:left;
						font-size:2.8rem;
						padding-bottom:.25em;
						background: linear-gradient(-2deg, var(--color_sub) 40%, transparent 40%);
					}
					p {
						font-size:1.8rem;
						line-height:2;
						font-weight:600;
						margin-bottom:2em;
						text-wrap:balance;
					}
				}
				.posts {
					display:grid;
					grid-template-columns:repeat(3,1fr);
					grid-gap:15px;
					a {
						background-repeat:no-repeat;
						background-position:center center;
						background-size:cover;
						border-radius:.33em 1.33em;
						padding:1em;
						display:grid;
						align-content:end;
						overflow:hidden;
						position:relative;
						box-shadow:-3px -3px 3px rgba(0,0,0,.04),
							7px 5px 10px rgba(0,0,0,.08);
						h3 {
							font-size:1.8rem;
							line-height:1.3;
							font-weight:600;
							color:#FFFFFF;
							margin-bottom:.33em;
							position:relative;
							z-index:1
						}
						p {
							color:#FFFFFF;
							font-weight:600;
							line-height:1.3;
							position:relative;
							z-index:1;
						}
						&::before {
							content:'';
							display:block;
							width:100%;
							height:100%;
							position:absolute;
							left:0;
							top:0;
							background: rgb(0,0,0);
							background: linear-gradient(0deg, rgba(0,0,0,0.66) 30%, rgba(0,0,0,0) 70%);
						}
						&::after {
							content:'';
							display:block;
							width:.75em;
							height:.75em;
							position:absolute;
							right:.25em;
							bottom:.25em;
							background-color:#FFFFFF;
							clip-path:polygon(100% 0,100% 100%, 0 100%);
						}
					}
				}
			}
		}
	}
}

#activity {
	.wrap {
		.contents {
			h2 {
				&::before {
					color:#FF90B7;
				}
			}
			.item {
				.tag {
					a {
						color:#FF90B7;
					}
				}
				h3 {
					&::before {
						color:#FF90B7;
					}
				}
			}
		}
	}
}
#talent {
	.wrap {
		display:grid;
		grid-template-columns:calc(64% - 15px) 1fr;
		grid-gap:90px;
		max-width:1100px;
		width:calc(100% - 60px);
		margin:0 auto;

		display:flex;
		justify-content:center;
		column-gap:45px;
		.contents {
			width:100%;
			max-width: calc(33.3% - 40px);
			margin:0;
			&.talent {
				h2 {
					&::before {
						color:#40D5BB;
					}
				}
				.contents_inner {
					&.posts {
						.item {
							display:grid;
							grid-template-rows:1fr auto;
							width:calc(50% - 22.5px);

							width:100%;
							.tag {
								align-content:end;
								a {
									color:#40D5BB;
								}
							}
							h3 {
								&::before {
									color:#40D5BB;
								}
							}
						}
					}
				}
			}
			&.column {
				h2 {
					&::before {
						color:#89B0EF;
					}
				}
				.contents_inner {
					&.posts {
						.item {
							width:100%;
							.tag {
								a {
									color:#89B0EF;
								}
							}
							h3 {
								&::before {
									color:#89B0EF;
								}
							}
						}
					}
				}
			}
		}
	}
}

#publication {
	.wrap {
		padding-top:60px;
		.contents {
			h2 {
				&::before {
					color:#BB64F8;
				}
			}
			.contents_inner {
				display:grid;
				grid-template-columns:40% 1fr;
				align-items:center;
				grid-gap:60px;
				.text{
					p {
						font-size:1.8rem;
						line-height:2;
						font-weight:600;
						margin-bottom:2em;
					}
					.btn {
						max-width:18em;
					}
				}
				.img {
					img {
						border-radius:.33em 1.33em;
						box-shadow:-3px -3px 3px rgba(0,0,0,.04),
							7px 5px 10px rgba(0,0,0,.08);
					}
				}
			}
		}
	}
}

#information {
	.wrap {
		.contents {
			h2 {
				font-family:"lato"!important;
				&::before {
					color:#F8B603;
				}
			}
			.contents_inner {
				display:grid;
				grid-template-columns:repeat(5,1fr);
				grid-gap:10px;
				a {
					font-family: "M PLUS 1p", sans-serif!important;
					line-height:1.4;
					font-weight:600;
					display:grid;
					font-size:1.7rem;
					height:4em;
					border-radius:2em;
					display:grid;
					grid-template-columns:1em auto;
					align-items:center;
					justify-content:center;
					grid-gap:1em;
					box-shadow:-3px -3px 3px rgba(0,0,0,.04),
						7px 5px 10px rgba(0,0,0,.08);
					&::before {
						font-size:1.2em;
					}
					&:nth-child(-n+1) {
						background-color:#87e7d6;
					}
					&:nth-child(2) {
						background-color:#fff12a;
					}
					&:nth-child(3) {
						background-color:#ffcb6b;
					}
					&:nth-child(4) {
						background-color:#ffc3f7;
					}
					&:nth-child(5) {
						background-color:#afceff;
					}
				}
			}
		}
	}
}

@media screen and (max-width:1200px){
	
	#fv {
		.wrap {
			.contents {
				.contents_inner {
					.report_box {
						h1 {
							font-size:2.4rem;
						}
					}
					.right_box {
						.menu_box {
							grid-gap:10px;
							padding:0 20px;
							a {
								font-size:1.5rem;
							}
						}
						.meeting{
							margin-left:20px;
							dl {
								grid-template-columns:1fr;
								grid-gap:0;
								dt{
									font-size: 1.6em;
									& > span{
										font-size: .5em;
										font-weight:600;
									}
								}
								dd{
									& > span{
										font-size: 1.8em;
									}
								}
							}
						}
					}
				}
			}
		}
	}
	
	#now {
		.wrap {
			.contents {
				.contents_inner {
					.detail {
						h2 {
							font-size:2.5rem;
						}
					}
					.posts {
						a {
							h3 {
								font-size:1.7rem;
							}
						}
					}
				}
			}
		}
	}
	
	#publication {
		.wrap {
			.contents {
				.contents_inner {
					grid-template-columns:45% 1fr;
					grid-gap:40px;
				}
			}
		}
	}
	
}

@media screen and (max-width:1024px){

	section {
		&:not(#now) {
			.wrap {
				.contents {
					.contents_inner {
						&.posts {
							gap:20px;
							.item {
								width:calc(50% - 10px);
								font-size:1.6rem;
							}
						}
					}
				}
			}
		}
		.wrap {
			.contents {
				h2 {
					font-size:2.4rem;
				}
				.btn {
					font-size:1.6rem;
				}
			}
		}
	}
	
	#fv {
		.wrap {
			.contents {
				.contents_inner {
					height:auto;
					display:grid;
					grid-template-columns:1fr 300px;
					.report_box {
						.report_inner {
							padding:30px;
						}
						h1 {
							font-size:2.2rem;
						}
					}
					.right_box {
						grid-template-rows:1fr;
						padding:30px 0 0;
						.menu_box {
							grid-template-columns:1fr;
							a {
								font-size:1.6rem;
							}
						}
						.meeting{
							display:none;
						}
					}
				}
			}
		}
	}
	
	#now {
		.wrap {
			padding:60px 0 90px;
			.contents {
				.contents_inner {
					grid-template-columns:1fr;
					grid-gap:20px;
					.detail {
						display:contents;
						h2 {
							width:14em;
							text-align:center;
							margin:0 auto;
						}
						p {
							margin-bottom:1em;
						}
						.btn {
							order:3;
						}
					}
					.posts {
						margin-bottom:15px;
						grid-gap:10px;
						a {
							aspect-ratio:1/1;
							h3 {
								font-size:1.6rem;
							}
							p {
								font-size:1.5rem;
							}
						}
					}
				}
			}
		}
	}
	
	#talent {
		.wrap {
			/* grid-template-columns:1fr;
			grid-gap:90px; */

			column-gap:15px;
			.contents {
				&.talent {
					max-width:calc(50% - 10px);
				}
				&.column {
					max-width:calc(50% - 10px);
					h2 {
						&::before {
							color:#89B0EF;
						}
					}
					.contents_inner {
						&.posts {
							.item {
								/* width:50%; */
							}
						}
					}
				}
			}
		}
	}
	
	#publication {
		.wrap {
			padding-top:0;
			.contents {
				h2 {
					margin-bottom:0!important;
				}
				.contents_inner {
					grid-template-columns:1fr;
					grid-gap:20px;
					.text{
						display:contents;
						p {
							font-size:1.6rem;
							margin-bottom:0;
						}
						.btn {
							order:3;
						}
					}
						.img {
							margin-bottom:15px;
						}
				}
			}
		}
	}
	
	#information {
		.wrap {
			.contents {
				.contents_inner {
					display:flex;
					flex-wrap:wrap;
					justify-content:center;
					align-items:center;
					grid-gap:10px;
					max-width:640px;
					margin:0 auto;
					a {
						width:30%;
						font-size:1.5rem;
						grid-gap:1em;
						width:48%;
						&::before {
							font-size:1.1em;
						}
					}
				}
			}
		}
	}
	
}

@media screen and (max-width:768px){

	section {
		&:not(#now) {
			.wrap {
				padding-bottom:60px;
				.contents {
					.contents_inner {
						margin-bottom:30px;
						&.posts {
							gap:10px;
							.item {
								width:calc(50% - 5px);
								font-size:1.5rem;
								.tag {
									margin-bottom:.5em;
								}
							}
						}
					}
				}
			}
		}
		.wrap {
			.contents {
				h2 {
					font-size:2.0rem;
				}
				.btn {
					font-size:1.5rem;
				}
			}
		}
	}

	#fv {
		.wrap {
			.contents {
				.contents_inner {
					grid-template-columns:1fr;
					.report_box {
						border-radius: 0 0 1em 0;
						.report_inner {
							aspect-ratio:2/1;
							padding:20px 5px;
						}
						h1 {
							font-size:1.8rem;
							span {
								top:-.85em;
							}
						}
						.label {
							font-size:2.4rem;
						}
					}
					.right_box {
						padding:20px 0;
						.menu_box {
							padding:0 10px;
							grid-template-columns:repeat(2,1fr);
							grid-gap:5px;
							a {
								font-size:min(4vw,1.8rem);
								grid-gap:.5em;
								padding:.3em;
							}
						}
						.meeting {
							height:90px;
							display:grid;
							grid-area:1/1/2/2;
							margin-left:10px;
							font-size:min(4vw,1.5rem);
							grid-gap:.75em;
							justify-content:center;
							dl {
								dt{
									& > span{
										font-size: .7em;
									}
								}
							}
							ul {
								grid-gap:.75em;
								font-size:1em;
							}
						}
					}
				}
			}
		}
	}

	#now {
		.wrap {
			padding:30px 0 60px;
			.contents {
				.contents_inner {
					.detail {
						h2 {
							width:auto;
							font-size:2.2rem;
						}
						p {
							font-size:1.6rem;
							line-height:1.8;
							margin-bottom:.5em;
						}
						.btn {
							width:100%;
						}
					}
					.posts {
						grid-template-columns:1fr;
						a {
							aspect-ratio:2.5/1;
							h3 {
								font-size:1.6rem;
							}
							&::before {
								background: rgb(0,0,0);
								background: linear-gradient(0deg, rgba(0,0,0,0.66) 30%, rgba(0,0,0,0) 80%);
							}
						}
					}
				}
			}
		}
	}

	#talent {
		.wrap {
			grid-gap:60px;
			width:calc(100% - 40px);

			column-gap:10px;
			.contents {
				&.talent {
					max-width:calc(50% - 5px);
					.contents_inner {
						&.posts {
							grid-gap:10px;
							.item {
								/* width:calc(50% - 5px); */
							}
						}
					}
				}
				&.column {
					max-width:calc(50% - 5px);
					.contents_inner {
						&.posts {
							.item {
								/* width:50%; */
							}
						}
					}
				}
			}
		}
	}

	#publication {
		.wrap {
			.contents {
				.contents_inner {
					margin-bottom:0!important;
					.text{
						p {
							font-size:1.6rem;
							line-height:1.66;
							font-weight:600;
						}
					}
				}
			}
		}
	}

	#information {
		.wrap {
			.contents {
				.contents_inner {
					gap:10px 3%;
					margin-bottom:0!important;
					a {
						width:48%;
						font-size:min(3.73vw,1.6rem);
						&::before {
							font-size:1.2em;
						}
						&:nth-child(4) {
							grid-gap:1em;
						}
					}
				}
			}
		}
	}

}