@charset "utf-8";

/* CSS Document */


/*全体系*/

body {
    font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
    margin: 0;
    line-height: 24px;
    font-size: 14px;
}

h1,
h2,
h3,
ul,
p {
    margin: 0;
    padding: 0;
}

{
    margin: 0;
    padding: 0;
}

li {
    list-style: none;
    ｓ
}

a {
    text-decoration: underline;
    color: #000;
}

a:hover {
    text-decoration: underline;
    color: #FC6;
}

table {
    border-collapse: collapse;
}

table th {
    font-weight: normal;
}


/*ホバーしたとき画像を白くするためのCSS*/

a.hover_img img {
    transition: all 0.5s ease;
}

a:hover.hover_img img {
    opacity: 0.7;
    filter: alpha(opacity=70);
}


/*ホバーしたとき画像をグレーにするためのCSS*/

a.hover_img2 {
    background-color: #000;
    /*背景を白に設定*/
    display: block;
    /*ブロック化重要！*/
}

a.hover_img2 img {
    transition: all 0.5s ease;
}

a:hover.hover_img2 img {
    opacity: 0.8;
    filter: alpha(opacity=70);
}


/*リンク関連*/

.t_d_n {
    text-decoration: none;
}


/*スライド関連*/

#slideshow img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 8;
    opacity: 0.0;
}

#slideshow img.active {
    z-index: 10;
    opacity: 1.0;
}

#slideshow img.last-active {
    z-index: 9;
}


/*フォント関連*/

.size10 {
    font-size: 10px;
}

.size12 {
    font-size: 12px;
}

.size13 {
    font-size: 13px;
}

.size14 {
    font-size: 14px;
}

.size15 {
    font-size: 15px;
}

.size16 {
    font-size: 16px;
}

.size17 {
    font-size: 17px;
}

.size18 {
    font-size: 18px;
}

.size20 {
    font-size: 20px;
}

.size21 {
    font-size: 21px;
}

.size22 {
    font-size: 22px;
}

.size24 {
    font-size: 24px;
}

.size28 {
    font-size: 28px;
}

.size30 {
    font-size: 30px;
}

.bold {
    font-weight: bold;
}

.black {
    color: #000;
}

.white {
    color: #fff;
}

.gray {
    color: #494c59;
}

.red {
    color: #F00;
}

.blue {
    color: #00F;
}

.fw_normal {
    font-weight: normal;
}


/*背景色*/

.bg_white {
    background-color: #fff;
}

.bg_lite_blue {
    background-color: #dbe7ff;
}


/*寄せ関連*/

.center {
    margin-left: auto;
    margin-right: auto;
}

.t_align_center {
    text-align: center;
}

.t_align_right {
    text-align: right;
}


/*高さ*/

.h10 {
    height: 10px;
}

.h135 {
    height: 135px;
}


/*幅*/

.w10par {
    width: 10%;
}

.w20par {
    width: 20%;
}

.w30par {
    width: 30%;
}

.w40par {
    width: 40%;
}

.w50par {
    width: 50%;
}

.w60par {
    width: 60%;
}

.w70par {
    width: 70%;
}

.w80par {
    width: 80%;
}

.w90par {
    width: 90%;
}

.w100par {
    width: 100%;
}

.w70 {
    width: 70px;
}

.w150 {
    width: 150px;
}

.w170 {
    width: 170px;
}

.w165 {
    width: 165px;
}

.w200 {
    width: 200px;
}

.w241 {
    width: 241px;
}

.w260 {
    width: 260px;
}

.w300 {
    width: 300px;
}

.w400 {
    width: 400px;
}

.w420 {
    width: 420px;
}

.w615 {
    width: 615px;
}

.w630 {
    width: 630px;
}

.w650 {
    width: 650px;
}

.w680 {
    width: 680px;
}

.w800 {
    width: 800px;
}

.w880 {
    width: 880px;
}

.w960 {
    width: 960px;
}

.w970 {
    width: 970px;
}

.w1000 {
    width: 1000px;
}

.w1070 {
    width: 1070px;
}

.w1281 {
    width: 1281px;
}


/*マージン関連*/

.mb5 {
    margin-bottom: 5px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb15 {
    margin-bottom: 15px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb100 {
    margin-bottom: 100px;
}

.ml10 {
    margin-left: 10px;
}

.ml15 {
    margin-left: 15px;
}

.ml20 {
    margin-left: 20px;
}

.ml30 {
    margin-left: 30px;
}

.ml50 {
    margin-left: 50px;
}

.ml80 {
    margin-left: 80px;
}

.ml100 {
    margin-left: 100px;
}

.mr10 {
    margin-right: 10px;
}

.mr15 {
    margin-right: 15px;
}

.mr30 {
    margin-right: 30px;
}

.mr50 {
    margin-right: 50px;
}

.mr100 {
    margin-right: 100px;
}

.mt5 {
    margin-top: 5px;
}

.mt10 {
    margin-top: 10px;
}

.mt15 {
    margin-top: 15px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt50 {
    margin-top: 50px;
}

.mt100 {
    margin-top: 100px;
}


/*パディング関連*/

.pl10 {
    padding-left: 10px;
}

.pl15 {
    padding-left: 15px;
}

.pl30 {
    padding-left: 30px;
}

.pl100 {
    padding-left: 100px;
}

.pl130 {
    padding-left: 130px;
}

.pt10 {
    padding-top: 10px;
}

.pt20 {
    padding-top: 20px;
}

.pt30 {
    padding-top: 30px;
}

.pt50 {
    padding-top: 50px;
}

.pb10 {
    padding-bottom: 10px;
}

.pb30 {
    padding-bottom: 30px;
}


/*行高さ関係*/

.lh26 {
    line-height: 26px;
}


/*フロート関連*/

.float_l {
    float: left;
}

.float_r {
    float: right;
}

.clear {
    clear: both;
}

.clearfix:after {
    content: "";
    clear: both;
    display: block;
}


/*サイト固有スタイル*/

.wideslider {
    width: 100%;
    text-align: left;
    position: relative;
    overflow: hidden;
}

.wideslider ul,
.wideslider ul li {
    float: left;
    display: inline;
    overflow: hidden;
}

.wideslider ul li img {
    width: 100%;
    display: none;
}

.wideslider_base {
    top: 0;
    position: absolute;
}

.wideslider_wrap {
    top: 0;
    position: absolute;
    overflow: hidden;
}

.slider_prev,
.slider_next {
    top: 0;
    overflow: hidden;
    position: absolute;
    z-index: 100;
    cursor: pointer;
}

.slider_prev {
    background: #fff url(../img/prev.jpg) no-repeat right center;
}

.slider_next {
    background: #fff url(../img/next.jpg) no-repeat left center;
}

.pagination {
    bottom: 10px;
    left: 0;
    width: 100%;
    height: 15px;
    text-align: center;
    position: absolute;
    z-index: 200;
}

.pagination a {
    margin: 0 5px;
    width: 15px;
    height: 15px;
    display: inline-block;
    overflow: hidden;
    background: #333;
}

.pagination a.active {
    filter: alpha(opacity=100)!important;
    -moz-opacity: 1!important;
    opacity: 1!important;
}


/* =======================================
    ClearFixElements
======================================= */

.wideslider ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}

.wideslider ul {
    display: inline-block;
    overflow: hidden;
}

#index #header {
    background: url(../img/front.png) no-repeat center top;
    height: 320px;
    width: 100%;
    margin: -50px 0 0 0;
    position: relative;
    z-index: 1000;
}

#header .headerTop {
    width: 950px;
    margin: 0 auto;
    position: relative;
    padding-top: 100px;
}

#index #header h1 {}

#index #header h1 {
    float: left;
    width: 205px;
}

#index #header .headerR {}

#header .headerR {
    float: right;
    width: 740px;
}

p.htel {
    margin: 0 0 15px 250px;
}


/*グローバルメニューに関するCSS*/


/*親メニューについて*/

.menu ul {
    margin: 0;
    padding: 0;
}

.menu ul li.m2 {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 12px;
    /*フォントサイズ*/
    float: left;
    position: relative;
    width: 116px;
    /*親メニューの幅*/
    height: 40px;
    /*親メニューの高さ*/
    line-height: 12px;
    /*行の高さ*/
    background: #FF7200;
    /*親メニューの背景色*/
    color: #4D4D4D;
    /*親メニューの文字色*/
    text-align: center;
    font-weight: 100;
    border-left: #a09fa1 1px dotted;
    padding-top: 20px;
}

.menu ul li.m2 a {
    color: #4D4D4D;
    display: block;
    text-decoration: none;
}

.menu ul li.m2:hover,
.menu ul li.m2 a:hover {
    background: #00A2D9;
    /*ホバー時の親メニューの背景色*/
    color: #fff;
    /*ホバー時の親メニューの文字色*/
}

.menu ul li {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 16px;
    /*フォントサイズ*/
    float: left;
    position: relative;
    height: 40px;
    /*親メニューの高さ*/
    line-height: 12px;
    /*行の高さ*/
    background: #fff;
    /*親メニューの背景色*/
    color: #4D4D4D;
    /*親メニューの文字色*/
    text-align: center;
    font-weight: 100;
    padding-top: 10px;
    margin-left: 19px;
}

.menu ul li a {
    color: #4D4D4D;
    display: block;
    text-decoration: none;
}

.menu ul li:hover,
.menu ul li a:hover {
    background: #00A2D9;
    /*ホバー時の親メニューの背景色*/
    color: #2C589F;
    /*ホバー時の親メニューの文字色*/
}

.menu ul li.m1 {
    height: 45px;
    width: 288px;
    padding: 15px 0 0 10px;
}

.menu ul li.m1 a {
    color: #fff;
    display: block;
    text-decoration: none;
}

.menu ul li.m1:hover,
.menu ul li.m1 a:hover {
    background: #fff;
    /*ホバー時の親メニューの背景色*/
    color: #fff;
    /*ホバー時の親メニューの文字色*/
}


/*サブメニューについて*/

.menu ul li ul {
    position: absolute;
    top: 45px;
    /*親メニューの高さと同じにする*/
    z-index: 100;
}

.menu ul li ul li {
    visibility: hidden;
    overflow: hidden;
    height: 0;
    background: #fff;
    /*サブメニューの背景色*/
    padding-top: 15px;
    font-size: 14px;
}

.menu ul li ul li:hover,
.menu ul li ul li a:hover {
    background: #CCECF8;
    /*ホバー時のサブメニューの背景色*/
}

.menu ul li:hover ul li,
.menu ul li a:hover ul li {
    visibility: visible;
    overflow: visible;
    height: 30px;
    /*サブメニューの高さ*/
    z-index: 10;
    color: #000;
}


/*全てのメニューについて（ここではアニメーションの指定）*/

.menu * {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -ms-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}


/*ステップの箱CSS*/

.txtbox_out {
    background: #f6fafd;
    padding: 6px;
}

.txtbox {
    background: #eaf4fa;
    border: 1px solid #c9dbe6;
    padding: 25px;
}

.step dt {
    padding: 0 0 3px 0;
}

.txtbox dt {
    border-bottom: 3px solid #2D54A3;
    font-weight: bold;
    font-size: 20px;
}

dt,
dd {
    line-height: 27px;
    margin-left: 0;
}

.step dt span {
    background: url(../img/step_bg.png) 0 0 no-repeat;
    color: #fff;
    font-weight: bold;
    padding: 8px 45px 4px 19px;
    font-size: 18px;
}

.txtbox dd {
    background: #fff;
    padding: 15px;
    border-radius: 15px;
    margin-top: 15px;
}


/*テーブルのスタイル*/

.section .section {
    padding: 0 0 50px 0;
}

.section {
    padding: 0 0 35px;
}

table {
    border: 1px solid #1978b7;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    border-collapse: inherit !important;
    border-bottom: none;
}

table {
    width: 100%;
}

table {
    font-size: inherit;
    color: #333;
    line-height: 1.4;
}

table {
    margin-bottom: 25px;
}

table {
    border: 1px solid #1978b7;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    border-collapse: inherit !important;
    border-bottom: none;
}

th {
    font-weight: bold;
    text-align: center;
    background-color: #2c54a3;
    color: #FFFFFF;
}

th,
td {
    /* border: 1px solid #1978b7; */
    padding: 1em;
}

table td:last-child {
    border-right: none;
}

table td {
    border-right: 1px solid #1978b7;
    border-bottom: 1px solid #1978b7;
}

table th:first-child {
    border-top-left-radius: 12px;
}

.table01 {
    border-bottom-left-radius: 15px;
    border-top-right-radius: 0;
}

.table01 th.normal {
    border-top-left-radius: 0;
}

.table01 th:first-child {
    border-bottom: 1px solid #fff;
    border-right: none;
}

.table01 th.bt_radius {
    border-top-left-radius: 0;
    border-bottom-left-radius: 12px;
    border-bottom: none;
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
　　　　　　　グローバルナビゲーション
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

div#navi {}

div#navi ul {
    width: 715px;
    margin: 0 auto;
    text-align: right;
}

div#navi ul li {
    float: right;
    text-align: center;
    position: relative;
    margin-left: 15px;
}

div#navi ul li a {
    display: block;
    font-size: 14px;
    text-decoration: none;
}

div#navi ul li ul {
    position: absolute;
    top: 100%;
}

div#navi ul li ul li {
    float: none;
    height: 0;
    overflow: hidden;
    width: 170px;
    color: #fff;
    text-align: left;
    padding-left: 15px;
    background-color: #fff;
    -moz-transition: .2s;
    -webkit-transition: .2s;
    -o-transition: .2s;
    -ms-transition: .2s;
    transition: .2s;
}

div#navi ul li ul li a {
    border: none;
    width: 170px;
}

div#navi ul li:hover ul li {
    overflow: visible;
    height: 30px;
    padding-top: 5px;
    border-top: 1px solid #fff;
}

div#navi ul li ul li:hover {
    background-color: #ccecf8;
}

div#navi ul li ul li a:hover {
    color: #333;
}

/*お知らせ*/
.infoArea {
    width: 100%;
    margin-top: -4px;
    box-sizing: border-box;
    padding: 30px 3% 0;
    background: url(../img/info_bg.png);
}
.infotxt {
    background: #EDF1F9;
    padding: 1% 2%;
    border-radius: 5px;
    max-width: 970px;
    margin: 0 auto;
}
.infotxt span {
    display: block;
    font-weight: bold;
    color:#0A3DA6;
}
/******/

.con_all {
    margin-top: -50px;
}

.navi-icon {
    color: #c00000;
    font-size: 16px;
}

.front-bg {
    background: url(../img/front.png) no-repeat 50% 0%;
    height: 352px;
}

.front-bg2 {
    background: url(../img/front.png) no-repeat 50% 0%;
    height: 190px;
    margin-top: -50px;
}

/*.front-bg3 {
    background: url(../img/front2.png) no-repeat 50% 0%;
    height: 532px;
}*/
.front-top {
    background: url(../img/front_top.png) no-repeat 50% 0%;
}
.front_bottom{
    width: 100%;
    margin-top: -5px;
}
.seido{
    padding: 80px 0;
    text-align: center;
    background: #EDF1FA;
}
.seido p{
    font-size: 18px;
    margin-bottom: 30px;
    font-size: 18px;
    margin-bottom: 30px;
    line-height: 1.8;
}
.seido p span{
    color: #2c54a3;
}

.front-bg-innner {
    padding-top: 87px;
}

.base-color-bg {
    background-color: #0a3da6;
}

.bnr8-box {
    width: 223px;
    float: left;
    margin: 0 0 15px 15px;
}

.bnr8-box-last {
    width: 223px;
    float: left;
    margin: 0 0 100px 15px;
}

.bg_h2 {
    background: url(../img/h2.jpg) no-repeat 0% 100%;
    color: #2c54a3;
    font-size: 30px;
    margin: 30px 0px;
    padding: 15px 0px;
    font-weight: normal;
}

.red {
    color: #c00000;
}

.link_pages {
    width: 823px;
    margin: 0 auto;
    margin-top: 100px;
    margin-bottom: 50px;
}

.link_pages > a {
    display: block;
    width: 205px;
    height: 41px;
    float: left;
    margin-left: 1px;
    margin-top: 1px;
    text-align: center;
    font-size: 16px;
    text-decoration: none;
    padding-top: 20px;
}

.link_pages > a:hover {
    background-color: #ffd67e;
}

.link_pages .no {
    margin-left: 0px;
}

.link_pages > a {
    background-color: #eaeaea;
    color: #151515;
}

.link_pages .active {
    background-color: #0A3DA6;
    color: #fff;
}

.txtbox_out {
    background: #f6fafd;
    padding: 6px;
}

.txtbox {
    background: #eaf4fa;
    border: 1px solid #c9dbe6;
    padding: 25px;
}

.step dt span {
    background: url(../img/step_bg.png) 0 0 no-repeat;
    color: #fff;
    font-weight: bold;
    padding: 8px 45px 4px 19px;
    font-size: 18px;
}

.h3 {
    color: #0a3da6;
    padding: 10px 0 10px 15px;
    background-color: #eaf4fa;
    font-size: 20px;
    margin-bottom: 20px;
}

.si_bg {
    background: url(../img/si.jpg);
    padding: 15px 20px 20px 20px;
    margin-bottom: 10px;
}

.qu_bg {
    padding: 15px 20px 20px 20px;
    margin-bottom: 40px;
}

.san_box {
    text-align: center;
    margin-bottom: 10px;
}

.h4 {
    text-decoration: underline;
    color: #004bb9;
    font-size: 18px;
    margin: 0;
}

.q_dl {
    border-bottom: 1px dotted #c1c1c1;
}

.q_dl > dt {
    width: 25px;
    float: left;
    font-weight: bold;
    margin-bottom: 10px;
}

.q_dl > dt > .q {
    color: #f00;
}

.q_dl > dd {
    width: 905px;
    float: left;
    margin-bottom: 10px;
}

.q_dl> dt > .ans {
    color: #0054ff;
}
.kikaku_img {
    width: 866px;
    margin: 0 auto;
    margin-bottom: 80px;
    
} 
.h5 {
    font-size: 17px;
    font-weight: bold;
    color: #004bb9;
    margin-bottom: 15px;
}

.hl {
    color: #c00000;
    font-size: 18px;
    border-bottom: 3px double #c00000;
    border-top: 3px double #c00000;
    padding: 7px 0 6px 5px;
    margin-bottom: 20px;
}

.hl2 {
    font-size: 17px;
    font-weight: bold;
    background: url(../img/qua_hl.jpg) no-repeat 0% 50%;
    padding: 10px 0px 5px 20px;
}

.mind_img_box {
    text-align: right;
    line-height: 20px;
}

.mes {
    border: 4px solid #dadada;
    padding: 20px 0px;
    color: #484747;
    background-color: #f7f7f7;
    width: 610px;
    text-align: center;
    font-size: 20px;
    margin: 0 auto;
    margin-bottom: 30px;
}
.mes > span {
    font-size: 18px;
    color: #969696;
}

.com_box_l {
    float: left;
    width: 170px;
    padding-left: 15px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.com_box_r {
    float: left;
    padding-top: 5px;
    padding-bottom: 5px;
}
.com_box_r > ul >li:nth-child(odd) {
    width: 45px;
    float: left;
    text-align: right;
 }
.com_box_r > ul >li:nth-child(even) {
    padding-left: 10px;
    width: 730px;
    float: left;
 }

.hr1 {
    border: none;
    border-bottom: 1px solid #ccc;
}

.con_tel {
    font-size: 22px;
    padding-left: 30px;
    margin-bottom: 50px;
}

.case_box {
    border: 5px solid #eee;
    padding: 10px;
    margin-bottom: 50px;
}
ul.news {
    padding: 20px;
}