@charset "UTF-8";

.よく使うカラー {
    _background: #1D2088;
    _background: #0053D6;
    _background: #D6E6FF;
    _background: #f2f7ff;
    _background: #F4000B;
}

@media screen and (max-width:480px) {

    html,
    body {
        overflow-x: hidden;
    }
}

.op {
    transition: all .25s;
}

.op:hover {
    opacity: .8;
}

a {
    color: #111
}

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

.entry .entry-column p a {
    text-decoration: underline;
    font-weight: 700;
}

a.btn_for_index {
    background: #0053D6;
    color: #fff;
    padding: 15px 10px;
    margin: 30px auto;
    display: block;
    max-width: 300px;
    text-align: center;
    font-size: 14px;
    border-radius: 30px;
}

a.btn_for_index:hover {
    text-decoration: none;
    background: #1D2088;
    text-decoration: none;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
}

@media screen and (max-width:480px) {
    a.btn_for_index {
        padding: 12px 5px;
        max-width: 250px;
        font-size: 14px;
        width: 80%
    }
}

.acms-container {
    max-width: 1280px;
}

.main-inner {
    max-width: 940px;
}

nav.acms-pager-container ul.pager li {
    margin-bottom: 7px;
}

.wrap__top_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.h3__top_info {
    display: inline-block;
    margin: 0;
    font-size: 13px;
    font-weight: 300;
    color: #fff;
}

.wrap0__top_info {
    background: #1D2088;
    padding: 3px 10px;
}

.new__top_info {
    background: #fff;
    padding: 2px 7px 2px;
    border-radius: 2px;
    font-size: 12px;
    font-weight: bold;
    _min-width: 26px;
    line-height: 1.3;
    white-space: nowrap;
}

.ccd__top_info {
    background: initial;
    padding: 2px 10px;
    font-size: 11px;
    font-weight: 100;
    border-radius: 2px;
    color: #fff;
    margin-left: 10px;
    margin-right: 10px;
    border: 1px solid #fff;
    position: relative;
    top: -1px;
    white-space: nowrap;
}

.wrap__top_info time {
    margin-left: 9px;
    color: #fff;
}

.wrap__top_info a {
    color: #fff;
}

@media screen and (max-width:1023px) {
    .wrap0__top_info {
        display: none
    }
}

.site-logo {
    display: inline-block;
    height: auto;
    margin: 0;
    vertical-align: middle;
    width: 60%;
    max-width: 300px;
}

.site-name {
    margin: 24px auto;
}

.navbar li a {
    color: #111
}

#mobile-nav .btn-attention {
    background: #0053D6;
    color: #fff;
    font-weight: 600;
    line-height: 1.3;
    border: 0;
    display: inline-block;
    padding: 15px 60px;
    border-radius: 25px;
    margin-top: 10px;
    font-size: .95rem;
}

.navbar a.btn-attention {
    background: #0053D6;
    color: #fff;
    font-weight: 700;
    line-height: 1.3;
    display: inline-block;
    padding: 8px 15px;
    border-radius: 25px;
    border: 0;
}

.navbar a.btn-attention:hover {
    background-color: #1D2088;
    background-image: initial;
    background-image: initial;
    border: 0;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
    padding-bottom: 8px
}

.navbar a.btn-attention:active,
.navbar a.btn-attention:focus {
    background-color: #1D2088;
    background-image: initial;
    background-image: initial;
    border: 0;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
}

@media screen and (min-width:1024px) {
    .navbar>ul {
        float: right;
        padding: 0;
        list-style: none;
        display: flex;
        align-items: baseline
    }

    .navbar ul li a {
        font-size: 15px
    }
}

@media screen and (max-width:1023px) {
    .header-logo {
        padding: 0 0 0
    }

    .mobile-navbar-list {
        line-height: 2.75;
        font-size: 17px
    }
}

@media screen and (min-width:481px) and (max-width:1023px) {
    .site-name {
        margin: 0;
        height: 100px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    header.head-wrapper {
        height: 100px
    }

    .site-logo {
        display: block;
        height: auto;
        margin: 0 0 0 10px;
        width: 57%;
        max-width: 250px;
        min-width: 220px
    }
}

@media screen and (max-width:480px) {
    .site-name {
        margin: 0;
        height: 60px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    header.head-wrapper {
        height: 60px
    }
}

@media (min-width:1024px) {
    .navbar li a {
        padding: 0 0 5px
    }

    .navbar li:hover a {
        border-bottom: 4px solid #1D2088;
        padding-bottom: 5px
    }

    .navbar li.stay a {
        border-bottom: 4px solid #1D2088;
        padding-bottom: 5px
    }
}

@media screen and (max-width:768px) {
    .fix-height {
        height: 350px
    }

    .main-slider-image {
        height: 350px
    }

    p.site-name a {
        _z-index: 10001
    }
}

@media screen and (max-width:480px) {
    .site-name {
        margin: 0;
        height: 60px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }

    header.head-wrapper {
        height: 60px
    }

    .site-logo {
        width: 65%;
        max-width: 250px
    }
}

.icon-toggle-menu:after,
.icon-toggle-menu:before {
    position: absolute;
    display: block;
    width: 25px;
    height: 3px;
    background-color: #fff;
    border-radius: 1px;
    -webkit-transition: all .3s;
    transition: all .3s;
    content: "";
}

.site-header {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
    width: 50%;
    padding: 0;
    background: none;
    border-top: none;
    border-bottom: none;
    padding: 0 calc(5px + constant(safe-area-inset-right)) 0 calc(5px + constant(safe-area-inset-left));
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

a#nav-open-btn {
    width: 60px;
    height: 60px;
    display: inline-block;
}

.mobile-nav {
    padding-top: 30px;
}

.wrap__company_info_mobile-nav {
    margin-top: 50px
}

.wrap__company_info_mobile-nav .site-logo {
    width: 80%;
    max-width: 250px;
    margin: 0 auto 15px;
    display: block;
}

.wrap__company_info_mobile-nav .company-detail {
    margin: 0 0 3px;
    padding: 0;
    color: #111;
    font-size: 14px;
    font-style: normal;
    text-align: center;
}

.wrap__company_info_mobile-nav .company-detail a {
    color: #111;
}

@media screen and (min-width:481px) and (max-width:1023px) {
    .site-header {
        position: fixed;
        top: 0;
        right: 18px;
        z-index: 2000;
        padding: 0;
        background: none;
        border-top: none;
        border-bottom: none;
        padding: 0 calc(5px + constant(safe-area-inset-right)) 0 calc(5px + constant(safe-area-inset-left));
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        height: 100px;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}

[aria-expanded=true] .icon-toggle-menu:before {
    width: 28px;
    -webkit-transform: translate(2px, 10px) rotate(45deg);
    transform: translate(2px, 10px) rotate(45deg);
}

[aria-expanded=true] .icon-toggle-menu:after {
    width: 28px;
    -webkit-transform: translate(2px, -10px) rotate(-45deg);
    transform: translate(2px, -10px) rotate(-45deg);
}

a#nav-open-btn {
    width: 60px;
    height: 60px;
    display: inline-block;
    background: #1D2088;
    padding: 3px 3px;
}

.icon-toggle-menu {
    position: relative;
    display: inline-block;
    width: 23px;
    height: 3px;
    left: 8px;
    margin: 24px 0 24px 3px;
    vertical-align: middle;
    background-color: #fff;
    border-radius: 0;
    -webkit-transition: all .1s;
    transition: all .1s;
}

.icon-toggle-menu:after,
.icon-toggle-menu:before {
    position: absolute;
    display: block;
    width: 28px;
    height: 3px;
    background-color: #fff;
    border-radius: 0;
    -webkit-transition: all .3s;
    transition: all .3s;
    content: "";
    margin: -4px 0;
}

.nav-menu-btn-text {
    margin: -10px 0 0 0;
    color: #fff;
    font-weight: 600;
    vertical-align: middle;
    font-size: 10px;
}

.foot-wrapper {
    margin-top: 80px;
    padding: 15px 0 15px;
    background: #080A0D;
    position: relative;
}

.foot-wrapper .company-about img {
    margin: 0 auto 20px;
    display: block;
}

.foot-wrapper .company-about dd {
    text-align: center;
    margin: 0 auto 3px;
}

.foot-wrapper .navbar li a {
    padding: 0;
    border-top: initial;
    border-bottom: initial;
    -webkit-transition: initial;
    transition: initial;
    color: #fff;
    font-weight: 300;
    font-size: 15px
}

.foot-wrapper .navbar li {
    position: initial;
    float: none;
    margin: initial;
    text-align: initial;
    vertical-align: initial;
}

.foot-wrapper .navbar ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    padding: 0;
}

.foot-wrapper .a__contact_footer {
    background: #0053D6;
    color: #fff;
    padding: 15px 10px;
    margin: 30px auto;
    display: block;
    max-width: 300px;
    text-align: center;
    font-size: 14px;
    border-radius: 30px;
}

.foot-wrapper .a__contact_footer:hover {
    background: #1D2088;
    text-decoration: none;
    -webkit-transition-duration: .5s;
    transition-duration: .5s;
}

.foot-wrapper .a__contact_footer,
a.btn_for_index {
    position: relative
}

a i.fa {
    position: absolute;
    right: 20px;
    font-size: 24px;
    top: 50%;
    transform: translate(-50%, -50%);
}

@media screen and (max-width:480px) {
    .foot-wrapper {
        margin-top: 60px;
        padding: 5px 0 15px
    }

    .foot-wrapper .a__contact_footer {
        padding: 12px 5px;
        max-width: 250px;
        font-size: 14px;
        width: 80%
    }

    a i.fa {
        right: 12px;
        font-size: 20px
    }
}

@media screen and (max-width:480px) {

    .topicpath li,
    .topicpath a {
        font-size: 12px
    }
}

.wrap__ccd_obi {
    background: #0053D6;
    padding: 25px 0;
}

.wrap__ccd_obi span {
    color: #fff;
    font-size: 23px;
    font-weight: 600;
}

.label-new {
    color: #fff;
    background-color: #e60811;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 12px;
    bottom: 1px;
    position: relative;
}

@media screen and (max-width:480px) {
    .wrap__ccd_obi span {
        font-size: 19px
    }

    .wrap__ccd_obi {
        padding: 20px 0
    }
}

@media screen and (max-width:767px) {
    .acms-col-md-3.side {
        margin-top: 50px
    }
}

img.acms-img-responsive.img__sidebanner-bf {
    width: 65%;
    height: 100%;
    object-fit: cover;
}

.a__sidebanner-bf {
    transition: all .3s;
    margin-bottom: 20px;
    display: flex;
    height: 80px;
    align-items: center;
}

.a__sidebanner-bf:last-child {
    margin-bottom: 0;
}

.a__sidebanner-bf:hover {
    opacity: .75;
    text-decoration: none;
}

.p__sidebanner-bf {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    background: #1D2088;
    margin: 0;
    color: #fff;
    padding: 0;
    width: 35%;
    max-width: 105px;
}

#sidebanner-bf {
    container-type: inline-size;
}

@media screen and (max-width:767px) {
    .p__sidebanner-bf {
        width: 35%;
        max-width: 260px;
        font-size: 1.5rem
    }

    .a__sidebanner-bf {
        height: 120px
    }
}

@media screen and (max-width:480px) {
    .a__sidebanner-bf {
        height: 100px
    }

    .p__sidebanner-bf {
        font-size: 1.15rem
    }
}

@media screen and (max-width:380px) {
    .p__sidebanner-bf {
        font-size: 1rem
    }
}

@container (max-width:220px) {
    img.acms-img-responsive.img__sidebanner-bf {
        width: 50%
    }

    .p__sidebanner-bf {
        width: 50%
    }
}