/*! 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:#e6001b;
}



/* ---------------------------------------------------------
    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
   ---------------------------------------------------------*/

.mgnBtm10{margin-bottom:10px;}
.mgnBtm20{margin-bottom:20px;}
.mgnBtm30{margin-bottom:30px;}
.mgnBtm40{margin-bottom:40px;}
.mgnBtm50{margin-bottom:50px;}
.mgnBtm60{margin-bottom:60px;}
.mgnBtm70{margin-bottom:70px;}
.mgnBtm80{margin-bottom:80px;}
.mgnBtm90{margin-bottom:90px;}
.mgnBtm100{margin-bottom:100px;}



/* ---------------------------------------------------------
    maintitle
   ---------------------------------------------------------*/

header h1.title {
	background-color: #fff;
}


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 center 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.title img {
	width: 100px;
	margin: 0 auto;
	padding: 21px 0;
	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: calc(100vh - 101px);
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
	padding-bottom: 60px;
	position: absolute;
	top: 0;
	left: 100%;
	width: 130%;
	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: 155%;
}

#gnav .multiColumns li{
	width: 50%;
	float: left;
}

#gnav .multiColumns li.columnClear {
	clear: both;
}

#gnav .nowrap {
	white-space: nowrap;
}

#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;
}
#gnav .multiColumns li.subtitle a{
	color: unset;
	padding: unset;
	text-decoration: unset;
}
#gnav .multiColumns li.subtitle a:hover{
	background: unset;
}

.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 15px;
/*	padding:10px 20px; */
	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 5px 5px 50px;
}

.gnav03 a {
	padding: 5px 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 #ccc;
	background:#FCFCFC;
}

.footer-container footer {
	padding: 20px 0 0 0;
}

.footerBox01{
	padding:0 20px 20px;
}
/*20210909追加*/
.footer-container .columsTitle{
	font-size: 13px;
	color: #999;
  }



.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%;}
/*
/*21090910追加*/
.footer-container .footerBox01_01{width:20%;}
.footer-container .footerBox01_02{width:21%;}
.footer-container .footerBox01_03{width:20%;}
.footer-container .footerBox01_04{width:19%;}
.footer-container .footerBox01_06{width:20%;}



.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;
	/*20210910追加*/
	padding-top: 4px;
	background-position: 0 9px;
}

.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;
	/*20210910追加*/
	font-size: 13px;
}

.footer-container dd p {
	clear: both;
	margin: 0;
}

.footer-container dd .subtitle {
	margin-top: 10px;
}

.footer-container .colums li {
	float: left;
	width:128px;
	/*	width:95px; */
	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;
	position:relative;
}

.footerCopyRight{
	position: absolute;
	right: 10px;
	visibility:hidden;
}

.fcBR{
	display:none;
}

/* ---------------------------------------------------------
    その他
   ---------------------------------------------------------*/

.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: 430px;
}

#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;
}



/* ---------------------------------------------------------
    ダミー用
   ---------------------------------------------------------*/

.dummy{
	background:#FF00FF
}

p.dummytext,
span.dummymap{
	color:#FF00FF;
	font-weight:bold;
}




/* ==========================================================================
    Media Queries
   ========================================================================== */

/* 高さに応じて変更 */
@media screen and (max-height: 680px) {

	#gnav a{
		padding: 8px 35px;
	}

	#gnav .subnav li a{
		padding: 8px 20px 8px 30px;
	}

}


@media screen and (max-height: 570px) {

	.gnav02 {
		display: none;
	}

	#gnav .multiColumns .subnav {
		width: 200%;
	}

}


@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: auto;
		height: auto;
		padding: 17px 0 0 15px;
	}

	header h1.title img {
		padding: 12px 0 0 15px;
		width: 55px;
		margin-left: 0;
	}

	header h1 .headerTitle01 {
		display: none;
	}

	header h1 .headerTitle02 {
		display: block;
	}

	#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: 200px;
		background:none;
	}

	.copy{
		display:none;
	}

	.mainInner{
		width:90%;
		margin:0 auto;
	}

	.footerCopyRight{
		visibility:visible;
	}

}


@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: 767px) {
	/*20210910追加*/
	.for_sp{
		display: none;
	  }


	.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;
	}

	/*20210910追加*/
	.footer-container .footerBox01_06{
		width:100%;
	}

	.footer-container .footerBox01_06 dt{
		border-bottom: 1px solid #ccc;
		background-position: 5%;
		padding:0;
	}

	.footer-container .footerBox01_06 dt a{
		width:100%;
	}

	.footer-container .footerBox01_06 dt p{
		padding:11px 0 8px 10%;
		vertical-align:middle;
	}

	.footerLogo{
		text-align:center;
		padding: 10px;
		border-top: 0;
	}

	.footerCopyRight{
		display: block;
		position: initial;
	}

	.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;
	}

	.fcBR{
		display:block;
	}


}
