@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 .homework {
	position: relative;
	top: -2em;
	margin: 0 0 0.8em 0;
	background: url(../img/section03_homework_bg.png) left top no-repeat;
	background-size: 100%;
}

#main-title .chara-intro {
	position: relative;
	top: -3em;
	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: -3em;
}
#section01 {
	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 .ya02 {
	background: url(../img/chara_ya02_bg.png) left top no-repeat;
	background-size: 100%;
	padding: 0 0 11% 0;
}
#section01 .ya02 .txt01 {
	width: 66%;
	margin: 0 0 0 10%;
}
#section01 .ya02 .mame {
	position: relative;
	display: block;
	width: 31%;
	margin: -43% 0 0 42%;
	z-index: 10;
}
#section01 .course-mashiko {
	margin: 0 0 1em 0;
	background: url(../img/course_mashiko_bg.png) left top no-repeat;
	background-size: 100%;
}

/* section02 */
#section02 .course-yamamura {
	margin: 0 0 1em 0;
	background: url(../img/course_yamamura_bg.png) left top no-repeat;
	background-size: 100%;
}
#section02 .course-yamamura ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* section03 */
#section03 .ma27,
#section03 .ma31,
#section03 .ma33 {
	background-color: #FFFFFF;
	background-image: url(../img/chara_ma31_top_bg.png), url(../img/chara_ma31_btm_bg.png);
	background-position: left top, left bottom;
	background-repeat: no-repeat, no-repeat;
	background-size: 100%, 100%;
}
#section03 .ma27 .ma27-inner,
#section03 .ma33 .ma33-inner {
	display: table;
	width: 100%;
}
#section03 .ma27 .chara,
#section03 .ma27 .txt,
#section03 .ma33 .chara,
#section03 .ma33 .txt {
	display: table-cell;
	vertical-align: middle;
}
#section03 .ma27 .chara {
	width: 18%;
}
#section03 .ma27 .txt {
	width: 82%;
}
#section03 .ma27 .txt01,
#section03 .ma27 .txt02 {
	float: left;
}
#section03 .ma27 .txt01 {
	width: 24%;
}
#section03 .ma27 .txt02 {
	width: 44%;
}
#section03 .ma27 .txt03,
#section03 .ma33 .txt02 {
	width: 100%;
}
#section03 .ma31 .ma31-inner {
	width: 100%;
}
#section03 .ma31 .chara,
#section03 .ma31 .txt {
	float: left;
}
#section03 .ma31 .chara {
	width: 22%;
}
#section03 .ma31 .txt {
	width: 24%;
}

#section03 .ma33 .chara {
	width: 22%;
}
#section03 .ma33 .txt {
	width: 78%;
}
#section03 .ma33 .txt01 {
	width: 33.5%;
	position: relative;
	margin: -7% 0 0 -5%;
}
#section03 .end {
	width: 20%;
	margin: 0 0 0 80%;
}

/* 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;
}