@charset "utf-8";


/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0;}
img{min-width:50px;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

strong{
font-weight:bold;
}

/* -------------------------------------------------------------- */

body{
color:#333;
font:12px verdana,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
line-height:1.5;
background:#fff;
-webkit-text-size-adjust: none;
}

html{background:#ae1c28;}

.euro {
font-size:20px;
color:#880000;
}

.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/* リンク設定
------------------------------------------------------------*/
a{color:#ae1c28;text-decoration:none;}
a:hover{color:#505050;}
a:active, a:focus{outline:0;}


/* 全体
------------------------------------------------------------*/
#wrapper{
margin:0 auto;
padding:0 1%;
width:98%;
position:relative;
}

.inner{
margin:0 auto;
width:100%;
}

/*************
/* ヘッダー
*************/
h1{
font-size:12px;
line-height:1.6;
font-weight:normal;
background:#ae1c28;
color:#fff;
}

#header{
overflow:hidden;
padding:5px 0 15px;
}

* html #header{height:1%;}


/*************
/* ロゴ
*************/
#header .logo{
float:left;
padding:20px 0 0;
}

.logo a{
font-size:20px;
font-weight:bold;
line-height:1;
font-family:"Palatino Linotype", "Book Antiqua", Palatino,"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝","MS PMincho",serif;
}

.logo span{
font-size:12px;
font-weight:normal;
color:#333;
}

.info{
float:right;
padding:10px 0 0;
}

.tel strong{
font-size:20px;
font-weight:bold;
}


/**************************
/* トップナビゲーション
**************************/
ul#topnav{
overflow:hidden;
margin:0;
}

* html ul#topnav{height:1%;}

ul#topnav li{
float:left;
text-align:center;
}

ul#topnav a{
width:139px;
font-size:13px;
display:block;
margin:0px 3px 0px 0px;
padding:7px;
color:#fff;
background:#ae1c28;
border-radius:20px 0px;
}

ul#topnav li:first-child a,ul#topnav li:last-child a{width:139px;}

ul#topnav li.active a,ul#topnav a:hover{
border-color:#8e0008;
background:#8e0008;
border-right:1px solid #fff;
}


/**************************
/* メイン画像（トップページ+サブページ）
**************************/
#mainBanner{
margin:20px auto 20px;
padding:4px;
position:relative;
line-height:0;
background:#ae1c28;
}

#mainBanner img{
max-width:100%;
}

.slogan{
position:absolute;
width:96%;
height:auto;
bottom:10px;
left:10px;
padding:5px 10px;
line-height:1.4;
z-index:100;
background:url(images/tp2.png);
}

.slogan h2{
padding-bottom:5px;
color:#fff;
font-size:20px;
}

.slogan h3{
font-size:14px;
color:#ccc;
}


/**************************
/* グリッド
**************************/
.gridWrapper{
clear:both;
padding:20px 0;
overflow:hidden;
}

* html .gridWrapper{height:1%;}
	
.grid{
float:left;
min-height:125px;
background:#f8f8f8;
text-align:center;
font-size:11px;
}

.colDark,.colLight{
padding-bottom:5px;
color:#fff;
background:#505050;
}

.colLight{background:#ae1c28;}

.colDark h3,.colLight h3{
margin:10px 10px 5px;
font-size:14px;
font-weight:bold;
}

.colDark a,.colLight a{
display:block;
padding:3px;
border-radius:3px;
color:#fff;
background:#ae1c28;
}

.colLight a{background:#505050;}

.colLight a:hover,.colDark a:hover{
color:#505050;
background:#fff;
}

#sub .grid h3{
    margin: 0 0;
    text-align:left;
    padding: 8px 15px;
    border-left: 7px solid #B92A2C;
    border-bottom: 1px dashed #B92A2C;
    font-size:16px;
    font-weight: bold;
/*
padding:5px 7px;
font-size:16px;
background:#e0e0e0;
border-left:4px solid #ae1c28;
*/
}

.grid p{
padding:5px 10px;
}

.grid ul{margin:0px 0px;

}

.grid li{
padding:8px 10px 8px 30px;
text-align:left;
list-style:none;
font-size:14px;
background:#ffffff;
border-bottom:1px dashed #888888;
}

.list-item {
  position: relative;
  padding-left: 10px;
}
.list-item:before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 15px;
  width: 0;
  height: 0;
  margin-top: -5px;
  border-top: 5px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid #B92A2C;
}

.box24{
  width: 100%;/*全体の幅*/
  font-size: 14px;/*文字サイズ*/
  margin-bottom: 30px;
  }
.box24 dt{/*タイトル部分の設定*/
  color: #FFFFFF;/*文字色*/
  background-color: #295890;/*背景色*/
  font-size: 15px;/*文字サイズ*/
  letter-spacing: 0.2em;
  width: 300px;/*タイトルの幅*/
  padding: 8px 8px 0px 8px;
  background-image: url("images/024_gray.gif");
  background-repeat: no-repeat;
  }
.box24 dd{/*内容部分*/
  color: #313132;/*文字色*/
  margin: 0;
  padding: 0;
  border: solid 1px #295890;/*枠色*/
  }
.box24 dd .textb24{
  padding: 1.2em 0.9em;/*テキスト部分の余白*/
  border-top: solid 4px #295890;
  border-bottom: solid 4px #295890;
  }



.gridWrapper img{
max-width:100%;
height:auto;
}

/* フッター内のグリッド(3カラム) */
#footer .grid{
color:#fff;
background:transparent;
}

#footer .col3 ul{margin:0 0 10px 5px;}

#footer .col3 li{
padding:0 6px 0 5px;
margin-bottom:3px;
list-style:none;
border-bottom:0;
display:inline-block;
border-right:1px solid #fff;
}


/*************
メイン コンテンツ
*************/
section.content{
margin-bottom:20px;
font-size:14px;
overflow:hidden;
}

* html section.content{height:1%;}

section.content p{margin-bottom:5px;}

/*
h3.heading{
padding:5px 10px;
margin-bottom:10px;
font-size:16px;
color:#fff;
background:#ae1c28;
border-radius:3px;
}
*/

h3.heading{
    position: relative;
    color: #111;
    font-size: 1.143em;
    font-weight: bold;
    margin: 0 0 1.5em;
    padding: 0.5em 0.5em 0.5em 1.7em;
    border-bottom: 3px solid #B92A2C;
}
 
h3.heading:before{
    content: "";
    position: absolute;
    background: #d48789;
    top: 0;
    left: 0.4em;
    height: 12px;
    width: 12px;
    transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
}
 
h3.heading:after{
    content: "";
    position: absolute;
    background:#d26466;
    top: 1.0em;
    left: 0;
    height: 8px;
    width: 8px;
    transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    -webkit-transform: rotate(15deg);
    -o-transform: rotate(15deg);
    -ms-transform: rotate(15deg);
}



.alignleft{
float:left;
clear:left;
margin:3px 10px 10px 1px;
}

.alignright{
float:right;
clear:right;
margin:3px 1px 10px 10px;
}

img.frame,#gallery img{
border:4px solid #fff;
box-shadow:0 0 2px rgba(0, 0, 0, 0.5);
-webkit-box-shadow:0 0 2px rgba(0, 0, 0, 0.5);
}

#gallery .gridWrapper{padding:0;}

#gallery img{
margin:5px;
}

section#gallery{overflow:visible;}


/*************
テーブル
*************/
table.table{
border-collapse:collapse;
width:100%;
margin:10px auto;
}

table.table th,table.table td{
padding:5px;
border:1px solid #c0c0c0;
vertical-align:top;
}

table.table tr:first-child th,table.table tr:first-child td{
border-top:#c0c0c0 1px solid
}

table.table th{
font-weight:bold;
letter-spacing:1px;
white-space:nowrap;
color:#333;
background:#f8f8f8;
}



/*************
/* フッター
*************/
#footer{
clear:both;
padding:20px 0;
overflow:hidden;
background:#ae1c28;
/*border-top:1px solid #505050;*/
}

* html #footer{height:1%;}

#footer a{color:#fff;}
#footer a:hover{color:#ccc;}

#footer .copyright{font-size:11px;}

.topicpath ol li {
        /* liを横並び＆ブレットを消す */
        display: inline;
        list-style-type: none;
}

table.company { 
    width: 100%; 
    margin: 0 auto; 
    border-collapse: separate; 
    border-spacing: 0px 15px; 
    font-size: 12px; 
} 
  
table.company th, 
table.company td { 
    padding: 10px; 
} 
  
table.company th { 
    background: #295890; 
    vertical-align: middle; 
    text-align: left; 
    width: 100px; 
    overflow: visible; 
    position: relative; 
    color: #fff; 
    font-weight: normal; 
    font-size: 15px; 
} 
  
table.company th:after { 
    left: 100%; 
    top: 50%; 
    border: solid transparent; 
    content: " "; 
    height: 0; 
    width: 0; 
    position: absolute; 
    pointer-events: none; 
    border-color: rgba(136, 183, 213, 0); 
    border-left-color: #295890; 
    border-width: 10px; 
    margin-top: -10px; 
} 
/* firefox */ 
@-moz-document url-prefix() {  
    table.company th::after { 
        float: right; 
        padding: 0; 
        left: 30px; 
        top: 10px; 
        content: " "; 
        height: 0; 
        width: 0; 
        position: relative; 
        pointer-events: none; 
        border: 10px solid transparent; 
        border-left: #295890 10px solid; 
        margin-top: -10px; 
    } 
} 
  
table.company td { 
    background: #f8f8f8; 
    width: 360px; 
    padding-left: 20px; 
}










table.company2 { 
    width: 100%; 
    margin: 0 auto; 
    border-collapse: separate; 
    border-spacing: 0px 15px; 
    font-size: 12px; 
} 
  
table.company2 th {
    padding: 10px; 
    border-radius: 8px; 
} 

table.company2 td { 
    padding: 10px; 
} 

  
table.company2 th { 
    background: #299058; 
    vertical-align: middle; 
    text-align: left; 
    width: 50%; 
    overflow: visible; 
    position: relative; 
    color: #fff; 
    font-weight: normal; 
    font-size: 15px; 
} 
  
table.company2 th:after { 
    left: 100%; 
    top: 50%; 
    border: solid transparent; 
    content: " "; 
    height: 0; 
    width: 0; 
    position: absolute; 
    pointer-events: none; 
    border-color: rgba(136, 183, 213, 0); 
    border-left-color: #299058; 
    border-width: 10px; 
    margin-top: -10px; 
} 
/* firefox */ 
@-moz-document url-prefix() {  
    table.company2 th::after { 
        float: right; 
        padding: 0; 
        left: 30px; 
        top: 10px; 
        content: " "; 
        height: 0; 
        width: 0; 
        position: relative; 
        pointer-events: none; 
        border: 10px solid transparent; 
        border-left: #299058 10px solid; 
        margin-top: -10px; 
    } 
} 
  
table.company2 td { 
    background: #f8f8f8; 
    width: 50%; 
    padding-left: 20px; 
}










/* PC用 */
@media only screen and (min-width:940px){	
	#wrapper,.inner{
	width:940px;
	padding:0;
	}
	
	#wrapper{padding-bottom:20px;}
	
	#main{
	float:right;
	width:690px;
	}
	
	#subpage #sub{
	float:left;
	width:235px;
	overflow:hidden;
	}
	
	/* グリッド */
	.grid{width:235px;}
	.col2{width:470px;}
	.col3{width:705px;}
	#gallery .grid{width:138px;}
	#subpage #sub .grid{
	width:100%;
	float:none;
	}
	
}


/* モニター幅960px以下 */
@media only screen and (max-width:960px){
	h1 p.inner{padding:0 2%;width:96%}
	#header .logo{padding-left:10px;}
	#header .info{padding-right:0px;}

	ul#topnav{
	clear:both;
	width:100%;
	}

	.input_btn {
		width:100px;
	}

	ul#topnav li{
	width:33%;
	margin:0 0 5px;
	border-right:1px solid #505050;
	 box-sizing:border-box;
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
	}

	ul#topnav li:nth-child(3n){border-right:0;width:34%;}

	ul#topnav li a{
	width:100%;
	border-top:0;
	}

	ul#topnav li:first-child a,ul#topnav li:last-child a{width:100%;}
	
	.grid{
	width:50%;
	margin:2px 0;
	}
	
	.cbtn{
	width:240px;
	}
	.col2{
	float:none;
	width:100%;
	margin:0 0 20px;
	}
	
	.grid img{
	float:left;
	margin-right:5px;
	}
	
	#gallery .grid{
	width:31%;
	margin:0 1%;
	padding:0;
	}
	
	#gallery .grid img{
	float:none;
	}
	
	.slogan{
	width:87%;
	}
	section.content{padding:0 10px;}
	
	section.content img{
  max-width:100%;
	height:auto;
	}
	
	#sub .grid{padding-bottom:10px;}
	
	#footer{padding:0;}
	
	#footer .grid{
	float:none;
	width:100%;
	margin-bottom:5px;
	text-align:center;
	}
}


/* iPad 縦 */
@media only screen and (max-width:768px){
  #header{padding-bottom:0;}
	#mainBanner{padding:3px;}
}


/* スマートフォン 横(ランドスケープ) */
@media only screen and (max-width:640px){
	.grid{width:100%;}
	
	.grid img{
	float:none;
	margin:20px auto 10px;
	}
	
	.grid p{text-align:left;}
	
	img.frame,#gallery img{border-width:2px;}

  .alignleft,.alignright{
	float:none;
	display:block;
	margin:0 auto 10px;
	}
	
	#footer .grid p{text-align:center;}
}


/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px){
	#header .logo{padding-top:10px;}
  .info{padding:10px 0 0;}
	
	ul#topnav li{width:50%;}

	ul#topnav li:nth-child(3n){
	border-right:1px solid #505050;
	width:50%;
	}
	
	ul#topnav li:nth-child(2n),ul#topnav li:nth-child(6n){border-right:0;}
	
	#mainBanner{margin-left:1px;}
	#mainBanner h2,#mainBanner h3{font-size:80%;}

}








h2.title{
clear:both;
margin:0;
padding:7px 10px 7px 10px;
    font-size:16px;
    font-weight: bold;
color:#000;
border:1px solid #d5d5d5;
border-bottom:0;
background:#f8f8f8;
    border-left: 7px solid #B92A2C;
}

.post{
margin:0 0 20px 0;
padding:20px 10px 20px 20px;
border:1px solid #d5d5d5;
background: #fff;
}


.post p{padding-bottom:15px;}

.post ul{margin: 0 0 10px 10px;}

.post ul li{
margin-bottom:5px;
padding-left:15px;
background:url(images/bullet.png) no-repeat 0 8px;
}

.post ol{margin: 0 0 10px 30px;}

.post ol li{list-style:decimal;}

.post h1{
margin:20px 0;
padding:5px 0;
font-size:150%;
color: #000;
border-bottom:3px solid #000;
}

.post h2{
margin:10px 0;
padding-bottom:2px;
font-size:130%;
font-weight:normal;
color: #333;
border-bottom:2px solid #515151;
}

.post h3{
margin:10px 0;
font-size:100%;
font-weight:normal;
color:#2e2c2c;
border-bottom:1px solid #515151;
}

.post blockquote {
clear:both;
padding:10px 0 10px 15px;
margin:10px 0 25px 30px;
border-left:5px solid #ccc;
}
 
.post blockquote p{padding:5px 0;}

.post table{
border: 1px #ccc solid;
border-collapse: collapse;
border-spacing: 0;
margin:10px 0 20px;
}

.post table th{
padding:10px;
border: #ccc solid;
border-width: 0 0 1px 1px;
background:#f2f2f2;
}

.post table td{
padding:10px;
border: 1px #ccc solid;
border-width: 0 0 1px 1px;
background:#fff;
}

.post dt{font-weight:bold;}

.post dd{padding-bottom:10px;}

.post img{max-width:100%;height:auto;}

/* トップページ 最新記事4件
------------------------------------------------------------*/
ul.post{
padding:0;
}

ul.post li{
margin:0 10px;
padding:20px 0 15px;
border-bottom:1px dashed #dcdcdc;
}

ul.post li:last-child{border:0;}

ul.post img{
float:left;
margin:0 15px 5px 10px;
}

ul.post h3{
margin:0 0 10px 10px;
font-size:14px;
font-weight:normal;
color:#333;
border:0;
}










/* --- リストエリア --- */
ul.thumbnail {
width: 100%; /* リストエリアの幅 */
margin: 0;
padding: 0;
border-top: 1px #808080 dotted; /* リストエリアの上境界線 */
list-style-type: none;
}

/* --- リスト項目 --- */
ul.thumbnail li {
padding: 20px 15px; /* リスト項目のパディング（上下、左右） */
border-bottom: 1px #808080 dotted; /* リスト項目の下境界線 */
}

/* --- 項目内容 --- */
ul.thumbnail dl {
width: 100%;
margin: 0;
font-size: 100%;
}

/* --- 写真エリア --- */
ul.thumbnail dt.photo {
width: 160px; /* 写真エリアの幅 */
float: left;
}
ul.thumbnail dt.photo img {
border: 1px #808080 solid; /* 写真の境界線 */
}

/* --- キャプションエリア --- */
ul.thumbnail dt.title {
font-size:13px;
color:#333333;
margin: 0 0 0 160px; /* キャプションエリアのマージン（上右下左） */
}

ul.thumbnail dd {
margin: 0 0 0 160px; /* キャプションエリアのマージン（上右下左） */
}

/* --- タイトルエリア --- */
ul.thumbnail dt.title {
margin-bottom: 5px; /* タイトルエリアの下マージン */
line-height: 120%;
}

/* --- コメントエリア --- */
ul.thumbnail dd {
line-height: 150%;
}

/* --- clearfix --- */
.clearFix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearFix {
min-height: 1px;
}