/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/* ---------------------------------------------------------
    initializr's styles
   ---------------------------------------------------------*/

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}

body {
    font: 14px/26px Helvetica, Helvetica Neue, Arial;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

a{
	color:#e6001b;
	text-decoration:none;
}

a:focus {
    outline: thin dotted;
	color:#e6001b;
}

a:active,
a:hover {
	color:#FF0066;
}



/* ---------------------------------------------------------
    Helper classes
   ---------------------------------------------------------*/

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}


/*-- clear --*/

.clear {
	clear: both;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}



/* ---------------------------------------------------------
    reset
   ---------------------------------------------------------*/

dl, dd, ol, ul, p {
	margin: 0;
}

ol, ul, p {
	padding: 0;
}

ul, ol {
	list-style: none;
}



/* ---------------------------------------------------------
    customize.css
   ---------------------------------------------------------*/

/* float */
.left{float:left;}
.right{float:right;}

/* margin-top */
.mt0{margin-top:0 !important}
.mt5{margin-top:5px !important;}
.mt10{margin-top:10px !important;}
.mt15{margin-top:15px !important;}
.mt20{margin-top:20px !important;}
.mt25{margin-top:25px !important;}
.mt30{margin-top:30px !important;}
.mt35{margin-top:35px !important;}
.mt40{margin-top:40px !important;}
.mt45{margin-top:45px !important;}
.mt50{margin-top:50px !important;}

/* margin-bottom */
.mgnBtm10 {margin-bottom:10px !important;}
.mgnBtm20 {margin-bottom:20px !important;}
.mgnBtm30 {margin-bottom:30px !important;}
.mgnBtm40 {margin-bottom:40px !important;}
.mgnBtm50 {margin-bottom:50px !important;}
.mgnBtm60 {margin-bottom:60px !important;}
.mgnBtm70 {margin-bottom:70px !important;}
.mgnBtm80 {margin-bottom:80px !important;}
.mgnBtm90 {margin-bottom:90px !important;}
.mgnBtm100{margin-bottom:100px !important;}

/* margin-right */
.mr0{margin-right:0 !important;}
.mr5{margin-right:5px !important;}
.mr10{margin-right:10px !important;}
.mr15{margin-right:15px !important;}
.mr20{margin-right:20px !important;}

/* margin-left */
.ml0{margin-left:0 !important;}
.ml5{margin-left:5px !important;}
.ml10{margin-left:10px !important;}
.ml15{margin-left:15px !important;}
.ml20{margin-left:20px !important;}

/* padding-bottom */
.pb0{padding-bottom:0 !important;}
.pb5{padding-bottom:5px !important;}
.pb10{padding-bottom:10px !important;}
.pb15{padding-bottom:15px !important;}
.pb20{padding-bottom:20px !important;}
.pb25{padding-bottom:25px !important;}
.pb30{padding-bottom:30px !important;}
.pb35{padding-bottom:35px !important;}
.pb40{padding-bottom:40px !important;}
.pb45{padding-bottom:45px !important;}
.pb50{padding-bottom:50px !important;}

/* padding-top */
.pt0{padding-top:0 !important;}
.pt5{padding-top:5px !important;}
.pt10{padding-top:10px !important;}
.pt12{padding-top:12px !important;}
.pt15{padding-top:15px !important;}
.pt20{padding-top:20px !important;}
.pt35{padding-top:35px !important;}
.pt40{padding-top:40px !important;}

/* padding-right */
.pr0{padding-right:0 !important;}
.pr5{padding-right:5px !important;}
.pr10{padding-right:10px !important;}
.pr15{padding-right:15px !important;}
.pr20{padding-right:20px !important;}
.pr25{padding-right:25px !important;}
.pr30{padding-right:30px !important;}

/* padding-left */
.pl0{padding-left:0 !important;}
.pl5{padding-left:5px !important;}
.pl10{padding-left:10px !important;}
.pl15{padding-left:15px !important;}
.pl20{padding-left:20px !important;}
.pl25{padding-left:25px !important;}
.pl30{padding-left:30px !important;}


/* 解除 */
.borderNone{border:none !important;}
.mgnNone{margin:0 !important;}
.pdgNone{padding:0 !important;}

.btNone{border-top:none !important;}
.brNone{border-right:none !important;}
.blNone{border-left:none !important;}
.bbNone{border-bottom:none !important;}


/* 太字 */
.fbold{font-weight:bold !important;}


/* ---------------------------------------------------------
    maintitle
   ---------------------------------------------------------*/

header h1.title {
	background-color: #fff;
}

header h1 img {
	width: 240px;
}

header h1 a {
	display: block;
}

header h1 .headerTitle02 {
	display: none;
}

h2.title02{
	padding:0;
	margin:0;
	line-height:100px;
	text-indent:40px;
	color:#FFF;
}

h3.title03{
	border-bottom:solid 1px #bbb;
	font-size: 1.3em;
	margin-top:0;
	margin-bottom:20px;
	clear:both;
}

h3.title03 span{
	display: inline-block;
	border-bottom: solid 2px #e6001b;
	padding: 0.3em 0.5em;
}

h4.title04{
	padding: 10px 3% 10px 20px;
	border-left: 5px solid #e6001b;
	background-color: #f2f2f2;
	overflow: hidden;
	position: relative;
	font-size: 1.2em;
	margin-bottom:20px;
	clear:both;
}

h5.title05,
h5.title05_2{
	padding-left: 30px;
	background: url(../images/h3-mk.png) left top no-repeat;
	font-size:1.2em;
	margin:0 0 10px 0;
}

h5.title05_2{
	border-bottom:1px solid #bbb;
}



/* ---------------------------------------------------------
    header
   ---------------------------------------------------------*/

.header-container {
	min-height: 100%;
	height: 100%;
	position: fixed;
	z-index: 101;
	width: 14%;
	border-right:1px solid #CCC;
	background: #F2F2F2;
}

header h1.title {
	background-color: #fff;
}

header h1 img {
	width: 220px;
	margin: 0 auto;
	display: block;
}

.main-container {
	position: relative;
	margin: auto;
	float: left;
	left: 14%;
	width: 86%;
}

#pullMenuBox,
nav a#pull {
	display: none;
}

#gnav a{
	display:block;
	font-weight:normal;
	color:#333;
	padding: 15px 35px;
	text-align: left;
	text-decoration: none;
}

#gnav a:hover{
	background:#222;
	color:#FFF;
	text-decoration:none;
}

#gnav a.nopointer {
	cursor: default;
}

#gnav li{
	background:url(../images/nav_bg_01.gif) 0 bottom no-repeat;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	background-size: contain;
}

#gnav p {
	margin: 0;
}

#gnav p span,
#gnav .subnav span {
	font-size: 0.86em;
}

#gnav .subnav {
	display: none;
	height: 100%;
	padding-bottom: 60px;
	position: absolute;
	top: 0;
	left: 100%;
	width: 100%;
	background:#222;
	padding-top: 101px;
}

#gnav .subnav li{
	background:none;
}

#gnav .subnav li a{
	display:block;
	color:#fff;
	padding: 5px 20px 5px 30px;
}

#gnav .subnav li a:hover{
	background:#e6001b;
}

#gnav .multiColumns .spNav {
	display: none;
}

#gnav .multiColumns .subnav {
	width: 150%;
}

#gnav .multiColumns li{
	width: 50%;
	float: left;
}

#gnav .multiColumns li.columnClear {
	clear: both;
}

#gnav .multiColumns li a img{
	width:18px;
	height:18px;
	padding-left:2px;
}

#gnav .multiColumns li.subtitle {
	clear: both;
	width: 80%;
	color: #999;
	font-size: 0.9em;
	padding: 15px 30px 3px 30px;
}

.search{
	padding:10px 30px;
	background:url(../images/nav_bg_01.gif) 0 bottom no-repeat;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	background-size: contain;
}

.search input{
	padding:5px;
	margin-right:5px;
}

.globalSite{
	background:url(../images/nav_bg_01.gif) 0 bottom no-repeat;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	background-size: contain;
}

.globalSite a {
	padding:10px 5px 10px 10px;
	display: block;
}

.globalSite a:hover{
    filter:alpha(opacity=80);
    -moz-opacity: 0.8;
	opacity:0.8;
}

.gnav02{
	padding:10px 0;
	background:url(../images/nav_bg_01.gif) 0 bottom no-repeat;
	-webkit-background-size: contain;
	-moz-background-size: contain;
	background-size: contain;
}

.gnav02 li{
	background:url(../images/ico_02.png) 30px 10px no-repeat;
}

.gnav03{
	padding:10px 0;
}

.gnav03 li{
	background:url(../images/mail_ico_01.gif) 30px 8px no-repeat;
}

.gnav02 a,
.gnav03 a{
	display:block;
	color:#666;
	font-size:86%;
}

.gnav02 a {
	padding: 5px 20px 5px 50px;
}

.gnav03 a {
	padding: 6px 5px 5px 70px;
}

.gnav02 a:hover,
.gnav03 a:hover{
	color:#e6001b;
}

/* copyright */
.copy{
	text-align:center;
	font-size:70%;
	font-weight:bold;
	color:#666;
	line-height:140%;
}



/* ---------------------------------------------------------
    main
   ---------------------------------------------------------*/

.mainInner{
	width:95%;
	margin:0 auto;
	padding: 30px 0;
}

.textinner{
	width:95%;
	margin:0 auto;
}

.mainTitle{
	width:100%;
	height:100px;
	background:#333;
}



/* ---------------------------------------------------------
    pankuzu
   ---------------------------------------------------------*/

#pankuzu{
	text-indent:40px;
	line-height:55px;
	background:#FCFCFC;
	border-bottom:1px solid #E3E3E3;
}



/* ---------------------------------------------------------
    footer
   ---------------------------------------------------------*/

.footer-container {
    border-top: 1px solid #E3E3E3;
	background:#FCFCFC;
}

.footer-container footer {
	padding: 20px 0 0 0;
}

.footerBox01{
	padding:0 20px 20px;
}

.footer-container .footerBox01_01,
.footer-container .footerBox01_02,
.footer-container .footerBox01_03,
.footer-container .footerBox01_04,
.footer-container .footerBox01_05,
.footer-container .footerBox01_06{
	float:left;
}

.footer-container .footerBox01_01{width:22%;}
.footer-container .footerBox01_02{width:18%;}
.footer-container .footerBox01_03{width:18%;}
.footer-container .footerBox01_04{width:22%;}
.footer-container .footerBox01_05{width:20%;}
.footer-container .footerBox01_06{width:20%;}

.footer-container .footerBox01_06 p img{
	width:18px;
	height:18px;
	padding-left:5px;
}

.footer-container a{
	text-decoration:none;
	color:#333;
}

.footer-container a:hover{
	color:#e6001b;
}

.footer-container dl{
	clear:both;
}

.footer-container dt{
	font-weight:bold;
	background:url(../images/ico_01.png) 0 4px no-repeat;
	padding-left:20px;
}

.footerBox01_06 dt p{
	margin:0;
}

.footer-container dd{
	padding-left:0px;
	clear:both;
	padding:0 0 0 20px;
	margin:0;
}

.footer-container ul{
	padding:0;
	margin:0;
}

.footer-container li{
	padding:0;
	margin:0;
}

.footer-container dd p {
	clear: both;
	margin: 0;
}

.footer-container .col-head{
  margin-left: 5px;
  font-weight: bold;
}

.footer-container .colums li {
	float: left;
	width:110px;
	padding-left:7px;
}

.footer-container .colums li a img{
	width:18px;
	height:18px;
	padding-left:2px;
}

.footerLogo{
	clear:both;
	background:#F2F2F2;
	border-top:2px solid #E3E3E3;
	padding:10px 10px 10px 40px;
}



/* ---------------------------------------------------------
    その他
   ---------------------------------------------------------*/

.title {
    color: white;
	border-top:5px solid #e6001b;
	padding:0;
	margin:0;
}

.fixed {
	position: fixed;
	top: 0;
	width: 85%;
	z-index: 1000;
}

img.fx{
	width:100%;
	height:auto;
}

img.fimg{
	margin:5%;
	width:90%;
	height:auto;
}

a.img_link:link,a.img_link:visited{
	border: solid 3px #DBDBDB;
	text-decoration: none;
	display: block;
}

a.img_link:hover{
	border-color:#e6001b;
}

a.link_box_bk:link,a.link_box_bk:visited{
	display:block;
	padding:10px;
	text-align:center;
	color:#fff;
	background-color:#000;
	-moz-border-radius: 7px;
	-webkit-border-radius: 7px;
	border-radius: 7px;
}

a.link_box_bk:hover{
	background-color:#e6001b;
}

.enlargeBtn {
	position: absolute;
	top: 5px;
	right: 5px;
	z-index: 99;
}



/* ---------------------------------------------------------
    pagescroll.js
   ---------------------------------------------------------*/

#nav-dock {
	position: fixed;
	right: 0;
	bottom: 55%;
}

#nav-dock a {
	display: block;
	width: 40px;
	height: 40px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

#nav-dock #prev {
	background:url(../images/scroll_btn_up.gif) no-repeat;
}

#nav-dock #next {
	background:url(../images/scroll_btn_down.gif) no-repeat;
}



/* ==========================================================================
    Media Queries
   ========================================================================== */

/* 高さに応じて変更 */

@media screen and (max-height: 850px) {

	#gnav a{
		padding: 8px 35px;
	}

	#gnav .subnav li a{
		padding: 8px 20px 8px 30px;
	}

}


@media screen and (max-height: 755px) {

	.gnav02 {
		display: none;
	}

	#gnav .multiColumns .subnav {
		width: 200%;
	}

	#gnav .multiColumns li{
		width: 33%;
	}

}


/* 横幅に応じて変更 */

@media screen and (min-width: 1401px) and (max-width: 1613px) {

	.header-container {
		width: 16%;
	}

	.main-container {
		width: 84%;
		left: 16%;
	}

	.fixed {
		width: 84%;
	}

}


@media screen and (min-width: 1201px) and (max-width: 1400px) {

	.header-container {
		width: 19%;
	}

	.main-container {
		width: 81%;
		left: 19%;
	}

	.fixed {
		width: 81%;
	}

}


@media screen and (min-width: 1024px) and (max-width: 1200px) {

	.header-container {
		width: 22%;
	}

	.main-container {
		width: 78%;
		left: 22%;
	}

	.fixed {
		width: 78%;
	}

}


@media screen and (max-width: 1024px) {

	/*ie8
	.header-container {
		border-bottom: 1px solid #dadada\9;
	}
	*/

	/*ie9
	.header-container:not(:target) {
		border-bottom: none\9;
	}
	*/

	/*ie10
	@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {

		.header-container {
			border-bottom: none;
		}
	}
	*/

	.header-container {
		position: relative;
		width: 100%;
		height: 100px;
		background:#FFF;
		border-right: none;
	}

	.main-container {
		left: 0;
		width: 100%;
	}

	.fixed {
		width: 100%;
	}

	.title {
		color: white;
		border-top:5px solid #e6001b;
		padding:0;
		margin:0;
	}

	.title img{
		width: 311px;
		height: 24px;
		padding: 17px 0 0 15px;
	}

	header h1 .headerTitle01 {
		display: none;
	}

	header h1 .headerTitle02 {
		display: block;
	}

	header h1 .headerTitle02 img{
		width:190px;
		height:auto;
		padding:10px 0 0 15px;
	}

	#gnav{
		width:100%;
		position:absolute;
		left:0;
		top:60px;
		background:#F2F2F2;
	}

	#gnav li{
		float:left;
		font-size:86%;
		background:none;
		padding:0px;
	}

	#gnav a{
		height:30px;
		padding:5px 15px;
	}

	#gnav .subnav {
		display: none;
		height:40px;
		padding-bottom: 0;
		position: absolute;
		top: 40px;
		left:0;
		width: 100%;
		background:#222;
		font-size:120%;
		padding-top: 0;
	}

	#gnav .subnav li a{
		padding:5px 15px;
	}

	#gnav .multiColumns .subnav {
		width: 100%;
		height: auto;
	}

	#gnav .multiColumns li{
		width: auto;
	}

	#gnav .multiColumns li.columnClear {
		clear: none;
	}

	#gnav .multiColumns li.subtitle {
		width: auto;
		padding: 5px 15px;
	}

	.search{
		position:absolute;
		top:5px;
		right:0;
		background:none;
	}

	.globalSite{
		position:absolute;
		top:3px;
		right: 0;
		background:none;
	}

	.gnav02{
		display:none;
	}

	.gnav03{
		position:absolute;
		top:0;
		right:225px;
		background:none;
	}

	.gnav03{
		padding:13px 0 0 0;
	}

	.globalSite a {
		padding:13px 5px 5px 10px;
	}

	.copy{
		display:none;
	}

	.mainInner{
		width:90%;
		margin:0 auto;
	}

}


@media screen and (min-width: 768px) and (max-width: 1024px) {

	nav {
		display: block;
		height: 60px;
	}

	nav ul li {
		float: left;
		padding: 0 0;
	}

	header h1 img {
		margin: 0;
		display: inline;
	}

}


@media screen and (max-width: 948px) { 

	.header-container {
		height: 140px;
	}

}


@media screen and (max-width: 767px) { 

	.header-container {
		height: 65px;
	}

	header h1 img {
		margin: 0;
		display: inline;
	}

	nav {
		border-bottom: 0;
	}

	nav ul {
		display: none;
		height: auto;
	}

	nav a#pull {
		display: block;
		background-color: #283744;
		width: 40px;
		height:40px;
		position: relative;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}

	nav a#pull:after {
		content:"";
		background: url('../../images/nav-icon.png') no-repeat;
		width: 30px;
		height: 30px;
		display: inline-block;
		position: absolute;
		right: 0px;
		top: 10px;
	}

	#pullMenuBox{
		display: block;
		position:absolute;
		top:15px;
		right:10px;
	}

	#gnav{
		width:100%;
		position:absolute;
		left:0;
		top:60px;
		overflow: visible;
	}

	#gnav li{
		float:none;
		font-size:86%;
		background:none;
		padding:0px;
		clear:both;
		overflow: visible;
	}

	#gnav .subnav {
		display: none;
		height: auto;
		overflow: visible;
		position: relative;
		top: 0;
	}

	#gnav .subnav li a {
		padding-left: 2em;
	}

	#gnav .subnav li .subnav li a {
		padding-left: 3em;
	}

	#gnav .subnav.active {
		position: relative;
		height: auto;
	}

	#gnav .multiColumns .spNav {
		display: block;
	}

	#gnav .multiColumns p, #gnav .multiColumns .subnav {
		display: none;
	}

	#pankuzu{
		display:none;
	}

	.mainTitle{
		width:100%;
		height:60px;
		background:#333;
	}

	.mainTitle h2{
		padding:0;
		margin:0;
		line-height:60px;
		text-indent:20px;
		color:#FFF;
	}

	footer {
		padding-top: 0 !important;
	}

	.footer-container .footerBox01 {
		padding: 0;
	}

	.footer-container .footerBox01_01,
	.footer-container .footerBox01_02,
	.footer-container .footerBox01_03,
	.footer-container .footerBox01_04,
	.footer-container .footerBox01_05{
		display:none;
	}

	.footer-container .footerBox01_06{
		width:100%;
	}

	.footer-container .footerBox01_06 dt{
		border-bottom: 1px solid #ccc;
		background-position:25px;
		padding:0;
	}

	.footer-container .footerBox01_06 dt a{
		width:100%;
	}

	.footer-container .footerBox01_06 dt p{
		padding:11px 0 8px 50px;
		vertical-align:middle;
	}

	.footerLogo{
		padding:10px;
	}

	.footerLogo img{
		max-width:100%;
		height:auto;
		display:block;
		margin:0 auto;
	}

	.mainInner{
		width:95%;
		margin:0 auto;
	}

	.textinner{
		width:95%;
		margin:0 auto;
	}

	h3.title03{
		width:100%;
		margin-bottom:10px;
	}

	h4.title04{
		padding-left:15px;
	}

}


@media screen and (max-width:600px){

	#nav-dock {
		position:none;
	}

	#nav-dock a {
		display:none;
	}	

	#nav-dock #prev {
		background:none;
	}

	#nav-dock #next {
		background:none;
	}


}


@media screen and (max-width:480px){

	.title img{
		width: 65%;
		height: auto;
		padding-top: 20px;
	}

	header h1 .headerTitle02 img{
		width:150px;
		padding-top:14px;
	}

}

