@charset "UTF-8";

/*--------------------------------------------------------------*/
/* CSS and Graphics are released under Creative Commons Licence */
/* https://www.webplus.jp/                                      */
/* Copyright (C) Kiyonobu Horita @ WEBPLUS Inc.                 */
/*--------------------------------------------------------------*/


/* ========================================================

　nav

=========================================================== */

#mainNav {
    min-height: 6.0rem;
    background-color: rgba(255, 255, 255, 1.0);
}

/*　brand
----------------------------------------------------------- */

/* logomark */
#mainNav .navbar-brand {
    width: 16.0rem;
    height: auto;
}

/*　dropdown-toggle（ドロップダウンメニューの▼）
----------------------------------------------------------- */
#mainNav .dropdown-toggle::after {
    transition: transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
    -webkit-transition: -webkit-transform 0.5s ease-in-out;
    transition: -webkit-transform 0.5s ease-in-out;
    -o-transition: transform 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);
}

@media only screen and (max-width: 991px) {

    /*　hamburger button
    ----------------------------------------------------------- */
    #mainNav .navbar-toggler {
        width: 5.0rem;
        height: 5.0rem;
        border-radius: 50%;
        background-color: rgba(0, 120, 200, 1.0);
        outline: none;
    }

    /* メニューオープン時の背景色 */
    #mainNav .navbar-toggler[aria-expanded="true"] {
        background-color: rgba(255, 170, 0, 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(255, 255, 255, 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(0, 0, 0, 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;
        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: 2.0rem;
        padding-right: 2.0rem;
        color: rgba(51, 51, 51, 1.0);
        font-weight: 400;
        line-height: 4.0rem;
    }

    /* active、current時（HOMEは除外） */
    #mainNav .nav-link:not([href*="#page-top"]).active,
    #mainNav .nav-link:not([href*="#page-top"]).current {
        background-color: rgba(0, 120, 200, 1.0);
        color: rgba(255, 255, 255, 1.0);
    }

    /*　dropdown
    ----------------------------------------------------------- */

    /* dropdown-menu オープン時 */
    #mainNav #dropdown01[aria-expanded="true"] {
        border-radius: 0.6rem;
        background-color: rgba(0, 60, 110, 1.0);
        color: rgba(255, 255, 255, 1.0);
    }

    #mainNav .dropdown-menu {
        padding: 1.0rem 0;
        border: 1px solid rgba(0, 60, 110, 1.0);
        border-radius: 0.6rem;
    }

    #mainNav .dropdown-item {
        background: none;

        line-height: 4.0rem;
    }

    #mainNav .dropdown-link {
        color: rgba(51, 51, 51, 1.0);
        font-size: 1.6rem;
        font-weight: 400;
    }

    #mainNav .dropdown-link.active,
    #mainNav .dropdown-link.current {
        color: rgba(205, 70, 40, 1.0);
    }

    #mainNav .dropdown-link::before {
        margin-right: 0.5rem;
        font-family: "Font Awesome 5 Free";
        content: "\f0da";
        font-weight: 700;
    }

}

@media only screen and (min-width: 992px) {

    #mainNav {
        min-height: 8.0rem;
        padding-top: 0;
        padding-bottom: 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 {
        min-height: 6.0rem;
        background-color: rgba(255, 255, 255, 1.0);
    }

    /*　brand
    ----------------------------------------------------------- */
    #mainNav .navbar-brand {
        width: 18.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: 16.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%);
        width: 0.1rem;
        height: 1.4rem;
        border-left: 1px solid rgba(180, 180, 180, 1.0);
        content: "";
    }

    #mainNav.navbar-shrink .navbar-nav > li > a::before {
        height: 1.3rem;
    }

    #mainNav .navbar-nav > li:nth-child(1) a::before {
        border-left: 0;
    }

    /*　nav-link
    ----------------------------------------------------------- */
    #mainNav .navbar-nav .nav-link {
        display: block;
        position: relative;
        min-height: 8.0rem;
        padding: 0 1.0rem;
        color: rgba(51, 51, 51, 1.0);
        font-size: 1.4rem;
        font-weight: 400;
        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.5rem;
        font-size: 1.35rem;
        line-height: 6.5rem;
    }

    #mainNav .nav-link:hover {
        color: rgba(205, 70, 40, 1.0);
    }

    /* active、current時（HOMEは除外） */
    #mainNav .nav-link:not([href*="#page-top"]).active,
    #mainNav .nav-link:not([href*="#page-top"]).current {
        background-color: rgba(0, 120, 200, 1.0);
        color: rgba(255, 255, 255, 1.0);
    }

    /*　dropdown
    ----------------------------------------------------------- */
    #mainNav .dropdown {
        position: static;
    }

    /* dropdown-menu オープン時 */
    #mainNav #dropdown01[aria-expanded="true"] {
        background-color: rgba(0, 60, 110, 1.0);
        color: rgba(255, 255, 255, 1.0);
    }

    /* dropdown-toggle（ドロップダウンメニューの▼） */
    #mainNav .dropdown-toggle {
        position: relative;
    }

    #mainNav .dropdown-toggle::after {
        position: absolute;
        top: 70%;
        left: 50%;
        -webkit-transform: translateX(-0.8rem);
        -ms-transform: translateX(-0.8rem);
        transform: translateX(-0.8rem);
        transition: transform 0.5s ease-in-out;
        transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
        -webkit-transition: -webkit-transform 0.5s ease-in-out;
        transition: -webkit-transform 0.5s ease-in-out;
        -o-transition: transform 0.5s ease-in-out;
    }

    #mainNav.navbar-shrink .dropdown-toggle::after {
        -webkit-transform: translateX(-0.7rem);
        -ms-transform: translateX(-0.7rem);
        transform: translateX(-0.7rem);
    }

    #mainNav .dropdown-toggle:hover::after {
        -webkit-transform: translateX(-0.8rem) rotate(360deg);
        -ms-transform: translateX(-0.8rem) rotate(360deg);
        transform: translateX(-0.8rem) rotate(360deg);
    }

    #mainNav.navbar-shrink .dropdown-toggle:hover::after {
        -webkit-transform: translateX(-0.7rem) rotate(360deg);
        -ms-transform: translateX(-0.7rem) rotate(360deg);
        transform: translateX(-0.7rem) rotate(360deg);
    }

    #mainNav .dropdown-toggle[aria-expanded="true"]::after {
        -webkit-transform: translateX(-0.8rem) rotate(180deg);
        -ms-transform: translateX(-0.8rem) rotate(180deg);
        transform: translateX(-0.8rem) rotate(180deg);
    }

    #mainNav.navbar-shrink .dropdown-toggle[aria-expanded="true"]::after {
        -webkit-transform: translateX(-0.7rem) rotate(180deg);
        -ms-transform: translateX(-0.7rem) rotate(180deg);
        transform: translateX(-0.7rem) rotate(180deg);
    }

    /* dropdown-menu */
    #mainNav .dropdown-menu {
        position: absolute;
        left: 0;
        right: 0;
        width: 100%;
        height: 6.1rem;
        margin-top: -0.1rem;
        padding-top: 1.0rem;
        background-color: rgba(0, 60, 110, 1.0);
        border: none;
        border-radius: 0;
        text-align: center;
        -webkit-animation: slideIntop 0.5s ease-in-out;
        animation: slideIntop 0.5s ease-in-out;
    }

    #mainNav .dropdown-item {
        display: inline;
        background: none;
    }

    #mainNav .dropdown-link {
        position: relative;
        display: inline-block;
        height: 4.0rem;
        margin: 0 0.5rem;
        color: rgba(255, 255, 255, 1.0);
        font-size: 1.4rem;
        font-weight: 300;
        line-height: 4.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 .dropdown-link:hover,
    #mainNav .dropdown-link.active,
    #mainNav .dropdown-link.current {
        color: rgba(255, 240, 0, 1.0);
    }

    #mainNav #megamenu01 > div .dropdown-link::before {
        margin-right: 0.5rem;
        color: rgba(255, 250, 150, 1.0);
        font-family: "Font Awesome 5 Free";
        font-weight: 700;
    }

    #mainNav #megamenu01 > div .dropdown-link:hover::before,
    #mainNav #megamenu01 > div .dropdown-link.active::before,
    #mainNav #megamenu01 > div .dropdown-link.current::before {
        color: rgba(255, 240, 0, 1.0);
    }

    #mainNav #megamenu01 > div:nth-child(1) .dropdown-link::before {
        content: "\f1c4";
    }

    #mainNav #megamenu01 > div:nth-child(2) .dropdown-link::before {
        content: "\f51c";
    }

    #mainNav #megamenu01 > div:nth-child(3) .dropdown-link::before {
        content: "\f03d";
    }

    #mainNav #megamenu01 > div:nth-child(4) .dropdown-link::before {
        content: "\f15c";
    }

}

@media only screen and (min-width: 1200px) {

    #mainNav {
        min-height: 10.0rem;
    }

    /*　brand
    ----------------------------------------------------------- */

    /* logomark */
    #mainNav .navbar-brand {
        width: 22.0rem;
    }

    /* スクロール時 */
    #mainNav.navbar-shrink .navbar-brand {
        width: 18.0rem;
    }

    /*　ナビゲーションメニューの境界線生成
    ------------------------------------------------------------ */
    #mainNav.navbar-shrink .navbar-nav > li > a::before {
        margin-top: 0.1rem;
    }

    /*　nav-link
    ----------------------------------------------------------- */
    #mainNav .navbar-nav .nav-link {
        min-height: 10.0rem;
        padding: 0 1.5rem;
        font-size: 1.6rem;
        line-height: 10.0rem;
    }

    /* スクロール時 */
    #mainNav.navbar-shrink .navbar-nav .nav-link {
        font-size: 1.5rem;
    }

    /* dropdown-toggle（ドロップダウンメニューの▼）
    ----------------------------------------------------------- */
    #mainNav .dropdown-toggle::after {
        -webkit-transform: translateX(-0.9rem);
        -ms-transform: translateX(-0.9rem);
        transform: translateX(-0.9rem);
    }

    #mainNav.navbar-shrink .dropdown-toggle::after {
        -webkit-transform: translateX(-0.8rem);
        -ms-transform: translateX(-0.8rem);
        transform: translateX(-0.8rem);
    }

    #mainNav .dropdown-toggle:hover::after {
        -webkit-transform: translateX(-0.9rem) rotate(360deg);
        -ms-transform: translateX(-0.9rem) rotate(360deg);
        transform: translateX(-0.9rem) rotate(360deg);
    }

    #mainNav.navbar-shrink .dropdown-toggle:hover::after {
        -webkit-transform: translateX(-0.8rem) rotate(360deg);
        -ms-transform: translateX(-0.8rem) rotate(360deg);
        transform: translateX(-0.8rem) rotate(360deg);
    }

    #mainNav .dropdown-toggle[aria-expanded="true"]::after {
        -webkit-transform: translateX(-0.9rem) rotate(180deg);
        -ms-transform: translateX(-0.9rem) rotate(180deg);
        transform: translateX(-0.9rem) rotate(180deg);
    }

    #mainNav.navbar-shrink .dropdown-toggle[aria-expanded="true"]::after {
        -webkit-transform: translateX(-0.8rem) rotate(180deg);
        -ms-transform: translateX(-0.8rem) rotate(180deg);
        transform: translateX(-0.8rem) rotate(180deg);
    }

    #mainNav .dropdown-link {
        margin: 0 1.0rem;
        font-size: 1.6rem;
    }


}

@-webkit-keyframes slideIntop {

    0% {
        opacity: 0;
        -webkit-transform: translateY(-25%);
        transform: translateY(-25%);
    }

    100% {
        opacity: 1.0;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

}

@keyframes slideIntop {

    0% {
        opacity: 0;
        -webkit-transform: translateY(-25%);
        transform: translateY(-25%);
    }

    100% {
        opacity: 1.0;
        -webkit-transform: translateY(0);
        transform: translateY(0);


    }

}



/* ---- End of file --------------------------------------- */