@charset "utf-8";
@import url("base.css");

/***************************************************************************
 *
 * COMMON STYLE
 *
 ***************************************************************************/

.hira {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.gothic {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

.mincho {
    font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

body {
    background-color: #ffffff;
    font-size: 14px;
    line-height: 1.5;
    color: #454545;
    font-size: 15px;
    font-weight: 500;
    font-family: "Noto Sans JP", sans-serif;
}

a {
    color: #454545;
}

body.fixed {
    overflow: hidden;
}

.inner {
    width: 966px;
    margin: 0 auto;
}


/*VALIDATE CONTACT*/

.error {
    display: block;
    font-size: 12px;
    color: red;
}


/* HEADER */

#header {
    width: 100%;
    padding: 20px 0 13px;
    position: fixed;
    background: #fff;
    z-index: 9;
}


#header .inner {
    display: flex;
    align-items: center;
}

#header .headerBar {
    margin-right: 32px;
}

#header .headerBar .logo {
    width: 204px;
}

#header .headerBar .logo a {
    display: inline-block;
}

#header .headerContent {
    display: flex;
    align-items: center;
}

#header .headerContent .menu {
    display: flex;
    margin-top: -5px;
}

#header .headerContent .menu li {
    position: relative;
    margin-right: 17.9px;
}

#header .headerContent .menu li a {
    position: relative;
    display: inline-block;
    padding: 0 26px;
    transition: 250ms all linear;
}

#header .headerContent .menu li a::after {
    position: absolute;
    content: "";
    background: url(../images/index/arrow-menu.svg) no-repeat;
    width: 13px;
    height: 8px;
    right: -1px;
    transform: translateY(-50%);
    top: 53%;
}

#header .headerContent .menu li:last-child a::after {
    content: unset;
}

#header .headerContent .btnHeader a {
    display: inline-block;
    width: 191px;
    text-align: center;
    border: 1px solid #707070;
    padding: 7px 4px;
    border-radius: 20px;
}

#header .headerContent .btnHeader {
    position: relative;
    top: -3px;
}

#header .headerContent .sub-menu {
    position: absolute;
    display: none;
    bottom: -112px;
    width: 100%;
    text-align: center;
    left: 8px;
    background: #fff;
    padding-top: 20px;
    z-index: 9;
}

#header .headerContent .menu li:hover .sub-menu {
    display: block;
}

#header .headerContent .sub-menu li {
    border-bottom: 2px solid #dee3e6;
    margin-right: 0;
}

#header .headerContent .sub-menu li:first-child {
    border-top: 2px solid #dee3e6;
}

#header .headerContent .sub-menu li a {
    padding: 12px 0 8px;
    display: block;
    width: 100%;
}

#header .headerContent .sub-menu li a::after {
    content: "";
    display: none;
}

/* CONTENT */

#content {
    width: 100%;
}


/* FOOTER */

#footer {
    width: 100%;
}

.sp {
    display: none;
}


/* FIX TABLET */

@media (max-width: 1230px) and (min-width: 769px) {
    body {
        width: 1349px;
    }
}


/* PC ONLY */

@media (min-width: 769px) {
    #header.scrollX {
        width: 1349px;
    }
}


/* STYLE MOBILE */

@media (max-width: 768px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .inner {
        width: 100%;
        padding: 0 8%;
    }

    #header {
        padding: 18px 0 14px;
    }

    #header .headerContent {
        position: absolute;
        display: block;
        width: 100%;
        left: -100%;
        background: #fff;
        top: 0;
        padding: 88px 27px 93px 31px;
        transition: 250ms all linear;
        height: 100vh;
        overflow-y: scroll;
    }

    #header .headerContent.show {
        left: 0;
    }

    #header .headerBar .logo {
        width: 205px;
    }

    #header .headerBar {
        margin-right: 0;
    }

    #header .headerContent .titleMenu {
        font-size: 22px;
        font-weight: 500;
        text-align: center;
        letter-spacing: 2.1px;
        line-height: 1.55;
        margin-bottom: 19px;
    }

    #header .headerContent .menu {
        display: none;
        margin-right: 0;
    }

    #header .listChoose li {
        border: 1px solid #454545;
        border-radius: 10px;
    }

    #header .listChoose li .imageChoose img {
        border-radius: 9px 0 0 9px;
    }

    #header .headerContent .listChoose li {
        margin-bottom: 11px;
    }

    #header .headerContent .listChoose li a {
        display: flex;
    }

    #header .headerContent .listChoose li:last-child {
        margin-bottom: 0;
    }

    #header .headerContent .listChoose li .smText {
        font-size: 13px;
        color: #f08441;
        margin-bottom: 7px;
    }

    #header .headerContent .listChoose .contentChoose {
        text-align: center;
        width: 190px;
        padding: 29px 0 18px;
    }

    #header .headerContent .listChoose .contentChoose .titleChoose {
        font-weight: 500;
        font-size: 18px;
        line-height: 1.45;
        letter-spacing: 1.6px;
        margin-bottom: 14px;
    }

    #header .headerContent .listChoose .desChoose {
        font-size: 11px;
    }



    /* MENU */
    .hamburger {
        position: absolute;
        width: 32px;
        height: 50px;
        padding: 0 5px;
        z-index: 9991;
        display: flex;
        justify-content: center;
        flex-direction: column;
        text-align: center;
        right: 25px;
        top: 56%;
        transform: translateY(-50%);
    }

    .hamburger span {
        display: block;
        height: 2px;
        width: 100%;
        background: #000;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transition: 0.25s ease-in-out;
        -moz-transition: 0.25s ease-in-out;
        transition: 0.25s ease-in-out;
    }

    .hamburger span:nth-child(1) {
        margin-bottom: 5px;
    }

    .hamburger span:nth-child(2) {
        opacity: 1;
    }

    .hamburger span:nth-child(3) {
        margin-top: 5px;
    }

    .hamburger.open span:nth-child(1) {
        margin-bottom: -2px;
        -webkit-transform: rotate(45deg);
        -moz-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .hamburger.open span:nth-child(2) {
        opacity: 0;
    }

    .hamburger.open span:nth-child(3) {
        margin-top: -2px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }


    #header .headerContent .menuSp .menuBox {
        margin-bottom: 31px;
    }

    #header .headerContent .menuSp .menuBox.last {
        margin-bottom: 38px;
    }

    #header .menuSp .btnMenu a {
        display: inline-block;
        width: 316px;
        color: #fff;
        background: #454545;
        text-align: center;
        padding: 14px 0;
        border-radius: 25px;
    }

    #header .headerContent .menuSp .menuBox .menuTitle {
        position: relative;
        font-size: 21px;
        padding-left: 43px;
        letter-spacing: 3.4px;
        margin-bottom: 12px;
    }

    #header .headerContent .menuSp .menuBox .menuTitle.notShow a {
        display: block;
    }

    #header .headerContent .menuSp .menuBox .menuTitle:before {
        content: "";
        position: absolute;
        top: 0;
        left: -1px;
        background: url(../images/index/icon-menu-01.svg) no-repeat;
        width: 36px;
        height: 30px;
    }

    #header .headerContent .menuSp .menuBox .menuTitle:after {
        content: "";
        position: absolute;
        top: 7px;
        right: 11px;
        border: 1px solid #737373;
        border-width: 1px 1px 0px 0;
        -webkit-transform: rotate(136deg);
        transform: rotate(136deg);
        width: 9px;
        height: 9px;
    }

    #header .headerContent .menuSp .menuBox .menuTitle.notShow:before {
        background: url(../images/index/icon-menu-02.svg) no-repeat;
    }

    #header .headerContent .menuSp .menuBox .menuTitle.notShow:after {
        content: "";
        display: none;
    }

    #header .headerContent .menuSp .menuBox .menuDetail {
        display: none;
        padding-top: 4px;
        padding-left: 43px;
    }


    #header .headerContent .menuSp .menuBox .menuDetail li {
        margin-bottom: 12px;
    }

    #header .headerContent .menuSp .menuBox .menuDetail li a {
        font-size: 18px;
        letter-spacing: 1.8px;
    }

    .headerContent .listChoose {
        margin-bottom: 42px;
    }
}


/*IE FIX*/

@media all and (-ms-high-contrast: none) {
    #header .headerBar .logo a {
        width: 100%;
    }

    #header .headerBar .logo {
        width: 200px;
    }
}

/*Safari*/

@media not all and (min-resolution: 0.001dpcm) {
    @media (min-width: 769px) {
        #header .headerContent .menu>li {
            margin-right: 16px;
        }

        #header .headerContent .menu>li>a {
            padding: 0 24px;
        }

        #header .headerContent .sub-menu li a {
            display: block;
            font-weight: 400;
        }
    }
}

/*IP5*/

@media (max-width: 320px) {}