@charset "utf-8";
/* # =================================================================
   # Block Module
   # ================================================================= */

   .bl_header {
    position: fixed;
    width: 100%;
    margin-top: 0;
    background-color: #fff;
    top: 0;
    z-index: 1000;
}

.bl_header_inner {
    width: 1025px;
    height: 80px;
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.bl_header_left {
    width: 212px;
}

.bl_header_left picture {
    display: flex;
    align-items: center;
}

.bl_header_spTtl {
    padding-left: 5.6vw;
    color: var(--c-black);
    font-size: calc(13px + 11 *((100vw - 375px) / 650));
    font-weight: 700;
    line-height: 1.23;
    letter-spacing: .05em;
}

.bl_header_right {
    padding-left: 14px;
    padding-right: 24px;
    width: 813px;
}

.bl_header_nav {
    display: flex;
    gap: 0 35px;
}

.bl_header_nav li a span {
    word-break: keep-all;
}

@media (max-width: 374.98px) {
    .bl_header_spTtl {
        font-size: 13px;
    }

    .bl_header_logo img {
        width: 131px;

    }
}

@media (min-width: 601px) and (max-width: 1024.98px) {
    .bl_header_spTtl {
        padding-top: .7vh;
        padding-top: .7dvh;
        padding-left: 0;
    }
}

@media (max-width: 1024.98px) {
    .bl_header {
        width: 100%;
    }

    .bl_header_inner {
        width: 100%;
        height: 80px;
        padding-left: 1.5vw;
    }

    .bl_header_left {
        width: 35%;
        vertical-align: middle;
    }

    .bl_header_logo img {
        width: calc(131px + 36 *((100vw - 375px) / 650));
        vertical-align: middle;
    }

    .bl_header_pcLogo {
        display: none;
    }

    .bl_header_right {
        display: none;
        width: 0;
    }

    .bl_header_nav {
        display: none;
    }
}

@media (max-width: 600.98px) {
    .bl_header_inner {
        height: 58px;
    }
}

@media (min-width: 1025px) {

    /* .bl_header_inner {
        padding-top: 13px;
    } */

    .bl_header_spLogo {
        display: none;
    }

    .bl_header_spTtl {
        display: none;
    }
}

.bl_header_nav li {
    list-style-type: none;
}


.bl_header_nav li a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: none;
    color: #000;
    font-size: 13px;
}

/* # =================================================================
   # Element Module
   # ================================================================= */

.el_navIcon {
    position: relative;
    width: 100%;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color: var(--c-yellow);
    z-index: 1;
}

.el_navIcon span {
    position: relative;
    z-index: 2;
}

.el_navIcon::before {
    background: inherit;
    content: '';
    position: absolute;
    filter: blur(3px);
    top: -3px;
    right: -3px;
    bottom: -3px;
    left: -3px;
    border-radius: 50%;
    z-index: -1;
}

.el_navIcon:after {
    content: "";
    /*絶対配置で線の位置を決める*/
    position: absolute;
    top: 50%;
    left: 50%;
    /*線の形状*/
    width: 85%;
    height: 85%;
    border: 2px solid var(--c-yellow);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(1.1);
    /*アニメーションの指定*/
    transition: .3s ease;
}

/*hoverをしたら枠線が小さくなる*/
@media (hover: hover) and (pointer: fine) {
    .el_navIcon:hover:after {
        transform: translate(-50%, -50%) scale(1);
        border-color: #fff;
    }
}


/* # =================================================================
   # Program
   # ================================================================= */

.js_navIcon {
    display: block;
    position: fixed;
    /* bodyに対しての絶対位置指定 */
    width: 35px;
    height: 35px;
    cursor: pointer;
    border-radius: 3px;
    border: none;
    z-index: 3;
    right: 1.5vw;
}


.js_spMenu {
    /* background-color: #eee; */
    width: 100vw;
    height: calc(100% - 80px);
    left: 0;
    top: -100vh;
    top: -1000px;
    position: fixed;
    z-index: 999;
    transition: 0.3s top;
}
.open .js_spMenu {
    top: 58px;
    overflow: scroll;
}
html.open{
    overflow: hidden;
}

@media (min-width: 601px) {
    .open .js_spMenu {
        top: 80px;
    }
}


.js_spMenu ul {
    /* height: 100%; */
    background-color: #eee;
}

.js_spMenu li {
    position: relative;
    height: min(12.333333333333333vw,100px);
    border-bottom: 1px solid #cdcdcd;
}

.js_spMenu li a {
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 10px;
    height: 100%;
    line-height: 1.1;
    font-size: calc(14px + 4 *((100vw - 375px) / 650));
    font-weight: 700;
    text-decoration: none;
    color: var(--c-black);
}

.js_spMenu li a:before {
    position: absolute;
    width: 10px;
    height: 10px;
    border-top: 2px solid #cdcdcd;
    border-right: 2px solid #cdcdcd;
    transform: rotate(45deg);
    /* top: 1.8em; */
    right: 3%;
    content: '';
}

@media (min-width: 601px) and (max-width: 1024.98px) {
    .js_spMenu li {
        height: min(7.8125vw,60px);
    }
}

@media (min-width: 1025px) {
    .js_navIcon {
        display: none;
    }

    .js_spMenu {
        display: none;
    }
}

svg#svgdef {
    display: none;
}