@charset "utf-8";


/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table.table, caption, tbody, tfoot, thead, tr, th, td {border: 0;font-family: inherit;font-size: 100%;font-style: inherit;font-weight: inherit;margin: 0;outline: 0;padding: 0;vertical-align: baseline;}
:focus {outline: 0;}

ol, ul {list-style: none;}
table.table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img{border: 0;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
/* -------------------------------------------------------------- */

body {
    color:#000;
    font-size:14px;
    font-family:'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, sans-serif;
    line-height:1.8;
    background:#fff;
    -webkit-text-size-adjust: none;
}

img {
    vertical-align: middle;
    max-width: 100%;
    height: auto;
}

#sidebar {
    line-height: 1.5;
}


/* common
------------------------------------------------------------*/
/* text-align */
.txtC { text-align: center; }
.txtR { text-align: right; }
.txtL { text-align: left; }

/* font-size */
.txt200 {
    font-size: 200%;
	font-weight:bold;
}

.txt150 {
    font-size: 150%;
}

.bold{
	font-weight:bold;
}

/* color */
.txtRed {
    color: #d82525;
}


.sankaku{
	width: 0;
	height: 0;
	border: 80px solid transparent;
	border-top: 80px solid #f00;
	margin:0px auto -50px;
}

.faq dt {
	margin:20px 0px 10px;
	font-weight:bold;
}

.faq dt::before {
    content: "Ｑ" ;
	background:#012362;
    border: 1px solid #012362;
    border-radius: 3px;
    color: #FFF;
	padding:0em 0.3em;
	margin:0px 0.5em 0px 0em;
}

.faq dd::before {
    content: "Ａ" ;
	background:#34689f;
    border: 1px solid #012362;
    border-radius: 3px;
    color: #FFF;
	padding:0em 0.3em;
	margin:0px 0.5em 0px 0em;
}

.mb20{margin-bottom:20px;}

.danger{
	color:#FF0000;
}

/* リンク設定
------------------------------------------------------------*/
a{color:#18abff;text-decoration:none;}
a:hover{color:#006699;}
a:active, a:focus {outline:0;}


/* 全体
------------------------------------------------------------*/
#wrapper{
    margin:0 auto;
    padding:0 1%;
    width:98%;
    position:relative;
}

.inner{
    margin:0 auto;
    width:100%;
}


/*************
/* ヘッダー
*************/
#header{
    padding: 10px 0;
    overflow: hidden;
}

#header h1{
    font-size:12px;
    font-weight:normal;
    margin: 0 0 5px;
}

/*************
/* ロゴ
*************/
.logo{
    float:left;
}

.logo p{
    float:left;
    line-height: 42px;
}

.logo img{
    width:auto;
    float:left;
    margin:17px 10px 0 0;
}

.logo span{display:block;}

/*************
/* 電話番号
*************/
header .info{
    float:right;
    text-align:center;
}

header a.tel {
    background-color: #fff;
    display: block;
    padding: 0px 0px;
	margin-bottom:10px;
}


header .info >img {
    margin: 0 0 10px;
}

header a.btn {
    background-color: #012362;
    display: block;
    padding: 8px 10px;
}

/*************
/* ロゴ+電話番号
*************/
.logo a {
    color: #333;
}

.logo{
    font-size:42px;
    font-weight:bold;
}

.logo span,.info span{
    font-size:.7em;
    font-weight:bold;
}


/**************************
/* メイン画像（トップページ+サブページ）
**************************/
#mainBanner{
    margin:0 auto 40px;
    width:100%;
}
#mainBanner >div {
    background-color: #012362;
    max-width: 930px;
    margin: 0 auto;
    overflow: hidden;
    padding: 15px;
}
#mainBanner .mailbtn {
    background: -moz-linear-gradient(top,#fff, #fff 50%,#e3ddbc 50%,#fff);
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(0.5,#fff), color-stop(0.5,#e3ddbc), to(#fff));
    border: 1px solid #012362;
    border-radius: 3px;
    color: #FFF;
}

div#mainBanner div a:hover{
	opacity:.7;
}


/**************************
/* グリッド
**************************/
.gridWrapper{
    padding-bottom:20px;
    overflow: hidden;
}

* html .gridWrapper{height:1%;}

.grid{
    float:left;
    border-radius:5px;
    background:#fff;
}

.box{
    margin:0 5px;
    padding:10px;
    border:1px solid #ebebeb;
}

.box img{
    max-width:100%;
    height:auto;
    border:4px solid #ebebeb;
}

.box h3{padding:10px 0 5px;}

.box h3, .box p{text-align:left;}

.box p.readmore{
    padding:10px 5px 5px;
    text-align:right;
}



/*************
メイン コンテンツ
*************/
section.content article{
    padding:10px;
    margin-bottom:20px;
    overflow:hidden;
}


section.content article h3{
	color:#012362;
	border-bottom:1px solid #34689f;
	font-weight:bold;
	margin-bottom:1em;
}

section.content article ul{
	list-style: inside;
}


* html section.content article{height:1%;}

h2.heading {
    background: url(./images/h2_bg.png) repeat-x left top;
    font-size: 130%;
    font-weight: bold;
    padding: 7px 10px;
}

aside#sidebar h3{
    background: -moz-linear-gradient(top, #e9edf8, #e6f6f8);
    background: -webkit-gradient(linear, left top, left bottom, from(#e9edf8), to(#e6f6f8));
    border-top: 2px solid #3c5db3;
    border-right: 1px solid #cad4ef;
    border-bottom: 1px solid #FFF;
    border-left: 1px solid #cad4ef;
    -moz-box-shadow: 0px 0px 1px rgba(000,000,000,0.3);
    -webkit-box-shadow: 0px 0px 1px rgba(000,000,000,0.3);
    font-weight:bold;
    padding:0 10px;
    line-height:40px;
    text-align: center;
}
aside#sidebar .btn ul li {
    background: -moz-linear-gradient(top, #e9edf8, #e6f6f8);
    background: -webkit-gradient(linear, left top, left bottom, from(#e9edf8), to(#e6f6f8));
}
aside#sidebar .btn ul li a {
    background: url(./images/common/arrow.png) no-repeat center left 10px;
    border: 1px solid #FFF;
    color: #000;
    -moz-box-shadow: 1px 1px 1px rgba(000,000,000,0.3);
    -webkit-box-shadow: 1px 1px 1px rgba(000,000,000,0.3);
    padding: 10px 10px 10px 22px;
}
aside#sidebar .btn ul li:hover {
    background: -moz-linear-gradient(top, #2c53be, #3b41b2);
    background: -webkit-gradient(linear, left top, left bottom, from(#2c53be), to(#3b41b2));
}
aside#sidebar .btn ul li a:hover {
    background: url(./images/common/arrow_w.png) no-repeat center left 10px;
    color: #fff;
}

.alignleft{
    float:left;
    clear:left;
    margin:3px 10px 10px 0;
}

.alignright{
    float:right;
    clear:right;
    margin:3px 0 10px 10px;
}

.boxrad {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2.3em;
	color: #079400;
	padding: 10px 20px;
	line-height:1.25em;
	background: -moz-linear-gradient(
		top,
		#ffffff 0%,
		#ffffff);
	background: -webkit-gradient(
		linear, left top, left bottom,
		from(#ffffff),
		to(#ffffff));
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	border: 3px solid #2ea100;
	-moz-box-shadow:
		0px 0px 0px rgba(000,000,000,0),
		inset 0px 0px 0px rgba(255,255,255,0);
	-webkit-box-shadow:
		0px 0px 0px rgba(000,000,000,0),
		inset 0px 0px 0px rgba(255,255,255,0);
	box-shadow:
		0px 0px 0px rgba(000,000,000,0),
		inset 0px 0px 0px rgba(255,255,255,0);
	text-shadow:
		0px 0px 0px rgba(000,000,000,0),
		0px 0px 0px rgba(255,255,255,0);
}


/*************
テーブル
*************/
table.table{
    border-collapse:collapse;
    margin:5px auto 15px auto;
	width:90%;
}

table.table td{
    border-collapse:collapse;
    background-color:#F9F9F9;
    text-align:left;
    padding:8px;
    border:1px solid #D6D6D6;
    line-height:20px;
}

table.table th{
    background-color:#F5F5F5;
    text-align:right;
    padding:8px;
    white-space:nowrap;
    color: #151515;
    border-top:1px solid #D4D4D4;
    border-right:4px solid #D4D4D4;
    border-bottom:1px solid #D4D4D4;
    border-left:1px solid #D4D4D4;
    font-size:13px;
    font-weight:normal;
    letter-spacing:1px;
    background-repeat:repeat-x;
    background-position:top;
	width:20%;
}


/*************
/* サイドバー
*************/

#sidebar li{
    list-style:none;
    border-bottom:1px solid #ebebeb;
}

#sidebar li a{
    display:block;
    padding: 8px 10px;
}

ul.list li{
    clear:both;
    margin-bottom:5px;
    padding:5px 0;
    overflow:hidden;
}

ul.list li{height:1%;}

ul.list li img{
    float:left;
    margin-right:10px;
}

ul.list li{
    font-size:12px;
    line-height:1.35;
}

#sidebar article.txtC{
    border:none !important;
}

/*************
/* フッター
*************/
#footer{
    clear:both;
}

#footer .menu {
    background:#012362;
    overflow:hidden;
    padding:20px 0;
}
#footer .info {
    background: url(./images/common/stripe.png) repeat left top #ccc;
    padding: 20px 0;
}
#footer .info >div {
    background-color: rgba(255, 255, 255, 0.7);
    border: 1px solid #fff;
    border-radius: 3px;
    overflow: hidden;
}
#footer .info p {
    background-color: #012362;
    color: #fff;
    font-size: 120%;
    margin: 0 0 10px;
    text-align: center;
}

* html #footer{height:1%;}

ul.footnav >li {
    color: #00a0e9;
}
ul.footnav li ul li a:before {
    content: ">";
    display: inline;
    float: left;
}
ul.footnav li ul li {
    color: #fff;
    font-weight: normal;
}
ul.footnav li ul li a {
    color: #fff;
}

address{
    clear:both;
    padding:5px;
    text-align:center;
    font-style:normal;
    font-size:12px;
}


/*************
トップページ
*************/
#top_01 p,
#top_03 p {
    margin: 0 0 20px;
}

#top_02 ol {
    background-color: #d8efff;
    padding: 15px;
    list-style: decimal;
    margin: 0 0 20px;
}

#top_02 ol li {
    border-bottom: 2px dotted #012362;
    margin: 0 0 15px 1.5em;
    padding: 0 0 15px;
}

#top_02 ol li:last-child {
    border: none;
    margin: 0 0 0 1.5em;
    padding: 0;
}

botton {
    font-size:24px;
    font-weight:bold;
    text-decoration:none;
    display:block;
    text-align:center;
    padding:10px 10px;
    color:#fff;
    background-color:#49a9d4;
    border-radius:5px;
    box-shadow:2px 2px #1a6ea0;
	vertical-align:1em;
	margin-top:1em;
}

botton a{color:#fff;}

/*form
------------------------------------------------------------*/
form table.table input{
width:98%;
}

form textarea{
	width:98%;
min-height:10em;
}



/* PC用
------------------------------------------------------------*/
@media only screen and (min-width: 960px){    
    header#header >div,
    nav#mainNav >div {
        margin: 0 auto;
        width: 960px;
    }

    nav#mainNav{
        background: -moz-linear-gradient(top, #002160, #80d1fd);
        background: -webkit-gradient(linear, left top, left bottom, from(#002160), to(#80d1fd));
        //border-top: 1px solid #ccc;
        //border-bottom: 1px solid #ccc;
        clear:both;
        padding: 6px 0;
        overflow:hidden;
        position:relative;
    }

    nav#mainNav ul li:last-child {

    }

    nav#mainNav ul li{
        background: url(./images/line.png) no-repeat right center;
        float: left;
        position: relative;
        padding: 0 8px 0 0;
        margin: 0 8px 0 0;
    }

    nav#mainNav ul li:last-child {
        background: transparent;
        padding: 0;
        margin: 0;
    }

    nav#mainNav ul li a{
        display: table-cell;
        text-align: center;
        _float:left;
        height:45px;
        color:#fff;
        padding: 4px 18px;
        vertical-align: middle;
    }

    nav#mainNav ul li a span,nav#mainNav ul li a strong{
        display:block;
    }

    #mainBanner >div >img {
        float: left;
    }
    #mainBanner .mailbtn {
        float: right;
        padding: 20px 18px;
    }

    nav div.panel{
        display:block !important;
        float:left;
    }

    a#menu{display:none;}

    nav#mainNav li.active a, nav#mainNav li a:hover{
        background-color: rgba(5, 30, 70, 0.5);
        color:#fff;
    }

    #mainBanner {
        background: -moz-linear-gradient(top, #002160, #80d1fd);
        background: -webkit-gradient(linear, left top, left bottom, from(#002160), to(#80d1fd));
        padding: 15px 0;
        text-align: center;
        width: 100%;
    }

    #wrapper,.inner{
        width:960px;
        padding:0;
    }

    #wrapper{padding-bottom:20px;}

    #main{
        float:right;
        width:720px;
    }

    #sidebar{
        float:left;
        width:220px;
        overflow:hidden;
    }

    #sidebar article:not(.btn) {
        margin-bottom:20px;
        border:1px solid #ebebeb;
        overflow:hidden;
    }
    #sidebar article.btn {
        border:1px solid #ebebeb;
        margin: 0 0 20px;
    }

    /* グリッド全体 */
    .gridWrapper{
        width:960px;
        margin:0 0 0 -10px;
    }

    #gallery article{padding:10px 0 10px 10px;}

    /* グリッド */
    .grid{
        float:left;
        width:300px;
        margin-left:20px;
    }

    #subpage .grid{width:auto;}

    #gallery .grid{
        width:auto;
        margin:10px 0 2px 10px;
    }

    /* フッター */
    ul.footnav .s {
        margin-left: 1em;
    }
    ul.footnav li ul li a {
        text-indent: -1em;
    }
    #footer .menu >div,
    #footer .info >div {
        margin: 0 auto;
        width: 960px;
    }
    ul.footnav >li{
        font-weight: bold;
        float: left;
        margin: 0 40px 0 0;
    }
    ul.footnav >li:last-child {
        margin: 0;
    }
    ul.footnav >li >a {
        background: url(./images/common/arrow_w.png) no-repeat center left;
        padding-left: 1em;
    }
    ul.footnav >li >a:hover {
        color: #fff;
    }
    #footer .info .l {
        float: left;
        padding: 20px 40px;
    }
    #footer .info .r {
        float: right;
        padding: 20px 40px;
    }
    ul.footnav li ul li a:hover{
        text-decoration: underline;
    }
}


@media only screen and (max-width:959px){
    *{
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }

    #header{
        height:auto;
        padding-bottom:20px;
    }

    #header h1,.logo,.info{text-align:center;}

    .logo {
        margin: 0 0 10px;
    }
    .logo,.info{
        clear:both;
        width:100%;
        float:none;
    }

    .logo p{float:none;display:block;}
    .logo img{float:none;padding:0;}

    nav#mainNav{
        clear:both;
        width:100%;
        margin:0 auto;
        padding:0;
        background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #f5f5f5), color-stop(0.5, #f0f0f0), color-stop(0.00, #f7f7f7));
        background: -webkit-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
        background: -moz-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
        background: -o-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
        background: -ms-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
        background: linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
        border:1px solid #e4e4e4;
    }

    nav#mainNav a.menu{
        width:100%;
        display:block;
        height:40px;
        line-height:40px;
        font-weight: bold;
        text-align:left;
    }

    nav#mainNav a#menu span{padding-left:10px;}
    nav#mainNav > a span:before{content: "→ ";}
    nav#mainNav a.menuOpen span:before{content: "↓ ";}

    nav#mainNav a#menu:hover{cursor:pointer;}

    #mainBanner >div {
        text-align: center;
    }
    #mainBanner >div >img {
        margin: 0 0 10px;
    }
    #mainBanner .mailbtn {
        padding: 18px;
		margin-top:10px;
    }

    nav .panel{
        display: none;
        width:100%;
        position: relative;
        right: 0;
        top:0;
        z-index: 1;
    }

    nav#mainNav ul li{
        float: none;
        clear:both;
        width:100%;
        height:auto;
        line-height:1.2;
        background:url(images/bg.png);
    }

    nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a{
        display: block;
        padding:15px 10px;
        text-align:left;
        border-bottom:1px dashed #ccc;
    }

    nav#mainNav ul li:first-child a{
        border-top:1px solid #e4e4e4;
    }

    nav#mainNav ul li:last-child a{border:0;}

    nav#mainNav ul li.active a{	color:#006699;}

    nav div.panel{float:none;}

    #subpage #mainBanner{max-width:720px;}

    #sidebar article{margin: 0 0 15px;}

    #footer .grid,#footer ul.footnav{
        float:none;
        width:100%;
        text-align:center;
    }

    ul.footnav .b {
        padding: 10px 0;
    }
    ul.footnav .b span {
        padding: 0 0 0 10px;
    }
    ul.footnav .s br {
        display: none;
    }
    ul.footnav li{
        text-align: left;
    }
    ul.footnav >li {
        border-bottom: 1px solid #2d57a5;
    }
    ul.footnav >li:last-child {
        border-bottom: none;
    }
    ul.footnav li a {
        display: block;
    }
    ul.footnav li ul li a {
        padding: 2px 0 2px 10px;
    }
    ul.footnav li ul li a:hover {
        background-color: #a6daf5;
        color: #006699;
    }
    ul.footnav >li >a {
        background: url(./images/common/arrow_w.png) no-repeat center left 10px;
        padding: 10px 0 10px 25px;
    }
    ul.footnav >li >a:hover {
        background: url(./images/common/arrow.png) no-repeat center left 10px #a6daf5;
    }

    .grid{
        width:32%;
        margin:10px 0 0 1%;
    }

    #gallery .grid{
        float:left;
        width:31%;
        margin:0 0 0 1%;
    }

    #footer .info >div {
        text-align: center;
        margin: 0 2%;
        padding: 20px;
    }

    #footer .info .l {
        margin: 0 0 25px;
    }

    #footer .grid img, #footer .info{float:none;}
    #footer .grid p{display:block;}
    #footer #info .info{float:none;text-align:center;}

    #footer .logo,#footer .info{
        width:100%;
        float:none;
    }

    #footer .logo p{float:none;display:block;}
    #footer .logo img{float:none;padding:0;}
}


/* スマートフォン 横(ランドスケープ) */
@media only screen and (max-width:640px){
    .box img{
        max-width:180px;
        float:left;
        margin-right:5px;
    }

    .box h3{padding-top:0;}

    .alignleft,.alignright{
        float:none;
        display:block;
        margin:0 auto 10px;
    }

    #gallery .grid{float:left;}
}


/* スマートフォン 縦(ポートレート) */
@media only screen and (max-width:480px){
	div.logo p{
font-size:36px;
}
	
	
    .grid{width:100%;}
    .box img{max-width:100px;}
    #mainBanner h2,#mainBanner p{font-size:80%;}
}