@charset "utf-8";

* {
    font-family: "webfont", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    /*以下明朝
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "webfont", "メイリオ", sans-serif;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	*/
}

html {
    font-size: 10px;
}

body {
    font-size: 1.6rem;
}

.mincho {
    font-family: Georgia, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.notomincho {
    font-family: webfontmincho, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

@media all and (-ms-high-contrast:none) {
    * {
        font-family: "メイリオ", Meiryo, "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    }
}

@media screen and (max-width: 768px) {
    .pc_only {
        display: none;
    }
}

@media screen and (min-width: 769px) {
    .sp_only {
        display: none;
    }
}

/* ----------------------------------------------------------------- */
/* Header
/* ----------------------------------------------------------------- */
header {
    width: 100%;
    background-color: #fff;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
    position: fixed;
    z-index: 9000;
    border-bottom: 1px solid #959597;
}

header .header_rogo {
    display: block;
}

header .header_inner {
    display: flex;
    justify-content: space-between;
}

header .header_inner .header_rightcontent,
header .header_inner .header_leftcontent {
    display: flex;
}

header .header_inner .header_rightcontent {
    justify-content: flex-end;
}

header .header_inner .header_leftcontent {
    justify-content: flex-start;
}

header .header_sitettl {
    color: #000;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.01em;
    border-left: 1px solid #959597;
}

header .header_sitettl span {
    color: #7a7c82;
}

header .nav_hmb {
    position: relative;
    cursor: pointer;
}

header .nav_hmb.open #nav_hmb_open,
header .nav_hmb.open #nav_hmb_open::before,
header .nav_hmb.open #nav_hmb_open::after {
    transition: all .3s;
}

header .nav_hmb.open #nav_hmb_open {
    transform: rotate(-45deg);
}

header .nav_hmb.open #nav_hmb_open::after {
    transform: rotate(90deg);
}

header .nav_hmb.open #nav_hmb_open::before {
    display: none;
}

header #nav_hmb_open {
    display: inline-block;
    width: 50px;
    height: auto;
    vertical-align: middle;
}

header #nav_hmb_open,
header #nav_hmb_open::before,
header #nav_hmb_open::after {
    content: '';
    position: absolute;
    display: block;
    cursor: pointer;
    background: #7a7c82;
}

header .nav_hmb_content {
    overflow: auto;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 300;
    margin-top: 0px;
    width: 100%;
    height: 0;
    text-align: center;
    background: rgba(255, 255, 255, 0.9);
    transition: 0.3s ease-in-out;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -ms-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    top: 0;
    position: relative;
}

header .nav_hmb_content .hmb_menu_content:nth-of-type(n+2) {
    border-top: 1px solid #959597;
}

header .nav_hmb_content a {
    color: #000;
}

header .nav_hmb_content .hmb_menu {
    width: 100%;
    height: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

header .nav_hmb_content .hmb_menuttl {
    width: 525px;
    height: 100px;
    margin: 0 auto;
}

header .nav_hmb_content .hmb_menuttl .header_lnk_ttl {
    display: inline-block;
    font-size: 4.5rem;
}

header .nav_hmb_content .hmb_menuttl .header_lnk_ttl2 {
    display: inline-block;
    font-size: 2.4rem;
}

header .nav_hmb_fb {
    display: flex;
    justify-content: center;
    /* margin: 20px auto 65px; */

}

header .nav_hmb_fb::after {
    border-bottom: 1px solid #959597;

}

header .nav_hmb_content ul li ul li a span {
    position: relative;
    z-index: 10;
    /* color: #000; */
    font-size: 16px;
    font-weight: 500 !important;
}

header .nav_hmb_content ul li ul li a .f-b-txt {
    display: block;
}

header .footer-in ul li .people span {
    color: #258a54;
}

header .footer-in ul li .ourwork span {
    color: #236689;
}

header .footer-in ul li .company span {
    color: #e15251;
}

header .footer-in ul li .recruitinfo span {
    color: #e28e1b;
}

@media screen and (max-width: 768px) {

    header,
    header .header_inner {
        height: 50px;
    }

    header .header_rogo {
        width: 70px;
        margin: 10px 15px;
    }

    header .header_sitettl {
        padding: 5px 10px;
        font-size: 1.2rem;
    }

    header .btn-entry-wrap {
        display: none;
    }

    header .nav_hmb_hidden {
        display: none;
    }

    header .nav_hmb {
        margin: 15px;
        width: 25px;
        height: 25px;
    }

    header .nav_hmb.open #nav_hmb_open {
        bottom: 10px;
    }

    header .nav_hmb.open #nav_hmb_open::after {
        bottom: 0;
    }

    header #nav_hmb_open,
    header #nav_hmb_open::before,
    header #nav_hmb_open::after {
        height: 4px;
        width: 100%;
    }

    header #nav_hmb_open::before {
        bottom: -18px;
    }

    header #nav_hmb_open::after {
        bottom: -9px;
    }

    header #nav_hmb_input:checked~.nav_hmb_content,
    header #nav_hmb_input:checked~#nav_hmb_close {
        padding-top: 0;
        top: 50px;
    }

    header .nav_hmb_content.open {
        height: calc(100vh - 50px);
    }

    header .nav_hmb_content .hmb_menu {
        padding: 35px 0 20px;
        height: auto;
    }

    header .nav_hmb_content .hmb_menuttl {
        width: 100%;
        height: initial;
        text-align: left;
    }

    header .nav_hmb_content .hmb_menuttl .header_lnk_ttl,
    header .nav_hmb_content .hmb_menuttl .header_lnk_ttl2 {
        font-size: 1.8rem;
        font-weight: 500;
    }

    header .nav_hmb_content .hmb_menu_content:nth-of-type(n+2) {
        margin: 20px 0;
        padding: 0;
        border: none;
    }

    header .nav_hmb_content .hmb_menu a {
        margin-right: 80px;
        padding: 5px 10px 5px 40px;
        width: calc(100% - 80px);
        display: inline-block;
    }

    header .people .h_ttl {
        color: #258a54;
    }

    header .ourwork .h_ttl {
        color: #236689;
    }

    header .company .h_ttl {
        color: #e15251;
    }

    header .recruitinfo .h_ttl {
        color: #e28e1b;
    }

    header .nav_hmb_content h2 {
        position: relative;
    }

    header .nav_hmb_content h2>span {
        content: '';
        width: 24px;
        height: 20px;
        background: #f00;
        background: url(../img/icon-arrow-tobottom.svg) center no-repeat;
        display: block;
        position: absolute;
        right: 40px;
        top: 1rem;
        transition: .3s ease-in-out;
    }

    header .nav_hmb_content .hmb_menu_content.open h2>span {
        background: url(../img/icon-arrow-hyphen.svg) center no-repeat;
    }

    header .nav_hmb_fb {
        text-align: left;
        height: 0;
        display: block;
        overflow: hidden;
        transition: .3s ease-in-out;
        opacity: 0;
    }

    header .nav_hmb_content .hmb_menu_content.open .nav_hmb_fb {
        /* height: fit-content; JSにて設定*/
        opacity: 1;
    }

    header .nav_hmb_fb li {
        padding-top: 0px;
    }

    header .nav_hmb_fb li a {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    header .nav_hmb_content ul li ul li a span {
        font-size: 1.4rem;
    }

    header .btn_area_entry {
        margin: 0 auto 30px;
        width: 100%;
        max-width: 350px;
        height: 105px;
        display: flex;
        justify-content: center;
    }

    header .btn_area_entry>a {
        width: 50%;
    }


    header .btn_area_entry .newgraduate,
    header .btn_area_entry .career {
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    header .btn_area_entry .newgraduate,
    header .btn_area_entry .career {
        color: #e28e1b;
        background: #fff;
        border: 1px solid #858688;
    }
    header .btn_area_entry .career{
        border-left: none;
    }
    header .btn_area_entry .newgraduate:hover,
    header .btn_area_entry .career:hover {
        border: 1px solid #e28e1b;
        background: #e28e1b;
        color: #fff;
        transition: .3s;
        -webkit-transition: .3s;
        -moz-transition: .3s;
        -ms-transition: .3s;
        -o-transition: .3s;
    }
}

@media screen and (min-width: 768px) {
    .h-b-ttl {
        font-size: 24px;
        font-weight: 600;
        line-height: 1.6em;
    }

    .h-b-txt {
        font-size: 16px;
        font-weight: 500;
        line-height: 2.0em;
    }

    .h-b-note {
        font-size: 14px;
        font-weight: 500;
        line-height: 2.0em;
    }

    .f-b-ttl {
        font-size: 24px;
        font-weight: 600;
        line-height: 1.6em;
    }

    .f-b-txt {
        font-size: 16px;
        font-weight: 500;
        line-height: 2.0em;
    }

    .f-b-note {
        font-size: 14px;
        font-weight: 500;
        line-height: 2.0em;
    }

    .b-ttl {
        font-size: 24px;
        font-weight: 500;
        line-height: 1.6em;
    }

    .b-txt {
        font-size: 16px;
        font-weight: 300;
        line-height: 2.0em;
    }

    .b-note {
        font-size: 14px;
        font-weight: 500;
        line-height: 2.0em;
    }

    header * {
        box-sizing: border-box;
    }

    main {
        display: block;
        padding: 100px 0 0 0;
    }

    .wrapper {
        max-width: 1920px;
        margin: 0 auto;
        padding: 0 40px;
    }

    header {
        height: 100px;
    }

    header .header_inner .header_rightcontent,
    header .header_inner .header_leftcontent {
        display: flex;
    }

    header .header_rogo {
        width: 135px;
        margin: 20px 40px 20px 0;
    }

    header .header_sitettl {
        padding: 10px;
        font-size: 2.4rem;
    }

    header .header_sitettl span {
        color: #7a7c82;
    }

    .btn-entry-wrap {
        height: 50px;
        width: 170px;
        display: block;
        margin: 25px 40px;
        background-color: #e15251;
        text-align: center;
    }

    .btn-entry-wrap button {
        color: #fff;
        font-size: 2.4rem;
        font-weight: 500;
        padding-top: 5px;
    }

    .btn-entry-wrap:hover button {
        color: #bf2f2e;
    }

    .btn-entry-wrap:hover {
        transition: 0.4s;
        background-color: #e57878;
        -webkit-transition: 0.4s;
        -moz-transition: 0.4s;
        -ms-transition: 0.4s;
        -o-transition: 0.4s;
    }

    header .nav_hmb {
        margin: 30px 0 0 0;
        width: 50px;
        height: 35px;
    }

    header #nav_hmb_open,
    header #nav_hmb_open::before,
    header #nav_hmb_open::after {
        height: 7px;
        width: 50px;
    }

    header #nav_hmb_open::before {
        bottom: -15px;
    }

    header #nav_hmb_open::after {
        bottom: -30px;
    }

    header .nav_hmb.open #nav_hmb_open {
        bottom: 10px;
    }

    header .nav_hmb.open #nav_hmb_open::after {
        bottom: 0px;
    }

    header .nav_hmb_content {
        height: 0;
    }

    header .nav_hmb_content.open {
        height: calc(100vh - 100px);
    }

    header .nav_hmb_content .hmb_menu_content {
        padding: 35px 0 50px
    }

    header .nav_hmb_content ul li ul li a span {
        font-size: 1.6rem;
    }

    header .hmb_menu h2.hmb_menuttl a {
        width: 100%;
        height: 100%;
        line-height: 1.4;
        display: block;
    }

    header .nav_hmb_fb li {
        margin-top: 20px;
        display: inline-block;
        width: 100%;
        max-width: 150px;
        max-height: 70px;
    }

    header .nav_hmb_fb li a {
        padding-top: 1rem;
        padding-bottom: 1rem;
        width: 100%;
        height: 100%;
        display: flex;
        align-items: center;
        flex-direction: column;
        justify-content: center;
    }

    header .hmb_menu_content.people .hmb_menuttl a:hover,
    header .hmb_menu_content.ourwork .hmb_menuttl a:hover,
    header .hmb_menu_content.company .hmb_menuttl a:hover,
    header .hmb_menu_content.recruitinfo .hmb_menuttl a:hover,
    header .nav_hmb_fb li a:hover {
        color: #fff;
    }

    header .hmb_menu_content.people .hmb_menuttl a:hover,
    header .people .nav_hmb_fb li a:hover {
        background-color: #258a54;
        transition: .3s;
        -webkit-transition: .3s;
        -moz-transition: .3s;
        -ms-transition: .3s;
        -o-transition: .3s;
    }

    header .hmb_menu_content.ourwork .hmb_menuttl a:hover,
    header .ourwork .nav_hmb_fb li a:hover {
        background-color: #236689;
        transition: .3s;
        -webkit-transition: .3s;
        -moz-transition: .3s;
        -ms-transition: .3s;
        -o-transition: .3s;

    }

    header .hmb_menu_content.company .hmb_menuttl a:hover,
    header .company .nav_hmb_fb li a:hover {
        background-color: #e15251;
        transition: .3s;
        -webkit-transition: .3s;
        -moz-transition: .3s;
        -ms-transition: .3s;
        -o-transition: .3s;

    }

    header .hmb_menu_content.recruitinfo .hmb_menuttl a:hover,
    header .recruitinfo .nav_hmb_fb li a:hover {
        background-color: #e28e1b;
        transition: .3s;
        -webkit-transition: .3s;
        -moz-transition: .3s;
        -ms-transition: .3s;
        -o-transition: .3s;

    }

}

/* ----------------------------------------------------------------- */
/* Breadcrumb
/* ----------------------------------------------------------------- */
.breadcrumb a {
    color: #38393c;
}

.breadcrumb a:hover {
    color: #38393c;
}

.breadcrumb {
    margin: 0 auto;
    padding: 0 40px;
    max-width: 1920px;
    text-align: center;
}

.breadcrumb ul {
    margin: 0;
    padding: 5px 0;
    font-size: 1.8rem;
    font-weight: 500;
    font-family: 'YuGothic_Subset', YuGothic, "Yu Gothic Medium", "Yu Gothic";
    list-style-type: none;
    display: flex;
}

.breadcrumb li {
    white-space: nowrap;
    line-height: 2;
}

.breadcrumb li::after {
    content: '▶';
    margin: -2px 1.7rem;
    width: 1em;
    height: 1em;
    display: inline-block;
}

.breadcrumb li:last-child::after {
    display: none;
}

@media screen and (max-width:768px) {
    .breadcrumb {
        padding: 0;
    }

    .breadcrumb ul {
        padding: 0 10px;
        font-size: 1.4rem;
        font-weight: 300;
        line-height: 2;
    }
}

@media screen and (max-width:480px) {
    .breadcrumb li:last-child {
        white-space: initial;
        text-align: left;
        line-height: 1.3;
        padding: 5px 0 0;
    }
}


/* ----------------------------------------------------------------- */
/* Footer
/* ----------------------------------------------------------------- */

footer {
    width: 100%;
    /* magin: 0; */
    padding: 0;
}

footer #footer1 {
    display: block;
    width: 100%;
    background-color: #fff;
    /* magin: 0; */
    padding: 0;
}

footer .footer-wrap {
    margin: 0 auto;
    padding: 0 0 90px 0;
    display: block;
    width: 100%;
    text-align: center;
}

footer .footergototop {
    /* display: block; */
    width: 100%;
    /* height: 50px; */
    background-color: #fff;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #777;
    border-top: 0.3px solid #535353;
    color: #000;
    padding: 30px 0 25px;
    display: inline-block;
    transition: all .3s;
}

/* footer .footergototop img {
        width: auto;
        height: 100%;
        position: relative;
        z-index: 5;
        margin: 0 auto;
    }

    footer .footergototop::before {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
        content: '';
        width: 100%;
        height: 100%;
        background: #eee;
        opacity: 0;
        transition: opacity .4s;
        -webkit-transition: ;
        -moz-transition: ;
        -ms-transition: ;
        -o-transition: ;
    }

    footer .footergototop:hover::before {
        opacity: 1;
    } */
footer .footergototop span {
    height: 42px;

    width: 55px;
    height: 37px;
    position: relative;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: inline-block;
    background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%0A%09%20y%3D%220px%22%20viewBox%3D%220%200%2055%2037%22%20style%3D%22enable-background%3Anew%200%200%2055%2037%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%237A7B81%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20class%3D%22st0%22%20d%3D%22M0%2C27.4L27.6%2C0L55%2C27.4l-9.5%2C9.5L27.6%2C19L9.5%2C36.9L0%2C27.4z%22%2F%3E%0A%3C%2Fsvg%3E%0A');
    background-position: center;
    background-repeat: no-repeat;
}

/* footer .footergototop span::before,
footer .footergototop span::after {
    content: '';
    display: block;
    width: 40px;
    height: 13px;
    background: #7a7b81;
    position: absolute;
    top: 15px;
}

footer .footergototop span::before {
    transform: rotate(-45deg);
    left: 18px;
}

footer .footergototop span::after {
    transform: rotate(45deg);
    right: 18px;
} */

footer .footergototop:hover {
    background: #7a7b81;
}

footer .footergototop:hover span {
    background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20version%3D%221.1%22%20id%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%0A%09%20y%3D%220px%22%20viewBox%3D%220%200%2055%2037%22%20style%3D%22enable-background%3Anew%200%200%2055%2037%3B%22%20xml%3Aspace%3D%22preserve%22%3E%0A%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%09.st0%7Bfill-rule%3Aevenodd%3Bclip-rule%3Aevenodd%3Bfill%3A%23FFFFFF%3B%7D%0A%3C%2Fstyle%3E%0A%3Cpath%20class%3D%22st0%22%20d%3D%22M0%2C27.4L27.6%2C0L55%2C27.4l-9.5%2C9.5L27.6%2C19L9.5%2C36.9L0%2C27.4z%22%2F%3E%0A%3C%2Fsvg%3E%0A');
}

/* footer .footergototop:hover span::before,
footer .footergototop:hover span::after {
    background: #fff;
} */

footer .footer-in {
    width: 100%;
    margin: 0 auto;
    position: relative;
    padding: 40px 50px 30px 50px;
    max-width: 1920px;
    ;
}

footer .footer-in ul {
    margin: 0 0 50px 0;
    padding: 0;
    list-style: none;
    font-size: 0;
    width: 100%;
    text-align: right;
}

footer .footer-in>ul {
    display: flex;
    justify-content: flex-end;
}

footer .footer-in ul li {
    display: inline-block;
    vertical-align: top;
}

footer .footer-in ul li:last-child {
    /* margin-right: 20px; */
}

footer .footer-in ul li a {
    display: block;
    text-align: left;
    position: relative;
}

footer .footer-in ul li a .footer-lnk-ttl {
    display: block;
    font-size: 16px;
    font-weight: 400 !important;
}

footer .footer-in ul li a span {
    position: relative;
    z-index: 10;
    /* color: #fff; */
    font-weight: 500 !important;
}

footer .footer-in ul li ul {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0;
    width: 100%;
    text-align: left;
}

footer .footer-in ul li ul li {
    display: block;
    vertical-align: top;
    position: relative;
}

footer .footer-in ul li .people {
    color: #258a54;
}

footer .footer-in ul li .ourwork {
    color: #236689;
}

footer .footer-in ul li .company {
    color: #e15251;
}

footer .footer-in ul li .recruitinfo {
    color: #e28e1b;
}

footer .footer-in ul li .people,
footer .footer-in ul li .ourwork,
footer .footer-in ul li .company,
footer .footer-in ul li .recruitinfo {
    transition: .3s;
    -webkit-transition: .3s;
    -moz-transition: .3s;
    -ms-transition: .3s;
    -o-transition: .3s;
}




footer .footer-in ul li ul li:last-child {
    margin-right: 0;
}

footer .footer-in ul li ul li a {
    display: inline-block;
    position: relative;
    padding: 8px 10px;

}

footer .footer-in ul li ul li a .f-b-txt {
    display: block;
}

footer .footer-in ul li ul li a span {
    position: relative;
    z-index: 10;
    color: #000;
    font-size: 12px;
    font-weight: 500 !important;
}

footer .footer-in ul li .people span,
footer .footer-in ul li .ourwork span,
footer .footer-in ul li .company span,
footer .footer-in ul li .recruitinfo span,
footer .footer-in ul li ul li a span {
    letter-spacing: 0.07em;
}

/* footer .footer-in ul li ul li .menuborder {
        width: 10px;
        height: 2px;
        background-color: #fff;
        position: absolute;
        top: 10px;
        left: 0;
        transition: left 0.2s;
        -webkit-transition: ;
        -moz-transition: ;
        -ms-transition: ;
        -o-transition: ;
    }

    footer .footer-in ul li ul li:hover .menuborder {
        left: 5px;
    } */


/* footer .footer-in .footer-in-etc a:nth-child(2) {
    padding-left: 2%;
} */

footer .footer-in .footer-in-etc a img {
    margin: 0 0 0 10px;
    position: relative;
    top: 2px;
}

footer .footer-in p {
    display: inline-block;
    color: #000;
    letter-spacing: 0.17em;
}

@media screen and (max-width: 768px) {
    footer .footer-in {
        width: 90%;
        margin: 0 auto 0 auto;
        position: relative;
        padding: 0px 0 30px 0;
    }

    footer .footer-in ul {
        display: flex;
        flex-wrap: wrap;
    }

    footer .footer-in ul li {
        /* margin-top: 15px; */
        margin: 10px 0
    }

    footer .footer-in ul li a .footer-lnk-ttl,
    footer .footer-in ul li a .footer-lnk-ttl2 {
        display: block;
        font-size: 1.4rem;
        font-weight: 400 !important;
        position: relative;
        margin: 0 auto;
    }

    footer .footer-in ul li ul {
        width: 100%;
    }

    footer .footer-in ul li ul li {
        width: 100%;
    }

    footer .footer-in .footer-in-etc {
        display: grid;
        text-align: center;
    }

    footer .footer-in .footer-in-etc>* {
        color: #000;
    }

    footer .footer-in .footer-in-etc>*:nth-child(1) {
        grid-row: 3;
    }

    footer .footer-in .footer-in-etc>*:nth-child(2) {
        grid-row: 1;
        margin-bottom: 4.5rem;
    }

    footer .footer-in .footer-in-etc>*:nth-child(3) {
        grid-row: 2;
        margin-bottom: 4.5rem;
    }

    footer .footer-in .footer-in-etc a {
        width: 100%;
    }

    footer .footer-in p {
        padding: 0;
        width: 100%;
        text-align: center;
        letter-spacing: 0.17em;
    }

}

@media screen and (max-width: 900px) {

    footer .footer-in ul li:last-child {
        margin-right: 0px;
    }

    /* footer .footer-in ul li {
        margin: 0 0 0 0;
        padding: 0 2% 0 0;
        width: 48%;
    } */

    /* footer .footer-in ul li ul {
        width: 100%;
    } */

    /* footer .footer-in ul li:nth-child(1) {
        margin-bottom: 20px;
    }

    footer .footer-in ul li:nth-child(2) {
        margin-bottom: 20px;
    } */

    /* footer .footer-in ul li ul li {
        width: 100%;
    } */

    footer .footer-in .footer-in-etc {
        text-align: center;
    }
}

@media screen and (min-width: 768px) {
    footer .footer-in .footer-in-etc {
        margin: 0;
        padding: 0;
        position: relative;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
    }

    footer .footer-in p {
        width: 100%;
        position: absolute;
    }

    footer .footer-in .footer-in-etc a {
        margin-right: 60px;
        color: #000;
        font-size: 1.2rem;
        font-weight: 500 !important;
        white-space: nowrap;
        display: inline-block;
        z-index: 1;
    }

    footer .footer-in ul li {
        margin-right: 30px;
        width: 100%;
        max-width: 160px;
        text-align: left;
    }

    footer .footer-in ul li a {
        padding: 8px 10px;
        display: inline-block;
    }

    footer .footer-in ul li ul li {
        margin: 10px 0;
    }

    footer .footer-in a.people:hover,
    footer .people+ul a:hover {
        background-color: #258a54;
    }

    footer .footer-in a.ourwork:hover,
    footer .ourwork+ul a:hover {
        background-color: #236689;
    }

    footer .footer-in a.company:hover,
    footer .company+ul a:hover {
        background-color: #e15251;
    }

    footer .footer-in a.recruitinfo:hover,
    footer .recruitinfo+ul a:hover {
        background-color: #e28e1b;
    }

    footer .footer-in a.people:hover,
    footer .people+ul a:hover,
    footer .footer-in a.ourwork:hover,
    footer .ourwork+ul a:hover,
    footer .footer-in a.company:hover,
    footer .company+ul a:hover,
    footer .footer-in a.recruitinfo:hover,
    footer .recruitinfo+ul a:hover {
        width: fit-content;
        transition: .3s;
        -webkit-transition: .3s;
        -moz-transition: .3s;
        -ms-transition: .3s;
        -o-transition: .3s;
    }


    footer .footer-in a.people:hover,
    footer .footer-in a.ourwork:hover,
    footer .footer-in a.company:hover,
    footer .footer-in a.recruitinfo:hover,
    footer .footer-in ul li ul li a:hover span {
        color: #fff;
    }
}

@media screen and (max-width: 768px) {
    .h-b-ttl {
        font-size: 18px;
        font-weight: 600;
        line-height: 1.6em;
    }

    .h-b-txt {
        font-size: 14px;
        font-weight: 500;
        line-height: 2.0em;
    }

    .h-b-note {
        font-size: 12px;
        font-weight: 500;
        line-height: 2.0em;
    }

    .f-b-ttl {
        font-size: 18px;
        font-weight: 600;
        line-height: 1.6em;
    }

    .f-b-txt {
        /* font-size: 14px; */
        font-size: 1.2rem;
        font-weight: 500;
        line-height: 2.0em;
    }

    .f-b-note {
        font-size: 12px;
        font-weight: 500;
        line-height: 2.0em;
    }

    .b-ttl {
        font-size: 18px;
        font-weight: 500;
        line-height: 1.6em;
    }

    .b-txt {
        font-size: 14px;
        font-weight: 300;
        line-height: 2.0em;
    }

    .b-note {
        font-size: 12px;
        font-weight: 500;
        line-height: 2.0em;
    }

    main {
        display: block;
        padding: 50px 0 0 0;
    }

    header {
        width: 100%;
        position: fixed;
        z-index: 9000;
    }

    /* nav {
        width: 100%;
        height: 50px;
        pointer-events: none;
        position: fixed;
        z-index: 8000;
    } */

    nav * {
        pointer-events: visible;
    }

    header * {
        -webkit-transition-property: all;
        transition-property: all;
        -webkit-transition-duration: 0s;
        transition-duration: 0s;
        -webkit-transition-timing-function: ease-in-out;
        transition-timing-function: ease-in-out;
    }

    main {
        -webkit-transition-property: all;
        transition-property: all;
        -webkit-transition-duration: 0s;
        transition-duration: 0s;
        -webkit-transition-timing-function: ease-in-out;
        transition-timing-function: ease-in-out;
    }

    header .menufr {
        width: 100%;
        position: fixed;
        top: -200% !important;
        z-index: 8500;
        left: 0;
        display: block;
        background-color: rgba(95, 221, 229, 0.60);
        transition: top 0.4s, opacity 0.4s;
        opacity: 0;
        overflow: hidden;
        height: 0;
        transition: all 0.4s;
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
    }

    header .menufr .menuinner {
        position: relative;
        width: 100%;
        height: 100%;
        z-index: 8501;
    }

    header.active .menufr {
        top: 0% !important;
        height: 100vh;
        opacity: 1;
        position: fixed;
        transition: top 0.4s, opacity 0.4s;
    }

    main {
        position: relative;
        left: 0;
    }

    /* nav .navfr {
        width: 100%;
        height: 50px;
        margin: 0 auto;
        position: fixed;
        left: 0;
        right: 0;
        background-color: #000;
    } */

    nav .navfr .nav .sp-head {
        height: 50px;
        width: 100%;
        background-color: #fff;
        position: relative;
        position: fixed;
        top: 0;
        z-index: 9400;
    }

    .temptubmenufr {
        display: none !important;
    }

    nav .nav {
        height: 100%;
    }

    .menufr .menu {
        width: 90%;
        height: calc(100% - 150px);
        padding: 0 0 40px 0;
        margin: 0 auto;
        top: 100px;
        left: 50%;
        transform: translateX(-50%);
        position: absolute;
        overflow: hidden;
        z-index: 8000 !important;
    }

    .mobile.yoko .menufr .menu {
        height: 60%;
        top: 30%;
    }

    .logo {
        height: 100%;
        display: block;
        margin: 0 0 0 0;
        position: absolute;
        top: 0;
        left: 0;
        padding: 0;
        transition: 0.3s all ease 0s;
    }

    .logo a {
        display: block;
        height: 100% !important;
        position: relative;
        z-index: 9999;
        margin: 0 0 0 0;
        padding: 0;
        vertical-align: middle;
    }

    .logo a img {
        max-height: 100%;
        margin: 0;
        padding: 0;
        vertical-align: bottom;
        height: 50px;
    }

    .logo a img.menulogo-pc {
        display: none;
    }

    .logo a img.menulogo-sp {
        display: block;
    }

    .menufr .menu .mCS-minimal.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
        background-color: #000;
        /* background-color: rgba(255,255,255,0.2); */
        filter: "alpha(opacity=20)";
        -ms-filter: "alpha(opacity=20)";
    }

    .menufr .menu .mCSB_scrollTools {
        background-color: rgba(255, 255, 255, 0.60);
        width: 8px;
    }

    .menufr .menu .mCSB_outside+.mCS-minimal.mCSB_scrollTools_vertical,
    .menufr .menu .mCSB_outside+.mCS-minimal-dark.mCSB_scrollTools_vertical {
        right: -12px;
        margin: 0 0;
    }

    .menufr .menu .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
        position: relative;
        width: 8px;
        height: 100%;
        margin: 0 auto;
        -webkit-border-radius: 0px;
        -moz-border-radius: 0px;
        border-radius: 0px;
        text-align: center;
    }

    .menufr .menu .menuul {
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .menufr .menu .menuul>li {
        width: 100%;
        position: relative;
    }

    .menutitlefr {
        position: relative;
    }

    .menufr .menu .menuul>li a.menutitle {
        display: block;
        padding: 8px 5% 8px 5%;
        text-align: left;
        margin: 0 0 10px 0;
    }

    .menufr .menu .menuul>li a.menutitle span {
        position: relative;
        display: inline-block;
        padding: 0 0 0 0;
        font-weight: 600 !important;
        color: #000;
        font-size: 20px;
        line-height: 1.4em;
    }

    .menufr .menu .menuul>li a.menutitle br {
        line-height: 0.1;
        font-size: 1px;
    }

    .menufr .menu .menuul>li a.menutitle span.menu_jp {
        position: relative;
        display: block;
        margin: 2px 0 0 0;
        padding: 0 0 0 0;
        font-weight: 600 !important;
        color: #000;
        font-size: 18px;
        line-height: 1.4em;
    }

    .menufr .menu .menuul>li a.menutitle span .menuborder {
        position: absolute;
        text-indent: -9999px;
        width: 0%;
        height: 2px;
        bottom: -3px;
        left: 0;
        -webkit-transition-property: all;
        transition-property: all;
        -webkit-transition-duration: 0.1s;
        transition-duration: 0.1s;
        -webkit-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
    }

    .menufr .menu .menuul>li a.menutitle:hover span .menuborder {
        -webkit-transition-property: all;
        transition-property: all;
        -webkit-transition-duration: 0.1s;
        transition-duration: 0.1s;
        -webkit-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
        width: 100%;
    }

    .menufr .submenufr {
        width: 100%;
    }

    .menufr .menu .menuul .submenuul:last-child {
        padding-botom: 0;
        margin: 0 0 20px 0;
    }

    .menufr .menu .menuul .submenuul {
        width: 100%;
        margin: 5px auto 5px auto;
        padding: 0 0 0 5%;
        list-style: none;
        text-align: center;
    }

    .menufr .menu .menuul .submenuul>li {
        display: inline-block;
        width: 100%;
        margin: 0;
        padding: 0;
        overflow: hidden;
        position: relative;
        vertical-align: middle;
    }

    .submenuulfr {
        width: 100%;
        display: none;
        overflow: hidden;
        -webkit-transition: none !important;
        -moz-transition: none !important;
        -o-transition: none !important;
        transition: none !important;
    }

    .submenuultitlefr {
        position: relative;
    }

    .menufr .menu .menuul .submenuul>li a {
        display: inline-block;
        width: 100%;
        margin: 0;
        padding: 10px 0 10px 0;
        text-align: left;
        vertical-align: middle;
    }

    .menufr .menu .menuul .submenuul>li a.submenuultitle {
        padding: 0 0 0 0;
        margin: 0 0 0 0;
        background-image: none;
        position: relative;
    }

    .menufr .menu .menuul .submenuul>li a.submenuultitle img {
        display: none !important;
    }

    .menufr .menu .menuul .submenuul>li a.submenuultitle svg {
        display: none !important;
    }

    .submenuul>li .submenuultitle span {
        display: inline-block;
        padding: 0;
        margin: 0;
        position: relative;
        font-weight: 600 !important;
        color: #000;
    }

    .submenuul>li .submenuultitle .menuborder {
        position: absolute;
        text-indent: -9999px;
        width: 0%;
        height: 2px;
        bottom: -5px;
        left: 0;
        -webkit-transition-property: all;
        transition-property: all;
        -webkit-transition-duration: 0.1s;
        transition-duration: 0.1s;
        -webkit-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
    }

    .submenuul>li .submenuultitle:hover .menuborder {
        -webkit-transition-property: all;
        transition-property: all;
        -webkit-transition-duration: 0.1s;
        transition-duration: 0.1s;
        -webkit-transition-timing-function: ease-out;
        transition-timing-function: ease-out;
        width: 100%;
    }

    .submenu .submenutitle .submenutitlelink {
        text-decoration: none !important;
    }

    .menufr .menu .menuul .submenuul>li a.submenuultitle svg {
        width: 6px;
        height: 9px;
        position: absolute;
        left: 0;
        top: 16px;
        -ms-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .menufr .menu .menuul .submenuul>li a.submenuultitle img {
        width: 6px;
        height: 9px;
        position: absolute;
        left: 0;
        top: 16px;
        -ms-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    .menufr .menu .menuul .submenuul>li a:hover {
        color: #222;
    }

    .menu-triggerfr {
        width: 50px;
        height: 50px;
        position: fixed;
        float: right;
        right: 10px;
        top: 0;
        z-index: 9500;
        display: block;
        opacity: 1;
    }

    .menu-triggerfr.active {
        opacity: 1;
        z-index: 9500;
    }

    .menu-triggerfr .menu-trigger,
    .menu-triggerfr .menu-trigger span {
        display: inline-block;
        transition: all .2s;
        box-sizing: border-box;
    }

    .menu-triggerfr .menu-trigger {
        position: absolute;
        left: 50%;
        top: 50%;
        -ms-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 70%;
        max-height: 30px;
        height: 100%;
        z-index: 9000;
        display: block;
    }

    .menu-triggerfr .menu-trigger span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 2px;
        transform-origin: center center;
        background-color: #000 !important;
    }

    .menu-triggerfr .menu-trigger span:nth-of-type(1) {
        top: 5%;
        left: 0%;
        opacity: 1;
        transform: translate(0, -50%);
    }

    .menu-triggerfr .menu-trigger span:nth-of-type(2) {
        top: 0;
        bottom: 0;
        margin: auto;
        opacity: 1;
    }

    .menu-triggerfr .menu-trigger span:nth-of-type(3) {
        bottom: 5%;
        left: 0%;
        opacity: 1;
        transform: translate(0, -50%);
    }

    .menu-triggerfr.active .menu-trigger span:nth-of-type(1) {
        width: 110%;
        top: 45%;
        left: -7%;
        transform: translate(0, -50%);
        opacity: 1;
        transform: rotate(45deg);
    }

    .menu-triggerfr.active .menu-trigger span:nth-of-type(2) {
        top: 0;
        bottom: 0;
        left: 100px;
        margin: auto;
        opacity: 0;
    }

    .menu-triggerfr.active .menu-trigger span:nth-of-type(3) {
        width: 110%;
        top: 45%;
        left: -7%;
        transform: translate(0, -50%);
        opacity: 1;
        transform: rotate(-45deg);
    }

    .menu-triggerfr-inner {
        max-width: 100px;
        width: 30%;
        height: 50px;
        position: fixed;
        right: 0;
        top: 0;
        z-index: 9000;
        display: none;
    }

    .menu-triggerfr-inner.active {
        opacity: 1;
        display: block;
    }

    .menu-triggerfr-inner .menu-trigger-inner,
    .menu-triggerfr-inner .menu-trigger-inner span {
        display: inline-block;
        transition: all .4s;
        box-sizing: border-box;
    }

    .menu-triggerfr-inner .menu-trigger-inner {
        position: absolute;
        left: 50%;
        top: 50%;
        -ms-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 50%;
        max-height: 40px;
        height: 100%;
        z-index: 9000;
        display: block;
    }

    .menu-triggerfr-inner .menu-trigger-inner span {
        position: absolute;
        left: 0;
        width: 100%;
        height: 3px;
        background-color: #fff !important;
    }

    .menu-triggerfr-inner .menu-trigger-inner span:nth-of-type(1) {
        top: 15%;
        opacity: 0;
    }

    .menu-triggerfr-inner .menu-trigger-inner span:nth-of-type(2) {
        top: 0;
        bottom: 0;
        margin: auto;
        opacity: 0;
    }

    .menu-triggerfr-inner .menu-trigger-inner span:nth-of-type(3) {
        bottom: 15%;
        opacity: 0;
    }

    .menu-triggerfr-inner.active .menu-trigger-inner span:nth-of-type(1) {
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(-315deg);
        transform: translateY(-50%) rotate(-315deg);
        opacity: 1;
    }

    .menu-triggerfr-inner.active .menu-trigger-inner span:nth-of-type(2) {
        opacity: 0;
    }

    .menu-triggerfr-inner.active .menu-trigger-inner span:nth-of-type(3) {
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(315deg);
        transform: translateY(-50%) rotate(315deg);
        opacity: 1;
    }

    .menufr .togglefr {
        width: 30px;
        height: 100%;
        position: absolute;
        right: 5%;
        top: 0;
        z-index: 9900;
        display: block;
    }

    .togglefr .toggle {
        position: absolute;
        width: 100%;
        height: 100%;
        left: 0;
        top: 50%;
        -ms-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        z-index: 9000;
    }

    .togglefr .toggle span {
        position: absolute;
        width: 50%;
        height: 3px;
        top: 45%;
        transform: translateY(-50%);
        background-color: #000;
        transform-origin: center center;
    }

    .togglefr .toggle span:nth-of-type(1) {
        transform: rotate(45deg);
        left: 8%;
    }

    .togglefr .toggle span:nth-of-type(2) {
        left: 40%;
        transform: rotate(135deg);
    }

    .togglefr.active .toggle span:nth-of-type(1) {
        transform: rotate(0deg);
        left: 8%;
    }

    .togglefr.active .toggle span:nth-of-type(2) {
        left: 40%;
        transform: rotate(0deg);
    }

    .temptubclose {
        display: none !important;
    }



    /* .btn-entry-wrap {
        width: 90%;
        display: block;
        position: relative;
        margin: 40px auto 0 auto;
        font-size: 0;
        background-color: rgba(0, 0, 0, 0.8);
    } */

    .btn-entry-wrap .btn-entry {
        display: none;
    }

    .btn-entry-wrap .btn-entry-link {
        width: 50%;
        height: 46px;
        font-size: 14px !important;
        line-height: 16px !important;
        position: relative;
        display: inline-block;
        z-index: 10;
        margin: 0;
        padding: 0;
    }

    .btn-entry-wrap .btn-entry-link span {
        width: 100%;
        height: 100%;
        padding: 15px 0 15px 0;
        margin: 0;
        display: block;
        color: #fff;
        vertical-align: middle;
        text-align: center;
        font-weight: 600;
        position: relative;
        overflow: hidden;
        z-index: 2;
    }

    .btn-entry-wrap .btn-entry-link:hover span {
        color: #000;
    }

    .btn-entry-wrap .btn-entry-link::after {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background-color: transparent;
        z-index: 1;
        opacity: 1;
        border: solid 0px transparent;
        transition: all 0.4s;
    }

    .btn-entry-wrap .btn-entry-link:hover::after {
        opacity: 1;
        background-color: #fff;
        border: solid 4px #000;
    }

    .btn-entry-wrap .btn-entry-link::before {
        content: '';
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background-color: transparent;
        z-index: -1;
        opacity: 1;
        transition: all 0.4s;
    }

    .btn-entry-wrap .btn-entry-link:hover::before {
        opacity: 1;
    }


    footer {
        width: 100%;
        magin: 0;
        padding: 0;
        background-color: #000;
    }

    footer #footer1 {
        display: block;
        width: 100%;
        magin: 0;
        padding: 0;
    }

    footer .footer-wrap {
        display: block;
        width: 100%;
        magin: 0;
        padding: 0 0 0 0;
        text-align: center;
    }

    footer .footergototop {
        display: block;
        width: 100%;
        background-color: #fff;
        position: relative;
        overflow: hidden;
    }

    footer .footergototop img {
        width: 100%;
        position: relative;
        z-index: 5;
        margin: 0 auto;
    }

    footer .footergototop::before {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
        content: '';
        width: 100%;
        height: 100%;
        opacity: 0;
        background: #eee;
        transition: opacity .4s;
    }

    footer .footergototop:hover::before {
        opacity: 1;
    }

    /* footer .footer-in {
        width: 90%;
        margin: 0 auto 0 auto;
        position: relative;
        padding: 30px 0 30px 0;
    } */

    footer .footer-in ul {
        margin: 0 0 15px 0;
        padding: 0;
        list-style: none;
        font-size: 0;
        display: block;
        width: 100%;
        table-layout: auto;
    }

    footer .footer-in ul li {
        display: inline-block;
        width: 50%;
        vertical-align: top;
        padding: 0;
        /* margin: 0 0 20px 0; */
        text-align: left;
    }

    footer .footer-in ul li a {
        display: block;
        text-align: center;
        padding: 10px 5px;
        position: relative;
    }

    footer .footer-in ul li a span {
        display: block;
        position: relative;
        z-index: 10;
        /* color: #fff; */
        font-weight: 500 !important;
        font-size: 20px;
    }


    footer .footer-in ul li a .footer-lnk-ttl2::after {
        display: block;
        content: " ";
        width: 0%;
        height: 2px;
        background-color: #fff;
        position: absolute;
        bottom: -9px;
        left: 50%;
        transform: translateX(-50%);
        transition: width 0.1s;
    }

    footer .footer-in ul li a:hover .footer-lnk-ttl2::after {
        width: 100%;
    }

    /* footer .footer-in .footer-in-etc {
        text-align: right;
        margin: 20px 0 0 0;
    } */

    /* footer .footer-in .footer-in-etc a {
        width: 100%;
        display: block;
        font-weight: 400 !important;
        color: #fff;
        display: inline-block;
        margin: 0 0 0 0;
    } */

    footer .footer-in .footer-in-etc a img {
        margin: 0 0 0 7px;
        position: relative;
        top: 3px;
    }

    /* footer .footer-in p {
        color: #fff;
        text-align: center;
        margin: 40px 0 0 0;
        font-weight: 400 !important;
    } */
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
    footer .footer-in-etc p {
        position: relative;
    }
}