@charset "utf-8";
/********************************************************
	
	flex-grid:| sm  | md  | lg  |  xl  |
	min-width:| 576 | 768 | 992 | 1200 |
	max-width:| 575 | 767 | 991 | 1199 |

********************************************************/
main{
	color: #333;
	overflow: hidden;
}
.c-container{
	max-width: 980px;
}

@media screen and (max-width: 767px){
	.c-container{
		padding-top: 30px;
	}
}
/* ======================================================

	タイトル

====================================================== */
.page__ttl{
	max-width: 490px;
	margin: 0 auto;
	padding: 50px 0 50px;
}
@media screen and (max-width: 767px){
	.page__ttl{
		max-width: 230px;
		padding: 50px 0 20px;
	}
}
/* ======================================================

	プロセス

====================================================== */
.proc{
	background: url(../images/proc-bg.jpg) 50% 50%/cover no-repeat;
}
.proc__inr{
	max-width: 980px;
	margin: 0 auto;
	padding-top: 45px;
	padding-left: 20px;
	padding-right: 20px;
}
.proc__ttl{
	margin-bottom: .25em;

	font-size: 4.0rem;
	line-height: 1.35;
}
.proc__lead{
	margin-bottom: 1.5em;

	font-size: 2.0rem;
}
.proc__txt{
	margin-bottom: 1em;

	line-height: 1.75
}
.proc__list{
	display: flex;
	margin-left: -4px;
	margin-right: -4px;
}
.proc__list-item{
	flex: 0 1 20%;
	padding-left: 4px;
	padding-right: 4px;
	margin-bottom: 25px;
}
.proc__list-fig{
	max-width: 126px;
	margin: 0 auto .5em;
}
.proc__list-ttl{
	margin-bottom: .25em;

	font-weight: bold;
}
.proc__list-txt{
	font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
	.proc__inr{
		padding-top: 15px;
		padding-left: 15px;
		padding-right: 15px;
	}
	.proc__ttl{
		font-size: 2.1rem;
	}
	.proc__lead{
		font-size: 1.4rem;
	}
	.proc__txt{
		font-size: 1.2rem;
	}
	.proc__list{
		flex-wrap: wrap;
	}
	.proc__list-item{
		flex: 0 1 50%;
	}
	.proc__list-txt{
		font-size: 1.1rem;
	}
}
/* ======================================================

	特性

====================================================== */
.blk:nth-child(2n+2){
	background-color: #eee;
}
.blk__inr{
	max-width: 710px;
	margin: 0 auto;
	padding: 50px 10px;
}
.blk__ttl{
	margin-bottom: .5em;
	font-size: 2.0rem;
}
.blk__txt{
	margin-bottom: 1.5em;

	text-align: justify;
	text-justify: inter-ideograph;
	line-height: 1.75;
}
.blk__fig{
	font-size: 1.4rem;
}
.blk__fig-ttl{
	margin-bottom: 1em;
	font-size: 1.6rem;
}
.blk table{
	width: 100%;
	margin-bottom: 3em;
}
.blk table th,
.blk table td{
	padding: 3px 1em;
	text-align: center;
}
.blk table th:first-child,
.blk table td:first-child{
	text-align: left;
}
.blk table th:not(:last-child),
.blk table td:not(:last-child){
	border-right: 1px solid #9e9e9f;
}
.blk table tr{
	border-bottom: 1px solid #9e9e9f;
}
.blk table tr:nth-child(2n+2){
	background-color: #ddd;
}
.blk__color-list li{
	display: inline-block;
	vertical-align: top;
}
.blk__color-list li span{
	vertical-align: top;
}
.blk__color-list li::before{
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 2px;
	border-radius: 50%;
	vertical-align: -1px;
}
.blk__color-list li:nth-child(1)::before{ background-color: #e50044; }
.blk__color-list li:nth-child(2)::before{ background-color: #c3d600; }
.blk__color-list li:nth-child(3)::before{ background-color: #0080cb; }

.fig--260{ max-width: 260px; margin: 0 auto; }
.fig--360{ max-width: 360px; margin: 0 auto; }
.fig--370{ max-width: 370px; margin: 0 auto; }
.fig--660{ max-width: 660px; margin: 0 auto; }
.fig--84{ max-width: 84px; margin: 0 auto; }

.list-03{
	display: flex;
	justify-content: center;
}
.list-03__item{
	width: 180px;
	text-align: center;
}
.list-06{
	display: flex;
	margin-left: -12px;
	margin-right: -12px;
}
.list-06__item{
	width: 50%;
	padding-left: 12px;
	padding-right: 12px;
	white-space: nowrap;
}
.list-06__item figure{
	margin-bottom: .5em;
}
@media screen and (max-width: 767px) {
	.blk__inr{
		padding: 35px 10px;
	}
	.blk__ttl{
		font-size: 1.4rem;
		font-weight: bold;
	}
	.blk__txt{
		font-size: 1.2rem;
	}
	.blk__fig{
		font-size: 1.2rem;
	}
	.blk__fig-ttl{
		font-size: 1.2rem;
	}

	.list-03{
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	.list-03__item{
		width: 100%;
		display: flex;
		align-items: center;
		margin-bottom: 10px;
	}
	.list-03__item p:first-child{
		width: 84px;
		margin-right: 1em;
	}
	.list-06{
		flex-wrap: wrap;
	}
	.list-06__item{
		width: 100%;
		max-width: 330px;
		margin: 0 auto 15px;
		white-space: normal;
	}
}
/* ======================================================

	機能

====================================================== */
.sec{
	padding-top: 90px;
}
.sec__ttl2{
	max-width: 370px;
	margin: 0 auto 50px;
	line-height: 1;
}
.sec__lead2{
	margin-bottom: .75em;
	font-size: 2.0rem;
	font-weight: bold;
}
.sec__txt2{
	margin-bottom: 1em;
	line-height: 1.75;
}
@media screen and (max-width: 767px) {
	.sec{
		padding-top: 5px;
	}
	.sec__ttl2{
		max-width: 256px;
		margin: 0 auto 30px;
	}
	.sec__lead2{
		font-size: 1.4rem;
	}
	.sec__txt2{
		font-size: 1.2rem;
	}
}

.func{
	display: flex;
	width: 100%;
	padding: 40px 0;
	border-bottom: 1px dotted #333333;
}
.func__mark{
	flex: 0 1 calc(86 / 690 * 100%);
}
.func__inr{
	flex: 1 1 calc(394 / 690 * 100%);
	padding: 0 15px;

	text-align: justify;
	text-justify: inter-ideograph;
}
.func__fig{
	flex: 0 1 calc(210 / 690 * 100%);
}
.func__ttl{
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: .5em;
}
.func__txt{
	margin-bottom: .5em;
	line-height: 1.75;
}
.func__note{
	padding-top: 6px;
	border-top: 1px solid #333;
	font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
	.func{
		flex-wrap: wrap;
	}
	.func__mark{
		flex: 0 1 86px;
	}
	.func__inr{
		flex: 1 1 calc(100% - 86px);
	}
	.func__fig{
		flex: 0 1 100%;
		padding-left: 101px;
		padding-right: 15px;
	}
	.func__ttl{
		font-size: 1.3rem;
	}
	.func__txt{
		font-size: 1.2rem;
	}
	.func__fig figcaption{
		padding-top: .75em;

		font-size: 1.1rem;
	}
}
