@charset "UTF-8";

/*--------------------------------------------------------------*/
/* CSS and Graphics are released under Creative Commons Licence */
/* https://www.webplus.jp/                                      */
/* Copyright (C) Kiyonobu Horita @ WEBPLUS Inc.                 */
/*--------------------------------------------------------------*/


/* ========================================================

　nav

=========================================================== */

/*　brand
----------------------------------------------------------- */
#mainNav .navbar-brand {
    width: 24.0rem;
    height: auto;
    margin-left: 0.5rem;
}

#mainNav .navbar-brand img {
    width: 100%;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

#mainNav .navbar-brand img:last-of-type {
    display: none;
}

/*　hamburger button
----------------------------------------------------------- */
#mainNav .navbar-toggler {
    margin-right: 1.0rem;
}

@media only screen and (min-width: 576px) and (max-width: 767px) {

    /*　brand
    ----------------------------------------------------------- */

    /* logomark */
    #mainNav .navbar-brand {
        width: 26.0rem;
        margin-left: 1.5rem;
    }

    /*　hamburger button
    ----------------------------------------------------------- */
    #mainNav .navbar-toggler {
        margin-right: 2.0rem;
    }

}

@media only screen and (min-width: 576px) and (max-width: 991px) {

    /*　brand
    ----------------------------------------------------------- */

    /* logomark */
    #mainNav .navbar-brand img:first-of-type {
        display: none;
    }

    #mainNav .navbar-brand img:last-of-type {
        display: block;
    }

}

@media only screen and (min-width: 768px) and (max-width: 991px) {

    /*　brand
    ----------------------------------------------------------- */

    /* logomark */
    #mainNav .navbar-brand {
        width: 30.0rem;
        margin-left: 2.5rem;
    }

    /*　hamburger button
    ----------------------------------------------------------- */
    #mainNav .navbar-toggler {
        margin-right: 3.0rem;
    }

}

@media only screen and (max-width: 991px) {

    #mainNav {
        min-height: 7.0rem;
        padding-left: 0;
        padding-right: 0;
        background-color: rgba(0, 0, 0, 0.1);
        -webkit-transition: background-color 0.3s ease-in-out;
        -o-transition: background-color 0.3s ease-in-out;
        transition: background-color 0.3s ease-in-out;
    }

    /* スクロール時 */
    #mainNav.navbar-shrink {
        background-color: rgba(0, 0, 0, 1.0);
    }

    /*　hamburger button
    ----------------------------------------------------------- */
    #mainNav .navbar-toggler {
        width: 4.0rem;
        height: 4.0rem;
        background-color: rgba(204, 204, 204, 1.0);
        outline: none;
    }

    /* メニューオープン時の背景色 */
    #mainNav .navbar-toggler[aria-expanded="true"] {
        background-color: rgba(81, 81, 81, 1.0);
    }

    /* メニュークローズ時のアイコン「三」 */
    #mainNav .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(81, 81, 81, 1.0)' stroke-width='3' stroke-linecap='square' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");

    }

    /* メニューオープン時のアイコン「✕」 */
    #mainNav .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
        background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(204, 204, 204, 1.0)' stroke-width='3' stroke-linecap='square' d='M6 6L 24 24M24 6L6 24'/%3E%3C/svg%3E");
    }

    /*　navbar-collapse
    ----------------------------------------------------------- */
    #mainNav .navbar-collapse {
        max-height: 100vh;
        background-color: rgba(0, 0, 0, 0.9);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    /*　navbar-nav
    ----------------------------------------------------------- */
    #mainNav .navbar-nav {
        min-height: 100vh;
        margin-top: 2.0rem;
        margin-bottom: 2.0rem;
    }

    /*　nav-item
    ----------------------------------------------------------- */
    #mainNav .navbar-nav .nav-item {
        background: none;
    }

    #mainNav .navbar-nav .nav-item:last-child {
        margin-bottom: 20.0rem;
    }

    /*　nav-link
    ----------------------------------------------------------- */
    #mainNav .navbar-nav .nav-link {
        padding-left: 4.0rem;
        padding-right: 4.0rem;
        color: rgba(255, 255, 255, 1.0);
        font-size: 1.8rem;
        font-weight: 300;
        text-decoration: none;
        line-height: 4.0rem;
    }

    #mainNav .navbar-nav .nav-link:first-child i {
        display: none;
    }

    /* active、current時（HOMEは除外） */
    #mainNav .nav-link:not([href*="#page-top"]).active,
    #mainNav .nav-link:not([href*="#page-top"]).current {
        background-color: rgba(255, 255, 255, 1.0);
        color: rgba(0, 0, 0, 1.0);
        font-weight: 500;
    }

    /*　.dropdown-menu
    ----------------------------------------------------------- */
    #mainNav .dropdown-toggle::after {
        -webkit-transition: all 0.5s ease-in-out;
        -o-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out;
    }

    #mainNav .dropdown-toggle:hover::after {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }

    #mainNav .dropdown-toggle[aria-expanded="true"]::after {
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    #mainNav .dropdown-menu {
        padding-left: 4.0rem;
        padding-right: 4.0rem;
        border-radius: 0;
        border: none;
    }

    #mainNav .dropdown-item {
        margin: 0.5rem 0;
        background: none;
    }

    #mainNav .dropdown-link {
        font-size: 1.6rem;
    }

    #mainNav .dropdown-link.current {
        color: rgba(230, 90, 0, 1.0);
    }

    #mainNav .dropdown-link::before {
        margin-right: 0.5rem;
        font-family: "Font Awesome 5 Free";
        content: "\f0da";
        font-weight: 700;
    }

    /*　.contactBlk
    ----------------------------------------------------------- */
    #mainNav .contactBlk {
        margin-top: 1.0rem;
        margin-left: 4.0rem;
        margin-right: 4.0rem;
        padding-top: 1.5rem;
        border-top: 0.1rem dashed rgba(81, 81, 81, 1.0);
    }

    #mainNav .contactBlk div:nth-child(1) span span:nth-child(3) {
        display: none;
    }

    #mainNav .contactBlk span,
    #mainNav .contactBlk a {
        color: rgba(255, 255, 255, 1.0);
        font-size: 1.8rem;
        font-weight: 300;
        text-decoration: none;
        line-height: 4.0rem;
    }

    #mainNav .contactBlk i {
        margin-right: 0.5rem;
        font-size: 2.0rem;
    }

}

@media only screen and (min-width: 992px) {

    #mainNav {
        min-height: 8.0rem;
        padding-top: 0;
        padding-bottom: 0;
        padding-right: 0;
        background-color: rgba(0, 0, 0, 0.1);
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    /* スクロール時 */
    #mainNav.navbar-shrink {
        min-height: 6.0rem;
        background-color: rgba(0, 0, 0, 0.9);
    }

    /* コンタクトエリア設置のため、右余白をカット */
    #mainNav,
    #mainNav .container-fluid {
        padding-right: 0;
    }

    /*　brand
    ----------------------------------------------------------- */

    /* logomark */
    #mainNav .navbar-brand {
        width: 24.0rem;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    /* スクロール時 */
    #mainNav.navbar-shrink .navbar-brand {
        width: 20.0rem;
    }

    /*　ナビゲーションメニューの境界線生成
    ------------------------------------------------------------ */
    #mainNav .navbar-nav > li > a::before {
        display: inline-block;
        position: absolute;
        top: 50%;
        left: 0;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        margin-top: 0.1rem;
        width: 0.1rem;
        height: 1.4rem;
        border-left: 0.1rem solid rgba(150, 150, 150, 1.0);
        content: "";
    }

    #mainNav .navbar-nav > li:nth-child(1) a::before {
        border-left: 0;
    }

    #mainNav.navbar-shrink .navbar-nav > li > a::before {
        margin-top: 0.05rem;
    }

    /*　nav-link
    ----------------------------------------------------------- */
    #mainNav .navbar-nav .nav-link {
        display: block;
        position: relative;
        min-height: 8.0rem;
        padding: 0 1.25rem;
        color: rgba(255, 255, 255, 1.0);
        font-size: 1.4rem;
        font-weight: 300;
        line-height: 8.0rem;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    #mainNav.navbar-shrink .navbar-nav .nav-link {
        min-height: 6.0rem;
        line-height: 6.0rem;
    }

    #mainNav .navbar-nav .nav-link:first-child i {
        display: inline-block;
    }

    #mainNav .navbar-nav .nav-link:first-child span {
        display: none;
    }

    #mainNav .nav-link:hover {
        background-color: rgba(145, 195, 30, 0.7);
        color: rgba(255, 255, 255, 1.0);
    }

    /* active、current時（HOMEは除外） */
    #mainNav .nav-link:not([href*="#page-top"]).active,
    #mainNav .nav-link:not([href*="#page-top"]).current {
        background-color: rgba(255, 255, 255, 1.0);
        color: rgba(0, 0, 0, 1.0);
        font-weight: 500;
    }

    #mainNav.navbar-shrink .navbar-nav > li > a.active::before,
    #mainNav .navbar-nav > li > a.current::before {
        border-left: none;
    }

    /*　dropdown
    ----------------------------------------------------------- */
    #mainNav .dropdown {
        position: static;
    }

    /* dropdown-menu オープン時 */
    #mainNav #dropdown01[aria-expanded="true"] {
        background-color: rgba(0, 0, 0, 0.8);
        color: rgba(255, 255, 255, 1.0);
    }

    #mainNav .dropdown-toggle::after {
        position: relative;
        top: 0.1rem;
        border-top: 0.4rem solid;
        border-right: 0.5rem solid transparent;
        border-left: 0.5rem solid transparent;
        -webkit-transition: all 0.5s ease-in-out;
        -o-transition: all 0.5s ease-in-out;
        transition: all 0.5s ease-in-out;
    }

    #mainNav .dropdown-toggle:hover::after {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
    }

    #mainNav .dropdown-toggle[aria-expanded="true"]::after {
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    #mainNav .dropdown-menu {
        position: absolute;
        left: 0;
        right: 0;
        width: 100%;
        min-height: 6.0rem;
        margin-top: 0;
        padding: 0;
        background-color: rgba(0, 0, 0, 0.8);
        border: none;
        border-radius: 0;
        text-align: center;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    #mainNav .dropdown-item {
        display: inline;
        background: none;
    }

    #mainNav .dropdown-link {
        display: inline-block;
        height: 6.0rem;
        margin: 0 1.5rem;
        color: rgba(255, 255, 255, 1.0);
        font-size: 1.4rem;
        font-weight: 300;
        line-height: 6.0rem;
    }

    #mainNav .dropdown-link:hover,
    #mainNav .dropdown-link.current,
    #mainNav .dropdown-link.active {
        color: rgba(255, 255, 0, 1.0);
    }

    #mainNav .dropdown-link::before {
        margin-right: 0.5rem;
        font-family: "Font Awesome 5 Free";
        content: "\f0da";
        color: rgba(255, 255, 255, 1.0);
        font-weight: 700;
        -webkit-transition: color 0.3s ease-in-out;
        -o-transition: color 0.3s ease-in-out;
        transition: color 0.3s ease-in-out;
    }

    #mainNav .dropdown-link:hover::before {
        color: rgba(255, 255, 0, 1.0);
    }

    /*　.contactBlk
    ----------------------------------------------------------- */
    #mainNav .contactBlk {
        padding-top: 1.6rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        background-color: rgba(145, 195, 30, 1.0);
        color: rgba(255, 255, 255, 1.0);
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    #mainNav.navbar-shrink .contactBlk {
        padding-top: 0.6rem;
    }

    #mainNav .contactBlk a {
        color: rgba(255, 255, 255, 1.0);
    }

    #mainNav .contactBlk div:nth-child(1) span span:nth-child(3) {
        font-weight: 900;
    }

    #mainNav .contactBlk div:nth-child(1) span span:nth-child(2) {
        display: none;
    }

    #mainNav .contactBlk div:nth-child(2) span {
        -webkit-transition: color 0.3s ease-in-out;
        -o-transition: color 0.3s ease-in-out;
        transition: color 0.3s ease-in-out;
    }

    #mainNav .contactBlk div:nth-child(2) span span {
        display: none;
    }

    #mainNav .contactBlk i {
        margin-right: 0.5rem;
    }

}

@media only screen and (min-width: 1024px) {

    #mainNav .contactBlk {
        padding-left: 1.0rem;
        padding-right: 1.0rem;
    }

}

@media only screen and (min-width: 1200px) {

    #mainNav {
        min-height: 10.0rem;
    }

    /*　brand
    ----------------------------------------------------------- */

    /* logomark */
    #mainNav .navbar-brand {
        width: 30.0rem;
    }

    /* スクロール時 */
    #mainNav.navbar-shrink .navbar-brand {
        width: 24.0rem;
    }

    /*　nav-link
    ----------------------------------------------------------- */
    #mainNav .navbar-nav .nav-link {
        min-height: 10.0rem;
        font-size: 1.6rem;
        line-height: 10.0rem;
    }

    #mainNav.navbar-shrink .navbar-nav .nav-link {
        min-height: 7.0rem;
        line-height: 7.0rem;
    }

    /*　dropdown
    ----------------------------------------------------------- */
    #mainNav .dropdown-link {
        font-size: 1.6rem;
    }

    /*　.contactBlk
    ----------------------------------------------------------- */
    #mainNav .contactBlk {
        padding-top: 2.0rem;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    #mainNav.navbar-shrink .contactBlk {
        padding-top: 0.5rem;
    }

    #mainNav .contactBlk div:nth-child(1) span span:nth-child(3),
    #mainNav .contactBlk div:nth-child(2),
    #mainNav .contactBlk i {
        line-height: 3.0rem;
        -webkit-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    #mainNav .contactBlk div:nth-child(1) span span:nth-child(3) {
        font-size: 2.4rem;
    }

    #mainNav .contactBlk div:nth-child(2) {
        font-size: 1.65rem;
    }

    #mainNav .contactBlk div:nth-child(2) span span {
        display: inline;
    }

    #mainNav .contactBlk i {
        font-size: 2.4rem;
    }

}

@media only screen and (min-width: 1400px) {

    /* logomark */
    #mainNav .navbar-brand {
        width: 40.0rem;
    }

    #mainNav .navbar-brand img:first-of-type {
        display: none;
    }

    #mainNav .navbar-brand img:last-of-type {
        display: block;
    }

    /*　nav-link
    ----------------------------------------------------------- */
    #mainNav .navbar-nav .nav-link:first-child i {
        display: none; /* ハウスアイコン非表示 */
    }

    #mainNav .navbar-nav .nav-link:first-child span {
        display: inline; /* ＨＯＭＥ表示 */
    }


}

@media only screen and (min-width: 1500px) {

    /*　nav-link
    ----------------------------------------------------------- */
    #mainNav .navbar-nav .nav-link {
        padding: 0 2.0rem;
    }

}

@media only screen and (min-width: 1600px) {

    /*　nav-link
    ----------------------------------------------------------- */
    #mainNav .navbar-nav .nav-link {
        padding: 0 3.0rem;
    }

    /*　.contactBlk
    ----------------------------------------------------------- */
    #mainNav .contactBlk {
        padding-left: 2.0rem;
        padding-right: 2.0rem;
    }

}

@media only screen and (min-width: 1700px) {

    /*　.contactBlk
    ----------------------------------------------------------- */
    #mainNav .contactBlk {
        padding-top: 1.4rem;
        padding-left: 3.0rem;
        padding-right: 3.0rem;
    }

    #mainNav .contactBlk div:nth-child(1) span span:nth-child(3),
    #mainNav .contactBlk div:nth-child(2),
    #mainNav .contactBlk i {
        line-height: 3.6rem;
    }

    #mainNav.navbar-shrink .contactBlk div:nth-child(1) span span:nth-child(3),
    #mainNav.navbar-shrink .contactBlk div:nth-child(2),
    #mainNav.navbar-shrink .contactBlk i {
        line-height: 3.0rem;
    }

    #mainNav .contactBlk div:nth-child(1) span span:nth-child(3) {
        font-size: 3.0rem;
    }

    #mainNav.navbar-shrink .contactBlk div:nth-child(1) span span:nth-child(3) {
        font-size: 2.4rem;
    }

    #mainNav .contactBlk div:nth-child(2) {
        font-size: 2.08rem;
    }

    #mainNav.navbar-shrink div:nth-child(2) {
        font-size: 1.65rem;
    }

    #mainNav .contactBlk i {
        font-size: 3.4rem;
    }

    #mainNav.navbar-shrink i {
        font-size: 2.4rem;
    }

}



/* ---- End of file --------------------------------------- */