@charset "utf-8";

/*
# 汎用クラス ------------------------------
*/

/* 配色 */
.hidden {
 display : none ;
}

.navy {
 background-color : #000080 ; /* navy */
 color : #ffffff /* white */
}
.navy a {
 color : #99ccff ;
}
.navy a:visited {
 color : #ff99cc ;
}

/* バナー */
.micro_bar { 
 width : 88px ;
 height : 31px ;
}
.small_banner {
 width : 120px ;
 height : 60px ;
}
.half_banner { 
 width : 234px ;
 height : 60px ;
}

/* 段落 */
.content {
 margin-left : 1em ;
}

.notice {
 color : #8b0000 ; /* darkred */
 font-size : smaller ;
 text-indent : 0 ;
}
.notice:before {
 content : "* " ;
 
 display : inline ;
}
.notice em {
 font-style : normal ;
 text-decoration : underline ;
}

.no_marker {
 margin-left : 0 ;
 list-style-type : none ;
}

/*
# 基本設定 ------------------------------
*/
* {
 margin : 0px ;
 padding : 0px ;
 vertical-align : top ;

 line-height : 140% ;
 line-break : strict ;

 font-size : inherit ;
 font-weight : inherit ;
}

body {
 font-family : "MS UI Gothic", "Osaka", sans-serif;
 font-size : medium ;
 font-weight : normal ;
}

h1, h2, h3, h4, h5, h6 {
 margin-bottom : 1em ;
}

b, strong {
 font-weight : bold ;
}

p {
 text-indent : 1ex ;
}

ul, ol {
 padding-left : 1em ;
}

dl dt {
 font-weight : bold ;
}
dl dd {
 margin-left : 1ex ;
 text-indent : 1ex ;
}

th, td {
 text-align : left ;
}

td {
 padding : 0.5ex ;
 border-bottom : 1pt solid #b2d8ff ;
}

th {
 padding : 0.5ex 1ex ;
 background-color : #b2d8ff ;

 font-size : small ;
 font-weight : bold ;
 vertical-align : middle ;
 letter-spacing : 1pt ;
}
th.strong {
 background-color : #b2ffc7;
}

tr.important th, tr.important td {
 border-color : #ffe6b3;
}
tr.important th {
 background-color : #ffe6b3;
}


img {
 border-width : 0px ;
 margin-left : 1em ;
 margin-right : 1em ;
}

/*
# 汎用クラス ------------------------------
*/
/*
# 基本設定 ------------------------------
*/
body {
 background-color : #f0f8ff ; /* aliceblue */
 background-image : url(assets/templates/kameoka/images/wallpaper.stripe.png) ;
}

h1 {
 font-weight : bolder ;
}
h1, h2 { 
 font-size : large ;
 letter-spacing : 1pt ;
}
h3, h4, h5, h6{
 font-size : medium ;
}
h2, h3, h4, h5, h6{
 margin-top : 1em ;
 padding-top : 0.5ex ;
 
 font-weight : bolder ;
 
 overflow : hidden ;
}

form dl dd {
 text-indent : 0 ;
}
fieldset {
 border : 0 none transparent ;
 margin-bottom : 1ex ;
}
legend {
 display : none ;
}
input, textarea, label {
 font-size : 11pt ;
}

/*
# 共通レイアウト要素
*/
#main, .main {
 width : 720px ;

 margin-left : auto ;
 margin-right : auto ;
 
 text-align : left ;
 border-left : 1px solid #1e90ff ; /* dodgerblue */
 border-right : 1px solid #000080 ; /* navy */
}
#main {
 position : relative ;

 background-color : #b2d8ff ;
}

/* ヘッダー */
#header {
 position : relative ;
 height : 1% ;
 padding : 1px 0 ;
 overflow : hidden ;
 width : 100% ;
}

#header #logo {
 position : absolute ;
 width : 320px ;
 height : 40px ;
 left : 0 ;
 top : 0 ;
 padding : 0 5px ;
 margin : 0 ;
}
#header #logo img {
 margin : 0 ;
}

#header #global_help {
 margin-right : 5px ;
 text-align : right ;
 font-size : small ;
}
#header #global_help li {
 display : inline ;
}
#header #global_help .marker {
 display : inline ;
 width : 1.5ex ;
 height : 1.5ex ;
 margin : 0 ;
 padding : 0 ;

 color : eaa888 ;
 vertical-align : middle ;
}

#header #global_search {
 margin : 0 5px 5px auto ;
 font-size : small ;
 text-align : right ;
}
#header #global_search * {
 display : inline ;
 vertical-align : middle ;
}
#header #global_search legend {
 display : none ;
}

#header #global_navigation {
 padding : 0.3em 0 4px ;
 
 background-color : #e2e8ee ;
 background-image : url(assets/templates/kameoka/images/g_navi_tile.png) ;
 background-position : left top ;
 background-repeat : repeat ;
 font-size : small ;
}

#header #global_navigation ul {
 width : 100% ;
 padding : 0 4px ;
}

#header #global_navigation li {
 display : inline ;
 padding-left : 14px ;
 background-color : #e2e8ee ;
 background-image : url(assets/templates/kameoka/images/navi_marker.gif) ;
 background-position : left center ;
 background-repeat : no-repeat ;
}

#header #global_navigation .category a {
 padding : 0.3em 0 4px ;
 margin-right : 14px ;

 color : #000000 ; /* black */
 font-weight : bold ;
 text-decoration : none ;
}
#header #global_navigation .category a:hover {
 text-decoration : underline ;
}

/* 本体 */
#body {
 display : block ;
 padding : 4px ;
 background-color : #b2d8ff ;
}

/* サイドバー */
#side {
 float : left ;
 width : 25% ;

 font-size : small ;
}

#side .side_item {
 display : block ;
 overflow : hidden ;

 /*padding-bottom : 32px ;/* footerがあるため無視 */
 margin-bottom : 12px ;
 margin-right : 12px ;

 background-color : #ffffff ; /* white */
 background-image : url(assets/templates/kameoka/images/bottomright.ie.png);
 background-position : right bottom;
 background-repeat : no-repeat;
}

#side .side_item .header {
 display : block ;
 width : 100% ;
 height : 32px ;
 padding-right : 2px ; /* IE6ではボックスのサイズが内容物のサイズから影響を受けるので最も幅の広いパーツに合わせる必要がある */
 overflow : hidden ;

 font-weight : bold ;

 background-repeat : no-repeat;
 background-position : right top;
 background-image : url(assets/templates/kameoka/images/topright.ie.png);
}

#side .side_item .caption {
 display : block ;
 height : 100% ;

 margin : 0 ;
 margin-right : 30px ;
 padding-top : 8px ;
 padding-bottom : 8px ;
 padding-left : 5% ;

 font-size : small ;
}

#side .side_item .footer {
 height : 32px ;
 margin-right : 30px ;
}

#side .side_item ul {
 margin : 0 ;
 list-style-type : none ;
 padding-left : 0 ;
}

#side_menu .category {
 width : 100% ;
}
#side_menu .category ul {
 display : none ;
 padding-left : 5% ;
}

#side_menu li {
 display : block ;
 border : 1px solid #e6f2ff;
 border-right : 1px solid #cfdae6;
 border-bottom : 1px solid #cfdae6;

 background-color : #d8ecff ;
 background-repeat : no-repeat ;
 background-position : 0 0.3em ;
 background-image : url(assets/templates/kameoka/images/navi_marker.gif) ;
}
#side_menu .item {
 display : block ;
 padding-top : 8px ;
 padding-bottom : 8px ;
 padding-left : 16px ;

 color : black ;
 text-decoration : none ;
 font-weight : bolder ;

 background-repeat : repeat-x ;
 background-position : 0 0 ;
 background-image : url(assets/templates/kameoka/images/side.button.png) ;
}
#side_menu li.current {
 border : 1px solid #e6f2ff;
 border-left: 1px solid #cfdae6;
 border-top: 1px solid #cfdae6;

 background-color : #cce5ff ;
}
#side_menu .item.current {
 background-image : url(assets/templates/kameoka/images/side.current.png) ;
}
#side_menu .category.active ul {
 display : block ;
}
#side_menu .item:hover {
 background-image : url(assets/templates/kameoka/images/side.hover.png) ;
}

#side #whatsnew .content {
 border-top : 1px solid #c0c6cc ;
 border-bottom : 1px solid #f0f7ff ;
}
#whatsnew .content {
 margin : 0 ;
 padding-left : 1ex ;
 padding-right : 0.5ex ;
 padding-bottom : 1ex ;
}
#whatsnew .date {
 font-size : x-small ;
}

/* 本文 */
#caption { 
 position : relative ;
 padding : 0.5ex 0 5px 1ex ;
 margin-left : -1ex ;

 background-position : bottom ;
 background-repeat : repeat-x ;
 background-image : url(assets/templates/kameoka/images/caption_back.png) ;
}

#contents_area {
 position : relative ;
 overflow : hidden ;
 float : left ;
 width : 484px ;

 padding-left : 30px ;
 padding-top : 32px ;
 padding-right : 20px ;
 padding-bottom : 0.5em ;
 
 background-color : #ffffff ; /* white */
}
#contents_area .decoration_top {
 position : absolute ;
 width : 100% ;
 height : 32px ;
 left : 0 ;
 top : 0 ;
 
 padding-left : 30px ;
 padding-top : 0.5ex ;

 background-color : transparent ; /* white */
 background-image : url(assets/templates/kameoka/images/topleft.ie.png) ;
 background-repeat : no-repeat ;
}

#contents_area div.imageArea {
 display : block ;
 width : auto ;
 height : auto ;
 
 margin : 1ex ;
 
 text-align : center ;
}

#content_area_end {
 clear : both ;
 width : 100% ;
 margin-top : 2em ;
 text-align : center ;
}

#contents_bottom {
 clear : both ;
 width : 100% ;
 height : 1px ;
}

/* フッター */
#footer {
 width : 100% ;
 padding-top : 1ex ;
 border-bottom : 1px solid #000080 ; /* navy */
 border-left : 0 none transparent ;
 border-right : 0 none transparent ;
}
#footer .footer {
 clear : both ;
}

#author_info {
 padding : 0 1ex 0.5ex ;
 font-size : small ;
 text-align : right ;
}
#author_info .ja {
 letter-spacing : 0.2ex ;
}
#author_info li {
 list-style-type : none ;
 margin : 0 auto ;
}
#author_info .company {
 display : block ;
 margin : 0 ;
 padding : 0 ;
 font-size : normal ;
 font-weight : bolder ;
}

#foot_navigator {
 position : relative ;
 margin : 0 1ex ;
}
#foot_navigator a {
 text-decoration : none ;
}

/*
# 経営理念 ------------------------------
*/
em.compary_idea {
 display : block ;
 
 margin : 0.5em 0 ;
 
 font-style : normal ;
 font-weight : bolder ;
 
 text-indent : -1.5em ;
}

/*
# 更新履歴 ------------------------------
*/
.news * {
 vertical-align : text-bottom ;
}
.news .caption {
 margin-bottom : 0.5ex ;
 font-size : inherit ;
}
.news .content {
 margin-top : 0 ;
}
.news .date {
 font-weight : normal ;
 font-size : smaller ;
}

/*
* サイトマップ ------------------------------
*/
.sitemap {
 font-weight : bold ;
 font-size : large ;
}
.sitemap * {
 margin-left : 0 ;
 list-style-type : none ;
}
.sitemap .category {
 font-weight : normal ;
 font-size : medium ;
}
.sitemap .folder ul {
 padding-left : 1em ;
}

/*
# 人物紹介 ------------------------------
*/
.photo {
 position : relative ;
 width : 100% ;
 height : 225px ;
 display : block ;
 padding : 8px ;
 margin-left : auto ;
 margin-right : auto ;
 margin-bottom : 2em ;
}
.photo img {
 display : block ;
 width : 225px ;
 height : 225px ;
 float : left ;
 margin : 0 0 8px ;
}
.photo .intro {
 display : block ;
 position : absolute ;
 left : 225px ;
 bottom : 0 ;
 padding-left : 1em ;
}
.photo .intro .title, .photo .intro .name {
 display : block ;
}
.photo .intro .name {
 font-size : large ;
}

/*
* ドキュメントグループ別 ------------------------------
*/
/*
* シングルペインのページ ------------------------------
*/
.singlepane #contents_area {
 width : auto ;
 float : none ;
 margin-bottom : 0 ;
}
.singlepane #contents_area .decoration_top {
 left : -30px ;
}

.singlepane #caption {
 margin: 0 auto 20px ;
 padding : 0 0 0 25px ;

 background-image : url(assets/templates/kameoka/images/heading_marker.png);
 background-position : left ;
 background-repeat : no-repeat ;

 font-size : x-large ;
 font-weight : normal ;
}

.singlepane h2 {
 margin-left : 0 ;
 padding-left : 1em ;
 border-left : 8px solid #003ade !important ;
 border-bottom : 1px solid #003ade ;
 
 background-image : none ;
 font-size : medium ;
}

/*
* Home ------------------------------
*/
.home #side {
 position : relative ;
 top : -330px ;
 margin-bottom : -330px ;
}
.home #side .caption {
 border-left : 1ex solid #ffc44d ;
 background-repeat : repeat-y ;
 background-image : url(assets/templates/kameoka/images/orangestripe.png) ;
}
.home #side .side_item .content {
 padding : 0.3em 0.3em 0.3em 0.6em ;
}
.home #global_navigation {
 background-image : url(assets/templates/kameoka/images/bottomright.ie.home.png) ;
}
.home #side .side_item .header {
 background-image : url(assets/templates/kameoka/images/topright.ie.home.png) ;
}


.home #contents_area {
 font-size : small ;
}
.home #mainvisual{
 width : 100% ;
 height : 16px ;
 padding-top : 310px ;
 margin: -4px 0 4px ;
 overflow : hidden ;

 background-color : #000000 ; /* black */
 background-repeat : no-repeat ;
 background-position : 100% 8px ; /* right top */
 background-image : url(assets/images/top.jpg) ;
 
 color : #cccccc ;
 font-size : 12px ;
 font-weight : normal ;
 text-align : right ;
}

.home .heading {
 padding-left : 1ex ;
 font-size : larger ;
}

.home #contents_area .heading {
 border-left : 1ex solid #4da6ff !important ;
 border-bottom : 1px solid #4da6ff !important ;
 background-color : #e6f2ff ;
}

/* ホームページのグローバルナビゲーション */
.home #global_navigation li a {
 display : block ;
 height : 1.5em ;
 margin : 0 ;
 padding-left : 14px ;

 font-weight : bolder ;

 background-repeat : no-repeat ;
 background-position : left center ;
 background-image : url(assets/templates/kameoka/images/navi_marker.gif) ;
}

.home #banners {
 position : absolute ;
 top : 0 ;
 right : 0 ;
 width : 200px ;
 padding : 1em 0 ;
}
.home #banners div {
 margin : 1em ;
}
.home #banners img {
 margin-left : 0em ;
 margin-right : 0em ;
}

.home #topics {
 margin-right : 200px ;
 padding-right : 1em ;
}

/*
* Products ------------------------------
*/
.products .product {
 width : 100% ;
 position : relative ;
 clear : both ;

 margin-top : 1em ;
 margin-bottom : 1em ;
}

.products #lead{
 margin-top : 1em ;
 margin-bottom : 1em ;
 font-weight : bold ;
 line-height : 150% ;
 letter-spacing : 1pt ;
}

.products #contents_area .product .heading {
 margin-top : 0 ;
}

.products #contents_area .product .show_details {
 display : block ;
 position : absolute ;
 width : 6em ;
 top : 0 ;
 right : 0 ;
 padding : 1ex ;

 text-align : right ;
 font-size : smaller ;
}

.products #contents_area .product img {
 display : block ;
 width : 200px ;
 height : 150px ;
 float : left;
 margin-left : 0 ;
}

.products #contents_area .product img.thumb {
 display : inline ;
 width : 100px ;
 height : 75px ;
 margin : 0.5ex ;
 padding : 0 ;
}

.products #contents_area .product .intro {
 width : 240px ;
 float : left ;
}
.products #contents_area .product .intro h3 {
 margin-top : 0 ;
 margin-bottom : 0.5ex ;
}
.products #contents_area .product .intro li {
 margin-left : 2em ;
}

.price {
 width : 200px ;
 clear : both ;
 border-bottom : solid 2px #ff0000 ; /* red */ 
}
.products #contents_area .product .price {
 margin : 1ex 0 0 auto ;
}

.price h3 {
 display : inline ;
 margin : 0 ;
 margin-right : 1em ;
 padding : 0 ;

 font-size : large ;
 vertical-align : middle ;
}

.price .value {
 font-size : x-large ;
 vertical-align : middle ;
}

/*
* What's New ------------------------------
*/
.whatsnew #caption {
 background-image : url(assets/templates/kameoka/images/headline_back.png) ;
}
.whatsnew #contents_area .phrase {
 border-bottom : 2px dashed #59aafa ;
}
.whatsnew #contents_area .heading {
 border-left : 0.5em solid #59aafa ;
}

