@charset "utf-8";

/* ------------------------- TOC 
setup
font
column
layout

header
contents
 ------------------------- */

/* ============================== setup */
body { color: #000; background-color: #fff; font-size: 14px; font-family: "Helvetica W01 Roman", "TsukuGoPro-R", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", sans-serif; }

table { border-collapse: collapse; border-spacing: 0; }

em, strong { font-family: "TsukuGoPro-E"; }

a { color: #00c; text-decoration: none; }
a:link { color: #00c; }
a:visited { color: #369; }
a:hover, a:active { color: #69c; }
a img, a:link img, a:visited img, a:hover img, a:active img { border: none; text-decoration: none; }

/* 汎用マージン */

.spc { margin-top: 1.84em; }
.mg { margin-top: 1em; }
.mg25 { margin-top: 25px; }
.mg50 { margin-top: 50px; }
.mg75 { margin-top: 75px; }
.mg100 { margin-top: 100px; }

.pd { padding-top: 1em; }
.pd25 { padding-top: 25px; }
.pd50 { padding-top: 50px; }
.pd75 { padding-top: 75px; }
.pd100 { padding-top: 100px; }

.rs { text-align: right; }

img.img_left { float: left; margin: 0.5em 12px 12px 0; }
img.img_right { float: right; margin: 0.5em 0 12px 12px; }

.bdt { border-top: 1px dotted #ccc; padding-top: 0.5em; }
.bdb { border-bottom: 1px dotted #ccc; padding-bottom: 0.5em; }



/* ============================== font */
/* font size */
h1 { font-size: 400%; padding: 37px 0 18px 0; line-height: 1.25; }
h2 { font-size: 200%; }
h3 { font-size: 150%; border-bottom: 1px dotted #ccc; padding-bottom: 4px; margin-bottom: 21px; margin-top: 27px; font-family: "Helvetica W01 Bold","TsukuGoPro-E"; }
h4 { font-family: "Helvetica W01 Bold","TsukuGoPro-E"; line-height: 1.786; }



/* ============================== column */
/* 記事基本｜要点＋本文 */
.article { width: 812px; }
/* 要点 */
.abstract { width: 252px; float: left; }
/* 本文 */
.text { width: 532px; float: right; }

/* 汎用段組 */
.c2, .c3, .c4, .c5, .c6 { width: 812px; }
.unit { float: left; }
.c2 .end, .c3 .end, .c4 .end, .c5 .end, .c6 .end { float: right; }
.unit p { margin-right: 28px; }
.c2 .unit p { margin-right: 0; }
.c2 .unit { width: 392px; }
.c3 .unit { width: 280px; }
.c4 .unit { width: 210px; }
.c5 .unit { width: 168px; }
.c6 .unit { width: 140px; }
#contents .c3 .end { width: 252px; }
#contents .c4 .end { width: 182px; }
#contents .c5 .end { width: 140px; }
#contents .c6 .end { width: 112px; }


/* 段組文章 */
.unit p, .article p { line-height: 1.786; text-align: justify; }
.unit li, .article li, .abstract dl { font-size: 85.71%; line-height: 1.5; }
.abstract ul { margin-top: 5px; }
.abstract li { margin-bottom: 7px; text-indent: -1em; padding-left: 1em; }
.abstract dl { margin-top: 25px; }
.abstract dt { font-family: "TsukuGoPro-E"; }
.abstract dd img { margin: 10px 0; }
.abstract dd a img { border: 1px solid #ccc; }
.abstract dd a:hover img { border: 1px solid #69c; opacity: 0.7; }
.abstract dd a:active img { border: 1px solid #f00; }
.text dt { line-height: 1.786; font-family: "TsukuGoPro-E"; margin-top: 0.75em; }
.text dd { line-height: 1.786; }
.text h4 { font-family: "Helvetica W01 Bold","TsukuGoPro-E"; margin-top: 1.83em;line-height: 1.786; }

/* キャプチャ */
.cap { border: 1px solid #999; }
.cap, .cap img, #fw01 .mc img {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}

/* for JS */
#ctrl { width: 154px; }
#ctrl.floating { position: fixed; top: 0; margin-left: 0; }
#ctrl.pinned-bottom { position: absolute; bottom: 0; _position: static; }



/* ============================== layout */
/* #container { width: 980px; margin: 0 auto; background: url(../img/site_grid_bg.png) repeat-y 0 0; } grid checker */
#container_outer { width: 1008px; margin: 0 auto; }
#container { width: 980px; position: relative; margin-left: 14px; background: url(../img/bg_container.gif) repeat-y 0 0; }
#header { width: 980px; position: relative; background-color: #fff; }
#contents { width: 812px; float: right; }
#footer { padding: 50px 0; }

/* nav | 左の操作パネル用領域 */
#nav { width: 154px; float: left; color: #999; }

/* ctrl | 制御パネル */
#ctrl { background: url(../img/nav_bg.png) no-repeat 0 0; padding-top: 11px; font-size: 85.71%; }
#ctrl dl {  }
#ctrl dt { margin: 5px 28px 6px 14px; background: url(../img/nav_border.png) repeat-x 0 0; padding-top: 11px; }
#ctrl li, #ctrl dd { padding: 5px 14px 6px 14px; }


/* 制御パネル・カレント */
#ctrl li.current, #ctrl dd.current { background: url(../img/nav_current.png) no-repeat 0 0; }

/* 制御パネルの最終ブロック */
#ctrl .end { background: url(../img/nav_bg_bottom.png) no-repeat left bottom; padding-bottom: 8px; }

/* 制御パネル・リンクカラー */
#ctrl a { display: block; width: 112px; }
#ctrl a, #nav a:link { color: #fff; }
#ctrl a:visited { color: #f3f3f3; }
#ctrl a:hover { color: #9cf; }
#ctrl a:active { color: #f00; }



/* ============================== header */
#header #header_nav { position: absolute; right: 14px; top: 80px; text-align: right; font-size: 128.57%; font-family: "Helvetica W01 Bold","TsukuGoPro-E"; }
#header a:link, #header a:visited { color: #000; }
#header a:hover { color: #69c; }
#header a:active { color: #f00; }

/* ============================== contents */
#subtitle { color: #9c9; font-size: 128.57%; padding-bottom: 10px; }


/* カテゴリヘッダラベル */
p.category { font-size: 85.71%; border-bottom: 1px solid #ccc; padding-bottom: 3px; margin-bottom: 10px; margin-top: 50px; color: #999; }

/* section headline */
.sh { width: 812px; margin-bottom: 25px; }
.sh h2 { float: left; width: 308px; }
.sh ul { float: right; width: 476px; }
.sh li { float: left; font-size: 85.71%; line-height: 1.5; }
.sh .catch { width: 196px; }
.sh .feature { width: 182px; }
.sh .env { width: 98px; float: right; }

/* サムネールエリア */
#showcase { border-top: 1px solid #ccc; padding: 21px 0; border-bottom: 1px solid #ccc; }
#showcase ul { width: 812px; overflow: hidden; }
#showcase li { float: left; width: 140px; font-size: 71.43%; margin-left: 28px; }
#showcase li:first-child { margin-left: 0; }

#showcase li img { display: block; margin: 10px 0; }
#showcase li em { font-size: 140%; font-weight: normal; }
#showcase li p.concept { font-size: 200%; line-height: 1.1; font-family: "Helvetica W01 Bold"; text-align: center; color: #999; padding-top: 1.5em; }

/* 例外処理 */
#showcase #sc_ss img { margin-left: 14px; }
#showcase #sc_sp img { margin-left: 28px; }

/* 左右のスライダ領域 */
#showcase #sc_slider { background-color: #eeeeee; margin-top: 10px; }

/* リンクカラー */
#showcase li a { display: block; width: 140px; }
#showcase li a:link { color: #000; }
#showcase li a:visited { color: #333; }
#showcase li a:hover { color: #00c; }
#showcase li a:active { color: #c00; }

/* news */
#news { width: 812px; position: relative; margin-top: 25px; }
#news h2 { position: absolute; left: 0; top: 0; font-size: 100%; }
#news ul { margin-left: 168px; font-size: 85.71%; line-height: 1.5; }
#news li { margin-bottom: 7px; text-indent: -1em; padding-left: 1em; }



/* qualious */
#fw01 .mc { width: 812px; }
#fw01 .lc, #fw01 .rc { width: 378px; }

/* about */
#about .mc dt { border-bottom: 1px solid #ccc; padding-bottom: 3px; margin-bottom: 10px; font-family: "Helvetica W01 Bold","TsukuGoPro-E"; }
#about .c2 th, #about .c2 td { padding: 0 0 1em 0; line-height: 1.786; }
#about .c2 th { width: 140px; }
#about .c2 td { width: 252px; }

table.def { width: 812px; }
.def th, .def td { border-top: 1px solid #eeeeee; border-bottom: 1px solid #eeeeee; padding: 6px; }
.def th { background-color: #e6e6e6; }
#about table.def { margin-top: 25px; }
#about .def th, #about .def td { font-size: 85.71%; width: 20%; }

#gmap { border: 1px solid #ccc; margin-top: 25px; }

/* contact */
#contact table { margin-left: 140px; }
#contact th, #contact td { padding: 0 0 1em 0; }
#contact th { width: 280px; }
#contact td { width: 224px; }

/* for narrow screen */
@media screen and (max-width: 960px) {
.unit p, .article p { text-align: left; }
}

