@CHARSET "UTF-8";

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

body {
    line-height: 1;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    color: #313c4e;
    background: #ffffff;
    line-height: 1.7;
	-webkit-text-size-adjust: 100%;
}

.window {
    width: 100%;
}

.page {
    width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    /* border: 1px solid #ff0000; */
}

@media screen and (max-width: 1200px) {
    .page {
        width: 100%;
    }
}


div,
section {
    box-sizing: border-box;
}

ul {
    list-style: none;
}


.block_left {
    float: left;
}

.block_right {
    float: right;
}

/*  元のブレークポイント → 767px  →426 → 666px */
@media screen and (max-width: 666px) {
    .block_left {
        float: none;
    }
    .block_right {
        float: none;
    }
}

.clearfix:after {
    content: " ";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.block_flexbox {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
}

/*  元のブレークポイント → 767px  →426 → 666px */
@media screen and (max-width: 666px) {
    .block_flexbox {
        /* flex-direction: column; */
    }
}


.tb,
.sp {
    display: none !important;
}

.pc {
    display: block !important;
}

@media screen and (max-width: 992px) {
    .pc,
    .sp {
        display: none !important;
    }
    .tb {
        display: block !important;
    }
}

/*  元のブレークポイント → 767px  →426 → 666px */
@media screen and (max-width: 666px) {
    .pc,
    .tb {
        display: none !important;
    }
    .sp {
        display: block !important;
    }
}


a {
    outline: none;
}

a:focus {
    outline: none;
}

a {
    color: #313c4e;
    text-decoration: none;
}

.newsticker a {
    color: #ffffff;
    text-decoration: none;
    width: 100%;
}

a:hover {
    color: #0f6cb4;
}

a img {
    border: none;
}

a:hover img:not(.changepng):not(.noopacity) {
    opacity: 0.6;
}

li a:hover:not(.noopacity) {
    opacity: 0.6;
}

hr {
    margin: 30px 0;
}

p {
    text-align: justify;
}


button {
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

button img {
    display: block;
    cursor: pointer;
}

button:hover,
button img:hover {
    opacity: 0.6;
}


.toggle {
    cursor: pointer;
}


.icon_note:before {
    content: '';
    width: 16px;
    height: 20px;
    background: url(/files/user/images/icon_note.png) center center no-repeat;
    padding-right: 30px;
}

.icon_mail:before {
    content: '';
    width: 21px;
    height: 14px;
    background: url(/files/user/images/icon_mail.png) center center no-repeat;
    padding-right: 34px;
}

.icon_light {
    height: 50px;
}

.icon_light:before {
    content: '';
    width: 28px;
    height: 26px;
    background: url(/files/user/images/icon_light.png) center center no-repeat;
    padding-right: 34px;
}

.icon_tag:before {
    content: '';
    width: 26px;
    height: 26px;
    background: url(/files/user/images/icon_tag.png) center center no-repeat;
    padding-right: 34px;
}

.icon_right:before {
    content: '';
    width: 18px;
    height: 18px;
    background: url(/files/user/images/icon_right.png) center center no-repeat;
    padding-right: 34px;
}

.icon_graph:before {
    content: '';
    width: 26px;
    height: 24px;
    background: url(/files/user/images/icon_graph.png) center center no-repeat;
    padding-right: 34px;
}

.link_arrow:after {
    display: block;
    content: '';
    width: 7px;
    height: 7px;
    border: 0px;
    border-top: solid 1px #313c4e;
    border-right: solid 1px #313c4e;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: relative;
    margin-top: 7px;
    margin-left: 4px;
}


#border_line {
    position: fixed;
    z-index: 999;
}

.line_fixed {
    position: fixed;
    top: 80px;
    z-index: 999;
    width: 100%;
    height: 2px;
    background: #609dff;
    background: #dcdcdc;
}


/******************
    ヘッダー部
*******************/

header {
    height: 80px;
    background: #ffffff;
    position: fixed;
    z-index: 100000;
}

header #header_page {
    height: 80px;
    padding: 0 5px;
}

header #header_logo_wrap {}

header #header_logo {
    margin-top: 13px;
    float: left;
}

header #header_menu_wrap {}

header .header_linklist {
    float: right;
}

header .header_linklist li {
    float: left;
}

header .header_linklist li a {
    display: inline-block;
    height: 36px;
    color: #919191;
    font-size: 14px;
    text-align: center;
    padding: 5px 10px;
    box-sizing: border-box;
}

header .header_linklist li .btn_contact {
    color: #ffffff;
    background: #ecaa00;
    border-radius: 3px;
    margin-left: 10px;
}
header .header_linklist li .btn_faq {
    color: #ffffff;
    background: #133069;
    border-radius: 3px;
}

header .header_linklist li .btn_search {
    background: #e8e8e8;
}

header .header_gmenu {
    margin-top: 5px;
}

header .header_gmenu ul {}

header .header_gmenu ul li {
    float: left;
    padding: 5px 9px;
}

header .header_gmenu ul li:last-child {
    padding-right: 0px;
}

header .header_gmenu ul li a {
    font-size: 16px;
    font-weight: bold;
    color: #2f2f2f;
}

header .header_gmenu ul li a:hover {
    color: #133069;
    border-bottom: 4px solid #133069;
    opacity: 1;
}




@media screen and (max-width: 992px) {

    header .header_gmenu ul li a {
        font-size: 13px;
        font-weight: bold;
        color: #2f2f2f;
    }

}

/*  元のブレークポイント → 767px  →426 → 666px */
@media screen and (max-width: 666px) {
    header #header_logo_sp {
        margin-top: 13px;
        margin-left: 13px;
    }

    /*  ハンバーガーボタン  */
    #sp_toggle {
        position: fixed;
        top: 20px;
        right: 20px;
        width: 44px;
        height: 36px;
        cursor: pointer;
        z-index: 10001;
    }
    #sp_toggle div {
        position: relative;
    }
    #sp_toggle span {
        display: block;
        position: absolute;
        height: 2px;
        width: 100%;
        background: #666;
        left: 0;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
    }
    #sp_toggle span:nth-child(1) {
        top: 0;
    }
    #sp_toggle span:nth-child(2) {
        top: 8px;
    }
    #sp_toggle span:nth-child(3) {
        top: 16px;
    }
    #sp_toggle.open span:nth-child(1) {
        top: 11px;
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    #sp_toggle.open span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    #sp_toggle.open span:nth-child(3) {
        top: 11px;
        -ms-transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    /*  ハンバーガーメニュー  */
    #sp_nav {
        position: fixed;
        top: 0;
        left: 100%;
        width: 100%;
        background: #ececec;
        padding-top: 60px;
        z-index: 10000;
        -ms-transition: left 0.5s;
        -webkit-transition: left 0.5s;
        transition: left 0.5s;
    }
    #sp_nav.open {
        left: 0%;
    }
    #sp_nav #sp_nav_list {}
    #sp_nav #sp_nav_list > li {
        position: relative;
        margin-bottom: 0px;
        border-top: 1px solid #000000;
    }
    #sp_nav #sp_nav_list > li a {
        display: inline-block;
        width: 100%;
        padding: 10px 20px;
        box-sizing: border-box;
        font-size: 14px;
    }
    #sp_nav #sp_nav_list > li a.link_arrow:after {
        display: none;
/* 
        position: absolute;
        margin-left: 0px;
        right: 10px;
        top: 8px;
        width: 5px;
        height: 5px;
 */
    }
}



/******************
    フッター部
*******************/

footer {}

#footer1 {
    padding-top: 50px;
    padding-bottom: 50px;
    background: #cccccc;
    font-size: 13px;
}

#footer1 #footer_linklist_wrap {
    width: 72%;
}

#footer1 #footer_servicelist_link {
    text-align: right;
}

#footer1 .footer_linklist {
    margin-right: 7px;
    width: 24%;
}

#footer1 .footer_linklist.linklist_c2 {
    width: 300px;
}

#footer1 .footer_linklist dl {}

#footer1 .footer_linklist dl dt {
    color: #2e2e2e;
    cursor: auto;
}

#footer1 .footer_linklist dl dd {}

#footer1 .footer_linklist dl dd ul {}

#footer1 .footer_linklist dl dd ul li {
    margin-bottom: 10px;
    width: 150px;
    line-height: 1.2;
}

#footer1 .footer_linklist.linklist_c2 dl dd ul li {
    float: left;
}

#footer1 .footer_linklist dl dd ul li a {}


#footer1 #footer_button_wrap {
    width: 27%;
}

#footer1 #footer_button_wrap .block_left {
    width: 210px;
}

footer .btn_contact {
    display: inline-block;
    width: 210px;
    height: 50px;
    color: #919191;
    font-size: 14px;
    text-align: center;
    padding-top: 14px;
    box-sizing: border-box;
    color: #ffffff;
    background: #133069;
    margin-bottom: 10px;
    border-radius: 3px;
}

footer .btn_contact.needs {
    background: #83969f;
}

footer a.btn_contact:hover {
    color: #ffffff;
    opacity: 0.6;
}

@media screen and (max-width: 1024px) {
    #footer1 #footer_button_wrap {
        width: 210px;
    }
}
@media screen and (max-width: 992px) {
    #footer1 .footer_linklist {
        width: 22%;
        margin-right: 12px;
        margin-bottom: 30px;
    }

    #footer1 #footer_button_wrap {
        width: 210px;
    }
    #footer1 .footer_linklist dl dd ul li {
        font-size: 11px;
    }
    #footer1 #footer_linklist_wrap {
        width: 70%;
    }
    #footer2 .block_left {
        font-size: 12px;
    }
}

@media screen and (max-width: 740px) {

    #footer1 {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    #footer1 .footer_linklist dl dd ul li {
        font-size: 9px;
    }
    #footer1 .footer_linklist dl dd ul li {
        width: 100px;
    }
    #footer1 .footer_linklist {
        margin-right: 5px;
    }
    #footer1 {
        font-size: 9px;
    }
    #footer_linklist_wrap .block_flexbox {
        margin-right: -40px;
    }
    #footer1 #footer_linklist_wrap {
        width: 60%;
    }
    #footer1 .footer_linklist {
        width: 100px;
    }
    #footer2 a {
        font-size: 14px;
    }
/*    #footer2 .block_left {
        width: 54%;
    }*/
    #footer2 .block_right {
    }
    #footer2 .footername {
    }
    #footer2 .copyright {
        text-align: right;
    }
}


/* 元のブレークポイント → 767px → 426px → 666px */
@media screen and (max-width: 666px) {
    ul {
        margin-top: 5px;
    }
    #footer2 #btnGoTop {
        display: none;
    }
    #footer1 .footer_linklist dl dd {
        display: block;
    }
    #footer2 ul {
        margin-bottom: 20px;
    }
    #footer1 {
        padding-top: 0px;
    }

    #footer1 #footer_linklist_wrap {
        width: 100%;
        margin-bottom: 10px;
    }

    #footer1 .footer_linklist {
        width: 50%;
        margin-right: 5px;
        margin-bottom: 0px;
        padding-top: 20px;
        padding-bottom: 20px;
        font-size: 28px;
        border-bottom: 1px solid #a3a3a3;
    }
    #footer1 .footer_linklist dl dt {
        cursor: pointer;
    }
    #footer1 .footer_linklist dl dd ul li {
        font-size: 14px;
        width: 100%;
    }
    #footer1 .footer_linklist.linklist_c2 {
        width: 100%;
    }
    #footer1 .footer_linklist.linklist_c2 dl dd ul li {
        float: none;
    }

    #footer1 .footer_linklist dl dt:after {
        content: '';
        width: 16px;
        height: 16px;
        border: 0px;
        border-top: solid 1px #ffffff;
        border-right: solid 1px #ffffff;
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        margin-top: 18px;
        right: 30px;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
    }
    #footer1 .footer_linklist dl dt.open:after {
        -ms-transform: rotate(135deg);
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }
    #footer1 .footer_linklist dl dd {
        font-size: 18px;
    }
    #footer1 #footer_button_wrap {
        width: 100%;
        text-align: center;
    }
    #footer1 #footer_button_wrap .block_left {
        width: 100%;
    }
    footer .btn_contact {
        width: 100%;
        height: 45px;
        padding-top: 11px;
    }
    #footer2 ul li {
        float: none;
        margin-right: 0px;
        margin-bottom: 0px;
        text-align: center;
        font-size: 20px;
    }
    #footer2 .footername,
    #footer2 .copyright {
        font-size: 14px;
        text-align: center;
        opacity: 1;
        width: 100%;
    }
    #footer2 a {
        font-size: 11px;
    }
    #footer2 .block_left {
        width: 100%;
    }
    #footer2 .block_right {
        width: 100%;
    }
    #footer2 .page {
        display: block;
    }
    #footer2 .block_left {
        font-size: 11px;
    }
}


#footer2 {
    margin: 0;
    padding: 0;
    height: 80px;
    padding-top: 10px;
    background: #0f6cb4;
    color: #ffffff;
    position: relative;
}

#footer2 .page {
    position: relative;
}

#footer2 ul {
    margin-top: 0px;
}

#footer2 ul li {
    float: left;
    margin-right: 30px;
    height: 27px;
    padding-top: 3px;
}

#footer2 .page {
}

#footer2 ul li a {
    color: #ffffff;
    font-size: 14px;
}


#footer2 .footername {
    font-size: 16px;
    text-align: right;
    opacity: 1;
}

#footer2 .copyright {
    font-size: 12px;
    opacity: 1;
}

#footer2 #btnGoTop {
    position: fixed;
}

.Nobtn {
    bottom: 20px;
    right: 20px;
    z-index: 900;
}

@media screen and (max-width: 1320px) {
    #footer2 .footername,
    #footer2 .copyright {
        margin-right: 50px;
    }
    #footer2 #btnGoTop {
        right: 10px;
    }
}

@media screen and (max-width: 992px) {
    #footer2 #btnGoTop {
        display: none;
    }
    #footer2 {
        height: 105px;
    }
    #footer2 .footername, #footer2 .copyright {
    margin-right: 0px;
    }
    #footer2 ul li {
        height: 23px;
        padding-top: 0;
    }
}

/*  元のブレークポイント → 767px  →426 → 666px */
@media screen and (max-width: 666px) {
    #footer2 {
        height: auto;
        padding-top: 0;
        padding-bottom: 10px;
    }
    #footer2 ul li {
        float: none;
        margin-right: 0px;
        margin-left: 5px;
        margin-bottom: 0px;
        text-align: center;
    }
    #footer2 .footername {
        font-size: 16px;
        text-align: center;
        margin-top: 10px;
    }
    #footer2 .copyright {
        font-size: 11px;
        text-align: center;
    }

    #footer2 #btnGoTop {
        display: none;
    }

}

/******************
    コンテンツ部
*******************/

/* 重傷なお知らせ */
div#important_info .page {
    border: 2px solid #F00;
    margin-top: 20px;
    padding: 10px;
    width: 100%;
    max-width: 1200px;
}
div#important_info {
    max-width: 1200px;
    padding: 0 15px;
    margin: 0 auto;
}
div#important_info .page .title {
    color: #f00;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}
div#important_info .page .content_title {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}
div#important_info .page .comment,
div#important_info .page .link {
    font-size: 16px;
    margin-bottom: 5px;
}
div#important_info .page .link {
    text-align: center;
}

.contents {}

.img_title {
    text-align: center;
}

h2 {
    text-align: center;
    font-size: 32px;
    line-height: 1;
}

h2 strong {
    color: #0f6cb4;
}

.subtitle {
    margin-top: 20px;
    font-size: 16px;
    color: #83969f;
    text-align: center;
}


.btn_list {
    margin-bottom: 30px;
    width: 250px;
    height: 50px;
    margin: 0 auto;
    font-size: 16px;
    color: #313c4e;
    border: 2px solid #313c4e;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn_list.link_arrow:after {
    margin-top: 10px;
}

@-moz-document url-prefix() {
    .btn_list.link_arrow:after {
        margin-top: 0px;
    }
}

.btn_block {
    padding: 20px 0;
    text-align: center;
}

.btn_block a {
    display: inline-block;
    width: 640px;
    height: 60px;
    background: url(/files/user/images/bg_button.png) center center no-repeat;
    padding-top: 14px;
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    box-sizing: border-box;
    border-radius: 3px;
}

.btn_block a.col1 {
    background-color: #47a1b3 !important;
}

.btn_block a.col2 {
    background-color: #133069 !important;
}

.btn_block a:hover {
    opacity: 0.6;
}

@media screen and (max-width: 992px) {}


/******************
    トップページ
*******************/

#top {
    padding-top: 80px;
}



/* スライダー */

#top_mainvisual {
    position: relative;
    overflow: hidden;
}



#right_cover {
    position: absolute;
    top: 0;
    left: 0;
    background: #ffffff;
    opacity: 0.7;
    width: calc((100% - 1200px) / 2);
    height: 375px;
    /*pointer-events: none;*/
}

#left_cover {
    position: absolute;
    top: 0;
    right: 0;
    background: #ffffff;
    opacity: 0.7;
    width: calc((100% - 1200px) / 2);
    height: 375px;
    /*pointer-events: none;*/
}

/* slick */


#slider {
    max-height: 357.25px;
    opacity: 0;
    transition: opacity .3s linear;
    /*display: none;*/
}
#slider.slick-initialized{
    /*display: block;*/
    opacity: 1;
}

#slider img {
    width: 100%;
/*    height: 100%;*/
}

.slick_container {
    width: 360px;
    margin: 0 auto;
    position: relative;
}

.slick-prev,
.slick-next {
    width: 40px;
    height: 40px;
    z-index: 2;
}

#arrows {
    position: absolute;
    top: 37%;
    left: 50%;
    z-index: 2;
}

#arrows img {
    position: absolute;
    opacity: 0.6;
    cursor: pointer;
}

#arrows img:hover {
    opacity: 0.4;
}

.prev-arrow {
    left: calc((100% - 1350px) / 2);
}

.next-arrow {
    right: calc((100% - 1350px) / 2);
}

.slick-arrow {
    width: 32px;
    height: 32px;
}

.slick-list.draggable {
    padding: 0 calc((100% - 1200px) / 2) !important;
}

@media screen and (max-width: 768px){
    .slick-list.draggable {
        padding: 0!important;
    }
}



#top_mainvisual #top_newsboxbg {
    height: 50px;
    background: #000000;
    opacity: 0.7;
    position: absolute;
    bottom: 0;
}

#top_mainvisual #top_newsbox {
    height: 50px;
    position: absolute;
    bottom: 0;
    color: #ffffff;
}

#top_mainvisual #top_newsbox .newsbox,
#top_mainvisual #top_newsbox .newsbox > div {
    /* 
    height: 50px;
    display: flex;
    align-items: center;
     */
}

#top_mainvisual #top_newsbox #top_newxbox_left {
    height: 50px;
    float: left;
    display: flex;
    align-items: center;
    /* 
    display: flex;
    align-items: center;
     */
}

#top_mainvisual #top_newsbox #top_newxbox_right {
    height: 50px;
    float: right;
    width: calc(100% - 70px);
}

#top_mainvisual #top_newsbox .newsbox .news_news {
    float: left;
    width: 65px;
    border-right: 1px solid #ffffff;
}

#top_mainvisual #top_newsbox #top_newslist {
    /* 
    margin-top: 5px;
     */
}

#top_mainvisual #top_newsbox #top_newslist li {
    margin-bottom: 5px;
    height: 50px;
    display: flex;
    align-items: center;
}

#top_mainvisual #top_newsbox #top_newslist li .news_date_wrap {
    display: flex;
    width: 290px;
    height: 46px;
    align-items: center;
}

#top_mainvisual #top_newsbox #top_newslist li .news_date {
    float: left;
    width: 170px;
    margin-left: 10px;

}

#top_mainvisual #top_newsbox #top_newslist li .news_type {
    float: left;
    width: 110px;
    text-align: center;
    color: #ffffff;
    border: 1px solid #ffffff;
}

#top_mainvisual #top_newsbox #top_newslist li .news_title_wrap {
    display: flex;
    align-items: center;
    height: 46px;
    width: calc(100% - 290px);
}

#top_mainvisual #top_newsbox #top_newslist li .news_title {
    margin-left: 10px;
    text-align: left;
    width: 100%;
}

@media screen and (max-width: 1200px) {
    #top_mainvisual #top_newsbox #top_newslist li .news_title {
    }
    #top_mainvisual #top_newsbox #top_newslist li .news_date_wrap {
        width: 290px;
    }
}


@media screen and (max-width: 1100px) {
    #top_mainvisual #top_newsbox #top_newslist li .news_title {
    }
}

@media screen and (max-width: 1025px) {
    #top_mainvisual #top_newsbox #top_newslist li .news_title {
    }
}

@media screen and (max-width: 940px) {
    #top_mainvisual #top_newsbox #top_newslist li .news_title {
    }
    #top_mainvisual #top_newsbox {
        font-size: 11px;
    }
    #top_mainvisual #top_newsbox #top_newslist li .news_date_wrap {
        width: 240px;
    }
    #top_mainvisual #top_newsbox #top_newslist li .news_title_wrap {
        width: calc(100% - 240px);
    }
}

@media screen and (max-width: 834px) {
    #top_mainvisual #top_newsbox #top_newslist li .news_title {
    }
}

@media screen and (max-width: 780px) {
    #top_mainvisual #top_newsbox #top_newslist li .news_title {
    }
    #top_mainvisual #top_newsbox #top_newxbox_right {
    }
    #top_mainvisual #top_newsbox #top_newslist li .news_title_wrap {
        width: 62%;
    }
}
@media screen and (max-width: 752px) {
    #top_mainvisual #top_newsbox #top_newslist li .news_title_wrap {
        width: 55%;
    }
}

/*  元のブレークポイント → 767px  →426 → 666px */
@media screen and (max-width: 666px) {
    #top_newsboxbg,
    #top_mainvisual #top_newsbox #top_newxbox_left,
    #top_mainvisual #top_newsbox #top_newslist li,
    .bx-wrapper .bx-pager,
    .bx-wrapper .bx-controls-direction a {
        display: none;
    }
    #top_mainvisual {
        margin-top: 0px;
    }
}

/*  元のブレークポイント → 767px  →426 → 666px */
@media screen and (max-width: 666px) {
    #top_mainvisual {
        display: block;
    }
}

/*  サービス  */

#top_service {
    background: #f4f6fb;
}

#top_service .page {
    padding-top: 10px;
    padding-bottom: 30px;
}

#top_service .top_service_wrap {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
    justify-content: space-between;
}


#top_service #top_service_purpose {}

#top_service #top_service_category {}

#top_service .top_service_listwrap {
    padding-bottom: 30px;
}

#top_service .top_service_listwrap h2 {
    text-align: left;
    font-size: 24px;
}

#top_service .top_service_listwrap .top_service_list {
    margin-top: 20px;
}

#top_service .top_service_listwrap .top_service_list ul {}

#top_service .top_service_listwrap .top_service_list ul li {
    margin: 5px 0;
    font-size: 18px;
}

/*  サービス：目的で探す  */

#top_service_purpose {
    width: 66%;
}

#top_service #top_service_purpose .top_service_list ul li {
    margin: 9px 0;
}

#top_service #top_service_purpose .top_service_list ul li span {
    display: inline-block;
    width: 200px;
    height: 40px;
    background: #0f6cb4;
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    box-sizing: border-box;
    padding-top: 3px;
}

#top_service #top_service_purpose .top_service_list ul li a:hover span {
    background: #53b3db;
    opacity: 1.0;
}

/*  サービス：カテゴリーで探す  */

#top_service_category {
    width: 32%;
}

#top_service #top_service_category .top_service_list ul li {
    margin: 9px 0;
}

#top_service #top_service_category .top_service_list ul li span {
    display: inline-block;
    width: 100%;
    height: 40px;
    background: #0f6cb4;
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    box-sizing: border-box;
    padding-top: 3px;
}

#top_service #top_service_category .top_service_list ul li span.col2 {
    border: 2px solid #0f6cb4;
    background: #ffffff;
    color: #0f6cb4;
}

#top_service #top_service_category .top_service_list ul li a:hover span {
    background: #53b3db;
}

#top_service #top_service_category .top_service_list ul li a:hover span.col2 {
    border: 2px solid #53b3db;
    background: #ffffff;
    color: #53b3db;
}


@media screen and (max-width: 992px) {
    .top_service_wrap {
        flex-direction: column;
    }
    #top_service_purpose {
        width: 100%;
    }
    #top_service_category {
        width: 100%;
    }
}

/*  主要サービス  */

.service_contents {
    position: relative;
    box-sizing: border-box;
    border: 2px solid #0f6cb4;
    background-color: #fff;
    width: 335px;
    height: 240px;
    margin: 0 auto;
}

.pickupbox .service_contents .service_contents_logo {
    display: block;
    width: 220px;
    margin: 18px auto 13px;
}

.pickupbox .service_contents .service_contents_img {
    position: absolute;
    top: 40%;
    left: 38%;
    width: 25%;
    display: block;
}

.service_contents:hover {
    border: solid 2px #000;
}

.service_contents:hover .service_contents_img {
    transform: scale(1.07, 1.07);
}

.pickupbox_wrap span {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 10px;
    color: #667780;
    text-align: center;
}

#top_pickup {}

#top_pickup .page {
    padding-top: 30px;
    padding-bottom: 30px;
}

.pickupbox_wrap {
    margin-top: 30px;
    padding: 0 15px;
    justify-content: space-between;
}

.pickupbox_wrap .pickupbox {
    width: 330px;
    height: 272px;
    position: relative;
    margin-bottom: 0px;
}

.pickupbox_wrap .pickupbox img {
    display: block;
    width: 100%;
}

.pickuptext_wrap {
    padding: 0 15px;
    justify-content: space-between;
}

.pickuptext_wrap .pickuptext {
    display: flex;
    width: 334px;
    height: 66px;
    border: 2px solid #0f6cb4;
    justify-content: center;
    align-items: center;
}

.pickupcap {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    color: #313c4e;
}

.pickuptext_wrap .link_arrow:after {
    width: 10px;
    height: 10px;
    border-top: solid 1px #0f6cb4;
    border-right: solid 1px #0f6cb4;
    margin-top: 8px;
    margin-left: 4px;
}

@-moz-document url-prefix() {
    .pickuptext_wrap .link_arrow:after {
        margin-top: 0px;
    }
}

.pickuptext_wrap .pickuptext:hover {
    border: 2px solid #53b3db;
    background: #53b3db;
    color: #ffffff;
}

.pickuptext_wrap .pickuptext:hover.link_arrow:after {
    border-top: solid 1px #ffffff;
    border-right: solid 1px #ffffff;
}

.pickuptext_wrap a {
    display: block;
    margin-bottom: 30px;
    background: #ffffff;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
    color: #0f6cb4;
}

.block_flexbox.column2 {
    justify-content: space-evenly;
}

.block_flexbox.column2 > * {
    margin-left: 10px;
    margin-right: 10px;
}


@media screen and (max-width: 992px) {
    .service_contents {
	    width: 100%;
	    height: 100%;
    }
    .pickupbox_wrap {
        justify-content: space-evenly;
    }
    .pickupbox_wrap .pickupbox {
        width: 280px;
        height: 197px;
        margin: 10px 10px;
    }
    .pickupbox_wrap .pickupbox .pickup_name {
        height: 30px;
        font-size: 18px;
    }
    .pickupbox_wrap .pickupbox .pickup_name:after {
        border-width: 30px 21px 0 0;
    }
    .pickupbox_wrap .pickupbox .pickup_symmary_bg {
        height: 50px;
    }
    .pickupbox_wrap .pickupbox .pickup_symmary {
        height: 50px;
        padding: 7px 10px;
        font-size: 14px;
    }

    .pickuptext_wrap {
        margin-top: 30px;
        justify-content: center;
    }
    .pickuptext_wrap .pickuptext {
        width: 290px;
        font-size: 16px;
        margin: 0 10px 0px 10px;
    }
    .pickuptext_wrap .link_arrow:after {
        width: 8px;
        height: 8px;
        margin-top: 7px;
    }
    .link_arrow:after {
        position: relative;
    }
    .btn_list.link_arrow:after {
        margin-top: 5px;
    }
}


@media screen and (max-width: 740px) {
    header #header_logo_wrap{
	    width: 15%;
    }
    img#header_logo{
	    width: 98%;
    }
    header #header_menu_wrap {
        width: 85%;
    }
    header .header_linklist li a {
        font-size: 12px;
        height: 30px;
    }
    header .header_gmenu ul {
        margin-left: 10px;
    }
    header .header_gmenu ul li {
        padding: 0px 9px;
    }
    header .header_gmenu ul li a {
        font-size: 12px;
    }
    header .header_gmenu {
        margin-top: 0px;
    }
    header {
        height: 65px;
    }
    header #header_page {
        height: 65px;
    }
    .line_fixed {
        top: 65px;
    }
    .pickupbox_wrap .pickupbox {
        width: 240px;
        height: 150px;
    }    
    #footer1 {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    #footer1 .footer_linklist dl dd ul li {
        font-size: 9px;
    }
    #footer1 .footer_linklist dl dd ul li {
        width: 100px;
    }
    #footer1 .footer_linklist {
        margin-right: 5px;
    }
    #footer1 {
        font-size: 9px;
    }
    #footer_linklist_wrap .block_flexbox {
        margin-right: -40px;
    }
    #footer1 #footer_linklist_wrap {
        width: 60%;
    }
    #footer1 .footer_linklist {
        width: 100px;
    }
    #footer2 .block_left {
        font-size: 11px;
/*        width: 50%;*/
    }
    #footer2 .copyright {
        margin-right: 0px;
    }
    #footer2 .page {
        padding: 0px 5px;
    }
/*    #footer2 ul li {
        margin-right: 20px;
    }*/
    #footer2 .footername, #footer2 .copyright {
        margin-right: 0px;
    }
}



/*  元のブレークポイント → 767px  →426 → 666px */
@media screen and (max-width: 666px) {

    .pickupbox_wrap .pickupbox {
        width: 100%;
        height: auto;
        margin: 0px;
        margin-bottom: 10px;
    }
    .pickupbox_wrap .pickupbox .pickup_name {
        height: 70px;
        font-size: 40px;
    }
    .pickupbox_wrap .pickupbox .pickup_name:after {
        border-width: 70px 53px 0 0;
    }
    .pickupbox_wrap .pickupbox .pickup_symmary_bg {
        bottom: 5px;
        height: 100px;
    }
    .pickupbox_wrap .pickupbox .pickup_symmary {
        bottom: 5px;
        height: 100px;
        padding: 10px 20px;
        font-size: 26px;
    }


    .pickuptext_wrap .pickuptext {
        /* width: 100%; */
        height: 130px;
        margin-bottom: 30px;
        font-size: 14px;
    }
    .pickuptext_wrap .link_arrow:after {
        width: 8px;
        height: 8px;
        margin-top: 1px;
    }
    .link_arrow:after {
        position: relative;
    }
    
        h2 {
        font-size: 40px;
        margin-bottom: 30px;
    }
    #footer1 #footer_linklist_wrap {
        width: 100%;
    }

    #footer_linklist_wrap .block_flexbox {
        margin-right: 0px;
    }

    #footer1 .footer_linklist {
        width: 47%;
    }

    #footer2 .block_left {
        width: 100%;
    }
    
    #footer1 .footer_linklist dl dd ul li {
        width: 100%;
    }

}
@media screen and (max-width: 830px) {
    #footer2 .page {
        display: block;
    }
}


/*  導入事例  */

#top_casestudy {
    background: #ffffff;
}

#top_casestudy .page {
    padding-top: 30px;
    padding-bottom: 60px;
}

.casebox_wrap {
    margin-top: 30px;
    margin-bottom: 30px;
    justify-content: space-between;
}

.casebox_wrap .casebox {
    width: 260px;
    margin-bottom: 35px;
}

.casebox_wrap .casebox img {
    display: block;
    width: 100%;
    border: 1px solid #313c4e;
}

.casebox_wrap .casebox img:hover {
    border: 1px solid #000000;
}

.casebox_wrap .casebox .case_name {
    display: flex;
    margin-top: 10px;
    color: #0f6cb4;
    font-weight: bold;
}

.casebox_wrap .casebox .link_arrow:after {
    border-top: solid 1px #0f6cb4;
    border-right: solid 1px #0f6cb4;
}

.casebox_wrap .casebox .case_summary {
    color: #2f2f2f;
    line-height: 1.4;
}

.casebox_wrap .casebox .case_nikkeilist {
    margin-top: 10px;
}

.casebox_wrap .casebox .case_nikkeilist li {}

.casebox_wrap .casebox .case_nikkeilist li span {
    padding: 1px 5px;
    background: #83969f;
    color: #ffffff;
    font-size: 12px;
}


@media screen and (max-width: 992px) {
    .casebox_wrap {
        justify-content: center;
    }
    .casebox_wrap .casebox {
        width: 210px;
        margin: 20px;
    }
}

/*  元のブレークポイント → 767px  →426 → 666px */
@media screen and (max-width: 666px) {
    .casebox_wrap {
        flex-direction: row;
    }
    .casebox_wrap .casebox {
        /* width: 320px; */
        /*width: 100%; */
        width: 230px;
    }
    .casebox_wrap .casebox .link_arrow:after {
        width: 7px;
        height: 7px;
        margin-top: 7px;
        margin-left: 4px;
    }
    .casebox_wrap .casebox .case_nikkeilist li span {
        font-size: 12px;
    }
    .casebox_wrap .casebox .case_name {
        font-size: 14px;
    }
    .casebox_wrap .casebox .case_summary {
        font-size: 13px;
        line-height: 1.4;
    }
    .pickuptext_wrap .pickuptext {
        margin: 0px;
    }
    .block_flexbox.column2 > * {
        margin: 5px auto 5px;
    }
    .block_flexbox.column2 > * {
    margin-left: 0;
    margin-right: 0;
}
}


/*  お知らせ  */

#top_information {
    background: #f4f6fb;
}

#top_information .page {
    padding-top: 30px;
    padding-bottom: 60px;
}

.infobox_list {
    margin-top: 40px;
    margin-bottom: 40px;
}

.infobox_list li {
    border-top: 1px solid #dedede;
    padding: 10px;
}

.infobox_list li:last-child {
    border-bottom: 1px solid #dedede;
}

.infobox_list li .infobox,
.infobox_list li .infobox > div {
    display: flex;
    align-items: center;
}

.infobox_list li .infobox .info_date {
    float: left;
    width: 180px;
    padding: 3px 0;
    color: #2b78c2;
    line-height: 1.4;
}

.infobox_list li .infobox .info_type {
    float: left;
    width: 90px;
    margin-left: 10px;
    padding: 3px 0;
    background: #ffffff;
    font-size: 12px;
    color: #0f6cb4;
    text-align: center;
    border: 1px solid #0f6cb4;
}

.infobox_list li .infobox .info_title {
    margin-left: 10px;
    padding: 3px 0;
}

/*  元のブレークポイント → 767px  →426 → 666px */
@media screen and (max-width: 666px) {
    .infobox_list li .infobox .info_date {
        width: auto;
    }
    .infobox_list li .infobox {
        display: block;
        font-size: 28px;
    }

    .infobox_list li .infobox > div {
        width: 100%;
        display: block;
    }
    .infobox_list li .infobox .info_date {
        font-weight: bold;
        font-size: 13px;
        width: 100%;
    }
    .infobox_list li .infobox .info_title {
        margin-left: 0px;
        font-size: 13px;
    }
    .infobox_list li .infobox .info_type {
        width: 120px;
        height: 30px;
        font-size: 13px;
        margin-left: 0px;
    }
}

/*  リンクバナー  */

#top_linkbanner {
/*    background: #f4f6fb;*/
}

#top_linkbanner .page {
    padding-top: 40px;
    padding-bottom: 40px;
}

#top_linkbanner #top_bunnerbox_wrap {
    justify-content: space-around;
}

#top_linkbanner #top_bunnerbox_wrap div {
    width: 210px;
    height: 110px;
    text-align: center;
    line-height: 1.3;
    font-size: 18px;
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    background-position: center center;
    background-size: cover;
    margin-bottom: 30px;
}

#top_linkbanner #top_bunnerbox_wrap div:hover {
    opacity: 0.6;
}

#top_linkbanner #top_bunnerbox_wrap .bg00 {
    background-image: url(/files/user/images/img_bunner00.png);
}

#top_linkbanner #top_bunnerbox_wrap .bg01 {
    background-image: url(/files/user/images/img_bunner01.png);
}

#top_linkbanner #top_bunnerbox_wrap .bg02 {
    background-image: url(/files/user/images/img_bunner02.png);
}

#top_linkbanner #top_bunnerbox_wrap .bg03 {
    background-image: url(/files/user/images/img_bunner03.png);
}

#top_linkbanner #top_bunnerbox_wrap .bg04 {
    background-image: url(/files/user/images/img_bunner04.png);
}

@media screen and (max-width: 992px) {
    #top_linkbanner #top_bunnerbox_wrap div {
        width: 165px;
        height: 125px;
        margin-bottom: 30px;
    }
}

/*  元のブレークポイント → 767px  →426 → 666px */
@media screen and (max-width: 666px) {
    #top_linkbanner #top_bunnerbox_wrap {
        flex-direction: row;
    }
    #top_linkbanner #top_bunnerbox_wrap div {
        width: 240px;
        height: 140px;
        margin-bottom: 20px;
        font-size: 18px;
    }
    #top_bunnerbox_wrap .sp {
        width: 0px !important;
        height: 0px !important;
    }
    #top_linkbanner #top_bunnerbox_wrap {
        justify-content: center;
    }
    #footer1 .footer_linklist dl dd {
        display: block;
    }
    #footer2 ul {
        margin-bottom: 0;
    }
}

/************************************/

/* スマートフォン */

/*  元のブレークポイント → 767px  →426 → 666px */
@media screen and (max-width: 666px) {
    #top {
        padding-top: 60px;
    }
    
    /* ヘッダー */
    header {
        height: 60px;
    }
    header #header_logo_sp {
        width: 100px;
        height: 38px;
    }
    .line_fixed {
        top: 60px;
    }
    
    /* ハンバーガーメニュー */
    #sp_toggle {
        width: 28px;
        height: 18px;
    }
    
    h2 {
        font-size: 40px;
        margin-bottom: 30px;
    }
    
    .subtitle {
        font-size: 14px;
        line-height: 1.4;
        margin-top: 0px;
        margin-bottom: 20px;
    }
    
    .btn_list {
        width: 240px;
        height: 45px;
        font-size: 14px;
        box-sizing: border-box;
        margin: 10px auto;
    }
    
    .btn_list.link_arrow:after {
        width: 8px;
        height: 8px;
        margin-top: 1px;
        margin-left: 8px;
    }
    
    .btn_block a {
        width: 100%;
    }
    
    /* 重点サービスリンク */
    .block_flexbox.column2 {
        justify-content: space-between;
    }
    
    .pickuptext_wrap.block_flexbox.column2 {
    justify-content: center;
    }
    
    .pickupbox_wrap .pickupbox {
        margin-bottom: 10px;
        width: 48%;
    }
    
    .pickupbox_wrap {
        margin-top: 5px;
        padding: 0;
    }
    
    .pickuptext_wrap {
        margin-top: 0;
        padding: 0;
    }
    
    .pickupbox_wrap .pickupbox img {
        width: 98%;
        margin: 0 auto;
    }
    
    .service_contents {
        position: relative;
        box-sizing: border-box;
        border: 2px solid #0f6cb4;
        background-color: #fff;
        height: 94px;
        margin: 0 auto;
    }
    
    .pickupbox .service_contents .service_contents_logo {
        display: block;
        width: 120px;
        margin: 10px auto 13px;
    }
    
    .pickupbox .service_contents .service_contents_img {
        position: absolute;
        top: 45%;
        left: 38%;
        width: 25%;
        display: block;
    }
    
    .pickupbox_wrap {
        margin-top: 5px;
        padding: 0;
    }
    
    .pickuptext_wrap {
        margin-top: 0;
    }
    
    .pickupbox_wrap .pickupbox img {
        width: 98%;
        margin: 0 auto;
    }
    
    .pickuptext_wrap a {
        margin-bottom: 10px;
    }
    
    .pickuptext_wrap .pickuptext {
        height: 60px;
        width: 345px;
    }
    
    #top_pickup .page {
        padding-bottom: 10px;
    }
    
    #top_service .top_service_wrap {
        margin-top: 0;
    }
    
    #top_service #top_service_purpose .top_service_list ul li a {
        font-size: 13px;
    }
    
    #top_service #top_service_purpose .top_service_list ul li {
        margin-bottom: 10px;
        margin-top: 0;
        height: 45px;
    }
    
    #top_service .top_service_listwrap {
        padding-bottom: 10px;
    }
    
    #top_service .page {
        padding-bottom: 10px;
    }
    
    #top_casestudy .page {
        padding: 10px 0 0 0;
    }
    
    .casebox_wrap {
        margin-top: 0;
    }
    
    #top_service .top_service_listwrap h2 {
        text-align: left;
        font-size: 18px;
        margin-bottom: 10px;
    }
    
    #top_service .top_service_listwrap .top_service_list {
        margin-top: 0;
    }
    
    .btn_block a {
        display: inline-block;
        width: 345px;
        height: 45px;
        background: url(/files/user/images/bg_button.png) center center no-repeat;
        padding-top: 12px;
        color: #ffffff;
        font-size: 14px;
        font-weight: bold;
        box-sizing: border-box;
        border-radius: 3px;
    }
    
    .btn_block {
        padding: 10px 0;
        text-align: center;
    }
    
    .casebox_wrap .casebox {
        margin: 10px 20px 10px 20px;
    }
    
    #top_information .page {
        padding: 10px 0;
    }
    
    .infobox_list {
        margin: 10px 0;
    }
    #top
    _linkbanner .page {
        padding: 10px 0;
    }
    
    footer .btn_contact {
        height: 45px;
        padding-top: 11px;
    }
    
    /* フッター2 */
    #footer2 {
        padding-top: 0;
    }
    
    #footer2 ul li a {
        font-size: 12px;
    }
    
    #footer2 ul li {
        display: inline;
        padding-right: 6px;
        float: none;
        margin-right: 0px;
        margin-left: 5px;
        margin-bottom: 0px;
        text-align: center;
        font-size: 15px;
    }
    
    #footer2 ul {
        text-align: center;
        margin-top: 0;
    }
    
    #footer2 .footername,
    #footer2 .copyright {
        margin-right: 0px;
    }
    
    /* アイコン */
    .icon_tag:before,
    .icon_light:before {
        background-size: contain;
        padding-right: 34px;
    }
    
    /* 目的で探す */
    #top_service .top_service_listwrap .top_service_list ul li {
        font-size: 13px;
    }
    
    ul {
        margin-top: 5px;
    }
    
}

/*  (425px) ※ブレークポイントが確定かどうかが分からないため、上記と分けた状態にしておきます。  */

@media screen and (max-width: 426px) {
    #top_service #top_service_purpose .top_service_list ul li span {
        display: inline-block;
        width: 100%;
        height: 23px;
        background: #0f6cb4;
        color: #ffffff;
        font-size: 14px;
        font-weight: bold;
        text-align: center;
        box-sizing: border-box;
        padding: 0;
    }
    
    .resp_img {
        width: 70px;
    }
    
    h2 {
        font-size: 30px;
    }
    
    /*  カテゴリーで探す  */
    #top_service #top_service_category .top_service_list ul li span {
        display: inline-block;
        width: 100%;
        height: 45px;
        font-size: 14px;
        font-weight: bold;
        text-align: center;
        box-sizing: border-box;
        padding-top: 12px;
    }
    .casebox_wrap .casebox {
        width: 100%;
    }
}

/* iphone(375px) */

@media screen and (max-width: 376px) {
    
    /* 見出し */
    h2 {
        font-size: 18px;
    }
    
    .resp_img {
        width: 55px;
    }
    
    /*  カテゴリーで探す  */
    #top_service #top_service_category .top_service_list ul li span.col2 {
        border: 2px solid #0f6cb4;
        background: #ffffff;
        color: #0f6cb4;
        padding-top: 10px;
    }
    
    /* フッター */
    #footer1 .footer_linklist dl dd ul li a {
    font-size: 12px;
    }
    
    #footer1 .footer_linklist {
    padding: 10px 10px;
    }

}

/* スマホ改行用 */
.is-sp {
    display: none !important;
} 
@media screen and (max-width: 767px) {
    .is-sp {
        display: block !important;
    }
}


/****************
印刷関連
****************/

@media print {
    /*印刷から除外するアイテム*/
    header,
    #btnGoTop,
    #anchor,
    #border_line,
    .line_fixed {
        display: none;
    }
    /*印刷幅*/
    body {
        -webkit-print-color-adjust: exact;
        max-width: 100%;
    }

    #top {
        padding-top: 0px;
    }
    
    .bread_list li {
        position: relative;
    }
}