@charset "UTF-8";

html {
    /* overflow-x: hidden; */
    /*スクロールバー非表示（IE・Edge）*/
    /* -ms-overflow-style: none; */
    /*スクロールバー非表示（Firefox）*/
    /* scrollbar-width: none; */
}

html::-webkit-scrollbar {
    /*スクロールバー非表示（Chrome・Safari）*/
    /* display: none; */
}

.pc {
    display: block;
}

.sp {
    display: none;
}

/* flex */
.flex {
    display: flex;
}

/* caption */
.cap_txt {
    position: absolute;
    bottom: 5px;
    font-size: 10px;
    line-height: 1;
    z-index: 1;
}

.cap_R {
    right: 5px;
}

.cap_L {
    left: 5px;
}

.cap_W {
    color: #fff;
}

.cap_B {
    color: #000;
}

.cap_ShaB {
    text-shadow: 0 0 5px #000;
}

.cap_ShaW {
    text-shadow: 0 0 5px #fff;
}

.cap_ShaWW {
    text-shadow: 0 0 5px #fff, 0 0 5px #fff;
}

.cap_ShaBB {
    text-shadow: 0px 1px 4px rgba(0, 0, 0, 0.8), 0px 1px 4px rgba(0, 0, 0, 0.8), 0px 1px 4px rgba(0, 0, 0, 0.8);
}

/* background */
.bg_white {
    background-image: url(../img/bg_white.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

/* fade */
.load-fade.is-show {
    visibility: visible;
    opacity: 1;
}

.load-fade {
    visibility: hidden;
    opacity: 0;
    transition: all 3s;
}


/* header */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 1);
    z-index: 999;
}

header.scroll {}


header .inner {
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

header .h_inner {
    /* padding: 30px 20px 30px 20px; */
    padding: 14px 20px 14px 20px;
}

.logo {
    display: block;
    width: 26%;
    max-width: 350px;
    min-width: 280px;
}

.h_Btn {
    justify-content: flex-end;
    align-items: center;
}

.h_Btn li:not(:first-of-type) {
    margin-left: 5px;
}

.h_Btn li a {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    color: #231815;
    border-radius: 5px;
    padding: 3px 15px 2px 15px;
    position: relative;
    transition: all .5s;
}

.h_Btn li a:hover {
    opacity: 0.7;
}

.h_Btn li.h_btn01 a,
.h_Btn li.h_btn02 a {
    /* color: #231815; */
    color: #348455;
    background: #fff;
    border: 1px solid #231815;
    border: 1px solid #348455;
}


.h_Btn li.h_btn03 a,
.h_Btn li.h_btn04 a {
    color: #fff;
    /* background: #8f332b;
    border: 1px solid #8f332b; */
    background: #348455;
    border: 1px solid #348455;
}

/* 非表示 */
/* .h_btn04 {
    display: none;
} */

#gnav {
    padding: 0 1vw;
}

#gnav .nav {
    display: flex;
    justify-content: center;
    padding-bottom: 30px;
    margin: 0 auto;
}

#gnav .nav li {
    box-sizing: border-box;
    border-right: 1px solid #040000;
}

#gnav .nav li:first-of-type {
    border-left: 1px solid #040000;
}

#gnav .nav li:last-of-type {
    border-right: none;
}

/* ナビ押せなくする */
/* #gnav .nav li:nth-of-type(6) a {
    pointer-events: none;
    opacity: 0.4;
} */

header ul.nav li a {
    box-sizing: border-box;
    display: block;
    position: relative;
    /* font-size: 14px; */
    font-size: 13px;
    text-decoration: none;
    /* padding: 10px 50px; */
    padding: 10px 2.5vw;
    margin: 0 auto;
    color: #040000;
    text-align: center;
    transition: 0.3s;
}

.sp_menu {
    display: none;
}

/* current */
#indexP header ul.nav li:nth-child(1) a::before,
#locationP header ul.nav li:nth-child(2) a::before,
#accessP header ul.nav li:nth-child(3) a::before,
/* #designP header ul.nav li:nth-child(4) a::before, */
#landscapeP header ul.nav li:nth-child(4) a::before,
#public-spaceP header ul.nav li:nth-child(5) a::before,
#planP header ul.nav li:nth-child(6) a::before,
#modelroomP header ul.nav li:nth-child(7) a::before,
#equipmentP header ul.nav li:nth-child(8) a::before,
#brandP header ul.nav li:nth-child(9) a::before {
    display: block;
    content: '';
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    height: 3px;
    border-radius: 1px;
    /* background-color: #6d442a; */
    background-image: -moz-linear-gradient(0deg, rgb(230, 224, 180) 0%, rgb(202, 189, 129) 100%);
    background-image: -webkit-linear-gradient(0deg, rgb(230, 224, 180) 0%, rgb(202, 189, 129) 100%);
    background-image: -ms-linear-gradient(0deg, rgb(230, 224, 180) 0%, rgb(202, 189, 129) 100%);
    opacity: 1;
    transition: .3s;
    transform: none;
}

header ul.nav li a::before {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    /* background: #6d442a; */
    background-image: -moz-linear-gradient(0deg, rgb(230, 224, 180) 0%, rgb(202, 189, 129) 100%);
    background-image: -webkit-linear-gradient(0deg, rgb(230, 224, 180) 0%, rgb(202, 189, 129) 100%);
    background-image: -ms-linear-gradient(0deg, rgb(230, 224, 180) 0%, rgb(202, 189, 129) 100%);
    bottom: -10px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
}

header ul.nav li a:hover::before {
    transform: scale(1, 1);
}

/* new */
/* header ul.nav li:nth-child(4) a::after,
header ul.nav li:nth-child(5) a::after,
header ul.nav li:nth-child(6) a::after,
header ul.nav li:nth-child(7) a::after {
    display: block;
    content: "NEW";
    font-size: 9px;
    line-height: 1;
    color: #fff;
    padding: 1px 3px;
    background: #b10d0d;
    position: absolute;
    top: -10px;
    left: 1px;
} */

/* footer */
.copyright {
    font-size: 10px !important;
    color: #fff !important;
    line-height: 1.2 !important;
    background: #412514 !important;
    text-align: center !important;
    padding: 10px 0 !important;
}

.page_top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    z-index: 999;
}

/* notes */
.notes {
    box-sizing: border-box;
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
}

.notes li {
    font-size: 11px;
    line-height: 1.8;
    letter-spacing: 1px;
    list-style-type: '※';
    text-align: left;
}

/* container&inner */
.container {
    width: 100%;
    padding-top: 105px;
}

.inner_1000 {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
}

.inner_1100 {
    max-width: 1100px;
    width: 90%;
    margin: 0 auto;
}

.inner_1200 {
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}

/* f_contact_area */
.f_contact_area {
    text-align: center;
    padding: 100px 0;
}

.f_contact_ttl {
    width: 130px;
    border-top: 1px solid #040000;
    border-bottom: 1px solid #040000;
    /* padding: 5px 0 10px 0; */
    padding: 12px 0 10px 0;
    margin: 0 auto 30px;
}

.f_contact_txt {
    font-size: 14px;
    color: #040000;
    letter-spacing: 3px;
    line-height: 2;
    text-align: center;
    display: none;
}

.request_btn {
    font-size: 18px;
    letter-spacing: 3px;
    /* outline: solid 1px #fff;
    outline-offset: 2px; */
    /* padding: 8px 27px 8px 27px; */
    padding: 14px 27px 14px 27px;
    /* margin-top: 30px; */
    transition: all .5s;
}

.reserve_btn {
    font-size: 18px;
    letter-spacing: 3px;
    /* outline: solid 1px #fff;
    /* outline-offset: 2px; */
    /* padding: 8px 27px 8px 27px; */
    padding: 14px 27px 14px 27px;
    /* margin-top: 30px; */
    transition: all .5s;
}

.btnchangeline {
    display: inline-block;
    color: #040000;
    position: relative;
    text-decoration: none;
    outline: none;
    transition: all 0.3s ease-in-out;

    /* shine部分 */
    overflow: hidden;
}

/*線の設定*/
.btnchangeline::before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    border-top: 1px solid #348455;
    border-bottom: 1px solid #348455;
    opacity: 0;
    transform: scale(0, 1);
    transition: all 0.3s;
}

/*背景の設定*/
.btnchangeline::after {
    width: 100%;
    height: 100%;
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    background-color: #348455;
    transition: all 0.3s;
}

/*hoverした際の背景と線の形状*/
.btnchangeline:hover::before {
    opacity: 1;
    transform: scale(1, 1);
}

.btnchangeline:hover::after {
    opacity: 0;
    transform: scale(0, 1);
}

/*テキストの設定*/
.btnchangeline span {
    position: relative;
    z-index: 2;
    color: #fff;
    transition: all 0.3s;
}

/*hoverした際のテキストの形状*/
.btnchangeline:hover span {
    letter-spacing: 2px;
    color: #040000;
}

.shine {
    position: relative;
    overflow: hidden;
}

.shine::before {
    display: block;
    position: absolute;
    top: 0;
    left: -75%;
    content: '';
    width: 50%;
    height: 100%;
    background: -webkit-linear-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.6)));
    background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 100%);
    -webkit-transform: skewX(-45deg);
    -ms-transform: skewX(-45deg);
    transform: skewX(-45deg);
    -webkit-animation: shine-foot 3s infinite;
    animation: shine-foot 3s infinite;
    z-index: 9;
}

@-webkit-keyframes shine-foot {
    0% {
        left: -75%;
    }

    40% {
        left: 150%;
    }

    100% {
        left: 150%;
    }
}

@keyframes shine-foot {
    0% {
        left: -75%;
    }

    40% {
        left: 150%;
    }

    100% {
        left: 150%;
    }
}

.under_cv {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 90%;
    margin: 0 auto;
}

.under_cv div {
    display: inline-block;
    min-width: 264px;
}

.under_cv div:nth-of-type(1) {
    margin-right: 20px;
}

.under_cv div a {
    width: 100%;
}

/* footer */
footer {
    background: #fff;
    padding: 60px 0;
}

/* yokoku */
.yokoku {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 94%;
    /* margin: 0 auto 30px; */
    margin: 0 auto 50px;
}

.yokoku dt {
    font-size: 15px;
    font-weight: 300;
    line-height: 1.4;
    text-align: center;
    border: 1px solid #040000;
    padding: 2px 5px;
    margin-right: 10px;
}

.yokoku dd {
    font-size: 12px;
}

/* contact */
.contact {
    /* display: flex;
    align-items: center;
    justify-content: center; */
    flex-wrap: wrap;
    width: 94%;
    /* border-bottom: 1px solid #040000; */
    padding-bottom: 30px;
    margin: 0 auto;
}

.contact p {
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
}

.free_tel {
    display: block;
    width: 24%;
    /* min-width: 380px; */
    min-width: 440px;
    margin: 15px auto 15px auto;
    /* margin: 15px auto 54px auto; */
    position: relative;
}

.free_tel::after {
    content: "12/17（水）〜1/4（日）の期間は年末年始休業とさせていただきます。";
    width: 100%;
    display: block;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
    color: #040000;
    border: 1px solid #040000;
    padding: 5px 5px;
    position: absolute;
    bottom: -95px;
    left: 50%;
    transform: translateX(-50%);
}

.free_tel span {
    font-size: 12px;
    line-height: 1.2;
}

.company {
    width: 98%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 30px;
    margin: 0 auto;
}

.company li {
    display: flex;
    align-items: center;
}

.company li p {
    font-size: 11px;
    margin-right: 10px;
}

.company li a {
    display: block;
    transition: all .5s;
}

.company li a:hover {
    opacity: 0.7;
}

.company li:not(:last-of-type) {
    margin-right: 30px;
}

.company li.com01 a {
    /* width: 50%; */
    width: 188px;
}

.company li.com02 a {
    /* width: 50%; */
    width: 170px;
    margin-bottom: -10px;
}

.company li.com03 a {
    /* width: 50%; */
    width: 260px;
}

.company li.com04 a {
    /* width: 50%; */
    width: 207px;
}

.site_cookie {
    justify-content: center !important;
    padding-bottom: 20px;
}

.site_cookie li:nth-of-type(1) {
    margin-right: 30px;
}

.site_cookie li a {
    font-size: 12px;
    color: #bababa;
    transition: all .5s;
}

.site_cookie li a:hover {
    opacity: 0.7;
}

@media only screen and (max-width: 1400px) {
    .company li {
        flex-direction: column;
        align-items: flex-start;
    }

    .company li:not(:last-of-type) {
        margin-right: 2vw;
    }

    .company li p {
        margin-bottom: 10px;
    }


    .company li.com04 p {
        margin-bottom: 8px;
    }
}

/*===================
tab_yoko
===================*/
@media only screen and (max-width: 1180px) {
    #gnav {
        width: 96%;
        padding: 0 20px;
        margin: 0 auto;
    }

    header ul.nav li a {
        padding: 10px 2.5vw;
    }

    /* company */
    .company {
        align-items: flex-start;
    }

    .company li.com01 a {
        width: 150px;
    }

    .company li.com02 a {
        width: 120px;
    }

    .company li.com03 a {
        width: 200px;
    }

    .company li.com04 a {
        width: 161px;
    }


}

@media only screen and (max-width: 1024px) {
    .free_tel {
        min-width: 400px;

    }
}

@media only screen and (max-width: 900px) {
    header ul.nav li a {
        font-size: 13px;
        padding: 10px 20px;
    }

    .h_Btn li a {
        font-size: 12px;
    }
}


/*===================
sp
===================*/
@media only screen and (max-width: 820px) {

    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

    a[href^="tel"] {
        pointer-events: unset;
    }


    /* header */
    header {
        width: 100%;
        height: 80px;
        padding: 10px 0 0 0;
        position: fixed;
        top: 0;
        left: 0;
    }

    header .inner {
        width: 100%;
        padding: 30px 20px 30px 20px;
        position: relative;
        z-index: 999;
    }

    .logo {
        position: absolute;
        top: 50%;
        left: 10px;
        width: 200px;
        min-width: initial;
        transform: translateY(-50%);
    }

    .h_Btn {
        display: none;
    }

    #gnav {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        padding: 0;
        margin-top: 80px;
        z-index: 99;
    }

    #gnav .nav li:first-of-type {
        border-left: none;
    }

    #gnav {}

    #gnav .nav {
        display: flex;
        height: auto;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: flex-start;
        background-color: rgba(255, 255, 255, 1);
        padding: 20px 0 0 0;
        margin: 0 0 0 0;
    }

    #gnav .nav li {
        width: 50%;
        border-right: 1px dotted #040000;
        border-bottom: 1px dotted #040000;
        text-align: center;
    }

    #gnav .nav li:nth-child(1),
    #gnav .nav li:nth-child(2) {
        border-top: 1px dotted #040000;
    }

    #gnav .nav li:nth-child(4),
    #gnav .nav li:nth-child(6),
    #gnav .nav li:nth-child(8) {
        border-right: 1px dotted #040000;
    }

    /* #gnav .nav li:nth-child(2),
    #gnav .nav li:nth-child(5),
    #gnav .nav li:nth-child(7),
    #gnav .nav li:nth-child(9) {
        border-right: none;
    } */

    #gnav .nav li:nth-child(even) {
        border-right: none;
    }

    /* #gnav .nav li:nth-of-type(9) {
        border-bottom: none;
    }

    #gnav .nav li:nth-of-type(10) {
        border-bottom: none;
    } */

    /* #gnav .nav li:last-of-type {
        width: 100%;
        border-right: none;
        border-bottom: none;
    } */

    #gnav .nav li a {
        display: block;
        width: 100%;
        font-size: 16px;
        padding: 20px 0;
    }

    #gnav .nav li:nth-of-type(11) {
        width: 100%;
    }


    /* #gnav .nav li:nth-of-type(11) a {
        font-size: 13px;
        padding: 12.5px 0;
        white-space: nowrap;
    } */

    #gnav .nav li:nth-of-type(11) a br {
        display: none;
    }


    .sp_menu {
        display: block;
        width: 50px;
        height: 50px;
        position: absolute;
        top: 70%;
        right: 10px;
        transform: translateY(-50%);
    }

    .sp_menu span {
        display: block;
        width: 90%;
        height: 1px;
        background-color: #040000;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        transition: .3s;
    }

    .sp_menu span:nth-child(1) {
        top: 0;
    }

    .sp_menu span:nth-child(2) {
        top: 12px;
    }

    .sp_menu span:nth-child(3) {
        top: 24px;
    }

    .sp_menu.active span:nth-child(1) {
        top: -2px;
        left: 8px;
        -webkit-transform: translateY(10px) rotate(-315deg);
        transform: translateY(10px) rotate(-315deg);
    }

    .sp_menu.active span:nth-child(2) {
        opacity: 0;
    }

    .sp_menu.active span:nth-child(3) {
        top: 18px;
        left: 8px;
        -webkit-transform: translateY(-10px) rotate(315deg);
        transform: translateY(-10px) rotate(315deg);
    }

    /* current */
    #indexP header ul.nav li:nth-child(1) a::before,
    #locationP header ul.nav li:nth-child(2) a::before,
    #accessP header ul.nav li:nth-child(3) a::before,
    /* #designP header ul.nav li:nth-child(4) a::before, */
    #landscapeP header ul.nav li:nth-child(4) a::before,
    #public-spaceP header ul.nav li:nth-child(5) a::before,
    #planP header ul.nav li:nth-child(6) a::before,
    #modelroomP header ul.nav li:nth-child(7) a::before,
    #equipmentP header ul.nav li:nth-child(8) a::before,
    #brandP header ul.nav li:nth-child(9) a::before {
        content: none;
    }

    /* new */
    header ul.nav li:nth-child(4) a::after,
    header ul.nav li:nth-child(5) a::after,
    header ul.nav li:nth-child(6) a::after {
        top: 0;
        left: 0;
    }

    /* hover_line */
    header ul.nav li a::before {
        content: none;

    }

    /* foot_spmenu */
    .foot_spmenu {
        width: 100%;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 888;
    }

    .foot_spmenu .foot_nav {
        display: flex !important;
    }

    .foot_spmenu .foot_nav li {
        /* width: 33.33333333%; */
        width: 25%;
    }

    .foot_spmenu .foot_nav li a {
        display: block;
        font-size: 14px;
        color: #fff;
        text-align: center;
        padding: 15px 0;
    }

    .foot_spmenu .foot_nav li a::after {
        content: "";
        display: block;
        position: absolute;
    }

    /* foot_tel */
    .foot_spmenu .foot_nav li.foot_tel a {
        background: #AD8438;
        position: relative;
    }

    .foot_spmenu .foot_nav li.foot_tel a::after {
        background-image: url(../img/icn_tel.svg);
        width: 15px;
        height: 15px;
        top: 50%;
        transform: translateY(-50%);
        right: 30px;
    }

    /* foot_map */
    .foot_spmenu .foot_nav li.foot_map a {
        font-size: 11px;
        line-height: 1.2;
        background: #2F4858;
        padding: 12.5px 0;
        position: relative;
    }

    .foot_spmenu .foot_nav li.foot_map a::after {
        background-image: url(../img/icn_map.svg);
        width: 15px;
        height: 15px;
        top: 50%;
        transform: translateY(-50%);
        /* right: 16px; */
        right: 5px;
    }

    .foot_spmenu .foot_nav li.foot_map a span {
        display: inline-block;
        margin-left: -13px;
    }

    /* foot_requset */
    .foot_spmenu .foot_nav li.foot_requset a {
        background: #348455;
        position: relative;
    }

    .foot_spmenu .foot_nav li.foot_requset a::after {
        background-image: url(../img/icn_request.svg);
        width: 15px;
        height: 15px;
        top: 50%;
        transform: translateY(-50%);
        right: 21px;
    }

    .foot_spmenu .foot_nav li.foot_requset a span {
        display: inline-block;
        margin-left: -13px;
    }

    /* foot_reserve */
    /* .foot_spmenu .foot_nav li.foot_reserve {
        display: none;
    } */

    .foot_spmenu .foot_nav li.foot_reserve a {
        background: #0e9c3b;
    }

    .foot_spmenu .foot_nav li.foot_map {
        order: 4;
    }

    .foot_spmenu .foot_nav li.foot_requset {
        order: 2;
    }

    .foot_spmenu .foot_nav li.foot_reserve {
        order: 3;
    }

    .foot_spmenu .foot_nav li.foot_tel {
        order: 1;

    }

    .foot_spmenu .foot_nav li.foot_requset a {
        text-align: center;
    }

    .foot_spmenu .foot_nav li.foot_requset a span {
        margin-left: 0;
    }

    .foot_spmenu .foot_nav li.foot_map a span {
        letter-spacing: -0.1px;
        margin-left: 0;
    }

    .foot_spmenu .foot_nav li.foot_tel a::after,
    .foot_spmenu .foot_nav li.foot_map a::after,
    .foot_spmenu .foot_nav li.foot_requset a::after,
    .foot_spmenu .foot_nav li.foot_reserve a::after {
        content: none;
    }

    /* new */
    header ul.nav li:nth-child(7) a::after {
        top: 0;
    }

    .container {
        /* padding-top: 80px; */
        padding-top: 55px;
    }

    /* f_contact_area */
    .f_contact_area {
        padding: 60px 0;
    }

    /* footer */
    footer {
        padding: 30px 0;
    }

    /* yokoku */
    .yokoku {
        flex-wrap: wrap;
    }

    .yokoku dt {
        width: 100%;
        margin: 0 0 10px 0;
    }

    /* contact */
    .contact {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        border-bottom: none;
    }

    .free_tel {
        width: 66%;
        min-width: initial;
        margin: 10px 0;
    }

    .free_tel::after {
        content: "12/17（水）〜1/4（日）の期間は\A年末年始休業とさせていただきます。";
        white-space: pre-wrap;
        bottom: -105px;
    }

    .contact p {
        width: 100%;
        text-align: center;
    }

    /* company */
    .company {
        width: 90%;
        padding-top: 30px;
        margin: 40px auto 0;
    }

    .company li {
        flex-direction: column;
        align-items: center;
        /* align-items: flex-start; */
    }

    .company li p {
        font-size: 12px;
        margin-bottom: 5px;
    }

    .company li.com01 a {
        width: 140px;
    }

    .company li.com02 a {
        width: 140px;
    }


    /* copyright */
    .copyright {
        padding: 10px 0 90px 0 !important;
        margin-bottom: 0;
    }

    .page_top {
        right: 10px;
    }
}

@media only screen and (max-width: 767px) {
    footer {
        overflow-x: hidden;
    }

    .free_tel {
        width: 80%;
        /* margin: 10px auto; */
    }

    .company {
        flex-wrap: wrap;
        /* margin: 0 0 0 21vw; */
        margin: 0 auto;
    }

    .company li {
        width: 100%;
        /* align-self: stretch; */
    }

    .company li:not(:last-of-type) {
        margin-right: 0;
        margin-bottom: 18px;
    }

    .company li.com01 a {
        width: 185px;
    }

    .company li.com02 a {
        width: 170px;
        margin-bottom: 0;
    }

    .company li.com03 a {
        width: 260px;
    }

    .company li.com04 a {
        width: 200px;
    }

    .company li.com03 p {
        margin-bottom: 2px;
    }

    .company li.com04 p {
        margin-bottom: 0;
    }
}

/* header_nav（グロナビを統一の幅にする） */
header ul.nav li a {
    max-width: 140px;
    min-width: 140px;
    padding: 10px 0;
}

@media only screen and (max-width: 1180px) {
    header ul.nav li a {
        max-width: 110px;
        min-width: 110px;
        font-size: 11px;
        letter-spacing: 0.5px;
    }
}

@media only screen and (max-width: 920px) {
    header ul.nav li a {
        max-width: initial;
        min-width: initial;
        white-space: nowrap;
        padding: 10px 2vw;
    }
}

/* 下層ページ_contact部分の余白css */
.under_content .f_contact_area {
    padding-bottom: 40px;
}


/* sp専用のナビゲーション表示_20231128 */
.foot_nav {
    display: none !important;
}

/* 20240208_トップ大幅改修 */
footer {
    background: #fafafa;
    padding: 60px 0 0 0;
}

.company {
    width: 100%;
    background: #fff;
    border-top: 1px solid #040000;
    padding: 30px 3% 60px 3%;
    position: relative;
    margin-top: 70px;





    /* border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 0; */
}

/* .company::before {
    box-sizing: border-box;
    display: block;
    width: 100vw;
    height: calc(100% + 60px);
    content: "";
    background: #fff;
    margin: 0 calc(50% - 50vw);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
} */

.company li {
    position: relative;
}

@media only screen and (max-width: 820px) {
    .company {
        border-top: none;
        padding: 30px 3% 30px 3%;
    }

    footer {
        padding: 30px 0 0 0;
    }
}

@media only screen and (max-width: 586px) {
    .under_cv div:nth-of-type(1) {
        margin-right: 0;
    }

    .under_cv .reserve_btn {
        margin-top: 20px;
    }
}