@charset "utf-8";

/* ===== common.css ===== */
body {
    color: #000;
    font: 16px/1.6 "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
@media screen and ( max-width: 768px ) {
    body {
        font-size: 13px;
    }
}

a {
    text-decoration: none;
    color: #000;
}
@media screen and ( min-width: 769px ) {
    a:hover {
        text-decoration: underline;
        transition: 0.6s all;
    }
    a:hover img {
        opacity: 0.5;
        transition: 0.6s all;
    }
}

img {
    vertical-align: bottom;
    width: 100%;
    height: auto;
}
@media screen and ( min-width: 769px ) {
    a:hover img {
        opacity: 0.5;
    }
}

/* -- inner -- */
.inner {
    margin: 0 auto;
    max-width: 1040px;
}
@media screen and ( max-width: 1070px ) {
    .inner {
        margin: 0 15px;
    }
}

/* -- hide -- */
@media screen and ( min-width: 769px ) {
    .pc_hide { display: none!important; }
}
@media screen and ( max-width: 768px ) {
    .sp_hide { display: none!important; }
}

/* -- bx-wrapper -- */
.bx-wrapper {
    margin: 0 auto;
    border:none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    background: none;
}

/*
    wrapper
*/
#wrapper.for_inner {
    padding-bottom: 155px;
}
@media screen and ( max-width: 768px ) {
    #wrapper.for_inner {
        padding-bottom: 65px;
    }
}


/*
	header
*/
@media screen and ( max-width: 768px ) {
    header .inner {
        margin: 0;
    }
}

/* -- gnav -- */
#gnav {
    background: #205ea8;
}

#gnav li {
    float: left;
    position: relative;
    width: 16.66%;
    text-align: center;
    border-right: 1px solid #fff;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
#gnav li:last-child {
    width: 16.7%;
    border-right: none;
}
@media screen and ( max-width: 768px ) {
    #gnav li:last-child ,
    #gnav li {
        width: 17.2%;
        text-align: center;
    }
    #gnav li.red ,
    #gnav li.green {
        width: 24.2%;
    }
}

#gnav p {
    position: relative;
}
#gnav p:before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    height: 6px;
    background: #003e89;
    z-index: 20;
    content: "";
}
#gnav .red p:before {
    background: #da4a52;
}
#gnav .green p:before {
    background: #3171b6;
}
#gnav .orange p:before {
    background: #39814b;
}
#gnav .gray p:before {
    background: #434343;
}
#gnav .purple p:before {
    background: #ae5da1;
}
@media screen and ( max-width: 768px ) {
    #gnav p:before {
        height: 3px;
    }
}

#gnav a {
    display: block;
    padding-top: 6px;
    height: 54px;
    color: #fff;
    font-weight: bold;
    z-index: 10;
}
@media screen and ( min-width: 769px ) {
    #gnav a:hover {
        color: #205ea8;
        background: #fff;
        opacity: 1;
    }
    #gnav .red a:hover .gnav_txt { color: #da4a52; }
    #gnav .green a:hover .gnav_txt { color: #3171b6; }
    #gnav .orange a:hover .gnav_txt { color: #39814b; }
    #gnav .gray a:hover .gnav_txt { color: #434343; }
    #gnav .purple a:hover .gnav_txt { color: #ae5da1; }
}
@media screen and ( max-width: 768px ) {
    #gnav a {
        padding-top: 3px;
        height: 47px;
    }
}

.gnav_txt {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: auto;
    padding-top: 4px;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
}
@media screen and ( max-width: 768px ) {
    .gnav_txt {
        padding-top: 2px;
        font-size: 93%;
        line-height: 1.2;
    }
}

.gnav_fsL {
    display: inline-block;
    position: relative;
    bottom: -2px;
    padding-bottom: 4px;
    font-size: 130%;
}
@media screen and ( max-width: 768px ) {
    .gnav_fsL {
        bottom: -1px;
        padding-bottom: 2px;
        font-size: 150%;
        line-height: 1;
    }
}

@media screen and ( min-width: 769px ) {
    .gnav_txt br {
        display: none;
    }
}

#gnav li.home img {
    position: absolute;
    top: 50%;
    left: 50%;
    padding-top: 4px;
    width: 24px;
    -webkit-transform: translate(-50%,-50%);
       -moz-transform: translate(-50%,-50%);
        -ms-transform: translate(-50%,-50%);
         -o-transform: translate(-50%,-50%);
            transform: translate(-50%,-50%);
}
@media screen and ( max-width: 768px ) {
    #gnav li.home {
        display: none;
    }
}

#gnav li.act:before {
    position: absolute;
    bottom: 0;
    left: -6px;
    width: 5px;
    height: 5px;
    background: url(../img/header/gnav_act_left.png) no-repeat 0 0;
    content: "";
    z-index: 20;
}
#gnav li.act:first-child:before ,
#gnav li.act:first-child:after {
    display: none;
}
@media screen and ( max-width: 768px ) {
    #gnav li.act:nth-child(2):before ,
    #gnav li.act:nth-child(2):after {
        display: none;
    }
}

#gnav li.act a {
    position: relative;
}
#gnav li.act a:before {
    position: absolute;
    bottom: 0;
    right: -6px;
    width: 5px;
    height: 5px;
    background: url(../img/header/gnav_act_right.png) no-repeat 0 0;
    z-index: 20;
    content: "";
}
#gnav li.act:last-child a:before ,
#gnav li.act:last-child a:after {
    display: none;
}

#gnav li.act + li:before {
    display: none;
}

#gnav li.act {
    background: #fff;
}
#gnav .act .gnav_txt {
    color: #000;
}
#gnav .red.act .gnav_txt { color: #da4a52; }
#gnav .green.act .gnav_txt { color: #3171b6; }
#gnav .orange.act .gnav_txt { color: #39814b; }
#gnav .gray.act .gnav_txt { color: #434343; }
#gnav .purple.act .gnav_txt { color: #ae5da1; }

/* -- header_box01 -- */
.header_box01 {
    padding-bottom: 16px;
}
@media screen and ( max-width: 768px ) {
    .header_box01 {
        position: relative;
        padding-bottom: 6px;
    }
}

.header_box01_logo {
    float: left;
    margin: 28px 0 0 0;
    width: 208px;
}
.for_inner .header_box01_logo {
    float: none;
    margin: 0 auto;
    padding-top: 28px;
}
@media screen and ( max-width: 768px ) {
    .header_box01_logo {
        margin: 15px 0 0 15px;
        width: 152px;
    }
    .for_inner .header_box01_logo {
        padding-top: 15px;
    }
}

.for_inner_header_tit01 {
    margin-top: 14px;
    text-align: center;
    font-size: 150%;
    font-weight: bold;
}
@media screen and ( max-width: 768px ) {
    .for_inner_header_tit01 {
        margin-top: 4px;
        font-size: 130%;
    }
}

.header_box01_inner01 {
    float: right;
    width: 377px;
}
.header_box01_inner01_top {
    width: 505px;
}
@media screen and ( max-width: 768px ) {
    .header_box01_inner01 ,
    .header_box01_inner01_top {
        width: 130px;
    }
    .header_box01_inner01_02 {
        width: 70px;
    }
}

.header_box01_inner01_box01 {
    margin: 25px 0 0 3px;
}
.header_box01_inner01_top .header_box01_inner01_box01 {
    margin-left: auto;
    width: 377px;
}
@media screen and ( max-width: 768px ) {
    .header_box01_inner01_box01 {
        margin: 7px 0 0;
    }
    .header_box01_inner01_top .header_box01_inner01_box01 {
        width: auto;
    }
}

.header_box01_inner01_box01_btn01 {
    float: left;
    width: 110px;
}
@media screen and ( max-width: 768px ) {
    .header_box01_inner01_box01_btn01 {
        width: 64px;
        border-left: 1px solid #dcdcdc;
    }
}

.header_box01_inner01_box01_btn01 a {
    display: block;
    padding: 4px 16px 3px;
    font-size: 88%;
    line-height: 1;
    border: 1px solid #072c65;
    border-radius: 4px;
}
@media screen and ( min-width: 769px ) {
    .header_box01_inner01_box01_btn01 a:hover img {
        opacity: 1;
    }
}
@media screen and ( max-width: 768px ) {
    .header_box01_inner01_box01_btn01 a {
        padding: 11px 0;
        text-align: center;
        font-size: 77%;
        border: none;
        border-radius: 0;
    }
}

.header_box01_inner01_box01_btn01 img {
    vertical-align: top;
    margin-right: 7px;
    width: 16px;
}
@media screen and ( max-width: 768px ) {
    .header_box01_inner01_box01_btn01 img {
        display: block;
        margin: 0 auto 3px;
        padding-left: 1px;
    }
}

@media screen and ( max-width: 768px ) {
    .header_box01_inner01_box01_btn02 {
        float: left;
        padding: 2px 0 2px 8px;
        border-left: 1px solid #dcdcdc;
    }
}

@media screen and ( min-width: 769px ) {
    .header_box01_inner01_box01_btn02 a {
        display: none;
    }
}
@media screen and ( max-width: 768px ) {
    .header_box01_inner01_box01_btn02 a {
        display: block;
        padding: 27px 0 8px;
        width: 45px;
        text-align: center;
        font-size: 77%;
        line-height: 1;
        border-radius: 4px;
        background: url(../img/header/header_box01_inner01_box01_btn02.gif) 50% 9px no-repeat;
        -webkit-background-size: 15px auto;
        background-size: 15px auto;
    }
    .header_box01_inner01_box01_btn02 a.open {
        color: #fff;
        background: #072c65 url(../img/header/header_box01_inner01_box01_btn02_on.gif) 50% 9px no-repeat;
        -webkit-background-size: 15px auto;
        background-size: 15px auto;
    }
}

.header_box01_emergency01 {
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    .header_box01_emergency01 {
        margin-top: 10px;
    }
}

.header_box01_emergency01 a {
    display: block;
    margin: 0 0 0 auto;
    padding-top: 1px;
    width: 100px;
    color: #fff;
    font-size: 88%;
    border: 1px solid #d70a17;
    background: #d70a17;
}
@media screen and ( min-width: 769px ) {
    .header_box01_emergency01 a:hover{
        text-decoration: none;
        color: #d70a17;
        background: #fff;
    }
}
@media screen and ( max-width: 768px ) {
    .header_box01_emergency01 a {
        width: 90px;
        font-size: 100%;
    }
}

.sp_srchBox {
    display: none;
}
@media screen and ( max-width: 768px ) {
    .sp_srchBox {
        position: absolute;
        bottom: -1px;
        right: 0;
        left: 0;
        margin: auto;
        z-index: 1000;
        -webkit-transform: translateY(100%);
           -moz-transform: translateY(100%);
            -ms-transform: translateY(100%);
             -o-transform: translateY(100%);
                transform: translateY(100%);
    }
}


#srchBox {
    float: right;
    width: 245px;
}
@media screen and ( max-width: 768px ) {
    #srchBox {
        display: none;
    }
}
#srchBox #srch #srchForm {
    white-space: nowrap;
}
#srchBox #srchInput {
    vertical-align: top;
    margin-right: 3px;
    width: 188px;
    border-radius: 4px;
}
#srchBox #srchBtn {
    cursor: pointer;
    vertical-align: top;
    padding: 2px 0 3px;
    width: 50px;
    color: #fff;
    font-size: 12px;
    border: none;
    border-radius: 4px;
    background: #003e89;
}
#srchBox.watermark #srchInput {
    padding: 5px 1px 3px 1px;
    border: 1px solid #a5acb2;
    background: #fff url(https://s.yimg.jp/images/search/customsearch/yjlogo/yjlogo_type4.gif) center center no-repeat;
}
#srchBox img {
    vertical-align: top;
    display: block;
    width: auto;
}

.header_box01_inner01_nav01 {
    margin-top: 7px;
}
@media screen and ( max-width: 768px ) {
    .header_box01_inner01_nav01 {
        margin-top: 0;
        padding: 10px 0 13px;
        text-align: center;
        font-size: 0;
        border-top: 1px solid #dcdcdc;
    }
}

.header_box01_inner01_nav01 li {
    position: relative;
    float: left;
    margin-right: 13px;
    padding-right: 13px;
    font-size: 88%;
}
.header_box01_inner01_nav01 li:last-child {
    margin-right: 0;
    padding-right: 0;
}
.header_box01_inner01_nav01 li:after {
    position: absolute;
    top: 5px;
    bottom: 5px;
    right: 0;
    width: 1px;
    margin: auto;
    background: #c3c3c3;
    content: "";
}
.header_box01_inner01_nav01 li:last-child:after {
    display: none;
}
@media screen and ( max-width: 768px ) {
    .header_box01_inner01_nav01 li:last-child ,
    .header_box01_inner01_nav01 li {
        display: inline-block;
        float: none;
        margin-right: 0;
        padding: 0 16px;
        font-size: 11px;
    }
    .header_box01_inner01_nav01 li:after {
        bottom: 2px;
        background: #dcdcdc;
    }
}

/* -- header_loginBox -- */
.header_loginBox {
    position: relative;
    border-top: 1px solid #dcdcdc;
}

/* -- login_nav_btn -- */
#login_nav_btn {
    text-align: center;
}

#login_nav_btn a {
    display: block;
    position: relative;
    padding: 10px 0 29px;
    color: #fff;
    font-size: 85%;
    background: #003e89;
}
@media screen and ( min-width: 769px ) {
    #login_nav_btn a {
        display: none;
    }
}

.login_nav_btn_close {
    display: inline-block;
}
#login_nav_btn a.open .login_nav_btn_close {
    display: none;
}

.login_nav_btn_open {
    display: none;
}
#login_nav_btn a.open .login_nav_btn_open {
    display: inline-block;
}

#login_nav_btn a:after {
    position: absolute;
    bottom: 21px;
    right: 0;
    left: 0;
    margin: auto;
    width: 35px;
    height: 2px;
    background: #fff;
    content: "";
}
#login_nav_btn .icon:before {
    position: absolute;
    bottom: 17px;
    right: 0;
    left: 0;
    margin: auto;
    width: 35px;
    height: 2px;
    background: #fff;
    content: "";
}
#login_nav_btn .icon:after {
    position: absolute;
    bottom: 13px;
    right: 0;
    left: 0;
    margin: auto;
    width: 35px;
    height: 2px;
    background: #fff;
    content: "";
}

/* -- login_nav -- */
@media screen and ( max-width: 768px ) {
    #login_nav {
        display: none;
        position: absolute;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        background: #eee;
        z-index: 100;
        -webkit-transform: translateY(100%);
           -moz-transform: translateY(100%);
            -ms-transform: translateY(100%);
             -o-transform: translateY(100%);
                transform: translateY(100%);
    }
}

#login_nav > li {
    float: left;
    width: 12.5%;
    text-align: center;
}
@media screen and ( max-width: 768px ) {
    #login_nav > li {
        float: none;
        width: 100%;
        text-align: left;
        border-bottom: 1px solid #dcdcdc;
    }
}

#login_nav .login_nav_tit01_outer a {
    display: block;
}

#login_nav .login_nav_tit01 {
    position: relative;
    display: block;
    height: 82px;
    color: #000;
    font-weight: bold;
    border-right: 1px solid #dcdcdc;
}
#login_nav li:first-child .login_nav_tit01 {
    border-left: 1px solid #dcdcdc;
}
#login_nav li .login_nav_tit01:before {
    position: absolute;
    top: 4px;
    right: 5px;
    left: 5px;
    height: 4px;
    background: #e5e5e5;
    content: "";
}
#login_nav li .login_nav_tit01:after {
    position: absolute;
    bottom: 10px;
    right: 0;
    left: 0;
    margin: auto;
    width: 4px;
    height: 4px;
    border-bottom: 2px solid #e5e5e5;
    border-right: 2px solid #e5e5e5;
    content: "";
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
         -o-transform: rotate(45deg);
            transform: rotate(45deg);
}
@media screen and ( min-width: 769px ) {
    #login_nav .login_nav_tit01_outer a:hover {
        background: #dcdcdc;
    }
    #login_nav .login_nav_tit01_outer.act a {
        background: #dcdcdc;
    }
    #login_nav .login_nav_tit01_outer li a:hover:before {
        background: #003e89;
    }
    #login_nav .login_nav_tit01_outer li a:hover:after {
        border-color: #003e89;
    }
}
@media screen and ( max-width: 768px ) {
    #login_nav li:first-child .login_nav_tit01 ,
    #login_nav .login_nav_tit01 {
        padding: 15px 35px 15px 15px;
        height: auto;
        border: none;
    }
    #login_nav li .login_nav_tit01:before {
        position: absolute;
        top: 0;
        bottom: 1px;
        right: 18px;
        left: auto;
        margin: auto;
        width: 0;
        height: 10px;
        border-right: 2px solid #003e89;
        background: none;
        content: "";
    }
    #login_nav li .login_nav_tit01:after {
        position: absolute;
        top: 0;
        bottom: 1px;
        right: 14px;
        left: auto;
        margin: auto;
        width: 10px;
        height: 0;
        border-top: 2px solid #003e89;
        border-bottom: none;
        border-right: none;
        -webkit-transform: rotate(0);
           -moz-transform: rotate(0);
            -ms-transform: rotate(0);
             -o-transform: rotate(0);
                transform: rotate(0);
    }
}

#login_nav .login_nav_tit01 span {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: auto;
    padding-bottom: 4px;
    line-height: 1.2;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
}
@media screen and ( max-width: 768px ) {
    #login_nav .login_nav_tit01 span {
        position: static;
        top: 0;
        padding-bottom: 0;
        -webkit-transform: translateY(0);
           -moz-transform: translateY(0);
            -ms-transform: translateY(0);
             -o-transform: translateY(0);
                transform: translateY(0);
    }
}

@media screen and ( max-width: 768px ) {
    #login_nav .login_nav_tit01 br {
        display: none;
    }
}

#login_nav .login_nav_tit01 li.act:before {
    background: #003e89;
}
#login_nav .login_nav_tit01 li.act:after {
    display: none;
}
#login_nav .login_nav_tit01 li.act span{
    padding-top: 8px;
}

#login_nav li.link .login_nav_tit01 a:after {
    display: none;
}

@media screen and ( max-width: 768px ) {
    #login_nav li.open .login_nav_tit01 {
        background: #dcdcdc;
    }
    #login_nav li.open .login_nav_tit01:before {
        display: none;
    }

    #login_nav li.link .login_nav_tit01:before {
        display: none;
    }
    #login_nav li.link .login_nav_tit01:after {
        display: inline-block;
        bottom: 1px;
        right: 16px;
        width: 5px;
        height: 5px;
        border-top: 2px solid #003e89;
        border-right: 2px solid #003e89;
        content: "";
        -webkit-transform: rotate(45deg);
           -moz-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
             -o-transform: rotate(45deg);
                transform: rotate(45deg);
    }
}

.login_nav_contents {
    display: none;
    padding: 29px 0 32px;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background: #dcdcdc;
    z-index: 20;
    -webkit-transform: translateY(100%);
       -moz-transform: translateY(100%);
        -ms-transform: translateY(100%);
         -o-transform: translateY(100%);
            transform: translateY(100%);
}
@media screen and ( max-width: 768px ) {
    .login_nav_contents {
        padding: 14px 15px 12px;
        position: static;
        -webkit-transform: translateY(0);
           -moz-transform: translateY(0);
            -ms-transform: translateY(0);
             -o-transform: translateY(0);
                transform: translateY(0);
    }
    #login_nav li.open .login_nav_tit01 + .login_nav_contents {
        display: block;
    }
}

.login_nav_contents_box01 {
    padding-bottom: 31px;
    background: url(../img/header/login_nav_contents_tit01.png) repeat-x bottom right;
}
@media screen and ( max-width: 768px ) {
    .login_nav_contents_box01 {
        padding-bottom: 16px;
    }
}

.login_nav_contents_box01_tit01 {
    float: left;
    padding-top: 2px;
    width: 49.5%;
    text-align: left;
    font-size: 113%;
    font-weight: bold;
}
@media screen and ( max-width: 768px ) {
    .login_nav_contents_box01_tit01 {
        float: none;
        padding-top: 0;
        width: 100%;
        font-size: 100%;
        font-weight: bold;
    }
}

.login_nav_contents_box01_tit01 a {
    display: block;
    position: relative;
    padding: 23px 35px 23px 20px;
    background: #fff;
}
.login_nav_contents_box01_tit01 a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 3px solid #003e89;
    border-right: 3px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
         -o-transform: rotate(45deg);
            transform: rotate(45deg);
}
@media screen and ( max-width: 768px ) {
    .login_nav_contents_box01_tit01 a {
        padding: 13px 35px 13px 10px;
    }
    .login_nav_contents_box01_tit01 a:after {
        right: 12px;
        border-width: 2px;
    }
}

#login_nav_contents_close {
    float: right;
    text-align: center;
    font-size: 88%;
    border: 1px solid #707070;
    background: #fff;
}
@media screen and ( max-width: 768px ) {
    #login_nav_contents_close {
        display: none;
    }
}

#login_nav_contents_close a {
    display: block;
    position: relative;
    padding: 4px 11px 2px 28px;
    color: #707070;
}
#login_nav_contents_close a:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 12px;
    margin: auto;
    width: 1px;
    height: 12px;
    background: #707070;
    content: "";
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
         -o-transform: rotate(45deg);
            transform: rotate(45deg);
}
#login_nav_contents_close a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 12px;
    margin: auto;
    width: 1px;
    height: 12px;
    background: #707070;
    content: "";
    -webkit-transform: rotate(-45deg);
       -moz-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
         -o-transform: rotate(-45deg);
            transform: rotate(-45deg);
}

.login_nav_contents_link01 {
    margin-top: 30px;
    text-align: left;
    font-weight: bold;
}
@media screen and ( max-width: 768px ) {
    .login_nav_contents_link01 {
        margin-top: 14px;
        font-size: 93%;
    }
}

.login_nav_contents_link01 li {
    float: left;
    margin: 0 0.8% 8px 0;
    width: 24.4%;
}
.login_nav_contents_link01 li:nth-child(4n) {
    margin-right: 0;
}
@media screen and ( max-width: 768px ) {
    .login_nav_contents_link01 li:nth-child(4n) ,
    .login_nav_contents_link01 li {
        float: left;
        margin: 0 0.6% 3px 0;
        width: 49.7%;
    }
    .login_nav_contents_link01 li:nth-child(2n) {
        margin-right: 0;
    }
}

.login_nav_contents_link01 a {
    display: block;
    position: relative;
    height: 60px;
    background: #fff;
}
.login_nav_contents_link01 a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 16px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 3px solid #003e89;
    border-right: 3px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
         -o-transform: rotate(45deg);
            transform: rotate(45deg);
}
@media screen and ( max-width: 768px ) {
    .login_nav_contents_link01 a {
        height: 45px;
    }
    .login_nav_contents_link01 a:after {
        right: 12px;
        border-width: 2px
    }
}

.login_nav_contents_link01 span {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: auto;
    padding: 0 35px 0 20px;
    line-height: 1.4;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
}
@media screen and ( min-width: 769px ) {
    .login_nav_contents_link01 a:hover span {
        text-decoration: underline;
    }
}
@media screen and ( max-width: 768px ) {
    .login_nav_contents_link01 span {
        padding: 0 25px 0 10px;
    }
}

/*.header_loginBox_hover */
.header_loginBox_hover {
    display: none;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    font-weight: bold;
    z-index: 10;
    -webkit-transform: translateY(100%);
       -moz-transform: translateY(100%);
        -ms-transform: translateY(100%);
         -o-transform: translateY(100%);
            transform: translateY(100%);
}
@media screen and ( max-width: 768px ) {
    .header_loginBox_hover {
        display: none!important;
    }
}

.header_loginBox_hover span {
    position: relative;
    display: block;
    padding: 7px 0;
    font-size: 83%;
    background: #dcdcdc;
}
.header_loginBox_hover span:before {
    position: absolute;
    bottom: -12px;
    right: 0;
    left: 0;
    margin: auto;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #dcdcdc;
    content: "";
}
.header_loginBox_hover span:after {
    position: absolute;
    bottom: -4px;
    right: 0;
    left: 0;
    margin: auto;
    width: 4px;
    height: 4px;
    border-bottom: 2px solid #000;
    border-right: 2px solid #000;
    content: "";
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
         -o-transform: rotate(45deg);
            transform: rotate(45deg);
}


/*
	contents
*/
#contents {
    position: relative;
    padding-top: 10px;
    border-top: 1px solid #dcdcdc;
}

/* -- visual --*/
#visual {
    position: relative;
    height: 222px;
    text-align: center;
}
#visual.visual_noImg {
    height: auto;
    min-height: 170px;
    border-bottom: 1px solid #dcdcdc;
}
@media screen and ( max-width: 768px ) {
    #visual {
        position: relative;
        margin-bottom: 10px;
        height: 119px;
    }
    #visual:after {
        position: absolute;
        bottom: -10px;
        right: 0;
        left: 0;
        margin: auto;
        border-bottom: 1px solid #dcdcdc;
        content: "";
    }
    #visual.visual_noImg {
        height: 100px;
        border-bottom: none;
    }
}

.visual_tit01 {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: auto;
    padding-bottom: 5px;
    color: #fff;
    font-size: 200%;
    font-weight: bold;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
}
.visual_noImg .visual_tit01 {
    max-width: 1040px;
    padding-bottom: 18px;
    text-align: left;
    color: #000;
}
@media screen and ( max-width: 768px ) {
    .visual_tit01 {
        padding-bottom: 2px;
        font-size: 185%;
    }
    .visual_noImg .visual_tit01 {
        margin: 0 15px;
        padding-bottom: 2px;
    }
}

/* -- breadcrumb --*/
#breadcrumb {
    margin: 12px 0 0;
}
@media screen and ( max-width: 768px ) {
    #breadcrumb {
        display: none;
    }
}

#breadcrumb li {
    float: left;
    position: relative;
    margin-right: 12px;
    padding-right: 14px;
    font-size: 82%;
}
#breadcrumb li:after {
    position: absolute;
    top: 6px;
    bottom: 5px;
    right: 0;
    margin: auto;
    width: 1px;
    background: #bfbfbf;
    content: "";
}
#breadcrumb li:last-child:after {
    display: none;
}

#breadcrumb li.home a {
    color: #003e89;
}

/* -- main --*/
#main {
    float: left;
    margin-top: 76px;
    width: 74.1%;
}
#main.rmain {
    float: right;
}
@media screen and ( max-width: 768px ) {
    #main ,
    #main.rmain {
        float: none;
        margin-top: 55px;
        width: 100%;
    }
}

section {
    margin-top: 55px;
}
@media screen and ( max-width: 768px ) {
    section {
        margin-top: 28px;
    }
}

/* - h - */
/* h1 */
h1 {
    position: relative;
    margin-bottom: 25px;
    padding-top: 15px;
    font-size: 188%;
    font-weight: bold;
}
h1:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 70px;
    height: 3px;
    background: #003e89;
    content: "";
}
h1.day {
    padding-right: 70px;
}
@media screen and ( max-width: 768px ) {
    h1 {
        margin-bottom: 18px;
        font-size: 162%;
    }
    h1.day {
        padding-right: 55px;
    }
}

.h1_day {
    position: absolute;
    top: 40px;
    right: 0;
    font-size: 42%;
    font-weight: normal;
}
@media screen and ( max-width: 768px ) {
    .h1_day {
        top: 30px;
    }
}

/* h2 */
h2 {
    position: relative;
    margin-bottom: 36px;
    padding-bottom: 10px;
    font-size: 150%;
    font-weight: bold;
}
h2:before {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    height: 2px;
    background: #dcdcdc;
    content: "";
}
h2:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 40px;
    height: 2px;
    background: #003e89;
    content: "";
}
@media screen and ( max-width: 768px ) {
    h2 {
        margin-bottom: 31px;
        font-size: 139%;
    }
}

/* h3 */
h3 {
    position: relative;
    margin: 26px 0 17px;
    padding-left: 13px;
    font-size: 113%;
    font-weight: bold;
}
h3:before {
    position: absolute;
    top: 4px;
    bottom: 2px;
    left: 0;
    margin: auto;
    width: 3px;
    background: #003e89;
    content: "";
}
@media screen and ( max-width: 768px ) {
    h3 {
        margin: 26px 0 10px;
    }
    h3:before {
        top: 2px;
        bottom: 1px;
    }
}

/* h4 */
h4 {
    position: relative;
    margin: 19px 0 15px;
    padding-bottom: 7px;
    font-weight: bold;
}
h4:before {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    height: 1px;
    background: #003e89;
    content: "";
}
@media screen and ( max-width: 768px ) {
    h4 {
        margin: 11px 0 15px;
    }
}

/* -- tit -- */
/* tit01 */
.tit01 {
    position: relative;
    margin-bottom: 25px;
    padding-bottom: 13px;
    text-align: center;
    font-size: 150%;
    font-weight: bold;
}
.tit01:after {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 40px;
    border-bottom: 2px solid #003e89;
    content: "";
}
@media screen and ( max-width: 768px ) {
    .tit01 {
        margin-bottom: 16px;
        padding-bottom: 3px;
        font-size: 177%;
    }
}

.tit01 img {
    display: block;
    margin: 0 auto 3px;
    width: 22px;
}

/* tit02 */
.tit02 {
    margin-bottom: 30px;
    padding: 12px 14px 11px;
    font-weight: bold;
    background: #eee;
}

/* -- txt -- */
/* txt01 */
.txt01 {
    margin-bottom: 11px;
    width: 80px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    line-height: 30px;
    border-radius: 15px;
    background: #da4a52;
}

/* -- link -- */
/* link01 */
.link01 {
    position: relative;
}
.link01:after {
    display: inline-block;
    position: relative;
    bottom: 3px;
    right: 2px;
    margin-left: 14px;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
         -o-transform: rotate(45deg);
            transform: rotate(45deg);
}

/* tab */
.link01.tab:after {
    display: none;
}
.link01 .tab_inner {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    margin: 0 0 5px 5px;
    width: 6px;
    height: 6px;
    border: 1px solid #dcdcdc;
}
.link01 .tab_inner:before {
    position: absolute;
    bottom: -3px;
    right: -3px;
    width: 7px;
    height: 7px;
    border-bottom: 1px solid #dcdcdc;
    border-right: 1px solid #dcdcdc;
    content: "";
}
.link01 .tab_inner:after {
    position: absolute;
    top: -1px;
    left: -2px;
    width: 5px;
    height: 5px;
    border-right: 1px solid #dcdcdc;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.link01 .tab_inner span {
    position: absolute;
    top: 1px;
    right: 1px;
    width: 2px;
    height: 2px;
    border-top: 1px solid #dcdcdc;
    border-right: 1px solid #dcdcdc;
    content: "";
}

/* pdf */
.link01.pdf {
    padding-left: 19px;
    background: url(../img/common/icon_pdf01_red.png) no-repeat 0 0;
}
@media screen and ( max-width: 768px ) {
    .link01.pdf {
        padding-left: 15px;
    }
}

/* link_onImg01 */
.link_onImg01 a {
    display: block;
    position: relative;
}
@media screen and ( max-width: 768px ) {
    .link_onImg01 a:after {
        border-width: 2px; 
    }
}

.link_onImg01_txt01 {
    position: absolute;
    top: 50%;
    right: 10px;
    left: 10px;
    margin: auto;
    padding: 6px 6px 5px;
    text-align: center;
    color: #fff;
    font-size: 94%;
    font-weight: bold;
    line-height: 1.4;
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    background: rgba(0,0,0,0.3);
    text-shadow: 0px 0px 8px rgba(0,0,0,0.8);
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
}
@media screen and ( max-width: 1030px ) {
    .link_onImg01_txt01 {
        padding: 19px 5px 17px;
    }
    .link_onImg01_2line .link_onImg01_txt01 {
        padding: 8px 5px 6px;
    }
}
@media screen and ( max-width: 768px ) {
    .link_onImg01_txt01 {
        bottom: 2px;
        right: 2px;
        left: 2px;
        padding: 17px 16px 14px;
    }
    .link_onImg01_2line .link_onImg01_txt01 {
        padding: 9px 16px 4px;
    }
}

/* link_red01 */
.link_red01 {
    text-decoration: underline;
    color: #da4a52;
}

/* link_box01 */
.link_box01 li {
    float: left;
    position: relative;
    margin: 0 0.95% 20px 0;
    padding-top: 48px;
    width: 32.7%;
}
.link_box01 li:nth-child(3n) {
    margin-right: 0;
}
@media screen and ( max-width: 768px ) {
    .link_box01 li:nth-child(3n) ,
    .link_box01 li {
        margin: 0 4% 10px 0;
        padding-top: 33px;
        width: 48%;
    }
    .link_box01 li:nth-child(2n) {
        margin-right: 0;
    }
    .link_box01 li:nth-last-child(2) ,
    .link_box01 li:last-child {
        display: none;
    }
}

.link_box01 a {
    display: block;
    padding: 70px 30px 24px;
    border-radius: 10px;
    background: #fff;
}
@media screen and ( min-width: 769px ) {
    .link_box01 a:hover {
        text-decoration: none;
        background: #f1dede;
    }
}
@media screen and ( max-width: 768px ) {
    .link_box01 a {
        padding: 30px 15px 8px;
    }
}

.link_box01_img01 {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
}

.link_box01_img01 span {
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0 auto;
    width: 100px;
    height: 100px;
    border: 8px solid #fff;
    border-radius: 50%;
}
@media screen and ( min-width: 769px ) {
    .link_box01 a:hover .link_box01_img01 span {
        border-color: #f1dede;
        transition: 0.6s all;
    }
}
@media screen and ( max-width: 768px ) {
    .link_box01_img01 span {
        width: 58px;
        height: 58px;
        border-width: 4px;
    }
}

.link_box01_img01 img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
       -moz-transform: translate(-50%,-50%);
        -ms-transform: translate(-50%,-50%);
         -o-transform: translate(-50%,-50%);
            transform: translate(-50%,-50%);
}
@media screen and ( min-width: 769px ) {
    .link_box01 a:hover img {
        width: 112%;
        opacity: 1;
        transition: 0.3s all;
    }
}

.link_box01_tit01 {
    position: relative;
    margin-top: 7px;
    padding:13px 15px 13px 0;
    font-size: 113%;
    font-weight: bold;
    border-top: 1px solid #003e89;
}
.link_box01_tit01:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and ( min-width: 769px ) {
    .link_box01 a:hover .link_box01_tit01 {
        color: #003e89;
    }
}
@media screen and ( max-width: 768px ) {
    .link_box01_tit01 {
        padding: 13px 15px 13px 0;
        font-size: 108%;
        line-height: 1.4;
    }
    .link_box01_tit01:after {
        position: absolute;
        top: 18px;
        bottom: auto;
        right: 2px;
        margin: auto;
        width: 5px;
        height: 5px;
        border-top: 2px solid #003e89;
        border-right: 2px solid #003e89;
        content: "";
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
    }
}

/* link_txt01 */
.link_txt01 {
    text-decoration: underline;
    color: #003e89;
}

/* -- btn -- */
/* btn01 */
.btn01 {
    max-width: 246px;
}
@media screen and ( max-width: 768px ) {
    .btn01 {
        max-width: none;
    }
}

.btn01 a {
    position: relative;
    display: block;
    padding: 18px 35px 18px 23px;
    border: 1px solid #dcdcdc;
}
.btn01 a:after {
    position: absolute;
    top: 1px;
    bottom: 0;
    right: 17px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
         -o-transform: rotate(45deg);
            transform: rotate(45deg);
}
@media screen and ( min-width: 769px ) {
    .btn01 a:hover {
        text-decoration: none;
        color: #fff!important;
        background-color: #003e89;
    }
    .btn01 a:hover:after {
        border-color: #fff!important;
    }
}
@media screen and ( max-width: 768px ) {
    .btn01 a {
        padding: 12px 35px 11px 19px;
    }
}

/* tab */
.btn01.tab a:before {
    position: absolute;
    top: 0;
    bottom: 2px;
    right: 18px;
    margin: auto;
    width: 2px;
    height: 2px;
    border-top: 1px solid #003e89;
    border-right: 1px solid #003e89;
    content: "";
}
.btn01.tab a:after {
    bottom: 5px;
    right: 19px;
    border-top: none;
    border-right: 1px solid #003e89;
}
.btn01.tab span:before {
    position: absolute;
    top: 0;
    bottom: 2px;
    right: 16px;
    margin: auto;
    width: 6px;
    height: 6px;
    border: 1px solid #003e89;
    content: "";
}
.btn01.tab span:after {
    position: absolute;
    top: 2px;
    bottom: 0;
    right: 14px;
    margin: auto;
    width: 7px;
    height: 7px;
    border-bottom: 1px solid #003e89;
    border-right: 1px solid #003e89;
    content: "";
}
@media screen and ( min-width: 769px ) {
    .btn01.tab a:hover:before {
        border-color: #fff!important;
    }
    .btn01.tab a:hover span:before {
        border-color: #fff!important;
    }
    .btn01.tab a:hover span:after {
        border-color: #fff!important;
    }
}
@media screen and ( max-width: 768px ) {
    .btn01.tab a:before {
        right: 19px;
        bottom: 4px;
    }
    .btn01.tab a:after {
        right: 20px;
        bottom: 7px;
    }
    .btn01.tab span:before {
        bottom: 3px;
        right: 17px;
    }
    .btn01.tab span:after {
        top: 1px;
        right: 15px;
    }
}

/* pdf */
.btn01.pdf a {
    padding-left: 47px;
    background: url(../img/common/icon_pdf01_red.png) no-repeat 26px 23px;
}
@media screen and ( min-width: 769px ) {
    .btn01.pdf a:hover {
        background-color: #003e89;
    }
}
@media screen and ( max-width: 768px ) {
    .btn01.pdf a {
        padding-left: 39px;
        background-position: 19px 14px;
    }
}

/* btn02 */
.btn02 {
    margin: 22px auto 0;
    max-width: 330px;
    text-align: center;
    font-weight: bold;
}
@media screen and ( max-width: 768px ) {
    .btn02 {
        margin: 14px auto 0;
        max-width: none;
        background: #fff;
    }
}

.btn02 a {
    display: block;
    position: relative;
    padding: 16px 35px 17px;
    color: #003e89;
    border: 1px solid #003e89;
}
.btn02 a:after {
    position: absolute;
    top: 1px;
    bottom: 0;
    right: 17px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
         -o-transform: rotate(45deg);
            transform: rotate(45deg);
}
.btn02_zoom a:after {
    top: -2px;
    right: 15px;
    width: 16px;
    height: 16px;
    border: none;
    background: url(../img/common/btn02_zoom.png) no-repeat 0 0;
    -webkit-transform: rotate(0);
       -moz-transform: rotate(0);
        -ms-transform: rotate(0);
         -o-transform: rotate(0);
            transform: rotate(0);
}
@media screen and ( min-width: 769px ) {
    .btn02 a:hover {
        text-decoration: none;
        color: #fff!important;
        background: #003e89;
    }
    .btn02 a:hover:after {
        border-color: #fff!important;
    }
    .btn02_zoom a:hover:after {
        background: url(../img/common/btn02_zoom_hover.png) no-repeat 0 0;
    }
}
@media screen and ( max-width: 768px ) {
    .btn02 a {
        padding: 12px 35px 11px;
    }
}

/* btn03 */
.btn03 {
    margin: 13px auto 0;
    max-width: 692px;
    text-align: center;
    font-size: 113%;
    font-weight: bold;
}
@media screen and ( max-width: 768px ) {
    .btn03 {
        font-size: 124%;
    }
}

.btn03 a {
    display: block;
    position: relative;
    padding: 13px 40px 17px;
    color: #fff;
    border: 1px solid #003e89;
    background: #003e89;
}
.btn03 a:after {
    position: absolute;
    top: 1px;
    bottom: 0;
    right: 17px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    -webkit-transform: rotate(45deg);
       -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
         -o-transform: rotate(45deg);
            transform: rotate(45deg);
}
@media screen and ( min-width: 769px ) {
    .btn03 a:hover {
        text-decoration: none;
        color: #003e89;
        background: #fff!important;
    }
    .btn03 a:hover:after {
        border-color: #003e89;
    }
}
@media screen and ( max-width: 768px ) {
    .btn03 a {
        padding: 9px 35px 9px;
    }
    .btn03 a:after {
        right: 21px;
    }
}

/* -- box -- */
/* box01 */
.box01 {
    margin-top: 30px;
    padding: 31px 32px 30px;
    border: 4px solid #dcdcdc;
}
@media screen and ( max-width: 768px ) {
    .box01 {
        margin-top: 20px;
        padding: 23px 31px 30px;
    }
}

/* bdrGray */
.bdrGray {
    margin-top: 13px;
    padding-top: 15px;
    border-top: 1px solid #dcdcdc;
}

/* img_bdrGray */
.img_bdrGray {
    border: 1px solid #e5e5e5;
}

/* -- menu -- */
/* menu_tit01 */
.menu_tit01 {
    text-align: center;
    border-top: 3px solid #003e89;
}

.menu_tit01 a {
    display: block;
    position: relative;
    padding: 20px 40px 19px 35px;
    color: #003e89;
    font-size: 138%;
    font-weight: bold;
}
.menu_tit01 a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 18px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and ( max-width: 768px ) {
    .menu_tit01 a {
        padding: 11px 15px 9px;
        text-align: center;
        font-size: 124%;
    }
    .menu_tit01 a:after {
        right: 4px;
    }
}

/* menu_list01 */
.menu_list01 li {
    border-top: 1px solid #dcdcdc;
    border-right: 1px solid #dcdcdc;
    border-left: 1px solid #dcdcdc;
}
.menu_list01 li:last-child {
    border-bottom: 1px solid #dcdcdc;
}

.menu_list01 a {
    display: block;
    position: relative;
    padding: 22px 40px 22px 78px;
    font-size: 113%;
    font-weight: bold;
}
.menu_list01 a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 17px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and ( min-width: 769px ) {
    .menu_list01 a:hover {
        text-decoration: none;
        color: #fff!important;
        background: #003e89;
    }
    .menu_list01 a:hover:after {
        border-color: #fff!important;
    }
    .menu_list01 a:hover img {
        opacity: 1;
        transition: none;
    }
}
@media screen and ( max-width: 768px ) {
    .menu_list01 a {
        padding: 13px 10px 10px 10px;
        text-align: center;
        font-size: 100%;
    }
    .menu_list01 a:after {
        display: none;
    }
    .menu_list01 .menu_tit01_2line a {
        padding: 5px 10px 2px 10px;
        line-height: 1.4;
    }
}

.menu_list01_txt01 a {
    display: block;
    padding-top: 14px;
    padding-bottom: 14px;
    font-size: 88%;
    font-weight: normal;
}
@media screen and ( max-width: 768px ) {
    .menu_list01_txt01 a {
        padding-top: 4px;
        padding-bottom: 7px;
        text-align: left;
        font-size: 93%;
    }
}

.menu_list01_icon {
    display: block;
    position: absolute;
    top: 19px;
    left: 22px;
    overflow: hidden;
    width: 34px;
    height: 34px;
    border-radius: 50%;
}
@media screen and ( max-width: 768px ) {
    .menu_list01_icon {
        display: none;
    }
}

/* - crm - */
/* crm2 */
.crm2 {
    margin-top: 26px;
}
@media screen and ( max-width: 768px ) {
    .crm2 {
        margin-top: 21px;
    }
}

.crm2 > li {
    float: left;
    margin: 0 4% 33px 0;
    width: 48%;
}
.crm2 > li:nth-child(2n) {
    margin-right: 0;
}
.crm2 > li:nth-last-child(2) ,
.crm2 > li:last-child {
    margin-bottom: 0;
}
@media screen and ( max-width: 768px ) {
    .crm2 > li:nth-last-child(2) ,
    .crm2 > li:nth-child(2n) ,
    .crm2 > li {
        float: none;
        margin: 0 0 18px;
        width: 100%;
    }
    .crm2 > li:last-child {
        margin-bottom: 0;
    }

    .crm2.sp_crm2 > li {
        float: left;
        margin-right: 2%;
        width: 49%;
    }
    .crm2.sp_crm2 > li:nth-child(2n) {
        margin-right: 0;
    }
}

/* crm2_02 */
.crm2_02 {
    margin-top: 22px;
}
@media screen and ( max-width: 768px ) {
    .crm2_02 {
        margin-top: 14px;
    }
}

.crm2_02 > li {
    float: left;
    margin: 0 2% 16px 0;
    width: 49%;
}
.crm2_02 > li:nth-child(2n) {
    margin-right: 0;
}
.crm2_02 > li:nth-last-child(2) ,
.crm2_02 > li:last-child {
    margin-bottom: 0;
}
@media screen and ( max-width: 768px ) {
    .sp_crm2_w100p > li:nth-last-child(2) ,
    .sp_crm2_w100p > li:nth-child(2n) ,
    .sp_crm2_w100p > li {
        float: none;
        margin: 0 0 4px;
        width: 100%;
    }
    .sp_crm2_w100p > li:last-child {
        margin-bottom: 0;
    }
}

/* crm2_1 */
.crm2_1 {
    margin-top: 26px;
}
@media screen and ( max-width: 768px ) {
    .crm2_1 {
        margin-top: 21px;
    }
}

.crm2_1 > li {
    float: left;
    margin: 0 5% 33px 0;
    width: 65%;
}
.crm2_1 > li:nth-child(2n) {
    margin-right: 0;
    width: 30%;
}
.crm2_1 > li:nth-last-child(2) ,
.crm2_1 > li:last-child {
    margin-bottom: 0;
}
@media screen and ( max-width: 768px ) {
    .crm2_1 > li:nth-last-child(2) ,
    .crm2_1 > li:nth-child(2n) ,
    .crm2_1 > li {
        float: none;
        margin: 0 0 18px;
        width: 100%;
    }
    .crm2_1 > li:last-child {
        margin-bottom: 0;
    }
}

/* crm1_2 */
.crm1_2 {
    margin-top: 17px;
}

.crm1_2 > li {
    float: left;
    margin: 0 3% 33px 0;
    width: 31.2%;
}
.crm1_2 > li:nth-child(2n) {
    margin-right: 0;
    width: 65.8%;
}
.crm1_2 > li:nth-last-child(2) ,
.crm1_2 > li:last-child {
    margin-bottom: 0;
}
@media screen and ( max-width: 768px ) {
    .crm1_2 > li:nth-last-child(2) ,
    .crm1_2 > li:nth-child(2n) ,
    .crm1_2 > li {
        float: none;
        margin: 0 0 18px;
        width: 100%;
    }
    .crm1_2 > li:last-child {
        margin-bottom: 0;
    }
}

/* crm3 */
.crm3 {
    margin-top: 22px;
}
@media screen and ( max-width: 768px ) {
    .crm3 {
        margin-top: 14px;
    }
}

.crm3 > li {
    float: left;
    margin: 0 2% 16px 0;
    width: 32%;
}
.crm3 > li:nth-child(3n) {
    margin-right: 0;
}
@media screen and ( max-width: 768px ) {
    .crm3.sp_crm3_w100p > li {
        margin: 0 0 5px;
        width: 100%;
    }
    .crm3.sp_crm3_w100p > li:last-child {
        margin-bottom: 0;
    }
}

/* crm3_02 */
.crm3_02 {
    margin-top: 22px;
}

.crm3_02 > li {
    float: left;
    margin: 0 3.5% 14px 0;
    width: 31%;
}
.crm3_02 > li:nth-child(3n) {
    margin-right: 0;
}
@media screen and ( max-width: 768px ) {
    .sp_crm3_w100p > li:nth-child(2n) ,
    .sp_crm3_w100p > li {
        float: none;
        margin: 0 0 4px;
        width: 100%;
    }
    .sp_crm3_w100p > li:last-child {
        margin-bottom: 0;
    }
}

/* crm4 */
.crm4 {
    margin-top: 26px;
}

.crm4 > li {
    float: left;
    margin: 0 2% 16px 0;
    width: 23.5%;
}
.crm4 > li:nth-child(4n) {
    margin-right: 0;
}
@media screen and ( max-width: 768px ) {
    .crm4 > li:nth-child(4n) ,
    .crm4 > li {
        float: left;
        margin: 0 4% 12px 0;
        width: 48%;
    }
    .crm4 > li:nth-child(2n) {
        margin-right: 0;
    }
    .crm4 > li:last-child {
        margin-bottom: 0;
    }
}

/* crm4_02 */
.crm4_02 {
    margin-top: 26px;
}

.crm4_02 > li {
    float: left;
    margin-right: 4%;
    width: 22%;
}
.crm4_02 > li:nth-child(4n) {
    margin-right: 0;
}
@media screen and ( max-width: 768px ) {
    .crm4_02 > li:nth-child(4n) ,
    .crm4_02 > li {
        float: left;
        margin: 0 4% 12px 0;
        width: 48%;
    }
    .crm4_02 > li:nth-child(2n) {
        margin-right: 0;
    }
    .crm4_02 > li:last-child {
        margin-bottom: 0;
    }
}


/* - table - */
/* table01 */
.table01 {
    table-layout: fixed;
    margin-top: 22px;
    width: 100%;
    text-align: left;
}
@media screen and ( max-width: 768px ) {
    .table01 {
        margin-top: 14px;
    }
}

.table01 th ,
.table01 td {
    vertical-align: middle;
    padding: 11px 16px 10px;
    border: 1px solid #dcdcdc;
}
@media screen and ( max-width: 768px ) {
    .table01 th ,
    .table01 td {
        padding: 5px 10px;
    }
}

.table01 th {
    font-weight: bold;
    background: #eee;
}
@media screen and ( max-width: 768px ) {
    .table01 th {
        width: 31%;
    }
}

.table01_tit {
    width: 37.3%;
}
.crm2 .table01_tit {
    width: 56%;
}
@media screen and ( max-width: 768px ) {
    .table01_tit {
        width: auto;
    }
}

.table01 .table01_min {
    padding-right: 0;
    padding-left: 0;
    width: 8%;
    text-align: center;
}
.crm2 .table01 .table01_min {
    width: 16.8%;
}
@media screen and ( max-width: 768px ) {
    .table01 .table01_min {
        padding-right: 10px;
        padding-left: 10px;
        width: auto;
        text-align: left;
    }
}

/* table02 */
.table02 {
    margin-top: 30px;
    width: 100%;
    color: #da4a52;
    border-top: 1px solid #da4a52;
    border-bottom: 1px solid #da4a52;
}

.table02 th {
    position: relative;
    padding: 18px 5px 25px 0;
    width: 71px;
    text-align: center;
    font-weight: bold;
}
.table02 th:after {
    position: absolute;
    top: 10px;
    bottom: 10px;
    right: 0;
    margin: auto;
    width: 1px;
    background: #da4a52;
    content: "";
}
@media screen and ( max-width: 768px ) {
    .table02 th {
        padding-bottom: 18px;
    }
}

.table02 td {
    padding: 18px 25px 25px;
}
@media screen and ( max-width: 768px ) {
    .table02 td {
        padding-bottom: 18px;
    }
}

/* pager */
.pager01 {
    margin-top: 51px;
    text-align: center;
    font-size: 0;
}
@media screen and ( max-width: 768px ) {
    .pager01 {
        margin-top: 40px;
    }
}

.pager01 li {
    display: inline-block;
    vertical-align: top;
    margin: 0 4px;
    width: 38px;
    height: 38px;
    color: #fff;
    font-size: 14px;
    line-height: 38px;
    border: 1px solid #dcdcdc;
    background: #003e89;
}
@media screen and ( max-width: 768px ) {
    .pager01 li {
        margin: 0 2px;
        width: 32px;
        height: 32px;
        font-size: 12px;
        line-height: 32px;
    }
}

.pager01 a {
    display: block;
    height: 38px;
    color: #000;
    background: #eee;
}
@media screen and ( max-width: 768px ) {
    .pager01 a {
        height: 32px;
    }
}

.pager01 .first a ,
.pager01 .prev a ,
.pager01 .next a ,
.pager01 .last a {
    position: relative;
    background: #fff;
}

.pager01 .first a:before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 8px;
    left: 0;
    margin: auto;
    width: 2px;
    height: 10px;
    background: #003e89;
    content: "";
}
.pager01 .first a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 6px;
    margin: auto;
    width: 4px;
    height: 4px;
    border-bottom: 2px solid #003e89;
    border-left: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.pager01 .prev {
    margin-right: 12px;
}
.pager01 .prev a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 2px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-bottom: 2px solid #003e89;
    border-left: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and ( max-width: 768px ) {
    .pager01 .prev {
        margin-right: 8px;
    }
}

.pager01 .next {
    margin-left: 12px;
}
.pager01 .next a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2px;
    left: 0;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and ( max-width: 768px ) {
    .pager01 .next {
        margin-left: 8px;
    }
}

.pager01 .last a:before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 8px;
    margin: auto;
    width: 2px;
    height: 10px;
    background: #003e89;
    content: "";
}
.pager01 .last a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 6px;
    left: 0;
    margin: auto;
    width: 4px;
    height: 4px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and ( min-width: 769px ) {
    .pager01 a:hover {
        text-decoration: none;
        background: #dcdcdc;
    }
}

/* news_box01 */
.news_box01 {
    margin-top: 40px;
    border: 1px solid #dcdcdc;
}
@media screen and ( max-width: 768px ) {
    .news_box01 {
        margin-top: 31px;
    }
}

.news_box01_tit01 {
    border-bottom: 1px solid #dcdcdc;
    background: #eee;
}

.news_box01_tit01_txt01 {
    float: left;
    padding: 11px 16px 10px;
    font-weight: bold;
}
@media screen and ( max-width: 768px ) {
    .news_box01_tit01_txt01 {
        padding: 7px 9px 4px;
    }
}

.news_box01_tit01_inner01 {
    float: right;
}

.news_box01_tit01_inner01_rss01 {
    float: left;
    padding: 13px 14px 11px 0;
    font-size: 88%;
}
@media screen and ( max-width: 768px ) {
    .news_box01_tit01_inner01_rss01 {
        float: left;
        padding: 7px 10px 4px 0;
        font-size: 100%;
    }
}

.news_box01_tit01_inner01_rss01 img {
    vertical-align: top;
    margin: 3px 7px 0 0;
    width: 14px;
}
@media screen and ( max-width: 768px ) {
    .news_box01_tit01_inner01_rss01 img {
        margin: 2px 8px 0 0;
    }
}

.news_box01_tit01_inner01_btn01 {
    position: relative;
    float: left;
    padding: 13px 17px 11px 13px;
    font-size: 88%;
}
.news_box01_tit01_inner01_btn01:after {
    position: absolute;
    top: 16px;
    bottom: 15px;
    left: 0;
    margin: auto;
    width: 1px;
    background: #dcdcdc;
    content: "";
}
.news_box01_tit01_inner01_btn01_afterHide:after {
    display: none;
}
@media screen and ( max-width: 768px ) {
    .news_box01_tit01_inner01_btn01 {
        padding: 7px 13px 4px 12px;
        font-size: 100%;
    }
    .news_box01_tit01_inner01_btn01:after {
        top: 9px;
        bottom: 7px;
    }
}

.news_box01_link01 li {
    position: relative;
    padding-bottom: 1px;
}
.news_box01_link01 li:after {
    position: absolute;
    bottom: 0;
    right: 15px;
    left: 15px;
    margin: auto;
    height: 1px;
    background: #dcdcdc;
    content: "";
}
.news_box01_link01 li:last-child {
    padding-bottom: 0;
}
.news_box01_link01 li:last-child:after {
    display: none;
}
@media screen and ( max-width: 768px ) {
    .news_box01_link01 li:after {
        right: 7px;
        left: 7px;
    }
}

.news_box01_link01 a {
    display: block;
    position: relative;
    padding: 19px 35px 18px 16px;
}
.news_box01_link01 a:before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 18px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and ( min-width: 769px ) {
    .news_box01_link01 a:hover .news_box01_link01_day01 ,
    .news_box01_link01 a:hover .news_box01_link01_txt01 {
        text-decoration: underline;
    }
}
@media screen and ( max-width: 768px ) {
    .news_box01_link01 a {
        padding: 7px 25px 3px 7px;
    }
    .news_box01_link01 a:before {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 10px;
    }
}

.news_box01_link01_day01 {
    float: left;
    width: 15%;
}
@media screen and ( max-width: 768px ) {
    .news_box01_link01_day01 {
        width: 28%;
    }
}

.news_box01_link01_txt01 {
    float: left;
    width: 85%;
}
@media screen and ( max-width: 768px ) {
    .news_box01_link01_txt01 {
        width: 72%;
    }
}

/* tab */
.news_box01_link01 a.tab:before {
    display: none;
}
.news_box01_link01 a .tab_inner {
    position: absolute;
    top: 0;
    bottom: 4px;
    right: 18px;
    margin: auto;
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border: 1px solid #003e89;
}
.news_box01_link01 a .tab_inner:before {
    position: absolute;
    bottom: -3px;
    right: -3px;
    width: 7px;
    height: 7px;
    border-bottom: 1px solid #003e89;
    border-right: 1px solid #003e89;
    content: "";
}
.news_box01_link01 a .tab_inner:after {
    position: absolute;
    top: -1px;
    left: -2px;
    width: 5px;
    height: 5px;
    border-right: 1px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.news_box01_link01 a .tab_inner span {
    position: absolute;
    top: 1px;
    right: 1px;
    width: 2px;
    height: 2px;
    border-top: 1px solid #003e89;
    border-right: 1px solid #003e89;
    content: "";
}

/* pdf */
.news_box01_link01 a.pdf .news_box01_link01_txt01 {
    padding-left: 21px;
    background: url(../img/common/icon_pdf01_red.png) no-repeat 3px 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
@media screen and ( max-width: 768px ) {
    .news_box01_link01 a.pdf .news_box01_link01_txt01 {
        padding-left: 18px;
        background-position: 3px 2px;
    }
}

.news_tab01 {
    margin-top: 22px;
}
@media screen and ( max-width: 768px ) {
    .news_tab01 {
        margin-top: 14px;
    }
}

.news_tab01_btn01 {
    border-bottom: 2px solid #003e89;
}
@media screen and ( max-width: 768px ) {
    .news_tab01_btn01 {
        border-bottom: none;
    }
}

.news_tab01_btn01 li {
    float: left;
    margin-right: 0.5%;
    text-align: center;
}
.news_tab01_btn01 li:last-child {
    margin-right: 0;
}
.news_tab01_btn01 li.all {
    width: 23.7%;
}
.news_tab01_btn01 li.release {
    width: 36.9%;
}
.news_tab01_btn01 li.notice {
    width: 38.4%;
}
@media screen and ( max-width: 1030px ) {
    .news_tab01_btn01 li.all {
        width: 14%;
    }
    .news_tab01_btn01 li.release {
        width: 30%;
    }
    .news_tab01_btn01 li.notice {
        width: 55%;
    }
}
@media screen and ( max-width: 768px ) {
    .news_tab01_btn01 li {
        margin: 0 0 1px;
    }
    .news_tab01_btn01 li.all {
        margin-right: 0.4%;
        width: 49.8%;
    }
    .news_tab01_btn01 li.release {
        width: 49.8%;
    }
    .news_tab01_btn01 li.notice {
        width: 100%;
    }
}

.news_tab01_btn01 a {
    display: block;
    position: relative;
    padding: 16px 10px 17px;
    font-weight: bold;
    border: 1px solid #c7cdd5;
    border-bottom: none;
}
@media screen and ( min-width: 769px ) {
    .news_tab01_btn01 a:hover {
        text-decoration: none;
        background: #dcdcdc;
    }
}
@media screen and ( max-width: 768px ) {
    .news_tab01_btn01 a {
        padding: 12px 10px 11px;
        border-bottom: 1px solid #c7cdd5;
    }
}

.news_tab01_btn01 img {
    position: relative;
    top: -3px;
    left: -6px;
    width: 14px;
}
@media screen and ( max-width: 768px ) {
    .news_tab01_btn01 img {
        top: -1px;
        left: 1px;
        margin-right: 8px;
    }
}

.news_tab01_btn01 li.act a {
    color: #003e89;
    border-color: #003e89;
}
.news_tab01_btn01 li.act a:after {
    position: absolute;
    bottom: -2px;
    right: 0;
    left: 0;
    margin: auto;
    border-bottom: 2px solid #fff;
    content: "";
}

.news_tab01_contents01 {
    margin-top: 9px;
}
@media screen and ( max-width: 768px ) {
    .news_tab01_contents01 {
        margin-top: 3px;
    }
}

.news_tab01_contents01 li {
    position: relative;
    border-bottom: 1px solid #dcdcdc;
}

.news_tab01_contents01 a {
    display: block;
    position: relative;
    padding: 21px 35px 23px 0;
}
.news_tab01_contents01 a:before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and ( max-width: 768px ) {
    .news_tab01_contents01 a {
        padding: 14px 25px 10px 0;
    }
    .news_tab01_contents01 a:before {
        top: 28px;
    }
}

.news_tab01_contents01_day01 {
    float: left;
    width: 130px;
}
@media screen and ( max-width: 768px ) {
    .news_tab01_contents01_day01 {
        margin-right: 3%;
        width: auto;
    }
}

.news_tab01_contents01_category01 {
    float: left;
    margin-top: 3px;
    width: 118px;
    text-align: center;
    font-size: 82%;
    color: #fff;
    background: #003e89;
}
@media screen and ( max-width: 768px ) {
    .news_tab01_contents01_category01 {
        margin-top: 0;
        width: 117px;
        font-size: 82%;
        color: #fff;
        background: #003e89;
    }
}

.news_tab01_contents01_txt01 {
    float: left;
    margin-left: 17px;
    width: 70%;
    width: -webkit-calc(100% - 235px);
    width: calc(100% - 265px);
}
.no_category .news_tab01_contents01_txt01 {
    margin-left: 0;
    width: 70%;
    width: -webkit-calc(100% - 100px);
    width: calc(100% - 100px);
}
@media screen and ( max-width: 768px ) {
    .news_tab01_contents01_txt01 ,
    .no_category .news_tab01_contents01_txt01 {
        margin: 5px 0 0;
        width: 100%;
    }
}

@media screen and ( min-width: 769px ) {
    .news_tab01_contents01 a:hover .news_tab01_contents01_day01 ,
    .news_tab01_contents01 a:hover .news_tab01_contents01_txt01 {
        text-decoration: underline;
    }
}

/* tab */
.news_tab01_contents01 li.tab a:before {
    display: none;
}
.news_tab01_contents01 li .tab_inner {
    position: absolute;
    top: 0;
    bottom: 1px;
    right: 2px;
    margin: auto;
    display: inline-block;
    vertical-align: middle;
    width: 6px;
    height: 6px;
    border: 1px solid #003e89;
}
.news_tab01_contents01 li .tab_inner:before {
    position: absolute;
    bottom: -3px;
    right: -3px;
    width: 7px;
    height: 7px;
    border-bottom: 1px solid #003e89;
    border-right: 1px solid #003e89;
    content: "";
}
.news_tab01_contents01 li .tab_inner:after {
    position: absolute;
    top: -1px;
    left: -2px;
    width: 5px;
    height: 5px;
    border-right: 1px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.news_tab01_contents01 li .tab_inner span {
    position: absolute;
    top: 1px;
    right: 1px;
    width: 2px;
    height: 2px;
    border-top: 1px solid #003e89;
    border-right: 1px solid #003e89;
    content: "";
}
@media screen and ( max-width: 768px ) {
    .news_tab01_contents01 li .tab_inner {
        top: 28px;
    }
}

/* pdf */
.news_tab01_contents01 li.pdf .news_tab01_contents01_txt01 {
    padding-left: 21px;
    background: url(../img/common/icon_pdf01_red.png) no-repeat 0 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
@media screen and ( max-width: 768px ) {
    .news_tab01_contents01 li.pdf .news_tab01_contents01_txt01 {
        padding-left: 0;
        background: none;
    }
    .news_tab01_contents01 li.pdf .news_tab01_contents01_category01 {
        position: relative;
        margin-right: 22px;
    }
    .news_tab01_contents01 li.pdf .news_tab01_contents01_category01:after {
        position: absolute;
        top: 0;
        top: 1px;
        right: -22px;
        width: 10px;
        height: 14px;
        background: url(../img/common/icon_pdf01_red.png) no-repeat 0 0;
        content: "";
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }
    .news_tab01_contents01 li.no_category.pdf .news_tab01_contents01_day01 {
        position: relative;
        margin-right: 22px;
    }
    .news_tab01_contents01 li.no_category.pdf .news_tab01_contents01_day01:after {
        position: absolute;
        top: 0;
        top: 1px;
        right: -22px;
        width: 10px;
        height: 14px;
        background: url(../img/common/icon_pdf01_red.png) no-repeat 0 0;
        content: "";
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }
}

/* teiden_tab01 */
.teiden_tab01 {
    margin-top: 33px;
}

.teiden_tab01_btn01 {
    border-bottom: 2px solid #da4a52;
}

.teiden_tab01_btn01 li {
    float: left;
    margin-right: 0.35%;
    width: 33.1%;
    text-align: center;
}
.teiden_tab01_btn01 li:nth-child(3n) {
    margin-right: 0;
}

.teiden_tab01_btn01 a {
    position: relative;
    display: block;
    height: 58px;
    font-weight: bold;
    border: 1px solid #c7cdd5;
    border-bottom: none;
}
.teiden_tab01_btn01 li.act a {
    color: #da4a52;
    border-color: #da4a52;
}
.teiden_tab01_btn01 li.act a:after {
    position: absolute;
    bottom: -2px;
    right: 0;
    left: 0;
    margin: auto;
    border-bottom: 2px solid #fff;
    content: "";
}
@media screen and ( min-width: 769px ) {
    .teiden_tab01_btn01 a:hover {
        text-decoration: none;
        background: #dcdcdc;
    }
}

.teiden_tab01_btn01 span {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: auto;
    line-height: 1.4;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
}

.teiden_tab01_contents01 {
    margin-top: 40px;
}

.teiden_tab01_contents01 > li {
    display: none;
}
.teiden_tab01_contents01 > li.act {
    display: block;
}

/* thumbnail_box01 */
.thumbnail_box01 a {
    position: relative;
    display: block;
}
@media screen and ( min-width: 769px ) {
    .thumbnail_box01 a:hover .thumbnail_box01_tetarea01 ,
    .thumbnail_box01 a:hover .thumbnail_box01_txt01 {
        text-decoration: underline;
    }
}

.thumbnail_box01_tetarea01 {
    float: right;
    width: 67.3%;
}
@media screen and ( max-width: 768px ) {
    .thumbnail_box01_tetarea01 {
        width: 72.4%;
    }
}

.thumbnail_box01_tit01 {
    position: relative;
    margin-top: 7px;
    padding:13px 15px 13px 0;
    font-size: 113%;
    font-weight: bold;
    border-top: 1px solid #003e89;
}
.thumbnail_box01_tit01:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.thumbnail_box01_tetarea01 .thumbnail_box01_tit01 {
    margin-top: 0;
}
@media screen and ( max-width: 768px ) {
    .thumbnail_box01_tit01 {
        padding: 15px 15px 9px 0;
        font-size: 100%;
        font-weight: bold;
        border-top: 1px solid #003e89;
    }
    .thumbnail_box01_tit01:after {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 3px;
        margin: auto;
        width: 5px;
        height: 5px;
        border-top: 2px solid #003e89;
        border-right: 2px solid #003e89;
        content: "";
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        -o-transform: rotate(45deg);
        transform: rotate(45deg);
    }
}

/* tab */
.tab .thumbnail_box01_tit01:after {
    display: none;
}
.thumbnail_box01_tit01 .tab_inner {
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3px;
    margin: auto;
    width: 6px;
    height: 6px;
    border: 1px solid #003e89;
}
.thumbnail_box01_tit01 .tab_inner:before {
    position: absolute;
    bottom: -3px;
    right: -3px;
    width: 7px;
    height: 7px;
    border-bottom: 1px solid #003e89;
    border-right: 1px solid #003e89;
    content: "";
}
.thumbnail_box01_tit01 .tab_inner:after {
    position: absolute;
    top: -1px;
    left: -2px;
    width: 5px;
    height: 5px;
    border-right: 1px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.thumbnail_box01_tit01 .tab_inner span {
    position: absolute;
    top: 1px;
    right: 1px;
    width: 2px;
    height: 2px;
    border-top: 1px solid #003e89;
    border-right: 1px solid #003e89;
    content: "";
}

.thumbnail_box01_txt01 {
    font-size: 88%;
}
.thumbnail_box01_tetarea01 .thumbnail_box01_txt01 {
    margin: 1px 10px 0 0;
}
@media screen and ( max-width: 768px ) {
    .thumbnail_box01_txt01 {
        font-size: 93%;
    }
    .thumbnail_box01_tetarea01 .thumbnail_box01_txt01 {
        margin: 1px 10px 0 0;
    }
}

.thumbnail_box01.sizeS_tit .thumbnail_box01_img01 {
    float: left;
    width: 28.2%;
}
@media screen and ( max-width: 768px ) {
    .thumbnail_box01.sizeS_tit .thumbnail_box01_img01 {
        width: 23.1%;
    }
}

.thumbnail_box01.sizeS {
    border: 1px solid #dcdcdc;
}
.thumbnail_box01.sizeS a {
    padding: 10px 40px 9px 10px;
}
.thumbnail_box01.sizeS a:before {
    position: absolute;
    top: 0;
    bottom: 1px;
    right: 17px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.thumbnail_box01.sizeS .thumbnail_box01_img01 {
    float: left;
    width: 20%;
}
.thumbnail_box01.sizeS .thumbnail_box01_txt01 {
    float: right;
    margin-top: 4px;
    width: 76%;
}
.thumbnail_box01.sizeS .thumbnail_box01_txt01_1line {
    margin-top: 14px;
}
.thumbnail_box01.sizeS.thumbnail_box01_1line .thumbnail_box01_txt01 {
    margin-top: 16px;
}
@media screen and ( max-width: 768px ) {
    .thumbnail_box01.sizeS a {
        padding: 10px 30px 10px 10px;
    }
    .thumbnail_box01.sizeS a:before {
        right: 12px;
    }
    .thumbnail_box01.sizeS .thumbnail_box01_img01 {
        width: 17%;
    }
    .thumbnail_box01.sizeS .thumbnail_box01_txt01_1line ,
    .thumbnail_box01.sizeS .thumbnail_box01_txt01 {
        margin-top: 1px;
        width: 78.5%;
    }
    .thumbnail_box01.sizeS.thumbnail_box01_1line .thumbnail_box01_txt01 {
        margin-top: 12px;
    }
}

/* tab */
.thumbnail_box01.sizeS a.tab:before {
    display: none;
}
.thumbnail_box01.sizeS a .tab_inner {
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    top: 0;
    bottom: 2px;
    right: 15px;
    margin: auto;
    width: 6px;
    height: 6px;
    border: 1px solid #003e89;
}
.thumbnail_box01.sizeS a .tab_inner:before {
    position: absolute;
    bottom: -3px;
    right: -3px;
    width: 7px;
    height: 7px;
    border-bottom: 1px solid #003e89;
    border-right: 1px solid #003e89;
    content: "";
}
.thumbnail_box01.sizeS a .tab_inner:after {
    position: absolute;
    top: -1px;
    left: -2px;
    width: 5px;
    height: 5px;
    border-right: 1px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.thumbnail_box01.sizeS a .tab_inner span {
    position: absolute;
    top: 1px;
    right: 1px;
    width: 2px;
    height: 2px;
    border-top: 1px solid #003e89;
    border-right: 1px solid #003e89;
    content: "";
}


















/* faq01 */
.faq01 {
    margin-top: 21px;
}

.faq01 dt {
    cursor: pointer;
    position: relative;
    margin-top: 1px;
    padding: 26px 60px 28px 88px;
    font-weight: bold;
    border-top: 4px solid #dcdcdc;
    border-bottom: 1px solid #ccc;
    background: #dcdcdc;
}
.faq01 dt:before {
    position: absolute;
    top: 22px;
    left: 30px;
    width: 36px;
    height: 36px;
    color: #d75e5e;
    text-align: center;
    font-size: 94%;
    font-weight: bold;
    line-height: 36px;
    border: 1px solid #da4a52;
    border-radius: 4px;
    background: #fff;
    content: "Q";
}
.faq01 dt:after {
    position: absolute;
    top: 2px;
    bottom: 0;
    right: 31px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-bottom: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and ( max-width: 768px ) {
    .faq01 dt {
        padding: 12px 35px 12px 60px;
    }
    .faq01 dt:before {
        top: 0;
        bottom: 0;
        left: 15px;
        margin: auto;
        width: 30px;
        height: 30px;
        font-size: 93%;
        line-height: 30px;
    }
    .faq01 dt:after {
        top: 2px;
        right: 17px;
    }
}

.faq01 dt.open {
    color: #da4a52;
    border-top-color: #003e89;
    background: #fff;
}
.faq01 dt.open:after {
    top: 9px;
    border: none;
    border-top: 2px solid #003e89;
    border-left: 2px solid #003e89;
}
@media screen and ( max-width: 768px ) {
    .faq01 dt.open:after {
        top: 2px;
    }
}

.faq01 dd {
    display: none;
    position: relative;
    padding: 24px 24px 23px 88px;
}
.faq01 dd:before {
    position: absolute;
    top: 30px;
    left: 30px;
    width: 38px;
    height: 38px;
    color: #fff;
    text-align: center;
    font-size: 94%;
    font-weight: bold;
    line-height: 38px;
    border-radius: 4px;
    background: #d75e5e;
    content: "A";
}
@media screen and ( max-width: 768px ) {
    .faq01 dd {
        padding: 9px 12px 8px 60px;
    }
    .faq01 dd:before {
        top: 14px;
        left: 15px;
        width: 30px;
        height: 30px;
        font-size: 93%;
        line-height: 30px;
    }
}

/* gallery_box01 */
.gallery_box01_thumbnail01 {
    margin-top: 16px;
}
@media screen and ( max-width: 768px ) {
    .gallery_box01_thumbnail01 {
        margin-top: 10px;
    }
}

.gallery_box01_thumbnail01 li {
    cursor: pointer;
    float: left;
    position: relative;
    margin-right: 1.25%;
    width: 19%;
}
.gallery_box01_thumbnail01 li:last-child {
    margin-right: 0;
}

.gallery_box01_thumbnail01 li.act:before {
    position: absolute;
    top: -12px;
    right: 0;
    left: 0;
    margin: auto;
    width: 8px;
    height: 8px;
    border: 5px solid transparent;
    border-bottom: 7px solid #003e89;
    content: "";
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
} 
.gallery_box01_thumbnail01 li.act:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    border: 2px solid #003e89;
    content: "";
}
@media screen and ( max-width: 768px ) {
    .gallery_box01_thumbnail01 li {
        cursor: pointer;
        float: left;
        position: relative;
        margin-right: 1.25%;
        width: 19%;
    }
    .gallery_box01_thumbnail01 li:last-child {
        margin-right: 0;
    }

    .gallery_box01_thumbnail01 li.act:before {
        position: absolute;
        top: -12px;
        right: 0;
        left: 0;
        margin: auto;
        width: 8px;
        height: 8px;
        border: 5px solid transparent;
        border-bottom: 7px solid #003e89;
        content: "";
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    } 
    .gallery_box01_thumbnail01 li.act:after {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto;
        border: 2px solid #003e89;
        content: "";
    }
}

/* attention_box01 */
.attention_box01 {
    position: relative;
    margin-top: 24px;
    padding: 24px 24px 24px 130px;
    color: #d70d1a;
    background: #f4d3d6 url(../img/common/icon_caution01.png) no-repeat 30px 48px;
}
.attention_box01:after {
    position: absolute;
    top: 30px;
    bottom: 30px;
    left: 98px;
    margin: auto;
    width: 1px;
    background: #cfa4a7;
    content: "";
}
@media screen and ( max-width: 768px ) {
    .attention_box01 {
        padding: 26px 24px 25px 86px;
        background-position: 25px 50%;
        -webkit-background-size: 25px auto;
        background-size: 25px auto;
    }
    .attention_box01:after {
        bottom: 27px;
        left: 65px;
    }
}

/* search_box01 */
.search_box01 {
    padding: 24px 40px 40px;
    background: #eee;
}
@media screen and ( max-width: 768px ) {
    .search_box01 {
        padding: 16px 20px 20px;
    }
}

.search_box01 h3 {
    margin: 0 0 12px;
    padding-left: 0;
    text-align: center;
}
.search_box01 h3:before {
    display: none;
}
.crm2 .search_box01 h3 {
    text-align: left;
}
@media screen and ( max-width: 768px ) {
    .search_box01 h3 {
        margin: 0 0 9px;
    }
}

.search_box01 input {
    margin: 0;
    padding: 0;
    border-radius: 0;
    border: none;
    background: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.search_box01 input[type="search"]{
    vertical-align: top;
    margin-right: 1%;
    padding: 10px;
    width: 86%;
    font-size: 16px;
    border-top: 2px solid #dcdcdc;
    border-left: 2px solid #dcdcdc;
    background: #fff;
}
.crm2 .search_box01 input[type="search"] {
    margin-right: 3%;
    padding: 5px;
    width: 80%;
}
@media screen and ( max-width: 1030px ) {
    .crm2 .search_box01 input[type="search"] {
        width: 72%;
    }
}
@media screen and ( max-width: 768px ) {
    .crm2 .search_box01 input[type="search"] ,
    .search_box01 input[type="search"]{
        margin-right: 3%;
        padding: 11px;
        width: 79%;
        font-size: 13px;
        border-top: 3px solid #dcdcdc;
        border-left: none;
    }
}

.search_box01 input[type="submit"] {
    cursor: pointer;
    vertical-align: top;
    width: 13%;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 40px;
    background: #003e89;
}
.crm2 .search_box01 input[type="submit"] {
    width: 17%;
    line-height: 30px;
}
@media screen and ( max-width: 1030px ) {
    .crm2 .search_box01 input[type="submit"] {
        width: 25%;
    }
}
@media screen and ( max-width: 768px ) {
    .crm2 .search_box01 input[type="submit"] ,
    .search_box01 input[type="submit"] {
        width: 18%;
        font-size: 13px;
        line-height: 41px;
    }
}

/* -- rnav --*/
#rnav {
    float: right;
    margin-top: 76px;
    width: 22.1%;
}
#rnav.lnav {
    float: left;
}
@media screen and ( max-width: 768px ) {
    #rnav ,
    #rnav.lnav {
        float: none;
        margin-top: 65px;
        width: 100%;
    }
}

/* rnav_tit01 */
.rnav_tit01 {
    margin: 40px 0 2px;
    border-top: 3px solid #003e89;
}
#rnav .rnav_tit01:first-child {
    margin-top: 0;
}

.rnav_tit01 a {
    display: block;
    position: relative;
    padding: 22px 40px 22px 0px;
    color: #003e89;
    font-size: 113%;
    font-weight: bold;
}
.rnav_tit01 a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 18px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* rnav_link01 */
.rnav_link01 {
    margin-bottom: 20px;
}

.rnav_link01 > li {
    border-top: 1px solid #dcdcdc;
    border-right: 1px solid #dcdcdc;
    border-left: 1px solid #dcdcdc;
}
.rnav_link01 > li:last-child {
    border-bottom: 1px solid #dcdcdc;
}

.rnav_link01 > li > a {
    display: block;
    position: relative;
    padding: 25px 40px 22px 20px;
    font-weight: bold;
}
.rnav_link01 > li > a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 17px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
@media screen and ( min-width: 769px ) {
    .rnav_link01 > li > a:hover {
        text-decoration: none;
        color: #fff!important;
        background: #003e89;
    }
    .rnav_link01 > li > a:hover:after {
        border-color: #fff!important;
    }
}

.rnav_link01_link01 {
    padding: 3px 0 15px;
    font-size: 88%;
     background: #eee;
}

.rnav_link01_link01 li {
    margin: 12px 0 0;
}

.rnav_link01_link01 a {
    display: block;
    position: relative;
    padding-left: 30px;
}
.rnav_link01_link01 a:after {
    position: absolute;
    top: 4px;
    bottom: 0;
    right: 17px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #003e89;
    border-right: 2px solid #003e89;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* rnav_banner01 */
.rnav_banner01 li {
    margin-bottom: 8px;
}

/* totop */
#totop {
    position: fixed;
    bottom: 72px;
    right: 30px;
    z-index: 900;
}
@media screen and ( max-width: 768px ) {
    #totop {
        bottom: 20px;
        right: 5px;
    }
}

#totop a {
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #003e89;
}
#totop a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* audio */
.audio_outer {
    margin: 46px auto 0;
    text-align: center;
}

/* map */
.map {
    overflow: hidden;
    line-height: 0;
}

.map_inner {
    overflow: hidden;
    position: relative;
    padding-top: 420px;
    height: 0;
}
.map_h400 .map_inner {
    padding-top: 400px;
}
.map_h440 .map_inner {
    padding-top: 440px;
}
@media screen and ( max-width: 768px ) {
    .map_inner ,
    .map_h400 .map_inner ,
    .map_h440 .map_inner {
        padding-top: 340px;
    }
}

.map_inner iframe,
.map_inner object,
.map_inner embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* trouble_navi_box */
#contents.trouble_navi_box {
    padding-top: 0;
    border-top: 1px solid #dcdcdc;
}

.trouble_box01 {
    margin-bottom: 51px;
}

.trouble_box01 a {
    display: block;
    position: relative;
    padding: 14px 35px 11px 94px;
    border-bottom: 1px solid #e0e0e0;
    background: #f4d3d6 url(../img/navi/icon_caution02.png) no-repeat 36px 32px;
    -webkit-background-size: 25px auto;
    background-size: 25px auto;

}
.trouble_box01 a:before {
    position: absolute;
    top: 16px;
    bottom: 12px;
    left: 79px;
    margin: auto;
    width: 1px;
    background: #cfa4a7;
    content: "";
}
.trouble_box01 a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 17px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #d80c18;
    border-right: 2px solid #d80c18;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

.trouble_box01_day01_category {
    display: inline-block;
    margin-left: 9px;
    width: 118px;
    text-align: center;
    color: #fff;
    font-size: 93%;
    line-height: 17px;
    background: #d70a17;
}

.trouble_box01_txt01 {
    margin-top: 6px;
    color: #d70a17;
    line-height: 1.4;
}

.trouble_navi_tit01 {
    margin-top: 30px;
    padding: 41px 0 28px;
    text-align: center;
    font-size: 185%;
    font-weight: bold;
    border-bottom: 3px solid #d80c18;
    background: url(../img/navi/trouble_navi_tit01_icon01.png) no-repeat top center;
    -webkit-background-size: 40px auto;
    background-size: 40px auto;
}
.blue.trouble_navi_tit01 {
    border-bottom-color: #003e89;
}

.trouble_navi_tit02 {
    margin: 22px 0 20px;
    text-align: center;
    color: #d80c18;
    font-size: 124%;
    font-weight: bold;
    letter-spacing: 0.05em;
}
.blue.trouble_navi_tit02 {
    color: #003e89;
}

.trouble_navi01 {
    margin-top: 10px;
    border-bottom: 1px solid #cfa4a7;
}

.trouble_navi01 li {
    float: left;
    width: 100%;
    border-top: 1px solid #cfa4a7;
    border-right: 1px solid #cfa4a7;
    border-left: 1px solid #cfa4a7;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
.trouble_navi01 li.w50pL,
.trouble_navi01 li.w50pR {
    width: 50%;
}
.trouble_navi01 li.w50pR {
    border-left: none;
}

.trouble_navi01 a {
    display: block;
    position: relative;
    padding-top: 23px;
    height: 100px;
    text-align: center;
    font-size: 116%;
    font-weight: bold;
    color: #d80c18;
}
.trouble_navi01 a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 12px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #d80c18;
    border-right: 2px solid #d80c18;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.trouble_navi01 .blue a {
    color: #003e89;
}
.trouble_navi01 .blue a:after {
    border-color: #003e89;
}
.trouble_navi01 li.w50pL a,
.trouble_navi01 li.w50pR a {
    font-size: 100%;
}
.trouble_navi01 li.big a {
    padding-top: 20px;
    height: 103px;
}

.trouble_navi01 img {
    display: block;
    margin: 0 auto 9px;
    width: auto;
    height: 50px;
}
.trouble_navi01 li.w50pL img,
.trouble_navi01 li.w50pR img {
    margin-bottom: 13px;
}
.trouble_navi01 li.trouble_navi01_2line img {
    margin-bottom: 3px;
}
.trouble_navi01 li.big img {
    margin-bottom: 9px;
    height: 56px;
}


/*
	footer
*/
footer {
    margin-top: 100px;
}
@media screen and ( max-width: 768px ) {
    footer {
        margin-top: 45px;
    }
}

.footer_sns01 li {
    float: left;
    width: 33.33%;
}
.footer_sns01 li:last-child {
    width: 33.34%;
}

.footer_sns01 a {
    display: block;
    position: relative;
    height: 60px;
    text-align: center;
}

.footer_sns01 img ,
.footer_sns01 span {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: auto;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
}

.footer_sns01 span {
    color: #fff;
}

.footer_sns01 .facebook a {
    background: #3b5998;
}
.footer_sns01 .facebook img {
    width: 12px;
}
@media screen and ( max-width: 768px ) {
    .footer_sns01 .facebook img {
        width: 8px;
    }
}

.footer_sns01 .twitter a {
    background: #00aced;
}
.footer_sns01 .twitter img {
    width: 27px;
}
@media screen and ( max-width: 768px ) {
    .footer_sns01 .twitter img {
        width: 17px;
    }
}

.footer_sns01 .youtube a {
    background: #ff0000;
}
/*.footer_sns01 .youtube img {
    width: 91px;
}
@media screen and ( max-width: 768px ) {
    .footer_sns01 .youtube img {
        width: 61px;
    }
}*/

.footer_list01 {
    background: #003e89;
}

.footer_list01 > li {
    float: left;
    position: relative;
    padding: 36px 0 18px;
    width: 20%;
}
.footer_list01 > li:after {
    position: absolute;
    top: 40px;
    bottom: 42px;
    right: 0;
    margin: auto;
    width: 1px;
    background: #215798;
    content: "";
}
.footer_list01 > li:nth-child(4):after ,
.footer_list01 > li:nth-child(5):after {
    display: none;
}
.footer_list01 .footer_list01_box01 {
    background: #072c65;
}
@media screen and ( max-width: 768px ) {
    .footer_list01 > li {
        display: none;
    }
    .footer_list01 .footer_list01_box01 {
        display: block;
        padding: 25px 0 26px;
        width: 100%;
    }
}

.fotter_logo {
    margin: 0 auto;
    width: 197px;
}
@media screen and ( max-width: 768px ) {
    .fotter_logo {
        width: 135px;
    }
}

.fotter_copyright {
    margin-top: 25px;
    text-align: center;
    color: #fff;
    font-size: 88%;
    line-height: 1.75;
}
@media screen and ( max-width: 768px ) {
    .fotter_copyright {
        margin-top: 9px;
        font-size: 93%;
    }
}

@media screen and ( max-width: 768px ) {
    .fotter_copyright br {
        display: none;
    }
}

.footer_list01_link01 li {
    margin-bottom: 18px;
    padding-left: 45px;
    font-size: 88%;
}
.footer_list01_link01 li:first-child {
    font-weight: bold;
}

.footer_list01_link01 a {
    display: inline-block;
    position: relative;
    padding-left: 18px;
    color: #fff;
}
.footer_list01_link01 a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3px;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #5e9ce7;
    border-right: 2px solid #5e9ce7;
    content: "";
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}



/*
	clearfix
*/
.clearfix {
zoom: 1;
}

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


/*
    category visual
*/
#visual.parts {
    background: url(./pattern/img/parts_visual.png) no-repeat center;
    -webkit-background-size: cover;
    background-size: cover;
}

#visual.support_apartment {
    background: url(../img/support/apartment/support_apartment_visual.png) no-repeat center;
    -webkit-background-size: cover;
    background-size: cover;
}
@media screen and ( max-width: 768px ) {
    #visual.support_apartment {
        background-position: center right;
    }
}

#visual.baseball {
    background: url(../img/baseball/baseball_visual.png) no-repeat center;
    -webkit-background-size: cover;
    background-size: cover;
}


/*
    load
*/
#load {
    position: fixed;
    overflow: hidden;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
}
#load:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background: rgba(0,0,0,0.5);
    content: "";
    z-index: 400;
}

#load video {
    position: absolute;
    top: 55%;
    left: 55%;
    min-width: 110%;
    width: auto;
    min-height: 110%;
    height: auto;
    z-index: 100;
    -webkit-transform: translate(-55%,-55%);
    -moz-transform: translate(-55%,-55%);
    -ms-transform: translate(-55%,-55%);
    -o-transform: translate(-55%,-55%);
    transform: translate(-55%,-55%);
}

.load_logo01 {
    position: absolute;
    top: 5.4vh;
    left: 4vw;
    width: 208px;
    z-index: 500;
}
@media screen and ( max-width: 768px ) {
    .load_logo01 {
        top: 15px;
        left: 15px;
        width: 152px;
    }
}

.load_inner01 {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: 51px auto 0;
    text-align: center;
    color: #fff;
    z-index: 500;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}
@media screen and ( max-width: 768px ) {
    .load_inner01 {
        top: 43%;
        margin: 0 25px 0;
    }
}

.load_txt01 {
    font-weight: bold;
}

.load_txt02 {
    margin: 6vh auto 2.6vh;
    width: 50vw;
}
@media screen and ( max-width: 768px ) {
    .load_txt02 {
        width: auto;
    }
}

.load_txt03 {
    font-size: 113%;
    font-weight: bold;
}

.load_btn01 {
    position: relative;
    margin: 4.4vh auto 0;
    width: 138px;
    height: 138px;
}
@media screen and ( max-width: 768px ) {
    .load_btn01 {
        width: 100px;
        height: 100px;
    }
}

.load_btn01 a {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: auto;
    width: 100%;
    height: 100%;
    color: #fff;
    border-radius: 50%;
    background: #205ea8;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
@media screen and ( min-width: 769px ) {
    .load_btn01 a:hover {
        width: 80%;
        height: 80%;
    }
}

.load_link01 {
    margin: 5.6vh auto 0;
    width: 410px;
}
@media screen and ( max-width: 768px ) {
    .load_link01 {
        width: auto;
    }
}

.load_link01 li {
    float: left;
    margin-right: 3%;
    width: 48.5%;
}
.load_link01 li:nth-child(2n) {
    margin-right: 0;
}

.load_link01 a {
    display: block;
    position: relative;
    padding: 11px 30px 13px;
    color: #fff;
    font-family : Arial,'ＭＳ Ｐゴシック',sans-serif;
    font-size: 94%;
    font-weight: bold;
    border: 1px solid #fff;
    background: rgba(255,255,255,0.2);
}
.load_link01 a:after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 9px;
    margin: auto;
    width: 10px;
    height: 10px;
    background: url(../img/load/load_link01_icon01.png) no-repeat 0 0;
    content: "";
}
@media screen and ( min-width: 769px ) {
    .load_link01 a:hover {
        text-decoration: none;
        background: rgba(255,255,255,0.5);
    }
}
@media screen and ( max-width: 768px ) {
    .load_link01 a {
        padding-left: 15px;
    }
}

.load_bnt02 {
    position: fixed;
    bottom: 0;
    left: 50%;
    margin: auto;
    font-family : Arial,'ＭＳ Ｐゴシック',sans-serif;
    font-size: 75%;
    z-index: 500;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.load_bnt02 a {
    display: block;
    position: relative;
    height: 69px;
    color: #fff;
}
.load_bnt02 a:after {
    position: absolute;
    top: 24px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 1px;
    background: #fff;
    content: "";
}
@media screen and ( min-width: 769px ) {
    .load_bnt02 a:hover {
        text-decoration: none;
        opacity: 0.5;
    }
}

/*
    lity
*/
.lity-close {
    top: 20px;
    right: 20px;
}