@charset "utf-8";

#contents-inner h2,h3,h4,p,ul,li,dl,dt,dd {
	margin: 0;
	padding: 0;
}
#contents-inner img {
	vertical-align: bottom;
}

/* soft-title */
#soft-title {
	background: #FDD000;
}
#soft-title h1 {
	min-width: 298px;
	margin: 0;
	padding: 8px;
	color: #000;
	border-left: 6px solid #0096C8;
	font-size: 12px;
}
#soft-title h1 .hard {
	margin-right: 8px;
	color: #0096C8;
}

/* main-title */
#main-title {
	background: url(../img/main_title_bg.png) left top repeat-y;
	background-size: 100%;
}
#main-title h2 {
	position: relative;
	top: 0;
	z-index: 10;
}
#main-title .previous {
	position: relative;
	top: -3.5em;
}
#main-title .previous .btn {
	width: 60%;
	margin: 0 auto;
}

#main-title .chara-intro {
	position: relative;
	top: -2.2em;
	padding: 0 0 1em 0;
	background: url(../img/main_chara_intro_bg.png) left top repeat-y;
	background-size: 100%;
}
#main-title .chara-intro .mashiko,
#main-title .chara-intro .yamamura {
	list-style: none;
	width: 100%;
}
#main-title .chara-intro .mashiko .chara,
#main-title .chara-intro .yamamura .chara,
#main-title .chara-intro .mashiko .intro,
#main-title .chara-intro .yamamura .intro {
	float: left;
	margin: 0;
	padding: 0;
}
#main-title .chara-intro .mashiko .chara,
#main-title .chara-intro .yamamura .chara {
	width: 40%;
}
#main-title .chara-intro .mashiko .intro,
#main-title .chara-intro .yamamura .intro {
	width: 60%;
}
#main-title .chara-intro .mashiko .intro .img02,
#main-title .chara-intro .mashiko .intro .img03 {
	float: left;
}
#main-title .chara-intro .mashiko .intro .img02 {
	width: 45%;
}
#main-title .chara-intro .mashiko .intro .img03 {
	width: 55%;
}

/* section common */
#section01,
#section02,
#section03 {
	background: url(../img/section_bg.png) left top repeat-y;
	background-size: 100%;
}
#section01 {
	position: relative;
	top: -2.8em;
}
#section01,
#section02 {
	padding: 1em 0 0 0;
}
#section03 {
	padding: 1em 0;
}
#section01 .talk,
#section02 .talk,
#section03 .talk {
	margin: 0 0 1em 0;
}

/* next */
#next {
	background: url(../img/next_bg.png) left top no-repeat;
	background-size: 100%;
}
#next p {
	width: 94%;
	margin: 0 3%;
	padding: 1.4em 0;
}

/* section01 */
#section01 .ma09 {
	padding: 62% 0 0 0;
	background: url(../img/chara_ma09_bg.png) left top no-repeat;
	background-size: 100%;
}
#section01 .ma09 .ma09-balloon {
	width: 118%;
	margin: 0 0 0 -7%;
}
#section01 .ya07 {
	position: relative;
	margin: -36% 0 1em 0;
	z-index: 10;
}

/* section02 */
#section02 .ya10 {
	margin: 0 0 0.8em 0;
}
#section02 .ya11 {
	background: #FFF url(../img/chara_ya11_bg.png) left bottom no-repeat;
	background-size: 100%;
}
#section02 .ya11 .movie {
	width: 320px;
	margin: 0 auto;
	padding: 0 0 1em 0;
}
#section02 .ma14 {
	background-color: #FFFFFF;
	background-image: url(../img/chara_ma14_top_bg.png), url(../img/chara_ma14_btm_bg.png);
	background-position: left top, left bottom;
	background-repeat: no-repeat, no-repeat;
	background-size: 100%, 100%;
}
#section02 .ma14 .ma14-inner {
	display: table;
	width: 100%;
	padding: 1em 0;
}
#section02 .ma14 .chara,
#section02 .ma14 .txt {
	display: table-cell;
	vertical-align: middle;
}
#section02 .ma14 .chara {
	overflow: hidden;
	width: 18%;
}
#section02 .ma14 .txt {
	width: 82%;
	vertical-align: top;
}
#section02 .ma14 .txt01 {
	float: left;
	width: 30%;
	animation: move 1s ease-in-out 0s infinite alternate;
	-webkit-animation: move 1s ease-in-out 0s infinite alternate;
	-ms-animation: move 1s ease-in-out 0s infinite alternate;
}
@keyframes move {
	from {
		transform: scale(1);
	}
	to {
		transform: scale(1.3);
	}
}
@-webkit-keyframes move {
	from {
		-webkit-transform: scale(1);
	}
	to {
		-webkit-transform: scale(1.3);
	}
}
#section02 .ma14 .txt02 {
	float: left;
	width: 70%;
}
#section02 .ma14 .txt03 {
	width: 100%;
}

#section02 .ya12 {
	padding: 0 15% 0 22%;
	background: url(../img/chara_ya12_bg.png) left top no-repeat;
	background-size: 100%;
}
#section02 .ya12 .txt {
	width: 100%;
}
#section02 .ya12 .txt02,
#section02 .ya12 .txt03 {
	float: left;
}
#section02 .ya12 .txt02 {
	width: 80.6%;
}
#section02 .ya12 .txt03 {
	width: 19.4%;
}
#section02 .ya12 .txt04 {
	clear: both;
}
#section02 .ya14 {
	background-color: #FFFFFF;
	background-image: url(../img/chara_ya14_top_bg.png), url(../img/chara_ya14_btm_bg.png);
	background-position: left top, left bottom;
	background-repeat: no-repeat, no-repeat;
	background-size: 100%, 100%;
}
#section02 .ya14 .ya14-inner {
	display: table;
	width: 100%;
	padding: 1em 0;
}
#section02 .ya14 .chara,
#section02 .ya14 .txt {
	display: table-cell;
	vertical-align: middle;
}
#section02 .ya14 .chara {
	overflow: hidden;
	width: 18%;
}
#section02 .ya14 .txt {
	width: 82%;
	vertical-align: top;
}
#section02 .ya14 .txt01,
#section02 .ya14 .txt03 {
	width: 100%;
}
#section02 .ya14 .txt02 {
	width: 78%;
}

/* section03 */
#section03 .ya26 {
	background: url(../img/chara_ya26_bg.png) left top no-repeat;
	background-size: 100%;
}
#section03 .ya26 .txt01,
#section03 .ya26 .txt04 {
	width: 100%;
}
#section03 .ya26 .txt02,
#section03 .ya26 .txt03 {
	float: left;
}
#section03 .ya26 .txt02 {
	width: 24%;
}
#section03 .ya26 .txt03 {
	width: 20%;
	animation: move02 0.5s ease-in-out 0s infinite alternate;
	-webkit-animation: move02 0.5s ease-in-out 0s infinite alternate;
	-ms-animation: move02 0.5s ease-in-out 0s infinite alternate;
}
@keyframes move02 {
	from {
		transform: scale(1);
	}
	to {
		transform: scale(1.5);
	}
}
@-webkit-keyframes move02 {
	from {
		-webkit-transform: scale(1);
	}
	to {
		-webkit-transform: scale(1.5);
	}
}

#section03 .homework {
	margin: 0 0 0.8em 0;
	background: url(../img/section03_homework_bg.png) left top no-repeat;
	background-size: 100%;
}

/* spec */
#spec {
	margin-bottom: 15px;
	padding-top: 20px;
	text-align: center;
}
#spec .back-btn {
	margin: 0 0 15px;
	text-align: center;
}
#spec .spec-border01 {
	padding: 15px 0 0;
	border-top: 1px solid #000;
}
#spec .logo {
	margin-bottom: 20px;
}
#spec .title {
	margin-bottom: 20px;
	font-size: 16px;
	font-weight: bold;
}
#spec .hardware {
	margin-top: 14px;
	margin: 20px 0;
}
#spec .official {
	position: relative;
	width: 250px;
	margin: 0 auto 20px;
}
#spec .official a {
	display: block;
	border-radius: 8px;
	padding: 18px 0;
	color: #FFF;
	text-decoration: none;
	background-repeat: no-repeat;
	background-position: 226px center;
	background-color: #E7340C;
	background-image: url(../img/official_arrow.png);
	background-size: 17px 17px;
	font-size: 15px;
}
#spec .copy {
	display: block;
	padding: 0 10px;
	margin-bottom: 20px;
	color: #FFF;
	text-align: center;
	font-size: 10px;
	line-height: 1.4;
}

.top-adjust {
    position: relative;
	top: -2.8em;
}

/* clearfix */
.clearfix:after {
	content: '';
	display: block;
	clear: both;
}