@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .sec01 {
	padding: 3.2rem 0 2.5rem;
}
#main .sec01 .textImg {
	text-align: right;
	margin: 0 3rem 1.8rem 0;
}
#main .sec01 .textImg02 {
	margin: 0 0 0 2.8rem;
}
#main .sec01 .textImg02 span {
	display: block;
	text-align: right;
	letter-spacing: 0.01em;
	font-weight: 500;
	margin: 1.9rem 2.5rem 0 0;
}
#main .sec01 h2 {
	margin-bottom: 2.6rem;
	text-align: center;
}
#main .sec01 .txt {
	margin-bottom: 9.3rem;
	text-align: center;
	font-size: clamp(1.35rem, 2.4vw, 3.6rem);
	font-weight: 700;
	color: #604C3F;
	letter-spacing: 0.025em;
	font-feature-settings: "palt";
}
#main .sec02 .inner {
	max-width: 94.5rem;
	margin: 0 auto 2.4rem;
	border: 4px solid #00AACB;
	border-radius: 3rem;
	overflow: hidden;
}
#main .sec02 .inner h3 {
	text-align: center;
	min-height: 11.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #00AACB;
}
#main .sec02 .inner .whiteBox {
	padding: 4.2rem 2.5rem 4rem;
	background-color: #fff;
}
#main .comDl {
	padding: 0 0 2.8rem 2.7rem;
	color: #231815;
	line-height: 1.72;
	font-size: clamp(1.2rem, 1.8vw, 2.4rem);
	font-weight: 700;
}
#main .comDl dt {
	width: 17rem;
	padding: 0 1rem 0 0;
}
#main .comDl dd {
	width: calc(100% - 17rem);
}
#main .comDl dd a {
	text-decoration: underline;
}
#main .comDl .subSpan {
	display: inline-flex;
}
#main .comDl .subSpan .txtSpan {
	flex-shrink: 0;
}
#main .comDl dd a:hover {
	opacity: 0.7;
}
#main .lecture {
	margin-bottom: 6.5rem;
	padding-top: 0.4rem;
	position: relative;
}
#main .lecture:after {
	width: 100%;  
	height: 0.4rem;
	background-color: #604C3F;
	position: absolute;  
	top: 0;
	left: 0;
	border-radius: 1rem;
	content: ""; 
}
#main .sec02 h4 {
	min-width: 21.9rem;
	width: fit-content;
	margin: 0 auto 1.3rem;
	font-size: clamp(1.2rem, 2.4vw, 3.3rem);
	font-weight: 700;
	color: #fff;
	text-align: center;
	line-height: 1;
	padding: 0.305em 0.61em 0.61em 0.915em;
	letter-spacing: 0.305em;
	background-color: #604C3F;
	border-radius : 0rem 0rem 1.3rem 1.3rem;
}
#main .lectureList li {
	margin: 0 -0.6rem 3rem;
	padding: 0 2rem 3.1rem;
	border-bottom: 5px dotted #99DDEA;
}
#main .lectureList li:last-child {
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
#main .lectureDl {
	align-items: center;
}
#main .lectureDl dt {
	margin-right: 4rem;
	padding-bottom: 0.5rem;
	width: 18rem;
	height: 18rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: clamp(1rem, 2vw, 2.7rem);
	font-weight: 700;
	color: #fff;
	line-height: 1.33;
	border-radius: 100%;
	letter-spacing: 0.105em;
	background-color: #00AACB;
}
#main .lectureDl dd {
	padding-top: 1.2rem;
	flex: 1;
}
#main .lectureDl dd .ttl {
	margin-bottom: 1.8rem;
	font-size: clamp(1.2rem, 1.8vw, 2.4rem);
	font-weight: 700;
	color: #00AACB;
	line-height: 1.15;
}
#main .lectureDl dd .ttl .txtSpan {
	font-size: clamp(1rem, 1.6vw, 2.2rem);
}
#main .lectureDl dd .txt {
	font-size: 3.6rem;
	font-weight: 700;
	color: #231815;
	display: flex;
	align-items: center;
}
#main .lectureDl dd .txt .name {
	margin-top: -0.3rem;
	flex-shrink: 0;
	font-size: clamp(1.2rem, 2vw, 2.4rem);
}
#main .lectureDl dd .txt small {
	font-size: clamp(1rem, 1.6vw, 2.2rem);
	font-weight: 500;
	margin-left: 3.5rem;
	vertical-align: 0.5rem;
	display: flex;
	align-items: center;
}
#main .access {
	padding-top: 0.4rem;
	position: relative;
	font-size: clamp(1.2rem, 1.8vw, 2.4rem);
}
#main .access:after {
	width: 100%;  
	height: 0.4rem;
	background-color: #604C3F;
	position: absolute;  
	top: 0;
	left: 0;
	border-radius: 1rem;
	content: ""; 
}
#main .access h4 {
	margin-bottom: 3rem;
	text-align: center;
}
#main .access p {
	margin-bottom: 4.2rem;
	text-align: center;
	line-height: 1.65;
}
#main .access p:last-child {
	margin-bottom: 0;
}
#main .access .ttl {
	margin-bottom: 1.2rem;
	color: #231815;
	font-size: clamp(1.2rem, 2vw, 2.4rem);
	font-weight: 700;
}
#main .access .map {
	margin: 0 1.3rem 2rem;
	height: 44.5rem;
	text-align: center;
}
#main .access .map iframe {
	width: 100%;
	height: 100%;
}
#main .access .pBox {
	padding-top: 2.7rem;
	border-top: 5px dotted #99DDEA;
}
#main .access .pBox .img {
	text-align: center;
	margin-bottom: 1.5rem;
}
#main .sec02 .btmP {
	color: #231815;
	font-size: clamp(1rem, 1.4vw, 1.8rem);
	text-align: center;
}
#main .sec02 {
	margin-bottom: 9.4rem;
}
#main .sec02:last-child {
	margin-bottom: 0;
}
#main .sec03 .inner {
	border-color: #E85298;
}
#main .sec03 .inner h3 {
	background-color: #E85298;
}
#main .sec03 .lectureDl dt {
	background-color: #E85298;
}
#main .sec03 .lectureDl dd .ttl {
	color: #E85298;
}
#main .sec03 .lectureDl dd .ttl small {
	font-size: clamp(1rem, 1.6vw, 2.2rem);
}
#main .sec03 .lectureList li {
	border-color: #F6BAD6;
}
#main .sec03 .access .pBox {
	border-color: #F6BAD6;
}
#main .sec04 .inner {
	border-color: #6CBB5A;
}
#main .sec04 .inner h3 {
	background-color: #6CBB5A;
}
#main .sec04 .lectureDl dt {
	background-color: #6CBB5A;
}
#main .sec04 .lectureDl dd .ttl {
	color: #6CBB5A;
}
#main .sec04 .lectureDl dd .ttl small {
	font-size: clamp(1rem, 1.6vw, 2.2rem);
}
#main .sec04 .lectureList li {
	border-color: #C4E4BD;
}
#main .sec04 .access .pBox {
	border-color: #C4E4BD;
}
#main .lectureDl dd .txt02 {
	align-items: flex-start;
}
#main .lectureDl dd .txt02 .name {
	margin-top: -1rem;
}
#main .btmBox {
	padding-top: 3.8rem;
}
#main .btmBox dt {
	width: fit-content;
	margin: 0 auto 1.8rem;
	min-width: 48.9rem;
	text-align: center;
	border-radius: 5rem;
	text-align: center;
	padding: 0.4rem 1rem;
	font-weight: 700;
	font-size: clamp(1rem, 1.6vw, 2.5rem);
	color: #fff;
	letter-spacing: 0.105em;
	background-color: #C30D23;
}
#main .btmBox dd {
	font-size: clamp(1rem, 1.6vw, 2.5rem);
	font-weight: 700;
	letter-spacing: 0.025em;
	text-align: center;
	color: #231815;
}
#main .btmBox dd a:hover {
	opacity: 0.7;
}
@media all and (min-width: 1001px) {
	#main .sec04 .comDl {
		padding-left: 1.5rem;
		padding-bottom: 5rem;
		padding-right: 0;
	}
	#main .sec04 .comDl dd .subSpan {
		letter-spacing: -0.05em;
		margin-right: -1rem;
	}

}

@media all and (max-width: 1000px) {
	#gHeader h1 {
		width: clamp(4.7rem, 10vw, 8rem);
	}
	#main .sec01 .textImg img {
		width: clamp(6rem, 12vw, 18rem);
	}
	#main .sec01 .textImg {
		margin: -2rem 0 0.8rem;
	}
	#main .sec01 h2 img {
		width: clamp(31rem, 65vw, 60rem);
	}
	#main .sec01 .txt {
		margin-bottom: 3.5rem;
		/*font-size: 1.35rem;*/
	}
	#main .sec01 h2 {
		margin-bottom: 0.9rem;
	}
	#main .sec01 .textImg02 {
		text-align: center;
		margin: 0 -0.2rem;
	}
	#main .sec01 .textImg02 span {
		margin: 0.5rem 0rem 0 0;
		font-size: 1rem;
	}
	#main .sec01 {
		padding-bottom: 0.6rem;
	}
	#main .sec02 .inner {
		margin-bottom: 0.8rem;
		max-width: inherit;
		border-radius : 1.3rem;
	}
	#main .sec02 .inner h3 {
		min-height: 4.4rem;
		padding: 1.2rem;
	}
	#main .sec02 .inner h3 img {
		width: auto;
		max-width: inherit;
		max-height: clamp(2.1rem, 5vw, 56px);
	}
	#main .sec02 .inner .whiteBox {
		padding: 1.1rem 0.6rem 1.5rem;
	}
	#main .comDl {
		/*font-size: 1.2rem;*/
		line-height: 1.5;
		padding: 0 0 1.5rem 1.2rem;
	}
	#main .comDl dt {
		padding-right: 0.2rem;
		width: 20vw;
	}
	#main .comDl dd {
		width: calc(100% - 20vw);
	}
	#main .comDl .subSpan {
		display: inline;
	}
	#main .sec02 h4 {
		margin: 0 auto 0.2rem;
		/*padding: 0rem 0.5rem 0.6rem 1rem;*/
		min-width: 8.2rem;
		/*font-size: 1.2rem;*/
	}
	#main .lectureList li {
		min-height: 6.8rem;
		margin: 0 0 -0.5rem;
		padding: 1.2rem 0 1.2rem 0.9rem;
	}
	#main .lectureDl dt {
		padding-bottom: 0;
		width: 14vw;
		height: 14vw;
		/*font-size: 1rem;*/
		line-height: 1.4;
		margin-right: 1.3rem;
	}
	#main .lectureDl dd .ttl {
		margin-bottom: 0.5rem;
		/*font-size: 1.2rem;*/
	}
	#main .lectureDl dd .ttl .txtSpan {
		/*font-size: 1.0rem;*/
	}
	#main .lectureDl dd .txt {
		align-items: center !important;
		font-size: 1.4rem;
	}
	#main .lectureDl dd .txt small {
		margin-left: 1.2rem;
		/*font-size: 1rem;*/
		line-height: 1.4;
	}
	#main .lectureDl dd .txt .name {
		margin-top: 0;
	}
	#main .lectureDl dd {
		padding: 0;
	}
	#main .lecture {
		margin-bottom: 1.5rem;
	}
	#main .access p {
		margin-bottom: 1.2rem;
		line-height: 1.6;
	}
	#main .access .ttl {
		margin-bottom: 0.5rem;
		padding-top: 1rem;
		/*font-size: 1.1rem;*/
	}
	#main .access .map {
		height: 44.7vw;
		margin: 0 0.5rem 1.2rem;
	}
	#main .access .pBox {
		padding-top: 1.5rem;
		margin: 0;
	}
	#main .access .pBox .img {
		margin-bottom: 1.3rem;
	}
	#main .access .pBox .img img {
		width: clamp(18px, 4vw, 49px);
	}
	#main .sec02 .btmP {
		/*font-size: 1rem;*/
	}
	#main .sec02 {
		margin-bottom: 3.8rem;
	}
	#main .sec03 .lectureDl dd .ttl small {
		/*font-size: 1.1rem;*/
		letter-spacing: -0.03em;
	}
	#main .access .spTxt {
		font-weight: 700;
	}
	#main .btmBox {
		margin-top: -0.9rem;
		padding-top: 0;
	}
	#main .btmBox dt {
		margin-bottom: 0.9rem;
		padding: 0.2rem 1rem;
		letter-spacing: 0.005em;
		/*font-size: 1.0rem;*/
		min-width: 18.3rem;
	}
	#main .btmBox dd {
		padding-right: 1rem;
		/*font-size: 1rem;*/
	}
}