@charset "utf-8";
/* Reset Style
======================================================= */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
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, summary,
time, mark, audio, video{
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
body{
line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section{ 
display:block;
}
nav ul{
list-style:none;
}
blockquote, q{
quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after{
content:'';
content:none;
}
a{
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
/* change colours to suit your needs */
ins{
background-color:#ff9;
color:#000;
text-decoration:none;
}
/* change colours to suit your needs */
mark{
background-color:#ff9;
color:#000; 
font-style:italic;
font-weight:bold;
}
del{
text-decoration: line-through;
}
abbr[title], dfn[title]{
border-bottom:1px dotted;
cursor:help;
}
table{
border-collapse:collapse;
border-spacing:0;
}
/* change border colour to suit your needs */
hr{
display:block;
height:1px;
border:0;   
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}
input, select{
vertical-align:middle;
}
/* hattori add */
#contents img{
vertical-align:bottom;
}
/*----------------------------------------------------
DefaultLayout
----------------------------------------------------*/
html{
overflow-y:scroll;
font-size:62.5%;
}
body{
font-family:"メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
line-height:1.6;
letter-spacing:0.125em;
color:#4d4d4d;
font-size:16px;
font-size:1.6rem;
}
/* link
----------------------------------------------------*/
a{
color:#0094d9;
outline:none;
text-decoration:underline;
}
a:link{
color:#0094d9;
}
a:visited{
color:#0094d9;
}
a:hover{
color:#ff9500;
}
a:active{
color:#ff9500;
}
a:focus{
color:#ff9500;
}
/*----------------------------------------------------
GeneralLayout
----------------------------------------------------*/
/* clerfix */
/* --- clear fix --- */
.cf{zoom:1;}
.cf:before,.cf:after{content:""; display:table;}
.cf:after{clear:both;}
.clear{
clear:both;
}

.imgr{
float:right;
margin:0 0 10px 15px;
}
.imgl{
float:left;
margin:0 15px 10px 0;
}
.layout-c{
text-align:center;
}
.layout-r{
text-align:right;
}
.text{
overflow:hidden;
}
.font-s{
font-size:font-size:12px;
font-size:1.2rem;
}
.font-b{
font-size:font-size:18px;
font-size:1.8rem;
font-weight:bold;
}
#contents a:hover img,
#contents a:active img,
#contents a:focus img{
opacity:0.7;
filter:alpha(opacity=70);
-o-opacity:0.7;
-ms-filter:"alpha(opacity=70)";
-moz-opacity:0.7;
-webkit-opacity:0.7;
transition:opacity .2s linear;
-o-transition:opacity .2s linear;
-ms-transition:opacity .2s linear;
-moz-transition:opacity .2s linear;
-webkit-transition:opacity .2s linear;
}
/* mt */
.mt-image-left{
float:left;
margin:0 10px 10px 0;
}
.mt-image-center{
display:block;
margin:0 auto 10px;
text-align:center;
}
.mt-image-right{
float:right;
margin:0 0 10px 10px;
}
/*----------------------------------------------------
#page
----------------------------------------------------*/
#page{
background:url("/images/page-bg.jpg") repeat 0 0;
}
#toppage #page{
background:none;
}
/* #skipnav */
#skipnav a img{
display:none;
}
/*----------------------------------------------------
header
----------------------------------------------------*/
header{
background:url("/images/header-bg.jpg") repeat 0 0;
}
header .inner{
position:relative;
width:1280px;
height:245px;
margin:0 auto;
}
#toppage header .inner{
height:630px;
}

/* --- スライドショー --- */
#mainimg{
width:1280px;
height:245px;
overflow:hidden;
z-index:1;
}
#toppage #mainimg{
height:630px;
}

#logo{
position:absolute;
top:0;
left:571px;
z-index:10;
}
/* #gnav */
nav#gnav{
position:absolute;
top:205px;
left:160px;
width:990px;
z-index:10;
}
nav#gnav ul{
overflow:hidden;
}
nav#gnav ul li{
float:left;
width:168px;
height:40px;
margin-right:30px;
}
nav#gnav ul#opacity{
background:url("/images/gnav-bg.jpg") no-repeat 0 0;
}
nav#gnav ul#opacity li a{
display:block;
width:168px;
height:40px;
}
nav#gnav ul#opacity li a:hover img,
nav#gnav ul#opacity li a:active img,
nav#gnav ul#opacity li a:focus img,
nav#gnav ul#opacity li.on a img{
opacity:0;
filter:alpha(opacity=0);
-o-opacity:0;
-ms-filter:"alpha(opacity=0)";
-moz-opacity:0;
-webkit-opacity:0;
}

#toppage nav#gnav{
top:590px;
}
/*----------------------------------------------------
#contents
---------------------------------------------------- */
#contents{
padding-top:60px;
background:url("/images/contents-bg.jpg") repeat-x 0 0;
}
#toppage #contents{
padding-top:90px;
background:url("/images/toppage-bg.jpg") repeat-x 0 0;
}

#contents .inner{
width:960px;
margin:0 auto;
overflow:hidden;
}

#contents .more{
text-align:right;
}
/* --- 3カラム --- */
#main ul.layout-3col{
width:100%;
overflow:hidden;
}
#main ul.layout-3col li{
float:left;
width:32.20338983050847%;
margin-right:1.694915254237288%;
margin-bottom:1.694915254237288%;
padding:0;
background:none;
}
#main ul.layout-3col li:nth-child(3n){
margin-right:0;
}

/* トップページ
----------------------------------------------------*/
/* --- #top-service --- */
#top-service{
margin:0 auto 30px;
}
#main #top-service .cf > section{
float:left;
width:300px;
margin-right:30px;
padding:0 0 15px;
background:#f0f8fc;
}
#main #top-service .cf > section:last-child{
margin-right:0;
}
#main #top-service h2{
margin-bottom:30px;
text-align:center;
}
#main #top-service h3{
margin:0 10px 5px;
padding:0;
text-align:center;
font-size:23px;
font-size:2.3rem;
background:none;
}
#main #top-service h3 a{
text-decoration:none;
}
#main #top-service p{
margin:0 20px 10px;
font-size:14px;
font-size:1.4rem;
letter-spacing:0.02em;
}
#main #top-service .img{
margin:0 0 15px;
}

/* --- #main #news --- */
#main #news section{
border-radius:5px;
background:#f0f0f0;
}
#main #news section h2{
margin:0 0 20px;
padding:20px 0 0;
background:none;
text-align:center;
}
/* --- #flow--- */
#flow h4 span{
margin-right:8px;
padding:4px 7px;
background:#71bfe3;
font-size:12px;
font-size:1.2rem;
color:#fff;
}
#flow .box{
margin-bottom:20px;
padding-bottom:11px;
background:url("/images/arrow-flow.png") no-repeat bottom center;
}
#flow .box:last-child{
margin-bottom:30px;
padding:0;
background:none;
}
/*----------------------------------------------------
#main
---------------------------------------------------- */
#toppage #main{
background:none;
}
#main{
float:left;
width:630px;
margin-bottom:90px;
background:#fff;
border-radius:5px;
}
#pagetitle{
margin-bottom:20px;
background:url("/images/pagetitle-bg.png") no-repeat 0 0;
text-align:center;
line-height:83px;
font-size:28px;
font-size:2.8rem;
color:#fff;
}
#main section{
padding:0 20px 20px;
}
#main section h2{
margin:20px 0 20px;
padding:19px 15px 13px 20px;
background:url("/images/main-h2-bg.jpg") repeat-y 0 0;
font-size:18px;
font-size:1.8rem;
color:#003c66;
}
#main section h3{
margin:15px 0 10px;
padding-left:30px;
background:url("/images/main-h3-bg.png") no-repeat 0 center;
color:#003c66;
}
#main section h4{
margin-bottom:10px;
padding-bottom:5px;
border-bottom:2px solid #95cce5;
}
#main section p{
margin-bottom:15px;
}
#main section p.imgl,
#main section p.imgr{
margin-bottom:20px;
}

/* list
----------------------------------------------------*/
#main ul{
margin-bottom:10px;
}
#main ul li{
background:url("/images/list-bg.png") no-repeat 0 center;
padding-left:19px;
list-style:none;
}
#main ol{
margin-left:30px;
}
/* table
----------------------------------------------------*/
#main section table{
width:100%;
margin-bottom:10px;
border-collapse:separate;
border-spacing:0 2px;
}
#main section table th{
width:24%;
padding:15px 10px 10px 15px;
text-align:left;
font-weight:normal;
background:#dcf2fc;
border:1px solid #ccc;
}
#main section table td{
padding:10px 20px 5px;
border-top:1px solid #ccc;
border-right:1px solid #ccc;
border-bottom:1px solid #ccc;
}
/*----------------------------------------------------
#side
---------------------------------------------------- */
#side{
float:right;
width:300px;
margin-bottom:90px;
}
#side section{
margin-bottom:20px;
padding:20px;
border-radius:5px;
background:#fff;
}
#side section h2{
margin-bottom:15px;
padding-bottom:20px;
border-bottom:2px solid #0b4873;
text-align:center;
}
#side section h3{
margin-bottom:5px;
color:#0b4873;
}
#side section p{
margin-bottom:7px;
font-size:14px;
font-size:1.4rem;
line-height:1.4;
}

/* --- #side-service --- */
#side-service{
margin-bottom:30px;
}
#side-service .item{
margin-bottom:10px;
}
#side-service .service-name{
width:100%;
min-height:45px;
background:#fff;
}
#side-service p{
margin-right:10px;
padding:0 17px 0 20px;
font-size:18px;
font-size:1.8rem;
line-height:45px;
background:url("/images/arrow-gray.png") no-repeat right center;
}
#side-service a{
text-decoration:none;
}

#side-service p.img{
margin:0;
padding:0;
background:none;
line-height:normal;
}

/* --- #side #inquiry --- */
#toppage #side #inquiry section{
background:#f7fdff;
}
#side #inquiry section{
border-radius:5px;
background:#dcf2fc;
}
#side #inquiry section #tel{
width:260px;
height:50px;
margin-bottom:10px;
background:url("/images/side-inquiry-tel-bg.png") no-repeat 0 0;
}
#side #inquiry section #tel p{
padding-left:50px;
text-align:center;
font-size:22px;
font-size:2.2rem;
line-height:50px;
letter-spacing:0;
color:#0b4873;
font-weight:bold;
}
#side #inquiry section #mail{
margin-bottom:20px;
}
#inquiry .info{
padding-bottom:10px;
}
#inquiry .info p{
color:#0b4873;
}

/* バナー
----------------------------------------------------*/
#side .bnr li{
margin-bottom:10px;
list-style:none;
}
#side .bnr li:last-child{
margin:0;
}
/*----------------------------------------------------
footer
----------------------------------------------------*/
footer{
position:relative;
width:960px;
margin:0 auto;
font-size:14px;
font-size:1.4rem;
}
footer nav{
margin-bottom:10px;
padding:0 35px 0 10px;
border-bottom:1px solid #b5c8d5;
border-top:1px solid #b5c8d5;
}
footer nav ul{
overflow:hidden;
}
footer nav ul li{
float:left;
margin:0 10px;
line-height:37px;
}
footer nav a{
padding-left:12px;
background:url('/images/arrow-kon.png') no-repeat 0 center;
text-decoration:none;
}
footer nav a:link{
background:url('/images/arrow-kon.png') no-repeat 0 center;
text-decoration:none;
}
footer nav a:visited{
background:url('/images/arrow-kon.png') no-repeat 0 center;
text-decoration:none;
}
footer nav a:hover{
background:url('/images/arrow-kon.png') no-repeat 1px center;
text-decoration:underline;
}
footer nav a:active{
background:url('/images/arrow-kon.png') no-repeat 1px center;
text-decoration:underline;
}
footer nav a:focus{
background:url('/images/arrow-kon.png') no-repeat 1px center;
text-decoration:underline;
}

footer .pagetop{
position:absolute;
top:2px;
right:0;
}
footer .copyright{
margin-bottom:5px;
text-align:center;
color:#0b4873;
}
/*----------------------------------------------------
mailforompro
---------------------------------------------------- */
#acceptContent{
width: 590px;
}
#page form#mailformpro dl dt{
width:160px;
}
#page form#mailformpro dl dd{
padding-left:170px;
}
/* .mfp_buttons */
#page div.mfp_buttons button{
background:#666666;
border:1px solid #666666;
border-radius:10px;
-o-border-radius:10px;
-ms-border-radius:10px;
-moz-border-radius:10px;
-webkit-border-radius:10px;
box-shadow:0 0 2px #999999;
font-weight:bold;
padding:5px;
}
#page div.mfp_buttons button,
#page div.mfp_buttons button:link,
#page div.mfp_buttons button:visited{
color:#ffffff;
}
#page div.mfp_buttons button:hover,
#page div.mfp_buttons button:active,
#page div.mfp_buttons button:focus{
opacity:.80;
filter:alpha(opacity=80);
-o-opacity:.80;
-ms-filter:"alpha(opacity=80)";
-moz-opacity:.80;
-webkit-opacity:.80;
transition:opacity .2s linear;
-o-transition:opacity .2s linear;
-ms-transition:opacity .2s linear;
-moz-transition:opacity .2s linear;
-webkit-transition:opacity .2s linear;
}
/*----------------------------------------------------
Googlemap
---------------------------------------------------- */
#gmap iframe{
width:100%;
}