@charset "utf-8";


html, body {
    width: 100%;
}

body {

    font-family: 'Noto Sans JP', "メイリオ", "Meiryo", sans-serif;
    font-size: 16px;
    color: #000;
    line-height: 1.8;
    letter-spacing: .2px;
    text-align: left;
    font-weight: 500;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

a {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

a:hover {
    color: #000;
    text-decoration: none;
}

a:focus {
    outline: none;
}

.pc {
    display: none !important;
}

.sp {
    display: block !important;
}

input:focus,
select:focus,
textarea:focus {
    outline: none;
}

img {
    width: 100%;
    height: auto;
    -webkit-backface-visibility: hidden;
}

p {
    margin: 0 0 0 0;
    font-size: 16px;
    line-height: 1.7;
}

@media screen and (max-width: 768px) {
    p {
        font-size: 15px;
    }
}


.montserrat {
    font-family: 'Cormorant Garamond', serif !important;
}

.garamond {
    font-family: 'Cormorant Garamond', serif !important;
}

.serif {
    font-family: 'Noto Serif JP', serif !important;
}


:root {
    --color-main: #002755;
    --color-gray1: #222222;
    --color-gray2: #F5F5F5;
    --color-gray3: #2D2A28;
    --color-yellow: #FFFCE8;
    --color-red1: #AC0808;
    --color-black1: #2D2A28;
    --color-lightyellow: #d6e1eb;
    --color-lightBlue: #002755;
}


.sp_br {
    display: block;
}

.pc_br {
    display: none;
}

@media only screen and (min-width: 452px) {

    .pc_br {
        display: block;
    }
}


.sp_hidden {
    display: none;
}

.pc_hidden {
    display: block;
}

@media only screen and (min-width: 768px) {
    .sp_hidden {
        display: block;
    }

    .pc_hidden {
        display: none;
    }
}


#contents-wrap {
    opacity: 0;
    transition: all 0.8s;
}

#contents-wrap.fade-in {
    opacity: 1;
}

.loading-img {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 60px;
    margin-top: -35px;
    margin-left: -30px;
    text-align: center;
    color: #fff;
    z-index: 2;
    text-align: center;
}

.loading-img img {
    width: 100%;
    height: auto;
}


.slide-menu-btn {
    position: absolute;
    top: 30px;
    right: 32px;
    z-index: 10000;
}

.slide-menu-nav {
    box-sizing: border-box;
    display: none;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    padding: 80px 0 45px;
    background-color: rgba(255, 255, 255, 0.9);
    z-index: 9000;
    text-align: center;
}

.slide-menu-nav .gnav li {
    position: relative;
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.slide-menu-nav .gnav li:last-child {
    margin-bottom: 0;
}

.slide-menu-nav .gnav li::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 50%;
    width: 3px;
    height: 1px;
    margin-left: -2px;
    background-color: #000;
}

.slide-menu-nav .gnav li:last-child::after {
    display: none;
}

.slide-menu-nav .gnav a {
    display: inline-block;
    font-size: 15px;
    color: #000;
    line-height: 1.4;
    letter-spacing: 0.16em;
}

#technology .slide-menu-nav .gnav01 a,
#quality .slide-menu-nav .gnav02 a,
#facility .slide-menu-nav .gnav03 a,
#company .slide-menu-nav .gnav04 a,
#credo .slide-menu-nav .gnav05 a,
#recruit .slide-menu-nav .gnav06 a {
    color: #999999;
}


.menu-trigger,
.menu-trigger span {
    display: inline-block;
    transition: all .3s;
    box-sizing: border-box;
}

.menu-trigger {
    position: relative;
    width: 25px;
    height: 16px;
}

.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
}

.menu-trigger span:nth-of-type(1) {
    top: 5px;
}

.menu-trigger span:nth-of-type(2) {
    top: 12px;
}

.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(4px) rotate(-45deg);
    transform: translateY(4px) rotate(-45deg);
    background-color: #000;
}

.menu-trigger.active span:nth-of-type(2) {
    -webkit-transform: translateY(-2px) rotate(45deg);
    transform: translateY(-3px) rotate(45deg);
    background-color: #000;
}


@media only screen and (min-width: 640px) {


}


@media only screen and (min-width: 800px) {


}


@media only screen and (min-width: 1100px) {

    .bgImageBtnWrap .link {
        margin: 0 20px 0 20px;
        max-width: 600px;
        width: 48%;
    }

    .commonLink01 {
        font-size: 20px;
    }
}