@charset "UTF-8";

/* -----------------------------------------------
 共通スタイル
------------------------------------------------*/
*{
	margin:0;
	padding:0;
}
html{
	font-size:62.5%;/*10px*/
}
html, body{
	margin:0;
	padding:0;
	width:100%;
	height:100%;
}
html {
	height: 100%;
	font-size: 100%;
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 100%;
	color: rgb(62,58,57);;
	background-color:#fff;
	line-height: 160%;
	height: 100%;
}
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, th, td, ul {
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}
article, aside, footer, header, nav, section {
	display: block;
}
main {
	display: block;/*IE対策*/
}
a:hover, a:active {
	outline: 0;
}
b, strong {
	font-weight: bold;
}
ul, ol {
	margin: 0;
	padding: 0;
}
li {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	border: 0;
}



#container {
	width: 100%;
	position: relative;
	min-height: 100%;
	overflow: hidden;
}

section{
	margin-bottom:40px;
	
}
section:after{
    clear:both;
    content:'';
    display:block;
}

.resizeimage img{ width: 100%; height: auto;}

#header{
	width:100%;
	height: auto;
	margin:0 auto;
	padding: 0;	
}


.wrap{
	margin: 0 auto;
}



/*-----------------------------------------------------------
 ページ内リンク
-----------------------------------------------------------*/
#pagenav{
	margin-top:20px;
	margin-bottom:40px;
}
#pagenav :after{
    clear:both;
    content:'';
    display:block;
}
#pagenav li{
	float:left;
	margin-right:3em;
	line-height:1.8;
	white-space:nowrap;
	/*background:url(../images/nav-icon04.png) no-repeat left center;*/
}
.active-page{
	font-weight:bold;
}
.menulist ul li.active-page:before,
.menulist2 ul li.active-page:before {
	color:#E90306;
}
/*-----------------------------------------------------------
 フッター
-----------------------------------------------------------*/
#footer{width:100%;
	margin: 2em 0 0em;

}


#footer .footer-box{
  width: 100%;
  max-width: 1160px;
margin: 0 auto;}

#footer .footer-box .footer-logo{
	float: right;
	width: 280px;
}
#footer .footer-box .footer-logo img{
	max-width: 100%;
}

#footer .footer-box .footer-nav{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  clear: both;
  border-top:1px solid rgba(54,53,53,1.00);
  text-align: center;
  padding: 0.5em 0;
  margin: 0.3em 0 ;
  font-size:85%;
}

#footer .footer-box .footer-nav li + li::before{
  display: inline-block;
  content: "｜";
  padding: 0 0.5em;
}

#footer .footer-box .footer-nav a{color:#222222;}

#copyright{
	width:100%;
	margin:0 auto;
	text-align:center;
	/*font-weight:bold;*/
	padding:0.5em 0;
	font-size:80%;
	color: #FFFFFF;
	background-color: rgba(229,0,45,1);
clear: both;}

/*-----------------------------------------------------------
 リストマーク
-----------------------------------------------------------*/
.menulist ul li:before, .menulist2 ul li:before  { /* liの前に記号追加 */
    content: "\f0da";
	font-family: FontAwesome;
	font-size:1em;
	display:block;
	float:left;
	color:rgb(62,58,57);;
	margin-right:4px;
}
.menulist a:hover{
	font-weight:bold;
	text-decoration:none;
}

.menulist ul{margin:1em 0 0 0.2em;}
.menulist ul li{float: left; line-height:1.8;margin-left: 1em;}


/*-----------------------------------------------------------
 ページトップ
-----------------------------------------------------------*/
.pageTop {
    position:relative;
    /*max-width:852px;
    margin:0 auto;*/
}
.pageTop a:link {
    position: fixed;
    bottom:20px;
    right:20px;
    display: block;
    width:110px;
	text-decoration:none;
    color:#fff;
	font-size:1.3rem;
	font-size:13px;
	padding:4px 0;
	border-radius:6px;
	background:rgba(229,0,45,1);
	text-align:center;
}

.pageTop a:hover{
	color:#FBF355;
	background:rgba(229,0,45,0.65);
}
.pageTop a:visited{
	color:#fff;
	background:rgba(229,0,45,1);
}

/*-----------------------------------------------------------
 エラーページ
-----------------------------------------------------------*/
#error{
	width:60%;
	margin:2em auto;
	border:3px solid #E80B27;
	text-align:center;
	padding:4em;
	box-sizing:border-box;
}
#notfound{
	color:#E80B27;
	font-size:2.2rem;
	font-size:160%;
	font-weight:bold;
	padding-bottom:10px;
	border-bottom:1px dashed;
}
#error p{
	margin-top:30px;
}
#error a{
	color:#E80B27;
}
#error a:hover{
	text-decoration:underline;
}


/* -----------------------------------------------
 PC用
------------------------------------------------*/
@media print, screen and (min-width: 769px) {
	.smp{display:none;}
	
/*-----------------------------------------------------------
ヘッダー
-----------------------------------------------------------*/
	.l-header{
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		width: 98%;
		max-width: 1200px;
		margin: 0 auto;
		padding: 1em 0;
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-justify-content: space-between;
		-ms-justify-content: space-between;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.l-header #logo{
		height:70px;
		margin-right:40px;
	}
	.l-header #logo img{
		max-height: 100%;
	}
	.l-header-desc {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.l-header .catch {
		color:#5a5a5a;
		font-weight: bold;
		font-size: 110%;
		text-align: center;
	}
	.l-header .contact {
		display: block;
		height: 40px;
		line-height: 40px;
		border-radius: 20px;
		margin-left: 24px;
		padding: 0 1.5em;
		background: #00b9ef;
		font-weight: bold;
		color: #FFF;
		transition:all 0.3s;
	}
	.l-header .contact i {margin-right: .5em;}
	.l-header .contact:hover {
		background: #90caf9;
		text-decoration: none;
	}
	

	
/*-----------------------------------------------------------
 グローバルナビ
-----------------------------------------------------------*/
.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
}
/*-------------------------------------------
 nav #globalNavi
-------------------------------------------*/
#globalNavi{
	width:100%;
	font-family:Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", 'Noto Sans Japanese', "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background:rgba(230,0,18,1);
	box-shadow:0 4px 2px -2px rgba(0,0,0,0.2);
}
#globalNavi_ul{
	display:table;
	table-layout:fixed;
	width:auto;
	margin:0 auto;
}
#globalNavi_ul li{
	display:block;
    float:left;
    width:200px;
	color:#fff;
	font-weight:bold;
	text-shadow:0 -1px 0 rgba(0,0,0,0.4);
	text-align:center;
	border-right:1px solid rgba(230,0,18,1);
	box-sizing:border-box;
    position:relative;
}
#globalNavi_ul .child{
	display:none;
	position:absolute;
	top:45px;
	padding:0;
	z-index: 10;
}


#globalNavi_ul li a{
	display: block;
	color:#fff;
	text-decoration:none;
	padding:10px 0;
}
#globalNavi_ul > li:hover > a{
	background:#ff5d63;
}
#globalNavi_ul > li:hover{
	background:#ff5d63;
}
#globalNavi_ul li a:hover{
    background:#ff5d63;
}
#globalNavi_ul li .child{
	box-shadow:0 2px 4px 0 rgba(0,0,0,0.4);
	margin:0;
}
#globalNavi_ul li .child li{
	text-shadow:none;
	border-top:1px solid;
	border-color:rgba(255,255,255,0.4);
	background:#ff5d63;
	position:relative;
}

#globalNavi_ul li .child li a{
	display: block;
	color:#fff;
	font-size:90%;
	font-weight:normal;
	text-align:left;
	padding:8px 0 8px 20px;
}
#globalNavi_ul li .child li a:hover{
	background:rgba(230,0,18,1);
}
.fixed {
    position:fixed;
    top:0;
    z-index:10000;
}
#gNactive{
	background:#ff5d63;
}

/* Global Navi
========================================== */

#container #contents{width:1200px;margin: 0 auto;}
	#container #contents2{width:880px;
	float: right;}
main{
	display:block;
	clear:both;
	width:1160px;
	/*min-height:700px;*/
	margin:30px auto 0;
	padding-bottom:30px;
	letter-spacing:0.3px;
}
main:after{
    clear:both;
    content:'';
    display:block;
}

/* =======================================
ローカルナビ
========================================= */
#localNavi{
	float:left;
	width:226px;
	margin-top: 40px;
	background-repeat:no-repeat;
	background-position:0 0;
}
#localNavi h5{
	width:222px;
	height:50px;
	border-bottom: 2px solid #ea2200;
	font-weight: bold;
}
	
	#localNavi h5:before  { /* liの前に記号追加 */
    content: "\f185";
	font-family: FontAwesome;
	font-size:2em;
	display:block;
	float:left;
	color:#ea2200;
		margin: 0.5em 0.5em;
}	
	
#localNavi h5 a{
	display:block;
	width:226px;
	height:60px;color:#ea2200;font-size:140%;
	text-align: left;
	padding: 0.6em 0;
}
	#localNavi h5 a:hover{text-decoration: none;}	
	
#container #localNavi ul{
	width:100%;
	margin-top: 0.6em;
}
#localNavi ul li{
	margin-top:1px;
	border-bottom: 1px solid #ccc;
	
}
	
#localNavi ul li:before  { /* liの前に記号追加 */
    content: "\f0da ";
	font-family: FontAwesome;
	font-size:1em;
	display:block;
	float:left;
	color:rgb(62,58,57);;
	margin:0 0.2em 0 0.6em;
	padding-top: 8px;
	
}	
	
	
#localNavi ul li a{
	display:block;
	width:196px;
	height:24px;
	padding:8px 0 6px 20px;
	text-decoration:none;
	color:#222;
}
#localNavi ul li a:hover{
	font-weight:bold;
	background-repeat:no-repeat;
	background-position:0 0;
}

#localNavi ul li.small{
	font-size:94%;
}
	
.menulist + .menulist{
	margin-left:2em;
	padding-left:2em;
	border-left:1px dotted #bbbbbb;
}
.menulist{
	float:left;
}
.menulist a:link, .menulist2 a:link{color: rgb(62,58,57);;}
.menulist a:hover, .menulist2 a:hover{
	font-weight:bold;
	text-decoration:none;
	color: #FF0000;
}
.menulist a:visited, .menulist2 a:visited{color: rgb(62,58,57);;}
.cate-tit{
	font-size:1.4rem;
	font-size:14px;
	color:#D5091C;
	font-weight:bold;
	border-bottom:1px solid;
}
.menulist ul, .menulist2 ul{
	margin:0.5em 0 0 0.2em;
}
.menulist ul li, .menulist2 ul li{
	line-height:1.8;
}
.menulist ul.box-btm{
	margin:0 0 0 0.2em;
}
.menulist-box:after{
    clear:both;
    content:'';
    display:block;
}
ul.box-left{
	float:left;
	margin:0 1.5em 0 0.2em;
}
.menulist2 ul li{
	float:left;
}
.menulist2 ul li + li{
	margin-left:2em;
}
	
}


/* -----------------------------------------------
 スマホ用
------------------------------------------------*/
@media screen and (max-width: 768px) {

	.pc{display:none;}
	body{font-size: 90%;}
	
	/* Header
========================================== */
	
	header {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		float: none;
		width:100%;
		height:100%;
		text-align: center;
		padding: 0.5em;		
	}

	.l-header .catch {
		margin: .75em 0 .5em;
		color:#5a5a5a;
		font-weight: bold;
		text-align: center;
	}
	.l-header .contact {
		display: block;
		height: 40px;
		line-height: 40px;
		border-radius: 20px;
		margin-left: 24px;
		padding: 0 1.5em;
		background: #00b9ef;
		font-weight: bold;
		color: #FFF;
		transition:all 0.3s;
	}
	.l-header .contact i {margin-right: .5em;}
	.l-header .contact:hover {
		background: #90caf9;
		text-decoration: none;
	}


/* Header
========================================== */
	
	h1.smp img{
		max-width: 80%;
	}
	
/* SMP:グローバルナビ -----------------*/
	#header_btm{
		width:100%;
		padding:0.5em 0.2em;
		background:rgba(230,0,18,1);
		text-align:right;
	}
	#slide_btn{
		color:#fff;
		padding-right: 5px;
		font-size:170%;
		width:1em;
		line-height:100%;
	}
	#category_list{
		/*float: right;*/
		display:none;
		width:100%;
		box-sizing: border-box;
		background-color:rgba(230,0,18,1);
		margin-bottom: 40px;	
	}
	
#category_list a{color: #ffffff;}

	/* ▼A：ラジオボタンの隣にあるラベル内のボックスは非表示にしておく */
#category_list input + label div { display: none; }

/* ▼B：チェックが入っているラジオボタンの隣にあるラベル内のボックスは表示する（＆上下に余白を設けて太字にする） */
#category_list input:checked + label div { 
	display: block; 
	padding: 0.2em 1em 0.2em 4em; 
	font-weight:bold; 
	color:#FFFFFF;
	border-top:1px dashed #ffffff;}

/* ▼C：アコーディオン内の1項目の装飾 */
#category_list label {
   display: block; /* ブロック化 */
	color: #FFFFFF;
	border-top:1px solid #ffffff;
   margin: 0;           /* 外側の余白量 */
   padding: 0.5em 1em 0.5em 2em;        /* 内側の余白量 */
   background-color: rgba(230,0,18,1); /* 背景色 */
    /*border-radius: 0.5em;      角丸 */
   cursor: pointer;           /* マウスを指形に */
}

/* ▼D：ラジオボタンそのものを非表示にする */
#category_list input {
   display: none;
}
	

	/*.gnav_ul{
		width:100%;
		padding:0;
	}
	.gnav_ul li{
		padding:0.5em 0;
		text-align:center;
		border-top:1px solid #fff;
	}
	.gnav_ul li a{
		color:#fff;
		display:block;
		text-decoration:none;
	}*/
	

#container #contents{
	float:none;
	width:100%;
}

main{
	display:block;
	clear:both;
	width:96%;
	margin:2em auto 0;
	padding-bottom:2em;
}
main:after{
    clear:both;
    content:'';
    display:block;
}
/*.btn_contact img{width: 64.84%;}*/

	#footer{
  font-size:100%;
	line-height: 160%;}	
  
  #footer .footer-box .footer-nav{
    padding: 8px 0 6px;
  }
	
/*-----------------------------------------------------------
 リストマーク
-----------------------------------------------------------*/
.menulist ul li:before { /* liの前に記号追加 */
    content: "\f0da";
	font-family: FontAwesome;
	font-size:1em;
	display:block;
	float:left;
	color:#0044CC;
	margin-right:0.2em;
}
.menulist a:hover{
	font-weight:bold;
	text-decoration:none;
}

.menulist ul{margin:0.6em 0 0em 0.2em;
	padding-bottom: 2em;}
.menulist ul li{float: left; line-height:1.8;margin-left: 1em;}
.menulist ul.box-btm{margin:0 0 0 0.2em;}
.menulist-box:after{   clear:both;
    content:'';
    display:block;
}
	
	#footer .footer-box{width: 100%;
margin: 0 auto;
	text-align: center;}

#footer .footer-box .footer-logo{
	float: none;
	margin: 0 auto;
}
	
	#error{	width:98%; padding:1em;}
	
	
}


/* -----------------------------------------------
PC・SMP共通
------------------------------------------------*/

a:link{
	color:#0044CC;
	text-decoration:none;
	}
a:visited{
	color:#0044CC;
	text-decoration:none;
	}	
a:hover{
	color:#FF0000;
	text-decoration:underline;
	}

a { outline:none;}

/* IE6用 */
_html a img:hover{
	position:relative;
 	top:1px;
 	left:1px;}

a img:hover {
	filter:alpha( opacity=70 );/* IE */
	opacity:0.7;/* Firefox,Opera,Safari */
	-moz-opacity:0.7;/* Firefox 0.9より前 */
	position:relative;
 	top:1px;
 	left:1px;
}

.mt5{margin-top:5px;}
.mt-10{margin-top:-10px;}
.mt10{margin-top:10px;}
.mt20{margin-top:20px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}
.mr20{margin-right:20px;}
.ml20{margin-left:20px;}
.ml40{margin-left:40px;}
.mb5{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb40{margin-bottom:40px;}
.pl10{padding-left:10px;}
.pl20{padding-left:20px;}
.pl40{padding-left:40px;}
.pl60{padding-left:60px;}
.pt40{padding-top:40px;}

.size75{font-size:75%; line-height:130%;}
.size85{font-size:85%; line-height:160%;}
.size120{font-size:120%; line-height:160%;}

.TXTunderline{text-decoration:underline;}
.TXTnormal{text-decoration:none; color:rgb(62,58,57);;;}
.TXTcenter{text-align:center;}
.TXTright{text-align:right;}
.TXTleft{text-align:left;}
.txtblue{color:#36C;}
.txtred{color:#F00;}
.TXTbold{font-weight:bold;}
.pink{color:#E85382;}
.green{color:#18943B;}
.cyan{color:#0081CC;}
.clr{clear:both;}
span.up1{vertical-align:super; font-size:70%;}
.flt-R{float:right;}
.flt-L{float:left;}
.indent{padding-left:1em; text-indent:-1em;}
