@charset "utf-8";

#esbody {
    min-width: 1000px;
}

/*-------------------------------------------------------------------------
HEADER
-------------------------------------------------------------------------*/

.l-header * {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    color    : #595656;
    line-height: 1;
}

/* LAYOUT
--------------------------- */
.l-header {
    position: fixed;
    top     : 0;
    left    : 0;
    z-index : 100;
    width: 100%;
    transition: .3s ease;
    background: #fff;
}
.l-header.js-fixed {
    padding: 0 0 10px;
}

    .header__logo {
        width: 170px;
        margin: 17px 0 0;
        transition: .3s;
    }
        .header__logo img {
            width: 100%;
        }
    .js-fixed .header__logo {
        width: 150px;
        margin: 20px 0 0;
    }
    .header__inner {
        width: 1080px;
        margin: auto;
        display        : flex;
        flex-wrap      : wrap;
        justify-content: space-between;
    }
    .header__inner-right {
        padding: 0 0 22px;
    }
        .js-fixed .header__info {
            margin: 12px 0 15px;
        }
        .header__info {
            display        : flex;
            align-items    : center;
            justify-content: flex-end;
            margin: 20px 0;
            transition: .3s ease;
        }
        .header__info--wrap {
            text-align: right;
        }

/* OBJECT
--------------------------- */
.header__text-tel {
    font-size  : 22px;
    font-weight: 700;
    padding: 0 0 0 18px;
    background: url("../images/top/icn_tel.png") no-repeat 0 2px;
    display: inline-block;
}
.header__text-time {
    font-size: 12px;
    margin: 0px 0 0 7px;
    display: inline-block;
}
.header-translate {
    display: flex;
    margin: 0 0 0 10px;
}
    .header-translate__items {
        background-color: #fff;
        margin: 0 0 0 1px;
        padding: 0 10px;
        height: 22px;
        line-height: 22px;
        font-size: 14px;
        border: 1px solid #333;
        cursor: pointer;
    }
        .header-translate__items:hover {
            opacity: 0.6;
        }

/* NAVGATION
--------------------------- */
.header-nav {
    display: flex;
}
    [class*="nav__items--"] {
        text-align: center;
        position: relative;
    }
    [class*="nav__items--"] a {
        display: block;
    }
    .header-nav__items--1 a {
        width: 42px;
        padding-right: 10px;
    }
    .header-nav__items--2 a {
        width: 65px;
        padding: 0 10px 0 15px;
    }
    .header-nav__items--3 a {
        width: 67px;
        padding: 0 10px 0 15px;
    }
    .header-nav__items--4 a {
        width: 105px;
        padding: 0 10px 0 15px;
    }
    .header-nav__items--5 a {
        width: 100px;
        padding: 0 10px 0 15px;
    }
    .header-nav__items--6 a {
        width: 94px;
        padding: 0 10px 0 15px;
    }
    .header-nav__items--7 a {
        width: 161px;
        padding-left: 15px;
    }
    [class*="nav__items--"]:not(:first-child)::before {
        content: "/";
        position: absolute;
        left: 0;
    }

    /* [class*="header-nav__items"]:not(:last-child):after {
        content: "/";
        margin: 0 14px;
    } */

    .header-nav__link:hover {
        color: #595656;
        text-decoration: underline;
    }
    .header-nav__link_pull a:hover {
        color: #595656!important;
        opacity: 1;
    }


    .head_contact {
        width: 100px;
        transition: .3s;
    }
        .head_contact img {
            width: 100%;
        }
    .js-fixed .head_contact {
        width: 85px;
    }
    .head_contact a:hover {
        opacity: .8;
    }


/*トップページ以外*/
.underlayer {
    background: #e1ded3;
    position: static;
}

.underlayer .header__inner {
    height: 110px;
}

/*プルダウン*/
.oc-nav__list .search_overlay ul {
    border-top:none;
    position:absolute;
    top: 15px;
    left: -1px;
    z-index: 12;
    background: rgb(255 255 255 / 90%);
    padding:5px;
    border-radius: 0px 0px 5px 5px;
}
.oc-nav__list .search_overlay li {
    font-size:13px;
    font-weight:bold;
    padding:5px;
    width: 120px;
    text-align: left;
}
.oc-nav__list .search_overlay li:not(:first-child) {
    border-top:1px solid #ccc;
}
.oc-nav__list .search_overlay li a {
    display:block;
    width: auto;
    padding: 3px 0;
    line-height: 1.3;
}
