@charset "UTF-8";

/* main
------------------------------------------------------------*/
.seminar {
	padding-bottom: 2.5em;
}
@media (min-width: 48rem) {
	.seminar {
		padding: 2.5rem 8.75rem;
	}
}
.l_common h2 {
	margin-top: 2.125rem;
	margin-bottom: 1.25rem;
	font-size: 1.375rem;
	font-weight: 700;
}
@media (min-width: 48rem) {
	.l_common h2 {
		margin-top: 3.75rem;
		font-size: 1.625rem;
	}
}
.l_common h3 {
	margin-top: 2.125rem;
	margin-bottom: .875rem;
	font-size: 1.125rem;
	font-weight: 700;
}
@media (min-width: 48rem) {
	.l_common h3 {
		margin-top: 2rem;
		font-size: 1.375rem;
	}
}

/* focus_section
------------------------------------------------------------*/
.focus_section * {
	text-align: center;
}
.focus_section h2 {
	margin-top: 0;
	font-size: 200%;
}
.focus_section h3 {
	display: table;
	width: auto;
	margin-right: auto;
	margin-left: auto;
	font-size: 170%;
	line-height: 1.5;
	font-weight: 700;
}
@media screen and (max-width: 414px) {
	.focus_section h3 {
		margin-top: 0;
		font-size: 133.33333%;
	}
}
.focus_section .catch {
	display: table;
	width: auto;
	margin-right: auto;
	margin-left: auto;
	margin-top: 2em;
	font-size: 112.5%;
}

/* access_section
------------------------------------------------------------*/
.access_section h3:first-child {
	margin-top: 0;
}
@media screen and (max-width: 640px) {
	.access_section h3:first-child {
		margin-top: 2.125rem;
	}
}
.access_section figure:before,
.access_section figure:after {
	display: table;
	content: "";
}
.access_section figure:after {
	clear: both;
}
.access_section figure > * {
	float: right;
}
@media screen and (max-width: 640px) {
	.access_section figure > * {
		float: none;
	}
}
.access_section figure .fig {
	width: 44%;
	line-height: 1;
}
.access_section figure .fig {
	position: relative;
	padding-bottom: 35%;
	height: 0;
	overflow: hidden;
}
.access_section figure .fig iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

@media screen and (max-width: 640px) {
	.access_section figure .fig {
		width: 100%;
		text-align: center;
	}
}
.access_section figure figcaption {
	width: 56%;
	padding-right: 4%;
}
@media screen and (max-width: 640px) {
	.access_section figure figcaption {
		display: table;
		width: auto;
		margin-right: auto;
		margin-left: auto;
		padding: 1% 0 0 0;
	}
}

/* works_section
------------------------------------------------------------*/
.works_section h3 {
	margin-top: 0;
	font-size: 100%;
}
@media (max-width: 640px) {
	.works_section .fig + .intro h3 {
		margin-top: 1.25rem;
	}
}
.works_section .teacher {
	padding: 25px 0;
	border-bottom: 1px solid #cccccc;
}
.works_section .teacher:before,
.works_section .teacher:after {
	display: table;
	content: "";
}
.works_section .teacher:after {
	clear: both;
}
.works_section .teacher:first-of-type {
	border-top: 1px solid #cccccc;
}
.works_section .teacher > * {
	float: left;
}
@media screen and (max-width: 640px) {
	.works_section .teacher > * {
		float: none;
	}
}
.works_section .teacher .fig {
	width: 31%;
	line-height: 1;
}
@media screen and (max-width: 640px) {
	.works_section .teacher .fig {
		width: 100%;
		text-align: center;
	}
}
.works_section .teacher .intro {
	width: 100%;
}
.works_section .teacher .fig + .intro {
	width: 69%;
	padding-left: 3%;
}
@media screen and (max-width: 640px) {
	.works_section .teacher .intro,
	.works_section .teacher .fig + .intro {
		display: table;
		width: auto;
		margin-right: auto;
		margin-left: auto;
		padding: 1% 0 0 0;
	}
}

.google-maps {
	position: relative;
	padding-bottom: 75%; // これが縦横比
	height: 0;
	overflow: hidden;
}
.google-maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

/* module : link
------------------------------------------------------------*/
/* button */
.button:hover {
	opacity: 0.7;
	cursor: pointer;
}
.button.contact {
	display: table;
	width: auto;
	margin-right: auto;
	margin-left: auto;
	width: 240px;
	height: 60px;
	margin-top: 40px;
	border: 2px solid;
	border-radius: 30px;
	font-size: 125%;
	line-height: 60px;
	text-align: center;
}
.button.contact a {
	color: #333333;
}
@media screen and (max-width: 640px) {
	.button.contact {
		margin-top: 27px;
	}
}
.button.contact a {
	display: block;
}