@charset "UTF-8";


/* Scss Document */
/* Sass Document */
/* ----------------------------------------------------------------------------------------------------
*  共通
* --------------------------------------------------------------------------------------------------*/

.frame_wrap {
	text-align: center;
}

.frame {
	display: inline-block;
	position: relative;
	margin: 0 auto;
	padding: 2em 4em;
}

.frame::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 3em;
	height: 3em;
	border-top: 3px solid #81bf00;
	border-left: 3px solid #81bf00;
	content: '';
}

.frame::after {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 3em;
	height: 3em;
	border-right: 3px solid #81bf00;
	border-bottom: 3px solid #81bf00;
	content: '';
}

.frame .ttl {
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 1.6;
	text-align: center;
}

.bg_gradetion {
	background: #d1eaf1;
	background: -moz-linear-gradient(45deg, #d1eaf1 0%, #ffffe1 100%);
	background: -webkit-linear-gradient(45deg, #d1eaf1 0%, #ffffe1 100%);
	background: linear-gradient(45deg, #d1eaf1 0%, #ffffe1 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#d1eaf1', endColorstr='#ffffe1',GradientType=1 );
}

.heading {
	padding: 5em 100px;
}

.heading p.catch {
	font-size: 1.5rem;
	line-height: 2;
}
.heading p.catch.t_center{
	text-align: center;
}
.heading .image {
	margin: 4em 0 0;
	text-align: center;
}

.heading .image img {
	max-width: 100%;
	height: auto;
}

.flex {
	display: flex;
}

.flex.rev {
	flex-direction: row-reverse;
	justify-content: flex-end;
}

.content_block {
	margin-bottom: 6em;
}

.content_block:last-of-type {
	margin-bottom: 0;
}

.content_block h3.ttl {
	padding: 1em 1.5em;
	border-bottom: 1px solid #81bf00;
	background: #ECEFE0;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.2;
}

.content_block .flex {
	margin-top: 2.5em;
}

.content_block figure {
	flex-shrink: 0;
	width: 300px;
	margin-right: 4em;
}

.content_block figure.large {
	width: 450px;
}

.content_block figure img {
	max-width: 100%;
	height: auto;
}

.content_block .text p {
	font-size: 1.5rem;
}

.content_block .text p .caution {
	display: inline-block;
	margin-top: 1em;
	color: #DB0012;
	font-size: 1.2rem;
}

.aside {
	margin: 5em 0 4em;
}

.aside ul {
	display: flex;
}

.aside ul.row4 li {
	width: 215px;
	margin-right: 46px;
}

.aside ul.row4 li:nth-of-type(4n) {
	margin-right: 0;
}

.aside ul.row4 li a {
	display: block;
	transition: .3s;
}

.aside ul.row4 li a:hover {
	opacity: 0.7;
}

.aside ul.row4 li figure {
	margin-bottom: 1.5em;
}

.aside ul.row4 li h3.ttl {
	display: flex;
	margin-bottom: .8em;
	color: #81bf00;
	font-size: 2.0rem;
	line-height: 1.2;
}

.aside ul.row4 li h3.ttl.ls {
	letter-spacing: -0.1em;
}

.aside ul.row4 li h3.ttl span.icon {
	display: inline-block;
	position: relative;
	top: .1em;
	flex-shrink: 0;
	width: 1em;
	margin-right: .3em;
	font-size: 2.1rem;
}

.aside ul.row4 li h3.ttl span.icon img {
	width: 100%;
	height: auto;
}

.aside ul.row4 li p {
	font-size: 1.5rem;
	line-height: 1.4;
	letter-spacing: -0.04em;
}

.content {
	padding: 6em 0;
}

.content_wrap {
	padding: 5em 100px;
	border-radius: 5px;
	background: #fff;
}

.full-width {
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
}

.parallelogram .ttl {
	position: relative;
	margin: 0 auto !important;
	color: #fff;
	text-align: center;
}

.parallelogram .ttl span {
	display: inline-block;
	z-index: 1;
	position: relative;
	margin-bottom: .4em;
	padding: .3em 1em .5em;
	color: #fff;
	font-size: 2.3rem;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
}

.parallelogram .ttl span:last-of-type {
	margin-bottom: 0;
}

.parallelogram .ttl span::after {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: skewX(-25deg);
	background: #81bf00;
	content: '';
}

.movie_wrap {
	flex-shrink: 0;
	width: 600px;
	margin: 0 auto;
}

.movie_wrap .movie {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding-top: 56.25%;
	text-align: center;
}

.movie_wrap .movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	padding: 1em;
	background: #fff;
}

/* ----------------------------------------------------------------------------------------------------
*  すらら
* --------------------------------------------------------------------------------------------------*/
#service_surala #sec01 {
	padding: 5em 0 1em;
}

#service_surala #sec02 {
	padding: 6em 0;
}

#service_surala #sec03 {
	padding: 6em 0;
}

#service_surala .flex {
	margin: 4em 0;
}

#service_surala .flex .movie_wrap {
	width: 580px;
	margin-right: 4em;
	margin-left: -180px;
}

#service_surala .frame p {
	margin-top: 1em;
	font-size: 1.2rem;
	text-align: center;
}

#service_surala .frame span.sub {
	display: inline-block;
	position: relative;
	top: -.5em;
	font-size: 1.6rem;
	font-weight: 600;
}

#service_surala .frame span.small {
	display: inline-block;
	position: relative;
	transform: translateY(-50%);
	font-size: 1.2rem;
}

#service_surala .text h3.ttl {
	position: relative;
	margin-bottom: 2.5em;
	font-size: 2.0rem;
	font-weight: 600;
	line-height: 1.6;
	text-align: center;
}

#service_surala .text h3.ttl sup {
	font-size: 1.2rem;
}

#service_surala .text h3.ttl::after {
	position: absolute;
	right: 0;
	bottom: -.8em;
	left: 0;
	width: 52px;
	height: 1px;
	margin: 0 auto;
	background: #00a3e1;
	background: -moz-linear-gradient(left, #00a3e1 0%, #00a3e1 33%, #f2a702 33%, #f2a702 66%, #e85b95 66%, #e85b95 100%);
	background: -webkit-linear-gradient(left, #00a3e1 0%, #00a3e1 33%, #f2a702 33%, #f2a702 66%, #e85b95 66%, #e85b95 100%);
	background: linear-gradient(to right, #00a3e1 0%, #00a3e1 33%, #f2a702 33%, #f2a702 66%, #e85b95 66%, #e85b95 100%);
	content: '';
	content: '';
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00a3e1', endColorstr='#e85b95',GradientType=1 );
}

#service_surala .text p {
	font-size: 1.5rem;
	line-height: 1.8;
}

#service_surala .text p span.caution {
	display: inline-block;
	margin-top: 1em;
	color: #DB0012;
	font-size: 1.2rem;
}

#service_surala .bg_green {
	padding: 4em 0;
	background: #81bf00;
}

#service_surala .bg_green nav ul {
	display: flex;
	justify-content: center;
}

#service_surala .bg_green nav ul li {
	width: 260px;
	margin: 0 1.5em;
}

#service_surala .bg_green nav ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 55px;
	border: 3px solid #D5D5D5;
	border-radius: 5px;
	background: #fff;
	font-size: 1.4rem;
	font-weight: 600;
	text-align: center;
	transition: .3s;
}

#service_surala .bg_green nav ul li a::after {
	display: inline-block;
	width: 1.7em;
	height: .3em;
	margin-left: .5em;
	transform: skewX(45deg);
	border-right: 1px solid #81bf00;
	border-bottom: 1px solid #81bf00;
	content: '';
}

#service_surala .bg_green nav ul li a .icon {
	margin-right: 1em;
}

#service_surala .bg_green nav ul li a:hover {
	border: 3px solid #81bf00;
	color: #81bf00;
}

#service_surala ol.youso {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 4em 0;
}

#service_surala ol.youso li {
	margin: 0 3em 2em;
	text-align: center;
}

#service_surala ol.youso li figure {
	margin: 0 auto 1em;
}

#service_surala ol.youso li h3.ttl {
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.4;
	text-align: center;
}

#service_surala ol.youso li h3.ttl span {
	font-size: 1.5rem;
	font-weight: normal;
}

#service_surala ul.subject {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 1em 0;
}

#service_surala ul.subject li {
	margin: 0 1em 2em;
}

#service_surala a.btn_detail {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 170px;
	height: 50px;
	margin: 1em auto;
	padding-left: 1em;
	border: 3px solid #D5D5D5;
	border-radius: 5px;
	background: #fff;
	font-size: 1.7rem;
	font-weight: 600;
	text-align: center;
	transition: .3s;
}

#service_surala a.btn_detail.wide {
	width: 300px;
}

#service_surala a.btn_detail::after {
	display: inline-block;
	width: 1.7em;
	height: .3em;
	margin-left: .5em;
	transform: skewX(45deg);
	border-right: 1px solid #81bf00;
	border-bottom: 1px solid #81bf00;
	content: '';
}

#service_surala a.btn_detail:hover {
	border: 3px solid #81bf00;
	color: #81bf00;
}

/* ----------------------------------------------------------------------------------------------------
*  レクチャー
* --------------------------------------------------------------------------------------------------*/
#lecture {
	padding-bottom: 4em;
}

#lecture .movie_wrap {
	margin: 4em auto 0;
}

#lecture .content {
	margin-top: -230px;
	padding: 250px 0 6em;
}

/* ----------------------------------------------------------------------------------------------------
*  ドリル
* --------------------------------------------------------------------------------------------------*/
#drill .heading .image {
	margin-bottom: 1em;
}

/* ----------------------------------------------------------------------------------------------------
*  テスト
* --------------------------------------------------------------------------------------------------*/
#test .frame_wrap {
	margin-bottom: 4em;
}

#test .inner {
	overflow-x: hidden;
}

#test .aside .inner {
	overflow: visible;
}

/* ----------------------------------------------------------------------------------------------------
*  管理
* --------------------------------------------------------------------------------------------------*/
#control .frame_wrap {
	margin-bottom: 4em;
}

#control .content_wrap {
	padding-bottom: 0;
}

#control .heading {
	padding-bottom: 0;
}

#control .heading .image img {
	vertical-align: bottom;
}

#control .visual {
	position: relative;
	height: 190px;
	margin-top: 2.5rem;
}

#control .visual .text {
	width: 444px;
}

#control .visual figure {
	position: absolute;
	right: 30px;
	bottom: 0;
	width: auto;
	margin-right: 0;
}

#control .visual figure img {
	vertical-align: bottom;
}

/* ----------------------------------------------------------------------------------------------------
*  ゲーミフィケーション
* --------------------------------------------------------------------------------------------------*/
#gamification .heading .parallelogram {
	margin: 3em 0 4em;
}

#gamification .heading .parallelogram h3.ttl {
	padding: 1.5em 0;
}

#gamification .heading ol {
	justify-content: center;
}

#gamification .heading ol li {
	margin: 0 1em;
}

#gamification .content_block .text {
	margin-top: 2.5rem;
}

#gamification .content figure.img-width {
	width: 100%;
	margin-top: 3em;
}

@media screen and (max-width: 767px) {
	img {
		max-width: 100%;
		height: auto;
	}
	.frame .ttl {
		font-size: 5.6rem;
		line-height: 1.4;
	}
	.heading {
		padding: 5em 0;
	}
	.heading p.catch {
		font-size: 3.0rem;
		line-height: 1.6;
	}
	.heading p.catch.t_center {
		text-align: left;
	}
	.flex {
		display: block;
	}
	.content_block h3.ttl {
		padding: .5em;
		font-size: 3.6rem;
	}
	.content_block figure {
		width: 80%;
		margin: 4em auto 0;
	}
	.content_block figure.large {
		width: 80%;
		margin: 4em auto 0;
	}
	.content_block .text p {
		font-size: 3.0rem;
	}
	.content_block .text p .caution {
		font-size: 2.4rem;
	}
	.aside {
		margin: 6em 0;
	}
	.aside ul {
		display: block;
	}
	.aside ul.row4 li {
		width: 100%;
		margin: 0 0 6em;
	}
	.aside ul.row4 li figure {
		width: 100%;
	}
	.aside ul.row4 li figure img {
		width: 100%;
		height: auto;
	}
	.aside ul.row4 li h3.ttl {
		font-size: 4.0rem;
	}
	.aside ul.row4 li h3.ttl span.icon {
		font-size: 4.0rem;
	}
	.aside ul.row4 li p {
		font-size: 3.0rem;
	}
	.content_wrap {
		padding: 4em;
	}
	.parallelogram .ttl {
		position: relative;
		padding: .5em 0;
	}
	.parallelogram .ttl::after {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		transform: skewX(-5deg);
		background: #81bf00;
		content: '';
	}
	.parallelogram .ttl span {
		display: inline;
		margin-bottom: 0;
		padding: 0 .5em;
		padding: 0;
		font-size: 4.0rem;
	}
	.parallelogram .ttl span::after {
		display: none;
	}
	.movie_wrap {
		width: 100%;
	}
	#service_surala .flex .movie_wrap {
		width: 100%;
		margin: 2em auto;
	}
	#service_surala .frame {
		padding: 2em 0 4em;
	}
	#service_surala .frame p {
		font-size: 2.4rem;
	}
	#service_surala .frame span.sub {
		top: 0em;
		font-size: 3.2rem;
	}
	#service_surala .frame span.small {
		font-size: 2.4rem;
	}
	#service_surala .text h3.ttl sup {
		font-size: 2.4rem;
	}
	#service_surala .text h3.ttl {
		margin-bottom: 1.5em;
		font-size: 4.0rem;
		line-height: 1.4;
	}
	#service_surala .text p {
		font-size: 3.0rem;
		line-height: 1.6;
	}
	#service_surala .text p span.caution {
		font-size: 2.4rem;
	}
	#service_surala .bg_green nav ul {
		display: block;
	}
	#service_surala .bg_green nav ul li {
		width: auto;
		margin-bottom: 2em;
	}
	#service_surala .bg_green nav ul li:last-child {
		margin-bottom: 0;
	}
	#service_surala .bg_green nav ul li a {
		font-size: 2.8rem;
	}
	#service_surala ol.youso li {
		margin: 0 0 4em;
	}
	#service_surala ol.youso li:last-child {
		margin-bottom: 0;
	}
	#service_surala ol.youso li figure {
		width: 80%;
	}
	#service_surala ol.youso li figure img {
		width: 100%;
		height: auto;
	}
	#service_surala ol.youso li h3.ttl {
		font-size: 3.2rem;
	}
	#service_surala ol.youso li h3.ttl span {
		font-size: 3.0rem;
	}
	#service_surala ul.subject {
		justify-content: space-between;
	}
	#service_surala ul.subject li {
		width: 48%;
		margin: 0 0 2em;
	}
	#service_surala ul.subject li figure img {
		max-width: 100%;
		height: auto;
	}
	#service_surala a.btn_detail {
		font-size: 3.4rem;
	}
	#service_surala a.btn_detail.wide {
		width: 80%;
	}
	#lecture .content {
		margin-top: -25em;
		padding-top: 25em;
	}
	#control .visual {
		height: auto;
	}
	#control .visual .text {
		width: 100%;
	}
	#control .visual figure {
		position: relative;
		right: 0;
		width: 50%;
		margin: 0 0 0 auto;
	}
	#gamification .heading ol {
		display: flex;
		flex-wrap: wrap;
	}
	#gamification .heading ol li {
		width: 30%;
	}
	#gamification .heading ol li img {
		width: 100%;
		height: auto;
	}
}

@media screen and (max-width: 767px) and (max-width: 767px) {
	#service_surala a.btn_detail {
		width: 80%;
		height: auto;
		padding: 1em 0 1em 1em;
	}
}

/*# sourceMappingURL=sourcemaps/service_about.css.map */
