@charset "utf-8";

/* ==============================================================
/*     RESET
/* ============================================================== */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, address, em, img, small, strong, b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input, select{
  vertical-align: middle;
}

/* ==============================================================
/*     Frame  
/* ============================================================== */
.inner, #contents{
	width: 940px;
    margin: 0 auto
}
#contents{
	clear: both;
	margin-bottom: 60px;
}
#mCol{
	float: left;
	width: 700px;
}
.contents-wide #mCol{
  width: 100%;
}
#sCol{
	float: right;
	width: 220px;
}

/* ==============================================================
/*     HEADER
/* ============================================================== */
header{
	padding-top: 71px;
	background: #fff url(../img/common/header_bg.gif) repeat-x;
}
header .inner{
	position: relative;
}
header p{
	position: absolute;
	top: -67px;
	color: #fff;
	font-size: 15px;
}
header h1, header #logo{
	float: left;
	width: 160px;
	margin: 14px 0 20px;
}
header.fixed:not(.noFixed){
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  padding: 0;
  border-top: 3px solid #e60012;
  border-bottom: 1px solid #ddd;
  background: #fff;
  z-index: 999;
}
header.fixed:not(.noFixed) .headSns{ opacity: 0}
header.fixed:not(.noFixed) h1, header.fixed #logo{
  margin: 17px 0;
}

#gnav{
	float: right;
	width: 730px;
	margin-top: 35px;
}
#gnav li{
	float: left;
	margin: 0 34px 0 0;
	text-indent: -9999px
}
#gnav li#gn5{ margin-right: 0}
#gnav li a{
	display: block;
	width: 112px;
  padding-bottom: 25px;
	background: url(../img/common/bg_gnav.png) no-repeat
}
#gnav li#gn2 a{ background-position: -129px 0; width: 163px}
#gnav li#gn4 a{ background-position: -468px 0; width: 177px}

#gnav li#gn3{
  margin: -20px 0 0;
  text-indent: 0;
  font-size: 1.1rem;
  font-weight: bold;
}
#gnav li#gn3 a {
  width: 170px;
  padding: 15px 0;
  background: #e60012;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  text-decoration: none;
}

#hnav{
	position: absolute;
	top: -64px;
	right: 365px;
}
#hnav li, #hnav2 li{
	display: inline;
	margin-left: 12px;
	padding-left: 10px;
	background: url(../img/common/bg_parts.png) no-repeat 0 -46px;
	font-size: 11px;
}

#hnav li a, #hnav li a:visited{
	color: #fff;
	text-decoration: none
}
#hnav li a:hover, #hnav li a:active,
#hnav2 li a:hover, #hnav2 li a:active{
	text-decoration: underline
}

#hnav2{
	position: absolute;
	top: -23px;
	right: 152px;
}
#hnav2 li{
	background: url(../img/common/bg_parts.png) no-repeat 0 -96px;
}

#hnav2 li a, #hnav2 li a:visited{
	color: #444;
	text-decoration: none
}

.nav, .nav ul { 
	list-style: none;
	margin: 0;
	padding: 0;
}
.nav {
  z-index: 100;
  position: relative;
}
.nav li {
	float: left;
	margin: 0;
	padding: 0;
}
.gn-inner{
  display: flex;
  position: absolute;
  top: -999em;
  left: -210px;
  width: 920px;
  padding: 15px 10px 10px;
  background: #eee;
}
.gn-inner::after{
  content: "";
  position: absolute;
  top: -15px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 15px 10px;
  border-color: transparent transparent #eee transparent;
}
#gn1 .gn-inner::after{ left: 260px}
#gn2 .gn-inner::after{ left: 330px}
#gn4 .gn-inner::after{ left: 630px}
#gnav li:hover .gn-inner,
#gnav li.sfHover .gn-inner{
  top: 45px;
}
.gn-inner ul{
  width: calc(33.3333% - 10px);
  margin: 0 5px;
}

#gn2 .gn-inner ul{
  width: calc(50% - 10px);
}
#gn2 .gn-inner{
  left: -110px;
  width: 700px;
}

#gnav ul li{
  margin: 0 0 5px;
	border: 0;
	float: none;
	text-indent: 0;
	font-size: 12px;
  line-height: 1.5;
}
#gnav li ul a, #gnav li#gn2 ul a,
#gnav li#gn3 ul a, #gnav li#gn4 ul a, #gnav li#gn5 ul a, #gnav .navP{
  display: inline-block;
	width: auto;
	padding: 0 0 0 15px;
	background: transparent url(../img/common/bg_parts.png) no-repeat 5px 5px;
	color: #333;
  text-decoration: none;
}
#gnav li ul .navS a, #gnav li#gn3 ul .navS a{
	background-image: none;
}
#gnav li ul .navS a:before{
	content: "－ ";
	color: #999;
}

#gnav li ul a:hover, #gnav li#gn2 ul a:hover,
#gnav li#gn3 ul a:hover, #gnav li#gn4 ul a:hover, #gnav li#gn5 ul a:hover{
	color: #999
}
.headSns{
  position: absolute;
  top: -27px;
  right: 0;
}
.headSns li{
  display: inline-block;
  margin-left: 4px;
}

/* font size switcher
-----------------------------------*/
.innerFS{
	position: relative;
	width: 940px;
  margin: 0 auto
}
#fontSize{
	position: absolute;
	top: 8px;
	right: 205px;
}
#fontSize li{
	float: left;
	margin-right: 3px;
	font-size: 11px;
	color: #fff;
	line-height: 20px
}
#fontSize li img{
	vertical-align: middle
}

/* Search
-----------------------------------*/
#___gcse_0{
	position: absolute;
	width: 185px;
	top: -67px;
	right: 0;
	background: #e60012;
}
#___gcse_0 .cse .gsc-control-cse{
	padding: 0
}
#___gcse_0 table.gsc-search-box{
	width: 190px;
}
#___gcse_0 .gsib_a{
	padding: 0 5px
}
#___gcse_0 .gsib_a input{ font-size: 13px}
#___gcse_0 form.gsc-search-box, #___gcse_0 table.gsc-search-box{
	margin: 0
}
#___gcse_0 .gsc-search-button input{
	padding: 5px 10px;
	display: block;
}
#___gcse_0 .gsc-search-box-tools .gsc-search-box .gsc-input{
	padding: 0
}
#___gcse_0 .gsc-search-button-v2{
  padding: 6px 10px;
}

/* Search result
-----------------------------------*/
#mCol #___gcse_1 table{
	border: none
}
#mCol #___gcse_1 th, #mCol #___gcse_1 td{
	padding: 5px 0;
	border: none;
}
#mCol #___gcse_1 .gsc-above-wrapper-area th,
#mCol #___gcse_1 .gsc-above-wrapper-area td,
#mCol #___gcse_1 .gsc-above-wrapper-area td .gsc-result-info,
#mCol #___gcse_1 .gcsc-branding,
#mCol #___gcse_1 .gsc-resultsHeader th,
#mCol #___gcse_1 .gsc-resultsHeader td{
	padding: 0;
}
#mCol #___gcse_1 .cse .gsc-control-cse, #mCol #___gcse_1 .gsc-control-cse{
	padding: 0
}
#mCol #___gcse_1 .gsc-table-result, #mCol #___gcse_1 .gsc-thumbnail-inside, #mCol #___gcse_1  .gsc-url-top{
	padding: 0
}
#mCol #___gcse_1 .gsc-control-cse .gs-spelling, #mCol #___gcse_1 .gsc-control-cse .gs-result .gs-title, #mCol #___gcse_1 .gsc-control-cse .gs-result .gs-title *{
	font-weight: bold;
	font-size: 1.1em;
}
#mCol #___gcse_1 .gsc-result .gs-title{
	height: auto;
	padding: 3px 0 5px
}
#mCol #___gcse_1 .gs-bidi-start-align, #mCol #___gcse_1 .gs-snippet{
    font-size: 1.1em;
    line-height: 1.5;
}
#mCol #___gcse_1 .gs-visibleUrl{
	font-size: 1em
}
#mCol #___gcse_1 .gsc-results .gsc-cursor-box .gsc-cursor-page{
	padding: 3px 8px;
	border: 1px solid #ccc;
}
#mCol #___gcse_1 .gsc-results .gsc-cursor-box .gsc-cursor-page.gsc-cursor-current-page{
	color: #fff;
	background: #0C92D5;
	border-color: #0C92D5
}
#mCol #___gcse_1 .gsc-results .gsc-cursor-box{
	margin: 30px 0 20px
}

/* ==============================================================
/*     CONTENTS
/* ============================================================== */

.headImg{
  clear: both;
  background: #f6f6f6;
  text-align: center;
  margin-bottom: 20px;
}
#pNav{ margin-bottom: 20px}
#pNav li{
	display: inline;
	font-size: 12px;
	margin-right: 8px;
}
#pNav li a{
	padding-right: 18px; 
	color: #444;
	background: #fff url(../img/common/bg_parts.png) no-repeat 100% -145px;
}

/* sCol
---------------------------------*/
#sCol h3{
	width: 200px;
	height: 30px;
	padding: 10px 5px 0 15px;
	background: #e60012;
	border-radius: 5px 5px 0 0;
	color: #fff;
	font-size: 16px;
}
#sNav{
	margin-bottom: 20px;
	padding: 5px;
	background: #f3f3f3;
}
#sNav li{
	border-bottom: 1px dotted #ccc;
	font-size: 13px;
	line-height: 1.2
}
#sNav li:last-child{ border-bottom: none}
#sNav li a, #sNav li span{
	display: block;
	padding: 12px 10px 12px 20px;
	background: #fff url(../img/common/bg_parts.png) no-repeat 10px 15px;
	color: #444;
	text-decoration: none;
	cursor: pointer
}
#sNav li a.active, #sNav li a:hover, #sNav li span:hover{ background-color: #e6f4fb}

#sNav li ul{ border-top: 1px dotted #ccc}
#sNav li li a{
	padding: 10px 10px 10px 40px;
	background-image: none;
	text-indent: -1.5em
}
#sNav li li a:before{
	content: "－ ";
	color: #999;
}

.sBox{
	margin-bottom: 20px;
	padding: 5px;
	background: #f3f3f3;
}
.sBox select{
    padding: 10px;
    width: 100%;
    border-color: #ddd;
    box-sizing: border-box;
}

#imgNav li{
	font-weight: bold;
	margin-bottom: 10px
}
#imgNav li img{
	float: left;
	margin-right: 10px;
}
#imgNav li span{
	display: block;
}
#imgNav li .sTxt{
	padding-top: 0;
	font-size: 11px;
}
#imgNav li .arrow{
	margin-top: 3px;
	padding-left: 74px;
	border-top:1px dotted #fff;
	background: url(../img/common/bg_parts.png) no-repeat 67px -45px;
}
#imgNav a, #imgNav a:visited{
  display: flex;
  align-items: center;
	color: #444;
	text-decoration: none
}
#imgNav a:hover, #imgNav a:active{
  opacity: 0.7;
}
#imgNav .sp a, #imgNav .sp a:visited,
#imgNav a .sp, #imgNav a:visited .sp{ color: #d00010}
#imgNav .sp a:hover, #imgNav .sp a:active,
#imgNav a:hover .sp, #imgNav a:active .sp{ color: #e77f87}

/* 右バナーに色を付けるとき*/
#imgNav .bgBlue{
	height: 70px;
	line-height: 1.2 !important;
}
#imgNav .bgBlue img{ margin-right: 7px}
#imgNav .bgBlue a, #imgNav .bgBlue a:visited{ display: block; background: #0c92d5; color: #fff}
#imgNav .bgBlue a:hover, #imgNav .bgBlue a:active{ background: #55b3e2}

#imgNav .bgRed a, #imgNav .bgRed a:visited{ display: block; background: #e60012; color: #fff}
#imgNav .bgRed a:hover, #imgNav .bgRed a:active{ opacity: 0.8}

#imgNav li.line1 span{ padding-top: 18px}
#imgNav li.line3 span{ padding-top: 3px}
#imgNav li.sTxt span{ font-size: 13px}
#imgNav li.line3 span.pt0{	padding-top: 0}
#imgNav li.line3 span span{ line-height: 1.2}

/* バナー上に吹き出し */
#imgNav .bln{
	height:auto;
	margin-bottom:5px;
	padding-bottom: 5px;
	text-align:center;
	color:#fff;
	background:url(../img/common/bg_parts.png) -595px -233px no-repeat #fff
}
#imgNav .bln span{
	display:block;
	background:#e60012;
	padding:2px 0;
	font-size:12px
}

.fb-page{ margin-bottom: 10px}
.bnNav li{ margin-bottom: 10px}
.bnNav li a:hover, .bnNav li a:active, .btnLists li a:hover{
	opacity: 0.8
}

/* ==============================================================
/*     FOOTER
/* ============================================================== */
footer{
	padding: 40px 0 0;
	background: #666 url(../img/common/footer_bg.gif) repeat-x
}
footer p, footer a, footer a:hover, footer address{
	color: #ccc;
}
footer .inner{ position: relative}
#toTop{
	position: absolute;
	top: -75px;
	right: 0
}
.fNav{
	float: left;
	width: 200px;
	margin-right: 15px;
}
.fNav.fnav3{ width: 300px}
.fNav.fnav4{ width: 220px}
.fNav.fnav5{ width: 140px; margin-right: 0}

.fNav h4{
	margin-bottom: 15px;
	font-size: 16px;
}

.fNav h4 a, .fNav h4 a:visited{
	text-decoration: none;
	color: #fff
}
.fNav h4 a:hover{
	text-decoration: underline;
}
.fNav ul{ margin-bottom: 20px}
.fNav li{
	margin-bottom: 8px;
	font-size: 11px;
	color: #ccc
}
.fNav li.navS{
	padding-left: 1em
}
.fNav li a, .fNav li a:visited,
#fNavL li a, #fNavL li a:visited,
#fAddress p a, #fAddress p a:visited,
address a, address a:visited{ color: #ccc}
.fNav li a:hover, .fNav li a:active,
#fNavL li a:hover, #fNavL li a:active,
#fAddress p a:hover, #fAddress p a:active,
address a:hover, address a:active{ color: #999}

#fAddress{
	margin-bottom: 20px;
	padding: 25px 0;
	border-top: 2px groove #999;
	border-bottom: 2px groove #999
}
#fAddress .inner{
	width: 802px;
	height: 60px;
	padding-left: 138px;
	background: url(../img/common/footer_img_logo.gif) no-repeat;
}
#fAddress h4{
	float: left;
	margin: 0 20px 3px 0;
	font-size: 16px;
	color: #fff
}
#fAddress address{
	clear: both;
	line-height: 1.3
}

#fNavL ul{
	float: left;
}
#fNavL li, #fAddress p a, address a{
	display: inline;
	margin-right: 15px;
	padding-left: 12px;
	background: url(../img/common/bg_parts.png) no-repeat 0 -45px;
	font-size: 12px;
}
#fNavL p{
	text-align: right;
	font-size: 12px
}
#svSupport{
	margin-top: 20px;
	padding: 12px 0;
	background: #d00010;
	color: #fff;
	font-size: 12px
}
#svSupport span{
	display: block;
	width: 940px;
	margin: 0 auto;
	text-align: right
}

/* ==============================================================
/*     BASE
/* ============================================================== */

body{
	background: #fff;
	color: #444;
    font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
    line-height: 1;
    word-wrap: break-word;
}
h1{ font-size: 24px}
h2{ font-size: 20px}
h3{ font-size: 16px}
h4{ font-size: 13px}
h1,h2,h3,h4,h5,h6,strong{ font-weight:bold; line-height: 1.4}

em{
	font-weight: bold;
    font-style: normal;
}
ol li{
	list-style: decimal outside;	
}
ul li{
	list-style: none;
}
th, td{
	/*border:1px solid #ccc;
	padding:.5em;*/
}
caption{
	margin-bottom:.5em;
	text-align:center;
}
p, li, th, td, dt, dd, address, .infoBody div{
	font-size: 14px;
  line-height: 1.8;
}

/* link
---------------------------------*/
img{
	vertical-align: middle;
}

a{ /* \*/ overflow:hidden; /* */}
a, a:visited{
	color: #0c92d5;
	transition: all 0.2s ease-in-out;
  word-wrap: break-word;
}
a:hover, a:active{
	color: #68b7de;
	transition: all 0.1s ease-in-out;
}

/* clearfix
---------------------------------*/
.bloc::after, #contents::after, #mCol dl::after,
.liLTxtBg::after, #liPgms li::after, .flexslider ol::after,
.tab::after, .tab2::after, .tab-3btn::after, .area::after, .area2::after,
ul::after, ol::after, div::after{
    content: "";
    clear: both;
    display: table;
}
