@charset "utf-8";

@import url(http://fonts.googleapis.com/css?family=Roboto:400,300,500,700,900);

/* ------- basic ------------- */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
	margin:0;
	padding:0;
}

html {
	color:#000;
}
body {
	font-family: 'Roboto', 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	line-height: 2.2em;
	color: #000;
	padding: 0px;
}
a {
	color: #999;
}
a:link {
	text-decoration: underline;
}
a:visited {
	text-decoration: underline;
}
a:hover {
	color: #000;
	text-decoration: none;
}
a:focus {
	color: #000;
	text-decoration: none;
}
a:active {
	color: #000;
	text-decoration: none;
}

fieldset, img {
	border:0;
}
address, caption, cite, code, dfn, em, strong, th, var {
	font-style:normal;
	font-weight:normal;
}
li {
	list-style:none;
}
caption, th {
	text-align:left;
}
h1, h2, h3, h4, h5, h6 {
	font-size:100%;
	font-weight:normal;
}
sup {
	vertical-align:text-top;
}
sub {
	vertical-align:text-bottom;
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;
	overflow: hidden;
}
@media print {
* html body {
	zoom : 80%; /*WinIE6 only */
}
*:first-child+html body {
	zoom : 80%; /*WinIE7 only */
}
body {
	font-size : 10pt;
}
}
/* ------- basic end ------------- */
/* ------- common style ------------- */
strong {
	font-weight: bold;
}
.fontNormal {
	font-weight: normal !important;
}
.textRight {
	text-align: right !important;
}
.textLeft {
	text-align: left !important;
}
.textCenter {
	text-align: center !important;
}

/* ------- layout ------------- */

#wrapper {
	min-width:1260px;
	padding-top: 80px;
	padding-bottom: 40px;
	position: relative;
}

iframe[name="google_conversion_frame"] {
	position: fixed;
	z-index: 0;
	bottom: -30px;
}

#header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}
#header .headerInner {
	width: 1200px;
	margin: 0 auto;
}
#language {
	background: #fff;
	display: none;
}
#language ul {
	float: right;
}
#language ul li {
	float: left;
	font-size: 12px;
}
#language ul li a {
	display: block;
	padding: 5px 12px;
	box-sizing: border-box;
	height: 30px;
	line-height: 1.5;
	color: #000;
	text-decoration: none;
}
#headerMain {
	background: #f5f5f5;
}
#headerMain .siteLogo {
	float: left;
	padding-top: 15px;
}
#headerMain .headerNavi {
	float: right;
}
#headerMain .globalNavi {
	float: left;
}
#headerMain .globalNavi ul {
	float: right;
}
#headerMain .globalNavi ul li {
	float: left;
	font-size: 14px;
	text-align:center;
	line-height:1.2em;
}
#headerMain .globalNavi ul li a {
	display: block;
	padding: 23px 15px;
	box-sizing: border-box;
	height: 80px;
	position: relative;
	text-decoration: none;
	z-index: 2;
	color: #000;
	display: table-cell;
	vertical-align: middle;

}
#headerMain .globalNavi ul li a .border {
	display: block;
	box-sizing: border-box;
	position: absolute;
	width: 0%;
	height: 2px;
	bottom: 26px;
	left: 0;
	padding: 0 14px;
	text-align: center;
}
#headerMain .globalNavi ul li a .border:after {
	content: '';
	display: inline-block;
	width: 100%;
	height: 2px;
	vertical-align: top;
	background: #000;
}
#headerMain .share {
	float: left;
	padding: 0 19px;
	/*padding-top: 27px;*/
	padding-top: 12px;
}
#headerMain .share .shareLabel {
	/*float: left;*/
	padding-right: 4px;
	line-height: 1.3em;
	font-size: 80%;
	color: #888;
	text-align:center;
	margin-bottom:2px;
}
#headerMain .share ul {
	float: left;
}
#headerMain .share ul li {
	float: left;
	margin-right: 8px;
	width: 27px;
	height: 27px;
	overflow: hidden;
}
#headerMain .share ul li:last-child {
	margin-right: 0;
}
#headerMain .languageBtn {
	float: left;
	display: block;
	height: 80px;
	background: #fff;
	position: relative;
}
#headerMain .languageBtn a {
	display: block;
	height: 80px;
	padding: 23px 15px;
	box-sizing: border-box;
	font-size: 14px;
	text-decoration: none;
	position: relative;
	transition-duration: 0.3s;
}
#headerMain .languageBtn a .rel {
	position: relative;
}
#headerMain .languageBtn a:before {
	content: '';
	display: block;
	position: absolute;
	height: 100%;
	width: 0;
	left: 0;
	top: 0;
	background: #000;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0,.95,.35,1);
}
#headerMain .languageBtn a:hover {
	color: #fff;
}
#headerMain .languageBtn a:hover:before {
	width: 100%;
}

#footAppBlock {
	clear: both;
}
#footAppBlock:before, #footAppBlock:after {
	content: '';
	display: block;
	height: 4px;
	background: url(/share/common/images/common/app_border.png) no-repeat center center;
	background-size: 100% 4px;
}
#footAppBlock .phMask {
	height: 420px;
	overflow: hidden;
	width: 100%;
	position: relative;
	background: url(/share/common/images/common/app_bg_pho01.jpg) no-repeat center center;
	background-size: cover;
}
#footAppBlock .innerBlock {
	position: relative;
	padding: 40px 0 25px;
	/*width: 860px;*/
	width: 1000px;
	margin: 0px auto;
	z-index: 100;
}
#footAppBlock .textBlock {
	float: left;
	width: 770px;
}
#footAppBlock .textBlock h2 {
	font-size: 24px;
	margin-bottom: 8px;
}
#footAppBlock .phBlock {
	float: right;
	width: 225px;
	margin-top:20px;
}
#footAppBlock .appIcon {
	float: left;
	width: 135px;
	height: 135px;
	position: relative;
}
#footAppBlock .appIcon .layoutLayer {
	width: 135px;
	height: 135px;
	position: absolute;
	left: -7px;
	top: 0px;
}
#footAppBlock .iosBnr {
	float: left;
	width: 200px;
	padding-left: 42px;
	padding-top: 30px;
}
#footAppBlock .androidBnr {
	float: left;
	width: 200px;
	padding-left: 40px;
	padding-top: 30px;
}
#footerBnr {
	padding: 55px 0 0px;
}
#footerBnr .productsBnr {
	width: 800px;
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(top, #ffffff 0%, #f5f5f5 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #ffffff 0%,#f5f5f5 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #ffffff 0%,#f5f5f5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f5f5f5',GradientType=0 ); /* IE6-9 */
	border-radius: 4px;
	border: solid 1px #e6e6e6;
	box-shadow: 0 0 5px 0px rgba(0, 0, 0, 0.15);
	margin: 0 auto 30px;
}
#footerBnr .productsBnr .photo {
	float: left;
	width: 350px;
	text-align: center;
	padding: 4px 0 6px;
}
#footerBnr .productsBnr .photo img {
	vertical-align: bottom;
}
#footerBnr .productsBnr .btns {
	float: right;
	width: 400px;
	text-align: center;
	padding: 24px 40px 10px 0;
}
#footerBnr .productsBnr .btns .btn {
	display: block;
	width: 100%;
}
#footerBnr .productsBnr .btns .btn:after {
	content: '';
	display: block;
	position: absolute;
	height: 15px;
	width: 9px;
	right: 10px;
	top: 50%;
	margin-top: -7px;
	background: url(../images/common/icon_l_navi.png) no-repeat left top;
}
#footerBnr .productsBnr .btns .btn:hover:after {
	background: url(../images/common/icon_l_navi_white.png) no-repeat left top;
}

#footerBnr .bnrTitle {
	font-size: 24px;
}
#footerBnr .footerRotationBnr {
	width: 1010px;
	height: 102px;
	position: relative;
	margin: 0 auto;
}
#footerBnr .footerRotationBnr .btnPrev ,
#footerBnr .footerRotationBnr .btnNext {
	width: 50px;
	height: 141px;
	background: #fff;
	position: absolute;
	top: -20px;
	display: none;
	cursor: pointer;
}
#footerBnr .footerRotationBnr .slideWrapper {
	width: 1010px;
	height: 102px;
	position: relative;
	overflow: hidden;
}
#footerBnr .footerRotationBnr .slideWrapper .bnr {
	float: left;
	width: 186px;
	margin-right: 20px;
}
#footerBnr .footerRotationBnr .slideWrapper .bnr:last-child {
	margin-right: 0;
}
#footerBnr .footerRotationBnr.active .btnPrev ,
#footerBnr .footerRotationBnr.active .btnNext {
	display: block;
}
#footerBnr .footerRotationBnr .btnPrev {
	left: -5px;
	box-shadow: 25px 0 30px rgb(255,255,255);
	background: #fff url(../images/common/footer_bnrslide_left.png) no-repeat center 49px;
}
#footerBnr .footerRotationBnr .btnNext {
	right: -5px;
	box-shadow: -25px 0 30px rgb(255,255,255);
	background: #fff url(../images/common/footer_bnrslide_right.png) no-repeat center 49px;
}
#footerBnr .footerRotationBnr.active .slideWrapper .bnr {
	float: none;
	margin-right: 0;
	position: absolute;
	top: 0;
	left: 0;
}

#footerNavi {
	border-top: solid 1px #e6e6e6;
	border-bottom: solid 1px #e6e6e6;
	padding: 10px 0;
	text-align: center;
}
#footerNavi ul {
	display: table;
	margin: 0 auto;
}
#footerNavi li {
	font-size:14px;
	line-height: 1em;
	display: table-cell;
	position: relative;
	padding: 0 13px;
	vertical-align: middle;
	height: 35px;
}
#footerNavi li a {
	display: block;
	position: relative;
	text-decoration: none;
	z-index: 2;
	color: #000;
}
#footerNavi li a .border {
	display: block;
	box-sizing: border-box;
	position: absolute;
	width: 0%;
	height: 2px;
	bottom: -3px;
	text-align: center;
}
#footerNavi li a .border:after {
	content: '';
	display: inline-block;
	width: 100%;
	height: 2px;
	vertical-align: top;
	background: #000;
}
.totop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 500;
	transition: bottom 200ms;
	-webkit-transition: bottom 200ms;
}
.totop.isBottom {
    bottom: 40px;
}
.totop a {
	display: block;
	background: url(../images/common/pagetop_arrow.png) no-repeat center top;
	background-position: center top;
	color: #000;
	font-size: 100%;
	font-weight: 700;
	box-sizing: border-box;
	overflow: hidden;
	width: 62px;
	height: 62px;
	padding-top: 62px;
	transition-duration: 0.3s;
	-webkit-transition-duration: 0.3s;
}
.totop a:hover {
	background-position: center -10px;
}
#footerWrap {
	width: 100%;
	overflow: hidden;
	position: absolute;
	z-index: 100;
	min-width: 1000px;
	bottom: 0;
	left: 0;
}
#footerWrap #footer {
	background: #000;
	width: 100%;
	height: 40px;
	z-index: 100;
}
#footerWrap #footer #footerMain {
	width: 1000px;
	z-index: 100;
	position: relative;
	margin:0 auto;
}
#footerMain .languageBtn {
	float: right;
	display: block;
	height: 40px;
	background: #333;
	position: relative;
	margin-left: 10px;
}
#footerMain .languageBtn a {
	display: block;
	height: 40px;
	color: #fff;
	padding: 2px 15px;
	box-sizing: border-box;
	font-size: 14px;
	text-decoration: none;
	position: relative;
	transition-duration: 0.3s;
}
#footerMain .languageBtn a .rel {
	position: relative;
}
#footerMain .languageBtn a:before {
	content: '';
	display: block;
	position: absolute;
	height: 100%;
	width: 0;
	left: 0;
	top: 0;
	background: #f5f5f5;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0,.95,.35,1);
}
#footerMain .languageBtn a:hover {
	color: #000;
}
#footerMain .languageBtn a:hover:before {
	width: 100%;
}
#language .footerInner {
	width: 1000px;
	z-index: 100;
	position: relative;
	margin:0 auto;
}
#footer .share {
	font-size: 11px;
	line-height: 1.2em;
	padding-bottom: 0.3em;
	color: #ffffff;
}
#footer li a {
	color: #CCCCCC;
	text-decoration: none;
}
#footer li a:hover, #footer li a:focus {
	text-decoration: underline;
}
#footer #copy {
	font-size: 10px;
	color: #606060;
	line-height: 1.2em;
	padding-top: 13px;
	display: block;
	width: 205px;
	float: left;
	padding-left: 0px;
	height: 15px;
	overflow: hidden;
}
#footer #footerEnd {
	clear: both;
}
#footer #footerEnd #copy img {
	padding-right: 10px;
	vertical-align: -15%;
}
#footer #footerEnd ul {
	float: right;
	margin: 0;
	padding: 6px 0 0;
}
* html #footer #footerEnd ul {
	padding-right: 0px;
}
#footer #footerEnd li {
	color: #ffffff;
	display: block;
	text-align: right;
	width: auto;
	float: left;
	white-space: nowrap;
	font-size: 12px;
	line-height: 1.3em;
	padding: 0;
	margin-right: 24px;
}
#footer #footerEnd li.textList {
	padding-top: 7px;
}
#footer #footerEnd li.last {
	padding-right: 0px;
}
#footer #footerEnd li a {
	color: #ffffff;
	padding-right: 0px;
	white-space: nowrap;
}
#footer #footerEnd li a.icExternal {
	background-image: url(../images/common/ic_external.gif);
	background-repeat: no-repeat;
	background-position: right top;
	padding-right: 18px;
	margin-right: 0px;
	white-space: nowrap;
}
#footer #footerEnd li.share {
	font-size: 12px;
	color: #ffffff;
	display: block;
	width: 26px;
	text-align: right;
	padding: 0;
	padding-left: 9px;
	margin-top: 1px;
	margin-right: 0;
	overflow: hidden;
}
#footer #footerEnd .share a {
	background-image: none;
	margin: 0px;
	padding: 0px;
}
#footer #footerEnd .share img {
	vertical-align: -20%;
}

.pageHome #headerMain .globalNavi ul li.naviHome a .border ,
.pageHome #footerNavi li.naviHome a .border ,
.pageCat1 #headerMain .globalNavi ul li.navi1 a .border ,
.pageCat1 #footerNavi li.navi1 a .border ,
.pageCat2 #headerMain .globalNavi ul li.navi2 a .border ,
.pageCat2 #footerNavi li.navi2 a .border ,
.pageCat3 #headerMain .globalNavi ul li.navi3 a .border ,
.pageCat3 #footerNavi li.navi3 a .border ,
.pageCat4 #headerMain .globalNavi ul li.navi4 a .border ,
.pageCat4 #footerNavi li.navi4 a .border ,
.pageCat5 #headerMain .globalNavi ul li.navi5 a .border ,
.pageCat5 #footerNavi li.navi5 a .border ,
.pageCat6 #headerMain .globalNavi ul li.navi6 a .border ,
.pageCat6 #footerNavi li.navi6 a .border ,
.pageCat7 #headerMain .globalNavi ul li.navi7 a .border ,
.pageCat7 #footerNavi li.navi7 a .border ,
.pageCat8 #headerMain .globalNavi ul li.navi8 a .border ,
.pageCat8 #footerNavi li.navi8 a .border {
	width: 100%;
}

#headerMain .globalNavi.moveCurrent ul li a .border:after ,
#footerNavi.moveCurrent li a .border:after {
	visibility: hidden;
}
#headerMain .globalNavi.moveCurrent ,
#footerNavi.moveCurrent {
	position: relative;
}
#headerMain .globalNavi.moveCurrent .moveBorder ,
#footerNavi.moveCurrent .moveBorder {
	content: '';
	display: block;
	width: 0px;
	height: 2px;
	vertical-align: top;
	background: #000;
	position: absolute;
	left: 15px;
	top: 52px;
	z-index: 0;
}
#footerNavi.moveCurrent .moveBorder {
	top: 39px;
}
#headerMain .globalNavi.moveCurrent.start .moveBorder ,
#footerNavi.moveCurrent.start .moveBorder {
	transition-duration: 0.2s;
}

/* ------- layout end ------------- */

/* ------- common style end ------------- */

#contents {
	clear: both;
	position: relative;
	z-index: 10;
}
#contents .innerBlock {
	width: 990px;
	padding: 0px 0px;
	margin: 0px auto;
}
h1 {
	font-size: 40px;
	margin-bottom: 30px;
	line-height: 1.2em;
}
h2 {
	font-size: 34px;
	margin-bottom: 20px;
	font-weight: bold;
}
h2.size2byte {
	font-size: 30px;
}
h3 {
	font-size: 34px;
	line-height: 1.4em;
	font-weight: bold;
	margin-bottom: 15px;
}
h3.size2byte {
	font-size: 30px;
}
h4 {
	font-size: 18px;
	color: #222;
	margin-bottom: 18px;
	font-weight: bold;
}
p {
	font-size: 16px;
	line-height: 1.8em;
}

.textXsmall {
	font-size: 10px;
	line-height: 1.4em;
}
.textSmall {
	font-size: 13px;
	line-height: 1.4em;
}
.textMiddle {
	font-size: 17px;
	line-height: 1.5em;
}
.textLarge {
	font-size: 20px !important;
	line-height: 1.8em;
}
.textLargeS {
	font-size: 18px !important;
	line-height: 1.8em;
}
.textXLarge {
	font-size: 24px !important;
	line-height: 1.8em;
}
.noMargin {
	margin-bottom: 0px !important;
}
.margin-Xsmall {
	margin-bottom: 10px !important;
}
.marginSmall {
	margin-bottom: 17px !important;
}
.marginMiddle {
	margin-bottom: 25px !important;
}
.marginLarge {
	margin-bottom: 40px !important;
}
.marginXlarge {
	margin-bottom: 55px !important;
}
.marginXXlarge{
	margin-bottom: 75px !important;
}
.textCaution{
	padding-left: 1em;
	text-indent: -1em;
}
.colorGray {
	color: #bbb;
}
.textBold {
	font-weight: bold !important;
}
.commonList {
	font-size: 15px;
	padding-bottom: 1.5em;
}
.commonList li {
	list-style-type: disc;
	padding-bottom: 0.2em;
	margin-left: 1.5em;
}
.noList li {
	list-style-type: decimal;
}
.btn {
	display: inline-block;
	box-sizing: border-box;
	padding: 10px;
	min-width: 200px;
	text-align: center;
	text-decoration: none;
}
a.btn {
	text-decoration: none;
}

.btn.borderBtn {
	padding: 8px;
	border: solid 2px #000;
	font-weight: bold;
	position: relative;
	transition-duration: 0.3s;
	color: #000;
}
.btn.borderBtn .rel {
	position: relative;
}
.btn.borderBtn:before {
	content: '';
	display: block;
	position: absolute;
	height: 100%;
	width: 0;
	left: 0;
	top: 0;
	background: #000;
	transition-duration: 0.3s;
	transition-timing-function: cubic-bezier(0,.95,.35,1);
}
.hover .btn.borderBtn ,
.btn.borderBtn:hover {
	color: #fff;
}
.hover .btn.borderBtn:before ,
.btn.borderBtn:hover:before {
	width: 100%;
}

.titleWrapper {
	min-height: 420px;
	max-height: 1000px;
	height: 420px;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.fadeInStandby {
	transition-delay: 0.2s;
	transition-duration: 0.3s;
	opacity: 0;
}
.fadeInStandby.active {
	opacity: 1;
}
.titleWrapper .titleInner {
	width: 800px;
	height: 100%;
	margin: 0 auto;
	display: table;
}
.titleWrapper .titleInner .titleVMiddle {
	display: table-cell;
	height: 100%;
	vertical-align: middle;
	padding-bottom: 25px;
}
.titleWrapper h1 {
	border-bottom: solid 1px #000;
	padding-bottom: 18px;
	margin-bottom: 11px;
	text-align: center;
	font-size: 63px;
	line-height: 1;
}
.titleWrapper .subTitle {
	text-align: center;
	font-size: 21px;
}
.titleWrapper.white ,
.titleWrapper.white h1 {
	border-bottom: solid 1px #fff;
	color: #fff;
}

.textOnlyPage {
	width: 1000px;
	padding-top: 70px;
	margin: 0 auto;
}
.textOnlyPage h3 {
	font-size: 28px;
}
.textOnlyPage h4 {
	margin-bottom: 3px;
}
.pdf {
	display:block;
	background: url(/share/common/images/common/icon_pdf.png) no-repeat;
	background-size: 22px auto;
	text-indent:30px;
	vertical-align:bottom;
}