#header
{
    position: relative;
}

#sub-bg
{
    position: relative;

    width: 100%;
    height: 275px;
}
#sub-bg .sub-bg-tit
{
    position: relative;
    z-index: 20;

    display: table;

    height: 100%;
}


#sub-bg  .sub-tit-h2
{
    font-size: 3.0em;

    position: relative;
    z-index: 50;
    top: -25px;

    display: table-cell;

    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;

    color: #fff;
}

#sub-bg  .sub-tit-h2 p
{
    font-size: .8rem;
    font-weight: 300;
}

#sub-bg.sub-bg-product
{
    /*background: url(../img/sub-bg-product.jpg) center center no-repeat;*/
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-background-size: cover;
            background-size: cover;
}



.sub-bg-menu
{
    position: absolute;
    z-index: 100;
    z-index: 20;
    bottom: 0;

    display: table;
    overflow: hidden;

    width: 100%;
    height: 70px;
    /*background-color: #fff;*/
}
.sub-bg-menu:after
{
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 70px;

    content: '';

    opacity: .8;
    background-color: #ce0f1e;
}
.sub-bg-menu ul li
{
    line-height: 70px;

    position: relative;
    /*height: 65px;*/
    z-index: 20;

    display: table-cell;

    width: 1%;

    text-align: center;
}
.sub-bg-menu ul li a
{
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 60px;
    /* line-height: 25px; */
    /* margin-top: 18px; */

    position: relative;
    top: 5px;

    display: block;

    width: 100%;
    /*top: 18px;*/
    height: 60px;
    /* float: left; */

    color: #fff;

    /*border-right: 1px solid rgb(200,200,200);*/
}

.sub-bg-menu li.on a
{
    font-weight: 600;

    background-color: #fff;
}

.sub-bg-menu li.on a:after
{
    font-family: FontAwesome;
    font-size: 30px;

    position: absolute;
    z-index: 1;
    bottom: -28px;
    left: 0;
    /* content: ''; */

    display: inline-block;

    width: 100%;
    /* height: 20px; */

    content: '\f0d7';

    color: #fff;
}

.sub-bg-menu li.on a
{
    font-weight: 600;

    color: #b82538;
}

.sub-container
{
    min-height: 30vmax;
    padding-bottom: 3rem;
}


.sub-container hgroup h2
{
    font-size: 2.3rem;
    font-weight: 400;

    position: relative;

    color: #232323;
}

.breadcrumb
{
    /*border-bottom: 1px solid #bfbfbf;*/
}
.breadcrumb li
{
    display: inline-block;
    float: left;
    /*margin: 0 1rem;*/
}
.breadcrumb .icon-home
{
    display: inline-block;

    width: 30px;
    /*height: 30px;*/

    text-indent: -9999px;

    background: #fff url(../img/icon-home.gif)  center center no-repeat;
}
.breadcrumb li:after
{
    display: inline-block;

    margin: 0 .5rem;

    content: '/';

    color: #888;
}

.cate hr
{
    margin: 18px 0 30px;

    border-width: 0;
    border-style: solid none;
    border-color: #eee;
    border-bottom: 1px solid rgb(220,220,220);
}

.title-h3
{
    font-size: 1.3rem;
    font-weight: 400;

    position: relative;

    padding-top: 70px;

    text-align: center;

    color: #2e2e2e;
}

.title-h3:before
{
    position: absolute;
    top: 0;
    left: 50%;

    display: block;

    width: 1px;
    height: 60px;

    content: '';

    background-color: #c9c9c9;
}

.title-h3 small
{
    font-size: .9em;
    font-weight: 300;

    display: block;

    margin-top: 10px;

    color: #c50000;
}
.tit-h4
{
    font-size: 1.3rem;
    font-weight: 400;
    /* line-height: 1.9em;
    height: 1.9em; */
    position: relative;

    /*height: 1.2rem;*/

    color: #000;
}

.tit-h4:before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 30px;
    height: 2px;

    content: '';

    background-color: #b62437;
}
.contents-text
{
    font-size: 1.1em;
    font-weight: 300;
    line-height: 1.7rem;

    color: #555;
}

.title-h4
{
    font-size: 1.2rem;
    font-style: italic;

    position: relative;

    padding-bottom: 20px;

    text-align: center;

    color: #2d2d2d;
}
.title-h4:after
{
    position: absolute;
    bottom: 7px;
    left: 50%;

    display: block;

    width: 30px;
    height: 1px;
    margin-left: -15px;

    content: '';

    background-color: #333;
}



.div-half > li
{
    float: left;
    /*display: table-cell;*/

    width: 50%;
}
.div-half.div-3half > li
{
    width: 33.3333%;
}
.div-half > li article
{
    width: 97%;
}
.div-half > li article iframe {
    margin: auto;
    display: block;
}
/* .div-half > li:last-of-type article
{
    float: right;
} */

.div-half > li p
{
    font-weight: 300;
    line-height: 1.5rem;

    /*text-align: justify;*/

    color: #676767;
}



.box_wrap
{
    position: relative;

    padding: 5px;

    background: url(../img/pattren_dot_gray.gif) 0 0 repeat;
}

.box_in
{
    font-weight: 400;
    line-height: 2rem;

    padding: 20px 25px;

    background-color: #fff;
}

.box_in:before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 30px;
    height: 30px;

    content: '';

    border-top: 5px solid #16947e;
    border-left: 5px solid #16947e;
}

.box_in:after
{
    position: absolute;
    right: 0;
    bottom: 0;

    width: 30px;
    height: 30px;

    content: '';

    border-right: 5px solid #0a7bb5;
    border-bottom: 5px solid #0a7bb5;
}

.help-wrap
{
    font-size: 1em;
    font-weight: 400;
    font-weight: normal;

    padding: 15px;

    text-align: center;

    color: #3a76a2;
    border: 2px solid #98cdd8;
    border-radius: .8rem;
    background-color: #d9edf7;
}
