@charset "UTF-8";

/* ---------------------------------------------------------
	CSS Document about
--------------------------------------------------------- */

#about .container {
	display: flex;
	justify-content: space-between;
	margin-bottom: 120px;
}

#about .row {
	width: 740px;
	text-align: left;
}

#about h2 {
	font-weight: 600;
	font-size: 26px;
	line-height: 1.5;
	color: var(--green);
}

#about p {
	margin-top: 2em;
}

#about p a {
	color: var(--black);
}

#about figure {
	width: 380px;
	height: 380px;
}

#about figure img {
	width: 380px;
	height: 380px;
}

/* ---------------------------------------------------------
	CSS Document profile
--------------------------------------------------------- */

#profile .card {
	display: flex;
	justify-content: center;
	gap: 120px;
	margin-bottom: 120px;
}

#profile figure {
	width: 220px;
	height: 294px;
}

#profile figure img {
	width: 220px;
	height: 294px;
}

#profile .row {
	width: 500px;
	text-align: left;
}

.profile-position {
	margin-bottom: 10px;
	font-weight: 600;
	font-size: 15px;
	line-height: 1;
	color: var(--green);
}

.profile-name-area {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 30px;
	font-weight: 600;
	line-height: 1;
	color: var(--green);
}

.profile-name {
	font-size: 28px;
}

.profile-roma {
	font-size: 10px;
}

#profile .row p {
	margin-bottom: 2em;
	font-size: 15px;
}

/* ---------------------------------------------------------
	CSS Document program
--------------------------------------------------------- */

#program {
	margin-bottom: 120px;
}

#program h2:before {
	display: block;
	content: '';
	width: 1px;
	height: 0;
	background: rgba(79, 122, 99, 0.5);
	position: absolute;
	left: 50%;
	top: 0;
	transition: height 0.8s ease 0.3s;
}

#program h2.on:before {
	height: 40px;
}

#program h2 {
	margin-bottom: 30px;
	padding-top: 55px;
	font-weight: 600;
	font-size: 40px;
	line-height: 1;
	color: var(--green);
	position: relative;
}

#program .lead {
	margin-bottom: 2em;
}

#program .container {
	width: 840px;
}

#program dl {
	display: table-row;
}

#program li {
	padding: 20px;
	border-bottom: solid 1px #CCD3CD;
	text-align: left;
}

#program li a {
	color: var(--black);
}

/* ---------------------------------------------------------
	CSS Document topics
--------------------------------------------------------- */

#topics .card {
	height: 420px;
	padding: 60px 420px 60px 60px;
	background: rgba(214, 228, 198, 0.3);
	text-align: left;
	text-decoration: none;
	font-size: 15px;
	color: var(--black);
	position: relative;
}

#topics figure {
	width: 300px;
	height: 300px;
	position: absolute;
	top: 60px;
	right: 60px;
}

#topics figure img {
	width: auto;
	height: 300px;
	aspect-ratio: 300 / 300;
	object-fit: cover;
}

#topics h2 {
	margin-bottom: 20px;
	font-weight: 600;
	font-size: 22px;
	line-height: 1;
}

#topics p {
	margin-bottom: 20px;
}
