@charset "utf-8";



/* -- Parts common style
-------------------------------------------------------------------------------- */
footer:before,
#sec2:before,
.box2:before {
	content: "";
	display: block;
	width: 100%;
	position: absolute;
	left: 0;
	z-index: 0;
}
footer > *,
#sec2 > *,
.box2> * {
	position: relative;
	z-index: 2;
}



/* -- Layout
-------------------------------------------------------------------------------- */
header,
footer,
article > section {
	text-align: left;
	width: 960px;
	margin: auto;
}
article {
	width: 100%;
	overflow: hidden;
}
article > section {
	line-height: 1.75;
	box-sizing: border-box;
}
header {
	height: 72px;
	position: relative;
}
header h1 {
	padding-top: 20px;
}
footer,
footer:before {
	background: #231815;
	height: 62px;
}
footer p {
	float: left;
	padding-top: 16px;
}
footer small {
	font-size: 10px;
	color: #FFF;
	display: block;
	float: right;
	padding-top: 28px;
}



/* -- Contents
-------------------------------------------------------------------------------- */
#vis {
	background: url(../img/vis_bg.jpg) no-repeat center 0;
	text-align: center;
	height: 479px;
	width: 100%;
	border-bottom: solid 144px #20a8ff;
	position: relative;
}
#vis h1 {
	text-align: center;
	display: block;
	width: 700px;
	margin-left: -350px;
	position: absolute;
	left: 50%;
	top: 48px;
}
#vis h1 img:first-child {
	display: block;
	margin-bottom: 410px;
}
#vis ul {
	display: block;
	width: 956px;
	margin-left: -478px;
	position: absolute;
	left: 50%;
	top: 141px;
}
#vis ul li:first-child {
	float: left;
	margin-right: 18px;
}
#vis:after {
	content: "";
	background: url(../img/vis_arrow.gif) repeat;
	display: block;
	height: 29px;
	width: 74px;
	margin-left: -36px;
	position: absolute;
	left: 50%;
	bottom: -173px;
}

#sec1 {
	background: url(../img/sec1_bg.jpg) no-repeat center 72px;
	height: 575px;
	position: relative;
	z-index: 2;
}
#sec1 > * { position: absolute; }
#sec1 > *:nth-of-type(1) { left: 20px; }
#sec1 > *:nth-of-type(2) { text-align: right; right: 20px; }
#sec1 h2 { top: 88px; }
#sec1 ul { top: 173px; }
#sec1 ul li:first-child { margin-bottom: 5px; }
#sec1 ul li:last-child { margin-top: 9px; }
#sec1:after {
	content: "";
	background: url(../img/sec1_arrow.png) no-repeat;
	display: block;
	height: 97px;
	width: 118px;
	margin-left: -49px;
	position: absolute;
	left: 50%;
	bottom: -23px;
}

#sec2 {
	background: #FFFC20;
	padding: 67px 20px 0;
	height: 619px;
}
#sec2:before {
	background: #FFFC20;
	height: 619px;
	margin-top: -67px;
}
#sec2 h2 {
	text-align: center;
	padding-bottom: 33px;
}
#sec2 div {
	position: relative;
}
#sec2 div h3 {
	position: absolute;
	left: 0;
}
#sec2 div:nth-of-type(1) { text-align: left; float: left; }
#sec2 div:nth-of-type(2) { text-align: right; float: right; }
#sec2 div:nth-of-type(1) h3 { top: 14px; }
#sec2 div:nth-of-type(2) h3 { top: 2px; }

#sec3 > *,
#sec4 > * {
	position: relative;
	z-index: 2;
}
#sec3 > h2,
#sec4 > h2 {
	height: 160px;
}
#sec3 > figure,
#sec4 > figure {
	display: block;
	z-index: 0;
}
#sec3 > figure img,
#sec4 > figure img {
	display: block;
	position: absolute;
}
.box1 p:nth-of-type(1) {
	font-size: 16px;
	margin-bottom: 30px;
	width: 415px;
}
.box1 p:nth-of-type(2) {
	width: 415px;
}
.box1 p:last-of-type {
	position: absolute;
	right: 20px;
	bottom: 80px;
}
.box2 {
	position: static!important;
}
.box2:before {
	background: url(../img/voice_bg.gif) repeat-x 0 bottom;
}
.box2 h3 {
	top: -20px;
}
.box2 div {
	width: 448px;
	padding-top: 40px;
	box-sizing: border-box;
	position: relative;
}
.box2 div.voice1 {
	float: left;
	margin-left: 18px;
	padding-left: 133px;
}
.box2 div.voice2 {
	float: right;
	margin-right: 18px;
	padding-left: 40px;
}
.box2 div h4,
.box2 div p {
	width: 270px;
}
.box2 div h4 {
	font-size: 16px;
	text-align: center;
	height: 58px;
}
.box2 div p {
	font-size: 12px;
	line-height: 1.67;
}
.box2 div p:last-child {
	width: auto;
	position: absolute;
	bottom: -22px;
}
.box2 div.voice1 p:last-child {
	left: 0;
}
.box2 div.voice2 p:last-child {
	right: 0;
}

#sec3 > figure img { top: -93px; right: -123px; }
#sec3 .box1 { height: 566px; }
#sec3 .box1 h3 { margin-bottom: 50px; }
#sec3 .box2,
#sec3 .box2:before { height: 411px; }
#sec3 .box2 h3 { margin-bottom: 20px; }
#sec3 .box2 div { height: 248px; }
#sec3 .box2 div.voice1 { background: url(../img/sec3_bg2.png) no-repeat; }
#sec3 .box2 div.voice2 { background: url(../img/sec3_bg3.png) no-repeat; }

#sec4 > figure img { top: -13px; right: -178px; }
#sec4 .box1 { height: 654px; }
#sec4 .box1 h3 { margin-bottom: 30px; }
#sec4 .box2,
#sec4 .box2:before { height: 479px; }
#sec4 .box2 h3 { margin-bottom: 10px; }
#sec4 .box2 div { height: 330px; }
#sec4 .box2 div.voice1 { background: url(../img/sec4_bg2.png) no-repeat; }
#sec4 .box2 div.voice2 { background: url(../img/sec4_bg3.png) no-repeat; }

article > aside {
	text-align: center;
	width: 920px;
	margin: auto;
	padding: 70px 0;
}
article > aside p {
	margin-bottom: 48px;
}
article > aside dl {
	display: table;
	width: 920px;
	height: 170px;
	margin: auto;
}
article > aside dt,
article > aside dd {
	text-align: center;
	vertical-align: middle;
	display: table-cell;
	height: 170px;
}
article > aside dt {
	background: #2B3B69;
	width: 248px;
}
article > aside dd {
	font-size: 0;
	line-height: 0;
	width: 672px;
	background: #F3F3F3;
}
article > aside dd address,
article > aside dd a {
	display: inline-block;
	vertical-align: middle;
}
article > aside dd address {
	margin-right: 55px;
}



/* -- print only
-------------------------------------------------------------------------------- */
@media print {
	#sec2,
	#sec3,
	#sec4,
	article > aside {
		page-break-before: always;
	}
	.ua-firefox footer:before,
	.ua-firefox #sec2:before,
	.ua-firefox .box2:before {
		display: none;
	}
	.ua-firefox .box2 {
		background: url(../img/voice_bg.gif) repeat-x 0 bottom;
	}
	.ua-firefox footer {
		padding-left: 10px;
		padding-right: 10px;
	}
}
