@charset "utf-8";


/***************************************************/
/* !test */
/***************************************************/

/*
.page {
	min-width: 0;
}
.page__aside {
	display: none;
}
.page__main {
	width: 100%;
}
.smn {
	margin: 0 auto;
}
*/

/***************************************************/
/* !main template */
/***************************************************/

.single-article:last-child,
.single-article__box:last-child {
	margin-bottom: 0 !important;
}

.single-article__box {
	background: #e5f1fd;
	padding: 0;
}

/***************************************************/
/* !reset */
/***************************************************/

.smn article, .smn section, .smn aside,
.smn h2, .smn h3, .smn h4, .smn h5, .smn h6,
.smn p,
.smn figure, .smn figcaption,
.smn dl, .smn dt, .smn dd,
.smn ul, .smn ol, .smn li,
.smn table, .smn table th, .smn table td,
.smn img {
	font-weight: normal;
	line-height: 1;
	margin: 0;
	padding: 0;
}

.smn img {
	vertical-align: middle;
}

/***************************************************/
/* !base */
/***************************************************/

/* !.smn -------------------- */
.smn {
	font-size: 16px;
	font-family: NotoSansCJKjp, 'Noto Sans JP',  "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-feature-settings: "palt";
	text-align: justify;
	padding: 0 70px 0 70px;
	text-align: justify;
	width: 100%;
	word-break: break-all;
}
	.smn > *:last-child { margin-bottom: 0 !important; }
	.smn .smn-pc-hidden { display: none; }
	.smn img.smn-pc-hidden { display: none; }
	.smn .smn-sp-hidden { display: block; }
	.smn img.smn-sp-hidden { display: inline-block; }


@media screen and (max-width: 0) {
	.smn {
		font-size: 14px;
		padding: 0 20px;
	}
		.smn img {
			height: auto;
			/*width: 100%;*/
			max-width: 100%;
		}
		.smn .smn-pc-hidden { display: block; }
		.smn img.smn-pc-hidden { display: inline-block; }
		.smn .smn-sp-hidden { display: none; }
		.smn img.smn-sp-hidden { display: none; }
}

/* !.smn-header -------------------- */
.smn .smn-header {
	align-items: center;
	display: flex;
	justify-content: center;
	margin: 0 auto;
	padding: 40px 0 25px 0;
	max-width: 780px
}
	.smn .smn-header__logo {
		margin-right: 10px;
		width: 240px;
	}
	.smn .smn-header__titles {
		flex: 1;
	}
		.smn .smn-header__title {
			font-size: 40px;
			font-weight: bold;
			line-height: 1.3;
			margin-bottom: 30px;
		}
		.smn .smn-header__desc {
			font-size: 18px;
			font-weight: bold;
			line-height: 1.6;
		}
@media screen and (max-width: 0) {
	.smn .smn-header {
		display: block;
		padding: 20px 0;
		max-width: none;
	}
		.smn .smn-header__logo {
			margin: 0 auto 10px auto;
			width: 180px;
		}
		.smn .smn-header__titles {}
			.smn .smn-header__title {
				font-size: 25px;
				margin-bottom: 10px;
				text-align: center;
			}
			.smn .smn-header__desc {
				font-size: 16px;
				text-align: center;
			}
}

/* !.smn-body -------------------- */
.smn .smn-body {
	background: #fff;
	border: 5px solid #aace36;
	border-radius: 15px;
	overflow: hidden;
	padding: 45px;
}
	.smn .smn-body > *:last-child { margin-bottom: 0 !important; }
	.smn .smn-body__title {
		background: #0079BF;
		color: #fff;
		font-size: 40px;
		font-weight: bold;
		line-height: 1.3;
		margin: -45px -45px 45px -45px;
		padding: 20px;
		text-align: center;
	}
@media screen and (max-width: 0) {
	.smn .smn-body {
		border: 3px solid #aace36;
		border-radius: 10px;
		padding: 17px;
	}
		.smn .smn-body__title {
			font-size: 25px;
			margin: -17px -17px 17px -17px;
			padding: 15px;
		}
}

/* !.smn-footer -------------------- */
.smn .smn-footer {
	padding: 60px 0;
}
	.smn .smn-footer__text {
		color: #0079BF;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.6;
		text-align: center;
	}
@media screen and (max-width: 0) {
	.smn .smn-footer {
		padding: 30px 0;
	}
		.smn .smn-footer__text {
			font-size: 16px;
		}
}

/***************************************************/
/* !modules */
/***************************************************/

/* !.smn-cols -------------------- */
@media screen and (min-width: 0) {
	.smn .smn-cols {
		display: flex;
		justify-content: space-between
	}
		.smn .smn-cols__col > *:last-child { margin-bottom: 0 !important; }
		.smn .smn-cols__col--1  { width: calc(100% / 17 * 1); }
		.smn .smn-cols__col--2  { width: calc(100% / 17 * 2); }
		.smn .smn-cols__col--3  { width: calc(100% / 17 * 3); }
		.smn .smn-cols__col--4  { width: calc(100% / 17 * 4); }
		.smn .smn-cols__col--5  { width: calc(100% / 17 * 5); }
		.smn .smn-cols__col--6  { width: calc(100% / 17 * 6); }
		.smn .smn-cols__col--7  { width: calc(100% / 17 * 7); }
		.smn .smn-cols__col--8  { width: calc(100% / 17 * 8); }
		.smn .smn-cols__col--9  { width: calc(100% / 17 * 9); }
		.smn .smn-cols__col--10 { width: calc(100% / 17 * 10); }
		.smn .smn-cols__col--11 { width: calc(100% / 17 * 11); }
		.smn .smn-cols__col--12 { width: calc(100% / 17 * 12); }
		.smn .smn-cols__col--13 { width: calc(100% / 17 * 13); }
		.smn .smn-cols__col--14 { width: calc(100% / 17 * 14); }
		.smn .smn-cols__col--15 { width: calc(100% / 17 * 15); }
		.smn .smn-cols__col--16 { width: calc(100% / 17 * 16); }
		.smn .smn-cols__col--17 { width: calc(100% / 17 * 17); }
}

/* !.smn-sec -------------------- */
.smn .smn-sec {
	margin-bottom: 60px;
}
	.smn .smn-sec > *:last-child {
		margin-bottom: 0 !important;
	}
@media screen and (max-width: 0) {
	.smn .smn-sec {
		margin-bottom: 30px;
	}
}

/* !.smn-titlesA -------------------- */

.smn .smn-titlesA {
	margin-bottom: 40px;
	text-align: center;
}
	.smn .smn-titlesA__subtitle {
		color: #36318f;
		font-size: 30px;
		font-weight: bold;
		line-height: 1.3;
		margin-bottom: 10px;
	}
	.smn .smn-titlesA__title {
		color: #36318f;
		font-size: 40px;
		font-weight: bold;
		line-height: 1.3;
	}
@media screen and (max-width: 0) {
	.smn .smn-titlesA {
		margin-bottom: 20px;
	}
		.smn .smn-titlesA__subtitle {
			font-size: 16px;
			margin-bottom: 10px;
		}
		.smn .smn-titlesA__title {
			font-size: 22px;
		}
}

/* !.smn-titlesB -------------------- */

.smn .smn-titlesB {
	margin-bottom: 40px;
}
		.smn .smn-titlesB__title {
			align-items: center;
			color: #36318f;
			display: flex;
			font-size: 36px;
			font-weight: bold;
			justify-content: center;
			line-height: 1.3;
			margin-bottom: 10px;
		}
			.smn .smn-titlesB__title:before {
				background: url(../img/badge_try.png) 0 0 no-repeat scroll;
				background-size: auto 100%;
				content: "";
				display: inline-block;
				height: 84px;
				margin-right: 20px;
				width: 80px;
				flex: none;
			}
		.smn .smn-titlesB__subtitle {
			color: #36318f;
			font-size: 24px;
			font-weight: bold;
			line-height: 1.3;
			text-align: center;
		}
@media screen and (max-width: 0) {
	.smn .smn-titlesB {
		margin-bottom: 20px;
	}
		.smn .smn-titlesB__title {
			font-size: 22px;
			margin-bottom: 10px;
		}
			.smn .smn-titlesB__title:before {
				height: 68px;
				margin-right: 10px;
				width: 70px;
			}
		.smn .smn-titlesB__subtitle {
			font-size: 16px;
		}
}

/* !.smn-titlesC -------------------- */
.smn .smn-titlesC {
	background: #aace36;
	border-radius: 999px;
	margin-bottom: 30px;
	padding: 15px;
	position: relative;
	text-align: center;
}
	.smn .smn-titlesC__title {
		color: #fff;
		font-size: 32px;
		font-weight: bold;
		line-height: 1.3;
	}
		.smn .smn-titlesC__copy {
			margin-left: -147px;
			margin-right: 15px;
			width: 147px;
		}
	.smn .smn-titlesC__badge {
		height: 123px;
		position: absolute;
		right: 0;
		top: calc(50% - 62px);
		width: 123px;
	}
@media screen and (max-width: 0) {
	.smn .smn-titlesC {
		margin-bottom: 20px;
		padding: 10px;
	}
		.smn .smn-titlesC__title {
			font-size: 22px;
		}
			.smn .smn-titlesC__copy {
				display: block;
				margin: -5px auto 0 auto;
				width: 94px;
			}
		.smn .smn-titlesC__badge {
			height: 70px;
			position: absolute;
			right: -10px;
			top: -25px;
			width: 70px;
		}
}

/* !.smn-titleA -------------------- */
.smn .smn-titleA {
	background: #aace36;
	border-radius: 5px;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 20px;
	padding: 5px 15px;
}
@media screen and (max-width: 0) {
	.smn .smn-titleA {
		font-size: 18px;
		margin-bottom: 15px;
		padding: 5px 10px;
	}
}

/* !.smn-text -------------------- */
.smn .smn-text {
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 30px;
}
.smn .smn-text--c {
	text-align: center;
}
@media screen and (max-width: 0) {
	.smn .smn-text {
		margin-bottom: 15px;
	}
}

/* !.smn-textB -------------------- */
.smn .smn-textB {
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 30px;
	text-align: center;
}

@media screen and (max-width: 0) {
	.smn .smn-textB {
		margin-bottom: 15px;
		text-align: left;
	}
}


/* !.smn-copy -------------------- */
.smn .smn-copy {
	color: #3eb134;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 30px;
	text-align: center;
}
@media screen and (max-width: 0) {
	.smn .smn-copy {
		font-size: 20px;
		margin-bottom: 15px;
	}
}

/* !.smn-notes -------------------- */
.smn .smn-notes {
	font-size: 12px;
	line-height: 1.6;
	margin: -10px 0 30px 1em;
	text-indent: -1em;
}
.smn .smn-notes--c {
	text-align: center;
}
@media screen and (max-width: 0) {
	.smn .smn-notes {
		font-size: 10px;
		margin: -5px 0 15px 1em;
	}
}

/* !.smn-fig -------------------- */
.smn .smn-fig {
	margin-bottom: 30px;
	text-align: center;
}
	.smn .smn-fig__caption {
		font-size: 12px;
		line-height: 1.6;
		margin-top: 10px;
		text-align: left;
	}
@media screen and (max-width: 0) {
	.smn .smn-fig {
		margin-bottom: 15px;
	}
}

/* !.smn-line -------------------- */
.smn .smn-line {
	background: linear-gradient(transparent 93%, #36318f 0%);
	line-height: 1.5;
}

.smn .smn-lineB {
	background: linear-gradient(transparent 93%, #3eb134 0%);
	line-height: 1.5;
}

/* !.smn-marker -------------------- */
.smn .smn-marker {
	background: linear-gradient(transparent 0%, #FFF798 0%);
	color: #0079BF;
}

/* !.smn-sup -------------------- */
.smn .smn-sup {
	font-size: 0.5em;
	vertical-align: top;
}

/* !.smn-point -------------------- */
.smn .smn-point {
	margin-bottom: 30px;
}
	.smn .smn-point__item {
		font-size: 16px;
		line-height: 1.6;
		padding-left: 27px;
		position: relative;
	}
		.smn .smn-point__item:before {
			content: "●";
			color: #aace36;
			font-size: 8px;
			left: 6px;
			margin-top: 8px;
			position: absolute;
			vertical-align: middle;
		}
	.smn .smn-point__item + .smn-point__item {
		margin-top: 20px;
	}
@media screen and (max-width: 0) {
	.smn .smn-point {
		margin-bottom: 15px;
	}
		.smn .smn-point__item {
			font-size: 14px;
			padding-left: 20px;
		}
	.smn .smn-point__item + .smn-point__item {
		margin-top: 10px;
	}
}

/* !.smn-check-list -------------------- */
.smn .smn-check-list {
	margin-bottom: 30px;
	margin-left: 80px;
}
	.smn .smn-check-list__item {
		background: url(../../../trouble_joint/exercise01/img/ico-check.png) 0 5px no-repeat scroll;
		background-size: 22px 17px;
		font-size: 16px;
		line-height: 1.6;
		padding-left: 27px;
	}
@media screen and (max-width: 0) {
.smn .smn-check-list {
	margin-bottom: 15px;
	margin-left: 0;
}
	.smn .smn-check-list__item {
		background-position: 0 7px;
		background-size: 15px 12px;
		padding-left: 22px;
	}
}

/* !.smn-copyright -------------------- */
.smn .smn-copyright {
	font-size: 12px;
	line-height: 1.6;
	margin-bottom: -20px !important;
}
@media screen and (max-width: 0) {
	.smn .smn-copyright {
		text-align: center;
	}
}

/***************************************************/
/* !ex */
/***************************************************/


/***************************************************/
/* !unique */
/***************************************************/


