@charset "UTF-8";

/* ↓↓reset↓↓ */
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, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed,figure, figcaption, footer, header, hgroup,menu, nav, output, ruby, section, summary,time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
}
main,article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {
    display: block;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
address{
    font-style: inherit;
}
h1,h2,h3,h4,h5,h6{
    font-weight: normal;
}
a{
    outline:none;
    text-decoration: none;
    color: inherit;
}
a:visited{
    text-decoration: none;
}
button{
    outline: none;
    border: none;
    cursor: pointer;
}
:placeholder-shown {
    color: #ababab;
}
::-webkit-input-placeholder {
    color: #ababab;
}
:-moz-placeholder {
    color: #ababab;
}
::-moz-placeholder {
    color: #ababab;
}
:-ms-input-placeholder {
    color: #ababab;
}
*,*:before,*:after{
    text-size-adjust:none;
    -webkit-text-size-adjust:none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
*:before,*:after{
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
input[type="submit"],input[type="text"],button{
    appearance:none;
    -webkit-appearance:none;
}
/* ↑↑reset↑↑ */

/*-------------------------------
    common
-------------------------------*/
html,body{
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #000000;
    line-height: 1.6;
    height: 100%;
}
html.on, body.on{
    overflow:hidden;
}
img{
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}


/* ↓↓ページ構成↓↓ */
#left_side {
    display: none;
}
#main_content {
    width: 100%;
}
#right_side {
    display: none;
}
/* ↑↑ページ構成↑↑ */



/*-------------------------------
    util
-------------------------------*/
/* cur */
.cur-def{cursor: text!important;}

/* elm */
.ovh{overflow: hidden;}

/* la */
.posr{position: relative;}
.posa{position: absolute;}

/* w */
.w100p{width: 100%;}

/* mg */
.m-center{margin-left: auto;margin-right: auto;}

/* dis */
.di{display: inline;}
.db{display: block;}
.dn{display: none;}
.dib{display: inline-block;}
.dif{display: -webkit-inline-flex;display: -moz-inline-flex;display: -ms-inline-flex;display: -o-inline-flex;display: inline-flex;}

.ai-center{-ms-align-items: center;align-items: center;}
.ai-end{-ms-align-items: flex-end;align-items: flex-end;}

.jc-between{justify-content: space-between;}
.jc-center{justify-content: center;}
.jc-around{justify-content: space-around;}

.fxw{-webkit-flex-wrap: wrap;-moz-flex-wrap: wrap;-ms-flex-wrap: wrap;-o-flex-wrap: wrap;flex-wrap: wrap;}
.fxd-column{-webkit-flex-direction: column;-moz-flex-direction: column;-ms-flex-direction: column;-o-flex-direction: column;flex-direction: column;}

/* bg */
.bgr-no{background-repeat: no-repeat;}
.bgz-cover{-webkit-background-size: cover;background-size: cover;}

/* txt */
.tal{text-align: left;}
.tac{text-align: center;}
.tar{text-align: right;}
.taj{text-align: justify;}

.fwb{font-weight: bold;}
.fwn{font-weight: normal;}

/* color */
.c-white{color: #fff;}
.c-green{color: #50857c;}
/* va*/
.vat{vertical-align: top;}

/* indent */
.ti{
    text-indent: -1em;
    padding-left: 1em;
}

/* anchor */
a[href^="tel"]{
    text-decoration: underline;
}
a.tdu{text-decoration: underline;}
.trf-Y{
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.trf-C{
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
}


/* header */
.header{
    background: #fff;
    width: 100%;
    height: 62px;
    border-bottom: 1.5px solid #114191;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
}
.header h1{
    width: 53.8%;
    height: 62px;
    display: -webkit-inline-flex;
    display: -moz-inline-flex;
    display: -ms-inline-flex;
    display: -o-inline-flex;
    display: inline-flex;
    -ms-align-items: center;
    align-items: center;
    margin-left: 8px;
}
.header > a{
    width: 10%;
    right: 50px;
    height: auto;
    top: 14px;
    display: block;
    position: absolute;
}
.menu{
    cursor: pointer;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 45px;
    height: 62px;
}
.menu span {
    height: 2px;
    background-color: #6a6a6a;
    display: block;
    -webkit-transition: all .3s ease 0s;
    -o-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
    margin-left: auto;
    margin-right: auto;
    width: 28.5px;
}
.menu span:nth-child(1){
    margin-top: 22px;
}
.menu span:nth-child(2),
.menu span:nth-child(3){
    margin-top: 6px;
}
.menu span:nth-child(3){
    margin-bottom: 4px;
}
.menu.on{
    background: #2d678d;
}
.menu.on span:nth-child(1) {
    -webkit-transform: translateY(8px) rotate(135deg);
    -ms-transform: translateY(8px) rotate(135deg);
    -o-transform: translateY(8px) rotate(135deg);
    transform: translateY(8px) rotate(135deg);
}
.menu.on span:nth-child(2) {
    opacity: 0;
}
.menu.on span:nth-child(3) {
    -webkit-transform: translateY(-6px) rotate(-135deg);
    -ms-transform: translateY(-6px) rotate(-135deg);
    -o-transform: translateY(-6px) rotate(-135deg);
    transform: translateY(-6px) rotate(-135deg);
}
.header .search-area{
    background: #eeeeee;
    padding: 8px 8px;
    height: 59px;
}
.search-area > div{
    border: 1px solid #dcdcdc;
    border-radius: 3px;
    background: #fff;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    padding: 2px 1px;
    justify-content: space-between;
}
.search-area input[type="text"]{
    background-color: #fff;
    background-image: url("../img/icon/search.png");
    -webkit-background-size: 20px;
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: left center;
    border: none;
    outline:none;
    padding: 0 5px 0 30px;
    margin-left: 13px;
    width: 77.8%;
    font-size: 15px;
}
.search-area input[type="submit"]{
    outline:none;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    padding: 7px 13px;
    background: #114191;
    border-radius: 0 4px 4px 0;
    border: none;
}
main{
    padding-top: calc(62px + 59px);
    margin-bottom: 1em;
}


/* footer */
.footer{

}

/* contents */
.footer > article{
    background: #e6f7ff;
}
.footer > article ul{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
}
.footer > article ul{
    padding: 25px 0px 10px 25px;
}
.footer > article ul li{
    width: 48%;
    font-size: 14px;
    color: #000;
    margin-bottom: 1em;
}
.copy{
    text-align: center;
    padding: 20px 5px;
    font-size: 10px;
    color: #acbcea;
    background: #1e3d95;
}
.totop{
    opacity: 0;
    display: block;
    position: fixed;
    width: 35px;
    height: 35px;
    right: 10px;
    bottom: 20px;
    background-image: url("../img/totop.png");
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center;
    z-index: 23;
    -webkit-transition: all 250ms ease 0s;
    -o-transition: all 250ms ease 0s;
    transition: all 250ms ease 0s;
}
.totop.on{
    opacity:1;
}
.icon-premium{
    text-indent: -20px;
    padding-left: 20px;
}
.icon-premium:before{
    content: '';
    background-image: url("../img/icon/premium.png");
    width: 15px;
    height: 15px;
    vertical-align: -1px;
    display: inline-block;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 5px;
}
body.on .spmenu{
    overflow-y:scroll;
    left: 35px;
}
.spmenu{
    left: 100%;
    overflow-y: scroll;
    /*-webkit-overflow-scrolling: touch;*/
    position: fixed;
    height: 100%;
    width: calc(100% - 35px);
    z-index: 25;
    top: 0;
    color: #fff;
    right: 0;
    -webkit-transition: left 250ms ease 0s;
    -o-transition: left 250ms ease 0s;
    transition: left 250ms ease 0s;
}

.spmenu-wrap{
    position: relative;
}
.spmenu-inner{
    position: absolute;
    top: 0;
    right: 0;
    width: 84%;
}
.spmenu-inner nav > ul > li > span{
    display: block;
    font-size: 14px;
    font-weight: bold;
    padding: 12px 20px;
    background: rgba(71, 98, 143, 0.98);
}
.spmenu-inner nav li li{
    background: rgba(33, 33, 33,0.9);
}
.spmenu-inner nav li li a{
    display: block;
    width: 100%;
    font-size: 13px;
    padding: 7px 5px 7px 27px;
}
.spmenu-inner nav li li:not(:last-child){
    border-bottom: 1px solid #47628f;
}
.navcontact{
    border-top: 1px solid #47628f;
    padding: 20px 0 20px;
    background: rgba(33, 33, 33,0.9);
}
.navcontact a{
    width: 92%;
    display: block;
    background: #dd7c35;
    text-align: center;
    color: #fff;
    padding: 12px 0;
    font-size: 16px;
    margin-left: auto;
    margin-right: auto;
    font-size: 14px;
}
.pc-icon a:after{
    content: '';
    display: inline-block;
    background-image: url("../img/icon/pc.png");
    width: 18px;
    height: 15px;
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center;
    margin-left: 6px;
    vertical-align: -4px;
}
.closemenu{
    position: fixed;
    top: 0;
    right: -55px;
    background-image: url("../img/close.png");
    width: 55px;
    height: 55px;
    opacity: 0;
    display: none;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-background-size: contain;
    background-size: contain;
}
body.on .closemenu{
    opacity: 1;
    display: block;
}



/*広告*/
.bannerarea{
    padding: 7px 8px 3px;
}
.swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction{
    position: relative;
    top:auto;
    left:auto;
    bottom:auto;
    right:auto;
    margin-top: 3px;
}
.swiper-slide{
    text-align: center;
}
.swiper-pagination-bullet-active{
    background: #454545;
}
.swiper-pagination-bullet{
    width: 7px;
    height: 7px;
}
.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{
    margin: 0 7px;
}
.bottombanner{
    padding-bottom: 30px;
}


/*タブの切替*/
body.tab-on .tabs{
    position: fixed;
    left: 0;
    width: 100%;
    z-index: 20;
}
body.tab-on .tab-content{
    padding-top: 42px;
}

.tabs{
    background: #cfd5e6;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
}
.tabs li{
    width: calc(32% - 1.5px);
    height: 42.5px;
    background: #114191;
    border-top: 1px solid #2d6ace;
    border-left: 1px solid #2d6ace;
    border-right: 1px solid #2d6ace;
    color: #fff;
    font-weight: bold;
    text-align: center;
    border-radius: 2px 2px 0 0;
}
.tabs li a{
    padding-top: 10px;
    display: block;
    width: 100%;
    height: 100%;
}
.tabs li.on{
    background: #fff;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    color: #114191;
}
.tab-content > ul{
    padding-top: 11px;
}
.tab-content02 > ul{
    padding-top: 5px;
}
.tab-content > ul > li{
    padding-bottom: 5px;
}
.tab-content > ul > li a{
    width: 100%;
    padding: 0px 7px 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid #eee;
}
.tab-content > ul > li a > span.img{
    width: 22%;
    display: block;
    margin-right: 8px;
    text-align: center;
}
.tab-content > ul > li a > span.img img{
    vertical-align: top;
    border: 1px solid #eeeeee;
}
.tab-content > ul > li a .text{
    display: block;
    -webkit-flex: 1;
    -moz-flex: 1;
    -ms-flex: 1;
    -o-flex: 1;
    flex: 1;
}
.tab-content > ul > li a .text > span{
    display: block;
}
.tab-content > ul > li a .text > span:first-child{
    font-weight: bold;
    font-size: 15px;
    color: #333333;
    padding-top: 6px;
    line-height: 1.333;
}
.tab-content > ul > li a .text > span:nth-child(2){
    font-size: 11px;
    color: #999999;
    padding-top: 3px;
    line-height: 1.333;
}
.tab-content > ul > li a .text > span:last-child{
    text-align: right;
    padding-top: 4px;
    padding-bottom: 7px;
    font-size: 11px;
    color: #5487dc;
}
.more-btn{
    display: block;
    width: 95%;
    margin: 10px auto;
    background: #ebebeb;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    height: 45px;
    font-size: 13px;
    -ms-align-items: center;
    align-items: center;
    justify-content: center;
    color: #333333;
}
.tab-content02 li a{
    display: block!important;
    padding-left: 0!important;
    padding-right: 0!important;
    border-bottom: none!important;
}
.tab-content02 li{
    padding-top: 14px!important;
    padding-bottom: 14px!important;
    border-bottom: 1px solid #eeeeee;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
}
.tab-content02-head{
    font-weight: bold;
    line-height: 1.133;
    color: #333333;
    word-break: break-all;
    font-size: 15px;
    display: block;
}
.tab-content02-unit{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -ms-align-items: center;
    align-items: center;
    margin-top: 7px;
    justify-content: space-between;
}
.tab-content02-unit > span:first-child{
    font-size: 13px;
    color: #5487dc;
    font-weight: bold;
}
.tab-content02-unit > span:last-child{
    font-size: 11px;
    color: #5487dc;
}
.tab-content02-unit > span:first-child:before{
    content: '';
    display: inline-block;
    background-image: url("../img/icon/pops.png");
    width: 40px;
    height: 14px;
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center;
    margin-right: 6px;
    vertical-align: -2px;
}
.tab-content04 li a {
    display: block!important;
}
.tab-content04 li a span{
    display: block;
}
.tab-content04 li a > span:first-child{
    color: #5487dc;
    font-size: 13px;
}
.tab-content04 li a > span:last-child{
    color: #000;
    font-size: 15px;
}
.tab-content04 li a{
    display: block!important;
    padding-left: 0!important;
    padding-right: 0!important;
}
.tab-content04 li{
    padding-top: 10px!important;
    padding-bottom: 10px!important;
    border-bottom: 1px solid #eeeeee;
    width: 95%;
    margin-left: auto;
    margin-right: auto;
}
.tab-content{
    display: none;
}
.tab-content.on{
    display: block;
}
.tab-content > ul > li a .text > span:last-child.icon-premium:before{
    vertical-align: -3px;
}





/*帯*/
.head-style{
    color: #ffffff;
    background: #1e3d95;
}
.head-style h2{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    font-size: 17px;
    -ms-align-items: center;
    align-items: center;
    font-weight: bold;
    padding: 12px 13px;
}
.head-style h2 span{
    -webkit-flex: 1;
    -moz-flex: 1;
    -ms-flex: 1;
    -o-flex: 1;
    flex: 1;
}
.head-style:after{
    content: '';
    display: block;
    width: 100%;
    border-top: 1.5px solid #fff;
    height: 4.5px;
    background: #ff0000;
    margin-left: auto;
    margin-right: auto;
}



/*ログイン*/
.login-area {
    margin: 20px auto;
    padding:8px;
}
.login-area > div{
    border: 1px solid #dcdcdc;
    border-radius: 3px;
    background: #fff;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    padding: 2px 1px;
    justify-content: space-between;
    margin: 5px auto 18px;
    height:43px;
}
.login-area input[type="text"], .login-area input[type="password"]{
    background-color: #fff;
    -webkit-background-size: 20px;
    background-size: 20px;
    border: none;
    outline:none;
    width: 90%;
    font-size: 15px;
    margin: 3px 8px;
}
.login-area input[type="submit"]{
    outline:none;
    color: #fff;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    padding: 7px 13px;
    background: #114191;
    border-radius: 4px;
    border: none;
    width:50%;
    display:block;
    margin:0 auto;
}
.login-area .forget-link {
    text-align:left;
}
.login-area .forget-link li {
    margin-top:20px;
    color:#5487dc;
    text-decoration:underline;
    cursor:pointer;
}



/* 320- */
@media all and (max-width: 320px){
    .pager .prev a span{
        display: none;
    }
    .pager .next a span{
        display: none;
    }
    .search-area button{
        padding: 8px 8px;
    }
    .localnav ul li{
        background-position: center;
    }
    .localnav{
        padding: 0px 0 4px;
    }
    .copy br{
        display: none;
    }
    .closemenu{
        opacity: 0;
    }
    body.on .closemenu{
        opacity: 1;
    }
}
/* 411+ */
@media all and (min-width: 411px){
    .closemenu{
        opacity: 0;
    }
    body.on .closemenu{
        opacity: 1;
    }
}
/* 414+ */
@media all and (min-width: 414px){
    .closemenu{
        opacity: 0;
    }
    body.on .closemenu{
        opacity: 1;
    }
}
/* 415+ */
@media all and (min-width: 500px){
    .closemenu{
        opacity: 0;
    }
    body.on .closemenu{
        opacity: 1;
    }
    .header h1 img{
        width: 70%;
    }
    .header h1 + a{
        text-align: right;
    }
    .header h1 + a img{
        width: 41px;
        max-width: 41px;
    }
}


/* ↓↓入力・確認系ページ用↓↓ */
@media print, screen and  (min-width:481px) and (max-width:945px){
    .four-column li{
        width:25%;
        float:left;
    }
    .two-column li{
        width:50%;
        float:left;
    }
    .input-area dt, .confirm-area dt{
        padding:7px 10px;
        font-weight:bold;
        background-color:#f9f9f9;
        border:1px solid #c8c8c6;
        margin-bottom:5px;
        clear:both;
    }
    .input-area dt div{
        display:inline;;
    }
    .input-area dd, .confirm-area dd{
        padding:0 5px;
        margin-bottom:10px;
    }
    .input-area dd:last-child, .confirm-area dd:last-child{
        margin-bottom:20px;
    }
    .cate-header{
        padding:5px;
        background-color:#d9edf7;
        margin-bottom:10px;
    }
    .leftPosition{
        width:100%;
    }

}

@media print, screen and (max-width:480px){
    .four-column li{
        width:45%;
        float:left;
    }
    .input-area dt, .confirm-area dt{
        padding:7px 10px;
        font-weight:bold;
        background-color:#f9f9f9;
        border:1px solid #c8c8c6;
        margin-bottom:5px;
        clear:both;
    }
    .input-area dt div{
        display:inline;;
    }
    .input-area dd, .confirm-area dd{
        padding:0 5px;
        margin-bottom:10px;
    }
    .input-area dd:last-child, .confirm-area dd:last-child{
        margin-bottom:20px;
    }
    .cate-header{
        padding:5px;
        background-color:#d9edf7;
        margin-bottom:10px;
    }
    .leftPosition{
        width:100%;
    }
}
/* ↑↑入力・確認系ページ用↑↑ */









