@charset "utf-8";


#hOverlay{
	display:none;
	position: fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	width: 100%;
	background:rgba(0,0,0,0.5);
	z-index:1000;
}

/*==header==*/
header{
	position:relative;
}
#header{
	position:relative;
  background-color:#31496b;
	z-index:1001;
}
#header #hInner{
  width:980px;
  margin-right:auto;
  margin-left:auto;
  text-align:left;
  position:relative;
}
/*==clearfix==*/
#header #hInner:after{content:""; display:block; clear:both;}

/*hLgo*/
#header #hLogo{
	position:relative;
  width:320px;
  padding-top:25px;
  float:left;
	z-index:1002;
}
#header #hLogo a{display:block;}

#header #hLogo #hLogoPc{
}
#header #hLogo #hLogoSp{
  display:none;
}

/*userStatus*/
#header #userStatus{
  background-color:#fff;
	border-bottom-right-radius        :3px;
	-webkit-border-bottom-right-radius:3px;
	-moz-border-radius-bottomright    :3px;

	border-bottom-left-radius         :3px;
	-webkit-border-bottom-left-radius :3px;
	-moz-border-radius-bottomleft     :3px;
  
	box-shadow:1px 1px 0px 0px rgba(0,0,0,0.3);
  position:absolute;
  top:0;
  right:0;
}
/*==clearfix==*/
#header #userStatus:after{content:""; display:block; clear:both;}

#header #userStatus ul{
  clear:both;
  float:right;
}
/*==clearfix==*/
#header #userStatus ul:after{content:""; display:block; clear:both;}

#header #userStatus li{
	box-sizing					:border-box;
	-webkit-box-sizing	:border-box;
	-moz-box-sizing			:border-box;
	-ms-box-sizing			:border-box;
  font-size:92.86%;
  line-height:1.2;
  text-align:center;
  display:table;
  float:right;
}
#header #userStatus li a,
#header #userStatus li span{
  padding:8px 1em;
  font-weight:bold;
  display:table-cell;
  vertical-align:middle;
  word-break:break-all;
  word-wrap: break-word;
}

/*ログイン*/
#header #userStatus ul#usLi{
  width:270px;
}
#header #userStatus ul#usLi li{
  width:50%;
}
#header #userStatus li#usLogin a{
  background-color:#333;
  
	border-bottom-right-radius        :3px;
	-webkit-border-bottom-right-radius:3px;
	-moz-border-radius-bottomright    :3px;
  
  color:#fff;
}
#header #userStatus li#usApp a{
  background-color:#fff;

	border-bottom-left-radius         :3px;
	-webkit-border-bottom-left-radius :3px;
	-moz-border-radius-bottomleft     :3px;
  
  color:#333;
}

/*ログアウト*/
#header #userStatus ul#usLo{
  width:580px;
}
#header #userStatus ul#usLo{
}
#header #userStatus li#usLogout{
  width:23.18%;
}
#header #userStatus li#usLogout a{
  background-color:#333;
  
	border-bottom-right-radius        :3px;
	-webkit-border-bottom-right-radius:3px;
	-moz-border-radius-bottomright    :3px;
  
  color:#fff;
}
#header #userStatus li#usInfo{
  width:31.82%;
  border-right:1px solid #4e4e4e;
}
#header #userStatus li#usInfo a{
  background-color:#333;
  color:#fff;
}
#header #userStatus li#usPnt{
  width:45%;
}
#header #userStatus li#usPnt a,
#header #userStatus li#usPnt span{
  background-color:#fff;

	border-bottom-left-radius         :3px;
	-webkit-border-bottom-left-radius :3px;
	-moz-border-radius-bottomleft     :3px;
  
  color:#333;
}

#nav #hNav{
	position:absolute;
  top:0;
	right:0;
	left:0;
	z-index:1;
	margin:0 auto;
	width: 980px;
}
#nav #hNav ul{
  position:absolute;
	top: -35px;
	right:0;
	float:right;
}
#nav #hNav li{
	margin-top: 3px;
}
#nav #hNav li:after{
	content:"　｜　";
}
#nav #hNav li.vln{
	margin-right: 3em;	
}
#nav #hNav li.vln:after{
	content: normal;
}
#nav #hNav li.arw:after{
	content:normal;
}

#nav #hNavClose{
	display:none;
}

/*==clearfix==*/
#hNav:after{content:""; display:block; clear:both;}

#hNav li{
  color:#999;
  font-size:92%;
  float:left;
}
#hNav li.arw{
  margin-right:35px;
  padding-left:14px;
  background:url(/images/header/h_arw.png) left center no-repeat;
  font-size:85.67#;
}
#hNav li:last-child,
#hNav li.arw:last-child{
	margin-right: 0;
}
#hNav li a{
  color:#fff;
}

#header #navCtr{
  display:none;
}

@media screen and (max-width:1280px){
}

@media screen and (max-width:1000px){
#header #hInner{
  width:100%;
  padding-bottom:0;
}
#header #hLogo{
}

#hNav{
  margin-top:45px;
  width:65%;
}
}

@media screen and (max-width:768px){
#hOverlay{
	position: absolute;
	width: 100%;
}
#header #hLogo{
  width:56.25%;
  max-width:360px;
  padding-top:2.34375%;
  padding-left:3.91%;
}
#header #hLogo #hLogoPc{
  display:none;
}
#header #hLogo #hLogoSp{
  display:block;
}

#header #userStatus{
  width:100%;
	border-radius:0;
  clear:both;
  position:static;
  top:auto;
  right:auto;
}
#header #userStatus ul#usLi,
#header #userStatus ul#usLo{
  width:100%;
  background-color:#fff;
}
#header #userStatus li#usLogin a,
#header #userStatus li#usApp a,
#header #userStatus li#usLogout a,
#header #userStatus li#usInfo a,
#header #userStatus li#usPnt a,
#header #userStatus li#usPnt span{
  padding:1em;
	border-radius					:0;
	-moz-border-radius		:0;
	-webkit-border-radius	:0;
}

#header #navCtr{
  width:16.25%;
  max-width:104px;
  cursor:pointer;
  display:block;
  float:right;
}
#header #navCtr img{
  width:100%;
}
.open #header #navCtr{
  background-color:#fff;
}
.open{
	z-index:1001;
}
}

@media screen and (max-width:400px){
#header #navCtr{
}
}


/*==nav==*/
#nav{
	position:relative;
  background-color:#31496b;
	z-index:1001;
}
#nav > ul{
  width:980px;
  margin-right:auto;
  margin-left:auto;
}
/*==clearfix==*/
#nav ul:after{content:""; display:block; clear:both;}

#nav > ul > li{
  font-size:114.29%;
  letter-spacing:0.05em;
  text-align:center;
  float:left;
}
#nav > ul > li.pcLink{display:block;}
#nav > ul > li.spLink{display:none;}

#nav > ul > li#navTop     {width:17.68%;}
#nav > ul > li#navSearch  {width:18.51%;}
#nav > ul > li#navBland   {width:20.65%;}
#nav > ul > li#navSupport {width:24.90%;}
#nav > ul > li#navPoint   {width:18.26%;}

#nav > ul > li > a{
	position:relative;
  color:#fff;
  text-decoration:none;
  display:block;
	cursor:pointer;
}
#nav > ul > li > a.pcLink{}
#nav > ul > li > a.spLink{display:none;}
#nav > ul > li > a span{
	box-sizing:border-box;
  padding-top:19px;
  padding-bottom:14px;
  border-bottom:3px solid #31496b;
  display:block;
}
#nav > ul > li > a.ov span,
#nav > ul > li > a.op span{
  border-bottom:3px solid #ffffff;
}

#nav li#navTop a span{
  padding-right:2em;
  padding-left:2em;
}

#nav .mgMenu{
	display:none;
	position: absolute;
	left:0;
	width: 100%;
  text-align:left;
	background: rgba(255,255,255,0.85) top left;
	z-index:9000;
}

#navSearch .mgMenu .tile li li a:before,
#navSearch .usArea a:before,
#navPoint .usInfo a:before{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	width: 5px;
	background: url(../images/header/h_arw_02.png) left center no-repeat;
	background-size:contain;
}

#nav .mgMenu .inner{
	position:relative;
	max-width: 980px;
	margin:0 auto;
	padding:2% 4%;
}
#nav .mgMenu .tile:after{
	content:"";
	display:block;
	clear:both;
}
#nav .mgMenu .ttl{
	position:relative;
	margin-bottom: 1%;
	font-size: 1.5rem;
	text-align:left;
}
#nav .mgMenu .ttl a{
	position:relative;
	display:inline-block;
	background-size:5px;
	border-radius: 5px;
	margin:0 0 2px 1em;
	padding:0.5em 1em 0.5em 25px;
	font-size: 0.875rem;
	vertical-align:middle;
  /*
	background:#31496b;
	box-shadow:1px 1px 0px 0px rgba(0,0,0,0.25);
	color:#FFF;
  */
}
#nav .mgMenu .ttl a:before{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left: 10px;
	width: 5px;
	background: url(../images/header/h_arw_02.png) left center no-repeat;
	background-size:contain;
}

#navSearch .mgMenu .tile{
	width: 100%;
	overflow:hidden;
}
#navSearch .mgMenu .tile ul{
	width: 100.8%;
}
#navSearch .mgMenu .tile li{
	box-sizing:border-box;
	float:left;
	width: 135px;
	margin:3px;
	padding:1em;
	/* font-size: 0.875rem; */
  font-size:0.75rem;
	font-weight: bold;
	white-space:nowrap;
	background:#FFF;
}
#navSearch .mgMenu .tile li.listNon{
  display:none;
}
#navSearch .mgMenu .tile li ul{
	/* min-height:10em; */
}
#navSearch .mgMenu .tile li.hokkaido{
	position:absolute;
}
#navSearch .mgMenu .tile li.tohoku{
	margin-top: 4em;
}
#navSearch .mgMenu .tile li.tohoku ul{
	min-height:6em;
	padding-bottom: 3px;
}
#navSearch .mgMenu .tile li a{
	position:relative;
	/* color:#333; */
}
#navSearch .mgMenu .tile li li{
	float: none;
	width: auto;
	margin:0.3em 0 0 0;
	padding:0;
	font-size: 0.875rem;
	font-weight: normal;
	background: none;
}
#navSearch .mgMenu .tile li li a{
	padding-left: 15px;
}
#navSearch .mgMenu .tile li li a:before{
	left: 0;
}
#navSearch .usArea{
	display:table;
	margin-top: 2%;
	font-size: 0.875rem;
}
#navSearch .usArea p,
#navSearch .usArea ul{
	display:table-cell;
	margin:0;
	padding:0 0.5em;
	vertical-align:middle;
}
#navSearch .usArea p{
	width: 26%;
  min-width:173px;
	border: 1px solid #333;
	text-align:center;
}
#navSearch .usArea li{
	float:left;
	margin:0.5em 2em;
}
#navSearch .usArea a{
	position:relative;
	color:#333;
	padding-left: 15px;
}
#navSearch .usArea a:before{
	left: 0;
}

#navBland .mgMenu .tile li a{
	position:relative;
	/* color:#333; */
	font-weight: bold;
}

#navBland .mgMenu .tile li a:before{
	left: 1em;
}
#navBland .mgMenu .tile li li a{
	font-weight: normal;
}
#navBland .mgMenu .tile{
	display:table;
	width: 100%;
	font-size: 0.875rem;
}
#navBland .mgMenu .tile .left{
	display:table-cell;
	/* min-width: 320px; */
	min-width: 408px;
	vertical-align:top;
	width: 1%;
}
#navBland .mgMenu .tile .left li{
  width:47.55%;
	background:#FFF;
  float:left;
}
#navBland .mgMenu .tile .left li.states{
  float:right;
}
#navBland .mgMenu .tile .left li a:before{
	content:normal;
	display:none;
}
#navBland .mgMenu .tile .left li span{
  height:4em;
	position:relative;
	/* display: block; */
  display:table-cell;
  vertical-align:middle;
	padding:1em 1em 1em 30px;
  padding:0 0.5em 0 25px;
	background:url(../images/header/h_arw_02.png) 1em center no-repeat;
	background-size:5px;
}
#navBland .mgMenu .tile .left li img{
	display:block;
	width: 100%;
}
#navBland .mgMenu .tile .right{
	display:table-cell;
	padding-left: 20px;
	/* max-width: 640px; */
	max-width: 552px;
	width: 99%;
	vertical-align:top;
}
#navBland .mgMenu .tile .right li{
	margin-top: 2%;
	background:#FFF;
}
#navBland .mgMenu .tile .right li:first-child{
	margin-top: 0;
}
#navBland .mgMenu .tile .right li a{
	display:block;
	padding:0.5em 0.5em 0.5em 30px;
	background:url(../images/header/h_arw_02.png) 15px center no-repeat;
	background-size:5px;
}
#navBland .mgMenu .tile .right li ul{
	border-top: 1px solid #d9d9d9;
	padding: 0.5em 1em;
}
#navBland .mgMenu .tile .right li li{
	float:left;
	width: 33%;
	margin-top: 0;
	padding:0.5em 0;
	background:none;
}
#navBland .mgMenu .tile .right li li a{
	display:inline-block;
	padding:0 1em 0 15px;
	background:url(../images/header/h_arw_02.png) left center no-repeat;
	background-size:5px;
}

#navSupport .tile{
	width: 100%;
	overflow:hidden;
}
#navSupport ul{
	width: 992px;
}
#navSupport ul:after{
	content:"";
	display:block;
	clear:both;
}
#navSupport li{
	float:left;
	width: 236px;
	margin:0 12px 12px 0;
	font-size: 0.875rem;
}
#navSupport li a{
	display:block;
	background:#FFF;
}
#navSupport li a span{
	position:relative;
	display: table-cell;
	vertical-align:middle;
	height:4em;
	padding: 0 0.5em 0 25px;
	font-weight: bold;
	line-height:1.4;
	background:url(../images/header/h_arw_02.png) 1em center no-repeat;
	background-size:5px;
}
#navSupport li:nth-of-type(1) a span,
#navSupport li:nth-of-type(2) a span,
#navSupport li:nth-of-type(3) a span,
#navSupport li:nth-of-type(4) a span{
	height:3em;
}
#navSupport li img{
	width: 100%;
}


#navPoint .tile:after{
	content:"";
	display:block;
	clear:both;
}
#navPoint li{
	font-size: 0.875rem;
	background:#FFF;
}
#navPoint li a span,
#navPoint .usInfo a{
	position:relative;
	padding: 0 0 0 25px;
}
#navPoint li a span:before,
#navPoint .usInfo a:before{
	left: 1em;
}
#navPoint li a{
	display:block;
}
#navPoint li a span{
	display:table-cell;
	height:4em;
	padding:0 1em 0 25px;
	line-height:1.4;
	font-weight: bold;
	vertical-align:middle;
	background:url(../images/header/h_arw_02.png) 1em center no-repeat;
	background-size:5px;
}
#navPoint .tile{
	display:table;
	width: 100%;
}
#navPoint .left{
	display:table-cell;
	min-width: 428px;
	width: 1%;
	vertical-align:top;
}
#navPoint .left li{
	float:left;
	width: 194px;
	margin-right:20px;
}
#navPoint .left img{
	display:block;
}
#navPoint .right{
	display:table-cell;
	width: 99%;
	vertical-align:top;
}
#navPoint .right > ul > li{
	float:left;
	width: 48.5%;
	margin-bottom: 3%;
}
#navPoint .right > ul > li:nth-of-type(even){
	float:right;
}
#navPoint .right > ul > li.usInfo{
	clear:both;
	float:none !important;
	width: 100%;
}
#navPoint .right .usInfo span{
	display:table-cell;
	vertical-align:middle;
	height:3.5em;
	padding-left: 18px;
	font-weight: bold;
}
#navPoint .right .usInfo ul{
	border-top: 1px solid #d9d9d9;
	padding:1em 0;
}
#navPoint .right .usInfo li{
	float:left;
	width: auto;
	margin:0;
	padding:0.5em 0.75em;
}

@media screen and (max-width:1280px){

#navSupport ul {
  width: 100%;
}
#navSupport li {
    width: 24%;
    margin: 0 0.5% 12px 0.5%;
}
}

@media screen and (max-width:1000px){
#nav > ul{
  width:100%;
}
#navBland .mgMenu .tile .right li li {
  width: 48%;
}
#navSupport li br{
	display:none;
}
#navPoint .right > ul > li {
  width: 100%;
}
#nav #hNav{
	width: 100%;
}
#nav #hNav ul{
	padding:0 20px 0 330px;
}
}
@media screen and (min-width:769px){
	#nav #navSearch .mgMenu .tile li div{
		display:block !important;
		height:auto !important;
	}
	#navSearch .usArea p,
	#navSearch .usArea div{
		display: table-cell !important;
	}
	#nav{
		display:block !important;
	}
}
@media screen and (max-width:768px){
	#nav{
		display:none;
	}
	#nav > ul > li{
		text-align:left;
	}
	#nav > ul > li.pcLink{display:none;}
	#nav > ul > li.spLink{display:block;}
  
	#nav > ul > li#navSearch,
	#nav > ul > li#navBland,
	#nav > ul > li#navSupport,
	#nav > ul > li#navPoint {
		width: 100%;
		border-bottom: 1px solid #FFF;
		background:#31496b;
	}
	
	#nav > ul > li > a{
		padding-left: 6%;
		font-size: 1.2rem;
		font-weight: bold;
	}
	#nav > ul > li#navSearch > a{
		padding-left: 38px;
	}
	#nav > ul > li#navSearch > a:after{
		content:"";
		display:block;
		position:absolute;
		top:0;
		bottom:0;
		left:15px;
		width: 17px;
		background:url(../images/header/h_icon_search.png) left center no-repeat;
		background-size:contain;
	}
	#nav > ul > li#navBland a:after,
	#nav > ul > li#navSupport a:after,
	#nav > ul > li#navPoint a:after{
		content:"";
		display:block;
		position:absolute;
		top:0;
		bottom:0;
		right:6%;
		width: 7px;
		background:url(../images/header/h_arw_03.png) left center no-repeat;
		background-size:contain;
	}
	#nav > ul > li > a span{
		height:auto !important;
	}
	#nav > ul > li > a.op span {
    border-bottom: none !important;
	}
	#nav #navSearch .mgMenu{
		display:block !important;
		position:relative;
		width: 100%;
		padding:0;
		background:#FFF;
	}
	#nav #navSearch .mgMenu .inner{
		padding:0;
	}
	#nav #navSearch .mgMenu .tile li {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
		text-align:left;
	}
	#nav #navSearch .mgMenu .tile > ul > li{
		border-bottom: 1px solid #dcdcdc;
		background:#EEE;
	}
	#nav #navSearch .mgMenu .tile > ul > li > span{
		position:relative;
		display:block;
		padding:0.75em 50px 0.75em 25px;
		font-size: 1.1rem;
	}
	#nav #navSearch .mgMenu .tile > ul > li > span:after{
		content:"";
		display:block;
		position:absolute;
		top:0;
		bottom:0;
		right:6%;
		width: 22px;
		background:url(../images/header/h_icon_plus.png) left center no-repeat;
		background-size: contain;
	}
	#nav #navSearch .mgMenu .tile > ul > li > span.op:after{
		background:url(../images/header/h_icon_minus.png) left center no-repeat;
		background-size: contain;
  }
	#nav #navSearch .mgMenu .tile > ul > li.listNon{
    display:none;
	}
	#nav #navSearch .mgMenu .tile li div{
		display:none;
	}
	#nav #navSearch .mgMenu .ttl{
		display:none;
	}
	#nav #navSearch .mgMenu .tile ul {
    width: 100%;
}
	#nav #navSearch .mgMenu .tile li.hokkaido {
		position: static;
	}
	#nav #navSearch .mgMenu .tile li.hokkaido a{
		display:block;
    padding: 0.75em 50px 0.75em 25px;
    font-size: 1.1rem;
	}
	#nav #navSearch .mgMenu .tile li.hokkaido > span:after{
		content: normal;
	}
	#nav #navSearch .mgMenu .tile li ul {
		box-sizing:border-box;
    min-height: 0 !important;
		height:auto !important;
		padding:0.5em;
		background:#dcdcdc;
	}
	#nav #navSearch .mgMenu .tile li li{
		width: 50%;
		float:left;
		text-align:center;
	}
	#nav #navSearch .mgMenu .tile li li a{
		display:inline-block;
    font-size:1rem;
		padding-top: 0.25em;
		padding:0.25em 15px 0.25em 15px;
  box-sizing:border-box;
	}
	
	
	#nav #navBland .mgMenu,
	#nav #navSupport .mgMenu,
	#nav #navPoint .mgMenu{
		display:none !important;
	}
	#navSearch .usArea {
    display: block;
    margin-top: 0;
    font-size: 1.2rem;
	}
	#navSearch .usArea p{
    display: block;
		box-sizing:border-box;
		position:relative;
		width: 100%;
		border: none;
		padding:0.75em 50px 0.75em 25px;
		font-size: 1.1rem;
		font-weight: bold;
		text-align:left;
		background:#EEE;
	}
	#navSearch .usArea div{
		display:none;
		padding:0;
	}
	#navSearch .usArea p:after{
		content:"";
		display:block;
		position:absolute;
		top:0;
		bottom:0;
		right:6%;
		width: 22px;
		background:url(../images/header/h_icon_plus.png) left center no-repeat;
		background-size: contain;
	}
	#navSearch .usArea p.op:after{
		background-image:url(../images/header/h_icon_minus.png);
	}
	#navSearch .usArea div{
		background:#dcdcdc;
	}
	#navSearch .usArea ul{
    padding: 0.5em 0;
    display:block;
	}
	#navSearch .usArea li{
		width: 50%;
		margin:0;
		text-align:center;
	}
	#navSearch .usArea li a{
		display:inline-block;
		padding:0.25em 15px 0.25em 15px;
		/* font-size: 0.875rem; */
    font-size:1rem;
	}
	#navTop{
		display:none;
	}
	#nav #hNav {
    position: static;
		background:#FFF;
	}
	#nav #hNav ul {
    position: static;
		padding:0;
		float:none;
	}
	#nav #hNav li{
		float:none;
		margin: 0;
		border-bottom: 1px solid #dfdfdf;
		text-align:left;
	}
	#nav #hNav li.vln,
	#nav #hNav li.arw{
		margin: 0;
		padding:0;
	}
	#nav #hNav li:after{
		content: normal;
	}
	#nav #hNav li a{
		display:block;
		position:relative;
		padding:0.75em 25px;
		font-size: 0.875rem;
		color:#333;
	}
	#nav #hNav li a:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 5px;
		right: 6%;
    background: url(../images/header/h_arw_02.png) left center no-repeat;
    background-size: contain;
	}
	#nav #hNavClose{
		display:block;
		background:#FFF;
	}
	#nav #hNavClose p{
		width: 43.5%;
		margin:0 auto;
		padding:6% 0;
	}
	#nav #hNavClose p span{
		display:block;
		border-radius: 5px;
		padding:0.75em 0;
		font-size: 1rem;
		color:#FFF;
		background:#333;
	}
}


/*==navSp==*/
#navSp{
}
#navSp ul{
  display:none;
}

@media screen and (max-width:768px){
#navSp{
  position:relative;
}
#navSp ul{
  width:100%;
  background-color:#0073cc;
  text-align:left;
  position:absolute;
  top:0;
  left:0;
  z-index:10000;
}
#navSp ul li{
}
#navSp ul li a{
  padding:10px;
  border-bottom:1px solid #c2e5f9;
  color:#fff;
  text-decoration:none;
  display:block;
}
}