@charset "utf-8";
/* RESET
==================================================== */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form, label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main,summary,time,mark,audio,video,a,input,textarea{ margin:0;padding:0; border:0; font-size:100%; background:transparent; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; box-sizing:border-box;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main{ display:block;}
nav ul{ list-style:none;}
ul{ list-style:none;}
blockquote,q{ quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{ content:''; content:none;}
pre,code,kbd,samp{ font-family:monospace,monospace; font-size:inherit;}
table{ border-collapse:collapse; border-spacing:0;}
img{ border:0;}
address,caption,cite,code,dfn,em,th,var{ font-style:normal; font-weight:normal;}
caption,th{ text-align:left;}
h1,h2,h3,h4,h5,h6{ font-size:100%; font-weight:normal}
sup{ vertical-align:text-top; font-size:75%;}
sub{ vertical-align:text-bottom; font-size:75%;}
input,textarea,select{ z-index:auto; font-family:inherit; font-size:inherit; font-weight:inherit; vertical-align:middle;}
a{ outline:none;}
audio:not([controls]){ display:none;}
time{ display:inline;}
[hidden]{ display:none;}
input::-ms-clear,input::-ms-reveal,input:focus::-ms-clear,input:focus::-ms-reveal{ visibility:hidden; display:none;}
button::-moz-focus-inner,input[type="reset"]::-moz-focus-inner,input[type="button"]::-moz-focus-inner,input[type="submit"]::-moz-focus-inner,input[type="file"]>input[type="button"]::-moz-focus-inner{ padding:0; border:0;}
body {-webkit-text-size-adjust:100%; -webkit-font-smoothing:antialiased;}

/* BASE CONFIGURATIONS
==================================================== */
body{font-size:15px; font-family:'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',"游ゴシック",YuGothic,Meiryo,メイリオ,Helvetica,Osaka,Arial,sans-serif,Geneva; color:#333333; line-height:1.8;}

.mincho {font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HGP明朝E","ＭＳ Ｐ明朝",serif;}
.times  {font-family:"Times New Roman","游明朝",YuMincho,"ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN","メイリオ", Meiryo, serif;}

::-moz-selection{background:#333; color:#fff; text-shadow:none;}
::selection{background:#333; color:#fff; text-shadow:none; }
a:link{color:#249BD9; text-decoration:none;}
a:visited{ color:#249BD9; text-decoration:underline;}
a:hover{ color:#249BD9; text-decoration:underline;}
a:active{ color:#249BD9;}

* {max-height: 999999px;}

/* CONTENTS
==================================================== */
html,body {margin:0; padding:0;}
body {position:static; overflow:auto; width:auto; *overflow-y:hidden; background:url(/common/img/body_bg.jpg) center top no-repeat;}
body.sp{background-size:cover;}

main {margin:0 auto 20px; width:1000px; zoom:1; position:relative; overflow:hidden; background:#fff;/*-webkit-box-shadow:0 0 10px #fff, inset 0 0 20px rgba(0,0,0,.1); -moz-box-shadow:0 0 10px #fff, inset 0 0 20px rgba(0,0,0,.1); box-shadow:0 0 10px #fff, inset 0 0 20px rgba(0,0,0,.1);*/}

article {width:920px; margin:30px auto 0; clear:both; zoom:1; position:relative; z-index:0; padding:0 0 92px; background:url(/common/img/dot.png) center bottom no-repeat;}
article:after{content:''; clear:both; display:block;}
#home article {width:960px;}

section {width:100%; margin:0 auto; clear:both; zoom:1; position:relative; z-index:0; padding:0;}
section:after{content:''; clear:both; display:block;}
.section {width:100%; margin:0 auto; clear:both; zoom:1; position:relative; z-index:0; padding:0;}
.section:after{content:''; clear:both; display:block;}

#commonHeader{width:1000px; margin:20px auto; background:#fff; position:relative; /* -webkit-box-shadow:0 0 10px #fff, inset 0 0 20px rgba(0,0,0,.1); -moz-box-shadow:0 0 10px #fff, inset 0 0 20px rgba(0,0,0,.1); box-shadow:0 0 10px #fff, inset 0 0 20px rgba(0,0,0,.1);*/
padding:49px 20px 19px; zoom:1; min-height:110px;}
.ie8 #commonHeader {min-height:inherit;}
#commonHeader:before{content:'';width:0; height:0; border-style:solid; border-width:12px 11px 0 12px; border-color:#ffffff transparent transparent transparent;
position:absolute; left:50%; top:100%; margin-left:-11px;}
#commonHeader:after{cotnent:''; clear:both; display:block;}
#commonHeader h1{position:absolute; left:28px; top:20px;}
#commonHeader nav {padding-left:294px;}
#commonHeader nav ul {background:url(/common/img/gn.png) left top no-repeat; height:42px;}
#commonHeader nav ul li {float:left; width:169px; font-size:0;}
#commonHeader nav ul li a {width:160px; height:42px; display:block; background:url(/common/img/gn.png) left -50px no-repeat;}
#commonHeader nav ul li a{filter:alpha(opacity=0); -moz-opacity:0; opacity:0; -webkit-transition:opacity 0.3s ease; -moz-transition:opacity 0.3s ease; -o-transition:opacity 0.3s ease; -ms-transition:opacity 0.3s ease; transition:opacity 0.3s ease;}
#commonHeader nav ul li a:hover {filter:alpha(opacity=100); -moz-opacity:1; opacity:1;}
#commonHeader nav ul li.active a{filter:alpha(opacity=100); -moz-opacity:1; opacity:1;}
#commonHeader nav ul li:nth-child(2) {width:168px;}
#commonHeader nav ul li:nth-child(2) a{background-position:-169px -50px;}
#commonHeader nav ul li:nth-child(3) {width:168px;}
#commonHeader nav ul li:nth-child(3) a{background-position:-337px -50px;}
#commonHeader nav ul li:nth-child(4) {width:160px;}
#commonHeader nav ul li:nth-child(4) a{background-position:-505px -50px; margin:0;}

#home #commonHeader nav ul li:nth-child(1) a{filter:alpha(opacity=100); -moz-opacity:1; opacity:1;}
.ie8 #home #commonHeader nav ul li:nth-child(1) a {border:1px solid #fff; position:relative; left:-1px; top:-1px;}
#service #commonHeader nav ul li:nth-child(2) a{filter:alpha(opacity=100); -moz-opacity:1; opacity:1;}
.ie8 #service #commonHeader nav ul li:nth-child(2) a {border:1px solid #fff; position:relative; left:-1px; top:-1px;}
#company #commonHeader nav ul li:nth-child(3) a{filter:alpha(opacity=100); -moz-opacity:1; opacity:1;}
.ie8 #company #commonHeader nav ul li:nth-child(3) a {border:1px solid #fff; position:relative; left:-1px; top:-1px;}
#contact #commonHeader nav ul li:nth-child(4) a{filter:alpha(opacity=100); -moz-opacity:1; opacity:1;}
.ie8 #contact #commonHeader nav ul li:nth-child(4) a {border:1px solid #fff; position:relative; left:-1px; top:-1px;}


aside {padding:40px 40px 0;}
aside section {width:40%; float:left; border-right:#ccc 1px solid;}
aside h1{font-size:16px; margin-bottom:10px; font-weight:bold;}
aside h1 a{color:#333 !important;}
aside address {font-size:15px; line-height:1.5;}
aside address span{font-weight:bold;}
aside nav{width:60%; zoom:1; overflow:hidden; float:right; padding:4px 40px 0;}
aside nav ul li {float:left; font-size:13px; width:30%;}
aside nav ul li:nth-child(even){width:70%;}
aside nav ul li a {color:#249BD9; position:relative; padding:0 0 0 1.4em;}
aside nav ul li a:before{content:'→'; position:absolute; left:0; top:0.2em;line-height:1em;}
aside footer {background:#333; text-align:center; height:46px; line-height:46px; font-size:10px; color:#fff; margin:0 -40px 40px; clear:both; zoom:1; position:relative; top:40px;}

#base h2{font-size:18px; font-weight:bold; margin-bottom:16px; position:relative;}
#base h2.dot{background:url(/common/img/dot.png) left bottom no-repeat;}
#base h2 span.arr {background:url(/common/img/iconArr.png) left 0.25em no-repeat; padding:0 0 0 48px; display:inline-block; margin-left:35px;}
#base h3{font-size:16px; font-weight:bold; margin-bottom:0px; position:relative;}
#base h4{font-size:16px; font-weight:bold; margin-bottom:0px; position:relative;}
#base p{margin-bottom:10px;}
#base p + h2{margin-bottom:36px; top:20px;}
#base figure{margin-bottom:10px; font-size:0; padding:25px 0 0;}
#base figure.center{text-align:center;}
#base figure + h2{margin-bottom:36px; top:20px;}
#base ul{margin-bottom:10px;}
#base ul li{position:relative; padding-left:1em;}
#base ul li:before{content:'・'; position:absolute; left:0; top:0;}
#base ul.orange li:before{color:#FF7700;} 
#base ul + h2{margin-bottom:36px; top:20px;}
#base table + h2 {margin-bottom:36px; top:20px;}
#base section + h2 {margin-bottom:36px; top:20px;}
#base dl.case {clear:both; zoom:1;}
#base dl.case:after{cotnent:''; clear:both; display:block;}
#base dl.case dt{float:left; font-size:13px; background:#FF7700; color:#fff; padding:5px 7px; line-height:15px;}
#base dl.case dd{zoom:1; overflow:hidden; padding:5px 0 5px 13px; line-height:15px;}

#base .pageHeader {margin:0 0 5px;}
#base .pageHeader h1 {color:#249AD8; font-weight:bold; font-size:24px; border-bottom:5px solid #ccc; padding:0 0 6px; margin-bottom:13px;}
#base .pageHeader h1 span {display:inline-block; position:relative;}
#base .pageHeader h1 span:before{content:''; width:100%; height:5px; position:absolute; left:0; bottom:-11px; background:#249ad8;}
#base .pageHeader h2{font-size:20px; font-weight:bold; margin-bottom:0;}
#base .pageHeader + h2 {margin-bottom:36px; top:20px;}
#base .pageHeader + table {margin-top:40px;}

main .borderBox {
-webkit-border-radius: 8px 7px 7px 8px/7px 7px 6px 6px;
-moz-border-radius: 8px 7px 7px 8px/7px 7px 6px 6px;
border-radius: 8px 7px 7px 8px/7px 7px 6px 6px;
background-color: #fff;
-webkit-box-shadow: 0 0 10px #fff, inset 0 0 20px rgba(0,0,0,.1);
-moz-box-shadow: 0 0 10px #fff, inset 0 0 20px rgba(0,0,0,.1);
box-shadow: 0 0 10px #fff, inset 0 0 20px rgba(0,0,0,.1);
border: solid 1px rgba(0,0,0,.25);
padding:19px 20px 13px; margin:0 0 20px;
}
.ie8 main .borderBox{border:1px solid #ccc;}

/* table */
main table {width:100%; margin-bottom:20px; clear:both; zoom:1; font-size:13px; border:1px solid #ddd; color:#545454;}
main table.vertical th{text-align:left; width:230px;}
main table caption {font-weight:bold; margin-bottom:14px; color:#333;}
main table td,main table th {text-align:left; line-height:1.2; border:1px solid #ddd;}
main table th{background:#ddd; font-weight:bold; text-align:center; font-size:15px; vertical-align:middle;}
main table th span {display:block; padding:14px 20px; border:1px solid #fff;}
main table.vertical th span {vertical-align:top;}
main table td{padding:15px 20px;}
main table td p,
main table td ul {line-height:1.5; margin:0 !important;}
main table td ul + p {margin-top:16px !important;}

#base p + table{margin-bottom:40px; top:20px; position:relative;}

#pageTop {clear:both; zoom:1; font-size:0; position:relative; top:-20px;}
#pageTop p{position:absolute; right:0; bottom:0px;}
#pageTop p{position:fixed; z-index:100; display:none;}
.sp #pageTop p {position:absolute !important; right:20px !important; top:-50px;}
#pageTop p a{display:block; background:url(/common/img/pagetop_o.png) left top no-repeat;}
#pageTop p a:hover img{filter:alpha(opacity=0); -moz-opacity:0; opacity:0; -webkit-transition:opacity 0.3s ease; -moz-transition:opacity 0.3s ease; -o-transition:opacity 0.3s ease; -ms-transition:opacity 0.3s ease; transition:opacity 0.3s ease;}


@media screen and (min-width:641px){}
@media screen and (min-width:641px) and (max-width:768px){}
@media screen and (max-width:640px){}

@media print {
#commonFooter {display:none;}
#commonHeader {position:absolute;}
#pageTop {display:none;}
/*html {-webkit-filter:grayscale(100%) saturate(109%) hue-rotate(0deg);}  白黒 */
}