@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: 767px) {
	.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: 20px;
			font-weight: bold;
			line-height: 1.6;
		}
@media screen and (max-width: 767px) {
	.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 #0079BF;
	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;
	}
.smn .smn-body--nopb {
	padding-bottom: 0;
}

@media screen and (max-width: 767px) {
	.smn .smn-body {
		border: 3px solid #0079BF;
		border-radius: 10px;
		padding: 17px;
	}
		.smn .smn-body__title {
			font-size: 25px;
			margin: -17px -17px 17px -17px;
			padding: 15px;
		}
	.smn .smn-body--nopb {
		padding-bottom: 0;
	}
}

/* !.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: 767px) {
	.smn .smn-footer {
		padding: 30px 0;
	}
		.smn .smn-footer__text {
			font-size: 16px;
		}
}

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

/* !.smn-cols -------------------- */
@media screen and (min-width: 768px) {
	.smn .smn-cols {
		display: flex;
		justify-content: space-between
	}
		.smn .smn-cols__col--1 { width: calc(100% / 17 * 2); }
		.smn .smn-cols__col--2 { width: calc(100% / 17 * 5); }
		.smn .smn-cols__col--3 { width: calc(100% / 17 * 8); }
		.smn .smn-cols__col--4 { width: calc(100% / 17 * 11); }
		.smn .smn-cols__col--5 { width: calc(100% / 17 * 14); }
}

/* !.smn-sec -------------------- */
.smn .smn-sec {
	margin-bottom: 60px;
}
	.smn .smn-sec > *:last-child {
		margin-bottom: 0;
	}

@media screen and (max-width: 767px) {
	.smn .smn-sec {
		margin-bottom: 30px;
	}
}

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

/* !.smn-hnA -------------------- */
.smn .smn-hnA {
	background: #0079BF;
	border-radius: 999px;
	color: #fff;
	font-size: 40px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 30px;
	padding: 15px;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.smn .smn-hnA {
		font-size: 20px;
		margin-bottom: 15px;
		padding: 10px;
	}
}

/* !.smn-hnB -------------------- */
.smn .smn-hnB {
	background: #37bef0;
	border-radius: 999px;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.3;
	margin: 0 auto 20px auto;
	padding: 10px;
	text-align: center;
	width: 80%;
}
@media screen and (max-width: 767px) {
	.smn .smn-hnB {
		font-size: 18px;
		margin-bottom: 15px;
		padding: 5px 10px;
		width: 100%;
	}
}

/* !.smn-qa -------------------- */
.smn .smn-qa {
	display: table;
	table-layout: fixed;
	margin-bottom: 20px;
	min-height: 50px;
	width: 100%;
}
	.smn .smn-qa__inner {
		display: table-cell;
		vertical-align: middle;
	}
		.smn .smn-qa__inner > *:last-child {
			margin-bottom: 0 !important;
		}
.smn .smn-qa--q:nth-of-type(n+2) {
	margin-top: 40px;
}
.smn .smn-qa--q:before,
.smn .smn-qa--a:before {
	background:  0 0 no-repeat scroll;
	content: "";
	display: table-cell;
	height: 50px;
	vertical-align: middle;
	width: 65px;
}
.smn .smn-qa--q:before { background-image: url(../img/ico_qa_question.png); }
.smn .smn-qa--a:before { background-image: url(../img/ico_qa_answer.png); }
@media screen and (max-width: 767px) {
	.smn .smn-qa {
		min-height: 25px;
		margin-bottom: 15px;
		width: 100%;
	}
		.smn .smn-qa__inner {}
	.smn .smn-qa--q:nth-of-type(2n+1) {
		margin-top: 30px;
	}
	.smn .smn-qa--q:before,
	.smn .smn-qa--a:before {
		background-size: 25px auto;
		height: 25px;
		width: 35px;
	}
}

/* !.smn-question -------------------- */
.smn .smn-question {
	color: #0079BF;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6;
}
@media screen and (max-width: 767px) {
	.smn .smn-question {
		font-size: 18px;
	}
}

/* !.smn-answer -------------------- */
.smn .smn-answer {
	color: #DE4960;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6;
}
@media screen and (max-width: 767px) {
	.smn .smn-answer {
		font-size: 18px;
	}
}

/* !.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: 767px) {
	.smn .smn-text {
		margin-bottom: 15px;
	}
}

/* !.smn-copy -------------------- */
.smn .smn-copy {
	color: #DE4960;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 30px;
	text-align: center;
}
	.smn .smn-copy__big {
		font-size: 40px;
	}
.smn .smn-copy--blue {
	color: #0079bf;
}
@media screen and (max-width: 767px) {
	.smn .smn-copy {
		font-size: 20px;
		margin-bottom: 15px;
	}
		.smn .smn-copy__big {
			font-size: 26px;
		}
}

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

/* !.smn-notes -------------------- */
.smn .smn-notes {
	margin-bottom: 30px;
}
	.smn .smn-notes__item {
		font-size: 12px;
		line-height: 1.6;
		margin-left: 2em;
		text-indent: -2em;
	}
@media screen and (max-width: 767px) {
	.smn .smn-notes {}
		.smn .smn-notes__item {
			font-size: 10px;
		}
}

/* !.smn-cite -------------------- */
.smn .smn-cite {
	font-size: 12px;
	line-height: 1.6;
	margin: -10px 0 30px 0;
}
@media screen and (max-width: 767px) {
	.smn .smn-cite {
		font-size: 10px;
		margin: -5px 0 15px 0;
	}
}


/* !.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: 767px) {
	.smn .smn-fig {
		margin-bottom: 20px;
	}
}

/* !.smn-line -------------------- */
.smn .smn-line {
	background: linear-gradient(transparent 93%, #de4960 0%);
}
.smn .smn-line--blue {
	background: linear-gradient(transparent 93%, #0079bf 0%);
}

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

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

/* !.smn-em -------------------- */
.smn .smn-em {
	font-weight: bold;
}

/***************************************************/
/* !pages */
/***************************************************/

/* !.smn-clause -------------------- */
.smn .smn-clause {
	margin-bottom: 30px;
}
	.smn .smn-clause__title {
		color: #0079bf;
		font-size: 18px;
		font-weight: bold;
		line-height: 1.6;
		margin-bottom: 10px;
		padding-left: 40px;
		position: relative;
	}
		.smn .smn-clause__first {
			background: #0079bf;
			border-radius: 999px;
			color: #fff;
			display: inline-block;
			font-weight: bold;
			line-height: 1;
			left: 0;
			padding: 7px;
			position: absolute;
			top: -0.25em;
		}
	.smn .smn-clause__text {
		font-size: 16px;
		line-height: 1.6;
	}
.smn .smn-clause {
}
@media screen and (max-width: 767px) {
.smn .smn-clause {
	margin-bottom: 20px;
}
	.smn .smn-clause__title {
		margin-bottom: 10px;
	}
		.smn .smn-clause__first {}
	.smn .smn-clause__text {}
}

/* !.smn-formula -------------------- */
.smn .smn-formula {
	font-size: 26px;
	font-weight: bold;
	line-height: 1.3;
	margin-bottom: 30px;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.smn .smn-formula {
		font-size: 20px;
		margin-bottom: 15px;
	}
}

/* !.smn-method -------------------- */
.smn .smn-method {
	margin-bottom: 30px;
}
	.smn .smn-method__title {
		color: #37bef0;
		font-size: 20px;
		font-weight: bold;
		line-height: 1.3;
		margin-bottom: 10px;
	}
	.smn .smn-method__text {
		font-size: 16px;
		line-height: 1.6;
	}
		.smn .smn-method__step {
			font-weight: bold;
		}
.smn .smn-method__text + .smn-method__text {
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
	.smn .smn-method {
		margin-bottom: 15px;
	}
		.smn .smn-method__title {
			font-size: 18px;
		}
		.smn .smn-method__text {}
			.smn .smn-method__step {}
	.smn .smn-method__text + .smn-method__text {}
}

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

.smn .smn-mt40_sp {}
@media screen and (max-width: 767px) {
	.smn .smn-mt40_sp {
		margin-top: 40px !important;
	}
}

.smn .smn-mb0 {
	margin-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
	.smn .smn-mb0_sp {
		margin-bottom: 0 !important;
	}
}

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


.smn .smn-sec#smn-sec02 {
	margin-bottom: 0;
}

.smn .smn-links {
	border-bottom: dashed #0079bf 1px;
	margin: 0 auto;
	padding: 0 0 10px;
	text-align: center;
	width: 90%;
}

.smn .smn-links li {
	font-size: 16px;
}

.smn .smn-links li:first-child {
	border-bottom: dashed #0079bf 1px;
	color: #0079bf;
	font-size: 20px;
	font-weight: bold;
	line-height: 30px;
	margin-bottom: 10px;
}

.smn .smn-links li a {
	border-radius: 5px;
	color: #0079bf;
	margin: 0 auto;
	max-width: 80%;
	padding: 15px 10px;
}

.smn .smn-links li a:hover {
	background-color: #e9e9e9;
	color: #0054bc;
}

.smn .smn-links li a::before {
	content: '›';
	font-weight: bold;
	padding-right: 5px;
}

.smn .smn-links li a.smn-pc-hidden {
	display: none;
}

.smn .smn-links li a.smn-sp-hidden {
	display: block;
}

.smn .smn-links li a * {
	vertical-align: top;
}

.smn .smn-links li a span {
	text-decoration: underline;
}

@media screen and (max-width: 767px) {
	.smn .smn-links {
		display: block;
		margin-bottom: 25px;
		padding: 0;
		width: 100%;
	}

	.smn .smn-links li {
		margin: 30px auto;
	}

	.smn .smn-links li a {
		line-height: 1.5;
		max-width: calc(100% - 20px);
		padding: 0;
		text-align: left;
	}

	.smn .smn-links li a.smn-pc-hidden {
		display: block;
	}
	.smn .smn-links li a.smn-sp-hidden {
		display: none;
	}

	.smn .smn-links li a span {
		display: inline-block;
		max-width: calc(100% - 15px);
	}
}

