

html body a
{
    text-decoration: none;
}

html body .button,
html body .button::before,
html body .button::after
{
    box-sizing: border-box;

    -webkit-transition: all .3s;
            transition: all .3s;
}

html body .mt40
{
    margin-top: 40px;
}

html body .sp
{
    display: none;
}

@media screen and (max-width: 768px)
{
    html body
    {
        overflow: hidden;
    }
    html body .pc
    {
        display: none;
    }
    html body .sp
    {
        display: block;
    }
}

.hbody
{
    position: relative;
    width: 100%;
        height: auto;
        min-height: 130px;
        padding-bottom: 10px;
}

.hbody-logo
{
    position: relative;
    position: relative;

    width: 1000px;
    margin: 0 auto;
    padding-top: 16px;
}

@media screen and (max-width: 768px)
{
    .hbody-logo
    {
        width: 100%;
        padding-top: 10px;
        padding-left: 2.5%;
    }
}

@media screen and (max-width: 768px)
{
    .hbody-logo-img
    {
        width: 31px;
        height: auto;

        vertical-align: top;
    }
}

.hbody-logo-caption
{
    font-size: 4rem !important;
    line-height: 1.2 !important;
    font-weight: bold;

    position: relative;
    z-index: 100;

    display: block;
    width: 80%;
}

/** 追記 **/
.clearfix
{
    zoom: 100%;
}

.clearfix:after
{
    display: block;
    visibility: hidden;
    clear: both;

    height: 0;

    content: '';
}

#page_top
{
    position: fixed;
    z-index: 1;
    right: 20px;
    bottom: 20px;

    width: 67px;
    height: 67px;
}

.overlay
{
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;

    display: none;

    width: 100%;
    height: 100%;

    background: rgba(255, 255, 255, .9);
}

.overlay.is-modal
{
    background: rgba(255, 255, 255, .9);
}

.overlay.is-active
{
    display: block;
}

.menuBtn
{
    position: absolute;
    z-index: 200;
    top: 17px;
    right: 10px;
}

.menuBtn .menuTrigger,
.menuBtn .menuTrigger span
{
    display: inline-block;

    box-sizing: border-box;

    -webkit-transition: all .4s;

    transition: all .4s;
}

.menuBtn .menuTrigger
{
    position: relative;

    width: 25px;
    height: 19px;
    margin-right: 5px;
}

.menuBtn .menuTrigger span
{
    position: absolute;
    left: 0;

    width: 100%;
    height: 3px;

    background-color: #000;
}

.menuBtn .menuTrigger span:nth-of-type(1)
{
    top: 0;
}

.menuBtn .menuTrigger span:nth-of-type(2)
{
    top: 8px;
}

.menuBtn .menuTrigger span:nth-of-type(3)
{
    bottom: 0;
}

.menuBtn .menuTrigger.is-active span:nth-of-type(1)
{
    -webkit-transform: translateY(8px) rotate(-45deg);
            transform: translateY(8px) rotate(-45deg);
}

.menuBtn .menuTrigger.is-active span:nth-of-type(2)
{
    opacity: 0;
}

.menuBtn .menuTrigger.is-active span:nth-of-type(3)
{
    -webkit-transform: translateY(-8px) rotate(45deg);
            transform: translateY(-8px) rotate(45deg);
}

.spMenuList
{
    position: absolute;
    z-index: 100;
    top: 100%;
    left: 0;

    display: none;

    width: 100%;
    padding-top: 10px;
}

.spList
{
    border-top: 1px solid #c0c0c0;
}

.spMenuList ul li
{
    border-bottom: 1px solid #c0c0c0;
}

.spMenuList ul li a
{
    position: relative;

    display: block;

    padding: 12px 25px 12px 10px;

    color: #000;
}

.spMenuList ul li ul li:last-child
{
    border-bottom: none;
}

.spList--item__acc a:after
{
    position: absolute;
    top: 50%;
    right: 13px;

    display: inline-block;

    width: 11px;
    height: 11px;
    margin-top: -5px;

    content: '';

    background: url(../images/icon_plus_01.png) no-repeat left top;
    background-size: 11px 11px;
}

.spList--item__acc ul li a:after
{
    background-image: none;
}

.spList--item__acc ul .spList--item__acc__parent a:after
{
    position: absolute;
    top: 50%;
    right: 13px;

    display: inline-block;

    width: 11px;
    height: 11px;
    margin-top: -5px;

    content: '';

    background: url(../images/icon_plus_01.png) no-repeat left top;
    background-size: 11px 11px;
}

.spList--item__acc__parent ul li a:after
{
    background-image: none !important;
}

.spList--item__acc a.is-active:after
{
    background-image: url(../images/icon_minus_01.png) no-repeat left top;
    background-size: 11px 11px;
}

.spMenuList ul li ul
{
    display: none;

    border-top: none;
}

.spList__modal
{
    border-top: none;
}

.spMenuList ul li ul,
.spList--item__modal
{
    border-top: 1px solid #c0c0c0;
    border-bottom: none;
}

.spList--item__modal:last-child
{
    border-bottom: 1px solid #c0c0c0;
}

.spMenuList ul li ul a,
.spList--item__modal a
{
    position: relative;

    color: #333c48;
    background: #fff;
}

.spMenuList ul li ul a:after,
.spList--item__modal a:after,
.spList--item__acc ul .spList--item__acc__parent ul li a:after
{
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;

    position: absolute;
    top: 50%;
    right: 10px;

    display: inline-block;

    margin-top: -6px;

    content: '\f105';

    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.spHeadMenu
{
    position: absolute;
    left: 0;

    width: 100%;
    padding-top: 10px;
}

.spHeadMenu > ul > li
{
    font-size: 80%;

    float: left;

    box-sizing: border-box;
    width: 33.3334%;
    padding-left: 1px;
}

.spHeadMenu > ul > li:first-child
{
    padding-left: 0;
}

.spHeadMenu > ul > li > a
{
    display: block;

    padding: 12px 0;

    text-align: center;

    color: #333c48;
    background: rgba(255, 255, 255, .8);
}

.spHeadMenu > ul > li > a > span:before
{
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;

    display: inline-block;

    margin-right: 3px;

    content: '\f105';

    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.modalMenu
{
    position: absolute;
    z-index: 100;
    top: -42px;
    left: 0;

    display: none;

    width: 100%;
}

.modalMenu .ttl
{
    padding: 12px 10px;

    background: #333c48;
}

.modalMenu .closeBtn
{
    box-sizing: border-box;
    width: 100px;
    margin: 20px auto;
    padding: 5px 5px;

    cursor: pointer;
    text-align: center;

    color: #fff;
    background: #004286;
}

@media screen and (min-width: 769px)
{
    .overlay,
    .menuBtn,
    .spMenuList,
    .spHeadMenu
    {
        display: none;
    }
}

@media screen and (max-width: 768px)
{
    #page_top
    {
        right: 10px;
        bottom: 10px;

        width: 42px;
        height: 42px;
    }
}

.hbody__search
{
    position: absolute;
    top: 15px;
    right: 55px;
}

.hbody .mobilemenu
{
    font-size: 8px !important;

    width: 25px;
    margin-top: -5px;
    text-align: center;
    white-space: nowrap;

    color: #000;
}

.spMenuList .spList .spList--item .spList--item__child a::after
{
    background-image: none;
}

.hbody-logoimg{
    width: 70%;
    margin-left: 2%;
    z-index: 98;
    position: relative;
}

.hbody__p{
    font-size: 80% !important;
    line-height: 1;
    color: #000;
    padding-left: 2%;
    position: relative;
    z-index: 101;
}

.close-content01{
    text-align: center;
    width: 100%;
    cursor: pointer;
    margin-top: 15px;
    font-size: 90%;
}