@charset "utf-8";

/* hero
---------------------------------------------------------- */
.hero {
	height: 457px;
	background: #ffffff url("../files/img_home_hero_01_2x.png") no-repeat center top;
	background-size: auto 100%;
}
	.hero-in { height: 100%;}
		.box-hero {
			display: flex;
			flex-direction: column;
			justify-content: center;
			margin: 0 10% 0 auto;
			width: 470px;
			height: 100%;
		}
			.txt-hero {
				margin: 0;
				line-height: 1.25;
				font-weight: 700;
			}
				.txt-hero-in { display: block;}
				.txt-hero-in-sub {
					margin-bottom: 10px;
					font-size: 24px;
				}
				.txt-hero-in-main { font-size: 54px;}
			.nav-hero { margin: 20px 0 0 0;}

@media screen and (max-width:768px) {
.hero {
	height: 400px;
	background-position: 43% top;
}
		.box-hero {
			margin: 0;
			width: 100%;
			text-align: center;
		}
			.txt-hero { line-height: 1.5;}
				.txt-hero-in-sub { font-size: 18px;}
				.txt-hero-in-main { font-size: 30px;}
}


/* contents-home
---------------------------------------------------------- */
/* row-home */
.row-home {
	display: flex;
	justify-content: space-between;
	margin: -20px;
	width: calc(100% + 40px);
}
.row-home-reverse { flex-direction: row-reverse;}
	.col-home {
		width: 100%;
		margin: 20px;
	}
		.col-home > *:first-child { margin-top: 0;}
		.col-home > *:last-child { margin-bottom: 0;}

@media screen and (max-width:768px) {
.row-home { flex-wrap: wrap;}
.row-home-reverse { flex-direction: row;}
}

/* ttl-home */
@media screen and (max-width:768px) {
.ttl-home {
	text-align: center;
	background-position: center bottom;
}
}

/* ttl-sub-home */
.ttl-sub-home {
	position: relative;
	padding-left: 1.5em;
}
	.num-ttl-sub-home {
		position: absolute;
		left: 0;
		top: -3px;
		font-size: 30px;
		color: #004493;
	}
@media screen and (max-width:768px) {
	.num-ttl-sub-home {
		top: -3px;
		font-size: 24px;
	}
}

/* nav-home */
.nav-home { margin-top: 3em;}
@media screen and (max-width:768px) {
.nav-home {
	margin-top: 2em;
	text-align: center;
}
}

/* fig-home */
.fig-home { text-align: center;}


/* partner
---------------------------------------------------------- */
.contents-home-partner { background: #f0f6fc;}


/* case
---------------------------------------------------------- */
/* ttl-home-case */
.ttl-home-case {
	text-align: center;
	background-position: center bottom;
}

/* case */
.list-home-case {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: -15px -10px !important;
	padding: 0;
}
	.item-home-case {
		margin: 15px 10px;
		width: calc(50% - 30px);
	}
		.link-home-case { display: block;}
			.logo-home-case {
				border: 1px solid #c9c9c9;
				background: #ffffff;
				text-align: center;
			}
			.txt-home-case {
				padding-top: 10px;
				font-size: 13px;
				color: #000000;
			}
@media screen and (max-width:480px) {
	.item-home-case { width: 100%;}
}

/* nav-home-case */
.nav-home-case {
	text-align: center;
}


/* learn
---------------------------------------------------------- */
.contents-home-learn { background: #dbebff;}

/* ttl-home-learn */
.ttl-home-learn {
	text-align: center;
	background-position: center bottom;
}

/* .list-learn */
.list-learn {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: -10px !important;
	padding: 0;
}
	.item-learn {
		margin: 10px;
		width: calc(25% - 20px);
	}
		.link-learn {
			display: flex;
			justify-content: center;
			align-items: center;
			padding-top: 110px;
			height: 240px;
			font-size: 18px;
			font-weight: 700;
			text-align: center;
			color: #000000;
			background: #ffffff no-repeat center 30px;
		}
		.link-learn-about { background-image: url("../files/ico_link_about_01.svg");}
		.link-learn-outline { background-image: url("../files/ico_link_outline_01.svg");}
		.link-learn-plan { background-image: url("../files/ico_link_plan_01.svg");}
		.link-learn-pattern { background-image: url("../files/ico_link_pattern_01.svg");}
@media screen and (max-width:768px) {
	.item-learn { width: calc(50% - 20px);}
		.link-learn {
			padding-top: 80px;
			height: 160px;
			font-size: 15px;
			background-position: center 10px;
			background-size: 80px;
		}
}


/* info
---------------------------------------------------------- */
/* ttl-home-info */
.ttl-home-info {
	text-align: center;
	background-position: center bottom;
}
	.img-home-rss { vertical-align: middle;}

/* nav-home-info */
.nav-home-info {
	margin-top: 40px;
	text-align: right;
}



