@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
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,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*================================================
 *  一般・共通設定
 ================================================*/
body {
    width:100%;
    margin:0 auto;
    font-size:14px;
    color:#002a5a;
    font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    line-height:1.6;
}

header {
	width:940px;
	margin:10px auto;
}

#toptitle {
	float:left;
	width:100%;
	position: relative;
	max-width: 360px;
	margin-top: 6px;
	margin-left: 3px;
	margin-bottom: 6px;
}

#toplogo {
	float:left;
	width:250px;
	position: relative;
}
nav {
    width:100%;
}

#contents {
    width:940px;
    margin:10px auto;
}

#main {
    float:left;
    width:670px;
}

#sub {
    float:right;
    width:250px;
}

#subnav {
    display:none;
}

section {
    margin-bottom:50px;
}

a {
    color:#5773FF;
    text-decoration:none;
}
a:hover {
	color:#39F;
}

h1 {
	color:#004a9e;
	;
	font-size:24px;
	line-height:1.2;
}
h1 a {
    color:#444444;
    text-decoration:none;
}
h1 a:hover {
	color:#004a9e;
	text-decoration:none;
}

h2 {
    margin-bottom:0.5em;
    padding-left:10px;
    font-size:21px;
    color:#004a9e;
    border-left:5px solid #004a9e;
}

h3 {
	margin-bottom:0.5em;
	padding:2px 5px;
	color:#004a9e;
	font-size:18px;
	border-bottom:1px solid #004a9e;
}

h4 {
    margin-bottom:0.25em;
    font-size:18px;
    color:#004a9e;
}
h4:before {
    content:"\002605";
    color:#004a9e;
}

h5 {
    margin-bottom:0.25em;
    padding:2px;
    color:#444444;
    font-size:16px;
    border-top:1px dotted #999;
    border-bottom:1px dotted #999;
    background:#f1f1f1;
}

h6 {
    margin-bottom:0.25em;
    color:#382400;
    font-size:14px;
    font-weight:bold;
}

p {
    margin:0 0 1em 0;
}

img {
    vertical-align:bottom;
}

em {
    font-weight:bold;
}

strong {
    font-weight:bold;
    color:#004a9e;
}

pre {
    margin:1em 0;
    padding:1em;
}

blockquote {
    margin-bottom:1em;
    padding:1em;
    border:1px dotted #ddd;
    border-left:5px solid #ddd;
}

ul,ol,dl {
    margin:0 0 1em 0;
}
ul li {
    list-style:disc;
}
ol li {
    list-style:decimal;
}
li {
    margin-left:2em;
}

dt {
    margin-bottom:0.5em;
    border-bottom:1px dotted #ddd;
}
dt:before {
    content:"\0025a0";
}
dd {
    margin-bottom:1em;
}

table {
    width:100%;
    margin-bottom:1em;
    border-collapse:collapse;
    border:1px solid #ddd;
}
th {
    padding:10px;
    text-align:center;
    vertical-align:middle;
    border:1px solid #ddd;
    background:#f5f5f5;
}
td {
    padding:10px;
    text-align:left;
    border:1px solid #ddd;
}

/*================================================
 *  ヘッダー
 ================================================*/
header {
    position:relative;
}
header h1 {
    margin-top:3px;
    margin-bottom:6px;
}

.contact {
    position:absolute;
    top:0;
    right:0;
    vertical-align:top;

}

.contact a {
	display:block;
	padding:5px 10px 5px 29px;
	color:#fff;
	background:#004a9e;
	border-radius:4px;
	text-decoration:none;
	background-color: #0066ff;
	background-image: url(../images/mail.png);
	background-repeat: no-repeat;
	background-position: 10px 50%;
}

.contact a:hover {
	color:#fff;
	background-color: #0066ff;
	background-image: url(../images/mail.png);
	background-repeat: no-repeat;
	background-position: 10px 50%;
}

.summary {
    clear:both;
}

/*================================================
 *  グローバルナビゲーション
 ================================================*/
nav {
	margin-bottom:8px;
	padding:0;
	overflow:hidden;
	background-color: #bdd7ff;
}
nav ul {
    width:940px;
    margin:0 auto;
    padding:0;
}
nav li {
    float:left;
    list-style:none;
    margin:0;
    padding:0;
}
nav li a {
    display:block;
    width:157px;
    padding:10px 0;
    color:#444444;
    text-align:center;
    text-decoration:none;
}
nav li:first-child a {
    width:155px;
}
nav li a:hover {
    color:#ffffff;
    text-decoration:none;
    background:#002a5a;
}

/*================================================
 *  サブコンテンツ
 ================================================*/
.submenu li {
    font-size:9px;
    margin:0;
    padding:0;
    list-style:none;
}
.submenu li a:before {
    content:"\0025a0";
    color:#444444;
}


.submenu li a {
    display:block;
    padding:5px 2px;
    color:#444444;
    border-bottom:1px dotted #ddd;
    text-decoration:none;
}
.submenu li a:hover {
    background:#bdd7ff;
}

.bnr li {
    font-size:10px;
    line-height: 1.2;
    margin:0 0 20px 0;
    padding:0;
    list-style:none;
}
.bnr li a {
    display:block;
    padding:5px 5px;
    color:#444444;
    border-bottom:1px dotted #ddd;
    text-decoration:none;
}
.bnr li a:hover {
    opacity:0.8;
    filter:alpha(opacity=80);
    -ms-filter:"alpha( opacity=80 )";
}
.bnr img {
    width:200px;
}

/*================================================
 *  フッター
 ================================================*/
footer {
    clear:both;
}

.footmenu {
    width:100%;
    padding:20px 0;
    overflow:hidden;
    border-top:1px dotted #ccc;
    border-bottom:1px dotted #ccc;
}
.footmenu ul {
    position:relative;
    float:left;
    left:50%;
    margin:0;
}
.footmenu li {
    position:relative;
    left:-50%;
    float:left;
    list-style:none;
    padding:0 10px;
    font-size:12px;
    text-align:center;
}

.copyright {
    clear:both;
    padding:20px 0;
    font-size:11px;
    text-align:center;
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
    position:fixed;
    bottom:15px;
    right:15px;
}
.totop a {
    display:block;
    text-decoration:none;
}
.totop img {
    background:#004a9e;
}
.totop img:hover {
    background:#004a9e;
}

/*================================================
 *  クラス
 ================================================*/
.att {
  padding-left: 3.5em;
  text-indent: -2.5em;
}

.textL {
    text-align:left;
}

.textSS {
    font-size:12px;
}

.textR {
    text-align:right;
}

.list {
    padding:0 0 0 0.5em;
}

.list li {
    margin:0;
    padding:0 0 0 15px;
    list-style:none;
    background:url(../images/check.png) 0 5px no-repeat;
}

.photo {
    overflow:hidden;
    margin:20px 0;
    padding:10px;
    border:5px solid #ddd;
    background:#fff;
}

.imgL {
    float:left;
    margin:0 10px 10px 0;
}

.imgR {
    float:right;
    margin:0 0 10px 10px;
}

.info dt {
    border-bottom:none;
}
.info dd {
    padding-bottom:1em;
    border-bottom:1px solid #ddd;
}

/*================================================
 *  トップページ
 ================================================*/
/* スライドショー */
.slide {
    position:relative;
    overflow:hidden;
}

.slidePrev {
    position:absolute;
    cursor:pointer;
    z-index:100;
}

.slideNext {
    position:absolute;
    cursor:pointer;
    z-index:100;
}

.slidePrev img {
    position:absolute;
    width:50px !important;
    height:60px !important;
}

.slideNext img {
    position:absolute;
    width:50px !important;
    height:60px !important;
}

.slideInner {
    position:relative;
    margin:0 0 5px 0;
    padding:0;
}
.slideInner li {
    float:left;
    margin:0;
    padding:0;
    list-style:none;
}
.slideInner li img {
    margin:0 5px;
    padding:0;
}

.filterPrev {
    position:absolute;
    left:0;
    opacity:0.7;
    filter:alpha(opacity=50);
    background-color:#fff;
}

.filterNext {
    position:absolute;
    right:0;
    opacity:0.7;
    filter:alpha(opacity=50);
    background-color:#fff;
}

.controlNav {
      position:relative;
      float:left;
      left:50%;
}
.controlNav span {
      position:relative;
      left:-50%;
      float:left;
      margin:5px;
      -webkit-border-radius:5px;
      -moz-border-radius:5px;
      border-radius:5px;
      width:10px;
      height:10px;
      overflow:hidden;
      background:#abc3ff;
      text-indent:-9999px;
      vertical-align:middle;
}
.controlNav span:hover {
      background:#999;
      cursor:pointer;
}
.controlNav span.current {
      background:#000066;
}

/* トップナビ */
* html .topNavi {
    height:1em;
    overflow:visible;
}

.topNavi {
    overflow:hidden;
    position:relative;
    margin-right:-2%;
    margin-top:20px;
    margin-bottom:20px;
    clear:both;
}

.topNaviColumn {
    display:inline;
    width:32%;
    float:left;
    margin-right:1%;
}

.topNaviCon {
    position:relative;
    display:block;
    box-sizing:border-box;
    overflow:hidden;
    padding:10px;
    text-decoration:none;
    color:#444444;
    transition:background 0s ease 0s, border 0.5s ease-out 0s;
    background:#efefff;
    border:0px solid #f1f1f1;
    border-radius:4px;
}

.topNaviCon:hover {
    color:#444444;
    background:#e3e3ff none repeat scroll 0 0;
    border:0px solid #004a9e;
    transition:background 0s ease 0s, border 0.5s ease-out 0s;
}

.topNaviCon h2 {
    margin:10px;
    padding:0;
    font-size:14px;
    font-weight:bold;
    color:#004a9e;
    border:none;
}

.topNaviCon:hover h2 {
    color:#004a9e;
}

.topNaviCon p {
    margin:10px;
}

.topNaviPhoto img {
    width:100%;
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:779px) {
    body {
        box-sizing:border-box;
        width:100%;
        padding:0 10px;
    }

    header {
        width:100%;
    }

    header h1 {
        margin-bottom:0;
    }

    .contact {
        position:relative;
        float:right;
        margin:10px 0;
    }

    #contents {
        width:100%;
}

    #main {
        float:none;
        width:100%;
    }

    #sub {
        float:none;
        width:100%;
    }

    .bnr {
        overflow:hidden;
        margin-right:-2%;
    }

    .bnr li {
        float:left;
        width:48%;
        margin:0 2% 2% 0;
    }

    .bnr li img {
        width:100%;
    }

    /* メインメニュー */

    nav {
        display:block;
        position:relative;
        width:100%;
    }
    nav h3 {
        cursor:pointer;
        margin-bottom:0;
        color:#fff;
        background:#00234a;
        border:none;
    }
    nav h3:after {
        position:absolute;
        content:"\0025bc";
        top:3px;
        right:5px;
    }
    nav h3.menuOpen:after {
        position:absolute;
        content:"\0025b2";
        top:3px;
        right:5px;
    }
    nav ul {
        width:100%;
    }

    nav li {
        width:100%;
        margin:0;
        padding:0;
        list-style:none;
    }
    nav li:first-child a {
        width:100%;
    }

    nav li a {
        display:block;
        width:100%;
        border-bottom:1px dotted #ddd;
        text-decoration:none;
    }

    /* トップナビ */
    .topNavi {
        margin-right:0;
    }

    .topNaviColumn {
        display:block;
        box-sizing:border-box;
        width:100%;
        float:none;
        margin-right:0;
        margin-bottom:10px;
    }
}
