/*----------------------------------------------------------
  heartbit.css
-----------------------------------------------------------*/

/*setting
------------------------------------*/

body{
background: #ffffff url('/images/bg_2nd.gif') center top repeat-y;
font-size: 12px;
line-height: 160%;
height:100%;
color: #333333;
font-family: sans-serif;
}

body#index{
background: #ffffff url('/images/bg_index.gif') center top repeat-y;
}

* html body {
font-family: 'ＭＳ Ｐゴシック',sans-serif;
}

*:first-child+html body {
font-family: 'メイリオ','ＭＳ Ｐゴシック',sans-serif;
}



html{
height:100%;
}

* html div#outline{
height:100%;
}

a:hover img{
opacity:0.7;
filter: alpha(opacity=70);
}

/* index Link Color
--------------------------------*/
a:link {
color:#003399;
text-decoration:underline;
}

a:visited {
color:#003399;
text-decoration:underline;
}

a:hover {
color:#66CCCC;
text-decoration:underline;
}

a:active {
color:#66CCCC;
}


/* index Link Color
--------------------------------*/
body#index a:link {
color:#ff7f17;
text-decoration:none;
}

body#index a:visited {
color:#ff7f17;
text-decoration:none;
}

body#index a:hover {
color:#ff7f17;
text-decoration:underline;
}

body#index a:active {
color:#ff7f17;
}


/*outline
------------------------------------*/
#outline{
position:relative;
min-height: 100%;
}

body > #ouline{
height: auto;
}

#non_footer{
padding-bottom:70px;
}


/*header
------------------------------------*/
#header{
width: 698px;
border-left: 1px solid #ebebeb;
border-right: 1px solid #ebebeb;
margin-left: auto;
margin-right: auto;
height: 70px;
padding-top: 20px;
background: #ffffff;
}

h1{
font-size: 10px;
color: #aaaaaa;
font-weight: normal;
width: 400px;
float: left;
margin: 0;
padding: 0;
}

#lang{
float: right;
margin-top: 10px;
margin-right: 40px;
}

h1 img{
float: left;
}

h1 span{
display: block;
padding-top: 0px;
}

#header img.go_mail{
float: right;
}

/*menu
------------------------------------*/
#menu{
width: 698px;
border-left: 1px solid #ebebeb;
border-right: 1px solid #ebebeb;
margin-left: auto;
margin-right: auto;
height: 29px;
line-height: 0;
font-size: 0;
}

#menu ul{
margin: 0;
padding: 0;
}

#menu ul li{
float: left;
list-style-type: none;
}

#menu a:hover img{
opacity:1.0;
filter: alpha(opacity=100);
}

/*cate
------------------------------------*/
#cate{
width: 700px;
height: 296px;
margin-left: auto;
margin-right: auto;
}

#cate_mini{
width: 700px;
height: 50px;
margin-left: auto;
margin-right: auto;
}

.cate_info{
background: url('/images/bg_cate/info.jpg') center top no-repeat;
}

.cate_works{
background: url('/images/bg_cate/works.jpg') center top no-repeat;
}

.cate_mobile{
background: url('/images/bg_cate/mobile.jpg') center top no-repeat;
}

.cate_web{
background: url('/images/bg_cate/web.jpg') center top no-repeat;
}

.cate_writing{
background: url('/images/bg_cate/writing.jpg') center top no-repeat;
}

.cate_programming{
background: url('/images/bg_cate/programming.jpg') center top no-repeat;
}


.cate_mobile_en{
background: url('/images/bg_cate/en_mobile.jpg') center top no-repeat;
}

.cate_web_en{
background: url('/images/bg_cate/en_web.jpg') center top no-repeat;
}

.cate_writing_en{
background: url('/images/bg_cate/en_writing.jpg') center top no-repeat;
}

.cate_programming_en{
background: url('/images/bg_cate/en_programming.jpg') center top no-repeat;
}

.cate_web h2,
.cate_writing h2,
.cate_programming h2,
.cate_info h2,
.cate_works h2{
margin: 0;
padding: 0;
font-size: 12px;
font-weight: normal;
display: inline;
}

.cate_programming span{
color: #ffffff;
display: block;
padding: 215px 260px 10px 20px;
}

.cate_writing span{
color: #ffffff;
display: block;
padding: 215px 20px 10px 150px;
}

.cate_web span{
color: #ffffff;
display: block;
padding: 215px 160px 10px 20px;
}

.cate_info span,
.cate_works span{
color: #ffffff;
display: block;
padding: 15px 200px 10px 20px;
}

.cate_mobile h2{
margin: 0;
padding: 0;
width: 479px;
padding-top: 215px;
padding-left: 219px;
}

/*contents
------------------------------------*/
#contents{
width: 760px;
margin-left: auto;
margin-right: auto;
min-height: 100%;
}


/*main
------------------------------------*/
#main{
width: 474px;
float: right;
padding: 10px 30px 10px 10px;
}

#main p{
padding-right: 30px;
margin-left: 10px;
}

body#mobile #main h3{
background: url('/images/bg_h3_mobile.gif') center left no-repeat;
height: 27px;
font-size: 12px;
padding: 6px 10px 0 27px;
margin-bottom: 5px;
margin-top: 0;
color: #ffffff;
}

body#web #main h3{
background: url('/images/bg_h3_web.gif') center left no-repeat;
height: 27px;
font-size: 12px;
padding: 6px 10px 0 27px;
margin-bottom: 5px;
margin-top: 0;
color: #ffffff;
}

body#writing #main h3{
background: url('/images/bg_h3_writing.gif') center left no-repeat;
height: 27px;
font-size: 12px;
padding: 6px 10px 0 27px;
margin-bottom: 5px;
margin-top: 0;
color: #ffffff;
}

body#programming #main h3{
background: url('/images/bg_h3_programming.gif') center left no-repeat;
height: 27px;
font-size: 12px;
padding: 6px 10px 0 27px;
margin-bottom: 5px;
margin-top: 0;
color: #ffffff;
}

body#info #main h3{
background: url('/images/bg_h3_info.gif') center left no-repeat;
height: 27px;
font-size: 12px;
padding: 6px 10px 0 27px;
margin-bottom: 5px;
margin-top: 0;
color: #ffffff;
}

body#works #main h3{
background: url('/images/bg_h3_works.gif') center left no-repeat;
height: 27px;
font-size: 12px;
padding: 6px 10px 0 27px;
margin-bottom: 5px;
margin-top: 0;
color: #ffffff;
}


#main h4{
margin-bottom: 7px;
border-bottom: 1px dashed #cccccc;
border-left: 4px solid #9D9D9D;
padding-left: 5px;
margin-right: 25px;
}

/*pankuzu
------------------------------------*/
#pankuzu{
font-size: 11px;
border-bottom: 1px dashed #cccccc;
margin-right: 20px;
margin-bottom: 10px;
color: #666666;
}

/*kisekae
------------------------------------*/

table.kisekae{
margin-left: 10px;
margin-right: 30px;
}

table.kisekae th{
border: 1px solid #cccccc;
width: 150px;
background: #FEECC9;
font-weight: bold;
text-align: center;
}

table.kisekae td{
border: 1px solid #cccccc;
}


/*
dl.kisekae{
margin: 0;
padding: 0;
margin-bottom: 10px;
}

dl.kisekae dt{
width: 150px;
color: #2c92a1;
font-weight: bold;
text-align: right;
margin-bottom: 10px;
}

dl.kisekae dd{
margin-left: 170px;
margin-top: -2.4em;
margin-right: 30px;
}
*/

/*flow
-------------------*/

dl.flow{
margin: 0;
padding: 0;
margin-left: 10px;
margin-right: 30px;
}

dl.flow dt{
font-size: 12px;
font-weight: bold;
margin-bottom: 10px;
background: #F8F3ED;
padding: 5px;
border: 1px solid #cccccc;
color: #42301A;
}

dl.flow dd{
margin-bottom: 10px;
padding: 0 15px 0 50px;
background: url('/images/ya_flow.gif') left bottom no-repeat;
}

/*writing
------------------------------------*/
ul.writing{
margin: 0;
padding: 0;
margin-bottom: 10px;
background: #F2EDE3;
margin-left: 10px;
margin-right: 30px;
padding: 10px;
border: 1px solid #cccccc;
}

ul.writing li{
background: url('/images/bg_list_writing.gif') left bottom no-repeat;
margin-left: 0px;
padding-left: 15px;
list-style-type: none;
}

/*programming
------------------------------------*/
table.programming{
width: 434px;
margin-left: 10px;
margin-right: 15px;
}

table.programming td,
table.programming th{
border: 1px solid #cccccc;
vertical-align: top;
padding: 4px;
}

table.programming th.title{
background: #E9E9E9;
}

table.programming th.title span{
color: #316665;
}

table.programming th.system{
background: #CBE7E6;
}

table.programming th.lang{
background: #A3D3D2;
}

/*info
------------------------------------*/
table.profile{
width: 434px;
margin: 0 30px 10px 10px;
}

table.profile th,
table.profile td{
border: none;
border-bottom: 1px solid #cccccc;
}

table.profile th{
width: 120px;
font-weight: bold;
color: #FF6600;
}

table.profile th.year{
width: 70px;
}

table.profile th.month{
background: #FAF4ED;
width: 50px;
text-align: center;
}

div.map{
border: 1px solid #cccccc;
margin: 0 30px 15px 10px  ;
}

body#info table.profile b{
color: #FF9900;
}

body#info table.profile{
margin-bottom: 25px;
}

/*machiukeplus
------------------------------------*/

ul.list{
margin: 0;
padding: 0;
margin: 10px 30px 10px 20px;
}

ul.list li{
background: url('/images/bg_list_mobile.gif') left bottom no-repeat;
margin-left: 0px;
padding-left: 15px;
list-style-type: none;
}


/*form
------------------------------------*/
fieldset{
margin: 10px 30px 10px 15px;
}

fieldset dl{
margin: 0;
}

fieldset dl dt{
width: 150px;
float: left;
padding: 10px 0 10px 0;
clear: both;
color: #6699CC;
font-weight: bold;
}

fieldset dl dt.twolineunder{
width: 150px;
float: left;
padding: 0px 0 10px 0;
clear: both;
color: #6699CC;
font-weight: bold;
}

fieldset dl dd{
padding: 10px 0 10px 0;
margin: 0;
border-bottom: 1px solid #cccccc;
padding-left: 170px;
}

fieldset dl dd.twoline{
padding: 10px 0 20px 0;
margin: 0;
border-bottom: 1px solid #cccccc;
padding-left: 170px;
}

fieldset dl dd span{
color: #FF6600;
font-weight: bold;
}

input.submit{
padding: 10px;
margin: 5px;
}

fieldset textarea{
width: 250px;
}


/*works
------------------------------------*/

ul.works_list{
margin: 0;
padding: 0;
margin: 0 30px 10px 10px;
}

ul.works_list li{
background: url('/images/bg_list_works.gif') left bottom no-repeat;
list-style-type: none;
padding-left: 15px;
}

ul.works_list_image{
margin: 0;
padding: 0;
margin: 10px 30px 10px 10px;
}

ul.works_list_image li{
margin-left: 0px;
padding-left: 0px;
margin-right: 5px;
list-style-type: none;
color: #CC0000;
width: 205px;
float: left;
}

ul.works_list_image li img{
margin-top: 3px;
margin-bottom: 10px;
}


/*side
------------------------------------*/
#side{
width: 246px;
float: left;
}

img.side_title{
margin: 10px 0 10px 0;
}

/*submenu
------------------------------------*/
ul.submenu{
margin: 0;
padding: 0;
}

ul.submenu li{
list-style-type: none;
line-height:25px;
}

ul.submenu li a{
text-decoration:none;
color: #333333;
display: block;
height: 27px;
width: 173px;
line-height:25px;
margin-left: 42px;
padding: 3px 0 0 30px;
background: url('/images/bg_submenu_off.gif') no-repeat;

}

ul.submenu li a:hover{
background: url('/images/bg_submenu_on.gif') no-repeat;
}

ul.submenu li a.on{
background: url('/images/bg_submenu_on.gif') no-repeat;
font-weight: bold;
}


/*submenu works
------------------------------------*/
body#works ul.submenu{
margin: 0;
padding: 0;
}

body#works ul.submenu li{
list-style-type: none;
}

body#works ul.submenu li a{
text-decoration:none;
color: #333333;
display: block;
height: 27px;
width: 173px;
margin-left: 42px;
padding: 7px 0 0 30px;
background: url('/images/bg_submenu_works_off.gif') no-repeat;

}

body#works ul.submenu li a:hover{
background: url('/images/bg_submenu_works_on.gif') no-repeat;
}

body#works ul.submenu li a.on{
background: url('/images/bg_submenu_works_on.gif') no-repeat;
font-weight: bold;
}



/*footer
------------------------------------*/
#footer{
position: absolute;
bottom: 0;
height: 70px;
width: 100%;
clear: both;
}

#footer_inner{
width: 700px;
margin-left: auto;
margin-right: auto;
background: #222222 url('/images/bg_footer.jpg') left top repeat-x;
height: 60px;
color: #666666;
font-size: 10px;
text-align: center;
padding-top: 10px;
}

p.copyright{
font-family: Arial;
}

/* footer_inner Link Color
--------------------------------*/
#footer_inner a:link {
color:#aaaaaa;
text-decoration:underline;
}

#footer_inner a:visited {
color:#aaaaaa;
text-decoration:underline;
}

#footer_inner a:hover {
color:#ffffff;
text-decoration:underline;
}

#footer_inner a:active {
color:#ffffff;
}


/* footer_inner Link Color
--------------------------------*/
body#index #footer_inner a:link {
color:#aaaaaa;
text-decoration:underline;
}

body#index #footer_inner a:visited {
color:#aaaaaa;
text-decoration:underline;
}

body#index #footer_inner a:hover {
color:#ffffff;
text-decoration:underline;
}

body#index #footer_inner a:active {
color:#ffffff;
}



/*common
------------------------------------*/
img.img_right{
float: right;
margin: 0px 15px 10px 10px;
}

img.photo{
padding: 3px;
background: #ffffff;
border: 1px solid #cccccc;
}

img.qrcode{
padding: 10px;
background: #ffffff;
border: 1px solid #cccccc;
margin-right: 30px;
}

p.clear{
clear: both;
margin: 0;
padding: 0;
}

.text_right{
text-align: right;
margin: 7px 0 10px 0;
}

.textlink{
background: url('/images/bg_textlink.gif') left no-repeat;
padding: 0 0 0 15px;
}

strong{
font-weight: normal;
}

span.yellow{
border: 1px solid #cccccc;
background: #FFCC00;
padding: 5px;
margin-bottom: 5px;
font-size: 10px;
}

b.red{
color: #F00000;
}

p.right{
text-align: right;
}

.bclacenter{
margin-left:-50px;
}


/*top_flash
------------------------------------*/

#fla_menu{
width: 698px;
height: 460px;
margin-left: auto;
margin-right: auto;
}

/*top_flash_mobile
-----------------------*/

#fla_mobile{
width: 760px;
margin-left: auto;
margin-right: auto;
padding-bottom: 30px;
}

#mobile_swf{
width: 196px;
height: 455px;
float: left;
margin-left: 32px;
display: inline;
}

#mobile_html{
width: 442px;
height: 435px;
margin-left: 59px;
float: left;
}

#mobile_html h2{
margin-top: 10px;
}

#mobile_html p{
font-size: 10px;
margin-right: 40px;
margin-bottom: 20px;
}

#mobile_html img.in_mobile{
float: right;
margin-left: 25px;
}

#mobile_html ul{
margin: 0;
padding: 0;
margin-bottom: 10px;
}

#mobile_html ul li{
background: url('/images/list_mobile.gif') no-repeat ;
padding-left: 20px;
list-style-type: none;
padding-bottom: 3px;
}

#mobile_html ul li a.bold{
font-weight: bold;
color: #ff7f17;
}

#mobile_html ul li span{
font-size: 10px;
}

#mobile_gotop{
float: right;
height: 435px;
width: 31px;
}

#mobile_gotop img{
margin-top: 379px;
}




/*top_flash_web
-----------------------*/

#fla_web{
width: 760px;
margin-left: auto;
margin-right: auto;
margin-top: 50px;
}

#web_swf{
width: 203px;
height: 344px;
float: right;
padding-right: 31px;
text-align: right;
display: inline;
}

#web_html{
width: 495px;
height: 344px;
float: right;
}

#web_html h2{
margin-top: 0;
}

#web_html p{
font-size: 10px;
margin-right: 0px;
margin-bottom: 20px;
}

#web_html_box{
width: 297px;
float: right;
}

#web_html ul{
margin: 0;
padding: 0;
margin-bottom: 10px;
}

#web_html ul li{
background: url('/images/list_web.gif') no-repeat ;
padding-left: 20px;
list-style-type: none;
padding-bottom: 3px;
}

#web_gotop{
float: left;
height: 344px;
width: 31px;
text-align: right;
}

#web_gotop img{
margin-top: 278px;
}



/*top_flash_writing
-----------------------*/

#fla_writing{
width: 760px;
margin-left: auto;
margin-right: auto;
}

#writing_html{
width: 264px;
height: 370px;
float: left;
margin-left: 71px;
margin-right: 29px;
display: inline;
}

#writing_html h2{
margin-top: 75px;
}

#writing_html p{
font-size: 10px;
margin-right: 0px;
margin-bottom: 20px;
}

#writing_html ul{
margin: 0;
padding: 0;
margin-bottom: 10px;
}

#writing_html ul li{
background: url('/images/list_writing.gif') no-repeat ;
padding-left: 20px;
list-style-type: none;
padding-bottom: 3px;
}

#writing_swf{
width: 365px;
height: 370px;
float: left;
}

#writing_gotop{
float: right;
height: 370px;
width: 31px;
}

#writing_gotop img{
margin-top: 314px;
}

#web_html h2{
margin-top: 0;
}

#web_html p{
font-size: 10px;
margin-right: 0px;
margin-bottom: 20px;
}



/*top_flash_programming
-----------------------*/

#fla_programming{
width: 760px;
margin-left: auto;
margin-right: auto;
margin-top: 0px;
}

#programming_html_box{
width: 490px;
float: right;
margin-right: 71px;
display: inline;
}

#programming_html img.in_programming{
float: left;
margin-left: 0px;
}

#programming_swf{
width: 363px;
height: 252px;
float: right;
margin-right: 31px;
}


#programming_html h2{
margin-top: 0px;
}

#programming_html p{
font-size: 10px;
margin-right: 0px;
margin-bottom: 20px;
}

#programming_html ul{
margin: 0;
padding: 0;
margin-bottom: 10px;
}

#programming_html ul li{
background: url('/images/list_programming.gif') no-repeat ;
padding-left: 20px;
list-style-type: none;
padding-bottom: 3px;
}

#programming_gotop{
float: left;
height: 252px;
width: 31px;
text-align: right;
}

#programming_gotop img{
margin-top: 195px;
}





/*top_news
-----------------------*/

#news_html{
width: 670px;
margin-left: auto;
margin-right: auto;
padding-top: 20px;
}



table.news{
width: 668px;
margin: -10px 0px 0px 0px;
}

table.news #top{
border: none;
background: url('/images/news_01.gif') no-repeat ;
background-position:bottom;
padding-bottom:13px;
}

table.news #day{
border: none;
font-size: 12px;
font-weight:bold;
color: #FF6600;
padding: 0px 0px 0px 20px;
margin-top:-20px;
background: url('/images/news_02.gif') repeat ;
}

table.news #text{
border: none;
font-size: 12px;
background: url('/images/news_02.gif') repeat ;
padding: 0px 0px 10px 20px;
}

table.news #foot{
border: none;
background: url('/images/news_03.gif') no-repeat ;
}





