@charset "UTF-8";

/*基本設定
-----------------------------------------*/
* {
margin: 0;
padding: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
background: url(../img/trancepercent.png);
}
li {
list-style: none;
}
a img {
border: none;
}
html {
}
body {
padding: 0;
margin: 0;
position: relative;
font-size: 14px;
color: #000;
line-height: 1.2;
font-family: "Hiragino Kaku Gothic Pro","メイリオ","ＭＳ Ｐゴシック",sans-serif;
background: url(../img/back.png) #F7F7F7 no-repeat center 19px;
border-top: 20px solid #000;
}
a {
color: #3FACC0;
}
a:hover {
color: #00688C;
}
hr {
border: none;
height: 0;
overflow: hidden;
border-bottom: 1px dotted #959595;
clear: both;
}
main, header, footer, section, article, figure ,figcaption {
display: block;
}
body > header, body > header + div {
width: 1000px;
margin: 0 auto;
background: #FFF;
}
body > header:after,
body > header + div:after {
content: "";
display: block;
clear: both;
height: 0;
width: 0;
}

/*ヘッダー
-----------------------------------------*/
body > header {
margin: 0 auto 0;
}
body > header h1 {
font-size: 65px;
font-weight: normal;
width: 50%;
padding: 0 2%;
display: table-cell;
vertical-align: middle;
}
body > header h1 a,
body > header h1 a:hover {
color: #000;
text-decoration: none;
}
body > header h2 {
font-size: 12px;
color: #888;
font-weight: normal;
width: 40%;
padding: 0 2% 0 0;
display: table-cell;
vertical-align: middle;
}
/*ヘッダー:メニュー
-----------------------------------------*/
nav {
background: #000;
}
nav:after {
content: "";
display: block;
clear: both;
}
nav > ul {
float: right;
}
nav > ul > li {
display: block;
float: left;
position: relative;
}
nav > ul > li > a {
display: table-cell;
vertical-align: middle;
height: 60px;
padding: 0 1.5em;
color: #888;
text-decoration: none;
position: relative;
}
nav > ul > li > a:hover,
nav > ul > li.here > a {
background-color: #2B2B2B;
color: #FFF;
}
nav > ul > li > a:hover:before,
nav > ul > li > a:hover:after,
nav > ul > li.here > a:before,
nav > ul > li.here > a:after {
content:"";
display: block;
width: 0;
height: 0;
border-top: 6px solid transparent;
border-bottom: 6px solid transparent;
position: absolute;
top: 23px;
left: 10px;
}
nav > ul > li > a:hover:before,
nav > ul > li.here > a:before {
border-left: 7px solid #ED1C24;
}
nav > ul > li > a:hover:after,
nav > ul > li.here > a:after {
border-left: 7px solid #2B2B2B;
left: 8px;
}

/*ヘッダー:メニュー 子メニュー
-----------------------------------------*/
nav > ul > li ul {
display: none;
position: absolute;
width: 200px;
padding: 0;
z-index: 9999;
text-align: left;
}
nav > ul > li:hover ul {
display: block;
}
nav > ul > li ul a {
display: block;
padding: 10px;
color: #FFF;
background: #000;
text-decoration: none;
border: 1px solid #FFF;
border-top: none;
opacity: .7;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
}
nav > ul > li ul li:first-child a {
border: 1px solid #FFF;
}
nav > ul > li ul a:hover {
color: #FFF;
background: #4D4D4D;
}

/*フッター
-----------------------------------------*/
footer {
clear: both;
background: #4C4C4C;
padding-top: 25px;
}
footer > div {
display: table;
width: 1000px;
margin: 0 auto 25px;
}
footer > div div {/*3カラムベース＋1カラム目*/
display: table-cell;
vertical-align: top;
width: 33%;
padding: 15px 20px;
border-right: 1px solid #000;
}
footer > div div + div {/*2カラム目+3カラム目*/
border-left: 1px solid #666;
border-right: 1px solid #000;
}
footer > div div + div + div {/*3カラム目*/
border-right: none;
}

footer > div div ul li {/*1カラム目:リスト（バナー置き場）*/
display: table;
margin: 0 0 35px;
}
footer > div div ul li a {/*1カラム目:リスト（バナー置き場）*/
display: table-cell;
vertical-align: top;
padding-right: 15px;
}
footer > div div ul li p {/*1カラム目:リスト（バナー置き場）*/
display: table-cell;
vertical-align: middle;
font-size: 12px;
color: #C2CCCC;
}

footer > div div + div ul li {/*2カラム目:リスト（バナー置き場）*/
display: block;
margin: 0 0 8px;
}
footer > div div + div ul li ul {/*2カラム目:リスト（バナー置き場）*/
margin: 8px 0 0 2em;
}
footer > div div + div ul li a {/*2カラム目:リスト（バナー置き場）*/
display: inline;
color: #C2CCCC;
}
footer > div div + div ul li a:hover {/*2カラム目:リスト（バナー置き場）*/
color: #FFF;
}

footer small {
display: block;
font-size: 16px;
text-align: center;
line-height: 60px;
background: #000;
width: 100%;
height: 60px;
color: #FFF;
font-family: Arial,sans-serif;
}

/*ページの上に戻る
-----------------------------------------*/
#goto-pagetop {
position: fixed;
bottom: 30px;
right: 55px;
background: url(../img/trancepercent.png);/*IE9, 10 対策*/
}
#goto-pagetop a {
display: block;
text-indent: -999em;
overflow: hidden;
width: 71px;
height: 71px;
text-decoration: none;
position: relative;
}
#goto-pagetop a:before {
content: url(../img/pagetop.png);
display: block;
position: absolute;
text-indent: 0;
width: 71px;
height: 71px;
top:0;
left: 0;
}

/*noscript
-----------------------------------------*/
p#noscript {
width: 80%;
padding: 30px;
margin: 0 auto;
color: red;
font-weight: bold;
}

/*ベースレイアウト系
-----------------------------------------
-----------------------------------------*/
main {
padding: 0 0 30px 0;
}
body section {
padding: 30px 35px 0 35px;
margin: 0 0 20px;
position: relative;
}
article {
margin: 0 0 35px;
position: relative;
}
article:last-child {
margin: 0;
}
main:after,
section:after,
article:after {
content: "";
display: block;
clear: both;
}
.clear {
clear: both;
}

/*大見出し
-----------------------------------------*/
section > h1 {
border-bottom: 1px solid #000;
padding: 0 0 3px 0;
margin: 0 0 20px;
font-size: 26px;
font-weight: normal;
}
section > h1:after {
content: "";
display: block;
height: 0;
border-bottom: 3px solid #000;
}

/*中見出し
-----------------------------------------*/
section header {
border-left: 3px solid #000;
margin: 0 0 20px;
padding: 5px;
width: 100%;
font-weight: normal;
position: relative;
}
section header:after {
content: "";
display: block;
height: 0;
width: 100%;
border-bottom: 1px solid #000;
position: absolute;
bottom: -2px;
left: -3px;
}
section header h2 {
margin: 0 150px 0 0;
font-size: 20px;
font-weight: normal;
}
section header time {
font-size: 12px;
color: #999;
position: absolute;
bottom: 5px;
right: 3px;
}

/*大見出し:画像タイプ
-----------------------------------------*/
section header.img {
border-left: none;
margin: -30px -35px 25px -35px;
padding: 0;
position: relative;
}
section header.img:after {
border-bottom: none;
}
section header.img img {
margin: 0;
}
section header.img h1 {
border-bottom: none;
background: rgba(0, 0, 0, .6);
padding: 15px 45px;
margin: 0;
width: 1000px;
font-size: 26px;
color: #FFF;
font-weight: normal;
position: absolute;
bottom: 0;
}
.ie8 section header.img h1 {
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#99000000', endColorstr='#99000000',GradientType=0 );
}
section header.img h1:after {
content: "";
display: block;
height: 0;
border-bottom: none;
}

/*平文
-----------------------------------------*/
p {
margin-bottom: 1em;
line-height: 160%;
}
section p {
clear: both;
}
section > div,
.theme-tmp + div {
display: block;
clear:both;
margin: 20px 35px 2em;
}
section > div {
margin: 0 0 3.5em;
}

/*画像
-----------------------------------------*/
main img {
margin: 0 35px 20px;
vertical-align: bottom;
}
main #slider img {
margin: 0;
}

/* 画像配置（キャプション入り）
-----------------------------------------*/
figure {
font-size: 12px;
}
figure img,
.imgList article img {
margin: 0 0 5px;
}

/* 文章＋画像設定
-----------------------------------------*/
section > figure,
section  > figure + figure,/*画像一覧*/
article figure,/*画像配置（キャプションあり）*/
article div > img,/* 画像配置（キャプションなし）*/
article > img,/*画像が見出しと同列になるタイプ（キャプションなし）*/
.imgList article /* imgList*/{
float: left;
margin: 0 35px 20px 0;
}
article figure + div,/*画像配置（キャプションあり）*/
article div > img + div/* 画像配置（キャプションなし）*/{
float: left;
}
article > header + div:after {
content: "";
display: block;
clear: both;
}
figure.endOfLine,
.imgList article.endOfLine/*画像一覧:行末*/ {
margin-right: 0;
}

.imgList article h1 {
font-size: 16px;
font-weight: normal;
margin: 0 0 3px;
}
.imgList article p {
font-style: 12px;
line-height: 140%;
margin: 0 0 3px;
}
.imgList article p.price {
font-style: 18px;
color: #ED1C24;
display: block;
margin: 0;
text-align: right;
font-weight: bold;
}

/*逆レイアウト*/
article.reverse figure,/*画像配置（キャプションあり）*/
article.reverse div > img,/*画像配置（キャプションなし）*/
article.reverse > img/*画像が見出しと同列になるタイプ（キャプションなし）*/ {
float: right;
margin: 0 0 20px 35px;
}

/* 画像が見出しと同列になるタイプ
-----------------------------------------*/
section article > figure + div,/*キャプションあり*/
section article > img + div/*キャプションなし*/ {
float: left;
}
section div header h2 {
margin: 0;
}
/*逆レイアウト*/
section article.reverse > figure + div,/*キャプションあり*/
section article.reverse > img + div/*キャプションなし*/ {
float: right;
}

/*普通のリスト
-----------------------------------------*/
main ul {
margin: 0 0 0 1em;
}
main ul li {
margin: 0 0 6px 0;
}
main ul li:before {
content: "・";
margin-left: -1em;
}

/* テーブル
-----------------------------------------*/
table {
border: 1px #666 solid;
border-spacing: 0;
border-collapse: collapse;
margin: 0 0 10px 0;
}
table caption {
text-align:left;
font-weight: bold;
}
td, th {
border: 1px #CCC solid;
padding: 20px 5px 10px;
}
th {
text-align:left;
white-space: nowrap;
width: 1%;
font-weight:normal;
background-color: #F0F0F0;
}

/* アクセス用
-----------------------------------------*/
article.access > div {
float: left;
width: 480px;
margin: 0 35px 25px 0;
}
article.access > div img {
float: left;
margin: 0;
}
article.access > div img[width="230"] {
margin: 20px 20px 0 0;
}
article.access > div img[width="230"] + img {
margin: 20px 0 0 0;
}
article.access > div + table {
float: left;
width: 415px;
margin: 0 0 25px;
}
article.access p {
clear: both;
display: block;
}




